summaryrefslogtreecommitdiff
path: root/dictionaries/foldoc.txt
blob: 101d1394ac689ee0c8c6fb0d95f856cfbaa4cb87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
33001
33002
33003
33004
33005
33006
33007
33008
33009
33010
33011
33012
33013
33014
33015
33016
33017
33018
33019
33020
33021
33022
33023
33024
33025
33026
33027
33028
33029
33030
33031
33032
33033
33034
33035
33036
33037
33038
33039
33040
33041
33042
33043
33044
33045
33046
33047
33048
33049
33050
33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
33087
33088
33089
33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
33127
33128
33129
33130
33131
33132
33133
33134
33135
33136
33137
33138
33139
33140
33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
33156
33157
33158
33159
33160
33161
33162
33163
33164
33165
33166
33167
33168
33169
33170
33171
33172
33173
33174
33175
33176
33177
33178
33179
33180
33181
33182
33183
33184
33185
33186
33187
33188
33189
33190
33191
33192
33193
33194
33195
33196
33197
33198
33199
33200
33201
33202
33203
33204
33205
33206
33207
33208
33209
33210
33211
33212
33213
33214
33215
33216
33217
33218
33219
33220
33221
33222
33223
33224
33225
33226
33227
33228
33229
33230
33231
33232
33233
33234
33235
33236
33237
33238
33239
33240
33241
33242
33243
33244
33245
33246
33247
33248
33249
33250
33251
33252
33253
33254
33255
33256
33257
33258
33259
33260
33261
33262
33263
33264
33265
33266
33267
33268
33269
33270
33271
33272
33273
33274
33275
33276
33277
33278
33279
33280
33281
33282
33283
33284
33285
33286
33287
33288
33289
33290
33291
33292
33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
33322
33323
33324
33325
33326
33327
33328
33329
33330
33331
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364
33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
33392
33393
33394
33395
33396
33397
33398
33399
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
33435
33436
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
33469
33470
33471
33472
33473
33474
33475
33476
33477
33478
33479
33480
33481
33482
33483
33484
33485
33486
33487
33488
33489
33490
33491
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
33534
33535
33536
33537
33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
33550
33551
33552
33553
33554
33555
33556
33557
33558
33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
33595
33596
33597
33598
33599
33600
33601
33602
33603
33604
33605
33606
33607
33608
33609
33610
33611
33612
33613
33614
33615
33616
33617
33618
33619
33620
33621
33622
33623
33624
33625
33626
33627
33628
33629
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657
33658
33659
33660
33661
33662
33663
33664
33665
33666
33667
33668
33669
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
33705
33706
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
33739
33740
33741
33742
33743
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
33872
33873
33874
33875
33876
33877
33878
33879
33880
33881
33882
33883
33884
33885
33886
33887
33888
33889
33890
33891
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
33943
33944
33945
33946
33947
33948
33949
33950
33951
33952
33953
33954
33955
33956
33957
33958
33959
33960
33961
33962
33963
33964
33965
33966
33967
33968
33969
33970
33971
33972
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
35510
35511
35512
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525
35526
35527
35528
35529
35530
35531
35532
35533
35534
35535
35536
35537
35538
35539
35540
35541
35542
35543
35544
35545
35546
35547
35548
35549
35550
35551
35552
35553
35554
35555
35556
35557
35558
35559
35560
35561
35562
35563
35564
35565
35566
35567
35568
35569
35570
35571
35572
35573
35574
35575
35576
35577
35578
35579
35580
35581
35582
35583
35584
35585
35586
35587
35588
35589
35590
35591
35592
35593
35594
35595
35596
35597
35598
35599
35600
35601
35602
35603
35604
35605
35606
35607
35608
35609
35610
35611
35612
35613
35614
35615
35616
35617
35618
35619
35620
35621
35622
35623
35624
35625
35626
35627
35628
35629
35630
35631
35632
35633
35634
35635
35636
35637
35638
35639
35640
35641
35642
35643
35644
35645
35646
35647
35648
35649
35650
35651
35652
35653
35654
35655
35656
35657
35658
35659
35660
35661
35662
35663
35664
35665
35666
35667
35668
35669
35670
35671
35672
35673
35674
35675
35676
35677
35678
35679
35680
35681
35682
35683
35684
35685
35686
35687
35688
35689
35690
35691
35692
35693
35694
35695
35696
35697
35698
35699
35700
35701
35702
35703
35704
35705
35706
35707
35708
35709
35710
35711
35712
35713
35714
35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
35725
35726
35727
35728
35729
35730
35731
35732
35733
35734
35735
35736
35737
35738
35739
35740
35741
35742
35743
35744
35745
35746
35747
35748
35749
35750
35751
35752
35753
35754
35755
35756
35757
35758
35759
35760
35761
35762
35763
35764
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774
35775
35776
35777
35778
35779
35780
35781
35782
35783
35784
35785
35786
35787
35788
35789
35790
35791
35792
35793
35794
35795
35796
35797
35798
35799
35800
35801
35802
35803
35804
35805
35806
35807
35808
35809
35810
35811
35812
35813
35814
35815
35816
35817
35818
35819
35820
35821
35822
35823
35824
35825
35826
35827
35828
35829
35830
35831
35832
35833
35834
35835
35836
35837
35838
35839
35840
35841
35842
35843
35844
35845
35846
35847
35848
35849
35850
35851
35852
35853
35854
35855
35856
35857
35858
35859
35860
35861
35862
35863
35864
35865
35866
35867
35868
35869
35870
35871
35872
35873
35874
35875
35876
35877
35878
35879
35880
35881
35882
35883
35884
35885
35886
35887
35888
35889
35890
35891
35892
35893
35894
35895
35896
35897
35898
35899
35900
35901
35902
35903
35904
35905
35906
35907
35908
35909
35910
35911
35912
35913
35914
35915
35916
35917
35918
35919
35920
35921
35922
35923
35924
35925
35926
35927
35928
35929
35930
35931
35932
35933
35934
35935
35936
35937
35938
35939
35940
35941
35942
35943
35944
35945
35946
35947
35948
35949
35950
35951
35952
35953
35954
35955
35956
35957
35958
35959
35960
35961
35962
35963
35964
35965
35966
35967
35968
35969
35970
35971
35972
35973
35974
35975
35976
35977
35978
35979
35980
35981
35982
35983
35984
35985
35986
35987
35988
35989
35990
35991
35992
35993
35994
35995
35996
35997
35998
35999
36000
36001
36002
36003
36004
36005
36006
36007
36008
36009
36010
36011
36012
36013
36014
36015
36016
36017
36018
36019
36020
36021
36022
36023
36024
36025
36026
36027
36028
36029
36030
36031
36032
36033
36034
36035
36036
36037
36038
36039
36040
36041
36042
36043
36044
36045
36046
36047
36048
36049
36050
36051
36052
36053
36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
36075
36076
36077
36078
36079
36080
36081
36082
36083
36084
36085
36086
36087
36088
36089
36090
36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
36106
36107
36108
36109
36110
36111
36112
36113
36114
36115
36116
36117
36118
36119
36120
36121
36122
36123
36124
36125
36126
36127
36128
36129
36130
36131
36132
36133
36134
36135
36136
36137
36138
36139
36140
36141
36142
36143
36144
36145
36146
36147
36148
36149
36150
36151
36152
36153
36154
36155
36156
36157
36158
36159
36160
36161
36162
36163
36164
36165
36166
36167
36168
36169
36170
36171
36172
36173
36174
36175
36176
36177
36178
36179
36180
36181
36182
36183
36184
36185
36186
36187
36188
36189
36190
36191
36192
36193
36194
36195
36196
36197
36198
36199
36200
36201
36202
36203
36204
36205
36206
36207
36208
36209
36210
36211
36212
36213
36214
36215
36216
36217
36218
36219
36220
36221
36222
36223
36224
36225
36226
36227
36228
36229
36230
36231
36232
36233
36234
36235
36236
36237
36238
36239
36240
36241
36242
36243
36244
36245
36246
36247
36248
36249
36250
36251
36252
36253
36254
36255
36256
36257
36258
36259
36260
36261
36262
36263
36264
36265
36266
36267
36268
36269
36270
36271
36272
36273
36274
36275
36276
36277
36278
36279
36280
36281
36282
36283
36284
36285
36286
36287
36288
36289
36290
36291
36292
36293
36294
36295
36296
36297
36298
36299
36300
36301
36302
36303
36304
36305
36306
36307
36308
36309
36310
36311
36312
36313
36314
36315
36316
36317
36318
36319
36320
36321
36322
36323
36324
36325
36326
36327
36328
36329
36330
36331
36332
36333
36334
36335
36336
36337
36338
36339
36340
36341
36342
36343
36344
36345
36346
36347
36348
36349
36350
36351
36352
36353
36354
36355
36356
36357
36358
36359
36360
36361
36362
36363
36364
36365
36366
36367
36368
36369
36370
36371
36372
36373
36374
36375
36376
36377
36378
36379
36380
36381
36382
36383
36384
36385
36386
36387
36388
36389
36390
36391
36392
36393
36394
36395
36396
36397
36398
36399
36400
36401
36402
36403
36404
36405
36406
36407
36408
36409
36410
36411
36412
36413
36414
36415
36416
36417
36418
36419
36420
36421
36422
36423
36424
36425
36426
36427
36428
36429
36430
36431
36432
36433
36434
36435
36436
36437
36438
36439
36440
36441
36442
36443
36444
36445
36446
36447
36448
36449
36450
36451
36452
36453
36454
36455
36456
36457
36458
36459
36460
36461
36462
36463
36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
36537
36538
36539
36540
36541
36542
36543
36544
36545
36546
36547
36548
36549
36550
36551
36552
36553
36554
36555
36556
36557
36558
36559
36560
36561
36562
36563
36564
36565
36566
36567
36568
36569
36570
36571
36572
36573
36574
36575
36576
36577
36578
36579
36580
36581
36582
36583
36584
36585
36586
36587
36588
36589
36590
36591
36592
36593
36594
36595
36596
36597
36598
36599
36600
36601
36602
36603
36604
36605
36606
36607
36608
36609
36610
36611
36612
36613
36614
36615
36616
36617
36618
36619
36620
36621
36622
36623
36624
36625
36626
36627
36628
36629
36630
36631
36632
36633
36634
36635
36636
36637
36638
36639
36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
36652
36653
36654
36655
36656
36657
36658
36659
36660
36661
36662
36663
36664
36665
36666
36667
36668
36669
36670
36671
36672
36673
36674
36675
36676
36677
36678
36679
36680
36681
36682
36683
36684
36685
36686
36687
36688
36689
36690
36691
36692
36693
36694
36695
36696
36697
36698
36699
36700
36701
36702
36703
36704
36705
36706
36707
36708
36709
36710
36711
36712
36713
36714
36715
36716
36717
36718
36719
36720
36721
36722
36723
36724
36725
36726
36727
36728
36729
36730
36731
36732
36733
36734
36735
36736
36737
36738
36739
36740
36741
36742
36743
36744
36745
36746
36747
36748
36749
36750
36751
36752
36753
36754
36755
36756
36757
36758
36759
36760
36761
36762
36763
36764
36765
36766
36767
36768
36769
36770
36771
36772
36773
36774
36775
36776
36777
36778
36779
36780
36781
36782
36783
36784
36785
36786
36787
36788
36789
36790
36791
36792
36793
36794
36795
36796
36797
36798
36799
36800
36801
36802
36803
36804
36805
36806
36807
36808
36809
36810
36811
36812
36813
36814
36815
36816
36817
36818
36819
36820
36821
36822
36823
36824
36825
36826
36827
36828
36829
36830
36831
36832
36833
36834
36835
36836
36837
36838
36839
36840
36841
36842
36843
36844
36845
36846
36847
36848
36849
36850
36851
36852
36853
36854
36855
36856
36857
36858
36859
36860
36861
36862
36863
36864
36865
36866
36867
36868
36869
36870
36871
36872
36873
36874
36875
36876
36877
36878
36879
36880
36881
36882
36883
36884
36885
36886
36887
36888
36889
36890
36891
36892
36893
36894
36895
36896
36897
36898
36899
36900
36901
36902
36903
36904
36905
36906
36907
36908
36909
36910
36911
36912
36913
36914
36915
36916
36917
36918
36919
36920
36921
36922
36923
36924
36925
36926
36927
36928
36929
36930
36931
36932
36933
36934
36935
36936
36937
36938
36939
36940
36941
36942
36943
36944
36945
36946
36947
36948
36949
36950
36951
36952
36953
36954
36955
36956
36957
36958
36959
36960
36961
36962
36963
36964
36965
36966
36967
36968
36969
36970
36971
36972
36973
36974
36975
36976
36977
36978
36979
36980
36981
36982
36983
36984
36985
36986
36987
36988
36989
36990
36991
36992
36993
36994
36995
36996
36997
36998
36999
37000
37001
37002
37003
37004
37005
37006
37007
37008
37009
37010
37011
37012
37013
37014
37015
37016
37017
37018
37019
37020
37021
37022
37023
37024
37025
37026
37027
37028
37029
37030
37031
37032
37033
37034
37035
37036
37037
37038
37039
37040
37041
37042
37043
37044
37045
37046
37047
37048
37049
37050
37051
37052
37053
37054
37055
37056
37057
37058
37059
37060
37061
37062
37063
37064
37065
37066
37067
37068
37069
37070
37071
37072
37073
37074
37075
37076
37077
37078
37079
37080
37081
37082
37083
37084
37085
37086
37087
37088
37089
37090
37091
37092
37093
37094
37095
37096
37097
37098
37099
37100
37101
37102
37103
37104
37105
37106
37107
37108
37109
37110
37111
37112
37113
37114
37115
37116
37117
37118
37119
37120
37121
37122
37123
37124
37125
37126
37127
37128
37129
37130
37131
37132
37133
37134
37135
37136
37137
37138
37139
37140
37141
37142
37143
37144
37145
37146
37147
37148
37149
37150
37151
37152
37153
37154
37155
37156
37157
37158
37159
37160
37161
37162
37163
37164
37165
37166
37167
37168
37169
37170
37171
37172
37173
37174
37175
37176
37177
37178
37179
37180
37181
37182
37183
37184
37185
37186
37187
37188
37189
37190
37191
37192
37193
37194
37195
37196
37197
37198
37199
37200
37201
37202
37203
37204
37205
37206
37207
37208
37209
37210
37211
37212
37213
37214
37215
37216
37217
37218
37219
37220
37221
37222
37223
37224
37225
37226
37227
37228
37229
37230
37231
37232
37233
37234
37235
37236
37237
37238
37239
37240
37241
37242
37243
37244
37245
37246
37247
37248
37249
37250
37251
37252
37253
37254
37255
37256
37257
37258
37259
37260
37261
37262
37263
37264
37265
37266
37267
37268
37269
37270
37271
37272
37273
37274
37275
37276
37277
37278
37279
37280
37281
37282
37283
37284
37285
37286
37287
37288
37289
37290
37291
37292
37293
37294
37295
37296
37297
37298
37299
37300
37301
37302
37303
37304
37305
37306
37307
37308
37309
37310
37311
37312
37313
37314
37315
37316
37317
37318
37319
37320
37321
37322
37323
37324
37325
37326
37327
37328
37329
37330
37331
37332
37333
37334
37335
37336
37337
37338
37339
37340
37341
37342
37343
37344
37345
37346
37347
37348
37349
37350
37351
37352
37353
37354
37355
37356
37357
37358
37359
37360
37361
37362
37363
37364
37365
37366
37367
37368
37369
37370
37371
37372
37373
37374
37375
37376
37377
37378
37379
37380
37381
37382
37383
37384
37385
37386
37387
37388
37389
37390
37391
37392
37393
37394
37395
37396
37397
37398
37399
37400
37401
37402
37403
37404
37405
37406
37407
37408
37409
37410
37411
37412
37413
37414
37415
37416
37417
37418
37419
37420
37421
37422
37423
37424
37425
37426
37427
37428
37429
37430
37431
37432
37433
37434
37435
37436
37437
37438
37439
37440
37441
37442
37443
37444
37445
37446
37447
37448
37449
37450
37451
37452
37453
37454
37455
37456
37457
37458
37459
37460
37461
37462
37463
37464
37465
37466
37467
37468
37469
37470
37471
37472
37473
37474
37475
37476
37477
37478
37479
37480
37481
37482
37483
37484
37485
37486
37487
37488
37489
37490
37491
37492
37493
37494
37495
37496
37497
37498
37499
37500
37501
37502
37503
37504
37505
37506
37507
37508
37509
37510
37511
37512
37513
37514
37515
37516
37517
37518
37519
37520
37521
37522
37523
37524
37525
37526
37527
37528
37529
37530
37531
37532
37533
37534
37535
37536
37537
37538
37539
37540
37541
37542
37543
37544
37545
37546
37547
37548
37549
37550
37551
37552
37553
37554
37555
37556
37557
37558
37559
37560
37561
37562
37563
37564
37565
37566
37567
37568
37569
37570
37571
37572
37573
37574
37575
37576
37577
37578
37579
37580
37581
37582
37583
37584
37585
37586
37587
37588
37589
37590
37591
37592
37593
37594
37595
37596
37597
37598
37599
37600
37601
37602
37603
37604
37605
37606
37607
37608
37609
37610
37611
37612
37613
37614
37615
37616
37617
37618
37619
37620
37621
37622
37623
37624
37625
37626
37627
37628
37629
37630
37631
37632
37633
37634
37635
37636
37637
37638
37639
37640
37641
37642
37643
37644
37645
37646
37647
37648
37649
37650
37651
37652
37653
37654
37655
37656
37657
37658
37659
37660
37661
37662
37663
37664
37665
37666
37667
37668
37669
37670
37671
37672
37673
37674
37675
37676
37677
37678
37679
37680
37681
37682
37683
37684
37685
37686
37687
37688
37689
37690
37691
37692
37693
37694
37695
37696
37697
37698
37699
37700
37701
37702
37703
37704
37705
37706
37707
37708
37709
37710
37711
37712
37713
37714
37715
37716
37717
37718
37719
37720
37721
37722
37723
37724
37725
37726
37727
37728
37729
37730
37731
37732
37733
37734
37735
37736
37737
37738
37739
37740
37741
37742
37743
37744
37745
37746
37747
37748
37749
37750
37751
37752
37753
37754
37755
37756
37757
37758
37759
37760
37761
37762
37763
37764
37765
37766
37767
37768
37769
37770
37771
37772
37773
37774
37775
37776
37777
37778
37779
37780
37781
37782
37783
37784
37785
37786
37787
37788
37789
37790
37791
37792
37793
37794
37795
37796
37797
37798
37799
37800
37801
37802
37803
37804
37805
37806
37807
37808
37809
37810
37811
37812
37813
37814
37815
37816
37817
37818
37819
37820
37821
37822
37823
37824
37825
37826
37827
37828
37829
37830
37831
37832
37833
37834
37835
37836
37837
37838
37839
37840
37841
37842
37843
37844
37845
37846
37847
37848
37849
37850
37851
37852
37853
37854
37855
37856
37857
37858
37859
37860
37861
37862
37863
37864
37865
37866
37867
37868
37869
37870
37871
37872
37873
37874
37875
37876
37877
37878
37879
37880
37881
37882
37883
37884
37885
37886
37887
37888
37889
37890
37891
37892
37893
37894
37895
37896
37897
37898
37899
37900
37901
37902
37903
37904
37905
37906
37907
37908
37909
37910
37911
37912
37913
37914
37915
37916
37917
37918
37919
37920
37921
37922
37923
37924
37925
37926
37927
37928
37929
37930
37931
37932
37933
37934
37935
37936
37937
37938
37939
37940
37941
37942
37943
37944
37945
37946
37947
37948
37949
37950
37951
37952
37953
37954
37955
37956
37957
37958
37959
37960
37961
37962
37963
37964
37965
37966
37967
37968
37969
37970
37971
37972
37973
37974
37975
37976
37977
37978
37979
37980
37981
37982
37983
37984
37985
37986
37987
37988
37989
37990
37991
37992
37993
37994
37995
37996
37997
37998
37999
38000
38001
38002
38003
38004
38005
38006
38007
38008
38009
38010
38011
38012
38013
38014
38015
38016
38017
38018
38019
38020
38021
38022
38023
38024
38025
38026
38027
38028
38029
38030
38031
38032
38033
38034
38035
38036
38037
38038
38039
38040
38041
38042
38043
38044
38045
38046
38047
38048
38049
38050
38051
38052
38053
38054
38055
38056
38057
38058
38059
38060
38061
38062
38063
38064
38065
38066
38067
38068
38069
38070
38071
38072
38073
38074
38075
38076
38077
38078
38079
38080
38081
38082
38083
38084
38085
38086
38087
38088
38089
38090
38091
38092
38093
38094
38095
38096
38097
38098
38099
38100
38101
38102
38103
38104
38105
38106
38107
38108
38109
38110
38111
38112
38113
38114
38115
38116
38117
38118
38119
38120
38121
38122
38123
38124
38125
38126
38127
38128
38129
38130
38131
38132
38133
38134
38135
38136
38137
38138
38139
38140
38141
38142
38143
38144
38145
38146
38147
38148
38149
38150
38151
38152
38153
38154
38155
38156
38157
38158
38159
38160
38161
38162
38163
38164
38165
38166
38167
38168
38169
38170
38171
38172
38173
38174
38175
38176
38177
38178
38179
38180
38181
38182
38183
38184
38185
38186
38187
38188
38189
38190
38191
38192
38193
38194
38195
38196
38197
38198
38199
38200
38201
38202
38203
38204
38205
38206
38207
38208
38209
38210
38211
38212
38213
38214
38215
38216
38217
38218
38219
38220
38221
38222
38223
38224
38225
38226
38227
38228
38229
38230
38231
38232
38233
38234
38235
38236
38237
38238
38239
38240
38241
38242
38243
38244
38245
38246
38247
38248
38249
38250
38251
38252
38253
38254
38255
38256
38257
38258
38259
38260
38261
38262
38263
38264
38265
38266
38267
38268
38269
38270
38271
38272
38273
38274
38275
38276
38277
38278
38279
38280
38281
38282
38283
38284
38285
38286
38287
38288
38289
38290
38291
38292
38293
38294
38295
38296
38297
38298
38299
38300
38301
38302
38303
38304
38305
38306
38307
38308
38309
38310
38311
38312
38313
38314
38315
38316
38317
38318
38319
38320
38321
38322
38323
38324
38325
38326
38327
38328
38329
38330
38331
38332
38333
38334
38335
38336
38337
38338
38339
38340
38341
38342
38343
38344
38345
38346
38347
38348
38349
38350
38351
38352
38353
38354
38355
38356
38357
38358
38359
38360
38361
38362
38363
38364
38365
38366
38367
38368
38369
38370
38371
38372
38373
38374
38375
38376
38377
38378
38379
38380
38381
38382
38383
38384
38385
38386
38387
38388
38389
38390
38391
38392
38393
38394
38395
38396
38397
38398
38399
38400
38401
38402
38403
38404
38405
38406
38407
38408
38409
38410
38411
38412
38413
38414
38415
38416
38417
38418
38419
38420
38421
38422
38423
38424
38425
38426
38427
38428
38429
38430
38431
38432
38433
38434
38435
38436
38437
38438
38439
38440
38441
38442
38443
38444
38445
38446
38447
38448
38449
38450
38451
38452
38453
38454
38455
38456
38457
38458
38459
38460
38461
38462
38463
38464
38465
38466
38467
38468
38469
38470
38471
38472
38473
38474
38475
38476
38477
38478
38479
38480
38481
38482
38483
38484
38485
38486
38487
38488
38489
38490
38491
38492
38493
38494
38495
38496
38497
38498
38499
38500
38501
38502
38503
38504
38505
38506
38507
38508
38509
38510
38511
38512
38513
38514
38515
38516
38517
38518
38519
38520
38521
38522
38523
38524
38525
38526
38527
38528
38529
38530
38531
38532
38533
38534
38535
38536
38537
38538
38539
38540
38541
38542
38543
38544
38545
38546
38547
38548
38549
38550
38551
38552
38553
38554
38555
38556
38557
38558
38559
38560
38561
38562
38563
38564
38565
38566
38567
38568
38569
38570
38571
38572
38573
38574
38575
38576
38577
38578
38579
38580
38581
38582
38583
38584
38585
38586
38587
38588
38589
38590
38591
38592
38593
38594
38595
38596
38597
38598
38599
38600
38601
38602
38603
38604
38605
38606
38607
38608
38609
38610
38611
38612
38613
38614
38615
38616
38617
38618
38619
38620
38621
38622
38623
38624
38625
38626
38627
38628
38629
38630
38631
38632
38633
38634
38635
38636
38637
38638
38639
38640
38641
38642
38643
38644
38645
38646
38647
38648
38649
38650
38651
38652
38653
38654
38655
38656
38657
38658
38659
38660
38661
38662
38663
38664
38665
38666
38667
38668
38669
38670
38671
38672
38673
38674
38675
38676
38677
38678
38679
38680
38681
38682
38683
38684
38685
38686
38687
38688
38689
38690
38691
38692
38693
38694
38695
38696
38697
38698
38699
38700
38701
38702
38703
38704
38705
38706
38707
38708
38709
38710
38711
38712
38713
38714
38715
38716
38717
38718
38719
38720
38721
38722
38723
38724
38725
38726
38727
38728
38729
38730
38731
38732
38733
38734
38735
38736
38737
38738
38739
38740
38741
38742
38743
38744
38745
38746
38747
38748
38749
38750
38751
38752
38753
38754
38755
38756
38757
38758
38759
38760
38761
38762
38763
38764
38765
38766
38767
38768
38769
38770
38771
38772
38773
38774
38775
38776
38777
38778
38779
38780
38781
38782
38783
38784
38785
38786
38787
38788
38789
38790
38791
38792
38793
38794
38795
38796
38797
38798
38799
38800
38801
38802
38803
38804
38805
38806
38807
38808
38809
38810
38811
38812
38813
38814
38815
38816
38817
38818
38819
38820
38821
38822
38823
38824
38825
38826
38827
38828
38829
38830
38831
38832
38833
38834
38835
38836
38837
38838
38839
38840
38841
38842
38843
38844
38845
38846
38847
38848
38849
38850
38851
38852
38853
38854
38855
38856
38857
38858
38859
38860
38861
38862
38863
38864
38865
38866
38867
38868
38869
38870
38871
38872
38873
38874
38875
38876
38877
38878
38879
38880
38881
38882
38883
38884
38885
38886
38887
38888
38889
38890
38891
38892
38893
38894
38895
38896
38897
38898
38899
38900
38901
38902
38903
38904
38905
38906
38907
38908
38909
38910
38911
38912
38913
38914
38915
38916
38917
38918
38919
38920
38921
38922
38923
38924
38925
38926
38927
38928
38929
38930
38931
38932
38933
38934
38935
38936
38937
38938
38939
38940
38941
38942
38943
38944
38945
38946
38947
38948
38949
38950
38951
38952
38953
38954
38955
38956
38957
38958
38959
38960
38961
38962
38963
38964
38965
38966
38967
38968
38969
38970
38971
38972
38973
38974
38975
38976
38977
38978
38979
38980
38981
38982
38983
38984
38985
38986
38987
38988
38989
38990
38991
38992
38993
38994
38995
38996
38997
38998
38999
39000
39001
39002
39003
39004
39005
39006
39007
39008
39009
39010
39011
39012
39013
39014
39015
39016
39017
39018
39019
39020
39021
39022
39023
39024
39025
39026
39027
39028
39029
39030
39031
39032
39033
39034
39035
39036
39037
39038
39039
39040
39041
39042
39043
39044
39045
39046
39047
39048
39049
39050
39051
39052
39053
39054
39055
39056
39057
39058
39059
39060
39061
39062
39063
39064
39065
39066
39067
39068
39069
39070
39071
39072
39073
39074
39075
39076
39077
39078
39079
39080
39081
39082
39083
39084
39085
39086
39087
39088
39089
39090
39091
39092
39093
39094
39095
39096
39097
39098
39099
39100
39101
39102
39103
39104
39105
39106
39107
39108
39109
39110
39111
39112
39113
39114
39115
39116
39117
39118
39119
39120
39121
39122
39123
39124
39125
39126
39127
39128
39129
39130
39131
39132
39133
39134
39135
39136
39137
39138
39139
39140
39141
39142
39143
39144
39145
39146
39147
39148
39149
39150
39151
39152
39153
39154
39155
39156
39157
39158
39159
39160
39161
39162
39163
39164
39165
39166
39167
39168
39169
39170
39171
39172
39173
39174
39175
39176
39177
39178
39179
39180
39181
39182
39183
39184
39185
39186
39187
39188
39189
39190
39191
39192
39193
39194
39195
39196
39197
39198
39199
39200
39201
39202
39203
39204
39205
39206
39207
39208
39209
39210
39211
39212
39213
39214
39215
39216
39217
39218
39219
39220
39221
39222
39223
39224
39225
39226
39227
39228
39229
39230
39231
39232
39233
39234
39235
39236
39237
39238
39239
39240
39241
39242
39243
39244
39245
39246
39247
39248
39249
39250
39251
39252
39253
39254
39255
39256
39257
39258
39259
39260
39261
39262
39263
39264
39265
39266
39267
39268
39269
39270
39271
39272
39273
39274
39275
39276
39277
39278
39279
39280
39281
39282
39283
39284
39285
39286
39287
39288
39289
39290
39291
39292
39293
39294
39295
39296
39297
39298
39299
39300
39301
39302
39303
39304
39305
39306
39307
39308
39309
39310
39311
39312
39313
39314
39315
39316
39317
39318
39319
39320
39321
39322
39323
39324
39325
39326
39327
39328
39329
39330
39331
39332
39333
39334
39335
39336
39337
39338
39339
39340
39341
39342
39343
39344
39345
39346
39347
39348
39349
39350
39351
39352
39353
39354
39355
39356
39357
39358
39359
39360
39361
39362
39363
39364
39365
39366
39367
39368
39369
39370
39371
39372
39373
39374
39375
39376
39377
39378
39379
39380
39381
39382
39383
39384
39385
39386
39387
39388
39389
39390
39391
39392
39393
39394
39395
39396
39397
39398
39399
39400
39401
39402
39403
39404
39405
39406
39407
39408
39409
39410
39411
39412
39413
39414
39415
39416
39417
39418
39419
39420
39421
39422
39423
39424
39425
39426
39427
39428
39429
39430
39431
39432
39433
39434
39435
39436
39437
39438
39439
39440
39441
39442
39443
39444
39445
39446
39447
39448
39449
39450
39451
39452
39453
39454
39455
39456
39457
39458
39459
39460
39461
39462
39463
39464
39465
39466
39467
39468
39469
39470
39471
39472
39473
39474
39475
39476
39477
39478
39479
39480
39481
39482
39483
39484
39485
39486
39487
39488
39489
39490
39491
39492
39493
39494
39495
39496
39497
39498
39499
39500
39501
39502
39503
39504
39505
39506
39507
39508
39509
39510
39511
39512
39513
39514
39515
39516
39517
39518
39519
39520
39521
39522
39523
39524
39525
39526
39527
39528
39529
39530
39531
39532
39533
39534
39535
39536
39537
39538
39539
39540
39541
39542
39543
39544
39545
39546
39547
39548
39549
39550
39551
39552
39553
39554
39555
39556
39557
39558
39559
39560
39561
39562
39563
39564
39565
39566
39567
39568
39569
39570
39571
39572
39573
39574
39575
39576
39577
39578
39579
39580
39581
39582
39583
39584
39585
39586
39587
39588
39589
39590
39591
39592
39593
39594
39595
39596
39597
39598
39599
39600
39601
39602
39603
39604
39605
39606
39607
39608
39609
39610
39611
39612
39613
39614
39615
39616
39617
39618
39619
39620
39621
39622
39623
39624
39625
39626
39627
39628
39629
39630
39631
39632
39633
39634
39635
39636
39637
39638
39639
39640
39641
39642
39643
39644
39645
39646
39647
39648
39649
39650
39651
39652
39653
39654
39655
39656
39657
39658
39659
39660
39661
39662
39663
39664
39665
39666
39667
39668
39669
39670
39671
39672
39673
39674
39675
39676
39677
39678
39679
39680
39681
39682
39683
39684
39685
39686
39687
39688
39689
39690
39691
39692
39693
39694
39695
39696
39697
39698
39699
39700
39701
39702
39703
39704
39705
39706
39707
39708
39709
39710
39711
39712
39713
39714
39715
39716
39717
39718
39719
39720
39721
39722
39723
39724
39725
39726
39727
39728
39729
39730
39731
39732
39733
39734
39735
39736
39737
39738
39739
39740
39741
39742
39743
39744
39745
39746
39747
39748
39749
39750
39751
39752
39753
39754
39755
39756
39757
39758
39759
39760
39761
39762
39763
39764
39765
39766
39767
39768
39769
39770
39771
39772
39773
39774
39775
39776
39777
39778
39779
39780
39781
39782
39783
39784
39785
39786
39787
39788
39789
39790
39791
39792
39793
39794
39795
39796
39797
39798
39799
39800
39801
39802
39803
39804
39805
39806
39807
39808
39809
39810
39811
39812
39813
39814
39815
39816
39817
39818
39819
39820
39821
39822
39823
39824
39825
39826
39827
39828
39829
39830
39831
39832
39833
39834
39835
39836
39837
39838
39839
39840
39841
39842
39843
39844
39845
39846
39847
39848
39849
39850
39851
39852
39853
39854
39855
39856
39857
39858
39859
39860
39861
39862
39863
39864
39865
39866
39867
39868
39869
39870
39871
39872
39873
39874
39875
39876
39877
39878
39879
39880
39881
39882
39883
39884
39885
39886
39887
39888
39889
39890
39891
39892
39893
39894
39895
39896
39897
39898
39899
39900
39901
39902
39903
39904
39905
39906
39907
39908
39909
39910
39911
39912
39913
39914
39915
39916
39917
39918
39919
39920
39921
39922
39923
39924
39925
39926
39927
39928
39929
39930
39931
39932
39933
39934
39935
39936
39937
39938
39939
39940
39941
39942
39943
39944
39945
39946
39947
39948
39949
39950
39951
39952
39953
39954
39955
39956
39957
39958
39959
39960
39961
39962
39963
39964
39965
39966
39967
39968
39969
39970
39971
39972
39973
39974
39975
39976
39977
39978
39979
39980
39981
39982
39983
39984
39985
39986
39987
39988
39989
39990
39991
39992
39993
39994
39995
39996
39997
39998
39999
40000
40001
40002
40003
40004
40005
40006
40007
40008
40009
40010
40011
40012
40013
40014
40015
40016
40017
40018
40019
40020
40021
40022
40023
40024
40025
40026
40027
40028
40029
40030
40031
40032
40033
40034
40035
40036
40037
40038
40039
40040
40041
40042
40043
40044
40045
40046
40047
40048
40049
40050
40051
40052
40053
40054
40055
40056
40057
40058
40059
40060
40061
40062
40063
40064
40065
40066
40067
40068
40069
40070
40071
40072
40073
40074
40075
40076
40077
40078
40079
40080
40081
40082
40083
40084
40085
40086
40087
40088
40089
40090
40091
40092
40093
40094
40095
40096
40097
40098
40099
40100
40101
40102
40103
40104
40105
40106
40107
40108
40109
40110
40111
40112
40113
40114
40115
40116
40117
40118
40119
40120
40121
40122
40123
40124
40125
40126
40127
40128
40129
40130
40131
40132
40133
40134
40135
40136
40137
40138
40139
40140
40141
40142
40143
40144
40145
40146
40147
40148
40149
40150
40151
40152
40153
40154
40155
40156
40157
40158
40159
40160
40161
40162
40163
40164
40165
40166
40167
40168
40169
40170
40171
40172
40173
40174
40175
40176
40177
40178
40179
40180
40181
40182
40183
40184
40185
40186
40187
40188
40189
40190
40191
40192
40193
40194
40195
40196
40197
40198
40199
40200
40201
40202
40203
40204
40205
40206
40207
40208
40209
40210
40211
40212
40213
40214
40215
40216
40217
40218
40219
40220
40221
40222
40223
40224
40225
40226
40227
40228
40229
40230
40231
40232
40233
40234
40235
40236
40237
40238
40239
40240
40241
40242
40243
40244
40245
40246
40247
40248
40249
40250
40251
40252
40253
40254
40255
40256
40257
40258
40259
40260
40261
40262
40263
40264
40265
40266
40267
40268
40269
40270
40271
40272
40273
40274
40275
40276
40277
40278
40279
40280
40281
40282
40283
40284
40285
40286
40287
40288
40289
40290
40291
40292
40293
40294
40295
40296
40297
40298
40299
40300
40301
40302
40303
40304
40305
40306
40307
40308
40309
40310
40311
40312
40313
40314
40315
40316
40317
40318
40319
40320
40321
40322
40323
40324
40325
40326
40327
40328
40329
40330
40331
40332
40333
40334
40335
40336
40337
40338
40339
40340
40341
40342
40343
40344
40345
40346
40347
40348
40349
40350
40351
40352
40353
40354
40355
40356
40357
40358
40359
40360
40361
40362
40363
40364
40365
40366
40367
40368
40369
40370
40371
40372
40373
40374
40375
40376
40377
40378
40379
40380
40381
40382
40383
40384
40385
40386
40387
40388
40389
40390
40391
40392
40393
40394
40395
40396
40397
40398
40399
40400
40401
40402
40403
40404
40405
40406
40407
40408
40409
40410
40411
40412
40413
40414
40415
40416
40417
40418
40419
40420
40421
40422
40423
40424
40425
40426
40427
40428
40429
40430
40431
40432
40433
40434
40435
40436
40437
40438
40439
40440
40441
40442
40443
40444
40445
40446
40447
40448
40449
40450
40451
40452
40453
40454
40455
40456
40457
40458
40459
40460
40461
40462
40463
40464
40465
40466
40467
40468
40469
40470
40471
40472
40473
40474
40475
40476
40477
40478
40479
40480
40481
40482
40483
40484
40485
40486
40487
40488
40489
40490
40491
40492
40493
40494
40495
40496
40497
40498
40499
40500
40501
40502
40503
40504
40505
40506
40507
40508
40509
40510
40511
40512
40513
40514
40515
40516
40517
40518
40519
40520
40521
40522
40523
40524
40525
40526
40527
40528
40529
40530
40531
40532
40533
40534
40535
40536
40537
40538
40539
40540
40541
40542
40543
40544
40545
40546
40547
40548
40549
40550
40551
40552
40553
40554
40555
40556
40557
40558
40559
40560
40561
40562
40563
40564
40565
40566
40567
40568
40569
40570
40571
40572
40573
40574
40575
40576
40577
40578
40579
40580
40581
40582
40583
40584
40585
40586
40587
40588
40589
40590
40591
40592
40593
40594
40595
40596
40597
40598
40599
40600
40601
40602
40603
40604
40605
40606
40607
40608
40609
40610
40611
40612
40613
40614
40615
40616
40617
40618
40619
40620
40621
40622
40623
40624
40625
40626
40627
40628
40629
40630
40631
40632
40633
40634
40635
40636
40637
40638
40639
40640
40641
40642
40643
40644
40645
40646
40647
40648
40649
40650
40651
40652
40653
40654
40655
40656
40657
40658
40659
40660
40661
40662
40663
40664
40665
40666
40667
40668
40669
40670
40671
40672
40673
40674
40675
40676
40677
40678
40679
40680
40681
40682
40683
40684
40685
40686
40687
40688
40689
40690
40691
40692
40693
40694
40695
40696
40697
40698
40699
40700
40701
40702
40703
40704
40705
40706
40707
40708
40709
40710
40711
40712
40713
40714
40715
40716
40717
40718
40719
40720
40721
40722
40723
40724
40725
40726
40727
40728
40729
40730
40731
40732
40733
40734
40735
40736
40737
40738
40739
40740
40741
40742
40743
40744
40745
40746
40747
40748
40749
40750
40751
40752
40753
40754
40755
40756
40757
40758
40759
40760
40761
40762
40763
40764
40765
40766
40767
40768
40769
40770
40771
40772
40773
40774
40775
40776
40777
40778
40779
40780
40781
40782
40783
40784
40785
40786
40787
40788
40789
40790
40791
40792
40793
40794
40795
40796
40797
40798
40799
40800
40801
40802
40803
40804
40805
40806
40807
40808
40809
40810
40811
40812
40813
40814
40815
40816
40817
40818
40819
40820
40821
40822
40823
40824
40825
40826
40827
40828
40829
40830
40831
40832
40833
40834
40835
40836
40837
40838
40839
40840
40841
40842
40843
40844
40845
40846
40847
40848
40849
40850
40851
40852
40853
40854
40855
40856
40857
40858
40859
40860
40861
40862
40863
40864
40865
40866
40867
40868
40869
40870
40871
40872
40873
40874
40875
40876
40877
40878
40879
40880
40881
40882
40883
40884
40885
40886
40887
40888
40889
40890
40891
40892
40893
40894
40895
40896
40897
40898
40899
40900
40901
40902
40903
40904
40905
40906
40907
40908
40909
40910
40911
40912
40913
40914
40915
40916
40917
40918
40919
40920
40921
40922
40923
40924
40925
40926
40927
40928
40929
40930
40931
40932
40933
40934
40935
40936
40937
40938
40939
40940
40941
40942
40943
40944
40945
40946
40947
40948
40949
40950
40951
40952
40953
40954
40955
40956
40957
40958
40959
40960
40961
40962
40963
40964
40965
40966
40967
40968
40969
40970
40971
40972
40973
40974
40975
40976
40977
40978
40979
40980
40981
40982
40983
40984
40985
40986
40987
40988
40989
40990
40991
40992
40993
40994
40995
40996
40997
40998
40999
41000
41001
41002
41003
41004
41005
41006
41007
41008
41009
41010
41011
41012
41013
41014
41015
41016
41017
41018
41019
41020
41021
41022
41023
41024
41025
41026
41027
41028
41029
41030
41031
41032
41033
41034
41035
41036
41037
41038
41039
41040
41041
41042
41043
41044
41045
41046
41047
41048
41049
41050
41051
41052
41053
41054
41055
41056
41057
41058
41059
41060
41061
41062
41063
41064
41065
41066
41067
41068
41069
41070
41071
41072
41073
41074
41075
41076
41077
41078
41079
41080
41081
41082
41083
41084
41085
41086
41087
41088
41089
41090
41091
41092
41093
41094
41095
41096
41097
41098
41099
41100
41101
41102
41103
41104
41105
41106
41107
41108
41109
41110
41111
41112
41113
41114
41115
41116
41117
41118
41119
41120
41121
41122
41123
41124
41125
41126
41127
41128
41129
41130
41131
41132
41133
41134
41135
41136
41137
41138
41139
41140
41141
41142
41143
41144
41145
41146
41147
41148
41149
41150
41151
41152
41153
41154
41155
41156
41157
41158
41159
41160
41161
41162
41163
41164
41165
41166
41167
41168
41169
41170
41171
41172
41173
41174
41175
41176
41177
41178
41179
41180
41181
41182
41183
41184
41185
41186
41187
41188
41189
41190
41191
41192
41193
41194
41195
41196
41197
41198
41199
41200
41201
41202
41203
41204
41205
41206
41207
41208
41209
41210
41211
41212
41213
41214
41215
41216
41217
41218
41219
41220
41221
41222
41223
41224
41225
41226
41227
41228
41229
41230
41231
41232
41233
41234
41235
41236
41237
41238
41239
41240
41241
41242
41243
41244
41245
41246
41247
41248
41249
41250
41251
41252
41253
41254
41255
41256
41257
41258
41259
41260
41261
41262
41263
41264
41265
41266
41267
41268
41269
41270
41271
41272
41273
41274
41275
41276
41277
41278
41279
41280
41281
41282
41283
41284
41285
41286
41287
41288
41289
41290
41291
41292
41293
41294
41295
41296
41297
41298
41299
41300
41301
41302
41303
41304
41305
41306
41307
41308
41309
41310
41311
41312
41313
41314
41315
41316
41317
41318
41319
41320
41321
41322
41323
41324
41325
41326
41327
41328
41329
41330
41331
41332
41333
41334
41335
41336
41337
41338
41339
41340
41341
41342
41343
41344
41345
41346
41347
41348
41349
41350
41351
41352
41353
41354
41355
41356
41357
41358
41359
41360
41361
41362
41363
41364
41365
41366
41367
41368
41369
41370
41371
41372
41373
41374
41375
41376
41377
41378
41379
41380
41381
41382
41383
41384
41385
41386
41387
41388
41389
41390
41391
41392
41393
41394
41395
41396
41397
41398
41399
41400
41401
41402
41403
41404
41405
41406
41407
41408
41409
41410
41411
41412
41413
41414
41415
41416
41417
41418
41419
41420
41421
41422
41423
41424
41425
41426
41427
41428
41429
41430
41431
41432
41433
41434
41435
41436
41437
41438
41439
41440
41441
41442
41443
41444
41445
41446
41447
41448
41449
41450
41451
41452
41453
41454
41455
41456
41457
41458
41459
41460
41461
41462
41463
41464
41465
41466
41467
41468
41469
41470
41471
41472
41473
41474
41475
41476
41477
41478
41479
41480
41481
41482
41483
41484
41485
41486
41487
41488
41489
41490
41491
41492
41493
41494
41495
41496
41497
41498
41499
41500
41501
41502
41503
41504
41505
41506
41507
41508
41509
41510
41511
41512
41513
41514
41515
41516
41517
41518
41519
41520
41521
41522
41523
41524
41525
41526
41527
41528
41529
41530
41531
41532
41533
41534
41535
41536
41537
41538
41539
41540
41541
41542
41543
41544
41545
41546
41547
41548
41549
41550
41551
41552
41553
41554
41555
41556
41557
41558
41559
41560
41561
41562
41563
41564
41565
41566
41567
41568
41569
41570
41571
41572
41573
41574
41575
41576
41577
41578
41579
41580
41581
41582
41583
41584
41585
41586
41587
41588
41589
41590
41591
41592
41593
41594
41595
41596
41597
41598
41599
41600
41601
41602
41603
41604
41605
41606
41607
41608
41609
41610
41611
41612
41613
41614
41615
41616
41617
41618
41619
41620
41621
41622
41623
41624
41625
41626
41627
41628
41629
41630
41631
41632
41633
41634
41635
41636
41637
41638
41639
41640
41641
41642
41643
41644
41645
41646
41647
41648
41649
41650
41651
41652
41653
41654
41655
41656
41657
41658
41659
41660
41661
41662
41663
41664
41665
41666
41667
41668
41669
41670
41671
41672
41673
41674
41675
41676
41677
41678
41679
41680
41681
41682
41683
41684
41685
41686
41687
41688
41689
41690
41691
41692
41693
41694
41695
41696
41697
41698
41699
41700
41701
41702
41703
41704
41705
41706
41707
41708
41709
41710
41711
41712
41713
41714
41715
41716
41717
41718
41719
41720
41721
41722
41723
41724
41725
41726
41727
41728
41729
41730
41731
41732
41733
41734
41735
41736
41737
41738
41739
41740
41741
41742
41743
41744
41745
41746
41747
41748
41749
41750
41751
41752
41753
41754
41755
41756
41757
41758
41759
41760
41761
41762
41763
41764
41765
41766
41767
41768
41769
41770
41771
41772
41773
41774
41775
41776
41777
41778
41779
41780
41781
41782
41783
41784
41785
41786
41787
41788
41789
41790
41791
41792
41793
41794
41795
41796
41797
41798
41799
41800
41801
41802
41803
41804
41805
41806
41807
41808
41809
41810
41811
41812
41813
41814
41815
41816
41817
41818
41819
41820
41821
41822
41823
41824
41825
41826
41827
41828
41829
41830
41831
41832
41833
41834
41835
41836
41837
41838
41839
41840
41841
41842
41843
41844
41845
41846
41847
41848
41849
41850
41851
41852
41853
41854
41855
41856
41857
41858
41859
41860
41861
41862
41863
41864
41865
41866
41867
41868
41869
41870
41871
41872
41873
41874
41875
41876
41877
41878
41879
41880
41881
41882
41883
41884
41885
41886
41887
41888
41889
41890
41891
41892
41893
41894
41895
41896
41897
41898
41899
41900
41901
41902
41903
41904
41905
41906
41907
41908
41909
41910
41911
41912
41913
41914
41915
41916
41917
41918
41919
41920
41921
41922
41923
41924
41925
41926
41927
41928
41929
41930
41931
41932
41933
41934
41935
41936
41937
41938
41939
41940
41941
41942
41943
41944
41945
41946
41947
41948
41949
41950
41951
41952
41953
41954
41955
41956
41957
41958
41959
41960
41961
41962
41963
41964
41965
41966
41967
41968
41969
41970
41971
41972
41973
41974
41975
41976
41977
41978
41979
41980
41981
41982
41983
41984
41985
41986
41987
41988
41989
41990
41991
41992
41993
41994
41995
41996
41997
41998
41999
42000
42001
42002
42003
42004
42005
42006
42007
42008
42009
42010
42011
42012
42013
42014
42015
42016
42017
42018
42019
42020
42021
42022
42023
42024
42025
42026
42027
42028
42029
42030
42031
42032
42033
42034
42035
42036
42037
42038
42039
42040
42041
42042
42043
42044
42045
42046
42047
42048
42049
42050
42051
42052
42053
42054
42055
42056
42057
42058
42059
42060
42061
42062
42063
42064
42065
42066
42067
42068
42069
42070
42071
42072
42073
42074
42075
42076
42077
42078
42079
42080
42081
42082
42083
42084
42085
42086
42087
42088
42089
42090
42091
42092
42093
42094
42095
42096
42097
42098
42099
42100
42101
42102
42103
42104
42105
42106
42107
42108
42109
42110
42111
42112
42113
42114
42115
42116
42117
42118
42119
42120
42121
42122
42123
42124
42125
42126
42127
42128
42129
42130
42131
42132
42133
42134
42135
42136
42137
42138
42139
42140
42141
42142
42143
42144
42145
42146
42147
42148
42149
42150
42151
42152
42153
42154
42155
42156
42157
42158
42159
42160
42161
42162
42163
42164
42165
42166
42167
42168
42169
42170
42171
42172
42173
42174
42175
42176
42177
42178
42179
42180
42181
42182
42183
42184
42185
42186
42187
42188
42189
42190
42191
42192
42193
42194
42195
42196
42197
42198
42199
42200
42201
42202
42203
42204
42205
42206
42207
42208
42209
42210
42211
42212
42213
42214
42215
42216
42217
42218
42219
42220
42221
42222
42223
42224
42225
42226
42227
42228
42229
42230
42231
42232
42233
42234
42235
42236
42237
42238
42239
42240
42241
42242
42243
42244
42245
42246
42247
42248
42249
42250
42251
42252
42253
42254
42255
42256
42257
42258
42259
42260
42261
42262
42263
42264
42265
42266
42267
42268
42269
42270
42271
42272
42273
42274
42275
42276
42277
42278
42279
42280
42281
42282
42283
42284
42285
42286
42287
42288
42289
42290
42291
42292
42293
42294
42295
42296
42297
42298
42299
42300
42301
42302
42303
42304
42305
42306
42307
42308
42309
42310
42311
42312
42313
42314
42315
42316
42317
42318
42319
42320
42321
42322
42323
42324
42325
42326
42327
42328
42329
42330
42331
42332
42333
42334
42335
42336
42337
42338
42339
42340
42341
42342
42343
42344
42345
42346
42347
42348
42349
42350
42351
42352
42353
42354
42355
42356
42357
42358
42359
42360
42361
42362
42363
42364
42365
42366
42367
42368
42369
42370
42371
42372
42373
42374
42375
42376
42377
42378
42379
42380
42381
42382
42383
42384
42385
42386
42387
42388
42389
42390
42391
42392
42393
42394
42395
42396
42397
42398
42399
42400
42401
42402
42403
42404
42405
42406
42407
42408
42409
42410
42411
42412
42413
42414
42415
42416
42417
42418
42419
42420
42421
42422
42423
42424
42425
42426
42427
42428
42429
42430
42431
42432
42433
42434
42435
42436
42437
42438
42439
42440
42441
42442
42443
42444
42445
42446
42447
42448
42449
42450
42451
42452
42453
42454
42455
42456
42457
42458
42459
42460
42461
42462
42463
42464
42465
42466
42467
42468
42469
42470
42471
42472
42473
42474
42475
42476
42477
42478
42479
42480
42481
42482
42483
42484
42485
42486
42487
42488
42489
42490
42491
42492
42493
42494
42495
42496
42497
42498
42499
42500
42501
42502
42503
42504
42505
42506
42507
42508
42509
42510
42511
42512
42513
42514
42515
42516
42517
42518
42519
42520
42521
42522
42523
42524
42525
42526
42527
42528
42529
42530
42531
42532
42533
42534
42535
42536
42537
42538
42539
42540
42541
42542
42543
42544
42545
42546
42547
42548
42549
42550
42551
42552
42553
42554
42555
42556
42557
42558
42559
42560
42561
42562
42563
42564
42565
42566
42567
42568
42569
42570
42571
42572
42573
42574
42575
42576
42577
42578
42579
42580
42581
42582
42583
42584
42585
42586
42587
42588
42589
42590
42591
42592
42593
42594
42595
42596
42597
42598
42599
42600
42601
42602
42603
42604
42605
42606
42607
42608
42609
42610
42611
42612
42613
42614
42615
42616
42617
42618
42619
42620
42621
42622
42623
42624
42625
42626
42627
42628
42629
42630
42631
42632
42633
42634
42635
42636
42637
42638
42639
42640
42641
42642
42643
42644
42645
42646
42647
42648
42649
42650
42651
42652
42653
42654
42655
42656
42657
42658
42659
42660
42661
42662
42663
42664
42665
42666
42667
42668
42669
42670
42671
42672
42673
42674
42675
42676
42677
42678
42679
42680
42681
42682
42683
42684
42685
42686
42687
42688
42689
42690
42691
42692
42693
42694
42695
42696
42697
42698
42699
42700
42701
42702
42703
42704
42705
42706
42707
42708
42709
42710
42711
42712
42713
42714
42715
42716
42717
42718
42719
42720
42721
42722
42723
42724
42725
42726
42727
42728
42729
42730
42731
42732
42733
42734
42735
42736
42737
42738
42739
42740
42741
42742
42743
42744
42745
42746
42747
42748
42749
42750
42751
42752
42753
42754
42755
42756
42757
42758
42759
42760
42761
42762
42763
42764
42765
42766
42767
42768
42769
42770
42771
42772
42773
42774
42775
42776
42777
42778
42779
42780
42781
42782
42783
42784
42785
42786
42787
42788
42789
42790
42791
42792
42793
42794
42795
42796
42797
42798
42799
42800
42801
42802
42803
42804
42805
42806
42807
42808
42809
42810
42811
42812
42813
42814
42815
42816
42817
42818
42819
42820
42821
42822
42823
42824
42825
42826
42827
42828
42829
42830
42831
42832
42833
42834
42835
42836
42837
42838
42839
42840
42841
42842
42843
42844
42845
42846
42847
42848
42849
42850
42851
42852
42853
42854
42855
42856
42857
42858
42859
42860
42861
42862
42863
42864
42865
42866
42867
42868
42869
42870
42871
42872
42873
42874
42875
42876
42877
42878
42879
42880
42881
42882
42883
42884
42885
42886
42887
42888
42889
42890
42891
42892
42893
42894
42895
42896
42897
42898
42899
42900
42901
42902
42903
42904
42905
42906
42907
42908
42909
42910
42911
42912
42913
42914
42915
42916
42917
42918
42919
42920
42921
42922
42923
42924
42925
42926
42927
42928
42929
42930
42931
42932
42933
42934
42935
42936
42937
42938
42939
42940
42941
42942
42943
42944
42945
42946
42947
42948
42949
42950
42951
42952
42953
42954
42955
42956
42957
42958
42959
42960
42961
42962
42963
42964
42965
42966
42967
42968
42969
42970
42971
42972
42973
42974
42975
42976
42977
42978
42979
42980
42981
42982
42983
42984
42985
42986
42987
42988
42989
42990
42991
42992
42993
42994
42995
42996
42997
42998
42999
43000
43001
43002
43003
43004
43005
43006
43007
43008
43009
43010
43011
43012
43013
43014
43015
43016
43017
43018
43019
43020
43021
43022
43023
43024
43025
43026
43027
43028
43029
43030
43031
43032
43033
43034
43035
43036
43037
43038
43039
43040
43041
43042
43043
43044
43045
43046
43047
43048
43049
43050
43051
43052
43053
43054
43055
43056
43057
43058
43059
43060
43061
43062
43063
43064
43065
43066
43067
43068
43069
43070
43071
43072
43073
43074
43075
43076
43077
43078
43079
43080
43081
43082
43083
43084
43085
43086
43087
43088
43089
43090
43091
43092
43093
43094
43095
43096
43097
43098
43099
43100
43101
43102
43103
43104
43105
43106
43107
43108
43109
43110
43111
43112
43113
43114
43115
43116
43117
43118
43119
43120
43121
43122
43123
43124
43125
43126
43127
43128
43129
43130
43131
43132
43133
43134
43135
43136
43137
43138
43139
43140
43141
43142
43143
43144
43145
43146
43147
43148
43149
43150
43151
43152
43153
43154
43155
43156
43157
43158
43159
43160
43161
43162
43163
43164
43165
43166
43167
43168
43169
43170
43171
43172
43173
43174
43175
43176
43177
43178
43179
43180
43181
43182
43183
43184
43185
43186
43187
43188
43189
43190
43191
43192
43193
43194
43195
43196
43197
43198
43199
43200
43201
43202
43203
43204
43205
43206
43207
43208
43209
43210
43211
43212
43213
43214
43215
43216
43217
43218
43219
43220
43221
43222
43223
43224
43225
43226
43227
43228
43229
43230
43231
43232
43233
43234
43235
43236
43237
43238
43239
43240
43241
43242
43243
43244
43245
43246
43247
43248
43249
43250
43251
43252
43253
43254
43255
43256
43257
43258
43259
43260
43261
43262
43263
43264
43265
43266
43267
43268
43269
43270
43271
43272
43273
43274
43275
43276
43277
43278
43279
43280
43281
43282
43283
43284
43285
43286
43287
43288
43289
43290
43291
43292
43293
43294
43295
43296
43297
43298
43299
43300
43301
43302
43303
43304
43305
43306
43307
43308
43309
43310
43311
43312
43313
43314
43315
43316
43317
43318
43319
43320
43321
43322
43323
43324
43325
43326
43327
43328
43329
43330
43331
43332
43333
43334
43335
43336
43337
43338
43339
43340
43341
43342
43343
43344
43345
43346
43347
43348
43349
43350
43351
43352
43353
43354
43355
43356
43357
43358
43359
43360
43361
43362
43363
43364
43365
43366
43367
43368
43369
43370
43371
43372
43373
43374
43375
43376
43377
43378
43379
43380
43381
43382
43383
43384
43385
43386
43387
43388
43389
43390
43391
43392
43393
43394
43395
43396
43397
43398
43399
43400
43401
43402
43403
43404
43405
43406
43407
43408
43409
43410
43411
43412
43413
43414
43415
43416
43417
43418
43419
43420
43421
43422
43423
43424
43425
43426
43427
43428
43429
43430
43431
43432
43433
43434
43435
43436
43437
43438
43439
43440
43441
43442
43443
43444
43445
43446
43447
43448
43449
43450
43451
43452
43453
43454
43455
43456
43457
43458
43459
43460
43461
43462
43463
43464
43465
43466
43467
43468
43469
43470
43471
43472
43473
43474
43475
43476
43477
43478
43479
43480
43481
43482
43483
43484
43485
43486
43487
43488
43489
43490
43491
43492
43493
43494
43495
43496
43497
43498
43499
43500
43501
43502
43503
43504
43505
43506
43507
43508
43509
43510
43511
43512
43513
43514
43515
43516
43517
43518
43519
43520
43521
43522
43523
43524
43525
43526
43527
43528
43529
43530
43531
43532
43533
43534
43535
43536
43537
43538
43539
43540
43541
43542
43543
43544
43545
43546
43547
43548
43549
43550
43551
43552
43553
43554
43555
43556
43557
43558
43559
43560
43561
43562
43563
43564
43565
43566
43567
43568
43569
43570
43571
43572
43573
43574
43575
43576
43577
43578
43579
43580
43581
43582
43583
43584
43585
43586
43587
43588
43589
43590
43591
43592
43593
43594
43595
43596
43597
43598
43599
43600
43601
43602
43603
43604
43605
43606
43607
43608
43609
43610
43611
43612
43613
43614
43615
43616
43617
43618
43619
43620
43621
43622
43623
43624
43625
43626
43627
43628
43629
43630
43631
43632
43633
43634
43635
43636
43637
43638
43639
43640
43641
43642
43643
43644
43645
43646
43647
43648
43649
43650
43651
43652
43653
43654
43655
43656
43657
43658
43659
43660
43661
43662
43663
43664
43665
43666
43667
43668
43669
43670
43671
43672
43673
43674
43675
43676
43677
43678
43679
43680
43681
43682
43683
43684
43685
43686
43687
43688
43689
43690
43691
43692
43693
43694
43695
43696
43697
43698
43699
43700
43701
43702
43703
43704
43705
43706
43707
43708
43709
43710
43711
43712
43713
43714
43715
43716
43717
43718
43719
43720
43721
43722
43723
43724
43725
43726
43727
43728
43729
43730
43731
43732
43733
43734
43735
43736
43737
43738
43739
43740
43741
43742
43743
43744
43745
43746
43747
43748
43749
43750
43751
43752
43753
43754
43755
43756
43757
43758
43759
43760
43761
43762
43763
43764
43765
43766
43767
43768
43769
43770
43771
43772
43773
43774
43775
43776
43777
43778
43779
43780
43781
43782
43783
43784
43785
43786
43787
43788
43789
43790
43791
43792
43793
43794
43795
43796
43797
43798
43799
43800
43801
43802
43803
43804
43805
43806
43807
43808
43809
43810
43811
43812
43813
43814
43815
43816
43817
43818
43819
43820
43821
43822
43823
43824
43825
43826
43827
43828
43829
43830
43831
43832
43833
43834
43835
43836
43837
43838
43839
43840
43841
43842
43843
43844
43845
43846
43847
43848
43849
43850
43851
43852
43853
43854
43855
43856
43857
43858
43859
43860
43861
43862
43863
43864
43865
43866
43867
43868
43869
43870
43871
43872
43873
43874
43875
43876
43877
43878
43879
43880
43881
43882
43883
43884
43885
43886
43887
43888
43889
43890
43891
43892
43893
43894
43895
43896
43897
43898
43899
43900
43901
43902
43903
43904
43905
43906
43907
43908
43909
43910
43911
43912
43913
43914
43915
43916
43917
43918
43919
43920
43921
43922
43923
43924
43925
43926
43927
43928
43929
43930
43931
43932
43933
43934
43935
43936
43937
43938
43939
43940
43941
43942
43943
43944
43945
43946
43947
43948
43949
43950
43951
43952
43953
43954
43955
43956
43957
43958
43959
43960
43961
43962
43963
43964
43965
43966
43967
43968
43969
43970
43971
43972
43973
43974
43975
43976
43977
43978
43979
43980
43981
43982
43983
43984
43985
43986
43987
43988
43989
43990
43991
43992
43993
43994
43995
43996
43997
43998
43999
44000
44001
44002
44003
44004
44005
44006
44007
44008
44009
44010
44011
44012
44013
44014
44015
44016
44017
44018
44019
44020
44021
44022
44023
44024
44025
44026
44027
44028
44029
44030
44031
44032
44033
44034
44035
44036
44037
44038
44039
44040
44041
44042
44043
44044
44045
44046
44047
44048
44049
44050
44051
44052
44053
44054
44055
44056
44057
44058
44059
44060
44061
44062
44063
44064
44065
44066
44067
44068
44069
44070
44071
44072
44073
44074
44075
44076
44077
44078
44079
44080
44081
44082
44083
44084
44085
44086
44087
44088
44089
44090
44091
44092
44093
44094
44095
44096
44097
44098
44099
44100
44101
44102
44103
44104
44105
44106
44107
44108
44109
44110
44111
44112
44113
44114
44115
44116
44117
44118
44119
44120
44121
44122
44123
44124
44125
44126
44127
44128
44129
44130
44131
44132
44133
44134
44135
44136
44137
44138
44139
44140
44141
44142
44143
44144
44145
44146
44147
44148
44149
44150
44151
44152
44153
44154
44155
44156
44157
44158
44159
44160
44161
44162
44163
44164
44165
44166
44167
44168
44169
44170
44171
44172
44173
44174
44175
44176
44177
44178
44179
44180
44181
44182
44183
44184
44185
44186
44187
44188
44189
44190
44191
44192
44193
44194
44195
44196
44197
44198
44199
44200
44201
44202
44203
44204
44205
44206
44207
44208
44209
44210
44211
44212
44213
44214
44215
44216
44217
44218
44219
44220
44221
44222
44223
44224
44225
44226
44227
44228
44229
44230
44231
44232
44233
44234
44235
44236
44237
44238
44239
44240
44241
44242
44243
44244
44245
44246
44247
44248
44249
44250
44251
44252
44253
44254
44255
44256
44257
44258
44259
44260
44261
44262
44263
44264
44265
44266
44267
44268
44269
44270
44271
44272
44273
44274
44275
44276
44277
44278
44279
44280
44281
44282
44283
44284
44285
44286
44287
44288
44289
44290
44291
44292
44293
44294
44295
44296
44297
44298
44299
44300
44301
44302
44303
44304
44305
44306
44307
44308
44309
44310
44311
44312
44313
44314
44315
44316
44317
44318
44319
44320
44321
44322
44323
44324
44325
44326
44327
44328
44329
44330
44331
44332
44333
44334
44335
44336
44337
44338
44339
44340
44341
44342
44343
44344
44345
44346
44347
44348
44349
44350
44351
44352
44353
44354
44355
44356
44357
44358
44359
44360
44361
44362
44363
44364
44365
44366
44367
44368
44369
44370
44371
44372
44373
44374
44375
44376
44377
44378
44379
44380
44381
44382
44383
44384
44385
44386
44387
44388
44389
44390
44391
44392
44393
44394
44395
44396
44397
44398
44399
44400
44401
44402
44403
44404
44405
44406
44407
44408
44409
44410
44411
44412
44413
44414
44415
44416
44417
44418
44419
44420
44421
44422
44423
44424
44425
44426
44427
44428
44429
44430
44431
44432
44433
44434
44435
44436
44437
44438
44439
44440
44441
44442
44443
44444
44445
44446
44447
44448
44449
44450
44451
44452
44453
44454
44455
44456
44457
44458
44459
44460
44461
44462
44463
44464
44465
44466
44467
44468
44469
44470
44471
44472
44473
44474
44475
44476
44477
44478
44479
44480
44481
44482
44483
44484
44485
44486
44487
44488
44489
44490
44491
44492
44493
44494
44495
44496
44497
44498
44499
44500
44501
44502
44503
44504
44505
44506
44507
44508
44509
44510
44511
44512
44513
44514
44515
44516
44517
44518
44519
44520
44521
44522
44523
44524
44525
44526
44527
44528
44529
44530
44531
44532
44533
44534
44535
44536
44537
44538
44539
44540
44541
44542
44543
44544
44545
44546
44547
44548
44549
44550
44551
44552
44553
44554
44555
44556
44557
44558
44559
44560
44561
44562
44563
44564
44565
44566
44567
44568
44569
44570
44571
44572
44573
44574
44575
44576
44577
44578
44579
44580
44581
44582
44583
44584
44585
44586
44587
44588
44589
44590
44591
44592
44593
44594
44595
44596
44597
44598
44599
44600
44601
44602
44603
44604
44605
44606
44607
44608
44609
44610
44611
44612
44613
44614
44615
44616
44617
44618
44619
44620
44621
44622
44623
44624
44625
44626
44627
44628
44629
44630
44631
44632
44633
44634
44635
44636
44637
44638
44639
44640
44641
44642
44643
44644
44645
44646
44647
44648
44649
44650
44651
44652
44653
44654
44655
44656
44657
44658
44659
44660
44661
44662
44663
44664
44665
44666
44667
44668
44669
44670
44671
44672
44673
44674
44675
44676
44677
44678
44679
44680
44681
44682
44683
44684
44685
44686
44687
44688
44689
44690
44691
44692
44693
44694
44695
44696
44697
44698
44699
44700
44701
44702
44703
44704
44705
44706
44707
44708
44709
44710
44711
44712
44713
44714
44715
44716
44717
44718
44719
44720
44721
44722
44723
44724
44725
44726
44727
44728
44729
44730
44731
44732
44733
44734
44735
44736
44737
44738
44739
44740
44741
44742
44743
44744
44745
44746
44747
44748
44749
44750
44751
44752
44753
44754
44755
44756
44757
44758
44759
44760
44761
44762
44763
44764
44765
44766
44767
44768
44769
44770
44771
44772
44773
44774
44775
44776
44777
44778
44779
44780
44781
44782
44783
44784
44785
44786
44787
44788
44789
44790
44791
44792
44793
44794
44795
44796
44797
44798
44799
44800
44801
44802
44803
44804
44805
44806
44807
44808
44809
44810
44811
44812
44813
44814
44815
44816
44817
44818
44819
44820
44821
44822
44823
44824
44825
44826
44827
44828
44829
44830
44831
44832
44833
44834
44835
44836
44837
44838
44839
44840
44841
44842
44843
44844
44845
44846
44847
44848
44849
44850
44851
44852
44853
44854
44855
44856
44857
44858
44859
44860
44861
44862
44863
44864
44865
44866
44867
44868
44869
44870
44871
44872
44873
44874
44875
44876
44877
44878
44879
44880
44881
44882
44883
44884
44885
44886
44887
44888
44889
44890
44891
44892
44893
44894
44895
44896
44897
44898
44899
44900
44901
44902
44903
44904
44905
44906
44907
44908
44909
44910
44911
44912
44913
44914
44915
44916
44917
44918
44919
44920
44921
44922
44923
44924
44925
44926
44927
44928
44929
44930
44931
44932
44933
44934
44935
44936
44937
44938
44939
44940
44941
44942
44943
44944
44945
44946
44947
44948
44949
44950
44951
44952
44953
44954
44955
44956
44957
44958
44959
44960
44961
44962
44963
44964
44965
44966
44967
44968
44969
44970
44971
44972
44973
44974
44975
44976
44977
44978
44979
44980
44981
44982
44983
44984
44985
44986
44987
44988
44989
44990
44991
44992
44993
44994
44995
44996
44997
44998
44999
45000
45001
45002
45003
45004
45005
45006
45007
45008
45009
45010
45011
45012
45013
45014
45015
45016
45017
45018
45019
45020
45021
45022
45023
45024
45025
45026
45027
45028
45029
45030
45031
45032
45033
45034
45035
45036
45037
45038
45039
45040
45041
45042
45043
45044
45045
45046
45047
45048
45049
45050
45051
45052
45053
45054
45055
45056
45057
45058
45059
45060
45061
45062
45063
45064
45065
45066
45067
45068
45069
45070
45071
45072
45073
45074
45075
45076
45077
45078
45079
45080
45081
45082
45083
45084
45085
45086
45087
45088
45089
45090
45091
45092
45093
45094
45095
45096
45097
45098
45099
45100
45101
45102
45103
45104
45105
45106
45107
45108
45109
45110
45111
45112
45113
45114
45115
45116
45117
45118
45119
45120
45121
45122
45123
45124
45125
45126
45127
45128
45129
45130
45131
45132
45133
45134
45135
45136
45137
45138
45139
45140
45141
45142
45143
45144
45145
45146
45147
45148
45149
45150
45151
45152
45153
45154
45155
45156
45157
45158
45159
45160
45161
45162
45163
45164
45165
45166
45167
45168
45169
45170
45171
45172
45173
45174
45175
45176
45177
45178
45179
45180
45181
45182
45183
45184
45185
45186
45187
45188
45189
45190
45191
45192
45193
45194
45195
45196
45197
45198
45199
45200
45201
45202
45203
45204
45205
45206
45207
45208
45209
45210
45211
45212
45213
45214
45215
45216
45217
45218
45219
45220
45221
45222
45223
45224
45225
45226
45227
45228
45229
45230
45231
45232
45233
45234
45235
45236
45237
45238
45239
45240
45241
45242
45243
45244
45245
45246
45247
45248
45249
45250
45251
45252
45253
45254
45255
45256
45257
45258
45259
45260
45261
45262
45263
45264
45265
45266
45267
45268
45269
45270
45271
45272
45273
45274
45275
45276
45277
45278
45279
45280
45281
45282
45283
45284
45285
45286
45287
45288
45289
45290
45291
45292
45293
45294
45295
45296
45297
45298
45299
45300
45301
45302
45303
45304
45305
45306
45307
45308
45309
45310
45311
45312
45313
45314
45315
45316
45317
45318
45319
45320
45321
45322
45323
45324
45325
45326
45327
45328
45329
45330
45331
45332
45333
45334
45335
45336
45337
45338
45339
45340
45341
45342
45343
45344
45345
45346
45347
45348
45349
45350
45351
45352
45353
45354
45355
45356
45357
45358
45359
45360
45361
45362
45363
45364
45365
45366
45367
45368
45369
45370
45371
45372
45373
45374
45375
45376
45377
45378
45379
45380
45381
45382
45383
45384
45385
45386
45387
45388
45389
45390
45391
45392
45393
45394
45395
45396
45397
45398
45399
45400
45401
45402
45403
45404
45405
45406
45407
45408
45409
45410
45411
45412
45413
45414
45415
45416
45417
45418
45419
45420
45421
45422
45423
45424
45425
45426
45427
45428
45429
45430
45431
45432
45433
45434
45435
45436
45437
45438
45439
45440
45441
45442
45443
45444
45445
45446
45447
45448
45449
45450
45451
45452
45453
45454
45455
45456
45457
45458
45459
45460
45461
45462
45463
45464
45465
45466
45467
45468
45469
45470
45471
45472
45473
45474
45475
45476
45477
45478
45479
45480
45481
45482
45483
45484
45485
45486
45487
45488
45489
45490
45491
45492
45493
45494
45495
45496
45497
45498
45499
45500
45501
45502
45503
45504
45505
45506
45507
45508
45509
45510
45511
45512
45513
45514
45515
45516
45517
45518
45519
45520
45521
45522
45523
45524
45525
45526
45527
45528
45529
45530
45531
45532
45533
45534
45535
45536
45537
45538
45539
45540
45541
45542
45543
45544
45545
45546
45547
45548
45549
45550
45551
45552
45553
45554
45555
45556
45557
45558
45559
45560
45561
45562
45563
45564
45565
45566
45567
45568
45569
45570
45571
45572
45573
45574
45575
45576
45577
45578
45579
45580
45581
45582
45583
45584
45585
45586
45587
45588
45589
45590
45591
45592
45593
45594
45595
45596
45597
45598
45599
45600
45601
45602
45603
45604
45605
45606
45607
45608
45609
45610
45611
45612
45613
45614
45615
45616
45617
45618
45619
45620
45621
45622
45623
45624
45625
45626
45627
45628
45629
45630
45631
45632
45633
45634
45635
45636
45637
45638
45639
45640
45641
45642
45643
45644
45645
45646
45647
45648
45649
45650
45651
45652
45653
45654
45655
45656
45657
45658
45659
45660
45661
45662
45663
45664
45665
45666
45667
45668
45669
45670
45671
45672
45673
45674
45675
45676
45677
45678
45679
45680
45681
45682
45683
45684
45685
45686
45687
45688
45689
45690
45691
45692
45693
45694
45695
45696
45697
45698
45699
45700
45701
45702
45703
45704
45705
45706
45707
45708
45709
45710
45711
45712
45713
45714
45715
45716
45717
45718
45719
45720
45721
45722
45723
45724
45725
45726
45727
45728
45729
45730
45731
45732
45733
45734
45735
45736
45737
45738
45739
45740
45741
45742
45743
45744
45745
45746
45747
45748
45749
45750
45751
45752
45753
45754
45755
45756
45757
45758
45759
45760
45761
45762
45763
45764
45765
45766
45767
45768
45769
45770
45771
45772
45773
45774
45775
45776
45777
45778
45779
45780
45781
45782
45783
45784
45785
45786
45787
45788
45789
45790
45791
45792
45793
45794
45795
45796
45797
45798
45799
45800
45801
45802
45803
45804
45805
45806
45807
45808
45809
45810
45811
45812
45813
45814
45815
45816
45817
45818
45819
45820
45821
45822
45823
45824
45825
45826
45827
45828
45829
45830
45831
45832
45833
45834
45835
45836
45837
45838
45839
45840
45841
45842
45843
45844
45845
45846
45847
45848
45849
45850
45851
45852
45853
45854
45855
45856
45857
45858
45859
45860
45861
45862
45863
45864
45865
45866
45867
45868
45869
45870
45871
45872
45873
45874
45875
45876
45877
45878
45879
45880
45881
45882
45883
45884
45885
45886
45887
45888
45889
45890
45891
45892
45893
45894
45895
45896
45897
45898
45899
45900
45901
45902
45903
45904
45905
45906
45907
45908
45909
45910
45911
45912
45913
45914
45915
45916
45917
45918
45919
45920
45921
45922
45923
45924
45925
45926
45927
45928
45929
45930
45931
45932
45933
45934
45935
45936
45937
45938
45939
45940
45941
45942
45943
45944
45945
45946
45947
45948
45949
45950
45951
45952
45953
45954
45955
45956
45957
45958
45959
45960
45961
45962
45963
45964
45965
45966
45967
45968
45969
45970
45971
45972
45973
45974
45975
45976
45977
45978
45979
45980
45981
45982
45983
45984
45985
45986
45987
45988
45989
45990
45991
45992
45993
45994
45995
45996
45997
45998
45999
46000
46001
46002
46003
46004
46005
46006
46007
46008
46009
46010
46011
46012
46013
46014
46015
46016
46017
46018
46019
46020
46021
46022
46023
46024
46025
46026
46027
46028
46029
46030
46031
46032
46033
46034
46035
46036
46037
46038
46039
46040
46041
46042
46043
46044
46045
46046
46047
46048
46049
46050
46051
46052
46053
46054
46055
46056
46057
46058
46059
46060
46061
46062
46063
46064
46065
46066
46067
46068
46069
46070
46071
46072
46073
46074
46075
46076
46077
46078
46079
46080
46081
46082
46083
46084
46085
46086
46087
46088
46089
46090
46091
46092
46093
46094
46095
46096
46097
46098
46099
46100
46101
46102
46103
46104
46105
46106
46107
46108
46109
46110
46111
46112
46113
46114
46115
46116
46117
46118
46119
46120
46121
46122
46123
46124
46125
46126
46127
46128
46129
46130
46131
46132
46133
46134
46135
46136
46137
46138
46139
46140
46141
46142
46143
46144
46145
46146
46147
46148
46149
46150
46151
46152
46153
46154
46155
46156
46157
46158
46159
46160
46161
46162
46163
46164
46165
46166
46167
46168
46169
46170
46171
46172
46173
46174
46175
46176
46177
46178
46179
46180
46181
46182
46183
46184
46185
46186
46187
46188
46189
46190
46191
46192
46193
46194
46195
46196
46197
46198
46199
46200
46201
46202
46203
46204
46205
46206
46207
46208
46209
46210
46211
46212
46213
46214
46215
46216
46217
46218
46219
46220
46221
46222
46223
46224
46225
46226
46227
46228
46229
46230
46231
46232
46233
46234
46235
46236
46237
46238
46239
46240
46241
46242
46243
46244
46245
46246
46247
46248
46249
46250
46251
46252
46253
46254
46255
46256
46257
46258
46259
46260
46261
46262
46263
46264
46265
46266
46267
46268
46269
46270
46271
46272
46273
46274
46275
46276
46277
46278
46279
46280
46281
46282
46283
46284
46285
46286
46287
46288
46289
46290
46291
46292
46293
46294
46295
46296
46297
46298
46299
46300
46301
46302
46303
46304
46305
46306
46307
46308
46309
46310
46311
46312
46313
46314
46315
46316
46317
46318
46319
46320
46321
46322
46323
46324
46325
46326
46327
46328
46329
46330
46331
46332
46333
46334
46335
46336
46337
46338
46339
46340
46341
46342
46343
46344
46345
46346
46347
46348
46349
46350
46351
46352
46353
46354
46355
46356
46357
46358
46359
46360
46361
46362
46363
46364
46365
46366
46367
46368
46369
46370
46371
46372
46373
46374
46375
46376
46377
46378
46379
46380
46381
46382
46383
46384
46385
46386
46387
46388
46389
46390
46391
46392
46393
46394
46395
46396
46397
46398
46399
46400
46401
46402
46403
46404
46405
46406
46407
46408
46409
46410
46411
46412
46413
46414
46415
46416
46417
46418
46419
46420
46421
46422
46423
46424
46425
46426
46427
46428
46429
46430
46431
46432
46433
46434
46435
46436
46437
46438
46439
46440
46441
46442
46443
46444
46445
46446
46447
46448
46449
46450
46451
46452
46453
46454
46455
46456
46457
46458
46459
46460
46461
46462
46463
46464
46465
46466
46467
46468
46469
46470
46471
46472
46473
46474
46475
46476
46477
46478
46479
46480
46481
46482
46483
46484
46485
46486
46487
46488
46489
46490
46491
46492
46493
46494
46495
46496
46497
46498
46499
46500
46501
46502
46503
46504
46505
46506
46507
46508
46509
46510
46511
46512
46513
46514
46515
46516
46517
46518
46519
46520
46521
46522
46523
46524
46525
46526
46527
46528
46529
46530
46531
46532
46533
46534
46535
46536
46537
46538
46539
46540
46541
46542
46543
46544
46545
46546
46547
46548
46549
46550
46551
46552
46553
46554
46555
46556
46557
46558
46559
46560
46561
46562
46563
46564
46565
46566
46567
46568
46569
46570
46571
46572
46573
46574
46575
46576
46577
46578
46579
46580
46581
46582
46583
46584
46585
46586
46587
46588
46589
46590
46591
46592
46593
46594
46595
46596
46597
46598
46599
46600
46601
46602
46603
46604
46605
46606
46607
46608
46609
46610
46611
46612
46613
46614
46615
46616
46617
46618
46619
46620
46621
46622
46623
46624
46625
46626
46627
46628
46629
46630
46631
46632
46633
46634
46635
46636
46637
46638
46639
46640
46641
46642
46643
46644
46645
46646
46647
46648
46649
46650
46651
46652
46653
46654
46655
46656
46657
46658
46659
46660
46661
46662
46663
46664
46665
46666
46667
46668
46669
46670
46671
46672
46673
46674
46675
46676
46677
46678
46679
46680
46681
46682
46683
46684
46685
46686
46687
46688
46689
46690
46691
46692
46693
46694
46695
46696
46697
46698
46699
46700
46701
46702
46703
46704
46705
46706
46707
46708
46709
46710
46711
46712
46713
46714
46715
46716
46717
46718
46719
46720
46721
46722
46723
46724
46725
46726
46727
46728
46729
46730
46731
46732
46733
46734
46735
46736
46737
46738
46739
46740
46741
46742
46743
46744
46745
46746
46747
46748
46749
46750
46751
46752
46753
46754
46755
46756
46757
46758
46759
46760
46761
46762
46763
46764
46765
46766
46767
46768
46769
46770
46771
46772
46773
46774
46775
46776
46777
46778
46779
46780
46781
46782
46783
46784
46785
46786
46787
46788
46789
46790
46791
46792
46793
46794
46795
46796
46797
46798
46799
46800
46801
46802
46803
46804
46805
46806
46807
46808
46809
46810
46811
46812
46813
46814
46815
46816
46817
46818
46819
46820
46821
46822
46823
46824
46825
46826
46827
46828
46829
46830
46831
46832
46833
46834
46835
46836
46837
46838
46839
46840
46841
46842
46843
46844
46845
46846
46847
46848
46849
46850
46851
46852
46853
46854
46855
46856
46857
46858
46859
46860
46861
46862
46863
46864
46865
46866
46867
46868
46869
46870
46871
46872
46873
46874
46875
46876
46877
46878
46879
46880
46881
46882
46883
46884
46885
46886
46887
46888
46889
46890
46891
46892
46893
46894
46895
46896
46897
46898
46899
46900
46901
46902
46903
46904
46905
46906
46907
46908
46909
46910
46911
46912
46913
46914
46915
46916
46917
46918
46919
46920
46921
46922
46923
46924
46925
46926
46927
46928
46929
46930
46931
46932
46933
46934
46935
46936
46937
46938
46939
46940
46941
46942
46943
46944
46945
46946
46947
46948
46949
46950
46951
46952
46953
46954
46955
46956
46957
46958
46959
46960
46961
46962
46963
46964
46965
46966
46967
46968
46969
46970
46971
46972
46973
46974
46975
46976
46977
46978
46979
46980
46981
46982
46983
46984
46985
46986
46987
46988
46989
46990
46991
46992
46993
46994
46995
46996
46997
46998
46999
47000
47001
47002
47003
47004
47005
47006
47007
47008
47009
47010
47011
47012
47013
47014
47015
47016
47017
47018
47019
47020
47021
47022
47023
47024
47025
47026
47027
47028
47029
47030
47031
47032
47033
47034
47035
47036
47037
47038
47039
47040
47041
47042
47043
47044
47045
47046
47047
47048
47049
47050
47051
47052
47053
47054
47055
47056
47057
47058
47059
47060
47061
47062
47063
47064
47065
47066
47067
47068
47069
47070
47071
47072
47073
47074
47075
47076
47077
47078
47079
47080
47081
47082
47083
47084
47085
47086
47087
47088
47089
47090
47091
47092
47093
47094
47095
47096
47097
47098
47099
47100
47101
47102
47103
47104
47105
47106
47107
47108
47109
47110
47111
47112
47113
47114
47115
47116
47117
47118
47119
47120
47121
47122
47123
47124
47125
47126
47127
47128
47129
47130
47131
47132
47133
47134
47135
47136
47137
47138
47139
47140
47141
47142
47143
47144
47145
47146
47147
47148
47149
47150
47151
47152
47153
47154
47155
47156
47157
47158
47159
47160
47161
47162
47163
47164
47165
47166
47167
47168
47169
47170
47171
47172
47173
47174
47175
47176
47177
47178
47179
47180
47181
47182
47183
47184
47185
47186
47187
47188
47189
47190
47191
47192
47193
47194
47195
47196
47197
47198
47199
47200
47201
47202
47203
47204
47205
47206
47207
47208
47209
47210
47211
47212
47213
47214
47215
47216
47217
47218
47219
47220
47221
47222
47223
47224
47225
47226
47227
47228
47229
47230
47231
47232
47233
47234
47235
47236
47237
47238
47239
47240
47241
47242
47243
47244
47245
47246
47247
47248
47249
47250
47251
47252
47253
47254
47255
47256
47257
47258
47259
47260
47261
47262
47263
47264
47265
47266
47267
47268
47269
47270
47271
47272
47273
47274
47275
47276
47277
47278
47279
47280
47281
47282
47283
47284
47285
47286
47287
47288
47289
47290
47291
47292
47293
47294
47295
47296
47297
47298
47299
47300
47301
47302
47303
47304
47305
47306
47307
47308
47309
47310
47311
47312
47313
47314
47315
47316
47317
47318
47319
47320
47321
47322
47323
47324
47325
47326
47327
47328
47329
47330
47331
47332
47333
47334
47335
47336
47337
47338
47339
47340
47341
47342
47343
47344
47345
47346
47347
47348
47349
47350
47351
47352
47353
47354
47355
47356
47357
47358
47359
47360
47361
47362
47363
47364
47365
47366
47367
47368
47369
47370
47371
47372
47373
47374
47375
47376
47377
47378
47379
47380
47381
47382
47383
47384
47385
47386
47387
47388
47389
47390
47391
47392
47393
47394
47395
47396
47397
47398
47399
47400
47401
47402
47403
47404
47405
47406
47407
47408
47409
47410
47411
47412
47413
47414
47415
47416
47417
47418
47419
47420
47421
47422
47423
47424
47425
47426
47427
47428
47429
47430
47431
47432
47433
47434
47435
47436
47437
47438
47439
47440
47441
47442
47443
47444
47445
47446
47447
47448
47449
47450
47451
47452
47453
47454
47455
47456
47457
47458
47459
47460
47461
47462
47463
47464
47465
47466
47467
47468
47469
47470
47471
47472
47473
47474
47475
47476
47477
47478
47479
47480
47481
47482
47483
47484
47485
47486
47487
47488
47489
47490
47491
47492
47493
47494
47495
47496
47497
47498
47499
47500
47501
47502
47503
47504
47505
47506
47507
47508
47509
47510
47511
47512
47513
47514
47515
47516
47517
47518
47519
47520
47521
47522
47523
47524
47525
47526
47527
47528
47529
47530
47531
47532
47533
47534
47535
47536
47537
47538
47539
47540
47541
47542
47543
47544
47545
47546
47547
47548
47549
47550
47551
47552
47553
47554
47555
47556
47557
47558
47559
47560
47561
47562
47563
47564
47565
47566
47567
47568
47569
47570
47571
47572
47573
47574
47575
47576
47577
47578
47579
47580
47581
47582
47583
47584
47585
47586
47587
47588
47589
47590
47591
47592
47593
47594
47595
47596
47597
47598
47599
47600
47601
47602
47603
47604
47605
47606
47607
47608
47609
47610
47611
47612
47613
47614
47615
47616
47617
47618
47619
47620
47621
47622
47623
47624
47625
47626
47627
47628
47629
47630
47631
47632
47633
47634
47635
47636
47637
47638
47639
47640
47641
47642
47643
47644
47645
47646
47647
47648
47649
47650
47651
47652
47653
47654
47655
47656
47657
47658
47659
47660
47661
47662
47663
47664
47665
47666
47667
47668
47669
47670
47671
47672
47673
47674
47675
47676
47677
47678
47679
47680
47681
47682
47683
47684
47685
47686
47687
47688
47689
47690
47691
47692
47693
47694
47695
47696
47697
47698
47699
47700
47701
47702
47703
47704
47705
47706
47707
47708
47709
47710
47711
47712
47713
47714
47715
47716
47717
47718
47719
47720
47721
47722
47723
47724
47725
47726
47727
47728
47729
47730
47731
47732
47733
47734
47735
47736
47737
47738
47739
47740
47741
47742
47743
47744
47745
47746
47747
47748
47749
47750
47751
47752
47753
47754
47755
47756
47757
47758
47759
47760
47761
47762
47763
47764
47765
47766
47767
47768
47769
47770
47771
47772
47773
47774
47775
47776
47777
47778
47779
47780
47781
47782
47783
47784
47785
47786
47787
47788
47789
47790
47791
47792
47793
47794
47795
47796
47797
47798
47799
47800
47801
47802
47803
47804
47805
47806
47807
47808
47809
47810
47811
47812
47813
47814
47815
47816
47817
47818
47819
47820
47821
47822
47823
47824
47825
47826
47827
47828
47829
47830
47831
47832
47833
47834
47835
47836
47837
47838
47839
47840
47841
47842
47843
47844
47845
47846
47847
47848
47849
47850
47851
47852
47853
47854
47855
47856
47857
47858
47859
47860
47861
47862
47863
47864
47865
47866
47867
47868
47869
47870
47871
47872
47873
47874
47875
47876
47877
47878
47879
47880
47881
47882
47883
47884
47885
47886
47887
47888
47889
47890
47891
47892
47893
47894
47895
47896
47897
47898
47899
47900
47901
47902
47903
47904
47905
47906
47907
47908
47909
47910
47911
47912
47913
47914
47915
47916
47917
47918
47919
47920
47921
47922
47923
47924
47925
47926
47927
47928
47929
47930
47931
47932
47933
47934
47935
47936
47937
47938
47939
47940
47941
47942
47943
47944
47945
47946
47947
47948
47949
47950
47951
47952
47953
47954
47955
47956
47957
47958
47959
47960
47961
47962
47963
47964
47965
47966
47967
47968
47969
47970
47971
47972
47973
47974
47975
47976
47977
47978
47979
47980
47981
47982
47983
47984
47985
47986
47987
47988
47989
47990
47991
47992
47993
47994
47995
47996
47997
47998
47999
48000
48001
48002
48003
48004
48005
48006
48007
48008
48009
48010
48011
48012
48013
48014
48015
48016
48017
48018
48019
48020
48021
48022
48023
48024
48025
48026
48027
48028
48029
48030
48031
48032
48033
48034
48035
48036
48037
48038
48039
48040
48041
48042
48043
48044
48045
48046
48047
48048
48049
48050
48051
48052
48053
48054
48055
48056
48057
48058
48059
48060
48061
48062
48063
48064
48065
48066
48067
48068
48069
48070
48071
48072
48073
48074
48075
48076
48077
48078
48079
48080
48081
48082
48083
48084
48085
48086
48087
48088
48089
48090
48091
48092
48093
48094
48095
48096
48097
48098
48099
48100
48101
48102
48103
48104
48105
48106
48107
48108
48109
48110
48111
48112
48113
48114
48115
48116
48117
48118
48119
48120
48121
48122
48123
48124
48125
48126
48127
48128
48129
48130
48131
48132
48133
48134
48135
48136
48137
48138
48139
48140
48141
48142
48143
48144
48145
48146
48147
48148
48149
48150
48151
48152
48153
48154
48155
48156
48157
48158
48159
48160
48161
48162
48163
48164
48165
48166
48167
48168
48169
48170
48171
48172
48173
48174
48175
48176
48177
48178
48179
48180
48181
48182
48183
48184
48185
48186
48187
48188
48189
48190
48191
48192
48193
48194
48195
48196
48197
48198
48199
48200
48201
48202
48203
48204
48205
48206
48207
48208
48209
48210
48211
48212
48213
48214
48215
48216
48217
48218
48219
48220
48221
48222
48223
48224
48225
48226
48227
48228
48229
48230
48231
48232
48233
48234
48235
48236
48237
48238
48239
48240
48241
48242
48243
48244
48245
48246
48247
48248
48249
48250
48251
48252
48253
48254
48255
48256
48257
48258
48259
48260
48261
48262
48263
48264
48265
48266
48267
48268
48269
48270
48271
48272
48273
48274
48275
48276
48277
48278
48279
48280
48281
48282
48283
48284
48285
48286
48287
48288
48289
48290
48291
48292
48293
48294
48295
48296
48297
48298
48299
48300
48301
48302
48303
48304
48305
48306
48307
48308
48309
48310
48311
48312
48313
48314
48315
48316
48317
48318
48319
48320
48321
48322
48323
48324
48325
48326
48327
48328
48329
48330
48331
48332
48333
48334
48335
48336
48337
48338
48339
48340
48341
48342
48343
48344
48345
48346
48347
48348
48349
48350
48351
48352
48353
48354
48355
48356
48357
48358
48359
48360
48361
48362
48363
48364
48365
48366
48367
48368
48369
48370
48371
48372
48373
48374
48375
48376
48377
48378
48379
48380
48381
48382
48383
48384
48385
48386
48387
48388
48389
48390
48391
48392
48393
48394
48395
48396
48397
48398
48399
48400
48401
48402
48403
48404
48405
48406
48407
48408
48409
48410
48411
48412
48413
48414
48415
48416
48417
48418
48419
48420
48421
48422
48423
48424
48425
48426
48427
48428
48429
48430
48431
48432
48433
48434
48435
48436
48437
48438
48439
48440
48441
48442
48443
48444
48445
48446
48447
48448
48449
48450
48451
48452
48453
48454
48455
48456
48457
48458
48459
48460
48461
48462
48463
48464
48465
48466
48467
48468
48469
48470
48471
48472
48473
48474
48475
48476
48477
48478
48479
48480
48481
48482
48483
48484
48485
48486
48487
48488
48489
48490
48491
48492
48493
48494
48495
48496
48497
48498
48499
48500
48501
48502
48503
48504
48505
48506
48507
48508
48509
48510
48511
48512
48513
48514
48515
48516
48517
48518
48519
48520
48521
48522
48523
48524
48525
48526
48527
48528
48529
48530
48531
48532
48533
48534
48535
48536
48537
48538
48539
48540
48541
48542
48543
48544
48545
48546
48547
48548
48549
48550
48551
48552
48553
48554
48555
48556
48557
48558
48559
48560
48561
48562
48563
48564
48565
48566
48567
48568
48569
48570
48571
48572
48573
48574
48575
48576
48577
48578
48579
48580
48581
48582
48583
48584
48585
48586
48587
48588
48589
48590
48591
48592
48593
48594
48595
48596
48597
48598
48599
48600
48601
48602
48603
48604
48605
48606
48607
48608
48609
48610
48611
48612
48613
48614
48615
48616
48617
48618
48619
48620
48621
48622
48623
48624
48625
48626
48627
48628
48629
48630
48631
48632
48633
48634
48635
48636
48637
48638
48639
48640
48641
48642
48643
48644
48645
48646
48647
48648
48649
48650
48651
48652
48653
48654
48655
48656
48657
48658
48659
48660
48661
48662
48663
48664
48665
48666
48667
48668
48669
48670
48671
48672
48673
48674
48675
48676
48677
48678
48679
48680
48681
48682
48683
48684
48685
48686
48687
48688
48689
48690
48691
48692
48693
48694
48695
48696
48697
48698
48699
48700
48701
48702
48703
48704
48705
48706
48707
48708
48709
48710
48711
48712
48713
48714
48715
48716
48717
48718
48719
48720
48721
48722
48723
48724
48725
48726
48727
48728
48729
48730
48731
48732
48733
48734
48735
48736
48737
48738
48739
48740
48741
48742
48743
48744
48745
48746
48747
48748
48749
48750
48751
48752
48753
48754
48755
48756
48757
48758
48759
48760
48761
48762
48763
48764
48765
48766
48767
48768
48769
48770
48771
48772
48773
48774
48775
48776
48777
48778
48779
48780
48781
48782
48783
48784
48785
48786
48787
48788
48789
48790
48791
48792
48793
48794
48795
48796
48797
48798
48799
48800
48801
48802
48803
48804
48805
48806
48807
48808
48809
48810
48811
48812
48813
48814
48815
48816
48817
48818
48819
48820
48821
48822
48823
48824
48825
48826
48827
48828
48829
48830
48831
48832
48833
48834
48835
48836
48837
48838
48839
48840
48841
48842
48843
48844
48845
48846
48847
48848
48849
48850
48851
48852
48853
48854
48855
48856
48857
48858
48859
48860
48861
48862
48863
48864
48865
48866
48867
48868
48869
48870
48871
48872
48873
48874
48875
48876
48877
48878
48879
48880
48881
48882
48883
48884
48885
48886
48887
48888
48889
48890
48891
48892
48893
48894
48895
48896
48897
48898
48899
48900
48901
48902
48903
48904
48905
48906
48907
48908
48909
48910
48911
48912
48913
48914
48915
48916
48917
48918
48919
48920
48921
48922
48923
48924
48925
48926
48927
48928
48929
48930
48931
48932
48933
48934
48935
48936
48937
48938
48939
48940
48941
48942
48943
48944
48945
48946
48947
48948
48949
48950
48951
48952
48953
48954
48955
48956
48957
48958
48959
48960
48961
48962
48963
48964
48965
48966
48967
48968
48969
48970
48971
48972
48973
48974
48975
48976
48977
48978
48979
48980
48981
48982
48983
48984
48985
48986
48987
48988
48989
48990
48991
48992
48993
48994
48995
48996
48997
48998
48999
49000
49001
49002
49003
49004
49005
49006
49007
49008
49009
49010
49011
49012
49013
49014
49015
49016
49017
49018
49019
49020
49021
49022
49023
49024
49025
49026
49027
49028
49029
49030
49031
49032
49033
49034
49035
49036
49037
49038
49039
49040
49041
49042
49043
49044
49045
49046
49047
49048
49049
49050
49051
49052
49053
49054
49055
49056
49057
49058
49059
49060
49061
49062
49063
49064
49065
49066
49067
49068
49069
49070
49071
49072
49073
49074
49075
49076
49077
49078
49079
49080
49081
49082
49083
49084
49085
49086
49087
49088
49089
49090
49091
49092
49093
49094
49095
49096
49097
49098
49099
49100
49101
49102
49103
49104
49105
49106
49107
49108
49109
49110
49111
49112
49113
49114
49115
49116
49117
49118
49119
49120
49121
49122
49123
49124
49125
49126
49127
49128
49129
49130
49131
49132
49133
49134
49135
49136
49137
49138
49139
49140
49141
49142
49143
49144
49145
49146
49147
49148
49149
49150
49151
49152
49153
49154
49155
49156
49157
49158
49159
49160
49161
49162
49163
49164
49165
49166
49167
49168
49169
49170
49171
49172
49173
49174
49175
49176
49177
49178
49179
49180
49181
49182
49183
49184
49185
49186
49187
49188
49189
49190
49191
49192
49193
49194
49195
49196
49197
49198
49199
49200
49201
49202
49203
49204
49205
49206
49207
49208
49209
49210
49211
49212
49213
49214
49215
49216
49217
49218
49219
49220
49221
49222
49223
49224
49225
49226
49227
49228
49229
49230
49231
49232
49233
49234
49235
49236
49237
49238
49239
49240
49241
49242
49243
49244
49245
49246
49247
49248
49249
49250
49251
49252
49253
49254
49255
49256
49257
49258
49259
49260
49261
49262
49263
49264
49265
49266
49267
49268
49269
49270
49271
49272
49273
49274
49275
49276
49277
49278
49279
49280
49281
49282
49283
49284
49285
49286
49287
49288
49289
49290
49291
49292
49293
49294
49295
49296
49297
49298
49299
49300
49301
49302
49303
49304
49305
49306
49307
49308
49309
49310
49311
49312
49313
49314
49315
49316
49317
49318
49319
49320
49321
49322
49323
49324
49325
49326
49327
49328
49329
49330
49331
49332
49333
49334
49335
49336
49337
49338
49339
49340
49341
49342
49343
49344
49345
49346
49347
49348
49349
49350
49351
49352
49353
49354
49355
49356
49357
49358
49359
49360
49361
49362
49363
49364
49365
49366
49367
49368
49369
49370
49371
49372
49373
49374
49375
49376
49377
49378
49379
49380
49381
49382
49383
49384
49385
49386
49387
49388
49389
49390
49391
49392
49393
49394
49395
49396
49397
49398
49399
49400
49401
49402
49403
49404
49405
49406
49407
49408
49409
49410
49411
49412
49413
49414
49415
49416
49417
49418
49419
49420
49421
49422
49423
49424
49425
49426
49427
49428
49429
49430
49431
49432
49433
49434
49435
49436
49437
49438
49439
49440
49441
49442
49443
49444
49445
49446
49447
49448
49449
49450
49451
49452
49453
49454
49455
49456
49457
49458
49459
49460
49461
49462
49463
49464
49465
49466
49467
49468
49469
49470
49471
49472
49473
49474
49475
49476
49477
49478
49479
49480
49481
49482
49483
49484
49485
49486
49487
49488
49489
49490
49491
49492
49493
49494
49495
49496
49497
49498
49499
49500
49501
49502
49503
49504
49505
49506
49507
49508
49509
49510
49511
49512
49513
49514
49515
49516
49517
49518
49519
49520
49521
49522
49523
49524
49525
49526
49527
49528
49529
49530
49531
49532
49533
49534
49535
49536
49537
49538
49539
49540
49541
49542
49543
49544
49545
49546
49547
49548
49549
49550
49551
49552
49553
49554
49555
49556
49557
49558
49559
49560
49561
49562
49563
49564
49565
49566
49567
49568
49569
49570
49571
49572
49573
49574
49575
49576
49577
49578
49579
49580
49581
49582
49583
49584
49585
49586
49587
49588
49589
49590
49591
49592
49593
49594
49595
49596
49597
49598
49599
49600
49601
49602
49603
49604
49605
49606
49607
49608
49609
49610
49611
49612
49613
49614
49615
49616
49617
49618
49619
49620
49621
49622
49623
49624
49625
49626
49627
49628
49629
49630
49631
49632
49633
49634
49635
49636
49637
49638
49639
49640
49641
49642
49643
49644
49645
49646
49647
49648
49649
49650
49651
49652
49653
49654
49655
49656
49657
49658
49659
49660
49661
49662
49663
49664
49665
49666
49667
49668
49669
49670
49671
49672
49673
49674
49675
49676
49677
49678
49679
49680
49681
49682
49683
49684
49685
49686
49687
49688
49689
49690
49691
49692
49693
49694
49695
49696
49697
49698
49699
49700
49701
49702
49703
49704
49705
49706
49707
49708
49709
49710
49711
49712
49713
49714
49715
49716
49717
49718
49719
49720
49721
49722
49723
49724
49725
49726
49727
49728
49729
49730
49731
49732
49733
49734
49735
49736
49737
49738
49739
49740
49741
49742
49743
49744
49745
49746
49747
49748
49749
49750
49751
49752
49753
49754
49755
49756
49757
49758
49759
49760
49761
49762
49763
49764
49765
49766
49767
49768
49769
49770
49771
49772
49773
49774
49775
49776
49777
49778
49779
49780
49781
49782
49783
49784
49785
49786
49787
49788
49789
49790
49791
49792
49793
49794
49795
49796
49797
49798
49799
49800
49801
49802
49803
49804
49805
49806
49807
49808
49809
49810
49811
49812
49813
49814
49815
49816
49817
49818
49819
49820
49821
49822
49823
49824
49825
49826
49827
49828
49829
49830
49831
49832
49833
49834
49835
49836
49837
49838
49839
49840
49841
49842
49843
49844
49845
49846
49847
49848
49849
49850
49851
49852
49853
49854
49855
49856
49857
49858
49859
49860
49861
49862
49863
49864
49865
49866
49867
49868
49869
49870
49871
49872
49873
49874
49875
49876
49877
49878
49879
49880
49881
49882
49883
49884
49885
49886
49887
49888
49889
49890
49891
49892
49893
49894
49895
49896
49897
49898
49899
49900
49901
49902
49903
49904
49905
49906
49907
49908
49909
49910
49911
49912
49913
49914
49915
49916
49917
49918
49919
49920
49921
49922
49923
49924
49925
49926
49927
49928
49929
49930
49931
49932
49933
49934
49935
49936
49937
49938
49939
49940
49941
49942
49943
49944
49945
49946
49947
49948
49949
49950
49951
49952
49953
49954
49955
49956
49957
49958
49959
49960
49961
49962
49963
49964
49965
49966
49967
49968
49969
49970
49971
49972
49973
49974
49975
49976
49977
49978
49979
49980
49981
49982
49983
49984
49985
49986
49987
49988
49989
49990
49991
49992
49993
49994
49995
49996
49997
49998
49999
50000
50001
50002
50003
50004
50005
50006
50007
50008
50009
50010
50011
50012
50013
50014
50015
50016
50017
50018
50019
50020
50021
50022
50023
50024
50025
50026
50027
50028
50029
50030
50031
50032
50033
50034
50035
50036
50037
50038
50039
50040
50041
50042
50043
50044
50045
50046
50047
50048
50049
50050
50051
50052
50053
50054
50055
50056
50057
50058
50059
50060
50061
50062
50063
50064
50065
50066
50067
50068
50069
50070
50071
50072
50073
50074
50075
50076
50077
50078
50079
50080
50081
50082
50083
50084
50085
50086
50087
50088
50089
50090
50091
50092
50093
50094
50095
50096
50097
50098
50099
50100
50101
50102
50103
50104
50105
50106
50107
50108
50109
50110
50111
50112
50113
50114
50115
50116
50117
50118
50119
50120
50121
50122
50123
50124
50125
50126
50127
50128
50129
50130
50131
50132
50133
50134
50135
50136
50137
50138
50139
50140
50141
50142
50143
50144
50145
50146
50147
50148
50149
50150
50151
50152
50153
50154
50155
50156
50157
50158
50159
50160
50161
50162
50163
50164
50165
50166
50167
50168
50169
50170
50171
50172
50173
50174
50175
50176
50177
50178
50179
50180
50181
50182
50183
50184
50185
50186
50187
50188
50189
50190
50191
50192
50193
50194
50195
50196
50197
50198
50199
50200
50201
50202
50203
50204
50205
50206
50207
50208
50209
50210
50211
50212
50213
50214
50215
50216
50217
50218
50219
50220
50221
50222
50223
50224
50225
50226
50227
50228
50229
50230
50231
50232
50233
50234
50235
50236
50237
50238
50239
50240
50241
50242
50243
50244
50245
50246
50247
50248
50249
50250
50251
50252
50253
50254
50255
50256
50257
50258
50259
50260
50261
50262
50263
50264
50265
50266
50267
50268
50269
50270
50271
50272
50273
50274
50275
50276
50277
50278
50279
50280
50281
50282
50283
50284
50285
50286
50287
50288
50289
50290
50291
50292
50293
50294
50295
50296
50297
50298
50299
50300
50301
50302
50303
50304
50305
50306
50307
50308
50309
50310
50311
50312
50313
50314
50315
50316
50317
50318
50319
50320
50321
50322
50323
50324
50325
50326
50327
50328
50329
50330
50331
50332
50333
50334
50335
50336
50337
50338
50339
50340
50341
50342
50343
50344
50345
50346
50347
50348
50349
50350
50351
50352
50353
50354
50355
50356
50357
50358
50359
50360
50361
50362
50363
50364
50365
50366
50367
50368
50369
50370
50371
50372
50373
50374
50375
50376
50377
50378
50379
50380
50381
50382
50383
50384
50385
50386
50387
50388
50389
50390
50391
50392
50393
50394
50395
50396
50397
50398
50399
50400
50401
50402
50403
50404
50405
50406
50407
50408
50409
50410
50411
50412
50413
50414
50415
50416
50417
50418
50419
50420
50421
50422
50423
50424
50425
50426
50427
50428
50429
50430
50431
50432
50433
50434
50435
50436
50437
50438
50439
50440
50441
50442
50443
50444
50445
50446
50447
50448
50449
50450
50451
50452
50453
50454
50455
50456
50457
50458
50459
50460
50461
50462
50463
50464
50465
50466
50467
50468
50469
50470
50471
50472
50473
50474
50475
50476
50477
50478
50479
50480
50481
50482
50483
50484
50485
50486
50487
50488
50489
50490
50491
50492
50493
50494
50495
50496
50497
50498
50499
50500
50501
50502
50503
50504
50505
50506
50507
50508
50509
50510
50511
50512
50513
50514
50515
50516
50517
50518
50519
50520
50521
50522
50523
50524
50525
50526
50527
50528
50529
50530
50531
50532
50533
50534
50535
50536
50537
50538
50539
50540
50541
50542
50543
50544
50545
50546
50547
50548
50549
50550
50551
50552
50553
50554
50555
50556
50557
50558
50559
50560
50561
50562
50563
50564
50565
50566
50567
50568
50569
50570
50571
50572
50573
50574
50575
50576
50577
50578
50579
50580
50581
50582
50583
50584
50585
50586
50587
50588
50589
50590
50591
50592
50593
50594
50595
50596
50597
50598
50599
50600
50601
50602
50603
50604
50605
50606
50607
50608
50609
50610
50611
50612
50613
50614
50615
50616
50617
50618
50619
50620
50621
50622
50623
50624
50625
50626
50627
50628
50629
50630
50631
50632
50633
50634
50635
50636
50637
50638
50639
50640
50641
50642
50643
50644
50645
50646
50647
50648
50649
50650
50651
50652
50653
50654
50655
50656
50657
50658
50659
50660
50661
50662
50663
50664
50665
50666
50667
50668
50669
50670
50671
50672
50673
50674
50675
50676
50677
50678
50679
50680
50681
50682
50683
50684
50685
50686
50687
50688
50689
50690
50691
50692
50693
50694
50695
50696
50697
50698
50699
50700
50701
50702
50703
50704
50705
50706
50707
50708
50709
50710
50711
50712
50713
50714
50715
50716
50717
50718
50719
50720
50721
50722
50723
50724
50725
50726
50727
50728
50729
50730
50731
50732
50733
50734
50735
50736
50737
50738
50739
50740
50741
50742
50743
50744
50745
50746
50747
50748
50749
50750
50751
50752
50753
50754
50755
50756
50757
50758
50759
50760
50761
50762
50763
50764
50765
50766
50767
50768
50769
50770
50771
50772
50773
50774
50775
50776
50777
50778
50779
50780
50781
50782
50783
50784
50785
50786
50787
50788
50789
50790
50791
50792
50793
50794
50795
50796
50797
50798
50799
50800
50801
50802
50803
50804
50805
50806
50807
50808
50809
50810
50811
50812
50813
50814
50815
50816
50817
50818
50819
50820
50821
50822
50823
50824
50825
50826
50827
50828
50829
50830
50831
50832
50833
50834
50835
50836
50837
50838
50839
50840
50841
50842
50843
50844
50845
50846
50847
50848
50849
50850
50851
50852
50853
50854
50855
50856
50857
50858
50859
50860
50861
50862
50863
50864
50865
50866
50867
50868
50869
50870
50871
50872
50873
50874
50875
50876
50877
50878
50879
50880
50881
50882
50883
50884
50885
50886
50887
50888
50889
50890
50891
50892
50893
50894
50895
50896
50897
50898
50899
50900
50901
50902
50903
50904
50905
50906
50907
50908
50909
50910
50911
50912
50913
50914
50915
50916
50917
50918
50919
50920
50921
50922
50923
50924
50925
50926
50927
50928
50929
50930
50931
50932
50933
50934
50935
50936
50937
50938
50939
50940
50941
50942
50943
50944
50945
50946
50947
50948
50949
50950
50951
50952
50953
50954
50955
50956
50957
50958
50959
50960
50961
50962
50963
50964
50965
50966
50967
50968
50969
50970
50971
50972
50973
50974
50975
50976
50977
50978
50979
50980
50981
50982
50983
50984
50985
50986
50987
50988
50989
50990
50991
50992
50993
50994
50995
50996
50997
50998
50999
51000
51001
51002
51003
51004
51005
51006
51007
51008
51009
51010
51011
51012
51013
51014
51015
51016
51017
51018
51019
51020
51021
51022
51023
51024
51025
51026
51027
51028
51029
51030
51031
51032
51033
51034
51035
51036
51037
51038
51039
51040
51041
51042
51043
51044
51045
51046
51047
51048
51049
51050
51051
51052
51053
51054
51055
51056
51057
51058
51059
51060
51061
51062
51063
51064
51065
51066
51067
51068
51069
51070
51071
51072
51073
51074
51075
51076
51077
51078
51079
51080
51081
51082
51083
51084
51085
51086
51087
51088
51089
51090
51091
51092
51093
51094
51095
51096
51097
51098
51099
51100
51101
51102
51103
51104
51105
51106
51107
51108
51109
51110
51111
51112
51113
51114
51115
51116
51117
51118
51119
51120
51121
51122
51123
51124
51125
51126
51127
51128
51129
51130
51131
51132
51133
51134
51135
51136
51137
51138
51139
51140
51141
51142
51143
51144
51145
51146
51147
51148
51149
51150
51151
51152
51153
51154
51155
51156
51157
51158
51159
51160
51161
51162
51163
51164
51165
51166
51167
51168
51169
51170
51171
51172
51173
51174
51175
51176
51177
51178
51179
51180
51181
51182
51183
51184
51185
51186
51187
51188
51189
51190
51191
51192
51193
51194
51195
51196
51197
51198
51199
51200
51201
51202
51203
51204
51205
51206
51207
51208
51209
51210
51211
51212
51213
51214
51215
51216
51217
51218
51219
51220
51221
51222
51223
51224
51225
51226
51227
51228
51229
51230
51231
51232
51233
51234
51235
51236
51237
51238
51239
51240
51241
51242
51243
51244
51245
51246
51247
51248
51249
51250
51251
51252
51253
51254
51255
51256
51257
51258
51259
51260
51261
51262
51263
51264
51265
51266
51267
51268
51269
51270
51271
51272
51273
51274
51275
51276
51277
51278
51279
51280
51281
51282
51283
51284
51285
51286
51287
51288
51289
51290
51291
51292
51293
51294
51295
51296
51297
51298
51299
51300
51301
51302
51303
51304
51305
51306
51307
51308
51309
51310
51311
51312
51313
51314
51315
51316
51317
51318
51319
51320
51321
51322
51323
51324
51325
51326
51327
51328
51329
51330
51331
51332
51333
51334
51335
51336
51337
51338
51339
51340
51341
51342
51343
51344
51345
51346
51347
51348
51349
51350
51351
51352
51353
51354
51355
51356
51357
51358
51359
51360
51361
51362
51363
51364
51365
51366
51367
51368
51369
51370
51371
51372
51373
51374
51375
51376
51377
51378
51379
51380
51381
51382
51383
51384
51385
51386
51387
51388
51389
51390
51391
51392
51393
51394
51395
51396
51397
51398
51399
51400
51401
51402
51403
51404
51405
51406
51407
51408
51409
51410
51411
51412
51413
51414
51415
51416
51417
51418
51419
51420
51421
51422
51423
51424
51425
51426
51427
51428
51429
51430
51431
51432
51433
51434
51435
51436
51437
51438
51439
51440
51441
51442
51443
51444
51445
51446
51447
51448
51449
51450
51451
51452
51453
51454
51455
51456
51457
51458
51459
51460
51461
51462
51463
51464
51465
51466
51467
51468
51469
51470
51471
51472
51473
51474
51475
51476
51477
51478
51479
51480
51481
51482
51483
51484
51485
51486
51487
51488
51489
51490
51491
51492
51493
51494
51495
51496
51497
51498
51499
51500
51501
51502
51503
51504
51505
51506
51507
51508
51509
51510
51511
51512
51513
51514
51515
51516
51517
51518
51519
51520
51521
51522
51523
51524
51525
51526
51527
51528
51529
51530
51531
51532
51533
51534
51535
51536
51537
51538
51539
51540
51541
51542
51543
51544
51545
51546
51547
51548
51549
51550
51551
51552
51553
51554
51555
51556
51557
51558
51559
51560
51561
51562
51563
51564
51565
51566
51567
51568
51569
51570
51571
51572
51573
51574
51575
51576
51577
51578
51579
51580
51581
51582
51583
51584
51585
51586
51587
51588
51589
51590
51591
51592
51593
51594
51595
51596
51597
51598
51599
51600
51601
51602
51603
51604
51605
51606
51607
51608
51609
51610
51611
51612
51613
51614
51615
51616
51617
51618
51619
51620
51621
51622
51623
51624
51625
51626
51627
51628
51629
51630
51631
51632
51633
51634
51635
51636
51637
51638
51639
51640
51641
51642
51643
51644
51645
51646
51647
51648
51649
51650
51651
51652
51653
51654
51655
51656
51657
51658
51659
51660
51661
51662
51663
51664
51665
51666
51667
51668
51669
51670
51671
51672
51673
51674
51675
51676
51677
51678
51679
51680
51681
51682
51683
51684
51685
51686
51687
51688
51689
51690
51691
51692
51693
51694
51695
51696
51697
51698
51699
51700
51701
51702
51703
51704
51705
51706
51707
51708
51709
51710
51711
51712
51713
51714
51715
51716
51717
51718
51719
51720
51721
51722
51723
51724
51725
51726
51727
51728
51729
51730
51731
51732
51733
51734
51735
51736
51737
51738
51739
51740
51741
51742
51743
51744
51745
51746
51747
51748
51749
51750
51751
51752
51753
51754
51755
51756
51757
51758
51759
51760
51761
51762
51763
51764
51765
51766
51767
51768
51769
51770
51771
51772
51773
51774
51775
51776
51777
51778
51779
51780
51781
51782
51783
51784
51785
51786
51787
51788
51789
51790
51791
51792
51793
51794
51795
51796
51797
51798
51799
51800
51801
51802
51803
51804
51805
51806
51807
51808
51809
51810
51811
51812
51813
51814
51815
51816
51817
51818
51819
51820
51821
51822
51823
51824
51825
51826
51827
51828
51829
51830
51831
51832
51833
51834
51835
51836
51837
51838
51839
51840
51841
51842
51843
51844
51845
51846
51847
51848
51849
51850
51851
51852
51853
51854
51855
51856
51857
51858
51859
51860
51861
51862
51863
51864
51865
51866
51867
51868
51869
51870
51871
51872
51873
51874
51875
51876
51877
51878
51879
51880
51881
51882
51883
51884
51885
51886
51887
51888
51889
51890
51891
51892
51893
51894
51895
51896
51897
51898
51899
51900
51901
51902
51903
51904
51905
51906
51907
51908
51909
51910
51911
51912
51913
51914
51915
51916
51917
51918
51919
51920
51921
51922
51923
51924
51925
51926
51927
51928
51929
51930
51931
51932
51933
51934
51935
51936
51937
51938
51939
51940
51941
51942
51943
51944
51945
51946
51947
51948
51949
51950
51951
51952
51953
51954
51955
51956
51957
51958
51959
51960
51961
51962
51963
51964
51965
51966
51967
51968
51969
51970
51971
51972
51973
51974
51975
51976
51977
51978
51979
51980
51981
51982
51983
51984
51985
51986
51987
51988
51989
51990
51991
51992
51993
51994
51995
51996
51997
51998
51999
52000
52001
52002
52003
52004
52005
52006
52007
52008
52009
52010
52011
52012
52013
52014
52015
52016
52017
52018
52019
52020
52021
52022
52023
52024
52025
52026
52027
52028
52029
52030
52031
52032
52033
52034
52035
52036
52037
52038
52039
52040
52041
52042
52043
52044
52045
52046
52047
52048
52049
52050
52051
52052
52053
52054
52055
52056
52057
52058
52059
52060
52061
52062
52063
52064
52065
52066
52067
52068
52069
52070
52071
52072
52073
52074
52075
52076
52077
52078
52079
52080
52081
52082
52083
52084
52085
52086
52087
52088
52089
52090
52091
52092
52093
52094
52095
52096
52097
52098
52099
52100
52101
52102
52103
52104
52105
52106
52107
52108
52109
52110
52111
52112
52113
52114
52115
52116
52117
52118
52119
52120
52121
52122
52123
52124
52125
52126
52127
52128
52129
52130
52131
52132
52133
52134
52135
52136
52137
52138
52139
52140
52141
52142
52143
52144
52145
52146
52147
52148
52149
52150
52151
52152
52153
52154
52155
52156
52157
52158
52159
52160
52161
52162
52163
52164
52165
52166
52167
52168
52169
52170
52171
52172
52173
52174
52175
52176
52177
52178
52179
52180
52181
52182
52183
52184
52185
52186
52187
52188
52189
52190
52191
52192
52193
52194
52195
52196
52197
52198
52199
52200
52201
52202
52203
52204
52205
52206
52207
52208
52209
52210
52211
52212
52213
52214
52215
52216
52217
52218
52219
52220
52221
52222
52223
52224
52225
52226
52227
52228
52229
52230
52231
52232
52233
52234
52235
52236
52237
52238
52239
52240
52241
52242
52243
52244
52245
52246
52247
52248
52249
52250
52251
52252
52253
52254
52255
52256
52257
52258
52259
52260
52261
52262
52263
52264
52265
52266
52267
52268
52269
52270
52271
52272
52273
52274
52275
52276
52277
52278
52279
52280
52281
52282
52283
52284
52285
52286
52287
52288
52289
52290
52291
52292
52293
52294
52295
52296
52297
52298
52299
52300
52301
52302
52303
52304
52305
52306
52307
52308
52309
52310
52311
52312
52313
52314
52315
52316
52317
52318
52319
52320
52321
52322
52323
52324
52325
52326
52327
52328
52329
52330
52331
52332
52333
52334
52335
52336
52337
52338
52339
52340
52341
52342
52343
52344
52345
52346
52347
52348
52349
52350
52351
52352
52353
52354
52355
52356
52357
52358
52359
52360
52361
52362
52363
52364
52365
52366
52367
52368
52369
52370
52371
52372
52373
52374
52375
52376
52377
52378
52379
52380
52381
52382
52383
52384
52385
52386
52387
52388
52389
52390
52391
52392
52393
52394
52395
52396
52397
52398
52399
52400
52401
52402
52403
52404
52405
52406
52407
52408
52409
52410
52411
52412
52413
52414
52415
52416
52417
52418
52419
52420
52421
52422
52423
52424
52425
52426
52427
52428
52429
52430
52431
52432
52433
52434
52435
52436
52437
52438
52439
52440
52441
52442
52443
52444
52445
52446
52447
52448
52449
52450
52451
52452
52453
52454
52455
52456
52457
52458
52459
52460
52461
52462
52463
52464
52465
52466
52467
52468
52469
52470
52471
52472
52473
52474
52475
52476
52477
52478
52479
52480
52481
52482
52483
52484
52485
52486
52487
52488
52489
52490
52491
52492
52493
52494
52495
52496
52497
52498
52499
52500
52501
52502
52503
52504
52505
52506
52507
52508
52509
52510
52511
52512
52513
52514
52515
52516
52517
52518
52519
52520
52521
52522
52523
52524
52525
52526
52527
52528
52529
52530
52531
52532
52533
52534
52535
52536
52537
52538
52539
52540
52541
52542
52543
52544
52545
52546
52547
52548
52549
52550
52551
52552
52553
52554
52555
52556
52557
52558
52559
52560
52561
52562
52563
52564
52565
52566
52567
52568
52569
52570
52571
52572
52573
52574
52575
52576
52577
52578
52579
52580
52581
52582
52583
52584
52585
52586
52587
52588
52589
52590
52591
52592
52593
52594
52595
52596
52597
52598
52599
52600
52601
52602
52603
52604
52605
52606
52607
52608
52609
52610
52611
52612
52613
52614
52615
52616
52617
52618
52619
52620
52621
52622
52623
52624
52625
52626
52627
52628
52629
52630
52631
52632
52633
52634
52635
52636
52637
52638
52639
52640
52641
52642
52643
52644
52645
52646
52647
52648
52649
52650
52651
52652
52653
52654
52655
52656
52657
52658
52659
52660
52661
52662
52663
52664
52665
52666
52667
52668
52669
52670
52671
52672
52673
52674
52675
52676
52677
52678
52679
52680
52681
52682
52683
52684
52685
52686
52687
52688
52689
52690
52691
52692
52693
52694
52695
52696
52697
52698
52699
52700
52701
52702
52703
52704
52705
52706
52707
52708
52709
52710
52711
52712
52713
52714
52715
52716
52717
52718
52719
52720
52721
52722
52723
52724
52725
52726
52727
52728
52729
52730
52731
52732
52733
52734
52735
52736
52737
52738
52739
52740
52741
52742
52743
52744
52745
52746
52747
52748
52749
52750
52751
52752
52753
52754
52755
52756
52757
52758
52759
52760
52761
52762
52763
52764
52765
52766
52767
52768
52769
52770
52771
52772
52773
52774
52775
52776
52777
52778
52779
52780
52781
52782
52783
52784
52785
52786
52787
52788
52789
52790
52791
52792
52793
52794
52795
52796
52797
52798
52799
52800
52801
52802
52803
52804
52805
52806
52807
52808
52809
52810
52811
52812
52813
52814
52815
52816
52817
52818
52819
52820
52821
52822
52823
52824
52825
52826
52827
52828
52829
52830
52831
52832
52833
52834
52835
52836
52837
52838
52839
52840
52841
52842
52843
52844
52845
52846
52847
52848
52849
52850
52851
52852
52853
52854
52855
52856
52857
52858
52859
52860
52861
52862
52863
52864
52865
52866
52867
52868
52869
52870
52871
52872
52873
52874
52875
52876
52877
52878
52879
52880
52881
52882
52883
52884
52885
52886
52887
52888
52889
52890
52891
52892
52893
52894
52895
52896
52897
52898
52899
52900
52901
52902
52903
52904
52905
52906
52907
52908
52909
52910
52911
52912
52913
52914
52915
52916
52917
52918
52919
52920
52921
52922
52923
52924
52925
52926
52927
52928
52929
52930
52931
52932
52933
52934
52935
52936
52937
52938
52939
52940
52941
52942
52943
52944
52945
52946
52947
52948
52949
52950
52951
52952
52953
52954
52955
52956
52957
52958
52959
52960
52961
52962
52963
52964
52965
52966
52967
52968
52969
52970
52971
52972
52973
52974
52975
52976
52977
52978
52979
52980
52981
52982
52983
52984
52985
52986
52987
52988
52989
52990
52991
52992
52993
52994
52995
52996
52997
52998
52999
53000
53001
53002
53003
53004
53005
53006
53007
53008
53009
53010
53011
53012
53013
53014
53015
53016
53017
53018
53019
53020
53021
53022
53023
53024
53025
53026
53027
53028
53029
53030
53031
53032
53033
53034
53035
53036
53037
53038
53039
53040
53041
53042
53043
53044
53045
53046
53047
53048
53049
53050
53051
53052
53053
53054
53055
53056
53057
53058
53059
53060
53061
53062
53063
53064
53065
53066
53067
53068
53069
53070
53071
53072
53073
53074
53075
53076
53077
53078
53079
53080
53081
53082
53083
53084
53085
53086
53087
53088
53089
53090
53091
53092
53093
53094
53095
53096
53097
53098
53099
53100
53101
53102
53103
53104
53105
53106
53107
53108
53109
53110
53111
53112
53113
53114
53115
53116
53117
53118
53119
53120
53121
53122
53123
53124
53125
53126
53127
53128
53129
53130
53131
53132
53133
53134
53135
53136
53137
53138
53139
53140
53141
53142
53143
53144
53145
53146
53147
53148
53149
53150
53151
53152
53153
53154
53155
53156
53157
53158
53159
53160
53161
53162
53163
53164
53165
53166
53167
53168
53169
53170
53171
53172
53173
53174
53175
53176
53177
53178
53179
53180
53181
53182
53183
53184
53185
53186
53187
53188
53189
53190
53191
53192
53193
53194
53195
53196
53197
53198
53199
53200
53201
53202
53203
53204
53205
53206
53207
53208
53209
53210
53211
53212
53213
53214
53215
53216
53217
53218
53219
53220
53221
53222
53223
53224
53225
53226
53227
53228
53229
53230
53231
53232
53233
53234
53235
53236
53237
53238
53239
53240
53241
53242
53243
53244
53245
53246
53247
53248
53249
53250
53251
53252
53253
53254
53255
53256
53257
53258
53259
53260
53261
53262
53263
53264
53265
53266
53267
53268
53269
53270
53271
53272
53273
53274
53275
53276
53277
53278
53279
53280
53281
53282
53283
53284
53285
53286
53287
53288
53289
53290
53291
53292
53293
53294
53295
53296
53297
53298
53299
53300
53301
53302
53303
53304
53305
53306
53307
53308
53309
53310
53311
53312
53313
53314
53315
53316
53317
53318
53319
53320
53321
53322
53323
53324
53325
53326
53327
53328
53329
53330
53331
53332
53333
53334
53335
53336
53337
53338
53339
53340
53341
53342
53343
53344
53345
53346
53347
53348
53349
53350
53351
53352
53353
53354
53355
53356
53357
53358
53359
53360
53361
53362
53363
53364
53365
53366
53367
53368
53369
53370
53371
53372
53373
53374
53375
53376
53377
53378
53379
53380
53381
53382
53383
53384
53385
53386
53387
53388
53389
53390
53391
53392
53393
53394
53395
53396
53397
53398
53399
53400
53401
53402
53403
53404
53405
53406
53407
53408
53409
53410
53411
53412
53413
53414
53415
53416
53417
53418
53419
53420
53421
53422
53423
53424
53425
53426
53427
53428
53429
53430
53431
53432
53433
53434
53435
53436
53437
53438
53439
53440
53441
53442
53443
53444
53445
53446
53447
53448
53449
53450
53451
53452
53453
53454
53455
53456
53457
53458
53459
53460
53461
53462
53463
53464
53465
53466
53467
53468
53469
53470
53471
53472
53473
53474
53475
53476
53477
53478
53479
53480
53481
53482
53483
53484
53485
53486
53487
53488
53489
53490
53491
53492
53493
53494
53495
53496
53497
53498
53499
53500
53501
53502
53503
53504
53505
53506
53507
53508
53509
53510
53511
53512
53513
53514
53515
53516
53517
53518
53519
53520
53521
53522
53523
53524
53525
53526
53527
53528
53529
53530
53531
53532
53533
53534
53535
53536
53537
53538
53539
53540
53541
53542
53543
53544
53545
53546
53547
53548
53549
53550
53551
53552
53553
53554
53555
53556
53557
53558
53559
53560
53561
53562
53563
53564
53565
53566
53567
53568
53569
53570
53571
53572
53573
53574
53575
53576
53577
53578
53579
53580
53581
53582
53583
53584
53585
53586
53587
53588
53589
53590
53591
53592
53593
53594
53595
53596
53597
53598
53599
53600
53601
53602
53603
53604
53605
53606
53607
53608
53609
53610
53611
53612
53613
53614
53615
53616
53617
53618
53619
53620
53621
53622
53623
53624
53625
53626
53627
53628
53629
53630
53631
53632
53633
53634
53635
53636
53637
53638
53639
53640
53641
53642
53643
53644
53645
53646
53647
53648
53649
53650
53651
53652
53653
53654
53655
53656
53657
53658
53659
53660
53661
53662
53663
53664
53665
53666
53667
53668
53669
53670
53671
53672
53673
53674
53675
53676
53677
53678
53679
53680
53681
53682
53683
53684
53685
53686
53687
53688
53689
53690
53691
53692
53693
53694
53695
53696
53697
53698
53699
53700
53701
53702
53703
53704
53705
53706
53707
53708
53709
53710
53711
53712
53713
53714
53715
53716
53717
53718
53719
53720
53721
53722
53723
53724
53725
53726
53727
53728
53729
53730
53731
53732
53733
53734
53735
53736
53737
53738
53739
53740
53741
53742
53743
53744
53745
53746
53747
53748
53749
53750
53751
53752
53753
53754
53755
53756
53757
53758
53759
53760
53761
53762
53763
53764
53765
53766
53767
53768
53769
53770
53771
53772
53773
53774
53775
53776
53777
53778
53779
53780
53781
53782
53783
53784
53785
53786
53787
53788
53789
53790
53791
53792
53793
53794
53795
53796
53797
53798
53799
53800
53801
53802
53803
53804
53805
53806
53807
53808
53809
53810
53811
53812
53813
53814
53815
53816
53817
53818
53819
53820
53821
53822
53823
53824
53825
53826
53827
53828
53829
53830
53831
53832
53833
53834
53835
53836
53837
53838
53839
53840
53841
53842
53843
53844
53845
53846
53847
53848
53849
53850
53851
53852
53853
53854
53855
53856
53857
53858
53859
53860
53861
53862
53863
53864
53865
53866
53867
53868
53869
53870
53871
53872
53873
53874
53875
53876
53877
53878
53879
53880
53881
53882
53883
53884
53885
53886
53887
53888
53889
53890
53891
53892
53893
53894
53895
53896
53897
53898
53899
53900
53901
53902
53903
53904
53905
53906
53907
53908
53909
53910
53911
53912
53913
53914
53915
53916
53917
53918
53919
53920
53921
53922
53923
53924
53925
53926
53927
53928
53929
53930
53931
53932
53933
53934
53935
53936
53937
53938
53939
53940
53941
53942
53943
53944
53945
53946
53947
53948
53949
53950
53951
53952
53953
53954
53955
53956
53957
53958
53959
53960
53961
53962
53963
53964
53965
53966
53967
53968
53969
53970
53971
53972
53973
53974
53975
53976
53977
53978
53979
53980
53981
53982
53983
53984
53985
53986
53987
53988
53989
53990
53991
53992
53993
53994
53995
53996
53997
53998
53999
54000
54001
54002
54003
54004
54005
54006
54007
54008
54009
54010
54011
54012
54013
54014
54015
54016
54017
54018
54019
54020
54021
54022
54023
54024
54025
54026
54027
54028
54029
54030
54031
54032
54033
54034
54035
54036
54037
54038
54039
54040
54041
54042
54043
54044
54045
54046
54047
54048
54049
54050
54051
54052
54053
54054
54055
54056
54057
54058
54059
54060
54061
54062
54063
54064
54065
54066
54067
54068
54069
54070
54071
54072
54073
54074
54075
54076
54077
54078
54079
54080
54081
54082
54083
54084
54085
54086
54087
54088
54089
54090
54091
54092
54093
54094
54095
54096
54097
54098
54099
54100
54101
54102
54103
54104
54105
54106
54107
54108
54109
54110
54111
54112
54113
54114
54115
54116
54117
54118
54119
54120
54121
54122
54123
54124
54125
54126
54127
54128
54129
54130
54131
54132
54133
54134
54135
54136
54137
54138
54139
54140
54141
54142
54143
54144
54145
54146
54147
54148
54149
54150
54151
54152
54153
54154
54155
54156
54157
54158
54159
54160
54161
54162
54163
54164
54165
54166
54167
54168
54169
54170
54171
54172
54173
54174
54175
54176
54177
54178
54179
54180
54181
54182
54183
54184
54185
54186
54187
54188
54189
54190
54191
54192
54193
54194
54195
54196
54197
54198
54199
54200
54201
54202
54203
54204
54205
54206
54207
54208
54209
54210
54211
54212
54213
54214
54215
54216
54217
54218
54219
54220
54221
54222
54223
54224
54225
54226
54227
54228
54229
54230
54231
54232
54233
54234
54235
54236
54237
54238
54239
54240
54241
54242
54243
54244
54245
54246
54247
54248
54249
54250
54251
54252
54253
54254
54255
54256
54257
54258
54259
54260
54261
54262
54263
54264
54265
54266
54267
54268
54269
54270
54271
54272
54273
54274
54275
54276
54277
54278
54279
54280
54281
54282
54283
54284
54285
54286
54287
54288
54289
54290
54291
54292
54293
54294
54295
54296
54297
54298
54299
54300
54301
54302
54303
54304
54305
54306
54307
54308
54309
54310
54311
54312
54313
54314
54315
54316
54317
54318
54319
54320
54321
54322
54323
54324
54325
54326
54327
54328
54329
54330
54331
54332
54333
54334
54335
54336
54337
54338
54339
54340
54341
54342
54343
54344
54345
54346
54347
54348
54349
54350
54351
54352
54353
54354
54355
54356
54357
54358
54359
54360
54361
54362
54363
54364
54365
54366
54367
54368
54369
54370
54371
54372
54373
54374
54375
54376
54377
54378
54379
54380
54381
54382
54383
54384
54385
54386
54387
54388
54389
54390
54391
54392
54393
54394
54395
54396
54397
54398
54399
54400
54401
54402
54403
54404
54405
54406
54407
54408
54409
54410
54411
54412
54413
54414
54415
54416
54417
54418
54419
54420
54421
54422
54423
54424
54425
54426
54427
54428
54429
54430
54431
54432
54433
54434
54435
54436
54437
54438
54439
54440
54441
54442
54443
54444
54445
54446
54447
54448
54449
54450
54451
54452
54453
54454
54455
54456
54457
54458
54459
54460
54461
54462
54463
54464
54465
54466
54467
54468
54469
54470
54471
54472
54473
54474
54475
54476
54477
54478
54479
54480
54481
54482
54483
54484
54485
54486
54487
54488
54489
54490
54491
54492
54493
54494
54495
54496
54497
54498
54499
54500
54501
54502
54503
54504
54505
54506
54507
54508
54509
54510
54511
54512
54513
54514
54515
54516
54517
54518
54519
54520
54521
54522
54523
54524
54525
54526
54527
54528
54529
54530
54531
54532
54533
54534
54535
54536
54537
54538
54539
54540
54541
54542
54543
54544
54545
54546
54547
54548
54549
54550
54551
54552
54553
54554
54555
54556
54557
54558
54559
54560
54561
54562
54563
54564
54565
54566
54567
54568
54569
54570
54571
54572
54573
54574
54575
54576
54577
54578
54579
54580
54581
54582
54583
54584
54585
54586
54587
54588
54589
54590
54591
54592
54593
54594
54595
54596
54597
54598
54599
54600
54601
54602
54603
54604
54605
54606
54607
54608
54609
54610
54611
54612
54613
54614
54615
54616
54617
54618
54619
54620
54621
54622
54623
54624
54625
54626
54627
54628
54629
54630
54631
54632
54633
54634
54635
54636
54637
54638
54639
54640
54641
54642
54643
54644
54645
54646
54647
54648
54649
54650
54651
54652
54653
54654
54655
54656
54657
54658
54659
54660
54661
54662
54663
54664
54665
54666
54667
54668
54669
54670
54671
54672
54673
54674
54675
54676
54677
54678
54679
54680
54681
54682
54683
54684
54685
54686
54687
54688
54689
54690
54691
54692
54693
54694
54695
54696
54697
54698
54699
54700
54701
54702
54703
54704
54705
54706
54707
54708
54709
54710
54711
54712
54713
54714
54715
54716
54717
54718
54719
54720
54721
54722
54723
54724
54725
54726
54727
54728
54729
54730
54731
54732
54733
54734
54735
54736
54737
54738
54739
54740
54741
54742
54743
54744
54745
54746
54747
54748
54749
54750
54751
54752
54753
54754
54755
54756
54757
54758
54759
54760
54761
54762
54763
54764
54765
54766
54767
54768
54769
54770
54771
54772
54773
54774
54775
54776
54777
54778
54779
54780
54781
54782
54783
54784
54785
54786
54787
54788
54789
54790
54791
54792
54793
54794
54795
54796
54797
54798
54799
54800
54801
54802
54803
54804
54805
54806
54807
54808
54809
54810
54811
54812
54813
54814
54815
54816
54817
54818
54819
54820
54821
54822
54823
54824
54825
54826
54827
54828
54829
54830
54831
54832
54833
54834
54835
54836
54837
54838
54839
54840
54841
54842
54843
54844
54845
54846
54847
54848
54849
54850
54851
54852
54853
54854
54855
54856
54857
54858
54859
54860
54861
54862
54863
54864
54865
54866
54867
54868
54869
54870
54871
54872
54873
54874
54875
54876
54877
54878
54879
54880
54881
54882
54883
54884
54885
54886
54887
54888
54889
54890
54891
54892
54893
54894
54895
54896
54897
54898
54899
54900
54901
54902
54903
54904
54905
54906
54907
54908
54909
54910
54911
54912
54913
54914
54915
54916
54917
54918
54919
54920
54921
54922
54923
54924
54925
54926
54927
54928
54929
54930
54931
54932
54933
54934
54935
54936
54937
54938
54939
54940
54941
54942
54943
54944
54945
54946
54947
54948
54949
54950
54951
54952
54953
54954
54955
54956
54957
54958
54959
54960
54961
54962
54963
54964
54965
54966
54967
54968
54969
54970
54971
54972
54973
54974
54975
54976
54977
54978
54979
54980
54981
54982
54983
54984
54985
54986
54987
54988
54989
54990
54991
54992
54993
54994
54995
54996
54997
54998
54999
55000
55001
55002
55003
55004
55005
55006
55007
55008
55009
55010
55011
55012
55013
55014
55015
55016
55017
55018
55019
55020
55021
55022
55023
55024
55025
55026
55027
55028
55029
55030
55031
55032
55033
55034
55035
55036
55037
55038
55039
55040
55041
55042
55043
55044
55045
55046
55047
55048
55049
55050
55051
55052
55053
55054
55055
55056
55057
55058
55059
55060
55061
55062
55063
55064
55065
55066
55067
55068
55069
55070
55071
55072
55073
55074
55075
55076
55077
55078
55079
55080
55081
55082
55083
55084
55085
55086
55087
55088
55089
55090
55091
55092
55093
55094
55095
55096
55097
55098
55099
55100
55101
55102
55103
55104
55105
55106
55107
55108
55109
55110
55111
55112
55113
55114
55115
55116
55117
55118
55119
55120
55121
55122
55123
55124
55125
55126
55127
55128
55129
55130
55131
55132
55133
55134
55135
55136
55137
55138
55139
55140
55141
55142
55143
55144
55145
55146
55147
55148
55149
55150
55151
55152
55153
55154
55155
55156
55157
55158
55159
55160
55161
55162
55163
55164
55165
55166
55167
55168
55169
55170
55171
55172
55173
55174
55175
55176
55177
55178
55179
55180
55181
55182
55183
55184
55185
55186
55187
55188
55189
55190
55191
55192
55193
55194
55195
55196
55197
55198
55199
55200
55201
55202
55203
55204
55205
55206
55207
55208
55209
55210
55211
55212
55213
55214
55215
55216
55217
55218
55219
55220
55221
55222
55223
55224
55225
55226
55227
55228
55229
55230
55231
55232
55233
55234
55235
55236
55237
55238
55239
55240
55241
55242
55243
55244
55245
55246
55247
55248
55249
55250
55251
55252
55253
55254
55255
55256
55257
55258
55259
55260
55261
55262
55263
55264
55265
55266
55267
55268
55269
55270
55271
55272
55273
55274
55275
55276
55277
55278
55279
55280
55281
55282
55283
55284
55285
55286
55287
55288
55289
55290
55291
55292
55293
55294
55295
55296
55297
55298
55299
55300
55301
55302
55303
55304
55305
55306
55307
55308
55309
55310
55311
55312
55313
55314
55315
55316
55317
55318
55319
55320
55321
55322
55323
55324
55325
55326
55327
55328
55329
55330
55331
55332
55333
55334
55335
55336
55337
55338
55339
55340
55341
55342
55343
55344
55345
55346
55347
55348
55349
55350
55351
55352
55353
55354
55355
55356
55357
55358
55359
55360
55361
55362
55363
55364
55365
55366
55367
55368
55369
55370
55371
55372
55373
55374
55375
55376
55377
55378
55379
55380
55381
55382
55383
55384
55385
55386
55387
55388
55389
55390
55391
55392
55393
55394
55395
55396
55397
55398
55399
55400
55401
55402
55403
55404
55405
55406
55407
55408
55409
55410
55411
55412
55413
55414
55415
55416
55417
55418
55419
55420
55421
55422
55423
55424
55425
55426
55427
55428
55429
55430
55431
55432
55433
55434
55435
55436
55437
55438
55439
55440
55441
55442
55443
55444
55445
55446
55447
55448
55449
55450
55451
55452
55453
55454
55455
55456
55457
55458
55459
55460
55461
55462
55463
55464
55465
55466
55467
55468
55469
55470
55471
55472
55473
55474
55475
55476
55477
55478
55479
55480
55481
55482
55483
55484
55485
55486
55487
55488
55489
55490
55491
55492
55493
55494
55495
55496
55497
55498
55499
55500
55501
55502
55503
55504
55505
55506
55507
55508
55509
55510
55511
55512
55513
55514
55515
55516
55517
55518
55519
55520
55521
55522
55523
55524
55525
55526
55527
55528
55529
55530
55531
55532
55533
55534
55535
55536
55537
55538
55539
55540
55541
55542
55543
55544
55545
55546
55547
55548
55549
55550
55551
55552
55553
55554
55555
55556
55557
55558
55559
55560
55561
55562
55563
55564
55565
55566
55567
55568
55569
55570
55571
55572
55573
55574
55575
55576
55577
55578
55579
55580
55581
55582
55583
55584
55585
55586
55587
55588
55589
55590
55591
55592
55593
55594
55595
55596
55597
55598
55599
55600
55601
55602
55603
55604
55605
55606
55607
55608
55609
55610
55611
55612
55613
55614
55615
55616
55617
55618
55619
55620
55621
55622
55623
55624
55625
55626
55627
55628
55629
55630
55631
55632
55633
55634
55635
55636
55637
55638
55639
55640
55641
55642
55643
55644
55645
55646
55647
55648
55649
55650
55651
55652
55653
55654
55655
55656
55657
55658
55659
55660
55661
55662
55663
55664
55665
55666
55667
55668
55669
55670
55671
55672
55673
55674
55675
55676
55677
55678
55679
55680
55681
55682
55683
55684
55685
55686
55687
55688
55689
55690
55691
55692
55693
55694
55695
55696
55697
55698
55699
55700
55701
55702
55703
55704
55705
55706
55707
55708
55709
55710
55711
55712
55713
55714
55715
55716
55717
55718
55719
55720
55721
55722
55723
55724
55725
55726
55727
55728
55729
55730
55731
55732
55733
55734
55735
55736
55737
55738
55739
55740
55741
55742
55743
55744
55745
55746
55747
55748
55749
55750
55751
55752
55753
55754
55755
55756
55757
55758
55759
55760
55761
55762
55763
55764
55765
55766
55767
55768
55769
55770
55771
55772
55773
55774
55775
55776
55777
55778
55779
55780
55781
55782
55783
55784
55785
55786
55787
55788
55789
55790
55791
55792
55793
55794
55795
55796
55797
55798
55799
55800
55801
55802
55803
55804
55805
55806
55807
55808
55809
55810
55811
55812
55813
55814
55815
55816
55817
55818
55819
55820
55821
55822
55823
55824
55825
55826
55827
55828
55829
55830
55831
55832
55833
55834
55835
55836
55837
55838
55839
55840
55841
55842
55843
55844
55845
55846
55847
55848
55849
55850
55851
55852
55853
55854
55855
55856
55857
55858
55859
55860
55861
55862
55863
55864
55865
55866
55867
55868
55869
55870
55871
55872
55873
55874
55875
55876
55877
55878
55879
55880
55881
55882
55883
55884
55885
55886
55887
55888
55889
55890
55891
55892
55893
55894
55895
55896
55897
55898
55899
55900
55901
55902
55903
55904
55905
55906
55907
55908
55909
55910
55911
55912
55913
55914
55915
55916
55917
55918
55919
55920
55921
55922
55923
55924
55925
55926
55927
55928
55929
55930
55931
55932
55933
55934
55935
55936
55937
55938
55939
55940
55941
55942
55943
55944
55945
55946
55947
55948
55949
55950
55951
55952
55953
55954
55955
55956
55957
55958
55959
55960
55961
55962
55963
55964
55965
55966
55967
55968
55969
55970
55971
55972
55973
55974
55975
55976
55977
55978
55979
55980
55981
55982
55983
55984
55985
55986
55987
55988
55989
55990
55991
55992
55993
55994
55995
55996
55997
55998
55999
56000
56001
56002
56003
56004
56005
56006
56007
56008
56009
56010
56011
56012
56013
56014
56015
56016
56017
56018
56019
56020
56021
56022
56023
56024
56025
56026
56027
56028
56029
56030
56031
56032
56033
56034
56035
56036
56037
56038
56039
56040
56041
56042
56043
56044
56045
56046
56047
56048
56049
56050
56051
56052
56053
56054
56055
56056
56057
56058
56059
56060
56061
56062
56063
56064
56065
56066
56067
56068
56069
56070
56071
56072
56073
56074
56075
56076
56077
56078
56079
56080
56081
56082
56083
56084
56085
56086
56087
56088
56089
56090
56091
56092
56093
56094
56095
56096
56097
56098
56099
56100
56101
56102
56103
56104
56105
56106
56107
56108
56109
56110
56111
56112
56113
56114
56115
56116
56117
56118
56119
56120
56121
56122
56123
56124
56125
56126
56127
56128
56129
56130
56131
56132
56133
56134
56135
56136
56137
56138
56139
56140
56141
56142
56143
56144
56145
56146
56147
56148
56149
56150
56151
56152
56153
56154
56155
56156
56157
56158
56159
56160
56161
56162
56163
56164
56165
56166
56167
56168
56169
56170
56171
56172
56173
56174
56175
56176
56177
56178
56179
56180
56181
56182
56183
56184
56185
56186
56187
56188
56189
56190
56191
56192
56193
56194
56195
56196
56197
56198
56199
56200
56201
56202
56203
56204
56205
56206
56207
56208
56209
56210
56211
56212
56213
56214
56215
56216
56217
56218
56219
56220
56221
56222
56223
56224
56225
56226
56227
56228
56229
56230
56231
56232
56233
56234
56235
56236
56237
56238
56239
56240
56241
56242
56243
56244
56245
56246
56247
56248
56249
56250
56251
56252
56253
56254
56255
56256
56257
56258
56259
56260
56261
56262
56263
56264
56265
56266
56267
56268
56269
56270
56271
56272
56273
56274
56275
56276
56277
56278
56279
56280
56281
56282
56283
56284
56285
56286
56287
56288
56289
56290
56291
56292
56293
56294
56295
56296
56297
56298
56299
56300
56301
56302
56303
56304
56305
56306
56307
56308
56309
56310
56311
56312
56313
56314
56315
56316
56317
56318
56319
56320
56321
56322
56323
56324
56325
56326
56327
56328
56329
56330
56331
56332
56333
56334
56335
56336
56337
56338
56339
56340
56341
56342
56343
56344
56345
56346
56347
56348
56349
56350
56351
56352
56353
56354
56355
56356
56357
56358
56359
56360
56361
56362
56363
56364
56365
56366
56367
56368
56369
56370
56371
56372
56373
56374
56375
56376
56377
56378
56379
56380
56381
56382
56383
56384
56385
56386
56387
56388
56389
56390
56391
56392
56393
56394
56395
56396
56397
56398
56399
56400
56401
56402
56403
56404
56405
56406
56407
56408
56409
56410
56411
56412
56413
56414
56415
56416
56417
56418
56419
56420
56421
56422
56423
56424
56425
56426
56427
56428
56429
56430
56431
56432
56433
56434
56435
56436
56437
56438
56439
56440
56441
56442
56443
56444
56445
56446
56447
56448
56449
56450
56451
56452
56453
56454
56455
56456
56457
56458
56459
56460
56461
56462
56463
56464
56465
56466
56467
56468
56469
56470
56471
56472
56473
56474
56475
56476
56477
56478
56479
56480
56481
56482
56483
56484
56485
56486
56487
56488
56489
56490
56491
56492
56493
56494
56495
56496
56497
56498
56499
56500
56501
56502
56503
56504
56505
56506
56507
56508
56509
56510
56511
56512
56513
56514
56515
56516
56517
56518
56519
56520
56521
56522
56523
56524
56525
56526
56527
56528
56529
56530
56531
56532
56533
56534
56535
56536
56537
56538
56539
56540
56541
56542
56543
56544
56545
56546
56547
56548
56549
56550
56551
56552
56553
56554
56555
56556
56557
56558
56559
56560
56561
56562
56563
56564
56565
56566
56567
56568
56569
56570
56571
56572
56573
56574
56575
56576
56577
56578
56579
56580
56581
56582
56583
56584
56585
56586
56587
56588
56589
56590
56591
56592
56593
56594
56595
56596
56597
56598
56599
56600
56601
56602
56603
56604
56605
56606
56607
56608
56609
56610
56611
56612
56613
56614
56615
56616
56617
56618
56619
56620
56621
56622
56623
56624
56625
56626
56627
56628
56629
56630
56631
56632
56633
56634
56635
56636
56637
56638
56639
56640
56641
56642
56643
56644
56645
56646
56647
56648
56649
56650
56651
56652
56653
56654
56655
56656
56657
56658
56659
56660
56661
56662
56663
56664
56665
56666
56667
56668
56669
56670
56671
56672
56673
56674
56675
56676
56677
56678
56679
56680
56681
56682
56683
56684
56685
56686
56687
56688
56689
56690
56691
56692
56693
56694
56695
56696
56697
56698
56699
56700
56701
56702
56703
56704
56705
56706
56707
56708
56709
56710
56711
56712
56713
56714
56715
56716
56717
56718
56719
56720
56721
56722
56723
56724
56725
56726
56727
56728
56729
56730
56731
56732
56733
56734
56735
56736
56737
56738
56739
56740
56741
56742
56743
56744
56745
56746
56747
56748
56749
56750
56751
56752
56753
56754
56755
56756
56757
56758
56759
56760
56761
56762
56763
56764
56765
56766
56767
56768
56769
56770
56771
56772
56773
56774
56775
56776
56777
56778
56779
56780
56781
56782
56783
56784
56785
56786
56787
56788
56789
56790
56791
56792
56793
56794
56795
56796
56797
56798
56799
56800
56801
56802
56803
56804
56805
56806
56807
56808
56809
56810
56811
56812
56813
56814
56815
56816
56817
56818
56819
56820
56821
56822
56823
56824
56825
56826
56827
56828
56829
56830
56831
56832
56833
56834
56835
56836
56837
56838
56839
56840
56841
56842
56843
56844
56845
56846
56847
56848
56849
56850
56851
56852
56853
56854
56855
56856
56857
56858
56859
56860
56861
56862
56863
56864
56865
56866
56867
56868
56869
56870
56871
56872
56873
56874
56875
56876
56877
56878
56879
56880
56881
56882
56883
56884
56885
56886
56887
56888
56889
56890
56891
56892
56893
56894
56895
56896
56897
56898
56899
56900
56901
56902
56903
56904
56905
56906
56907
56908
56909
56910
56911
56912
56913
56914
56915
56916
56917
56918
56919
56920
56921
56922
56923
56924
56925
56926
56927
56928
56929
56930
56931
56932
56933
56934
56935
56936
56937
56938
56939
56940
56941
56942
56943
56944
56945
56946
56947
56948
56949
56950
56951
56952
56953
56954
56955
56956
56957
56958
56959
56960
56961
56962
56963
56964
56965
56966
56967
56968
56969
56970
56971
56972
56973
56974
56975
56976
56977
56978
56979
56980
56981
56982
56983
56984
56985
56986
56987
56988
56989
56990
56991
56992
56993
56994
56995
56996
56997
56998
56999
57000
57001
57002
57003
57004
57005
57006
57007
57008
57009
57010
57011
57012
57013
57014
57015
57016
57017
57018
57019
57020
57021
57022
57023
57024
57025
57026
57027
57028
57029
57030
57031
57032
57033
57034
57035
57036
57037
57038
57039
57040
57041
57042
57043
57044
57045
57046
57047
57048
57049
57050
57051
57052
57053
57054
57055
57056
57057
57058
57059
57060
57061
57062
57063
57064
57065
57066
57067
57068
57069
57070
57071
57072
57073
57074
57075
57076
57077
57078
57079
57080
57081
57082
57083
57084
57085
57086
57087
57088
57089
57090
57091
57092
57093
57094
57095
57096
57097
57098
57099
57100
57101
57102
57103
57104
57105
57106
57107
57108
57109
57110
57111
57112
57113
57114
57115
57116
57117
57118
57119
57120
57121
57122
57123
57124
57125
57126
57127
57128
57129
57130
57131
57132
57133
57134
57135
57136
57137
57138
57139
57140
57141
57142
57143
57144
57145
57146
57147
57148
57149
57150
57151
57152
57153
57154
57155
57156
57157
57158
57159
57160
57161
57162
57163
57164
57165
57166
57167
57168
57169
57170
57171
57172
57173
57174
57175
57176
57177
57178
57179
57180
57181
57182
57183
57184
57185
57186
57187
57188
57189
57190
57191
57192
57193
57194
57195
57196
57197
57198
57199
57200
57201
57202
57203
57204
57205
57206
57207
57208
57209
57210
57211
57212
57213
57214
57215
57216
57217
57218
57219
57220
57221
57222
57223
57224
57225
57226
57227
57228
57229
57230
57231
57232
57233
57234
57235
57236
57237
57238
57239
57240
57241
57242
57243
57244
57245
57246
57247
57248
57249
57250
57251
57252
57253
57254
57255
57256
57257
57258
57259
57260
57261
57262
57263
57264
57265
57266
57267
57268
57269
57270
57271
57272
57273
57274
57275
57276
57277
57278
57279
57280
57281
57282
57283
57284
57285
57286
57287
57288
57289
57290
57291
57292
57293
57294
57295
57296
57297
57298
57299
57300
57301
57302
57303
57304
57305
57306
57307
57308
57309
57310
57311
57312
57313
57314
57315
57316
57317
57318
57319
57320
57321
57322
57323
57324
57325
57326
57327
57328
57329
57330
57331
57332
57333
57334
57335
57336
57337
57338
57339
57340
57341
57342
57343
57344
57345
57346
57347
57348
57349
57350
57351
57352
57353
57354
57355
57356
57357
57358
57359
57360
57361
57362
57363
57364
57365
57366
57367
57368
57369
57370
57371
57372
57373
57374
57375
57376
57377
57378
57379
57380
57381
57382
57383
57384
57385
57386
57387
57388
57389
57390
57391
57392
57393
57394
57395
57396
57397
57398
57399
57400
57401
57402
57403
57404
57405
57406
57407
57408
57409
57410
57411
57412
57413
57414
57415
57416
57417
57418
57419
57420
57421
57422
57423
57424
57425
57426
57427
57428
57429
57430
57431
57432
57433
57434
57435
57436
57437
57438
57439
57440
57441
57442
57443
57444
57445
57446
57447
57448
57449
57450
57451
57452
57453
57454
57455
57456
57457
57458
57459
57460
57461
57462
57463
57464
57465
57466
57467
57468
57469
57470
57471
57472
57473
57474
57475
57476
57477
57478
57479
57480
57481
57482
57483
57484
57485
57486
57487
57488
57489
57490
57491
57492
57493
57494
57495
57496
57497
57498
57499
57500
57501
57502
57503
57504
57505
57506
57507
57508
57509
57510
57511
57512
57513
57514
57515
57516
57517
57518
57519
57520
57521
57522
57523
57524
57525
57526
57527
57528
57529
57530
57531
57532
57533
57534
57535
57536
57537
57538
57539
57540
57541
57542
57543
57544
57545
57546
57547
57548
57549
57550
57551
57552
57553
57554
57555
57556
57557
57558
57559
57560
57561
57562
57563
57564
57565
57566
57567
57568
57569
57570
57571
57572
57573
57574
57575
57576
57577
57578
57579
57580
57581
57582
57583
57584
57585
57586
57587
57588
57589
57590
57591
57592
57593
57594
57595
57596
57597
57598
57599
57600
57601
57602
57603
57604
57605
57606
57607
57608
57609
57610
57611
57612
57613
57614
57615
57616
57617
57618
57619
57620
57621
57622
57623
57624
57625
57626
57627
57628
57629
57630
57631
57632
57633
57634
57635
57636
57637
57638
57639
57640
57641
57642
57643
57644
57645
57646
57647
57648
57649
57650
57651
57652
57653
57654
57655
57656
57657
57658
57659
57660
57661
57662
57663
57664
57665
57666
57667
57668
57669
57670
57671
57672
57673
57674
57675
57676
57677
57678
57679
57680
57681
57682
57683
57684
57685
57686
57687
57688
57689
57690
57691
57692
57693
57694
57695
57696
57697
57698
57699
57700
57701
57702
57703
57704
57705
57706
57707
57708
57709
57710
57711
57712
57713
57714
57715
57716
57717
57718
57719
57720
57721
57722
57723
57724
57725
57726
57727
57728
57729
57730
57731
57732
57733
57734
57735
57736
57737
57738
57739
57740
57741
57742
57743
57744
57745
57746
57747
57748
57749
57750
57751
57752
57753
57754
57755
57756
57757
57758
57759
57760
57761
57762
57763
57764
57765
57766
57767
57768
57769
57770
57771
57772
57773
57774
57775
57776
57777
57778
57779
57780
57781
57782
57783
57784
57785
57786
57787
57788
57789
57790
57791
57792
57793
57794
57795
57796
57797
57798
57799
57800
57801
57802
57803
57804
57805
57806
57807
57808
57809
57810
57811
57812
57813
57814
57815
57816
57817
57818
57819
57820
57821
57822
57823
57824
57825
57826
57827
57828
57829
57830
57831
57832
57833
57834
57835
57836
57837
57838
57839
57840
57841
57842
57843
57844
57845
57846
57847
57848
57849
57850
57851
57852
57853
57854
57855
57856
57857
57858
57859
57860
57861
57862
57863
57864
57865
57866
57867
57868
57869
57870
57871
57872
57873
57874
57875
57876
57877
57878
57879
57880
57881
57882
57883
57884
57885
57886
57887
57888
57889
57890
57891
57892
57893
57894
57895
57896
57897
57898
57899
57900
57901
57902
57903
57904
57905
57906
57907
57908
57909
57910
57911
57912
57913
57914
57915
57916
57917
57918
57919
57920
57921
57922
57923
57924
57925
57926
57927
57928
57929
57930
57931
57932
57933
57934
57935
57936
57937
57938
57939
57940
57941
57942
57943
57944
57945
57946
57947
57948
57949
57950
57951
57952
57953
57954
57955
57956
57957
57958
57959
57960
57961
57962
57963
57964
57965
57966
57967
57968
57969
57970
57971
57972
57973
57974
57975
57976
57977
57978
57979
57980
57981
57982
57983
57984
57985
57986
57987
57988
57989
57990
57991
57992
57993
57994
57995
57996
57997
57998
57999
58000
58001
58002
58003
58004
58005
58006
58007
58008
58009
58010
58011
58012
58013
58014
58015
58016
58017
58018
58019
58020
58021
58022
58023
58024
58025
58026
58027
58028
58029
58030
58031
58032
58033
58034
58035
58036
58037
58038
58039
58040
58041
58042
58043
58044
58045
58046
58047
58048
58049
58050
58051
58052
58053
58054
58055
58056
58057
58058
58059
58060
58061
58062
58063
58064
58065
58066
58067
58068
58069
58070
58071
58072
58073
58074
58075
58076
58077
58078
58079
58080
58081
58082
58083
58084
58085
58086
58087
58088
58089
58090
58091
58092
58093
58094
58095
58096
58097
58098
58099
58100
58101
58102
58103
58104
58105
58106
58107
58108
58109
58110
58111
58112
58113
58114
58115
58116
58117
58118
58119
58120
58121
58122
58123
58124
58125
58126
58127
58128
58129
58130
58131
58132
58133
58134
58135
58136
58137
58138
58139
58140
58141
58142
58143
58144
58145
58146
58147
58148
58149
58150
58151
58152
58153
58154
58155
58156
58157
58158
58159
58160
58161
58162
58163
58164
58165
58166
58167
58168
58169
58170
58171
58172
58173
58174
58175
58176
58177
58178
58179
58180
58181
58182
58183
58184
58185
58186
58187
58188
58189
58190
58191
58192
58193
58194
58195
58196
58197
58198
58199
58200
58201
58202
58203
58204
58205
58206
58207
58208
58209
58210
58211
58212
58213
58214
58215
58216
58217
58218
58219
58220
58221
58222
58223
58224
58225
58226
58227
58228
58229
58230
58231
58232
58233
58234
58235
58236
58237
58238
58239
58240
58241
58242
58243
58244
58245
58246
58247
58248
58249
58250
58251
58252
58253
58254
58255
58256
58257
58258
58259
58260
58261
58262
58263
58264
58265
58266
58267
58268
58269
58270
58271
58272
58273
58274
58275
58276
58277
58278
58279
58280
58281
58282
58283
58284
58285
58286
58287
58288
58289
58290
58291
58292
58293
58294
58295
58296
58297
58298
58299
58300
58301
58302
58303
58304
58305
58306
58307
58308
58309
58310
58311
58312
58313
58314
58315
58316
58317
58318
58319
58320
58321
58322
58323
58324
58325
58326
58327
58328
58329
58330
58331
58332
58333
58334
58335
58336
58337
58338
58339
58340
58341
58342
58343
58344
58345
58346
58347
58348
58349
58350
58351
58352
58353
58354
58355
58356
58357
58358
58359
58360
58361
58362
58363
58364
58365
58366
58367
58368
58369
58370
58371
58372
58373
58374
58375
58376
58377
58378
58379
58380
58381
58382
58383
58384
58385
58386
58387
58388
58389
58390
58391
58392
58393
58394
58395
58396
58397
58398
58399
58400
58401
58402
58403
58404
58405
58406
58407
58408
58409
58410
58411
58412
58413
58414
58415
58416
58417
58418
58419
58420
58421
58422
58423
58424
58425
58426
58427
58428
58429
58430
58431
58432
58433
58434
58435
58436
58437
58438
58439
58440
58441
58442
58443
58444
58445
58446
58447
58448
58449
58450
58451
58452
58453
58454
58455
58456
58457
58458
58459
58460
58461
58462
58463
58464
58465
58466
58467
58468
58469
58470
58471
58472
58473
58474
58475
58476
58477
58478
58479
58480
58481
58482
58483
58484
58485
58486
58487
58488
58489
58490
58491
58492
58493
58494
58495
58496
58497
58498
58499
58500
58501
58502
58503
58504
58505
58506
58507
58508
58509
58510
58511
58512
58513
58514
58515
58516
58517
58518
58519
58520
58521
58522
58523
58524
58525
58526
58527
58528
58529
58530
58531
58532
58533
58534
58535
58536
58537
58538
58539
58540
58541
58542
58543
58544
58545
58546
58547
58548
58549
58550
58551
58552
58553
58554
58555
58556
58557
58558
58559
58560
58561
58562
58563
58564
58565
58566
58567
58568
58569
58570
58571
58572
58573
58574
58575
58576
58577
58578
58579
58580
58581
58582
58583
58584
58585
58586
58587
58588
58589
58590
58591
58592
58593
58594
58595
58596
58597
58598
58599
58600
58601
58602
58603
58604
58605
58606
58607
58608
58609
58610
58611
58612
58613
58614
58615
58616
58617
58618
58619
58620
58621
58622
58623
58624
58625
58626
58627
58628
58629
58630
58631
58632
58633
58634
58635
58636
58637
58638
58639
58640
58641
58642
58643
58644
58645
58646
58647
58648
58649
58650
58651
58652
58653
58654
58655
58656
58657
58658
58659
58660
58661
58662
58663
58664
58665
58666
58667
58668
58669
58670
58671
58672
58673
58674
58675
58676
58677
58678
58679
58680
58681
58682
58683
58684
58685
58686
58687
58688
58689
58690
58691
58692
58693
58694
58695
58696
58697
58698
58699
58700
58701
58702
58703
58704
58705
58706
58707
58708
58709
58710
58711
58712
58713
58714
58715
58716
58717
58718
58719
58720
58721
58722
58723
58724
58725
58726
58727
58728
58729
58730
58731
58732
58733
58734
58735
58736
58737
58738
58739
58740
58741
58742
58743
58744
58745
58746
58747
58748
58749
58750
58751
58752
58753
58754
58755
58756
58757
58758
58759
58760
58761
58762
58763
58764
58765
58766
58767
58768
58769
58770
58771
58772
58773
58774
58775
58776
58777
58778
58779
58780
58781
58782
58783
58784
58785
58786
58787
58788
58789
58790
58791
58792
58793
58794
58795
58796
58797
58798
58799
58800
58801
58802
58803
58804
58805
58806
58807
58808
58809
58810
58811
58812
58813
58814
58815
58816
58817
58818
58819
58820
58821
58822
58823
58824
58825
58826
58827
58828
58829
58830
58831
58832
58833
58834
58835
58836
58837
58838
58839
58840
58841
58842
58843
58844
58845
58846
58847
58848
58849
58850
58851
58852
58853
58854
58855
58856
58857
58858
58859
58860
58861
58862
58863
58864
58865
58866
58867
58868
58869
58870
58871
58872
58873
58874
58875
58876
58877
58878
58879
58880
58881
58882
58883
58884
58885
58886
58887
58888
58889
58890
58891
58892
58893
58894
58895
58896
58897
58898
58899
58900
58901
58902
58903
58904
58905
58906
58907
58908
58909
58910
58911
58912
58913
58914
58915
58916
58917
58918
58919
58920
58921
58922
58923
58924
58925
58926
58927
58928
58929
58930
58931
58932
58933
58934
58935
58936
58937
58938
58939
58940
58941
58942
58943
58944
58945
58946
58947
58948
58949
58950
58951
58952
58953
58954
58955
58956
58957
58958
58959
58960
58961
58962
58963
58964
58965
58966
58967
58968
58969
58970
58971
58972
58973
58974
58975
58976
58977
58978
58979
58980
58981
58982
58983
58984
58985
58986
58987
58988
58989
58990
58991
58992
58993
58994
58995
58996
58997
58998
58999
59000
59001
59002
59003
59004
59005
59006
59007
59008
59009
59010
59011
59012
59013
59014
59015
59016
59017
59018
59019
59020
59021
59022
59023
59024
59025
59026
59027
59028
59029
59030
59031
59032
59033
59034
59035
59036
59037
59038
59039
59040
59041
59042
59043
59044
59045
59046
59047
59048
59049
59050
59051
59052
59053
59054
59055
59056
59057
59058
59059
59060
59061
59062
59063
59064
59065
59066
59067
59068
59069
59070
59071
59072
59073
59074
59075
59076
59077
59078
59079
59080
59081
59082
59083
59084
59085
59086
59087
59088
59089
59090
59091
59092
59093
59094
59095
59096
59097
59098
59099
59100
59101
59102
59103
59104
59105
59106
59107
59108
59109
59110
59111
59112
59113
59114
59115
59116
59117
59118
59119
59120
59121
59122
59123
59124
59125
59126
59127
59128
59129
59130
59131
59132
59133
59134
59135
59136
59137
59138
59139
59140
59141
59142
59143
59144
59145
59146
59147
59148
59149
59150
59151
59152
59153
59154
59155
59156
59157
59158
59159
59160
59161
59162
59163
59164
59165
59166
59167
59168
59169
59170
59171
59172
59173
59174
59175
59176
59177
59178
59179
59180
59181
59182
59183
59184
59185
59186
59187
59188
59189
59190
59191
59192
59193
59194
59195
59196
59197
59198
59199
59200
59201
59202
59203
59204
59205
59206
59207
59208
59209
59210
59211
59212
59213
59214
59215
59216
59217
59218
59219
59220
59221
59222
59223
59224
59225
59226
59227
59228
59229
59230
59231
59232
59233
59234
59235
59236
59237
59238
59239
59240
59241
59242
59243
59244
59245
59246
59247
59248
59249
59250
59251
59252
59253
59254
59255
59256
59257
59258
59259
59260
59261
59262
59263
59264
59265
59266
59267
59268
59269
59270
59271
59272
59273
59274
59275
59276
59277
59278
59279
59280
59281
59282
59283
59284
59285
59286
59287
59288
59289
59290
59291
59292
59293
59294
59295
59296
59297
59298
59299
59300
59301
59302
59303
59304
59305
59306
59307
59308
59309
59310
59311
59312
59313
59314
59315
59316
59317
59318
59319
59320
59321
59322
59323
59324
59325
59326
59327
59328
59329
59330
59331
59332
59333
59334
59335
59336
59337
59338
59339
59340
59341
59342
59343
59344
59345
59346
59347
59348
59349
59350
59351
59352
59353
59354
59355
59356
59357
59358
59359
59360
59361
59362
59363
59364
59365
59366
59367
59368
59369
59370
59371
59372
59373
59374
59375
59376
59377
59378
59379
59380
59381
59382
59383
59384
59385
59386
59387
59388
59389
59390
59391
59392
59393
59394
59395
59396
59397
59398
59399
59400
59401
59402
59403
59404
59405
59406
59407
59408
59409
59410
59411
59412
59413
59414
59415
59416
59417
59418
59419
59420
59421
59422
59423
59424
59425
59426
59427
59428
59429
59430
59431
59432
59433
59434
59435
59436
59437
59438
59439
59440
59441
59442
59443
59444
59445
59446
59447
59448
59449
59450
59451
59452
59453
59454
59455
59456
59457
59458
59459
59460
59461
59462
59463
59464
59465
59466
59467
59468
59469
59470
59471
59472
59473
59474
59475
59476
59477
59478
59479
59480
59481
59482
59483
59484
59485
59486
59487
59488
59489
59490
59491
59492
59493
59494
59495
59496
59497
59498
59499
59500
59501
59502
59503
59504
59505
59506
59507
59508
59509
59510
59511
59512
59513
59514
59515
59516
59517
59518
59519
59520
59521
59522
59523
59524
59525
59526
59527
59528
59529
59530
59531
59532
59533
59534
59535
59536
59537
59538
59539
59540
59541
59542
59543
59544
59545
59546
59547
59548
59549
59550
59551
59552
59553
59554
59555
59556
59557
59558
59559
59560
59561
59562
59563
59564
59565
59566
59567
59568
59569
59570
59571
59572
59573
59574
59575
59576
59577
59578
59579
59580
59581
59582
59583
59584
59585
59586
59587
59588
59589
59590
59591
59592
59593
59594
59595
59596
59597
59598
59599
59600
59601
59602
59603
59604
59605
59606
59607
59608
59609
59610
59611
59612
59613
59614
59615
59616
59617
59618
59619
59620
59621
59622
59623
59624
59625
59626
59627
59628
59629
59630
59631
59632
59633
59634
59635
59636
59637
59638
59639
59640
59641
59642
59643
59644
59645
59646
59647
59648
59649
59650
59651
59652
59653
59654
59655
59656
59657
59658
59659
59660
59661
59662
59663
59664
59665
59666
59667
59668
59669
59670
59671
59672
59673
59674
59675
59676
59677
59678
59679
59680
59681
59682
59683
59684
59685
59686
59687
59688
59689
59690
59691
59692
59693
59694
59695
59696
59697
59698
59699
59700
59701
59702
59703
59704
59705
59706
59707
59708
59709
59710
59711
59712
59713
59714
59715
59716
59717
59718
59719
59720
59721
59722
59723
59724
59725
59726
59727
59728
59729
59730
59731
59732
59733
59734
59735
59736
59737
59738
59739
59740
59741
59742
59743
59744
59745
59746
59747
59748
59749
59750
59751
59752
59753
59754
59755
59756
59757
59758
59759
59760
59761
59762
59763
59764
59765
59766
59767
59768
59769
59770
59771
59772
59773
59774
59775
59776
59777
59778
59779
59780
59781
59782
59783
59784
59785
59786
59787
59788
59789
59790
59791
59792
59793
59794
59795
59796
59797
59798
59799
59800
59801
59802
59803
59804
59805
59806
59807
59808
59809
59810
59811
59812
59813
59814
59815
59816
59817
59818
59819
59820
59821
59822
59823
59824
59825
59826
59827
59828
59829
59830
59831
59832
59833
59834
59835
59836
59837
59838
59839
59840
59841
59842
59843
59844
59845
59846
59847
59848
59849
59850
59851
59852
59853
59854
59855
59856
59857
59858
59859
59860
59861
59862
59863
59864
59865
59866
59867
59868
59869
59870
59871
59872
59873
59874
59875
59876
59877
59878
59879
59880
59881
59882
59883
59884
59885
59886
59887
59888
59889
59890
59891
59892
59893
59894
59895
59896
59897
59898
59899
59900
59901
59902
59903
59904
59905
59906
59907
59908
59909
59910
59911
59912
59913
59914
59915
59916
59917
59918
59919
59920
59921
59922
59923
59924
59925
59926
59927
59928
59929
59930
59931
59932
59933
59934
59935
59936
59937
59938
59939
59940
59941
59942
59943
59944
59945
59946
59947
59948
59949
59950
59951
59952
59953
59954
59955
59956
59957
59958
59959
59960
59961
59962
59963
59964
59965
59966
59967
59968
59969
59970
59971
59972
59973
59974
59975
59976
59977
59978
59979
59980
59981
59982
59983
59984
59985
59986
59987
59988
59989
59990
59991
59992
59993
59994
59995
59996
59997
59998
59999
60000
60001
60002
60003
60004
60005
60006
60007
60008
60009
60010
60011
60012
60013
60014
60015
60016
60017
60018
60019
60020
60021
60022
60023
60024
60025
60026
60027
60028
60029
60030
60031
60032
60033
60034
60035
60036
60037
60038
60039
60040
60041
60042
60043
60044
60045
60046
60047
60048
60049
60050
60051
60052
60053
60054
60055
60056
60057
60058
60059
60060
60061
60062
60063
60064
60065
60066
60067
60068
60069
60070
60071
60072
60073
60074
60075
60076
60077
60078
60079
60080
60081
60082
60083
60084
60085
60086
60087
60088
60089
60090
60091
60092
60093
60094
60095
60096
60097
60098
60099
60100
60101
60102
60103
60104
60105
60106
60107
60108
60109
60110
60111
60112
60113
60114
60115
60116
60117
60118
60119
60120
60121
60122
60123
60124
60125
60126
60127
60128
60129
60130
60131
60132
60133
60134
60135
60136
60137
60138
60139
60140
60141
60142
60143
60144
60145
60146
60147
60148
60149
60150
60151
60152
60153
60154
60155
60156
60157
60158
60159
60160
60161
60162
60163
60164
60165
60166
60167
60168
60169
60170
60171
60172
60173
60174
60175
60176
60177
60178
60179
60180
60181
60182
60183
60184
60185
60186
60187
60188
60189
60190
60191
60192
60193
60194
60195
60196
60197
60198
60199
60200
60201
60202
60203
60204
60205
60206
60207
60208
60209
60210
60211
60212
60213
60214
60215
60216
60217
60218
60219
60220
60221
60222
60223
60224
60225
60226
60227
60228
60229
60230
60231
60232
60233
60234
60235
60236
60237
60238
60239
60240
60241
60242
60243
60244
60245
60246
60247
60248
60249
60250
60251
60252
60253
60254
60255
60256
60257
60258
60259
60260
60261
60262
60263
60264
60265
60266
60267
60268
60269
60270
60271
60272
60273
60274
60275
60276
60277
60278
60279
60280
60281
60282
60283
60284
60285
60286
60287
60288
60289
60290
60291
60292
60293
60294
60295
60296
60297
60298
60299
60300
60301
60302
60303
60304
60305
60306
60307
60308
60309
60310
60311
60312
60313
60314
60315
60316
60317
60318
60319
60320
60321
60322
60323
60324
60325
60326
60327
60328
60329
60330
60331
60332
60333
60334
60335
60336
60337
60338
60339
60340
60341
60342
60343
60344
60345
60346
60347
60348
60349
60350
60351
60352
60353
60354
60355
60356
60357
60358
60359
60360
60361
60362
60363
60364
60365
60366
60367
60368
60369
60370
60371
60372
60373
60374
60375
60376
60377
60378
60379
60380
60381
60382
60383
60384
60385
60386
60387
60388
60389
60390
60391
60392
60393
60394
60395
60396
60397
60398
60399
60400
60401
60402
60403
60404
60405
60406
60407
60408
60409
60410
60411
60412
60413
60414
60415
60416
60417
60418
60419
60420
60421
60422
60423
60424
60425
60426
60427
60428
60429
60430
60431
60432
60433
60434
60435
60436
60437
60438
60439
60440
60441
60442
60443
60444
60445
60446
60447
60448
60449
60450
60451
60452
60453
60454
60455
60456
60457
60458
60459
60460
60461
60462
60463
60464
60465
60466
60467
60468
60469
60470
60471
60472
60473
60474
60475
60476
60477
60478
60479
60480
60481
60482
60483
60484
60485
60486
60487
60488
60489
60490
60491
60492
60493
60494
60495
60496
60497
60498
60499
60500
60501
60502
60503
60504
60505
60506
60507
60508
60509
60510
60511
60512
60513
60514
60515
60516
60517
60518
60519
60520
60521
60522
60523
60524
60525
60526
60527
60528
60529
60530
60531
60532
60533
60534
60535
60536
60537
60538
60539
60540
60541
60542
60543
60544
60545
60546
60547
60548
60549
60550
60551
60552
60553
60554
60555
60556
60557
60558
60559
60560
60561
60562
60563
60564
60565
60566
60567
60568
60569
60570
60571
60572
60573
60574
60575
60576
60577
60578
60579
60580
60581
60582
60583
60584
60585
60586
60587
60588
60589
60590
60591
60592
60593
60594
60595
60596
60597
60598
60599
60600
60601
60602
60603
60604
60605
60606
60607
60608
60609
60610
60611
60612
60613
60614
60615
60616
60617
60618
60619
60620
60621
60622
60623
60624
60625
60626
60627
60628
60629
60630
60631
60632
60633
60634
60635
60636
60637
60638
60639
60640
60641
60642
60643
60644
60645
60646
60647
60648
60649
60650
60651
60652
60653
60654
60655
60656
60657
60658
60659
60660
60661
60662
60663
60664
60665
60666
60667
60668
60669
60670
60671
60672
60673
60674
60675
60676
60677
60678
60679
60680
60681
60682
60683
60684
60685
60686
60687
60688
60689
60690
60691
60692
60693
60694
60695
60696
60697
60698
60699
60700
60701
60702
60703
60704
60705
60706
60707
60708
60709
60710
60711
60712
60713
60714
60715
60716
60717
60718
60719
60720
60721
60722
60723
60724
60725
60726
60727
60728
60729
60730
60731
60732
60733
60734
60735
60736
60737
60738
60739
60740
60741
60742
60743
60744
60745
60746
60747
60748
60749
60750
60751
60752
60753
60754
60755
60756
60757
60758
60759
60760
60761
60762
60763
60764
60765
60766
60767
60768
60769
60770
60771
60772
60773
60774
60775
60776
60777
60778
60779
60780
60781
60782
60783
60784
60785
60786
60787
60788
60789
60790
60791
60792
60793
60794
60795
60796
60797
60798
60799
60800
60801
60802
60803
60804
60805
60806
60807
60808
60809
60810
60811
60812
60813
60814
60815
60816
60817
60818
60819
60820
60821
60822
60823
60824
60825
60826
60827
60828
60829
60830
60831
60832
60833
60834
60835
60836
60837
60838
60839
60840
60841
60842
60843
60844
60845
60846
60847
60848
60849
60850
60851
60852
60853
60854
60855
60856
60857
60858
60859
60860
60861
60862
60863
60864
60865
60866
60867
60868
60869
60870
60871
60872
60873
60874
60875
60876
60877
60878
60879
60880
60881
60882
60883
60884
60885
60886
60887
60888
60889
60890
60891
60892
60893
60894
60895
60896
60897
60898
60899
60900
60901
60902
60903
60904
60905
60906
60907
60908
60909
60910
60911
60912
60913
60914
60915
60916
60917
60918
60919
60920
60921
60922
60923
60924
60925
60926
60927
60928
60929
60930
60931
60932
60933
60934
60935
60936
60937
60938
60939
60940
60941
60942
60943
60944
60945
60946
60947
60948
60949
60950
60951
60952
60953
60954
60955
60956
60957
60958
60959
60960
60961
60962
60963
60964
60965
60966
60967
60968
60969
60970
60971
60972
60973
60974
60975
60976
60977
60978
60979
60980
60981
60982
60983
60984
60985
60986
60987
60988
60989
60990
60991
60992
60993
60994
60995
60996
60997
60998
60999
61000
61001
61002
61003
61004
61005
61006
61007
61008
61009
61010
61011
61012
61013
61014
61015
61016
61017
61018
61019
61020
61021
61022
61023
61024
61025
61026
61027
61028
61029
61030
61031
61032
61033
61034
61035
61036
61037
61038
61039
61040
61041
61042
61043
61044
61045
61046
61047
61048
61049
61050
61051
61052
61053
61054
61055
61056
61057
61058
61059
61060
61061
61062
61063
61064
61065
61066
61067
61068
61069
61070
61071
61072
61073
61074
61075
61076
61077
61078
61079
61080
61081
61082
61083
61084
61085
61086
61087
61088
61089
61090
61091
61092
61093
61094
61095
61096
61097
61098
61099
61100
61101
61102
61103
61104
61105
61106
61107
61108
61109
61110
61111
61112
61113
61114
61115
61116
61117
61118
61119
61120
61121
61122
61123
61124
61125
61126
61127
61128
61129
61130
61131
61132
61133
61134
61135
61136
61137
61138
61139
61140
61141
61142
61143
61144
61145
61146
61147
61148
61149
61150
61151
61152
61153
61154
61155
61156
61157
61158
61159
61160
61161
61162
61163
61164
61165
61166
61167
61168
61169
61170
61171
61172
61173
61174
61175
61176
61177
61178
61179
61180
61181
61182
61183
61184
61185
61186
61187
61188
61189
61190
61191
61192
61193
61194
61195
61196
61197
61198
61199
61200
61201
61202
61203
61204
61205
61206
61207
61208
61209
61210
61211
61212
61213
61214
61215
61216
61217
61218
61219
61220
61221
61222
61223
61224
61225
61226
61227
61228
61229
61230
61231
61232
61233
61234
61235
61236
61237
61238
61239
61240
61241
61242
61243
61244
61245
61246
61247
61248
61249
61250
61251
61252
61253
61254
61255
61256
61257
61258
61259
61260
61261
61262
61263
61264
61265
61266
61267
61268
61269
61270
61271
61272
61273
61274
61275
61276
61277
61278
61279
61280
61281
61282
61283
61284
61285
61286
61287
61288
61289
61290
61291
61292
61293
61294
61295
61296
61297
61298
61299
61300
61301
61302
61303
61304
61305
61306
61307
61308
61309
61310
61311
61312
61313
61314
61315
61316
61317
61318
61319
61320
61321
61322
61323
61324
61325
61326
61327
61328
61329
61330
61331
61332
61333
61334
61335
61336
61337
61338
61339
61340
61341
61342
61343
61344
61345
61346
61347
61348
61349
61350
61351
61352
61353
61354
61355
61356
61357
61358
61359
61360
61361
61362
61363
61364
61365
61366
61367
61368
61369
61370
61371
61372
61373
61374
61375
61376
61377
61378
61379
61380
61381
61382
61383
61384
61385
61386
61387
61388
61389
61390
61391
61392
61393
61394
61395
61396
61397
61398
61399
61400
61401
61402
61403
61404
61405
61406
61407
61408
61409
61410
61411
61412
61413
61414
61415
61416
61417
61418
61419
61420
61421
61422
61423
61424
61425
61426
61427
61428
61429
61430
61431
61432
61433
61434
61435
61436
61437
61438
61439
61440
61441
61442
61443
61444
61445
61446
61447
61448
61449
61450
61451
61452
61453
61454
61455
61456
61457
61458
61459
61460
61461
61462
61463
61464
61465
61466
61467
61468
61469
61470
61471
61472
61473
61474
61475
61476
61477
61478
61479
61480
61481
61482
61483
61484
61485
61486
61487
61488
61489
61490
61491
61492
61493
61494
61495
61496
61497
61498
61499
61500
61501
61502
61503
61504
61505
61506
61507
61508
61509
61510
61511
61512
61513
61514
61515
61516
61517
61518
61519
61520
61521
61522
61523
61524
61525
61526
61527
61528
61529
61530
61531
61532
61533
61534
61535
61536
61537
61538
61539
61540
61541
61542
61543
61544
61545
61546
61547
61548
61549
61550
61551
61552
61553
61554
61555
61556
61557
61558
61559
61560
61561
61562
61563
61564
61565
61566
61567
61568
61569
61570
61571
61572
61573
61574
61575
61576
61577
61578
61579
61580
61581
61582
61583
61584
61585
61586
61587
61588
61589
61590
61591
61592
61593
61594
61595
61596
61597
61598
61599
61600
61601
61602
61603
61604
61605
61606
61607
61608
61609
61610
61611
61612
61613
61614
61615
61616
61617
61618
61619
61620
61621
61622
61623
61624
61625
61626
61627
61628
61629
61630
61631
61632
61633
61634
61635
61636
61637
61638
61639
61640
61641
61642
61643
61644
61645
61646
61647
61648
61649
61650
61651
61652
61653
61654
61655
61656
61657
61658
61659
61660
61661
61662
61663
61664
61665
61666
61667
61668
61669
61670
61671
61672
61673
61674
61675
61676
61677
61678
61679
61680
61681
61682
61683
61684
61685
61686
61687
61688
61689
61690
61691
61692
61693
61694
61695
61696
61697
61698
61699
61700
61701
61702
61703
61704
61705
61706
61707
61708
61709
61710
61711
61712
61713
61714
61715
61716
61717
61718
61719
61720
61721
61722
61723
61724
61725
61726
61727
61728
61729
61730
61731
61732
61733
61734
61735
61736
61737
61738
61739
61740
61741
61742
61743
61744
61745
61746
61747
61748
61749
61750
61751
61752
61753
61754
61755
61756
61757
61758
61759
61760
61761
61762
61763
61764
61765
61766
61767
61768
61769
61770
61771
61772
61773
61774
61775
61776
61777
61778
61779
61780
61781
61782
61783
61784
61785
61786
61787
61788
61789
61790
61791
61792
61793
61794
61795
61796
61797
61798
61799
61800
61801
61802
61803
61804
61805
61806
61807
61808
61809
61810
61811
61812
61813
61814
61815
61816
61817
61818
61819
61820
61821
61822
61823
61824
61825
61826
61827
61828
61829
61830
61831
61832
61833
61834
61835
61836
61837
61838
61839
61840
61841
61842
61843
61844
61845
61846
61847
61848
61849
61850
61851
61852
61853
61854
61855
61856
61857
61858
61859
61860
61861
61862
61863
61864
61865
61866
61867
61868
61869
61870
61871
61872
61873
61874
61875
61876
61877
61878
61879
61880
61881
61882
61883
61884
61885
61886
61887
61888
61889
61890
61891
61892
61893
61894
61895
61896
61897
61898
61899
61900
61901
61902
61903
61904
61905
61906
61907
61908
61909
61910
61911
61912
61913
61914
61915
61916
61917
61918
61919
61920
61921
61922
61923
61924
61925
61926
61927
61928
61929
61930
61931
61932
61933
61934
61935
61936
61937
61938
61939
61940
61941
61942
61943
61944
61945
61946
61947
61948
61949
61950
61951
61952
61953
61954
61955
61956
61957
61958
61959
61960
61961
61962
61963
61964
61965
61966
61967
61968
61969
61970
61971
61972
61973
61974
61975
61976
61977
61978
61979
61980
61981
61982
61983
61984
61985
61986
61987
61988
61989
61990
61991
61992
61993
61994
61995
61996
61997
61998
61999
62000
62001
62002
62003
62004
62005
62006
62007
62008
62009
62010
62011
62012
62013
62014
62015
62016
62017
62018
62019
62020
62021
62022
62023
62024
62025
62026
62027
62028
62029
62030
62031
62032
62033
62034
62035
62036
62037
62038
62039
62040
62041
62042
62043
62044
62045
62046
62047
62048
62049
62050
62051
62052
62053
62054
62055
62056
62057
62058
62059
62060
62061
62062
62063
62064
62065
62066
62067
62068
62069
62070
62071
62072
62073
62074
62075
62076
62077
62078
62079
62080
62081
62082
62083
62084
62085
62086
62087
62088
62089
62090
62091
62092
62093
62094
62095
62096
62097
62098
62099
62100
62101
62102
62103
62104
62105
62106
62107
62108
62109
62110
62111
62112
62113
62114
62115
62116
62117
62118
62119
62120
62121
62122
62123
62124
62125
62126
62127
62128
62129
62130
62131
62132
62133
62134
62135
62136
62137
62138
62139
62140
62141
62142
62143
62144
62145
62146
62147
62148
62149
62150
62151
62152
62153
62154
62155
62156
62157
62158
62159
62160
62161
62162
62163
62164
62165
62166
62167
62168
62169
62170
62171
62172
62173
62174
62175
62176
62177
62178
62179
62180
62181
62182
62183
62184
62185
62186
62187
62188
62189
62190
62191
62192
62193
62194
62195
62196
62197
62198
62199
62200
62201
62202
62203
62204
62205
62206
62207
62208
62209
62210
62211
62212
62213
62214
62215
62216
62217
62218
62219
62220
62221
62222
62223
62224
62225
62226
62227
62228
62229
62230
62231
62232
62233
62234
62235
62236
62237
62238
62239
62240
62241
62242
62243
62244
62245
62246
62247
62248
62249
62250
62251
62252
62253
62254
62255
62256
62257
62258
62259
62260
62261
62262
62263
62264
62265
62266
62267
62268
62269
62270
62271
62272
62273
62274
62275
62276
62277
62278
62279
62280
62281
62282
62283
62284
62285
62286
62287
62288
62289
62290
62291
62292
62293
62294
62295
62296
62297
62298
62299
62300
62301
62302
62303
62304
62305
62306
62307
62308
62309
62310
62311
62312
62313
62314
62315
62316
62317
62318
62319
62320
62321
62322
62323
62324
62325
62326
62327
62328
62329
62330
62331
62332
62333
62334
62335
62336
62337
62338
62339
62340
62341
62342
62343
62344
62345
62346
62347
62348
62349
62350
62351
62352
62353
62354
62355
62356
62357
62358
62359
62360
62361
62362
62363
62364
62365
62366
62367
62368
62369
62370
62371
62372
62373
62374
62375
62376
62377
62378
62379
62380
62381
62382
62383
62384
62385
62386
62387
62388
62389
62390
62391
62392
62393
62394
62395
62396
62397
62398
62399
62400
62401
62402
62403
62404
62405
62406
62407
62408
62409
62410
62411
62412
62413
62414
62415
62416
62417
62418
62419
62420
62421
62422
62423
62424
62425
62426
62427
62428
62429
62430
62431
62432
62433
62434
62435
62436
62437
62438
62439
62440
62441
62442
62443
62444
62445
62446
62447
62448
62449
62450
62451
62452
62453
62454
62455
62456
62457
62458
62459
62460
62461
62462
62463
62464
62465
62466
62467
62468
62469
62470
62471
62472
62473
62474
62475
62476
62477
62478
62479
62480
62481
62482
62483
62484
62485
62486
62487
62488
62489
62490
62491
62492
62493
62494
62495
62496
62497
62498
62499
62500
62501
62502
62503
62504
62505
62506
62507
62508
62509
62510
62511
62512
62513
62514
62515
62516
62517
62518
62519
62520
62521
62522
62523
62524
62525
62526
62527
62528
62529
62530
62531
62532
62533
62534
62535
62536
62537
62538
62539
62540
62541
62542
62543
62544
62545
62546
62547
62548
62549
62550
62551
62552
62553
62554
62555
62556
62557
62558
62559
62560
62561
62562
62563
62564
62565
62566
62567
62568
62569
62570
62571
62572
62573
62574
62575
62576
62577
62578
62579
62580
62581
62582
62583
62584
62585
62586
62587
62588
62589
62590
62591
62592
62593
62594
62595
62596
62597
62598
62599
62600
62601
62602
62603
62604
62605
62606
62607
62608
62609
62610
62611
62612
62613
62614
62615
62616
62617
62618
62619
62620
62621
62622
62623
62624
62625
62626
62627
62628
62629
62630
62631
62632
62633
62634
62635
62636
62637
62638
62639
62640
62641
62642
62643
62644
62645
62646
62647
62648
62649
62650
62651
62652
62653
62654
62655
62656
62657
62658
62659
62660
62661
62662
62663
62664
62665
62666
62667
62668
62669
62670
62671
62672
62673
62674
62675
62676
62677
62678
62679
62680
62681
62682
62683
62684
62685
62686
62687
62688
62689
62690
62691
62692
62693
62694
62695
62696
62697
62698
62699
62700
62701
62702
62703
62704
62705
62706
62707
62708
62709
62710
62711
62712
62713
62714
62715
62716
62717
62718
62719
62720
62721
62722
62723
62724
62725
62726
62727
62728
62729
62730
62731
62732
62733
62734
62735
62736
62737
62738
62739
62740
62741
62742
62743
62744
62745
62746
62747
62748
62749
62750
62751
62752
62753
62754
62755
62756
62757
62758
62759
62760
62761
62762
62763
62764
62765
62766
62767
62768
62769
62770
62771
62772
62773
62774
62775
62776
62777
62778
62779
62780
62781
62782
62783
62784
62785
62786
62787
62788
62789
62790
62791
62792
62793
62794
62795
62796
62797
62798
62799
62800
62801
62802
62803
62804
62805
62806
62807
62808
62809
62810
62811
62812
62813
62814
62815
62816
62817
62818
62819
62820
62821
62822
62823
62824
62825
62826
62827
62828
62829
62830
62831
62832
62833
62834
62835
62836
62837
62838
62839
62840
62841
62842
62843
62844
62845
62846
62847
62848
62849
62850
62851
62852
62853
62854
62855
62856
62857
62858
62859
62860
62861
62862
62863
62864
62865
62866
62867
62868
62869
62870
62871
62872
62873
62874
62875
62876
62877
62878
62879
62880
62881
62882
62883
62884
62885
62886
62887
62888
62889
62890
62891
62892
62893
62894
62895
62896
62897
62898
62899
62900
62901
62902
62903
62904
62905
62906
62907
62908
62909
62910
62911
62912
62913
62914
62915
62916
62917
62918
62919
62920
62921
62922
62923
62924
62925
62926
62927
62928
62929
62930
62931
62932
62933
62934
62935
62936
62937
62938
62939
62940
62941
62942
62943
62944
62945
62946
62947
62948
62949
62950
62951
62952
62953
62954
62955
62956
62957
62958
62959
62960
62961
62962
62963
62964
62965
62966
62967
62968
62969
62970
62971
62972
62973
62974
62975
62976
62977
62978
62979
62980
62981
62982
62983
62984
62985
62986
62987
62988
62989
62990
62991
62992
62993
62994
62995
62996
62997
62998
62999
63000
63001
63002
63003
63004
63005
63006
63007
63008
63009
63010
63011
63012
63013
63014
63015
63016
63017
63018
63019
63020
63021
63022
63023
63024
63025
63026
63027
63028
63029
63030
63031
63032
63033
63034
63035
63036
63037
63038
63039
63040
63041
63042
63043
63044
63045
63046
63047
63048
63049
63050
63051
63052
63053
63054
63055
63056
63057
63058
63059
63060
63061
63062
63063
63064
63065
63066
63067
63068
63069
63070
63071
63072
63073
63074
63075
63076
63077
63078
63079
63080
63081
63082
63083
63084
63085
63086
63087
63088
63089
63090
63091
63092
63093
63094
63095
63096
63097
63098
63099
63100
63101
63102
63103
63104
63105
63106
63107
63108
63109
63110
63111
63112
63113
63114
63115
63116
63117
63118
63119
63120
63121
63122
63123
63124
63125
63126
63127
63128
63129
63130
63131
63132
63133
63134
63135
63136
63137
63138
63139
63140
63141
63142
63143
63144
63145
63146
63147
63148
63149
63150
63151
63152
63153
63154
63155
63156
63157
63158
63159
63160
63161
63162
63163
63164
63165
63166
63167
63168
63169
63170
63171
63172
63173
63174
63175
63176
63177
63178
63179
63180
63181
63182
63183
63184
63185
63186
63187
63188
63189
63190
63191
63192
63193
63194
63195
63196
63197
63198
63199
63200
63201
63202
63203
63204
63205
63206
63207
63208
63209
63210
63211
63212
63213
63214
63215
63216
63217
63218
63219
63220
63221
63222
63223
63224
63225
63226
63227
63228
63229
63230
63231
63232
63233
63234
63235
63236
63237
63238
63239
63240
63241
63242
63243
63244
63245
63246
63247
63248
63249
63250
63251
63252
63253
63254
63255
63256
63257
63258
63259
63260
63261
63262
63263
63264
63265
63266
63267
63268
63269
63270
63271
63272
63273
63274
63275
63276
63277
63278
63279
63280
63281
63282
63283
63284
63285
63286
63287
63288
63289
63290
63291
63292
63293
63294
63295
63296
63297
63298
63299
63300
63301
63302
63303
63304
63305
63306
63307
63308
63309
63310
63311
63312
63313
63314
63315
63316
63317
63318
63319
63320
63321
63322
63323
63324
63325
63326
63327
63328
63329
63330
63331
63332
63333
63334
63335
63336
63337
63338
63339
63340
63341
63342
63343
63344
63345
63346
63347
63348
63349
63350
63351
63352
63353
63354
63355
63356
63357
63358
63359
63360
63361
63362
63363
63364
63365
63366
63367
63368
63369
63370
63371
63372
63373
63374
63375
63376
63377
63378
63379
63380
63381
63382
63383
63384
63385
63386
63387
63388
63389
63390
63391
63392
63393
63394
63395
63396
63397
63398
63399
63400
63401
63402
63403
63404
63405
63406
63407
63408
63409
63410
63411
63412
63413
63414
63415
63416
63417
63418
63419
63420
63421
63422
63423
63424
63425
63426
63427
63428
63429
63430
63431
63432
63433
63434
63435
63436
63437
63438
63439
63440
63441
63442
63443
63444
63445
63446
63447
63448
63449
63450
63451
63452
63453
63454
63455
63456
63457
63458
63459
63460
63461
63462
63463
63464
63465
63466
63467
63468
63469
63470
63471
63472
63473
63474
63475
63476
63477
63478
63479
63480
63481
63482
63483
63484
63485
63486
63487
63488
63489
63490
63491
63492
63493
63494
63495
63496
63497
63498
63499
63500
63501
63502
63503
63504
63505
63506
63507
63508
63509
63510
63511
63512
63513
63514
63515
63516
63517
63518
63519
63520
63521
63522
63523
63524
63525
63526
63527
63528
63529
63530
63531
63532
63533
63534
63535
63536
63537
63538
63539
63540
63541
63542
63543
63544
63545
63546
63547
63548
63549
63550
63551
63552
63553
63554
63555
63556
63557
63558
63559
63560
63561
63562
63563
63564
63565
63566
63567
63568
63569
63570
63571
63572
63573
63574
63575
63576
63577
63578
63579
63580
63581
63582
63583
63584
63585
63586
63587
63588
63589
63590
63591
63592
63593
63594
63595
63596
63597
63598
63599
63600
63601
63602
63603
63604
63605
63606
63607
63608
63609
63610
63611
63612
63613
63614
63615
63616
63617
63618
63619
63620
63621
63622
63623
63624
63625
63626
63627
63628
63629
63630
63631
63632
63633
63634
63635
63636
63637
63638
63639
63640
63641
63642
63643
63644
63645
63646
63647
63648
63649
63650
63651
63652
63653
63654
63655
63656
63657
63658
63659
63660
63661
63662
63663
63664
63665
63666
63667
63668
63669
63670
63671
63672
63673
63674
63675
63676
63677
63678
63679
63680
63681
63682
63683
63684
63685
63686
63687
63688
63689
63690
63691
63692
63693
63694
63695
63696
63697
63698
63699
63700
63701
63702
63703
63704
63705
63706
63707
63708
63709
63710
63711
63712
63713
63714
63715
63716
63717
63718
63719
63720
63721
63722
63723
63724
63725
63726
63727
63728
63729
63730
63731
63732
63733
63734
63735
63736
63737
63738
63739
63740
63741
63742
63743
63744
63745
63746
63747
63748
63749
63750
63751
63752
63753
63754
63755
63756
63757
63758
63759
63760
63761
63762
63763
63764
63765
63766
63767
63768
63769
63770
63771
63772
63773
63774
63775
63776
63777
63778
63779
63780
63781
63782
63783
63784
63785
63786
63787
63788
63789
63790
63791
63792
63793
63794
63795
63796
63797
63798
63799
63800
63801
63802
63803
63804
63805
63806
63807
63808
63809
63810
63811
63812
63813
63814
63815
63816
63817
63818
63819
63820
63821
63822
63823
63824
63825
63826
63827
63828
63829
63830
63831
63832
63833
63834
63835
63836
63837
63838
63839
63840
63841
63842
63843
63844
63845
63846
63847
63848
63849
63850
63851
63852
63853
63854
63855
63856
63857
63858
63859
63860
63861
63862
63863
63864
63865
63866
63867
63868
63869
63870
63871
63872
63873
63874
63875
63876
63877
63878
63879
63880
63881
63882
63883
63884
63885
63886
63887
63888
63889
63890
63891
63892
63893
63894
63895
63896
63897
63898
63899
63900
63901
63902
63903
63904
63905
63906
63907
63908
63909
63910
63911
63912
63913
63914
63915
63916
63917
63918
63919
63920
63921
63922
63923
63924
63925
63926
63927
63928
63929
63930
63931
63932
63933
63934
63935
63936
63937
63938
63939
63940
63941
63942
63943
63944
63945
63946
63947
63948
63949
63950
63951
63952
63953
63954
63955
63956
63957
63958
63959
63960
63961
63962
63963
63964
63965
63966
63967
63968
63969
63970
63971
63972
63973
63974
63975
63976
63977
63978
63979
63980
63981
63982
63983
63984
63985
63986
63987
63988
63989
63990
63991
63992
63993
63994
63995
63996
63997
63998
63999
64000
64001
64002
64003
64004
64005
64006
64007
64008
64009
64010
64011
64012
64013
64014
64015
64016
64017
64018
64019
64020
64021
64022
64023
64024
64025
64026
64027
64028
64029
64030
64031
64032
64033
64034
64035
64036
64037
64038
64039
64040
64041
64042
64043
64044
64045
64046
64047
64048
64049
64050
64051
64052
64053
64054
64055
64056
64057
64058
64059
64060
64061
64062
64063
64064
64065
64066
64067
64068
64069
64070
64071
64072
64073
64074
64075
64076
64077
64078
64079
64080
64081
64082
64083
64084
64085
64086
64087
64088
64089
64090
64091
64092
64093
64094
64095
64096
64097
64098
64099
64100
64101
64102
64103
64104
64105
64106
64107
64108
64109
64110
64111
64112
64113
64114
64115
64116
64117
64118
64119
64120
64121
64122
64123
64124
64125
64126
64127
64128
64129
64130
64131
64132
64133
64134
64135
64136
64137
64138
64139
64140
64141
64142
64143
64144
64145
64146
64147
64148
64149
64150
64151
64152
64153
64154
64155
64156
64157
64158
64159
64160
64161
64162
64163
64164
64165
64166
64167
64168
64169
64170
64171
64172
64173
64174
64175
64176
64177
64178
64179
64180
64181
64182
64183
64184
64185
64186
64187
64188
64189
64190
64191
64192
64193
64194
64195
64196
64197
64198
64199
64200
64201
64202
64203
64204
64205
64206
64207
64208
64209
64210
64211
64212
64213
64214
64215
64216
64217
64218
64219
64220
64221
64222
64223
64224
64225
64226
64227
64228
64229
64230
64231
64232
64233
64234
64235
64236
64237
64238
64239
64240
64241
64242
64243
64244
64245
64246
64247
64248
64249
64250
64251
64252
64253
64254
64255
64256
64257
64258
64259
64260
64261
64262
64263
64264
64265
64266
64267
64268
64269
64270
64271
64272
64273
64274
64275
64276
64277
64278
64279
64280
64281
64282
64283
64284
64285
64286
64287
64288
64289
64290
64291
64292
64293
64294
64295
64296
64297
64298
64299
64300
64301
64302
64303
64304
64305
64306
64307
64308
64309
64310
64311
64312
64313
64314
64315
64316
64317
64318
64319
64320
64321
64322
64323
64324
64325
64326
64327
64328
64329
64330
64331
64332
64333
64334
64335
64336
64337
64338
64339
64340
64341
64342
64343
64344
64345
64346
64347
64348
64349
64350
64351
64352
64353
64354
64355
64356
64357
64358
64359
64360
64361
64362
64363
64364
64365
64366
64367
64368
64369
64370
64371
64372
64373
64374
64375
64376
64377
64378
64379
64380
64381
64382
64383
64384
64385
64386
64387
64388
64389
64390
64391
64392
64393
64394
64395
64396
64397
64398
64399
64400
64401
64402
64403
64404
64405
64406
64407
64408
64409
64410
64411
64412
64413
64414
64415
64416
64417
64418
64419
64420
64421
64422
64423
64424
64425
64426
64427
64428
64429
64430
64431
64432
64433
64434
64435
64436
64437
64438
64439
64440
64441
64442
64443
64444
64445
64446
64447
64448
64449
64450
64451
64452
64453
64454
64455
64456
64457
64458
64459
64460
64461
64462
64463
64464
64465
64466
64467
64468
64469
64470
64471
64472
64473
64474
64475
64476
64477
64478
64479
64480
64481
64482
64483
64484
64485
64486
64487
64488
64489
64490
64491
64492
64493
64494
64495
64496
64497
64498
64499
64500
64501
64502
64503
64504
64505
64506
64507
64508
64509
64510
64511
64512
64513
64514
64515
64516
64517
64518
64519
64520
64521
64522
64523
64524
64525
64526
64527
64528
64529
64530
64531
64532
64533
64534
64535
64536
64537
64538
64539
64540
64541
64542
64543
64544
64545
64546
64547
64548
64549
64550
64551
64552
64553
64554
64555
64556
64557
64558
64559
64560
64561
64562
64563
64564
64565
64566
64567
64568
64569
64570
64571
64572
64573
64574
64575
64576
64577
64578
64579
64580
64581
64582
64583
64584
64585
64586
64587
64588
64589
64590
64591
64592
64593
64594
64595
64596
64597
64598
64599
64600
64601
64602
64603
64604
64605
64606
64607
64608
64609
64610
64611
64612
64613
64614
64615
64616
64617
64618
64619
64620
64621
64622
64623
64624
64625
64626
64627
64628
64629
64630
64631
64632
64633
64634
64635
64636
64637
64638
64639
64640
64641
64642
64643
64644
64645
64646
64647
64648
64649
64650
64651
64652
64653
64654
64655
64656
64657
64658
64659
64660
64661
64662
64663
64664
64665
64666
64667
64668
64669
64670
64671
64672
64673
64674
64675
64676
64677
64678
64679
64680
64681
64682
64683
64684
64685
64686
64687
64688
64689
64690
64691
64692
64693
64694
64695
64696
64697
64698
64699
64700
64701
64702
64703
64704
64705
64706
64707
64708
64709
64710
64711
64712
64713
64714
64715
64716
64717
64718
64719
64720
64721
64722
64723
64724
64725
64726
64727
64728
64729
64730
64731
64732
64733
64734
64735
64736
64737
64738
64739
64740
64741
64742
64743
64744
64745
64746
64747
64748
64749
64750
64751
64752
64753
64754
64755
64756
64757
64758
64759
64760
64761
64762
64763
64764
64765
64766
64767
64768
64769
64770
64771
64772
64773
64774
64775
64776
64777
64778
64779
64780
64781
64782
64783
64784
64785
64786
64787
64788
64789
64790
64791
64792
64793
64794
64795
64796
64797
64798
64799
64800
64801
64802
64803
64804
64805
64806
64807
64808
64809
64810
64811
64812
64813
64814
64815
64816
64817
64818
64819
64820
64821
64822
64823
64824
64825
64826
64827
64828
64829
64830
64831
64832
64833
64834
64835
64836
64837
64838
64839
64840
64841
64842
64843
64844
64845
64846
64847
64848
64849
64850
64851
64852
64853
64854
64855
64856
64857
64858
64859
64860
64861
64862
64863
64864
64865
64866
64867
64868
64869
64870
64871
64872
64873
64874
64875
64876
64877
64878
64879
64880
64881
64882
64883
64884
64885
64886
64887
64888
64889
64890
64891
64892
64893
64894
64895
64896
64897
64898
64899
64900
64901
64902
64903
64904
64905
64906
64907
64908
64909
64910
64911
64912
64913
64914
64915
64916
64917
64918
64919
64920
64921
64922
64923
64924
64925
64926
64927
64928
64929
64930
64931
64932
64933
64934
64935
64936
64937
64938
64939
64940
64941
64942
64943
64944
64945
64946
64947
64948
64949
64950
64951
64952
64953
64954
64955
64956
64957
64958
64959
64960
64961
64962
64963
64964
64965
64966
64967
64968
64969
64970
64971
64972
64973
64974
64975
64976
64977
64978
64979
64980
64981
64982
64983
64984
64985
64986
64987
64988
64989
64990
64991
64992
64993
64994
64995
64996
64997
64998
64999
65000
65001
65002
65003
65004
65005
65006
65007
65008
65009
65010
65011
65012
65013
65014
65015
65016
65017
65018
65019
65020
65021
65022
65023
65024
65025
65026
65027
65028
65029
65030
65031
65032
65033
65034
65035
65036
65037
65038
65039
65040
65041
65042
65043
65044
65045
65046
65047
65048
65049
65050
65051
65052
65053
65054
65055
65056
65057
65058
65059
65060
65061
65062
65063
65064
65065
65066
65067
65068
65069
65070
65071
65072
65073
65074
65075
65076
65077
65078
65079
65080
65081
65082
65083
65084
65085
65086
65087
65088
65089
65090
65091
65092
65093
65094
65095
65096
65097
65098
65099
65100
65101
65102
65103
65104
65105
65106
65107
65108
65109
65110
65111
65112
65113
65114
65115
65116
65117
65118
65119
65120
65121
65122
65123
65124
65125
65126
65127
65128
65129
65130
65131
65132
65133
65134
65135
65136
65137
65138
65139
65140
65141
65142
65143
65144
65145
65146
65147
65148
65149
65150
65151
65152
65153
65154
65155
65156
65157
65158
65159
65160
65161
65162
65163
65164
65165
65166
65167
65168
65169
65170
65171
65172
65173
65174
65175
65176
65177
65178
65179
65180
65181
65182
65183
65184
65185
65186
65187
65188
65189
65190
65191
65192
65193
65194
65195
65196
65197
65198
65199
65200
65201
65202
65203
65204
65205
65206
65207
65208
65209
65210
65211
65212
65213
65214
65215
65216
65217
65218
65219
65220
65221
65222
65223
65224
65225
65226
65227
65228
65229
65230
65231
65232
65233
65234
65235
65236
65237
65238
65239
65240
65241
65242
65243
65244
65245
65246
65247
65248
65249
65250
65251
65252
65253
65254
65255
65256
65257
65258
65259
65260
65261
65262
65263
65264
65265
65266
65267
65268
65269
65270
65271
65272
65273
65274
65275
65276
65277
65278
65279
65280
65281
65282
65283
65284
65285
65286
65287
65288
65289
65290
65291
65292
65293
65294
65295
65296
65297
65298
65299
65300
65301
65302
65303
65304
65305
65306
65307
65308
65309
65310
65311
65312
65313
65314
65315
65316
65317
65318
65319
65320
65321
65322
65323
65324
65325
65326
65327
65328
65329
65330
65331
65332
65333
65334
65335
65336
65337
65338
65339
65340
65341
65342
65343
65344
65345
65346
65347
65348
65349
65350
65351
65352
65353
65354
65355
65356
65357
65358
65359
65360
65361
65362
65363
65364
65365
65366
65367
65368
65369
65370
65371
65372
65373
65374
65375
65376
65377
65378
65379
65380
65381
65382
65383
65384
65385
65386
65387
65388
65389
65390
65391
65392
65393
65394
65395
65396
65397
65398
65399
65400
65401
65402
65403
65404
65405
65406
65407
65408
65409
65410
65411
65412
65413
65414
65415
65416
65417
65418
65419
65420
65421
65422
65423
65424
65425
65426
65427
65428
65429
65430
65431
65432
65433
65434
65435
65436
65437
65438
65439
65440
65441
65442
65443
65444
65445
65446
65447
65448
65449
65450
65451
65452
65453
65454
65455
65456
65457
65458
65459
65460
65461
65462
65463
65464
65465
65466
65467
65468
65469
65470
65471
65472
65473
65474
65475
65476
65477
65478
65479
65480
65481
65482
65483
65484
65485
65486
65487
65488
65489
65490
65491
65492
65493
65494
65495
65496
65497
65498
65499
65500
65501
65502
65503
65504
65505
65506
65507
65508
65509
65510
65511
65512
65513
65514
65515
65516
65517
65518
65519
65520
65521
65522
65523
65524
65525
65526
65527
65528
65529
65530
65531
65532
65533
65534
65535
65536
65537
65538
65539
65540
65541
65542
65543
65544
65545
65546
65547
65548
65549
65550
65551
65552
65553
65554
65555
65556
65557
65558
65559
65560
65561
65562
65563
65564
65565
65566
65567
65568
65569
65570
65571
65572
65573
65574
65575
65576
65577
65578
65579
65580
65581
65582
65583
65584
65585
65586
65587
65588
65589
65590
65591
65592
65593
65594
65595
65596
65597
65598
65599
65600
65601
65602
65603
65604
65605
65606
65607
65608
65609
65610
65611
65612
65613
65614
65615
65616
65617
65618
65619
65620
65621
65622
65623
65624
65625
65626
65627
65628
65629
65630
65631
65632
65633
65634
65635
65636
65637
65638
65639
65640
65641
65642
65643
65644
65645
65646
65647
65648
65649
65650
65651
65652
65653
65654
65655
65656
65657
65658
65659
65660
65661
65662
65663
65664
65665
65666
65667
65668
65669
65670
65671
65672
65673
65674
65675
65676
65677
65678
65679
65680
65681
65682
65683
65684
65685
65686
65687
65688
65689
65690
65691
65692
65693
65694
65695
65696
65697
65698
65699
65700
65701
65702
65703
65704
65705
65706
65707
65708
65709
65710
65711
65712
65713
65714
65715
65716
65717
65718
65719
65720
65721
65722
65723
65724
65725
65726
65727
65728
65729
65730
65731
65732
65733
65734
65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
65747
65748
65749
65750
65751
65752
65753
65754
65755
65756
65757
65758
65759
65760
65761
65762
65763
65764
65765
65766
65767
65768
65769
65770
65771
65772
65773
65774
65775
65776
65777
65778
65779
65780
65781
65782
65783
65784
65785
65786
65787
65788
65789
65790
65791
65792
65793
65794
65795
65796
65797
65798
65799
65800
65801
65802
65803
65804
65805
65806
65807
65808
65809
65810
65811
65812
65813
65814
65815
65816
65817
65818
65819
65820
65821
65822
65823
65824
65825
65826
65827
65828
65829
65830
65831
65832
65833
65834
65835
65836
65837
65838
65839
65840
65841
65842
65843
65844
65845
65846
65847
65848
65849
65850
65851
65852
65853
65854
65855
65856
65857
65858
65859
65860
65861
65862
65863
65864
65865
65866
65867
65868
65869
65870
65871
65872
65873
65874
65875
65876
65877
65878
65879
65880
65881
65882
65883
65884
65885
65886
65887
65888
65889
65890
65891
65892
65893
65894
65895
65896
65897
65898
65899
65900
65901
65902
65903
65904
65905
65906
65907
65908
65909
65910
65911
65912
65913
65914
65915
65916
65917
65918
65919
65920
65921
65922
65923
65924
65925
65926
65927
65928
65929
65930
65931
65932
65933
65934
65935
65936
65937
65938
65939
65940
65941
65942
65943
65944
65945
65946
65947
65948
65949
65950
65951
65952
65953
65954
65955
65956
65957
65958
65959
65960
65961
65962
65963
65964
65965
65966
65967
65968
65969
65970
65971
65972
65973
65974
65975
65976
65977
65978
65979
65980
65981
65982
65983
65984
65985
65986
65987
65988
65989
65990
65991
65992
65993
65994
65995
65996
65997
65998
65999
66000
66001
66002
66003
66004
66005
66006
66007
66008
66009
66010
66011
66012
66013
66014
66015
66016
66017
66018
66019
66020
66021
66022
66023
66024
66025
66026
66027
66028
66029
66030
66031
66032
66033
66034
66035
66036
66037
66038
66039
66040
66041
66042
66043
66044
66045
66046
66047
66048
66049
66050
66051
66052
66053
66054
66055
66056
66057
66058
66059
66060
66061
66062
66063
66064
66065
66066
66067
66068
66069
66070
66071
66072
66073
66074
66075
66076
66077
66078
66079
66080
66081
66082
66083
66084
66085
66086
66087
66088
66089
66090
66091
66092
66093
66094
66095
66096
66097
66098
66099
66100
66101
66102
66103
66104
66105
66106
66107
66108
66109
66110
66111
66112
66113
66114
66115
66116
66117
66118
66119
66120
66121
66122
66123
66124
66125
66126
66127
66128
66129
66130
66131
66132
66133
66134
66135
66136
66137
66138
66139
66140
66141
66142
66143
66144
66145
66146
66147
66148
66149
66150
66151
66152
66153
66154
66155
66156
66157
66158
66159
66160
66161
66162
66163
66164
66165
66166
66167
66168
66169
66170
66171
66172
66173
66174
66175
66176
66177
66178
66179
66180
66181
66182
66183
66184
66185
66186
66187
66188
66189
66190
66191
66192
66193
66194
66195
66196
66197
66198
66199
66200
66201
66202
66203
66204
66205
66206
66207
66208
66209
66210
66211
66212
66213
66214
66215
66216
66217
66218
66219
66220
66221
66222
66223
66224
66225
66226
66227
66228
66229
66230
66231
66232
66233
66234
66235
66236
66237
66238
66239
66240
66241
66242
66243
66244
66245
66246
66247
66248
66249
66250
66251
66252
66253
66254
66255
66256
66257
66258
66259
66260
66261
66262
66263
66264
66265
66266
66267
66268
66269
66270
66271
66272
66273
66274
66275
66276
66277
66278
66279
66280
66281
66282
66283
66284
66285
66286
66287
66288
66289
66290
66291
66292
66293
66294
66295
66296
66297
66298
66299
66300
66301
66302
66303
66304
66305
66306
66307
66308
66309
66310
66311
66312
66313
66314
66315
66316
66317
66318
66319
66320
66321
66322
66323
66324
66325
66326
66327
66328
66329
66330
66331
66332
66333
66334
66335
66336
66337
66338
66339
66340
66341
66342
66343
66344
66345
66346
66347
66348
66349
66350
66351
66352
66353
66354
66355
66356
66357
66358
66359
66360
66361
66362
66363
66364
66365
66366
66367
66368
66369
66370
66371
66372
66373
66374
66375
66376
66377
66378
66379
66380
66381
66382
66383
66384
66385
66386
66387
66388
66389
66390
66391
66392
66393
66394
66395
66396
66397
66398
66399
66400
66401
66402
66403
66404
66405
66406
66407
66408
66409
66410
66411
66412
66413
66414
66415
66416
66417
66418
66419
66420
66421
66422
66423
66424
66425
66426
66427
66428
66429
66430
66431
66432
66433
66434
66435
66436
66437
66438
66439
66440
66441
66442
66443
66444
66445
66446
66447
66448
66449
66450
66451
66452
66453
66454
66455
66456
66457
66458
66459
66460
66461
66462
66463
66464
66465
66466
66467
66468
66469
66470
66471
66472
66473
66474
66475
66476
66477
66478
66479
66480
66481
66482
66483
66484
66485
66486
66487
66488
66489
66490
66491
66492
66493
66494
66495
66496
66497
66498
66499
66500
66501
66502
66503
66504
66505
66506
66507
66508
66509
66510
66511
66512
66513
66514
66515
66516
66517
66518
66519
66520
66521
66522
66523
66524
66525
66526
66527
66528
66529
66530
66531
66532
66533
66534
66535
66536
66537
66538
66539
66540
66541
66542
66543
66544
66545
66546
66547
66548
66549
66550
66551
66552
66553
66554
66555
66556
66557
66558
66559
66560
66561
66562
66563
66564
66565
66566
66567
66568
66569
66570
66571
66572
66573
66574
66575
66576
66577
66578
66579
66580
66581
66582
66583
66584
66585
66586
66587
66588
66589
66590
66591
66592
66593
66594
66595
66596
66597
66598
66599
66600
66601
66602
66603
66604
66605
66606
66607
66608
66609
66610
66611
66612
66613
66614
66615
66616
66617
66618
66619
66620
66621
66622
66623
66624
66625
66626
66627
66628
66629
66630
66631
66632
66633
66634
66635
66636
66637
66638
66639
66640
66641
66642
66643
66644
66645
66646
66647
66648
66649
66650
66651
66652
66653
66654
66655
66656
66657
66658
66659
66660
66661
66662
66663
66664
66665
66666
66667
66668
66669
66670
66671
66672
66673
66674
66675
66676
66677
66678
66679
66680
66681
66682
66683
66684
66685
66686
66687
66688
66689
66690
66691
66692
66693
66694
66695
66696
66697
66698
66699
66700
66701
66702
66703
66704
66705
66706
66707
66708
66709
66710
66711
66712
66713
66714
66715
66716
66717
66718
66719
66720
66721
66722
66723
66724
66725
66726
66727
66728
66729
66730
66731
66732
66733
66734
66735
66736
66737
66738
66739
66740
66741
66742
66743
66744
66745
66746
66747
66748
66749
66750
66751
66752
66753
66754
66755
66756
66757
66758
66759
66760
66761
66762
66763
66764
66765
66766
66767
66768
66769
66770
66771
66772
66773
66774
66775
66776
66777
66778
66779
66780
66781
66782
66783
66784
66785
66786
66787
66788
66789
66790
66791
66792
66793
66794
66795
66796
66797
66798
66799
66800
66801
66802
66803
66804
66805
66806
66807
66808
66809
66810
66811
66812
66813
66814
66815
66816
66817
66818
66819
66820
66821
66822
66823
66824
66825
66826
66827
66828
66829
66830
66831
66832
66833
66834
66835
66836
66837
66838
66839
66840
66841
66842
66843
66844
66845
66846
66847
66848
66849
66850
66851
66852
66853
66854
66855
66856
66857
66858
66859
66860
66861
66862
66863
66864
66865
66866
66867
66868
66869
66870
66871
66872
66873
66874
66875
66876
66877
66878
66879
66880
66881
66882
66883
66884
66885
66886
66887
66888
66889
66890
66891
66892
66893
66894
66895
66896
66897
66898
66899
66900
66901
66902
66903
66904
66905
66906
66907
66908
66909
66910
66911
66912
66913
66914
66915
66916
66917
66918
66919
66920
66921
66922
66923
66924
66925
66926
66927
66928
66929
66930
66931
66932
66933
66934
66935
66936
66937
66938
66939
66940
66941
66942
66943
66944
66945
66946
66947
66948
66949
66950
66951
66952
66953
66954
66955
66956
66957
66958
66959
66960
66961
66962
66963
66964
66965
66966
66967
66968
66969
66970
66971
66972
66973
66974
66975
66976
66977
66978
66979
66980
66981
66982
66983
66984
66985
66986
66987
66988
66989
66990
66991
66992
66993
66994
66995
66996
66997
66998
66999
67000
67001
67002
67003
67004
67005
67006
67007
67008
67009
67010
67011
67012
67013
67014
67015
67016
67017
67018
67019
67020
67021
67022
67023
67024
67025
67026
67027
67028
67029
67030
67031
67032
67033
67034
67035
67036
67037
67038
67039
67040
67041
67042
67043
67044
67045
67046
67047
67048
67049
67050
67051
67052
67053
67054
67055
67056
67057
67058
67059
67060
67061
67062
67063
67064
67065
67066
67067
67068
67069
67070
67071
67072
67073
67074
67075
67076
67077
67078
67079
67080
67081
67082
67083
67084
67085
67086
67087
67088
67089
67090
67091
67092
67093
67094
67095
67096
67097
67098
67099
67100
67101
67102
67103
67104
67105
67106
67107
67108
67109
67110
67111
67112
67113
67114
67115
67116
67117
67118
67119
67120
67121
67122
67123
67124
67125
67126
67127
67128
67129
67130
67131
67132
67133
67134
67135
67136
67137
67138
67139
67140
67141
67142
67143
67144
67145
67146
67147
67148
67149
67150
67151
67152
67153
67154
67155
67156
67157
67158
67159
67160
67161
67162
67163
67164
67165
67166
67167
67168
67169
67170
67171
67172
67173
67174
67175
67176
67177
67178
67179
67180
67181
67182
67183
67184
67185
67186
67187
67188
67189
67190
67191
67192
67193
67194
67195
67196
67197
67198
67199
67200
67201
67202
67203
67204
67205
67206
67207
67208
67209
67210
67211
67212
67213
67214
67215
67216
67217
67218
67219
67220
67221
67222
67223
67224
67225
67226
67227
67228
67229
67230
67231
67232
67233
67234
67235
67236
67237
67238
67239
67240
67241
67242
67243
67244
67245
67246
67247
67248
67249
67250
67251
67252
67253
67254
67255
67256
67257
67258
67259
67260
67261
67262
67263
67264
67265
67266
67267
67268
67269
67270
67271
67272
67273
67274
67275
67276
67277
67278
67279
67280
67281
67282
67283
67284
67285
67286
67287
67288
67289
67290
67291
67292
67293
67294
67295
67296
67297
67298
67299
67300
67301
67302
67303
67304
67305
67306
67307
67308
67309
67310
67311
67312
67313
67314
67315
67316
67317
67318
67319
67320
67321
67322
67323
67324
67325
67326
67327
67328
67329
67330
67331
67332
67333
67334
67335
67336
67337
67338
67339
67340
67341
67342
67343
67344
67345
67346
67347
67348
67349
67350
67351
67352
67353
67354
67355
67356
67357
67358
67359
67360
67361
67362
67363
67364
67365
67366
67367
67368
67369
67370
67371
67372
67373
67374
67375
67376
67377
67378
67379
67380
67381
67382
67383
67384
67385
67386
67387
67388
67389
67390
67391
67392
67393
67394
67395
67396
67397
67398
67399
67400
67401
67402
67403
67404
67405
67406
67407
67408
67409
67410
67411
67412
67413
67414
67415
67416
67417
67418
67419
67420
67421
67422
67423
67424
67425
67426
67427
67428
67429
67430
67431
67432
67433
67434
67435
67436
67437
67438
67439
67440
67441
67442
67443
67444
67445
67446
67447
67448
67449
67450
67451
67452
67453
67454
67455
67456
67457
67458
67459
67460
67461
67462
67463
67464
67465
67466
67467
67468
67469
67470
67471
67472
67473
67474
67475
67476
67477
67478
67479
67480
67481
67482
67483
67484
67485
67486
67487
67488
67489
67490
67491
67492
67493
67494
67495
67496
67497
67498
67499
67500
67501
67502
67503
67504
67505
67506
67507
67508
67509
67510
67511
67512
67513
67514
67515
67516
67517
67518
67519
67520
67521
67522
67523
67524
67525
67526
67527
67528
67529
67530
67531
67532
67533
67534
67535
67536
67537
67538
67539
67540
67541
67542
67543
67544
67545
67546
67547
67548
67549
67550
67551
67552
67553
67554
67555
67556
67557
67558
67559
67560
67561
67562
67563
67564
67565
67566
67567
67568
67569
67570
67571
67572
67573
67574
67575
67576
67577
67578
67579
67580
67581
67582
67583
67584
67585
67586
67587
67588
67589
67590
67591
67592
67593
67594
67595
67596
67597
67598
67599
67600
67601
67602
67603
67604
67605
67606
67607
67608
67609
67610
67611
67612
67613
67614
67615
67616
67617
67618
67619
67620
67621
67622
67623
67624
67625
67626
67627
67628
67629
67630
67631
67632
67633
67634
67635
67636
67637
67638
67639
67640
67641
67642
67643
67644
67645
67646
67647
67648
67649
67650
67651
67652
67653
67654
67655
67656
67657
67658
67659
67660
67661
67662
67663
67664
67665
67666
67667
67668
67669
67670
67671
67672
67673
67674
67675
67676
67677
67678
67679
67680
67681
67682
67683
67684
67685
67686
67687
67688
67689
67690
67691
67692
67693
67694
67695
67696
67697
67698
67699
67700
67701
67702
67703
67704
67705
67706
67707
67708
67709
67710
67711
67712
67713
67714
67715
67716
67717
67718
67719
67720
67721
67722
67723
67724
67725
67726
67727
67728
67729
67730
67731
67732
67733
67734
67735
67736
67737
67738
67739
67740
67741
67742
67743
67744
67745
67746
67747
67748
67749
67750
67751
67752
67753
67754
67755
67756
67757
67758
67759
67760
67761
67762
67763
67764
67765
67766
67767
67768
67769
67770
67771
67772
67773
67774
67775
67776
67777
67778
67779
67780
67781
67782
67783
67784
67785
67786
67787
67788
67789
67790
67791
67792
67793
67794
67795
67796
67797
67798
67799
67800
67801
67802
67803
67804
67805
67806
67807
67808
67809
67810
67811
67812
67813
67814
67815
67816
67817
67818
67819
67820
67821
67822
67823
67824
67825
67826
67827
67828
67829
67830
67831
67832
67833
67834
67835
67836
67837
67838
67839
67840
67841
67842
67843
67844
67845
67846
67847
67848
67849
67850
67851
67852
67853
67854
67855
67856
67857
67858
67859
67860
67861
67862
67863
67864
67865
67866
67867
67868
67869
67870
67871
67872
67873
67874
67875
67876
67877
67878
67879
67880
67881
67882
67883
67884
67885
67886
67887
67888
67889
67890
67891
67892
67893
67894
67895
67896
67897
67898
67899
67900
67901
67902
67903
67904
67905
67906
67907
67908
67909
67910
67911
67912
67913
67914
67915
67916
67917
67918
67919
67920
67921
67922
67923
67924
67925
67926
67927
67928
67929
67930
67931
67932
67933
67934
67935
67936
67937
67938
67939
67940
67941
67942
67943
67944
67945
67946
67947
67948
67949
67950
67951
67952
67953
67954
67955
67956
67957
67958
67959
67960
67961
67962
67963
67964
67965
67966
67967
67968
67969
67970
67971
67972
67973
67974
67975
67976
67977
67978
67979
67980
67981
67982
67983
67984
67985
67986
67987
67988
67989
67990
67991
67992
67993
67994
67995
67996
67997
67998
67999
68000
68001
68002
68003
68004
68005
68006
68007
68008
68009
68010
68011
68012
68013
68014
68015
68016
68017
68018
68019
68020
68021
68022
68023
68024
68025
68026
68027
68028
68029
68030
68031
68032
68033
68034
68035
68036
68037
68038
68039
68040
68041
68042
68043
68044
68045
68046
68047
68048
68049
68050
68051
68052
68053
68054
68055
68056
68057
68058
68059
68060
68061
68062
68063
68064
68065
68066
68067
68068
68069
68070
68071
68072
68073
68074
68075
68076
68077
68078
68079
68080
68081
68082
68083
68084
68085
68086
68087
68088
68089
68090
68091
68092
68093
68094
68095
68096
68097
68098
68099
68100
68101
68102
68103
68104
68105
68106
68107
68108
68109
68110
68111
68112
68113
68114
68115
68116
68117
68118
68119
68120
68121
68122
68123
68124
68125
68126
68127
68128
68129
68130
68131
68132
68133
68134
68135
68136
68137
68138
68139
68140
68141
68142
68143
68144
68145
68146
68147
68148
68149
68150
68151
68152
68153
68154
68155
68156
68157
68158
68159
68160
68161
68162
68163
68164
68165
68166
68167
68168
68169
68170
68171
68172
68173
68174
68175
68176
68177
68178
68179
68180
68181
68182
68183
68184
68185
68186
68187
68188
68189
68190
68191
68192
68193
68194
68195
68196
68197
68198
68199
68200
68201
68202
68203
68204
68205
68206
68207
68208
68209
68210
68211
68212
68213
68214
68215
68216
68217
68218
68219
68220
68221
68222
68223
68224
68225
68226
68227
68228
68229
68230
68231
68232
68233
68234
68235
68236
68237
68238
68239
68240
68241
68242
68243
68244
68245
68246
68247
68248
68249
68250
68251
68252
68253
68254
68255
68256
68257
68258
68259
68260
68261
68262
68263
68264
68265
68266
68267
68268
68269
68270
68271
68272
68273
68274
68275
68276
68277
68278
68279
68280
68281
68282
68283
68284
68285
68286
68287
68288
68289
68290
68291
68292
68293
68294
68295
68296
68297
68298
68299
68300
68301
68302
68303
68304
68305
68306
68307
68308
68309
68310
68311
68312
68313
68314
68315
68316
68317
68318
68319
68320
68321
68322
68323
68324
68325
68326
68327
68328
68329
68330
68331
68332
68333
68334
68335
68336
68337
68338
68339
68340
68341
68342
68343
68344
68345
68346
68347
68348
68349
68350
68351
68352
68353
68354
68355
68356
68357
68358
68359
68360
68361
68362
68363
68364
68365
68366
68367
68368
68369
68370
68371
68372
68373
68374
68375
68376
68377
68378
68379
68380
68381
68382
68383
68384
68385
68386
68387
68388
68389
68390
68391
68392
68393
68394
68395
68396
68397
68398
68399
68400
68401
68402
68403
68404
68405
68406
68407
68408
68409
68410
68411
68412
68413
68414
68415
68416
68417
68418
68419
68420
68421
68422
68423
68424
68425
68426
68427
68428
68429
68430
68431
68432
68433
68434
68435
68436
68437
68438
68439
68440
68441
68442
68443
68444
68445
68446
68447
68448
68449
68450
68451
68452
68453
68454
68455
68456
68457
68458
68459
68460
68461
68462
68463
68464
68465
68466
68467
68468
68469
68470
68471
68472
68473
68474
68475
68476
68477
68478
68479
68480
68481
68482
68483
68484
68485
68486
68487
68488
68489
68490
68491
68492
68493
68494
68495
68496
68497
68498
68499
68500
68501
68502
68503
68504
68505
68506
68507
68508
68509
68510
68511
68512
68513
68514
68515
68516
68517
68518
68519
68520
68521
68522
68523
68524
68525
68526
68527
68528
68529
68530
68531
68532
68533
68534
68535
68536
68537
68538
68539
68540
68541
68542
68543
68544
68545
68546
68547
68548
68549
68550
68551
68552
68553
68554
68555
68556
68557
68558
68559
68560
68561
68562
68563
68564
68565
68566
68567
68568
68569
68570
68571
68572
68573
68574
68575
68576
68577
68578
68579
68580
68581
68582
68583
68584
68585
68586
68587
68588
68589
68590
68591
68592
68593
68594
68595
68596
68597
68598
68599
68600
68601
68602
68603
68604
68605
68606
68607
68608
68609
68610
68611
68612
68613
68614
68615
68616
68617
68618
68619
68620
68621
68622
68623
68624
68625
68626
68627
68628
68629
68630
68631
68632
68633
68634
68635
68636
68637
68638
68639
68640
68641
68642
68643
68644
68645
68646
68647
68648
68649
68650
68651
68652
68653
68654
68655
68656
68657
68658
68659
68660
68661
68662
68663
68664
68665
68666
68667
68668
68669
68670
68671
68672
68673
68674
68675
68676
68677
68678
68679
68680
68681
68682
68683
68684
68685
68686
68687
68688
68689
68690
68691
68692
68693
68694
68695
68696
68697
68698
68699
68700
68701
68702
68703
68704
68705
68706
68707
68708
68709
68710
68711
68712
68713
68714
68715
68716
68717
68718
68719
68720
68721
68722
68723
68724
68725
68726
68727
68728
68729
68730
68731
68732
68733
68734
68735
68736
68737
68738
68739
68740
68741
68742
68743
68744
68745
68746
68747
68748
68749
68750
68751
68752
68753
68754
68755
68756
68757
68758
68759
68760
68761
68762
68763
68764
68765
68766
68767
68768
68769
68770
68771
68772
68773
68774
68775
68776
68777
68778
68779
68780
68781
68782
68783
68784
68785
68786
68787
68788
68789
68790
68791
68792
68793
68794
68795
68796
68797
68798
68799
68800
68801
68802
68803
68804
68805
68806
68807
68808
68809
68810
68811
68812
68813
68814
68815
68816
68817
68818
68819
68820
68821
68822
68823
68824
68825
68826
68827
68828
68829
68830
68831
68832
68833
68834
68835
68836
68837
68838
68839
68840
68841
68842
68843
68844
68845
68846
68847
68848
68849
68850
68851
68852
68853
68854
68855
68856
68857
68858
68859
68860
68861
68862
68863
68864
68865
68866
68867
68868
68869
68870
68871
68872
68873
68874
68875
68876
68877
68878
68879
68880
68881
68882
68883
68884
68885
68886
68887
68888
68889
68890
68891
68892
68893
68894
68895
68896
68897
68898
68899
68900
68901
68902
68903
68904
68905
68906
68907
68908
68909
68910
68911
68912
68913
68914
68915
68916
68917
68918
68919
68920
68921
68922
68923
68924
68925
68926
68927
68928
68929
68930
68931
68932
68933
68934
68935
68936
68937
68938
68939
68940
68941
68942
68943
68944
68945
68946
68947
68948
68949
68950
68951
68952
68953
68954
68955
68956
68957
68958
68959
68960
68961
68962
68963
68964
68965
68966
68967
68968
68969
68970
68971
68972
68973
68974
68975
68976
68977
68978
68979
68980
68981
68982
68983
68984
68985
68986
68987
68988
68989
68990
68991
68992
68993
68994
68995
68996
68997
68998
68999
69000
69001
69002
69003
69004
69005
69006
69007
69008
69009
69010
69011
69012
69013
69014
69015
69016
69017
69018
69019
69020
69021
69022
69023
69024
69025
69026
69027
69028
69029
69030
69031
69032
69033
69034
69035
69036
69037
69038
69039
69040
69041
69042
69043
69044
69045
69046
69047
69048
69049
69050
69051
69052
69053
69054
69055
69056
69057
69058
69059
69060
69061
69062
69063
69064
69065
69066
69067
69068
69069
69070
69071
69072
69073
69074
69075
69076
69077
69078
69079
69080
69081
69082
69083
69084
69085
69086
69087
69088
69089
69090
69091
69092
69093
69094
69095
69096
69097
69098
69099
69100
69101
69102
69103
69104
69105
69106
69107
69108
69109
69110
69111
69112
69113
69114
69115
69116
69117
69118
69119
69120
69121
69122
69123
69124
69125
69126
69127
69128
69129
69130
69131
69132
69133
69134
69135
69136
69137
69138
69139
69140
69141
69142
69143
69144
69145
69146
69147
69148
69149
69150
69151
69152
69153
69154
69155
69156
69157
69158
69159
69160
69161
69162
69163
69164
69165
69166
69167
69168
69169
69170
69171
69172
69173
69174
69175
69176
69177
69178
69179
69180
69181
69182
69183
69184
69185
69186
69187
69188
69189
69190
69191
69192
69193
69194
69195
69196
69197
69198
69199
69200
69201
69202
69203
69204
69205
69206
69207
69208
69209
69210
69211
69212
69213
69214
69215
69216
69217
69218
69219
69220
69221
69222
69223
69224
69225
69226
69227
69228
69229
69230
69231
69232
69233
69234
69235
69236
69237
69238
69239
69240
69241
69242
69243
69244
69245
69246
69247
69248
69249
69250
69251
69252
69253
69254
69255
69256
69257
69258
69259
69260
69261
69262
69263
69264
69265
69266
69267
69268
69269
69270
69271
69272
69273
69274
69275
69276
69277
69278
69279
69280
69281
69282
69283
69284
69285
69286
69287
69288
69289
69290
69291
69292
69293
69294
69295
69296
69297
69298
69299
69300
69301
69302
69303
69304
69305
69306
69307
69308
69309
69310
69311
69312
69313
69314
69315
69316
69317
69318
69319
69320
69321
69322
69323
69324
69325
69326
69327
69328
69329
69330
69331
69332
69333
69334
69335
69336
69337
69338
69339
69340
69341
69342
69343
69344
69345
69346
69347
69348
69349
69350
69351
69352
69353
69354
69355
69356
69357
69358
69359
69360
69361
69362
69363
69364
69365
69366
69367
69368
69369
69370
69371
69372
69373
69374
69375
69376
69377
69378
69379
69380
69381
69382
69383
69384
69385
69386
69387
69388
69389
69390
69391
69392
69393
69394
69395
69396
69397
69398
69399
69400
69401
69402
69403
69404
69405
69406
69407
69408
69409
69410
69411
69412
69413
69414
69415
69416
69417
69418
69419
69420
69421
69422
69423
69424
69425
69426
69427
69428
69429
69430
69431
69432
69433
69434
69435
69436
69437
69438
69439
69440
69441
69442
69443
69444
69445
69446
69447
69448
69449
69450
69451
69452
69453
69454
69455
69456
69457
69458
69459
69460
69461
69462
69463
69464
69465
69466
69467
69468
69469
69470
69471
69472
69473
69474
69475
69476
69477
69478
69479
69480
69481
69482
69483
69484
69485
69486
69487
69488
69489
69490
69491
69492
69493
69494
69495
69496
69497
69498
69499
69500
69501
69502
69503
69504
69505
69506
69507
69508
69509
69510
69511
69512
69513
69514
69515
69516
69517
69518
69519
69520
69521
69522
69523
69524
69525
69526
69527
69528
69529
69530
69531
69532
69533
69534
69535
69536
69537
69538
69539
69540
69541
69542
69543
69544
69545
69546
69547
69548
69549
69550
69551
69552
69553
69554
69555
69556
69557
69558
69559
69560
69561
69562
69563
69564
69565
69566
69567
69568
69569
69570
69571
69572
69573
69574
69575
69576
69577
69578
69579
69580
69581
69582
69583
69584
69585
69586
69587
69588
69589
69590
69591
69592
69593
69594
69595
69596
69597
69598
69599
69600
69601
69602
69603
69604
69605
69606
69607
69608
69609
69610
69611
69612
69613
69614
69615
69616
69617
69618
69619
69620
69621
69622
69623
69624
69625
69626
69627
69628
69629
69630
69631
69632
69633
69634
69635
69636
69637
69638
69639
69640
69641
69642
69643
69644
69645
69646
69647
69648
69649
69650
69651
69652
69653
69654
69655
69656
69657
69658
69659
69660
69661
69662
69663
69664
69665
69666
69667
69668
69669
69670
69671
69672
69673
69674
69675
69676
69677
69678
69679
69680
69681
69682
69683
69684
69685
69686
69687
69688
69689
69690
69691
69692
69693
69694
69695
69696
69697
69698
69699
69700
69701
69702
69703
69704
69705
69706
69707
69708
69709
69710
69711
69712
69713
69714
69715
69716
69717
69718
69719
69720
69721
69722
69723
69724
69725
69726
69727
69728
69729
69730
69731
69732
69733
69734
69735
69736
69737
69738
69739
69740
69741
69742
69743
69744
69745
69746
69747
69748
69749
69750
69751
69752
69753
69754
69755
69756
69757
69758
69759
69760
69761
69762
69763
69764
69765
69766
69767
69768
69769
69770
69771
69772
69773
69774
69775
69776
69777
69778
69779
69780
69781
69782
69783
69784
69785
69786
69787
69788
69789
69790
69791
69792
69793
69794
69795
69796
69797
69798
69799
69800
69801
69802
69803
69804
69805
69806
69807
69808
69809
69810
69811
69812
69813
69814
69815
69816
69817
69818
69819
69820
69821
69822
69823
69824
69825
69826
69827
69828
69829
69830
69831
69832
69833
69834
69835
69836
69837
69838
69839
69840
69841
69842
69843
69844
69845
69846
69847
69848
69849
69850
69851
69852
69853
69854
69855
69856
69857
69858
69859
69860
69861
69862
69863
69864
69865
69866
69867
69868
69869
69870
69871
69872
69873
69874
69875
69876
69877
69878
69879
69880
69881
69882
69883
69884
69885
69886
69887
69888
69889
69890
69891
69892
69893
69894
69895
69896
69897
69898
69899
69900
69901
69902
69903
69904
69905
69906
69907
69908
69909
69910
69911
69912
69913
69914
69915
69916
69917
69918
69919
69920
69921
69922
69923
69924
69925
69926
69927
69928
69929
69930
69931
69932
69933
69934
69935
69936
69937
69938
69939
69940
69941
69942
69943
69944
69945
69946
69947
69948
69949
69950
69951
69952
69953
69954
69955
69956
69957
69958
69959
69960
69961
69962
69963
69964
69965
69966
69967
69968
69969
69970
69971
69972
69973
69974
69975
69976
69977
69978
69979
69980
69981
69982
69983
69984
69985
69986
69987
69988
69989
69990
69991
69992
69993
69994
69995
69996
69997
69998
69999
70000
70001
70002
70003
70004
70005
70006
70007
70008
70009
70010
70011
70012
70013
70014
70015
70016
70017
70018
70019
70020
70021
70022
70023
70024
70025
70026
70027
70028
70029
70030
70031
70032
70033
70034
70035
70036
70037
70038
70039
70040
70041
70042
70043
70044
70045
70046
70047
70048
70049
70050
70051
70052
70053
70054
70055
70056
70057
70058
70059
70060
70061
70062
70063
70064
70065
70066
70067
70068
70069
70070
70071
70072
70073
70074
70075
70076
70077
70078
70079
70080
70081
70082
70083
70084
70085
70086
70087
70088
70089
70090
70091
70092
70093
70094
70095
70096
70097
70098
70099
70100
70101
70102
70103
70104
70105
70106
70107
70108
70109
70110
70111
70112
70113
70114
70115
70116
70117
70118
70119
70120
70121
70122
70123
70124
70125
70126
70127
70128
70129
70130
70131
70132
70133
70134
70135
70136
70137
70138
70139
70140
70141
70142
70143
70144
70145
70146
70147
70148
70149
70150
70151
70152
70153
70154
70155
70156
70157
70158
70159
70160
70161
70162
70163
70164
70165
70166
70167
70168
70169
70170
70171
70172
70173
70174
70175
70176
70177
70178
70179
70180
70181
70182
70183
70184
70185
70186
70187
70188
70189
70190
70191
70192
70193
70194
70195
70196
70197
70198
70199
70200
70201
70202
70203
70204
70205
70206
70207
70208
70209
70210
70211
70212
70213
70214
70215
70216
70217
70218
70219
70220
70221
70222
70223
70224
70225
70226
70227
70228
70229
70230
70231
70232
70233
70234
70235
70236
70237
70238
70239
70240
70241
70242
70243
70244
70245
70246
70247
70248
70249
70250
70251
70252
70253
70254
70255
70256
70257
70258
70259
70260
70261
70262
70263
70264
70265
70266
70267
70268
70269
70270
70271
70272
70273
70274
70275
70276
70277
70278
70279
70280
70281
70282
70283
70284
70285
70286
70287
70288
70289
70290
70291
70292
70293
70294
70295
70296
70297
70298
70299
70300
70301
70302
70303
70304
70305
70306
70307
70308
70309
70310
70311
70312
70313
70314
70315
70316
70317
70318
70319
70320
70321
70322
70323
70324
70325
70326
70327
70328
70329
70330
70331
70332
70333
70334
70335
70336
70337
70338
70339
70340
70341
70342
70343
70344
70345
70346
70347
70348
70349
70350
70351
70352
70353
70354
70355
70356
70357
70358
70359
70360
70361
70362
70363
70364
70365
70366
70367
70368
70369
70370
70371
70372
70373
70374
70375
70376
70377
70378
70379
70380
70381
70382
70383
70384
70385
70386
70387
70388
70389
70390
70391
70392
70393
70394
70395
70396
70397
70398
70399
70400
70401
70402
70403
70404
70405
70406
70407
70408
70409
70410
70411
70412
70413
70414
70415
70416
70417
70418
70419
70420
70421
70422
70423
70424
70425
70426
70427
70428
70429
70430
70431
70432
70433
70434
70435
70436
70437
70438
70439
70440
70441
70442
70443
70444
70445
70446
70447
70448
70449
70450
70451
70452
70453
70454
70455
70456
70457
70458
70459
70460
70461
70462
70463
70464
70465
70466
70467
70468
70469
70470
70471
70472
70473
70474
70475
70476
70477
70478
70479
70480
70481
70482
70483
70484
70485
70486
70487
70488
70489
70490
70491
70492
70493
70494
70495
70496
70497
70498
70499
70500
70501
70502
70503
70504
70505
70506
70507
70508
70509
70510
70511
70512
70513
70514
70515
70516
70517
70518
70519
70520
70521
70522
70523
70524
70525
70526
70527
70528
70529
70530
70531
70532
70533
70534
70535
70536
70537
70538
70539
70540
70541
70542
70543
70544
70545
70546
70547
70548
70549
70550
70551
70552
70553
70554
70555
70556
70557
70558
70559
70560
70561
70562
70563
70564
70565
70566
70567
70568
70569
70570
70571
70572
70573
70574
70575
70576
70577
70578
70579
70580
70581
70582
70583
70584
70585
70586
70587
70588
70589
70590
70591
70592
70593
70594
70595
70596
70597
70598
70599
70600
70601
70602
70603
70604
70605
70606
70607
70608
70609
70610
70611
70612
70613
70614
70615
70616
70617
70618
70619
70620
70621
70622
70623
70624
70625
70626
70627
70628
70629
70630
70631
70632
70633
70634
70635
70636
70637
70638
70639
70640
70641
70642
70643
70644
70645
70646
70647
70648
70649
70650
70651
70652
70653
70654
70655
70656
70657
70658
70659
70660
70661
70662
70663
70664
70665
70666
70667
70668
70669
70670
70671
70672
70673
70674
70675
70676
70677
70678
70679
70680
70681
70682
70683
70684
70685
70686
70687
70688
70689
70690
70691
70692
70693
70694
70695
70696
70697
70698
70699
70700
70701
70702
70703
70704
70705
70706
70707
70708
70709
70710
70711
70712
70713
70714
70715
70716
70717
70718
70719
70720
70721
70722
70723
70724
70725
70726
70727
70728
70729
70730
70731
70732
70733
70734
70735
70736
70737
70738
70739
70740
70741
70742
70743
70744
70745
70746
70747
70748
70749
70750
70751
70752
70753
70754
70755
70756
70757
70758
70759
70760
70761
70762
70763
70764
70765
70766
70767
70768
70769
70770
70771
70772
70773
70774
70775
70776
70777
70778
70779
70780
70781
70782
70783
70784
70785
70786
70787
70788
70789
70790
70791
70792
70793
70794
70795
70796
70797
70798
70799
70800
70801
70802
70803
70804
70805
70806
70807
70808
70809
70810
70811
70812
70813
70814
70815
70816
70817
70818
70819
70820
70821
70822
70823
70824
70825
70826
70827
70828
70829
70830
70831
70832
70833
70834
70835
70836
70837
70838
70839
70840
70841
70842
70843
70844
70845
70846
70847
70848
70849
70850
70851
70852
70853
70854
70855
70856
70857
70858
70859
70860
70861
70862
70863
70864
70865
70866
70867
70868
70869
70870
70871
70872
70873
70874
70875
70876
70877
70878
70879
70880
70881
70882
70883
70884
70885
70886
70887
70888
70889
70890
70891
70892
70893
70894
70895
70896
70897
70898
70899
70900
70901
70902
70903
70904
70905
70906
70907
70908
70909
70910
70911
70912
70913
70914
70915
70916
70917
70918
70919
70920
70921
70922
70923
70924
70925
70926
70927
70928
70929
70930
70931
70932
70933
70934
70935
70936
70937
70938
70939
70940
70941
70942
70943
70944
70945
70946
70947
70948
70949
70950
70951
70952
70953
70954
70955
70956
70957
70958
70959
70960
70961
70962
70963
70964
70965
70966
70967
70968
70969
70970
70971
70972
70973
70974
70975
70976
70977
70978
70979
70980
70981
70982
70983
70984
70985
70986
70987
70988
70989
70990
70991
70992
70993
70994
70995
70996
70997
70998
70999
71000
71001
71002
71003
71004
71005
71006
71007
71008
71009
71010
71011
71012
71013
71014
71015
71016
71017
71018
71019
71020
71021
71022
71023
71024
71025
71026
71027
71028
71029
71030
71031
71032
71033
71034
71035
71036
71037
71038
71039
71040
71041
71042
71043
71044
71045
71046
71047
71048
71049
71050
71051
71052
71053
71054
71055
71056
71057
71058
71059
71060
71061
71062
71063
71064
71065
71066
71067
71068
71069
71070
71071
71072
71073
71074
71075
71076
71077
71078
71079
71080
71081
71082
71083
71084
71085
71086
71087
71088
71089
71090
71091
71092
71093
71094
71095
71096
71097
71098
71099
71100
71101
71102
71103
71104
71105
71106
71107
71108
71109
71110
71111
71112
71113
71114
71115
71116
71117
71118
71119
71120
71121
71122
71123
71124
71125
71126
71127
71128
71129
71130
71131
71132
71133
71134
71135
71136
71137
71138
71139
71140
71141
71142
71143
71144
71145
71146
71147
71148
71149
71150
71151
71152
71153
71154
71155
71156
71157
71158
71159
71160
71161
71162
71163
71164
71165
71166
71167
71168
71169
71170
71171
71172
71173
71174
71175
71176
71177
71178
71179
71180
71181
71182
71183
71184
71185
71186
71187
71188
71189
71190
71191
71192
71193
71194
71195
71196
71197
71198
71199
71200
71201
71202
71203
71204
71205
71206
71207
71208
71209
71210
71211
71212
71213
71214
71215
71216
71217
71218
71219
71220
71221
71222
71223
71224
71225
71226
71227
71228
71229
71230
71231
71232
71233
71234
71235
71236
71237
71238
71239
71240
71241
71242
71243
71244
71245
71246
71247
71248
71249
71250
71251
71252
71253
71254
71255
71256
71257
71258
71259
71260
71261
71262
71263
71264
71265
71266
71267
71268
71269
71270
71271
71272
71273
71274
71275
71276
71277
71278
71279
71280
71281
71282
71283
71284
71285
71286
71287
71288
71289
71290
71291
71292
71293
71294
71295
71296
71297
71298
71299
71300
71301
71302
71303
71304
71305
71306
71307
71308
71309
71310
71311
71312
71313
71314
71315
71316
71317
71318
71319
71320
71321
71322
71323
71324
71325
71326
71327
71328
71329
71330
71331
71332
71333
71334
71335
71336
71337
71338
71339
71340
71341
71342
71343
71344
71345
71346
71347
71348
71349
71350
71351
71352
71353
71354
71355
71356
71357
71358
71359
71360
71361
71362
71363
71364
71365
71366
71367
71368
71369
71370
71371
71372
71373
71374
71375
71376
71377
71378
71379
71380
71381
71382
71383
71384
71385
71386
71387
71388
71389
71390
71391
71392
71393
71394
71395
71396
71397
71398
71399
71400
71401
71402
71403
71404
71405
71406
71407
71408
71409
71410
71411
71412
71413
71414
71415
71416
71417
71418
71419
71420
71421
71422
71423
71424
71425
71426
71427
71428
71429
71430
71431
71432
71433
71434
71435
71436
71437
71438
71439
71440
71441
71442
71443
71444
71445
71446
71447
71448
71449
71450
71451
71452
71453
71454
71455
71456
71457
71458
71459
71460
71461
71462
71463
71464
71465
71466
71467
71468
71469
71470
71471
71472
71473
71474
71475
71476
71477
71478
71479
71480
71481
71482
71483
71484
71485
71486
71487
71488
71489
71490
71491
71492
71493
71494
71495
71496
71497
71498
71499
71500
71501
71502
71503
71504
71505
71506
71507
71508
71509
71510
71511
71512
71513
71514
71515
71516
71517
71518
71519
71520
71521
71522
71523
71524
71525
71526
71527
71528
71529
71530
71531
71532
71533
71534
71535
71536
71537
71538
71539
71540
71541
71542
71543
71544
71545
71546
71547
71548
71549
71550
71551
71552
71553
71554
71555
71556
71557
71558
71559
71560
71561
71562
71563
71564
71565
71566
71567
71568
71569
71570
71571
71572
71573
71574
71575
71576
71577
71578
71579
71580
71581
71582
71583
71584
71585
71586
71587
71588
71589
71590
71591
71592
71593
71594
71595
71596
71597
71598
71599
71600
71601
71602
71603
71604
71605
71606
71607
71608
71609
71610
71611
71612
71613
71614
71615
71616
71617
71618
71619
71620
71621
71622
71623
71624
71625
71626
71627
71628
71629
71630
71631
71632
71633
71634
71635
71636
71637
71638
71639
71640
71641
71642
71643
71644
71645
71646
71647
71648
71649
71650
71651
71652
71653
71654
71655
71656
71657
71658
71659
71660
71661
71662
71663
71664
71665
71666
71667
71668
71669
71670
71671
71672
71673
71674
71675
71676
71677
71678
71679
71680
71681
71682
71683
71684
71685
71686
71687
71688
71689
71690
71691
71692
71693
71694
71695
71696
71697
71698
71699
71700
71701
71702
71703
71704
71705
71706
71707
71708
71709
71710
71711
71712
71713
71714
71715
71716
71717
71718
71719
71720
71721
71722
71723
71724
71725
71726
71727
71728
71729
71730
71731
71732
71733
71734
71735
71736
71737
71738
71739
71740
71741
71742
71743
71744
71745
71746
71747
71748
71749
71750
71751
71752
71753
71754
71755
71756
71757
71758
71759
71760
71761
71762
71763
71764
71765
71766
71767
71768
71769
71770
71771
71772
71773
71774
71775
71776
71777
71778
71779
71780
71781
71782
71783
71784
71785
71786
71787
71788
71789
71790
71791
71792
71793
71794
71795
71796
71797
71798
71799
71800
71801
71802
71803
71804
71805
71806
71807
71808
71809
71810
71811
71812
71813
71814
71815
71816
71817
71818
71819
71820
71821
71822
71823
71824
71825
71826
71827
71828
71829
71830
71831
71832
71833
71834
71835
71836
71837
71838
71839
71840
71841
71842
71843
71844
71845
71846
71847
71848
71849
71850
71851
71852
71853
71854
71855
71856
71857
71858
71859
71860
71861
71862
71863
71864
71865
71866
71867
71868
71869
71870
71871
71872
71873
71874
71875
71876
71877
71878
71879
71880
71881
71882
71883
71884
71885
71886
71887
71888
71889
71890
71891
71892
71893
71894
71895
71896
71897
71898
71899
71900
71901
71902
71903
71904
71905
71906
71907
71908
71909
71910
71911
71912
71913
71914
71915
71916
71917
71918
71919
71920
71921
71922
71923
71924
71925
71926
71927
71928
71929
71930
71931
71932
71933
71934
71935
71936
71937
71938
71939
71940
71941
71942
71943
71944
71945
71946
71947
71948
71949
71950
71951
71952
71953
71954
71955
71956
71957
71958
71959
71960
71961
71962
71963
71964
71965
71966
71967
71968
71969
71970
71971
71972
71973
71974
71975
71976
71977
71978
71979
71980
71981
71982
71983
71984
71985
71986
71987
71988
71989
71990
71991
71992
71993
71994
71995
71996
71997
71998
71999
72000
72001
72002
72003
72004
72005
72006
72007
72008
72009
72010
72011
72012
72013
72014
72015
72016
72017
72018
72019
72020
72021
72022
72023
72024
72025
72026
72027
72028
72029
72030
72031
72032
72033
72034
72035
72036
72037
72038
72039
72040
72041
72042
72043
72044
72045
72046
72047
72048
72049
72050
72051
72052
72053
72054
72055
72056
72057
72058
72059
72060
72061
72062
72063
72064
72065
72066
72067
72068
72069
72070
72071
72072
72073
72074
72075
72076
72077
72078
72079
72080
72081
72082
72083
72084
72085
72086
72087
72088
72089
72090
72091
72092
72093
72094
72095
72096
72097
72098
72099
72100
72101
72102
72103
72104
72105
72106
72107
72108
72109
72110
72111
72112
72113
72114
72115
72116
72117
72118
72119
72120
72121
72122
72123
72124
72125
72126
72127
72128
72129
72130
72131
72132
72133
72134
72135
72136
72137
72138
72139
72140
72141
72142
72143
72144
72145
72146
72147
72148
72149
72150
72151
72152
72153
72154
72155
72156
72157
72158
72159
72160
72161
72162
72163
72164
72165
72166
72167
72168
72169
72170
72171
72172
72173
72174
72175
72176
72177
72178
72179
72180
72181
72182
72183
72184
72185
72186
72187
72188
72189
72190
72191
72192
72193
72194
72195
72196
72197
72198
72199
72200
72201
72202
72203
72204
72205
72206
72207
72208
72209
72210
72211
72212
72213
72214
72215
72216
72217
72218
72219
72220
72221
72222
72223
72224
72225
72226
72227
72228
72229
72230
72231
72232
72233
72234
72235
72236
72237
72238
72239
72240
72241
72242
72243
72244
72245
72246
72247
72248
72249
72250
72251
72252
72253
72254
72255
72256
72257
72258
72259
72260
72261
72262
72263
72264
72265
72266
72267
72268
72269
72270
72271
72272
72273
72274
72275
72276
72277
72278
72279
72280
72281
72282
72283
72284
72285
72286
72287
72288
72289
72290
72291
72292
72293
72294
72295
72296
72297
72298
72299
72300
72301
72302
72303
72304
72305
72306
72307
72308
72309
72310
72311
72312
72313
72314
72315
72316
72317
72318
72319
72320
72321
72322
72323
72324
72325
72326
72327
72328
72329
72330
72331
72332
72333
72334
72335
72336
72337
72338
72339
72340
72341
72342
72343
72344
72345
72346
72347
72348
72349
72350
72351
72352
72353
72354
72355
72356
72357
72358
72359
72360
72361
72362
72363
72364
72365
72366
72367
72368
72369
72370
72371
72372
72373
72374
72375
72376
72377
72378
72379
72380
72381
72382
72383
72384
72385
72386
72387
72388
72389
72390
72391
72392
72393
72394
72395
72396
72397
72398
72399
72400
72401
72402
72403
72404
72405
72406
72407
72408
72409
72410
72411
72412
72413
72414
72415
72416
72417
72418
72419
72420
72421
72422
72423
72424
72425
72426
72427
72428
72429
72430
72431
72432
72433
72434
72435
72436
72437
72438
72439
72440
72441
72442
72443
72444
72445
72446
72447
72448
72449
72450
72451
72452
72453
72454
72455
72456
72457
72458
72459
72460
72461
72462
72463
72464
72465
72466
72467
72468
72469
72470
72471
72472
72473
72474
72475
72476
72477
72478
72479
72480
72481
72482
72483
72484
72485
72486
72487
72488
72489
72490
72491
72492
72493
72494
72495
72496
72497
72498
72499
72500
72501
72502
72503
72504
72505
72506
72507
72508
72509
72510
72511
72512
72513
72514
72515
72516
72517
72518
72519
72520
72521
72522
72523
72524
72525
72526
72527
72528
72529
72530
72531
72532
72533
72534
72535
72536
72537
72538
72539
72540
72541
72542
72543
72544
72545
72546
72547
72548
72549
72550
72551
72552
72553
72554
72555
72556
72557
72558
72559
72560
72561
72562
72563
72564
72565
72566
72567
72568
72569
72570
72571
72572
72573
72574
72575
72576
72577
72578
72579
72580
72581
72582
72583
72584
72585
72586
72587
72588
72589
72590
72591
72592
72593
72594
72595
72596
72597
72598
72599
72600
72601
72602
72603
72604
72605
72606
72607
72608
72609
72610
72611
72612
72613
72614
72615
72616
72617
72618
72619
72620
72621
72622
72623
72624
72625
72626
72627
72628
72629
72630
72631
72632
72633
72634
72635
72636
72637
72638
72639
72640
72641
72642
72643
72644
72645
72646
72647
72648
72649
72650
72651
72652
72653
72654
72655
72656
72657
72658
72659
72660
72661
72662
72663
72664
72665
72666
72667
72668
72669
72670
72671
72672
72673
72674
72675
72676
72677
72678
72679
72680
72681
72682
72683
72684
72685
72686
72687
72688
72689
72690
72691
72692
72693
72694
72695
72696
72697
72698
72699
72700
72701
72702
72703
72704
72705
72706
72707
72708
72709
72710
72711
72712
72713
72714
72715
72716
72717
72718
72719
72720
72721
72722
72723
72724
72725
72726
72727
72728
72729
72730
72731
72732
72733
72734
72735
72736
72737
72738
72739
72740
72741
72742
72743
72744
72745
72746
72747
72748
72749
72750
72751
72752
72753
72754
72755
72756
72757
72758
72759
72760
72761
72762
72763
72764
72765
72766
72767
72768
72769
72770
72771
72772
72773
72774
72775
72776
72777
72778
72779
72780
72781
72782
72783
72784
72785
72786
72787
72788
72789
72790
72791
72792
72793
72794
72795
72796
72797
72798
72799
72800
72801
72802
72803
72804
72805
72806
72807
72808
72809
72810
72811
72812
72813
72814
72815
72816
72817
72818
72819
72820
72821
72822
72823
72824
72825
72826
72827
72828
72829
72830
72831
72832
72833
72834
72835
72836
72837
72838
72839
72840
72841
72842
72843
72844
72845
72846
72847
72848
72849
72850
72851
72852
72853
72854
72855
72856
72857
72858
72859
72860
72861
72862
72863
72864
72865
72866
72867
72868
72869
72870
72871
72872
72873
72874
72875
72876
72877
72878
72879
72880
72881
72882
72883
72884
72885
72886
72887
72888
72889
72890
72891
72892
72893
72894
72895
72896
72897
72898
72899
72900
72901
72902
72903
72904
72905
72906
72907
72908
72909
72910
72911
72912
72913
72914
72915
72916
72917
72918
72919
72920
72921
72922
72923
72924
72925
72926
72927
72928
72929
72930
72931
72932
72933
72934
72935
72936
72937
72938
72939
72940
72941
72942
72943
72944
72945
72946
72947
72948
72949
72950
72951
72952
72953
72954
72955
72956
72957
72958
72959
72960
72961
72962
72963
72964
72965
72966
72967
72968
72969
72970
72971
72972
72973
72974
72975
72976
72977
72978
72979
72980
72981
72982
72983
72984
72985
72986
72987
72988
72989
72990
72991
72992
72993
72994
72995
72996
72997
72998
72999
73000
73001
73002
73003
73004
73005
73006
73007
73008
73009
73010
73011
73012
73013
73014
73015
73016
73017
73018
73019
73020
73021
73022
73023
73024
73025
73026
73027
73028
73029
73030
73031
73032
73033
73034
73035
73036
73037
73038
73039
73040
73041
73042
73043
73044
73045
73046
73047
73048
73049
73050
73051
73052
73053
73054
73055
73056
73057
73058
73059
73060
73061
73062
73063
73064
73065
73066
73067
73068
73069
73070
73071
73072
73073
73074
73075
73076
73077
73078
73079
73080
73081
73082
73083
73084
73085
73086
73087
73088
73089
73090
73091
73092
73093
73094
73095
73096
73097
73098
73099
73100
73101
73102
73103
73104
73105
73106
73107
73108
73109
73110
73111
73112
73113
73114
73115
73116
73117
73118
73119
73120
73121
73122
73123
73124
73125
73126
73127
73128
73129
73130
73131
73132
73133
73134
73135
73136
73137
73138
73139
73140
73141
73142
73143
73144
73145
73146
73147
73148
73149
73150
73151
73152
73153
73154
73155
73156
73157
73158
73159
73160
73161
73162
73163
73164
73165
73166
73167
73168
73169
73170
73171
73172
73173
73174
73175
73176
73177
73178
73179
73180
73181
73182
73183
73184
73185
73186
73187
73188
73189
73190
73191
73192
73193
73194
73195
73196
73197
73198
73199
73200
73201
73202
73203
73204
73205
73206
73207
73208
73209
73210
73211
73212
73213
73214
73215
73216
73217
73218
73219
73220
73221
73222
73223
73224
73225
73226
73227
73228
73229
73230
73231
73232
73233
73234
73235
73236
73237
73238
73239
73240
73241
73242
73243
73244
73245
73246
73247
73248
73249
73250
73251
73252
73253
73254
73255
73256
73257
73258
73259
73260
73261
73262
73263
73264
73265
73266
73267
73268
73269
73270
73271
73272
73273
73274
73275
73276
73277
73278
73279
73280
73281
73282
73283
73284
73285
73286
73287
73288
73289
73290
73291
73292
73293
73294
73295
73296
73297
73298
73299
73300
73301
73302
73303
73304
73305
73306
73307
73308
73309
73310
73311
73312
73313
73314
73315
73316
73317
73318
73319
73320
73321
73322
73323
73324
73325
73326
73327
73328
73329
73330
73331
73332
73333
73334
73335
73336
73337
73338
73339
73340
73341
73342
73343
73344
73345
73346
73347
73348
73349
73350
73351
73352
73353
73354
73355
73356
73357
73358
73359
73360
73361
73362
73363
73364
73365
73366
73367
73368
73369
73370
73371
73372
73373
73374
73375
73376
73377
73378
73379
73380
73381
73382
73383
73384
73385
73386
73387
73388
73389
73390
73391
73392
73393
73394
73395
73396
73397
73398
73399
73400
73401
73402
73403
73404
73405
73406
73407
73408
73409
73410
73411
73412
73413
73414
73415
73416
73417
73418
73419
73420
73421
73422
73423
73424
73425
73426
73427
73428
73429
73430
73431
73432
73433
73434
73435
73436
73437
73438
73439
73440
73441
73442
73443
73444
73445
73446
73447
73448
73449
73450
73451
73452
73453
73454
73455
73456
73457
73458
73459
73460
73461
73462
73463
73464
73465
73466
73467
73468
73469
73470
73471
73472
73473
73474
73475
73476
73477
73478
73479
73480
73481
73482
73483
73484
73485
73486
73487
73488
73489
73490
73491
73492
73493
73494
73495
73496
73497
73498
73499
73500
73501
73502
73503
73504
73505
73506
73507
73508
73509
73510
73511
73512
73513
73514
73515
73516
73517
73518
73519
73520
73521
73522
73523
73524
73525
73526
73527
73528
73529
73530
73531
73532
73533
73534
73535
73536
73537
73538
73539
73540
73541
73542
73543
73544
73545
73546
73547
73548
73549
73550
73551
73552
73553
73554
73555
73556
73557
73558
73559
73560
73561
73562
73563
73564
73565
73566
73567
73568
73569
73570
73571
73572
73573
73574
73575
73576
73577
73578
73579
73580
73581
73582
73583
73584
73585
73586
73587
73588
73589
73590
73591
73592
73593
73594
73595
73596
73597
73598
73599
73600
73601
73602
73603
73604
73605
73606
73607
73608
73609
73610
73611
73612
73613
73614
73615
73616
73617
73618
73619
73620
73621
73622
73623
73624
73625
73626
73627
73628
73629
73630
73631
73632
73633
73634
73635
73636
73637
73638
73639
73640
73641
73642
73643
73644
73645
73646
73647
73648
73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
73727
73728
73729
73730
73731
73732
73733
73734
73735
73736
73737
73738
73739
73740
73741
73742
73743
73744
73745
73746
73747
73748
73749
73750
73751
73752
73753
73754
73755
73756
73757
73758
73759
73760
73761
73762
73763
73764
73765
73766
73767
73768
73769
73770
73771
73772
73773
73774
73775
73776
73777
73778
73779
73780
73781
73782
73783
73784
73785
73786
73787
73788
73789
73790
73791
73792
73793
73794
73795
73796
73797
73798
73799
73800
73801
73802
73803
73804
73805
73806
73807
73808
73809
73810
73811
73812
73813
73814
73815
73816
73817
73818
73819
73820
73821
73822
73823
73824
73825
73826
73827
73828
73829
73830
73831
73832
73833
73834
73835
73836
73837
73838
73839
73840
73841
73842
73843
73844
73845
73846
73847
73848
73849
73850
73851
73852
73853
73854
73855
73856
73857
73858
73859
73860
73861
73862
73863
73864
73865
73866
73867
73868
73869
73870
73871
73872
73873
73874
73875
73876
73877
73878
73879
73880
73881
73882
73883
73884
73885
73886
73887
73888
73889
73890
73891
73892
73893
73894
73895
73896
73897
73898
73899
73900
73901
73902
73903
73904
73905
73906
73907
73908
73909
73910
73911
73912
73913
73914
73915
73916
73917
73918
73919
73920
73921
73922
73923
73924
73925
73926
73927
73928
73929
73930
73931
73932
73933
73934
73935
73936
73937
73938
73939
73940
73941
73942
73943
73944
73945
73946
73947
73948
73949
73950
73951
73952
73953
73954
73955
73956
73957
73958
73959
73960
73961
73962
73963
73964
73965
73966
73967
73968
73969
73970
73971
73972
73973
73974
73975
73976
73977
73978
73979
73980
73981
73982
73983
73984
73985
73986
73987
73988
73989
73990
73991
73992
73993
73994
73995
73996
73997
73998
73999
74000
74001
74002
74003
74004
74005
74006
74007
74008
74009
74010
74011
74012
74013
74014
74015
74016
74017
74018
74019
74020
74021
74022
74023
74024
74025
74026
74027
74028
74029
74030
74031
74032
74033
74034
74035
74036
74037
74038
74039
74040
74041
74042
74043
74044
74045
74046
74047
74048
74049
74050
74051
74052
74053
74054
74055
74056
74057
74058
74059
74060
74061
74062
74063
74064
74065
74066
74067
74068
74069
74070
74071
74072
74073
74074
74075
74076
74077
74078
74079
74080
74081
74082
74083
74084
74085
74086
74087
74088
74089
74090
74091
74092
74093
74094
74095
74096
74097
74098
74099
74100
74101
74102
74103
74104
74105
74106
74107
74108
74109
74110
74111
74112
74113
74114
74115
74116
74117
74118
74119
74120
74121
74122
74123
74124
74125
74126
74127
74128
74129
74130
74131
74132
74133
74134
74135
74136
74137
74138
74139
74140
74141
74142
74143
74144
74145
74146
74147
74148
74149
74150
74151
74152
74153
74154
74155
74156
74157
74158
74159
74160
74161
74162
74163
74164
74165
74166
74167
74168
74169
74170
74171
74172
74173
74174
74175
74176
74177
74178
74179
74180
74181
74182
74183
74184
74185
74186
74187
74188
74189
74190
74191
74192
74193
74194
74195
74196
74197
74198
74199
74200
74201
74202
74203
74204
74205
74206
74207
74208
74209
74210
74211
74212
74213
74214
74215
74216
74217
74218
74219
74220
74221
74222
74223
74224
74225
74226
74227
74228
74229
74230
74231
74232
74233
74234
74235
74236
74237
74238
74239
74240
74241
74242
74243
74244
74245
74246
74247
74248
74249
74250
74251
74252
74253
74254
74255
74256
74257
74258
74259
74260
74261
74262
74263
74264
74265
74266
74267
74268
74269
74270
74271
74272
74273
74274
74275
74276
74277
74278
74279
74280
74281
74282
74283
74284
74285
74286
74287
74288
74289
74290
74291
74292
74293
74294
74295
74296
74297
74298
74299
74300
74301
74302
74303
74304
74305
74306
74307
74308
74309
74310
74311
74312
74313
74314
74315
74316
74317
74318
74319
74320
74321
74322
74323
74324
74325
74326
74327
74328
74329
74330
74331
74332
74333
74334
74335
74336
74337
74338
74339
74340
74341
74342
74343
74344
74345
74346
74347
74348
74349
74350
74351
74352
74353
74354
74355
74356
74357
74358
74359
74360
74361
74362
74363
74364
74365
74366
74367
74368
74369
74370
74371
74372
74373
74374
74375
74376
74377
74378
74379
74380
74381
74382
74383
74384
74385
74386
74387
74388
74389
74390
74391
74392
74393
74394
74395
74396
74397
74398
74399
74400
74401
74402
74403
74404
74405
74406
74407
74408
74409
74410
74411
74412
74413
74414
74415
74416
74417
74418
74419
74420
74421
74422
74423
74424
74425
74426
74427
74428
74429
74430
74431
74432
74433
74434
74435
74436
74437
74438
74439
74440
74441
74442
74443
74444
74445
74446
74447
74448
74449
74450
74451
74452
74453
74454
74455
74456
74457
74458
74459
74460
74461
74462
74463
74464
74465
74466
74467
74468
74469
74470
74471
74472
74473
74474
74475
74476
74477
74478
74479
74480
74481
74482
74483
74484
74485
74486
74487
74488
74489
74490
74491
74492
74493
74494
74495
74496
74497
74498
74499
74500
74501
74502
74503
74504
74505
74506
74507
74508
74509
74510
74511
74512
74513
74514
74515
74516
74517
74518
74519
74520
74521
74522
74523
74524
74525
74526
74527
74528
74529
74530
74531
74532
74533
74534
74535
74536
74537
74538
74539
74540
74541
74542
74543
74544
74545
74546
74547
74548
74549
74550
74551
74552
74553
74554
74555
74556
74557
74558
74559
74560
74561
74562
74563
74564
74565
74566
74567
74568
74569
74570
74571
74572
74573
74574
74575
74576
74577
74578
74579
74580
74581
74582
74583
74584
74585
74586
74587
74588
74589
74590
74591
74592
74593
74594
74595
74596
74597
74598
74599
74600
74601
74602
74603
74604
74605
74606
74607
74608
74609
74610
74611
74612
74613
74614
74615
74616
74617
74618
74619
74620
74621
74622
74623
74624
74625
74626
74627
74628
74629
74630
74631
74632
74633
74634
74635
74636
74637
74638
74639
74640
74641
74642
74643
74644
74645
74646
74647
74648
74649
74650
74651
74652
74653
74654
74655
74656
74657
74658
74659
74660
74661
74662
74663
74664
74665
74666
74667
74668
74669
74670
74671
74672
74673
74674
74675
74676
74677
74678
74679
74680
74681
74682
74683
74684
74685
74686
74687
74688
74689
74690
74691
74692
74693
74694
74695
74696
74697
74698
74699
74700
74701
74702
74703
74704
74705
74706
74707
74708
74709
74710
74711
74712
74713
74714
74715
74716
74717
74718
74719
74720
74721
74722
74723
74724
74725
74726
74727
74728
74729
74730
74731
74732
74733
74734
74735
74736
74737
74738
74739
74740
74741
74742
74743
74744
74745
74746
74747
74748
74749
74750
74751
74752
74753
74754
74755
74756
74757
74758
74759
74760
74761
74762
74763
74764
74765
74766
74767
74768
74769
74770
74771
74772
74773
74774
74775
74776
74777
74778
74779
74780
74781
74782
74783
74784
74785
74786
74787
74788
74789
74790
74791
74792
74793
74794
74795
74796
74797
74798
74799
74800
74801
74802
74803
74804
74805
74806
74807
74808
74809
74810
74811
74812
74813
74814
74815
74816
74817
74818
74819
74820
74821
74822
74823
74824
74825
74826
74827
74828
74829
74830
74831
74832
74833
74834
74835
74836
74837
74838
74839
74840
74841
74842
74843
74844
74845
74846
74847
74848
74849
74850
74851
74852
74853
74854
74855
74856
74857
74858
74859
74860
74861
74862
74863
74864
74865
74866
74867
74868
74869
74870
74871
74872
74873
74874
74875
74876
74877
74878
74879
74880
74881
74882
74883
74884
74885
74886
74887
74888
74889
74890
74891
74892
74893
74894
74895
74896
74897
74898
74899
74900
74901
74902
74903
74904
74905
74906
74907
74908
74909
74910
74911
74912
74913
74914
74915
74916
74917
74918
74919
74920
74921
74922
74923
74924
74925
74926
74927
74928
74929
74930
74931
74932
74933
74934
74935
74936
74937
74938
74939
74940
74941
74942
74943
74944
74945
74946
74947
74948
74949
74950
74951
74952
74953
74954
74955
74956
74957
74958
74959
74960
74961
74962
74963
74964
74965
74966
74967
74968
74969
74970
74971
74972
74973
74974
74975
74976
74977
74978
74979
74980
74981
74982
74983
74984
74985
74986
74987
74988
74989
74990
74991
74992
74993
74994
74995
74996
74997
74998
74999
75000
75001
75002
75003
75004
75005
75006
75007
75008
75009
75010
75011
75012
75013
75014
75015
75016
75017
75018
75019
75020
75021
75022
75023
75024
75025
75026
75027
75028
75029
75030
75031
75032
75033
75034
75035
75036
75037
75038
75039
75040
75041
75042
75043
75044
75045
75046
75047
75048
75049
75050
75051
75052
75053
75054
75055
75056
75057
75058
75059
75060
75061
75062
75063
75064
75065
75066
75067
75068
75069
75070
75071
75072
75073
75074
75075
75076
75077
75078
75079
75080
75081
75082
75083
75084
75085
75086
75087
75088
75089
75090
75091
75092
75093
75094
75095
75096
75097
75098
75099
75100
75101
75102
75103
75104
75105
75106
75107
75108
75109
75110
75111
75112
75113
75114
75115
75116
75117
75118
75119
75120
75121
75122
75123
75124
75125
75126
75127
75128
75129
75130
75131
75132
75133
75134
75135
75136
75137
75138
75139
75140
75141
75142
75143
75144
75145
75146
75147
75148
75149
75150
75151
75152
75153
75154
75155
75156
75157
75158
75159
75160
75161
75162
75163
75164
75165
75166
75167
75168
75169
75170
75171
75172
75173
75174
75175
75176
75177
75178
75179
75180
75181
75182
75183
75184
75185
75186
75187
75188
75189
75190
75191
75192
75193
75194
75195
75196
75197
75198
75199
75200
75201
75202
75203
75204
75205
75206
75207
75208
75209
75210
75211
75212
75213
75214
75215
75216
75217
75218
75219
75220
75221
75222
75223
75224
75225
75226
75227
75228
75229
75230
75231
75232
75233
75234
75235
75236
75237
75238
75239
75240
75241
75242
75243
75244
75245
75246
75247
75248
75249
75250
75251
75252
75253
75254
75255
75256
75257
75258
75259
75260
75261
75262
75263
75264
75265
75266
75267
75268
75269
75270
75271
75272
75273
75274
75275
75276
75277
75278
75279
75280
75281
75282
75283
75284
75285
75286
75287
75288
75289
75290
75291
75292
75293
75294
75295
75296
75297
75298
75299
75300
75301
75302
75303
75304
75305
75306
75307
75308
75309
75310
75311
75312
75313
75314
75315
75316
75317
75318
75319
75320
75321
75322
75323
75324
75325
75326
75327
75328
75329
75330
75331
75332
75333
75334
75335
75336
75337
75338
75339
75340
75341
75342
75343
75344
75345
75346
75347
75348
75349
75350
75351
75352
75353
75354
75355
75356
75357
75358
75359
75360
75361
75362
75363
75364
75365
75366
75367
75368
75369
75370
75371
75372
75373
75374
75375
75376
75377
75378
75379
75380
75381
75382
75383
75384
75385
75386
75387
75388
75389
75390
75391
75392
75393
75394
75395
75396
75397
75398
75399
75400
75401
75402
75403
75404
75405
75406
75407
75408
75409
75410
75411
75412
75413
75414
75415
75416
75417
75418
75419
75420
75421
75422
75423
75424
75425
75426
75427
75428
75429
75430
75431
75432
75433
75434
75435
75436
75437
75438
75439
75440
75441
75442
75443
75444
75445
75446
75447
75448
75449
75450
75451
75452
75453
75454
75455
75456
75457
75458
75459
75460
75461
75462
75463
75464
75465
75466
75467
75468
75469
75470
75471
75472
75473
75474
75475
75476
75477
75478
75479
75480
75481
75482
75483
75484
75485
75486
75487
75488
75489
75490
75491
75492
75493
75494
75495
75496
75497
75498
75499
75500
75501
75502
75503
75504
75505
75506
75507
75508
75509
75510
75511
75512
75513
75514
75515
75516
75517
75518
75519
75520
75521
75522
75523
75524
75525
75526
75527
75528
75529
75530
75531
75532
75533
75534
75535
75536
75537
75538
75539
75540
75541
75542
75543
75544
75545
75546
75547
75548
75549
75550
75551
75552
75553
75554
75555
75556
75557
75558
75559
75560
75561
75562
75563
75564
75565
75566
75567
75568
75569
75570
75571
75572
75573
75574
75575
75576
75577
75578
75579
75580
75581
75582
75583
75584
75585
75586
75587
75588
75589
75590
75591
75592
75593
75594
75595
75596
75597
75598
75599
75600
75601
75602
75603
75604
75605
75606
75607
75608
75609
75610
75611
75612
75613
75614
75615
75616
75617
75618
75619
75620
75621
75622
75623
75624
75625
75626
75627
75628
75629
75630
75631
75632
75633
75634
75635
75636
75637
75638
75639
75640
75641
75642
75643
75644
75645
75646
75647
75648
75649
75650
75651
75652
75653
75654
75655
75656
75657
75658
75659
75660
75661
75662
75663
75664
75665
75666
75667
75668
75669
75670
75671
75672
75673
75674
75675
75676
75677
75678
75679
75680
75681
75682
75683
75684
75685
75686
75687
75688
75689
75690
75691
75692
75693
75694
75695
75696
75697
75698
75699
75700
75701
75702
75703
75704
75705
75706
75707
75708
75709
75710
75711
75712
75713
75714
75715
75716
75717
75718
75719
75720
75721
75722
75723
75724
75725
75726
75727
75728
75729
75730
75731
75732
75733
75734
75735
75736
75737
75738
75739
75740
75741
75742
75743
75744
75745
75746
75747
75748
75749
75750
75751
75752
75753
75754
75755
75756
75757
75758
75759
75760
75761
75762
75763
75764
75765
75766
75767
75768
75769
75770
75771
75772
75773
75774
75775
75776
75777
75778
75779
75780
75781
75782
75783
75784
75785
75786
75787
75788
75789
75790
75791
75792
75793
75794
75795
75796
75797
75798
75799
75800
75801
75802
75803
75804
75805
75806
75807
75808
75809
75810
75811
75812
75813
75814
75815
75816
75817
75818
75819
75820
75821
75822
75823
75824
75825
75826
75827
75828
75829
75830
75831
75832
75833
75834
75835
75836
75837
75838
75839
75840
75841
75842
75843
75844
75845
75846
75847
75848
75849
75850
75851
75852
75853
75854
75855
75856
75857
75858
75859
75860
75861
75862
75863
75864
75865
75866
75867
75868
75869
75870
75871
75872
75873
75874
75875
75876
75877
75878
75879
75880
75881
75882
75883
75884
75885
75886
75887
75888
75889
75890
75891
75892
75893
75894
75895
75896
75897
75898
75899
75900
75901
75902
75903
75904
75905
75906
75907
75908
75909
75910
75911
75912
75913
75914
75915
75916
75917
75918
75919
75920
75921
75922
75923
75924
75925
75926
75927
75928
75929
75930
75931
75932
75933
75934
75935
75936
75937
75938
75939
75940
75941
75942
75943
75944
75945
75946
75947
75948
75949
75950
75951
75952
75953
75954
75955
75956
75957
75958
75959
75960
75961
75962
75963
75964
75965
75966
75967
75968
75969
75970
75971
75972
75973
75974
75975
75976
75977
75978
75979
75980
75981
75982
75983
75984
75985
75986
75987
75988
75989
75990
75991
75992
75993
75994
75995
75996
75997
75998
75999
76000
76001
76002
76003
76004
76005
76006
76007
76008
76009
76010
76011
76012
76013
76014
76015
76016
76017
76018
76019
76020
76021
76022
76023
76024
76025
76026
76027
76028
76029
76030
76031
76032
76033
76034
76035
76036
76037
76038
76039
76040
76041
76042
76043
76044
76045
76046
76047
76048
76049
76050
76051
76052
76053
76054
76055
76056
76057
76058
76059
76060
76061
76062
76063
76064
76065
76066
76067
76068
76069
76070
76071
76072
76073
76074
76075
76076
76077
76078
76079
76080
76081
76082
76083
76084
76085
76086
76087
76088
76089
76090
76091
76092
76093
76094
76095
76096
76097
76098
76099
76100
76101
76102
76103
76104
76105
76106
76107
76108
76109
76110
76111
76112
76113
76114
76115
76116
76117
76118
76119
76120
76121
76122
76123
76124
76125
76126
76127
76128
76129
76130
76131
76132
76133
76134
76135
76136
76137
76138
76139
76140
76141
76142
76143
76144
76145
76146
76147
76148
76149
76150
76151
76152
76153
76154
76155
76156
76157
76158
76159
76160
76161
76162
76163
76164
76165
76166
76167
76168
76169
76170
76171
76172
76173
76174
76175
76176
76177
76178
76179
76180
76181
76182
76183
76184
76185
76186
76187
76188
76189
76190
76191
76192
76193
76194
76195
76196
76197
76198
76199
76200
76201
76202
76203
76204
76205
76206
76207
76208
76209
76210
76211
76212
76213
76214
76215
76216
76217
76218
76219
76220
76221
76222
76223
76224
76225
76226
76227
76228
76229
76230
76231
76232
76233
76234
76235
76236
76237
76238
76239
76240
76241
76242
76243
76244
76245
76246
76247
76248
76249
76250
76251
76252
76253
76254
76255
76256
76257
76258
76259
76260
76261
76262
76263
76264
76265
76266
76267
76268
76269
76270
76271
76272
76273
76274
76275
76276
76277
76278
76279
76280
76281
76282
76283
76284
76285
76286
76287
76288
76289
76290
76291
76292
76293
76294
76295
76296
76297
76298
76299
76300
76301
76302
76303
76304
76305
76306
76307
76308
76309
76310
76311
76312
76313
76314
76315
76316
76317
76318
76319
76320
76321
76322
76323
76324
76325
76326
76327
76328
76329
76330
76331
76332
76333
76334
76335
76336
76337
76338
76339
76340
76341
76342
76343
76344
76345
76346
76347
76348
76349
76350
76351
76352
76353
76354
76355
76356
76357
76358
76359
76360
76361
76362
76363
76364
76365
76366
76367
76368
76369
76370
76371
76372
76373
76374
76375
76376
76377
76378
76379
76380
76381
76382
76383
76384
76385
76386
76387
76388
76389
76390
76391
76392
76393
76394
76395
76396
76397
76398
76399
76400
76401
76402
76403
76404
76405
76406
76407
76408
76409
76410
76411
76412
76413
76414
76415
76416
76417
76418
76419
76420
76421
76422
76423
76424
76425
76426
76427
76428
76429
76430
76431
76432
76433
76434
76435
76436
76437
76438
76439
76440
76441
76442
76443
76444
76445
76446
76447
76448
76449
76450
76451
76452
76453
76454
76455
76456
76457
76458
76459
76460
76461
76462
76463
76464
76465
76466
76467
76468
76469
76470
76471
76472
76473
76474
76475
76476
76477
76478
76479
76480
76481
76482
76483
76484
76485
76486
76487
76488
76489
76490
76491
76492
76493
76494
76495
76496
76497
76498
76499
76500
76501
76502
76503
76504
76505
76506
76507
76508
76509
76510
76511
76512
76513
76514
76515
76516
76517
76518
76519
76520
76521
76522
76523
76524
76525
76526
76527
76528
76529
76530
76531
76532
76533
76534
76535
76536
76537
76538
76539
76540
76541
76542
76543
76544
76545
76546
76547
76548
76549
76550
76551
76552
76553
76554
76555
76556
76557
76558
76559
76560
76561
76562
76563
76564
76565
76566
76567
76568
76569
76570
76571
76572
76573
76574
76575
76576
76577
76578
76579
76580
76581
76582
76583
76584
76585
76586
76587
76588
76589
76590
76591
76592
76593
76594
76595
76596
76597
76598
76599
76600
76601
76602
76603
76604
76605
76606
76607
76608
76609
76610
76611
76612
76613
76614
76615
76616
76617
76618
76619
76620
76621
76622
76623
76624
76625
76626
76627
76628
76629
76630
76631
76632
76633
76634
76635
76636
76637
76638
76639
76640
76641
76642
76643
76644
76645
76646
76647
76648
76649
76650
76651
76652
76653
76654
76655
76656
76657
76658
76659
76660
76661
76662
76663
76664
76665
76666
76667
76668
76669
76670
76671
76672
76673
76674
76675
76676
76677
76678
76679
76680
76681
76682
76683
76684
76685
76686
76687
76688
76689
76690
76691
76692
76693
76694
76695
76696
76697
76698
76699
76700
76701
76702
76703
76704
76705
76706
76707
76708
76709
76710
76711
76712
76713
76714
76715
76716
76717
76718
76719
76720
76721
76722
76723
76724
76725
76726
76727
76728
76729
76730
76731
76732
76733
76734
76735
76736
76737
76738
76739
76740
76741
76742
76743
76744
76745
76746
76747
76748
76749
76750
76751
76752
76753
76754
76755
76756
76757
76758
76759
76760
76761
76762
76763
76764
76765
76766
76767
76768
76769
76770
76771
76772
76773
76774
76775
76776
76777
76778
76779
76780
76781
76782
76783
76784
76785
76786
76787
76788
76789
76790
76791
76792
76793
76794
76795
76796
76797
76798
76799
76800
76801
76802
76803
76804
76805
76806
76807
76808
76809
76810
76811
76812
76813
76814
76815
76816
76817
76818
76819
76820
76821
76822
76823
76824
76825
76826
76827
76828
76829
76830
76831
76832
76833
76834
76835
76836
76837
76838
76839
76840
76841
76842
76843
76844
76845
76846
76847
76848
76849
76850
76851
76852
76853
76854
76855
76856
76857
76858
76859
76860
76861
76862
76863
76864
76865
76866
76867
76868
76869
76870
76871
76872
76873
76874
76875
76876
76877
76878
76879
76880
76881
76882
76883
76884
76885
76886
76887
76888
76889
76890
76891
76892
76893
76894
76895
76896
76897
76898
76899
76900
76901
76902
76903
76904
76905
76906
76907
76908
76909
76910
76911
76912
76913
76914
76915
76916
76917
76918
76919
76920
76921
76922
76923
76924
76925
76926
76927
76928
76929
76930
76931
76932
76933
76934
76935
76936
76937
76938
76939
76940
76941
76942
76943
76944
76945
76946
76947
76948
76949
76950
76951
76952
76953
76954
76955
76956
76957
76958
76959
76960
76961
76962
76963
76964
76965
76966
76967
76968
76969
76970
76971
76972
76973
76974
76975
76976
76977
76978
76979
76980
76981
76982
76983
76984
76985
76986
76987
76988
76989
76990
76991
76992
76993
76994
76995
76996
76997
76998
76999
77000
77001
77002
77003
77004
77005
77006
77007
77008
77009
77010
77011
77012
77013
77014
77015
77016
77017
77018
77019
77020
77021
77022
77023
77024
77025
77026
77027
77028
77029
77030
77031
77032
77033
77034
77035
77036
77037
77038
77039
77040
77041
77042
77043
77044
77045
77046
77047
77048
77049
77050
77051
77052
77053
77054
77055
77056
77057
77058
77059
77060
77061
77062
77063
77064
77065
77066
77067
77068
77069
77070
77071
77072
77073
77074
77075
77076
77077
77078
77079
77080
77081
77082
77083
77084
77085
77086
77087
77088
77089
77090
77091
77092
77093
77094
77095
77096
77097
77098
77099
77100
77101
77102
77103
77104
77105
77106
77107
77108
77109
77110
77111
77112
77113
77114
77115
77116
77117
77118
77119
77120
77121
77122
77123
77124
77125
77126
77127
77128
77129
77130
77131
77132
77133
77134
77135
77136
77137
77138
77139
77140
77141
77142
77143
77144
77145
77146
77147
77148
77149
77150
77151
77152
77153
77154
77155
77156
77157
77158
77159
77160
77161
77162
77163
77164
77165
77166
77167
77168
77169
77170
77171
77172
77173
77174
77175
77176
77177
77178
77179
77180
77181
77182
77183
77184
77185
77186
77187
77188
77189
77190
77191
77192
77193
77194
77195
77196
77197
77198
77199
77200
77201
77202
77203
77204
77205
77206
77207
77208
77209
77210
77211
77212
77213
77214
77215
77216
77217
77218
77219
77220
77221
77222
77223
77224
77225
77226
77227
77228
77229
77230
77231
77232
77233
77234
77235
77236
77237
77238
77239
77240
77241
77242
77243
77244
77245
77246
77247
77248
77249
77250
77251
77252
77253
77254
77255
77256
77257
77258
77259
77260
77261
77262
77263
77264
77265
77266
77267
77268
77269
77270
77271
77272
77273
77274
77275
77276
77277
77278
77279
77280
77281
77282
77283
77284
77285
77286
77287
77288
77289
77290
77291
77292
77293
77294
77295
77296
77297
77298
77299
77300
77301
77302
77303
77304
77305
77306
77307
77308
77309
77310
77311
77312
77313
77314
77315
77316
77317
77318
77319
77320
77321
77322
77323
77324
77325
77326
77327
77328
77329
77330
77331
77332
77333
77334
77335
77336
77337
77338
77339
77340
77341
77342
77343
77344
77345
77346
77347
77348
77349
77350
77351
77352
77353
77354
77355
77356
77357
77358
77359
77360
77361
77362
77363
77364
77365
77366
77367
77368
77369
77370
77371
77372
77373
77374
77375
77376
77377
77378
77379
77380
77381
77382
77383
77384
77385
77386
77387
77388
77389
77390
77391
77392
77393
77394
77395
77396
77397
77398
77399
77400
77401
77402
77403
77404
77405
77406
77407
77408
77409
77410
77411
77412
77413
77414
77415
77416
77417
77418
77419
77420
77421
77422
77423
77424
77425
77426
77427
77428
77429
77430
77431
77432
77433
77434
77435
77436
77437
77438
77439
77440
77441
77442
77443
77444
77445
77446
77447
77448
77449
77450
77451
77452
77453
77454
77455
77456
77457
77458
77459
77460
77461
77462
77463
77464
77465
77466
77467
77468
77469
77470
77471
77472
77473
77474
77475
77476
77477
77478
77479
77480
77481
77482
77483
77484
77485
77486
77487
77488
77489
77490
77491
77492
77493
77494
77495
77496
77497
77498
77499
77500
77501
77502
77503
77504
77505
77506
77507
77508
77509
77510
77511
77512
77513
77514
77515
77516
77517
77518
77519
77520
77521
77522
77523
77524
77525
77526
77527
77528
77529
77530
77531
77532
77533
77534
77535
77536
77537
77538
77539
77540
77541
77542
77543
77544
77545
77546
77547
77548
77549
77550
77551
77552
77553
77554
77555
77556
77557
77558
77559
77560
77561
77562
77563
77564
77565
77566
77567
77568
77569
77570
77571
77572
77573
77574
77575
77576
77577
77578
77579
77580
77581
77582
77583
77584
77585
77586
77587
77588
77589
77590
77591
77592
77593
77594
77595
77596
77597
77598
77599
77600
77601
77602
77603
77604
77605
77606
77607
77608
77609
77610
77611
77612
77613
77614
77615
77616
77617
77618
77619
77620
77621
77622
77623
77624
77625
77626
77627
77628
77629
77630
77631
77632
77633
77634
77635
77636
77637
77638
77639
77640
77641
77642
77643
77644
77645
77646
77647
77648
77649
77650
77651
77652
77653
77654
77655
77656
77657
77658
77659
77660
77661
77662
77663
77664
77665
77666
77667
77668
77669
77670
77671
77672
77673
77674
77675
77676
77677
77678
77679
77680
77681
77682
77683
77684
77685
77686
77687
77688
77689
77690
77691
77692
77693
77694
77695
77696
77697
77698
77699
77700
77701
77702
77703
77704
77705
77706
77707
77708
77709
77710
77711
77712
77713
77714
77715
77716
77717
77718
77719
77720
77721
77722
77723
77724
77725
77726
77727
77728
77729
77730
77731
77732
77733
77734
77735
77736
77737
77738
77739
77740
77741
77742
77743
77744
77745
77746
77747
77748
77749
77750
77751
77752
77753
77754
77755
77756
77757
77758
77759
77760
77761
77762
77763
77764
77765
77766
77767
77768
77769
77770
77771
77772
77773
77774
77775
77776
77777
77778
77779
77780
77781
77782
77783
77784
77785
77786
77787
77788
77789
77790
77791
77792
77793
77794
77795
77796
77797
77798
77799
77800
77801
77802
77803
77804
77805
77806
77807
77808
77809
77810
77811
77812
77813
77814
77815
77816
77817
77818
77819
77820
77821
77822
77823
77824
77825
77826
77827
77828
77829
77830
77831
77832
77833
77834
77835
77836
77837
77838
77839
77840
77841
77842
77843
77844
77845
77846
77847
77848
77849
77850
77851
77852
77853
77854
77855
77856
77857
77858
77859
77860
77861
77862
77863
77864
77865
77866
77867
77868
77869
77870
77871
77872
77873
77874
77875
77876
77877
77878
77879
77880
77881
77882
77883
77884
77885
77886
77887
77888
77889
77890
77891
77892
77893
77894
77895
77896
77897
77898
77899
77900
77901
77902
77903
77904
77905
77906
77907
77908
77909
77910
77911
77912
77913
77914
77915
77916
77917
77918
77919
77920
77921
77922
77923
77924
77925
77926
77927
77928
77929
77930
77931
77932
77933
77934
77935
77936
77937
77938
77939
77940
77941
77942
77943
77944
77945
77946
77947
77948
77949
77950
77951
77952
77953
77954
77955
77956
77957
77958
77959
77960
77961
77962
77963
77964
77965
77966
77967
77968
77969
77970
77971
77972
77973
77974
77975
77976
77977
77978
77979
77980
77981
77982
77983
77984
77985
77986
77987
77988
77989
77990
77991
77992
77993
77994
77995
77996
77997
77998
77999
78000
78001
78002
78003
78004
78005
78006
78007
78008
78009
78010
78011
78012
78013
78014
78015
78016
78017
78018
78019
78020
78021
78022
78023
78024
78025
78026
78027
78028
78029
78030
78031
78032
78033
78034
78035
78036
78037
78038
78039
78040
78041
78042
78043
78044
78045
78046
78047
78048
78049
78050
78051
78052
78053
78054
78055
78056
78057
78058
78059
78060
78061
78062
78063
78064
78065
78066
78067
78068
78069
78070
78071
78072
78073
78074
78075
78076
78077
78078
78079
78080
78081
78082
78083
78084
78085
78086
78087
78088
78089
78090
78091
78092
78093
78094
78095
78096
78097
78098
78099
78100
78101
78102
78103
78104
78105
78106
78107
78108
78109
78110
78111
78112
78113
78114
78115
78116
78117
78118
78119
78120
78121
78122
78123
78124
78125
78126
78127
78128
78129
78130
78131
78132
78133
78134
78135
78136
78137
78138
78139
78140
78141
78142
78143
78144
78145
78146
78147
78148
78149
78150
78151
78152
78153
78154
78155
78156
78157
78158
78159
78160
78161
78162
78163
78164
78165
78166
78167
78168
78169
78170
78171
78172
78173
78174
78175
78176
78177
78178
78179
78180
78181
78182
78183
78184
78185
78186
78187
78188
78189
78190
78191
78192
78193
78194
78195
78196
78197
78198
78199
78200
78201
78202
78203
78204
78205
78206
78207
78208
78209
78210
78211
78212
78213
78214
78215
78216
78217
78218
78219
78220
78221
78222
78223
78224
78225
78226
78227
78228
78229
78230
78231
78232
78233
78234
78235
78236
78237
78238
78239
78240
78241
78242
78243
78244
78245
78246
78247
78248
78249
78250
78251
78252
78253
78254
78255
78256
78257
78258
78259
78260
78261
78262
78263
78264
78265
78266
78267
78268
78269
78270
78271
78272
78273
78274
78275
78276
78277
78278
78279
78280
78281
78282
78283
78284
78285
78286
78287
78288
78289
78290
78291
78292
78293
78294
78295
78296
78297
78298
78299
78300
78301
78302
78303
78304
78305
78306
78307
78308
78309
78310
78311
78312
78313
78314
78315
78316
78317
78318
78319
78320
78321
78322
78323
78324
78325
78326
78327
78328
78329
78330
78331
78332
78333
78334
78335
78336
78337
78338
78339
78340
78341
78342
78343
78344
78345
78346
78347
78348
78349
78350
78351
78352
78353
78354
78355
78356
78357
78358
78359
78360
78361
78362
78363
78364
78365
78366
78367
78368
78369
78370
78371
78372
78373
78374
78375
78376
78377
78378
78379
78380
78381
78382
78383
78384
78385
78386
78387
78388
78389
78390
78391
78392
78393
78394
78395
78396
78397
78398
78399
78400
78401
78402
78403
78404
78405
78406
78407
78408
78409
78410
78411
78412
78413
78414
78415
78416
78417
78418
78419
78420
78421
78422
78423
78424
78425
78426
78427
78428
78429
78430
78431
78432
78433
78434
78435
78436
78437
78438
78439
78440
78441
78442
78443
78444
78445
78446
78447
78448
78449
78450
78451
78452
78453
78454
78455
78456
78457
78458
78459
78460
78461
78462
78463
78464
78465
78466
78467
78468
78469
78470
78471
78472
78473
78474
78475
78476
78477
78478
78479
78480
78481
78482
78483
78484
78485
78486
78487
78488
78489
78490
78491
78492
78493
78494
78495
78496
78497
78498
78499
78500
78501
78502
78503
78504
78505
78506
78507
78508
78509
78510
78511
78512
78513
78514
78515
78516
78517
78518
78519
78520
78521
78522
78523
78524
78525
78526
78527
78528
78529
78530
78531
78532
78533
78534
78535
78536
78537
78538
78539
78540
78541
78542
78543
78544
78545
78546
78547
78548
78549
78550
78551
78552
78553
78554
78555
78556
78557
78558
78559
78560
78561
78562
78563
78564
78565
78566
78567
78568
78569
78570
78571
78572
78573
78574
78575
78576
78577
78578
78579
78580
78581
78582
78583
78584
78585
78586
78587
78588
78589
78590
78591
78592
78593
78594
78595
78596
78597
78598
78599
78600
78601
78602
78603
78604
78605
78606
78607
78608
78609
78610
78611
78612
78613
78614
78615
78616
78617
78618
78619
78620
78621
78622
78623
78624
78625
78626
78627
78628
78629
78630
78631
78632
78633
78634
78635
78636
78637
78638
78639
78640
78641
78642
78643
78644
78645
78646
78647
78648
78649
78650
78651
78652
78653
78654
78655
78656
78657
78658
78659
78660
78661
78662
78663
78664
78665
78666
78667
78668
78669
78670
78671
78672
78673
78674
78675
78676
78677
78678
78679
78680
78681
78682
78683
78684
78685
78686
78687
78688
78689
78690
78691
78692
78693
78694
78695
78696
78697
78698
78699
78700
78701
78702
78703
78704
78705
78706
78707
78708
78709
78710
78711
78712
78713
78714
78715
78716
78717
78718
78719
78720
78721
78722
78723
78724
78725
78726
78727
78728
78729
78730
78731
78732
78733
78734
78735
78736
78737
78738
78739
78740
78741
78742
78743
78744
78745
78746
78747
78748
78749
78750
78751
78752
78753
78754
78755
78756
78757
78758
78759
78760
78761
78762
78763
78764
78765
78766
78767
78768
78769
78770
78771
78772
78773
78774
78775
78776
78777
78778
78779
78780
78781
78782
78783
78784
78785
78786
78787
78788
78789
78790
78791
78792
78793
78794
78795
78796
78797
78798
78799
78800
78801
78802
78803
78804
78805
78806
78807
78808
78809
78810
78811
78812
78813
78814
78815
78816
78817
78818
78819
78820
78821
78822
78823
78824
78825
78826
78827
78828
78829
78830
78831
78832
78833
78834
78835
78836
78837
78838
78839
78840
78841
78842
78843
78844
78845
78846
78847
78848
78849
78850
78851
78852
78853
78854
78855
78856
78857
78858
78859
78860
78861
78862
78863
78864
78865
78866
78867
78868
78869
78870
78871
78872
78873
78874
78875
78876
78877
78878
78879
78880
78881
78882
78883
78884
78885
78886
78887
78888
78889
78890
78891
78892
78893
78894
78895
78896
78897
78898
78899
78900
78901
78902
78903
78904
78905
78906
78907
78908
78909
78910
78911
78912
78913
78914
78915
78916
78917
78918
78919
78920
78921
78922
78923
78924
78925
78926
78927
78928
78929
78930
78931
78932
78933
78934
78935
78936
78937
78938
78939
78940
78941
78942
78943
78944
78945
78946
78947
78948
78949
78950
78951
78952
78953
78954
78955
78956
78957
78958
78959
78960
78961
78962
78963
78964
78965
78966
78967
78968
78969
78970
78971
78972
78973
78974
78975
78976
78977
78978
78979
78980
78981
78982
78983
78984
78985
78986
78987
78988
78989
78990
78991
78992
78993
78994
78995
78996
78997
78998
78999
79000
79001
79002
79003
79004
79005
79006
79007
79008
79009
79010
79011
79012
79013
79014
79015
79016
79017
79018
79019
79020
79021
79022
79023
79024
79025
79026
79027
79028
79029
79030
79031
79032
79033
79034
79035
79036
79037
79038
79039
79040
79041
79042
79043
79044
79045
79046
79047
79048
79049
79050
79051
79052
79053
79054
79055
79056
79057
79058
79059
79060
79061
79062
79063
79064
79065
79066
79067
79068
79069
79070
79071
79072
79073
79074
79075
79076
79077
79078
79079
79080
79081
79082
79083
79084
79085
79086
79087
79088
79089
79090
79091
79092
79093
79094
79095
79096
79097
79098
79099
79100
79101
79102
79103
79104
79105
79106
79107
79108
79109
79110
79111
79112
79113
79114
79115
79116
79117
79118
79119
79120
79121
79122
79123
79124
79125
79126
79127
79128
79129
79130
79131
79132
79133
79134
79135
79136
79137
79138
79139
79140
79141
79142
79143
79144
79145
79146
79147
79148
79149
79150
79151
79152
79153
79154
79155
79156
79157
79158
79159
79160
79161
79162
79163
79164
79165
79166
79167
79168
79169
79170
79171
79172
79173
79174
79175
79176
79177
79178
79179
79180
79181
79182
79183
79184
79185
79186
79187
79188
79189
79190
79191
79192
79193
79194
79195
79196
79197
79198
79199
79200
79201
79202
79203
79204
79205
79206
79207
79208
79209
79210
79211
79212
79213
79214
79215
79216
79217
79218
79219
79220
79221
79222
79223
79224
79225
79226
79227
79228
79229
79230
79231
79232
79233
79234
79235
79236
79237
79238
79239
79240
79241
79242
79243
79244
79245
79246
79247
79248
79249
79250
79251
79252
79253
79254
79255
79256
79257
79258
79259
79260
79261
79262
79263
79264
79265
79266
79267
79268
79269
79270
79271
79272
79273
79274
79275
79276
79277
79278
79279
79280
79281
79282
79283
79284
79285
79286
79287
79288
79289
79290
79291
79292
79293
79294
79295
79296
79297
79298
79299
79300
79301
79302
79303
79304
79305
79306
79307
79308
79309
79310
79311
79312
79313
79314
79315
79316
79317
79318
79319
79320
79321
79322
79323
79324
79325
79326
79327
79328
79329
79330
79331
79332
79333
79334
79335
79336
79337
79338
79339
79340
79341
79342
79343
79344
79345
79346
79347
79348
79349
79350
79351
79352
79353
79354
79355
79356
79357
79358
79359
79360
79361
79362
79363
79364
79365
79366
79367
79368
79369
79370
79371
79372
79373
79374
79375
79376
79377
79378
79379
79380
79381
79382
79383
79384
79385
79386
79387
79388
79389
79390
79391
79392
79393
79394
79395
79396
79397
79398
79399
79400
79401
79402
79403
79404
79405
79406
79407
79408
79409
79410
79411
79412
79413
79414
79415
79416
79417
79418
79419
79420
79421
79422
79423
79424
79425
79426
79427
79428
79429
79430
79431
79432
79433
79434
79435
79436
79437
79438
79439
79440
79441
79442
79443
79444
79445
79446
79447
79448
79449
79450
79451
79452
79453
79454
79455
79456
79457
79458
79459
79460
79461
79462
79463
79464
79465
79466
79467
79468
79469
79470
79471
79472
79473
79474
79475
79476
79477
79478
79479
79480
79481
79482
79483
79484
79485
79486
79487
79488
79489
79490
79491
79492
79493
79494
79495
79496
79497
79498
79499
79500
79501
79502
79503
79504
79505
79506
79507
79508
79509
79510
79511
79512
79513
79514
79515
79516
79517
79518
79519
79520
79521
79522
79523
79524
79525
79526
79527
79528
79529
79530
79531
79532
79533
79534
79535
79536
79537
79538
79539
79540
79541
79542
79543
79544
79545
79546
79547
79548
79549
79550
79551
79552
79553
79554
79555
79556
79557
79558
79559
79560
79561
79562
79563
79564
79565
79566
79567
79568
79569
79570
79571
79572
79573
79574
79575
79576
79577
79578
79579
79580
79581
79582
79583
79584
79585
79586
79587
79588
79589
79590
79591
79592
79593
79594
79595
79596
79597
79598
79599
79600
79601
79602
79603
79604
79605
79606
79607
79608
79609
79610
79611
79612
79613
79614
79615
79616
79617
79618
79619
79620
79621
79622
79623
79624
79625
79626
79627
79628
79629
79630
79631
79632
79633
79634
79635
79636
79637
79638
79639
79640
79641
79642
79643
79644
79645
79646
79647
79648
79649
79650
79651
79652
79653
79654
79655
79656
79657
79658
79659
79660
79661
79662
79663
79664
79665
79666
79667
79668
79669
79670
79671
79672
79673
79674
79675
79676
79677
79678
79679
79680
79681
79682
79683
79684
79685
79686
79687
79688
79689
79690
79691
79692
79693
79694
79695
79696
79697
79698
79699
79700
79701
79702
79703
79704
79705
79706
79707
79708
79709
79710
79711
79712
79713
79714
79715
79716
79717
79718
79719
79720
79721
79722
79723
79724
79725
79726
79727
79728
79729
79730
79731
79732
79733
79734
79735
79736
79737
79738
79739
79740
79741
79742
79743
79744
79745
79746
79747
79748
79749
79750
79751
79752
79753
79754
79755
79756
79757
79758
79759
79760
79761
79762
79763
79764
79765
79766
79767
79768
79769
79770
79771
79772
79773
79774
79775
79776
79777
79778
79779
79780
79781
79782
79783
79784
79785
79786
79787
79788
79789
79790
79791
79792
79793
79794
79795
79796
79797
79798
79799
79800
79801
79802
79803
79804
79805
79806
79807
79808
79809
79810
79811
79812
79813
79814
79815
79816
79817
79818
79819
79820
79821
79822
79823
79824
79825
79826
79827
79828
79829
79830
79831
79832
79833
79834
79835
79836
79837
79838
79839
79840
79841
79842
79843
79844
79845
79846
79847
79848
79849
79850
79851
79852
79853
79854
79855
79856
79857
79858
79859
79860
79861
79862
79863
79864
79865
79866
79867
79868
79869
79870
79871
79872
79873
79874
79875
79876
79877
79878
79879
79880
79881
79882
79883
79884
79885
79886
79887
79888
79889
79890
79891
79892
79893
79894
79895
79896
79897
79898
79899
79900
79901
79902
79903
79904
79905
79906
79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
80074
80075
80076
80077
80078
80079
80080
80081
80082
80083
80084
80085
80086
80087
80088
80089
80090
80091
80092
80093
80094
80095
80096
80097
80098
80099
80100
80101
80102
80103
80104
80105
80106
80107
80108
80109
80110
80111
80112
80113
80114
80115
80116
80117
80118
80119
80120
80121
80122
80123
80124
80125
80126
80127
80128
80129
80130
80131
80132
80133
80134
80135
80136
80137
80138
80139
80140
80141
80142
80143
80144
80145
80146
80147
80148
80149
80150
80151
80152
80153
80154
80155
80156
80157
80158
80159
80160
80161
80162
80163
80164
80165
80166
80167
80168
80169
80170
80171
80172
80173
80174
80175
80176
80177
80178
80179
80180
80181
80182
80183
80184
80185
80186
80187
80188
80189
80190
80191
80192
80193
80194
80195
80196
80197
80198
80199
80200
80201
80202
80203
80204
80205
80206
80207
80208
80209
80210
80211
80212
80213
80214
80215
80216
80217
80218
80219
80220
80221
80222
80223
80224
80225
80226
80227
80228
80229
80230
80231
80232
80233
80234
80235
80236
80237
80238
80239
80240
80241
80242
80243
80244
80245
80246
80247
80248
80249
80250
80251
80252
80253
80254
80255
80256
80257
80258
80259
80260
80261
80262
80263
80264
80265
80266
80267
80268
80269
80270
80271
80272
80273
80274
80275
80276
80277
80278
80279
80280
80281
80282
80283
80284
80285
80286
80287
80288
80289
80290
80291
80292
80293
80294
80295
80296
80297
80298
80299
80300
80301
80302
80303
80304
80305
80306
80307
80308
80309
80310
80311
80312
80313
80314
80315
80316
80317
80318
80319
80320
80321
80322
80323
80324
80325
80326
80327
80328
80329
80330
80331
80332
80333
80334
80335
80336
80337
80338
80339
80340
80341
80342
80343
80344
80345
80346
80347
80348
80349
80350
80351
80352
80353
80354
80355
80356
80357
80358
80359
80360
80361
80362
80363
80364
80365
80366
80367
80368
80369
80370
80371
80372
80373
80374
80375
80376
80377
80378
80379
80380
80381
80382
80383
80384
80385
80386
80387
80388
80389
80390
80391
80392
80393
80394
80395
80396
80397
80398
80399
80400
80401
80402
80403
80404
80405
80406
80407
80408
80409
80410
80411
80412
80413
80414
80415
80416
80417
80418
80419
80420
80421
80422
80423
80424
80425
80426
80427
80428
80429
80430
80431
80432
80433
80434
80435
80436
80437
80438
80439
80440
80441
80442
80443
80444
80445
80446
80447
80448
80449
80450
80451
80452
80453
80454
80455
80456
80457
80458
80459
80460
80461
80462
80463
80464
80465
80466
80467
80468
80469
80470
80471
80472
80473
80474
80475
80476
80477
80478
80479
80480
80481
80482
80483
80484
80485
80486
80487
80488
80489
80490
80491
80492
80493
80494
80495
80496
80497
80498
80499
80500
80501
80502
80503
80504
80505
80506
80507
80508
80509
80510
80511
80512
80513
80514
80515
80516
80517
80518
80519
80520
80521
80522
80523
80524
80525
80526
80527
80528
80529
80530
80531
80532
80533
80534
80535
80536
80537
80538
80539
80540
80541
80542
80543
80544
80545
80546
80547
80548
80549
80550
80551
80552
80553
80554
80555
80556
80557
80558
80559
80560
80561
80562
80563
80564
80565
80566
80567
80568
80569
80570
80571
80572
80573
80574
80575
80576
80577
80578
80579
80580
80581
80582
80583
80584
80585
80586
80587
80588
80589
80590
80591
80592
80593
80594
80595
80596
80597
80598
80599
80600
80601
80602
80603
80604
80605
80606
80607
80608
80609
80610
80611
80612
80613
80614
80615
80616
80617
80618
80619
80620
80621
80622
80623
80624
80625
80626
80627
80628
80629
80630
80631
80632
80633
80634
80635
80636
80637
80638
80639
80640
80641
80642
80643
80644
80645
80646
80647
80648
80649
80650
80651
80652
80653
80654
80655
80656
80657
80658
80659
80660
80661
80662
80663
80664
80665
80666
80667
80668
80669
80670
80671
80672
80673
80674
80675
80676
80677
80678
80679
80680
80681
80682
80683
80684
80685
80686
80687
80688
80689
80690
80691
80692
80693
80694
80695
80696
80697
80698
80699
80700
80701
80702
80703
80704
80705
80706
80707
80708
80709
80710
80711
80712
80713
80714
80715
80716
80717
80718
80719
80720
80721
80722
80723
80724
80725
80726
80727
80728
80729
80730
80731
80732
80733
80734
80735
80736
80737
80738
80739
80740
80741
80742
80743
80744
80745
80746
80747
80748
80749
80750
80751
80752
80753
80754
80755
80756
80757
80758
80759
80760
80761
80762
80763
80764
80765
80766
80767
80768
80769
80770
80771
80772
80773
80774
80775
80776
80777
80778
80779
80780
80781
80782
80783
80784
80785
80786
80787
80788
80789
80790
80791
80792
80793
80794
80795
80796
80797
80798
80799
80800
80801
80802
80803
80804
80805
80806
80807
80808
80809
80810
80811
80812
80813
80814
80815
80816
80817
80818
80819
80820
80821
80822
80823
80824
80825
80826
80827
80828
80829
80830
80831
80832
80833
80834
80835
80836
80837
80838
80839
80840
80841
80842
80843
80844
80845
80846
80847
80848
80849
80850
80851
80852
80853
80854
80855
80856
80857
80858
80859
80860
80861
80862
80863
80864
80865
80866
80867
80868
80869
80870
80871
80872
80873
80874
80875
80876
80877
80878
80879
80880
80881
80882
80883
80884
80885
80886
80887
80888
80889
80890
80891
80892
80893
80894
80895
80896
80897
80898
80899
80900
80901
80902
80903
80904
80905
80906
80907
80908
80909
80910
80911
80912
80913
80914
80915
80916
80917
80918
80919
80920
80921
80922
80923
80924
80925
80926
80927
80928
80929
80930
80931
80932
80933
80934
80935
80936
80937
80938
80939
80940
80941
80942
80943
80944
80945
80946
80947
80948
80949
80950
80951
80952
80953
80954
80955
80956
80957
80958
80959
80960
80961
80962
80963
80964
80965
80966
80967
80968
80969
80970
80971
80972
80973
80974
80975
80976
80977
80978
80979
80980
80981
80982
80983
80984
80985
80986
80987
80988
80989
80990
80991
80992
80993
80994
80995
80996
80997
80998
80999
81000
81001
81002
81003
81004
81005
81006
81007
81008
81009
81010
81011
81012
81013
81014
81015
81016
81017
81018
81019
81020
81021
81022
81023
81024
81025
81026
81027
81028
81029
81030
81031
81032
81033
81034
81035
81036
81037
81038
81039
81040
81041
81042
81043
81044
81045
81046
81047
81048
81049
81050
81051
81052
81053
81054
81055
81056
81057
81058
81059
81060
81061
81062
81063
81064
81065
81066
81067
81068
81069
81070
81071
81072
81073
81074
81075
81076
81077
81078
81079
81080
81081
81082
81083
81084
81085
81086
81087
81088
81089
81090
81091
81092
81093
81094
81095
81096
81097
81098
81099
81100
81101
81102
81103
81104
81105
81106
81107
81108
81109
81110
81111
81112
81113
81114
81115
81116
81117
81118
81119
81120
81121
81122
81123
81124
81125
81126
81127
81128
81129
81130
81131
81132
81133
81134
81135
81136
81137
81138
81139
81140
81141
81142
81143
81144
81145
81146
81147
81148
81149
81150
81151
81152
81153
81154
81155
81156
81157
81158
81159
81160
81161
81162
81163
81164
81165
81166
81167
81168
81169
81170
81171
81172
81173
81174
81175
81176
81177
81178
81179
81180
81181
81182
81183
81184
81185
81186
81187
81188
81189
81190
81191
81192
81193
81194
81195
81196
81197
81198
81199
81200
81201
81202
81203
81204
81205
81206
81207
81208
81209
81210
81211
81212
81213
81214
81215
81216
81217
81218
81219
81220
81221
81222
81223
81224
81225
81226
81227
81228
81229
81230
81231
81232
81233
81234
81235
81236
81237
81238
81239
81240
81241
81242
81243
81244
81245
81246
81247
81248
81249
81250
81251
81252
81253
81254
81255
81256
81257
81258
81259
81260
81261
81262
81263
81264
81265
81266
81267
81268
81269
81270
81271
81272
81273
81274
81275
81276
81277
81278
81279
81280
81281
81282
81283
81284
81285
81286
81287
81288
81289
81290
81291
81292
81293
81294
81295
81296
81297
81298
81299
81300
81301
81302
81303
81304
81305
81306
81307
81308
81309
81310
81311
81312
81313
81314
81315
81316
81317
81318
81319
81320
81321
81322
81323
81324
81325
81326
81327
81328
81329
81330
81331
81332
81333
81334
81335
81336
81337
81338
81339
81340
81341
81342
81343
81344
81345
81346
81347
81348
81349
81350
81351
81352
81353
81354
81355
81356
81357
81358
81359
81360
81361
81362
81363
81364
81365
81366
81367
81368
81369
81370
81371
81372
81373
81374
81375
81376
81377
81378
81379
81380
81381
81382
81383
81384
81385
81386
81387
81388
81389
81390
81391
81392
81393
81394
81395
81396
81397
81398
81399
81400
81401
81402
81403
81404
81405
81406
81407
81408
81409
81410
81411
81412
81413
81414
81415
81416
81417
81418
81419
81420
81421
81422
81423
81424
81425
81426
81427
81428
81429
81430
81431
81432
81433
81434
81435
81436
81437
81438
81439
81440
81441
81442
81443
81444
81445
81446
81447
81448
81449
81450
81451
81452
81453
81454
81455
81456
81457
81458
81459
81460
81461
81462
81463
81464
81465
81466
81467
81468
81469
81470
81471
81472
81473
81474
81475
81476
81477
81478
81479
81480
81481
81482
81483
81484
81485
81486
81487
81488
81489
81490
81491
81492
81493
81494
81495
81496
81497
81498
81499
81500
81501
81502
81503
81504
81505
81506
81507
81508
81509
81510
81511
81512
81513
81514
81515
81516
81517
81518
81519
81520
81521
81522
81523
81524
81525
81526
81527
81528
81529
81530
81531
81532
81533
81534
81535
81536
81537
81538
81539
81540
81541
81542
81543
81544
81545
81546
81547
81548
81549
81550
81551
81552
81553
81554
81555
81556
81557
81558
81559
81560
81561
81562
81563
81564
81565
81566
81567
81568
81569
81570
81571
81572
81573
81574
81575
81576
81577
81578
81579
81580
81581
81582
81583
81584
81585
81586
81587
81588
81589
81590
81591
81592
81593
81594
81595
81596
81597
81598
81599
81600
81601
81602
81603
81604
81605
81606
81607
81608
81609
81610
81611
81612
81613
81614
81615
81616
81617
81618
81619
81620
81621
81622
81623
81624
81625
81626
81627
81628
81629
81630
81631
81632
81633
81634
81635
81636
81637
81638
81639
81640
81641
81642
81643
81644
81645
81646
81647
81648
81649
81650
81651
81652
81653
81654
81655
81656
81657
81658
81659
81660
81661
81662
81663
81664
81665
81666
81667
81668
81669
81670
81671
81672
81673
81674
81675
81676
81677
81678
81679
81680
81681
81682
81683
81684
81685
81686
81687
81688
81689
81690
81691
81692
81693
81694
81695
81696
81697
81698
81699
81700
81701
81702
81703
81704
81705
81706
81707
81708
81709
81710
81711
81712
81713
81714
81715
81716
81717
81718
81719
81720
81721
81722
81723
81724
81725
81726
81727
81728
81729
81730
81731
81732
81733
81734
81735
81736
81737
81738
81739
81740
81741
81742
81743
81744
81745
81746
81747
81748
81749
81750
81751
81752
81753
81754
81755
81756
81757
81758
81759
81760
81761
81762
81763
81764
81765
81766
81767
81768
81769
81770
81771
81772
81773
81774
81775
81776
81777
81778
81779
81780
81781
81782
81783
81784
81785
81786
81787
81788
81789
81790
81791
81792
81793
81794
81795
81796
81797
81798
81799
81800
81801
81802
81803
81804
81805
81806
81807
81808
81809
81810
81811
81812
81813
81814
81815
81816
81817
81818
81819
81820
81821
81822
81823
81824
81825
81826
81827
81828
81829
81830
81831
81832
81833
81834
81835
81836
81837
81838
81839
81840
81841
81842
81843
81844
81845
81846
81847
81848
81849
81850
81851
81852
81853
81854
81855
81856
81857
81858
81859
81860
81861
81862
81863
81864
81865
81866
81867
81868
81869
81870
81871
81872
81873
81874
81875
81876
81877
81878
81879
81880
81881
81882
81883
81884
81885
81886
81887
81888
81889
81890
81891
81892
81893
81894
81895
81896
81897
81898
81899
81900
81901
81902
81903
81904
81905
81906
81907
81908
81909
81910
81911
81912
81913
81914
81915
81916
81917
81918
81919
81920
81921
81922
81923
81924
81925
81926
81927
81928
81929
81930
81931
81932
81933
81934
81935
81936
81937
81938
81939
81940
81941
81942
81943
81944
81945
81946
81947
81948
81949
81950
81951
81952
81953
81954
81955
81956
81957
81958
81959
81960
81961
81962
81963
81964
81965
81966
81967
81968
81969
81970
81971
81972
81973
81974
81975
81976
81977
81978
81979
81980
81981
81982
81983
81984
81985
81986
81987
81988
81989
81990
81991
81992
81993
81994
81995
81996
81997
81998
81999
82000
82001
82002
82003
82004
82005
82006
82007
82008
82009
82010
82011
82012
82013
82014
82015
82016
82017
82018
82019
82020
82021
82022
82023
82024
82025
82026
82027
82028
82029
82030
82031
82032
82033
82034
82035
82036
82037
82038
82039
82040
82041
82042
82043
82044
82045
82046
82047
82048
82049
82050
82051
82052
82053
82054
82055
82056
82057
82058
82059
82060
82061
82062
82063
82064
82065
82066
82067
82068
82069
82070
82071
82072
82073
82074
82075
82076
82077
82078
82079
82080
82081
82082
82083
82084
82085
82086
82087
82088
82089
82090
82091
82092
82093
82094
82095
82096
82097
82098
82099
82100
82101
82102
82103
82104
82105
82106
82107
82108
82109
82110
82111
82112
82113
82114
82115
82116
82117
82118
82119
82120
82121
82122
82123
82124
82125
82126
82127
82128
82129
82130
82131
82132
82133
82134
82135
82136
82137
82138
82139
82140
82141
82142
82143
82144
82145
82146
82147
82148
82149
82150
82151
82152
82153
82154
82155
82156
82157
82158
82159
82160
82161
82162
82163
82164
82165
82166
82167
82168
82169
82170
82171
82172
82173
82174
82175
82176
82177
82178
82179
82180
82181
82182
82183
82184
82185
82186
82187
82188
82189
82190
82191
82192
82193
82194
82195
82196
82197
82198
82199
82200
82201
82202
82203
82204
82205
82206
82207
82208
82209
82210
82211
82212
82213
82214
82215
82216
82217
82218
82219
82220
82221
82222
82223
82224
82225
82226
82227
82228
82229
82230
82231
82232
82233
82234
82235
82236
82237
82238
82239
82240
82241
82242
82243
82244
82245
82246
82247
82248
82249
82250
82251
82252
82253
82254
82255
82256
82257
82258
82259
82260
82261
82262
82263
82264
82265
82266
82267
82268
82269
82270
82271
82272
82273
82274
82275
82276
82277
82278
82279
82280
82281
82282
82283
82284
82285
82286
82287
82288
82289
82290
82291
82292
82293
82294
82295
82296
82297
82298
82299
82300
82301
82302
82303
82304
82305
82306
82307
82308
82309
82310
82311
82312
82313
82314
82315
82316
82317
82318
82319
82320
82321
82322
82323
82324
82325
82326
82327
82328
82329
82330
82331
82332
82333
82334
82335
82336
82337
82338
82339
82340
82341
82342
82343
82344
82345
82346
82347
82348
82349
82350
82351
82352
82353
82354
82355
82356
82357
82358
82359
82360
82361
82362
82363
82364
82365
82366
82367
82368
82369
82370
82371
82372
82373
82374
82375
82376
82377
82378
82379
82380
82381
82382
82383
82384
82385
82386
82387
82388
82389
82390
82391
82392
82393
82394
82395
82396
82397
82398
82399
82400
82401
82402
82403
82404
82405
82406
82407
82408
82409
82410
82411
82412
82413
82414
82415
82416
82417
82418
82419
82420
82421
82422
82423
82424
82425
82426
82427
82428
82429
82430
82431
82432
82433
82434
82435
82436
82437
82438
82439
82440
82441
82442
82443
82444
82445
82446
82447
82448
82449
82450
82451
82452
82453
82454
82455
82456
82457
82458
82459
82460
82461
82462
82463
82464
82465
82466
82467
82468
82469
82470
82471
82472
82473
82474
82475
82476
82477
82478
82479
82480
82481
82482
82483
82484
82485
82486
82487
82488
82489
82490
82491
82492
82493
82494
82495
82496
82497
82498
82499
82500
82501
82502
82503
82504
82505
82506
82507
82508
82509
82510
82511
82512
82513
82514
82515
82516
82517
82518
82519
82520
82521
82522
82523
82524
82525
82526
82527
82528
82529
82530
82531
82532
82533
82534
82535
82536
82537
82538
82539
82540
82541
82542
82543
82544
82545
82546
82547
82548
82549
82550
82551
82552
82553
82554
82555
82556
82557
82558
82559
82560
82561
82562
82563
82564
82565
82566
82567
82568
82569
82570
82571
82572
82573
82574
82575
82576
82577
82578
82579
82580
82581
82582
82583
82584
82585
82586
82587
82588
82589
82590
82591
82592
82593
82594
82595
82596
82597
82598
82599
82600
82601
82602
82603
82604
82605
82606
82607
82608
82609
82610
82611
82612
82613
82614
82615
82616
82617
82618
82619
82620
82621
82622
82623
82624
82625
82626
82627
82628
82629
82630
82631
82632
82633
82634
82635
82636
82637
82638
82639
82640
82641
82642
82643
82644
82645
82646
82647
82648
82649
82650
82651
82652
82653
82654
82655
82656
82657
82658
82659
82660
82661
82662
82663
82664
82665
82666
82667
82668
82669
82670
82671
82672
82673
82674
82675
82676
82677
82678
82679
82680
82681
82682
82683
82684
82685
82686
82687
82688
82689
82690
82691
82692
82693
82694
82695
82696
82697
82698
82699
82700
82701
82702
82703
82704
82705
82706
82707
82708
82709
82710
82711
82712
82713
82714
82715
82716
82717
82718
82719
82720
82721
82722
82723
82724
82725
82726
82727
82728
82729
82730
82731
82732
82733
82734
82735
82736
82737
82738
82739
82740
82741
82742
82743
82744
82745
82746
82747
82748
82749
82750
82751
82752
82753
82754
82755
82756
82757
82758
82759
82760
82761
82762
82763
82764
82765
82766
82767
82768
82769
82770
82771
82772
82773
82774
82775
82776
82777
82778
82779
82780
82781
82782
82783
82784
82785
82786
82787
82788
82789
82790
82791
82792
82793
82794
82795
82796
82797
82798
82799
82800
82801
82802
82803
82804
82805
82806
82807
82808
82809
82810
82811
82812
82813
82814
82815
82816
82817
82818
82819
82820
82821
82822
82823
82824
82825
82826
82827
82828
82829
82830
82831
82832
82833
82834
82835
82836
82837
82838
82839
82840
82841
82842
82843
82844
82845
82846
82847
82848
82849
82850
82851
82852
82853
82854
82855
82856
82857
82858
82859
82860
82861
82862
82863
82864
82865
82866
82867
82868
82869
82870
82871
82872
82873
82874
82875
82876
82877
82878
82879
82880
82881
82882
82883
82884
82885
82886
82887
82888
82889
82890
82891
82892
82893
82894
82895
82896
82897
82898
82899
82900
82901
82902
82903
82904
82905
82906
82907
82908
82909
82910
82911
82912
82913
82914
82915
82916
82917
82918
82919
82920
82921
82922
82923
82924
82925
82926
82927
82928
82929
82930
82931
82932
82933
82934
82935
82936
82937
82938
82939
82940
82941
82942
82943
82944
82945
82946
82947
82948
82949
82950
82951
82952
82953
82954
82955
82956
82957
82958
82959
82960
82961
82962
82963
82964
82965
82966
82967
82968
82969
82970
82971
82972
82973
82974
82975
82976
82977
82978
82979
82980
82981
82982
82983
82984
82985
82986
82987
82988
82989
82990
82991
82992
82993
82994
82995
82996
82997
82998
82999
83000
83001
83002
83003
83004
83005
83006
83007
83008
83009
83010
83011
83012
83013
83014
83015
83016
83017
83018
83019
83020
83021
83022
83023
83024
83025
83026
83027
83028
83029
83030
83031
83032
83033
83034
83035
83036
83037
83038
83039
83040
83041
83042
83043
83044
83045
83046
83047
83048
83049
83050
83051
83052
83053
83054
83055
83056
83057
83058
83059
83060
83061
83062
83063
83064
83065
83066
83067
83068
83069
83070
83071
83072
83073
83074
83075
83076
83077
83078
83079
83080
83081
83082
83083
83084
83085
83086
83087
83088
83089
83090
83091
83092
83093
83094
83095
83096
83097
83098
83099
83100
83101
83102
83103
83104
83105
83106
83107
83108
83109
83110
83111
83112
83113
83114
83115
83116
83117
83118
83119
83120
83121
83122
83123
83124
83125
83126
83127
83128
83129
83130
83131
83132
83133
83134
83135
83136
83137
83138
83139
83140
83141
83142
83143
83144
83145
83146
83147
83148
83149
83150
83151
83152
83153
83154
83155
83156
83157
83158
83159
83160
83161
83162
83163
83164
83165
83166
83167
83168
83169
83170
83171
83172
83173
83174
83175
83176
83177
83178
83179
83180
83181
83182
83183
83184
83185
83186
83187
83188
83189
83190
83191
83192
83193
83194
83195
83196
83197
83198
83199
83200
83201
83202
83203
83204
83205
83206
83207
83208
83209
83210
83211
83212
83213
83214
83215
83216
83217
83218
83219
83220
83221
83222
83223
83224
83225
83226
83227
83228
83229
83230
83231
83232
83233
83234
83235
83236
83237
83238
83239
83240
83241
83242
83243
83244
83245
83246
83247
83248
83249
83250
83251
83252
83253
83254
83255
83256
83257
83258
83259
83260
83261
83262
83263
83264
83265
83266
83267
83268
83269
83270
83271
83272
83273
83274
83275
83276
83277
83278
83279
83280
83281
83282
83283
83284
83285
83286
83287
83288
83289
83290
83291
83292
83293
83294
83295
83296
83297
83298
83299
83300
83301
83302
83303
83304
83305
83306
83307
83308
83309
83310
83311
83312
83313
83314
83315
83316
83317
83318
83319
83320
83321
83322
83323
83324
83325
83326
83327
83328
83329
83330
83331
83332
83333
83334
83335
83336
83337
83338
83339
83340
83341
83342
83343
83344
83345
83346
83347
83348
83349
83350
83351
83352
83353
83354
83355
83356
83357
83358
83359
83360
83361
83362
83363
83364
83365
83366
83367
83368
83369
83370
83371
83372
83373
83374
83375
83376
83377
83378
83379
83380
83381
83382
83383
83384
83385
83386
83387
83388
83389
83390
83391
83392
83393
83394
83395
83396
83397
83398
83399
83400
83401
83402
83403
83404
83405
83406
83407
83408
83409
83410
83411
83412
83413
83414
83415
83416
83417
83418
83419
83420
83421
83422
83423
83424
83425
83426
83427
83428
83429
83430
83431
83432
83433
83434
83435
83436
83437
83438
83439
83440
83441
83442
83443
83444
83445
83446
83447
83448
83449
83450
83451
83452
83453
83454
83455
83456
83457
83458
83459
83460
83461
83462
83463
83464
83465
83466
83467
83468
83469
83470
83471
83472
83473
83474
83475
83476
83477
83478
83479
83480
83481
83482
83483
83484
83485
83486
83487
83488
83489
83490
83491
83492
83493
83494
83495
83496
83497
83498
83499
83500
83501
83502
83503
83504
83505
83506
83507
83508
83509
83510
83511
83512
83513
83514
83515
83516
83517
83518
83519
83520
83521
83522
83523
83524
83525
83526
83527
83528
83529
83530
83531
83532
83533
83534
83535
83536
83537
83538
83539
83540
83541
83542
83543
83544
83545
83546
83547
83548
83549
83550
83551
83552
83553
83554
83555
83556
83557
83558
83559
83560
83561
83562
83563
83564
83565
83566
83567
83568
83569
83570
83571
83572
83573
83574
83575
83576
83577
83578
83579
83580
83581
83582
83583
83584
83585
83586
83587
83588
83589
83590
83591
83592
83593
83594
83595
83596
83597
83598
83599
83600
83601
83602
83603
83604
83605
83606
83607
83608
83609
83610
83611
83612
83613
83614
83615
83616
83617
83618
83619
83620
83621
83622
83623
83624
83625
83626
83627
83628
83629
83630
83631
83632
83633
83634
83635
83636
83637
83638
83639
83640
83641
83642
83643
83644
83645
83646
83647
83648
83649
83650
83651
83652
83653
83654
83655
83656
83657
83658
83659
83660
83661
83662
83663
83664
83665
83666
83667
83668
83669
83670
83671
83672
83673
83674
83675
83676
83677
83678
83679
83680
83681
83682
83683
83684
83685
83686
83687
83688
83689
83690
83691
83692
83693
83694
83695
83696
83697
83698
83699
83700
83701
83702
83703
83704
83705
83706
83707
83708
83709
83710
83711
83712
83713
83714
83715
83716
83717
83718
83719
83720
83721
83722
83723
83724
83725
83726
83727
83728
83729
83730
83731
83732
83733
83734
83735
83736
83737
83738
83739
83740
83741
83742
83743
83744
83745
83746
83747
83748
83749
83750
83751
83752
83753
83754
83755
83756
83757
83758
83759
83760
83761
83762
83763
83764
83765
83766
83767
83768
83769
83770
83771
83772
83773
83774
83775
83776
83777
83778
83779
83780
83781
83782
83783
83784
83785
83786
83787
83788
83789
83790
83791
83792
83793
83794
83795
83796
83797
83798
83799
83800
83801
83802
83803
83804
83805
83806
83807
83808
83809
83810
83811
83812
83813
83814
83815
83816
83817
83818
83819
83820
83821
83822
83823
83824
83825
83826
83827
83828
83829
83830
83831
83832
83833
83834
83835
83836
83837
83838
83839
83840
83841
83842
83843
83844
83845
83846
83847
83848
83849
83850
83851
83852
83853
83854
83855
83856
83857
83858
83859
83860
83861
83862
83863
83864
83865
83866
83867
83868
83869
83870
83871
83872
83873
83874
83875
83876
83877
83878
83879
83880
83881
83882
83883
83884
83885
83886
83887
83888
83889
83890
83891
83892
83893
83894
83895
83896
83897
83898
83899
83900
83901
83902
83903
83904
83905
83906
83907
83908
83909
83910
83911
83912
83913
83914
83915
83916
83917
83918
83919
83920
83921
83922
83923
83924
83925
83926
83927
83928
83929
83930
83931
83932
83933
83934
83935
83936
83937
83938
83939
83940
83941
83942
83943
83944
83945
83946
83947
83948
83949
83950
83951
83952
83953
83954
83955
83956
83957
83958
83959
83960
83961
83962
83963
83964
83965
83966
83967
83968
83969
83970
83971
83972
83973
83974
83975
83976
83977
83978
83979
83980
83981
83982
83983
83984
83985
83986
83987
83988
83989
83990
83991
83992
83993
83994
83995
83996
83997
83998
83999
84000
84001
84002
84003
84004
84005
84006
84007
84008
84009
84010
84011
84012
84013
84014
84015
84016
84017
84018
84019
84020
84021
84022
84023
84024
84025
84026
84027
84028
84029
84030
84031
84032
84033
84034
84035
84036
84037
84038
84039
84040
84041
84042
84043
84044
84045
84046
84047
84048
84049
84050
84051
84052
84053
84054
84055
84056
84057
84058
84059
84060
84061
84062
84063
84064
84065
84066
84067
84068
84069
84070
84071
84072
84073
84074
84075
84076
84077
84078
84079
84080
84081
84082
84083
84084
84085
84086
84087
84088
84089
84090
84091
84092
84093
84094
84095
84096
84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
84120
84121
84122
84123
84124
84125
84126
84127
84128
84129
84130
84131
84132
84133
84134
84135
84136
84137
84138
84139
84140
84141
84142
84143
84144
84145
84146
84147
84148
84149
84150
84151
84152
84153
84154
84155
84156
84157
84158
84159
84160
84161
84162
84163
84164
84165
84166
84167
84168
84169
84170
84171
84172
84173
84174
84175
84176
84177
84178
84179
84180
84181
84182
84183
84184
84185
84186
84187
84188
84189
84190
84191
84192
84193
84194
84195
84196
84197
84198
84199
84200
84201
84202
84203
84204
84205
84206
84207
84208
84209
84210
84211
84212
84213
84214
84215
84216
84217
84218
84219
84220
84221
84222
84223
84224
84225
84226
84227
84228
84229
84230
84231
84232
84233
84234
84235
84236
84237
84238
84239
84240
84241
84242
84243
84244
84245
84246
84247
84248
84249
84250
84251
84252
84253
84254
84255
84256
84257
84258
84259
84260
84261
84262
84263
84264
84265
84266
84267
84268
84269
84270
84271
84272
84273
84274
84275
84276
84277
84278
84279
84280
84281
84282
84283
84284
84285
84286
84287
84288
84289
84290
84291
84292
84293
84294
84295
84296
84297
84298
84299
84300
84301
84302
84303
84304
84305
84306
84307
84308
84309
84310
84311
84312
84313
84314
84315
84316
84317
84318
84319
84320
84321
84322
84323
84324
84325
84326
84327
84328
84329
84330
84331
84332
84333
84334
84335
84336
84337
84338
84339
84340
84341
84342
84343
84344
84345
84346
84347
84348
84349
84350
84351
84352
84353
84354
84355
84356
84357
84358
84359
84360
84361
84362
84363
84364
84365
84366
84367
84368
84369
84370
84371
84372
84373
84374
84375
84376
84377
84378
84379
84380
84381
84382
84383
84384
84385
84386
84387
84388
84389
84390
84391
84392
84393
84394
84395
84396
84397
84398
84399
84400
84401
84402
84403
84404
84405
84406
84407
84408
84409
84410
84411
84412
84413
84414
84415
84416
84417
84418
84419
84420
84421
84422
84423
84424
84425
84426
84427
84428
84429
84430
84431
84432
84433
84434
84435
84436
84437
84438
84439
84440
84441
84442
84443
84444
84445
84446
84447
84448
84449
84450
84451
84452
84453
84454
84455
84456
84457
84458
84459
84460
84461
84462
84463
84464
84465
84466
84467
84468
84469
84470
84471
84472
84473
84474
84475
84476
84477
84478
84479
84480
84481
84482
84483
84484
84485
84486
84487
84488
84489
84490
84491
84492
84493
84494
84495
84496
84497
84498
84499
84500
84501
84502
84503
84504
84505
84506
84507
84508
84509
84510
84511
84512
84513
84514
84515
84516
84517
84518
84519
84520
84521
84522
84523
84524
84525
84526
84527
84528
84529
84530
84531
84532
84533
84534
84535
84536
84537
84538
84539
84540
84541
84542
84543
84544
84545
84546
84547
84548
84549
84550
84551
84552
84553
84554
84555
84556
84557
84558
84559
84560
84561
84562
84563
84564
84565
84566
84567
84568
84569
84570
84571
84572
84573
84574
84575
84576
84577
84578
84579
84580
84581
84582
84583
84584
84585
84586
84587
84588
84589
84590
84591
84592
84593
84594
84595
84596
84597
84598
84599
84600
84601
84602
84603
84604
84605
84606
84607
84608
84609
84610
84611
84612
84613
84614
84615
84616
84617
84618
84619
84620
84621
84622
84623
84624
84625
84626
84627
84628
84629
84630
84631
84632
84633
84634
84635
84636
84637
84638
84639
84640
84641
84642
84643
84644
84645
84646
84647
84648
84649
84650
84651
84652
84653
84654
84655
84656
84657
84658
84659
84660
84661
84662
84663
84664
84665
84666
84667
84668
84669
84670
84671
84672
84673
84674
84675
84676
84677
84678
84679
84680
84681
84682
84683
84684
84685
84686
84687
84688
84689
84690
84691
84692
84693
84694
84695
84696
84697
84698
84699
84700
84701
84702
84703
84704
84705
84706
84707
84708
84709
84710
84711
84712
84713
84714
84715
84716
84717
84718
84719
84720
84721
84722
84723
84724
84725
84726
84727
84728
84729
84730
84731
84732
84733
84734
84735
84736
84737
84738
84739
84740
84741
84742
84743
84744
84745
84746
84747
84748
84749
84750
84751
84752
84753
84754
84755
84756
84757
84758
84759
84760
84761
84762
84763
84764
84765
84766
84767
84768
84769
84770
84771
84772
84773
84774
84775
84776
84777
84778
84779
84780
84781
84782
84783
84784
84785
84786
84787
84788
84789
84790
84791
84792
84793
84794
84795
84796
84797
84798
84799
84800
84801
84802
84803
84804
84805
84806
84807
84808
84809
84810
84811
84812
84813
84814
84815
84816
84817
84818
84819
84820
84821
84822
84823
84824
84825
84826
84827
84828
84829
84830
84831
84832
84833
84834
84835
84836
84837
84838
84839
84840
84841
84842
84843
84844
84845
84846
84847
84848
84849
84850
84851
84852
84853
84854
84855
84856
84857
84858
84859
84860
84861
84862
84863
84864
84865
84866
84867
84868
84869
84870
84871
84872
84873
84874
84875
84876
84877
84878
84879
84880
84881
84882
84883
84884
84885
84886
84887
84888
84889
84890
84891
84892
84893
84894
84895
84896
84897
84898
84899
84900
84901
84902
84903
84904
84905
84906
84907
84908
84909
84910
84911
84912
84913
84914
84915
84916
84917
84918
84919
84920
84921
84922
84923
84924
84925
84926
84927
84928
84929
84930
84931
84932
84933
84934
84935
84936
84937
84938
84939
84940
84941
84942
84943
84944
84945
84946
84947
84948
84949
84950
84951
84952
84953
84954
84955
84956
84957
84958
84959
84960
84961
84962
84963
84964
84965
84966
84967
84968
84969
84970
84971
84972
84973
84974
84975
84976
84977
84978
84979
84980
84981
84982
84983
84984
84985
84986
84987
84988
84989
84990
84991
84992
84993
84994
84995
84996
84997
84998
84999
85000
85001
85002
85003
85004
85005
85006
85007
85008
85009
85010
85011
85012
85013
85014
85015
85016
85017
85018
85019
85020
85021
85022
85023
85024
85025
85026
85027
85028
85029
85030
85031
85032
85033
85034
85035
85036
85037
85038
85039
85040
85041
85042
85043
85044
85045
85046
85047
85048
85049
85050
85051
85052
85053
85054
85055
85056
85057
85058
85059
85060
85061
85062
85063
85064
85065
85066
85067
85068
85069
85070
85071
85072
85073
85074
85075
85076
85077
85078
85079
85080
85081
85082
85083
85084
85085
85086
85087
85088
85089
85090
85091
85092
85093
85094
85095
85096
85097
85098
85099
85100
85101
85102
85103
85104
85105
85106
85107
85108
85109
85110
85111
85112
85113
85114
85115
85116
85117
85118
85119
85120
85121
85122
85123
85124
85125
85126
85127
85128
85129
85130
85131
85132
85133
85134
85135
85136
85137
85138
85139
85140
85141
85142
85143
85144
85145
85146
85147
85148
85149
85150
85151
85152
85153
85154
85155
85156
85157
85158
85159
85160
85161
85162
85163
85164
85165
85166
85167
85168
85169
85170
85171
85172
85173
85174
85175
85176
85177
85178
85179
85180
85181
85182
85183
85184
85185
85186
85187
85188
85189
85190
85191
85192
85193
85194
85195
85196
85197
85198
85199
85200
85201
85202
85203
85204
85205
85206
85207
85208
85209
85210
85211
85212
85213
85214
85215
85216
85217
85218
85219
85220
85221
85222
85223
85224
85225
85226
85227
85228
85229
85230
85231
85232
85233
85234
85235
85236
85237
85238
85239
85240
85241
85242
85243
85244
85245
85246
85247
85248
85249
85250
85251
85252
85253
85254
85255
85256
85257
85258
85259
85260
85261
85262
85263
85264
85265
85266
85267
85268
85269
85270
85271
85272
85273
85274
85275
85276
85277
85278
85279
85280
85281
85282
85283
85284
85285
85286
85287
85288
85289
85290
85291
85292
85293
85294
85295
85296
85297
85298
85299
85300
85301
85302
85303
85304
85305
85306
85307
85308
85309
85310
85311
85312
85313
85314
85315
85316
85317
85318
85319
85320
85321
85322
85323
85324
85325
85326
85327
85328
85329
85330
85331
85332
85333
85334
85335
85336
85337
85338
85339
85340
85341
85342
85343
85344
85345
85346
85347
85348
85349
85350
85351
85352
85353
85354
85355
85356
85357
85358
85359
85360
85361
85362
85363
85364
85365
85366
85367
85368
85369
85370
85371
85372
85373
85374
85375
85376
85377
85378
85379
85380
85381
85382
85383
85384
85385
85386
85387
85388
85389
85390
85391
85392
85393
85394
85395
85396
85397
85398
85399
85400
85401
85402
85403
85404
85405
85406
85407
85408
85409
85410
85411
85412
85413
85414
85415
85416
85417
85418
85419
85420
85421
85422
85423
85424
85425
85426
85427
85428
85429
85430
85431
85432
85433
85434
85435
85436
85437
85438
85439
85440
85441
85442
85443
85444
85445
85446
85447
85448
85449
85450
85451
85452
85453
85454
85455
85456
85457
85458
85459
85460
85461
85462
85463
85464
85465
85466
85467
85468
85469
85470
85471
85472
85473
85474
85475
85476
85477
85478
85479
85480
85481
85482
85483
85484
85485
85486
85487
85488
85489
85490
85491
85492
85493
85494
85495
85496
85497
85498
85499
85500
85501
85502
85503
85504
85505
85506
85507
85508
85509
85510
85511
85512
85513
85514
85515
85516
85517
85518
85519
85520
85521
85522
85523
85524
85525
85526
85527
85528
85529
85530
85531
85532
85533
85534
85535
85536
85537
85538
85539
85540
85541
85542
85543
85544
85545
85546
85547
85548
85549
85550
85551
85552
85553
85554
85555
85556
85557
85558
85559
85560
85561
85562
85563
85564
85565
85566
85567
85568
85569
85570
85571
85572
85573
85574
85575
85576
85577
85578
85579
85580
85581
85582
85583
85584
85585
85586
85587
85588
85589
85590
85591
85592
85593
85594
85595
85596
85597
85598
85599
85600
85601
85602
85603
85604
85605
85606
85607
85608
85609
85610
85611
85612
85613
85614
85615
85616
85617
85618
85619
85620
85621
85622
85623
85624
85625
85626
85627
85628
85629
85630
85631
85632
85633
85634
85635
85636
85637
85638
85639
85640
85641
85642
85643
85644
85645
85646
85647
85648
85649
85650
85651
85652
85653
85654
85655
85656
85657
85658
85659
85660
85661
85662
85663
85664
85665
85666
85667
85668
85669
85670
85671
85672
85673
85674
85675
85676
85677
85678
85679
85680
85681
85682
85683
85684
85685
85686
85687
85688
85689
85690
85691
85692
85693
85694
85695
85696
85697
85698
85699
85700
85701
85702
85703
85704
85705
85706
85707
85708
85709
85710
85711
85712
85713
85714
85715
85716
85717
85718
85719
85720
85721
85722
85723
85724
85725
85726
85727
85728
85729
85730
85731
85732
85733
85734
85735
85736
85737
85738
85739
85740
85741
85742
85743
85744
85745
85746
85747
85748
85749
85750
85751
85752
85753
85754
85755
85756
85757
85758
85759
85760
85761
85762
85763
85764
85765
85766
85767
85768
85769
85770
85771
85772
85773
85774
85775
85776
85777
85778
85779
85780
85781
85782
85783
85784
85785
85786
85787
85788
85789
85790
85791
85792
85793
85794
85795
85796
85797
85798
85799
85800
85801
85802
85803
85804
85805
85806
85807
85808
85809
85810
85811
85812
85813
85814
85815
85816
85817
85818
85819
85820
85821
85822
85823
85824
85825
85826
85827
85828
85829
85830
85831
85832
85833
85834
85835
85836
85837
85838
85839
85840
85841
85842
85843
85844
85845
85846
85847
85848
85849
85850
85851
85852
85853
85854
85855
85856
85857
85858
85859
85860
85861
85862
85863
85864
85865
85866
85867
85868
85869
85870
85871
85872
85873
85874
85875
85876
85877
85878
85879
85880
85881
85882
85883
85884
85885
85886
85887
85888
85889
85890
85891
85892
85893
85894
85895
85896
85897
85898
85899
85900
85901
85902
85903
85904
85905
85906
85907
85908
85909
85910
85911
85912
85913
85914
85915
85916
85917
85918
85919
85920
85921
85922
85923
85924
85925
85926
85927
85928
85929
85930
85931
85932
85933
85934
85935
85936
85937
85938
85939
85940
85941
85942
85943
85944
85945
85946
85947
85948
85949
85950
85951
85952
85953
85954
85955
85956
85957
85958
85959
85960
85961
85962
85963
85964
85965
85966
85967
85968
85969
85970
85971
85972
85973
85974
85975
85976
85977
85978
85979
85980
85981
85982
85983
85984
85985
85986
85987
85988
85989
85990
85991
85992
85993
85994
85995
85996
85997
85998
85999
86000
86001
86002
86003
86004
86005
86006
86007
86008
86009
86010
86011
86012
86013
86014
86015
86016
86017
86018
86019
86020
86021
86022
86023
86024
86025
86026
86027
86028
86029
86030
86031
86032
86033
86034
86035
86036
86037
86038
86039
86040
86041
86042
86043
86044
86045
86046
86047
86048
86049
86050
86051
86052
86053
86054
86055
86056
86057
86058
86059
86060
86061
86062
86063
86064
86065
86066
86067
86068
86069
86070
86071
86072
86073
86074
86075
86076
86077
86078
86079
86080
86081
86082
86083
86084
86085
86086
86087
86088
86089
86090
86091
86092
86093
86094
86095
86096
86097
86098
86099
86100
86101
86102
86103
86104
86105
86106
86107
86108
86109
86110
86111
86112
86113
86114
86115
86116
86117
86118
86119
86120
86121
86122
86123
86124
86125
86126
86127
86128
86129
86130
86131
86132
86133
86134
86135
86136
86137
86138
86139
86140
86141
86142
86143
86144
86145
86146
86147
86148
86149
86150
86151
86152
86153
86154
86155
86156
86157
86158
86159
86160
86161
86162
86163
86164
86165
86166
86167
86168
86169
86170
86171
86172
86173
86174
86175
86176
86177
86178
86179
86180
86181
86182
86183
86184
86185
86186
86187
86188
86189
86190
86191
86192
86193
86194
86195
86196
86197
86198
86199
86200
86201
86202
86203
86204
86205
86206
86207
86208
86209
86210
86211
86212
86213
86214
86215
86216
86217
86218
86219
86220
86221
86222
86223
86224
86225
86226
86227
86228
86229
86230
86231
86232
86233
86234
86235
86236
86237
86238
86239
86240
86241
86242
86243
86244
86245
86246
86247
86248
86249
86250
86251
86252
86253
86254
86255
86256
86257
86258
86259
86260
86261
86262
86263
86264
86265
86266
86267
86268
86269
86270
86271
86272
86273
86274
86275
86276
86277
86278
86279
86280
86281
86282
86283
86284
86285
86286
86287
86288
86289
86290
86291
86292
86293
86294
86295
86296
86297
86298
86299
86300
86301
86302
86303
86304
86305
86306
86307
86308
86309
86310
86311
86312
86313
86314
86315
86316
86317
86318
86319
86320
86321
86322
86323
86324
86325
86326
86327
86328
86329
86330
86331
86332
86333
86334
86335
86336
86337
86338
86339
86340
86341
86342
86343
86344
86345
86346
86347
86348
86349
86350
86351
86352
86353
86354
86355
86356
86357
86358
86359
86360
86361
86362
86363
86364
86365
86366
86367
86368
86369
86370
86371
86372
86373
86374
86375
86376
86377
86378
86379
86380
86381
86382
86383
86384
86385
86386
86387
86388
86389
86390
86391
86392
86393
86394
86395
86396
86397
86398
86399
86400
86401
86402
86403
86404
86405
86406
86407
86408
86409
86410
86411
86412
86413
86414
86415
86416
86417
86418
86419
86420
86421
86422
86423
86424
86425
86426
86427
86428
86429
86430
86431
86432
86433
86434
86435
86436
86437
86438
86439
86440
86441
86442
86443
86444
86445
86446
86447
86448
86449
86450
86451
86452
86453
86454
86455
86456
86457
86458
86459
86460
86461
86462
86463
86464
86465
86466
86467
86468
86469
86470
86471
86472
86473
86474
86475
86476
86477
86478
86479
86480
86481
86482
86483
86484
86485
86486
86487
86488
86489
86490
86491
86492
86493
86494
86495
86496
86497
86498
86499
86500
86501
86502
86503
86504
86505
86506
86507
86508
86509
86510
86511
86512
86513
86514
86515
86516
86517
86518
86519
86520
86521
86522
86523
86524
86525
86526
86527
86528
86529
86530
86531
86532
86533
86534
86535
86536
86537
86538
86539
86540
86541
86542
86543
86544
86545
86546
86547
86548
86549
86550
86551
86552
86553
86554
86555
86556
86557
86558
86559
86560
86561
86562
86563
86564
86565
86566
86567
86568
86569
86570
86571
86572
86573
86574
86575
86576
86577
86578
86579
86580
86581
86582
86583
86584
86585
86586
86587
86588
86589
86590
86591
86592
86593
86594
86595
86596
86597
86598
86599
86600
86601
86602
86603
86604
86605
86606
86607
86608
86609
86610
86611
86612
86613
86614
86615
86616
86617
86618
86619
86620
86621
86622
86623
86624
86625
86626
86627
86628
86629
86630
86631
86632
86633
86634
86635
86636
86637
86638
86639
86640
86641
86642
86643
86644
86645
86646
86647
86648
86649
86650
86651
86652
86653
86654
86655
86656
86657
86658
86659
86660
86661
86662
86663
86664
86665
86666
86667
86668
86669
86670
86671
86672
86673
86674
86675
86676
86677
86678
86679
86680
86681
86682
86683
86684
86685
86686
86687
86688
86689
86690
86691
86692
86693
86694
86695
86696
86697
86698
86699
86700
86701
86702
86703
86704
86705
86706
86707
86708
86709
86710
86711
86712
86713
86714
86715
86716
86717
86718
86719
86720
86721
86722
86723
86724
86725
86726
86727
86728
86729
86730
86731
86732
86733
86734
86735
86736
86737
86738
86739
86740
86741
86742
86743
86744
86745
86746
86747
86748
86749
86750
86751
86752
86753
86754
86755
86756
86757
86758
86759
86760
86761
86762
86763
86764
86765
86766
86767
86768
86769
86770
86771
86772
86773
86774
86775
86776
86777
86778
86779
86780
86781
86782
86783
86784
86785
86786
86787
86788
86789
86790
86791
86792
86793
86794
86795
86796
86797
86798
86799
86800
86801
86802
86803
86804
86805
86806
86807
86808
86809
86810
86811
86812
86813
86814
86815
86816
86817
86818
86819
86820
86821
86822
86823
86824
86825
86826
86827
86828
86829
86830
86831
86832
86833
86834
86835
86836
86837
86838
86839
86840
86841
86842
86843
86844
86845
86846
86847
86848
86849
86850
86851
86852
86853
86854
86855
86856
86857
86858
86859
86860
86861
86862
86863
86864
86865
86866
86867
86868
86869
86870
86871
86872
86873
86874
86875
86876
86877
86878
86879
86880
86881
86882
86883
86884
86885
86886
86887
86888
86889
86890
86891
86892
86893
86894
86895
86896
86897
86898
86899
86900
86901
86902
86903
86904
86905
86906
86907
86908
86909
86910
86911
86912
86913
86914
86915
86916
86917
86918
86919
86920
86921
86922
86923
86924
86925
86926
86927
86928
86929
86930
86931
86932
86933
86934
86935
86936
86937
86938
86939
86940
86941
86942
86943
86944
86945
86946
86947
86948
86949
86950
86951
86952
86953
86954
86955
86956
86957
86958
86959
86960
86961
86962
86963
86964
86965
86966
86967
86968
86969
86970
86971
86972
86973
86974
86975
86976
86977
86978
86979
86980
86981
86982
86983
86984
86985
86986
86987
86988
86989
86990
86991
86992
86993
86994
86995
86996
86997
86998
86999
87000
87001
87002
87003
87004
87005
87006
87007
87008
87009
87010
87011
87012
87013
87014
87015
87016
87017
87018
87019
87020
87021
87022
87023
87024
87025
87026
87027
87028
87029
87030
87031
87032
87033
87034
87035
87036
87037
87038
87039
87040
87041
87042
87043
87044
87045
87046
87047
87048
87049
87050
87051
87052
87053
87054
87055
87056
87057
87058
87059
87060
87061
87062
87063
87064
87065
87066
87067
87068
87069
87070
87071
87072
87073
87074
87075
87076
87077
87078
87079
87080
87081
87082
87083
87084
87085
87086
87087
87088
87089
87090
87091
87092
87093
87094
87095
87096
87097
87098
87099
87100
87101
87102
87103
87104
87105
87106
87107
87108
87109
87110
87111
87112
87113
87114
87115
87116
87117
87118
87119
87120
87121
87122
87123
87124
87125
87126
87127
87128
87129
87130
87131
87132
87133
87134
87135
87136
87137
87138
87139
87140
87141
87142
87143
87144
87145
87146
87147
87148
87149
87150
87151
87152
87153
87154
87155
87156
87157
87158
87159
87160
87161
87162
87163
87164
87165
87166
87167
87168
87169
87170
87171
87172
87173
87174
87175
87176
87177
87178
87179
87180
87181
87182
87183
87184
87185
87186
87187
87188
87189
87190
87191
87192
87193
87194
87195
87196
87197
87198
87199
87200
87201
87202
87203
87204
87205
87206
87207
87208
87209
87210
87211
87212
87213
87214
87215
87216
87217
87218
87219
87220
87221
87222
87223
87224
87225
87226
87227
87228
87229
87230
87231
87232
87233
87234
87235
87236
87237
87238
87239
87240
87241
87242
87243
87244
87245
87246
87247
87248
87249
87250
87251
87252
87253
87254
87255
87256
87257
87258
87259
87260
87261
87262
87263
87264
87265
87266
87267
87268
87269
87270
87271
87272
87273
87274
87275
87276
87277
87278
87279
87280
87281
87282
87283
87284
87285
87286
87287
87288
87289
87290
87291
87292
87293
87294
87295
87296
87297
87298
87299
87300
87301
87302
87303
87304
87305
87306
87307
87308
87309
87310
87311
87312
87313
87314
87315
87316
87317
87318
87319
87320
87321
87322
87323
87324
87325
87326
87327
87328
87329
87330
87331
87332
87333
87334
87335
87336
87337
87338
87339
87340
87341
87342
87343
87344
87345
87346
87347
87348
87349
87350
87351
87352
87353
87354
87355
87356
87357
87358
87359
87360
87361
87362
87363
87364
87365
87366
87367
87368
87369
87370
87371
87372
87373
87374
87375
87376
87377
87378
87379
87380
87381
87382
87383
87384
87385
87386
87387
87388
87389
87390
87391
87392
87393
87394
87395
87396
87397
87398
87399
87400
87401
87402
87403
87404
87405
87406
87407
87408
87409
87410
87411
87412
87413
87414
87415
87416
87417
87418
87419
87420
87421
87422
87423
87424
87425
87426
87427
87428
87429
87430
87431
87432
87433
87434
87435
87436
87437
87438
87439
87440
87441
87442
87443
87444
87445
87446
87447
87448
87449
87450
87451
87452
87453
87454
87455
87456
87457
87458
87459
87460
87461
87462
87463
87464
87465
87466
87467
87468
87469
87470
87471
87472
87473
87474
87475
87476
87477
87478
87479
87480
87481
87482
87483
87484
87485
87486
87487
87488
87489
87490
87491
87492
87493
87494
87495
87496
87497
87498
87499
87500
87501
87502
87503
87504
87505
87506
87507
87508
87509
87510
87511
87512
87513
87514
87515
87516
87517
87518
87519
87520
87521
87522
87523
87524
87525
87526
87527
87528
87529
87530
87531
87532
87533
87534
87535
87536
87537
87538
87539
87540
87541
87542
87543
87544
87545
87546
87547
87548
87549
87550
87551
87552
87553
87554
87555
87556
87557
87558
87559
87560
87561
87562
87563
87564
87565
87566
87567
87568
87569
87570
87571
87572
87573
87574
87575
87576
87577
87578
87579
87580
87581
87582
87583
87584
87585
87586
87587
87588
87589
87590
87591
87592
87593
87594
87595
87596
87597
87598
87599
87600
87601
87602
87603
87604
87605
87606
87607
87608
87609
87610
87611
87612
87613
87614
87615
87616
87617
87618
87619
87620
87621
87622
87623
87624
87625
87626
87627
87628
87629
87630
87631
87632
87633
87634
87635
87636
87637
87638
87639
87640
87641
87642
87643
87644
87645
87646
87647
87648
87649
87650
87651
87652
87653
87654
87655
87656
87657
87658
87659
87660
87661
87662
87663
87664
87665
87666
87667
87668
87669
87670
87671
87672
87673
87674
87675
87676
87677
87678
87679
87680
87681
87682
87683
87684
87685
87686
87687
87688
87689
87690
87691
87692
87693
87694
87695
87696
87697
87698
87699
87700
87701
87702
87703
87704
87705
87706
87707
87708
87709
87710
87711
87712
87713
87714
87715
87716
87717
87718
87719
87720
87721
87722
87723
87724
87725
87726
87727
87728
87729
87730
87731
87732
87733
87734
87735
87736
87737
87738
87739
87740
87741
87742
87743
87744
87745
87746
87747
87748
87749
87750
87751
87752
87753
87754
87755
87756
87757
87758
87759
87760
87761
87762
87763
87764
87765
87766
87767
87768
87769
87770
87771
87772
87773
87774
87775
87776
87777
87778
87779
87780
87781
87782
87783
87784
87785
87786
87787
87788
87789
87790
87791
87792
87793
87794
87795
87796
87797
87798
87799
87800
87801
87802
87803
87804
87805
87806
87807
87808
87809
87810
87811
87812
87813
87814
87815
87816
87817
87818
87819
87820
87821
87822
87823
87824
87825
87826
87827
87828
87829
87830
87831
87832
87833
87834
87835
87836
87837
87838
87839
87840
87841
87842
87843
87844
87845
87846
87847
87848
87849
87850
87851
87852
87853
87854
87855
87856
87857
87858
87859
87860
87861
87862
87863
87864
87865
87866
87867
87868
87869
87870
87871
87872
87873
87874
87875
87876
87877
87878
87879
87880
87881
87882
87883
87884
87885
87886
87887
87888
87889
87890
87891
87892
87893
87894
87895
87896
87897
87898
87899
87900
87901
87902
87903
87904
87905
87906
87907
87908
87909
87910
87911
87912
87913
87914
87915
87916
87917
87918
87919
87920
87921
87922
87923
87924
87925
87926
87927
87928
87929
87930
87931
87932
87933
87934
87935
87936
87937
87938
87939
87940
87941
87942
87943
87944
87945
87946
87947
87948
87949
87950
87951
87952
87953
87954
87955
87956
87957
87958
87959
87960
87961
87962
87963
87964
87965
87966
87967
87968
87969
87970
87971
87972
87973
87974
87975
87976
87977
87978
87979
87980
87981
87982
87983
87984
87985
87986
87987
87988
87989
87990
87991
87992
87993
87994
87995
87996
87997
87998
87999
88000
88001
88002
88003
88004
88005
88006
88007
88008
88009
88010
88011
88012
88013
88014
88015
88016
88017
88018
88019
88020
88021
88022
88023
88024
88025
88026
88027
88028
88029
88030
88031
88032
88033
88034
88035
88036
88037
88038
88039
88040
88041
88042
88043
88044
88045
88046
88047
88048
88049
88050
88051
88052
88053
88054
88055
88056
88057
88058
88059
88060
88061
88062
88063
88064
88065
88066
88067
88068
88069
88070
88071
88072
88073
88074
88075
88076
88077
88078
88079
88080
88081
88082
88083
88084
88085
88086
88087
88088
88089
88090
88091
88092
88093
88094
88095
88096
88097
88098
88099
88100
88101
88102
88103
88104
88105
88106
88107
88108
88109
88110
88111
88112
88113
88114
88115
88116
88117
88118
88119
88120
88121
88122
88123
88124
88125
88126
88127
88128
88129
88130
88131
88132
88133
88134
88135
88136
88137
88138
88139
88140
88141
88142
88143
88144
88145
88146
88147
88148
88149
88150
88151
88152
88153
88154
88155
88156
88157
88158
88159
88160
88161
88162
88163
88164
88165
88166
88167
88168
88169
88170
88171
88172
88173
88174
88175
88176
88177
88178
88179
88180
88181
88182
88183
88184
88185
88186
88187
88188
88189
88190
88191
88192
88193
88194
88195
88196
88197
88198
88199
88200
88201
88202
88203
88204
88205
88206
88207
88208
88209
88210
88211
88212
88213
88214
88215
88216
88217
88218
88219
88220
88221
88222
88223
88224
88225
88226
88227
88228
88229
88230
88231
88232
88233
88234
88235
88236
88237
88238
88239
88240
88241
88242
88243
88244
88245
88246
88247
88248
88249
88250
88251
88252
88253
88254
88255
88256
88257
88258
88259
88260
88261
88262
88263
88264
88265
88266
88267
88268
88269
88270
88271
88272
88273
88274
88275
88276
88277
88278
88279
88280
88281
88282
88283
88284
88285
88286
88287
88288
88289
88290
88291
88292
88293
88294
88295
88296
88297
88298
88299
88300
88301
88302
88303
88304
88305
88306
88307
88308
88309
88310
88311
88312
88313
88314
88315
88316
88317
88318
88319
88320
88321
88322
88323
88324
88325
88326
88327
88328
88329
88330
88331
88332
88333
88334
88335
88336
88337
88338
88339
88340
88341
88342
88343
88344
88345
88346
88347
88348
88349
88350
88351
88352
88353
88354
88355
88356
88357
88358
88359
88360
88361
88362
88363
88364
88365
88366
88367
88368
88369
88370
88371
88372
88373
88374
88375
88376
88377
88378
88379
88380
88381
88382
88383
88384
88385
88386
88387
88388
88389
88390
88391
88392
88393
88394
88395
88396
88397
88398
88399
88400
88401
88402
88403
88404
88405
88406
88407
88408
88409
88410
88411
88412
88413
88414
88415
88416
88417
88418
88419
88420
88421
88422
88423
88424
88425
88426
88427
88428
88429
88430
88431
88432
88433
88434
88435
88436
88437
88438
88439
88440
88441
88442
88443
88444
88445
88446
88447
88448
88449
88450
88451
88452
88453
88454
88455
88456
88457
88458
88459
88460
88461
88462
88463
88464
88465
88466
88467
88468
88469
88470
88471
88472
88473
88474
88475
88476
88477
88478
88479
88480
88481
88482
88483
88484
88485
88486
88487
88488
88489
88490
88491
88492
88493
88494
88495
88496
88497
88498
88499
88500
88501
88502
88503
88504
88505
88506
88507
88508
88509
88510
88511
88512
88513
88514
88515
88516
88517
88518
88519
88520
88521
88522
88523
88524
88525
88526
88527
88528
88529
88530
88531
88532
88533
88534
88535
88536
88537
88538
88539
88540
88541
88542
88543
88544
88545
88546
88547
88548
88549
88550
88551
88552
88553
88554
88555
88556
88557
88558
88559
88560
88561
88562
88563
88564
88565
88566
88567
88568
88569
88570
88571
88572
88573
88574
88575
88576
88577
88578
88579
88580
88581
88582
88583
88584
88585
88586
88587
88588
88589
88590
88591
88592
88593
88594
88595
88596
88597
88598
88599
88600
88601
88602
88603
88604
88605
88606
88607
88608
88609
88610
88611
88612
88613
88614
88615
88616
88617
88618
88619
88620
88621
88622
88623
88624
88625
88626
88627
88628
88629
88630
88631
88632
88633
88634
88635
88636
88637
88638
88639
88640
88641
88642
88643
88644
88645
88646
88647
88648
88649
88650
88651
88652
88653
88654
88655
88656
88657
88658
88659
88660
88661
88662
88663
88664
88665
88666
88667
88668
88669
88670
88671
88672
88673
88674
88675
88676
88677
88678
88679
88680
88681
88682
88683
88684
88685
88686
88687
88688
88689
88690
88691
88692
88693
88694
88695
88696
88697
88698
88699
88700
88701
88702
88703
88704
88705
88706
88707
88708
88709
88710
88711
88712
88713
88714
88715
88716
88717
88718
88719
88720
88721
88722
88723
88724
88725
88726
88727
88728
88729
88730
88731
88732
88733
88734
88735
88736
88737
88738
88739
88740
88741
88742
88743
88744
88745
88746
88747
88748
88749
88750
88751
88752
88753
88754
88755
88756
88757
88758
88759
88760
88761
88762
88763
88764
88765
88766
88767
88768
88769
88770
88771
88772
88773
88774
88775
88776
88777
88778
88779
88780
88781
88782
88783
88784
88785
88786
88787
88788
88789
88790
88791
88792
88793
88794
88795
88796
88797
88798
88799
88800
88801
88802
88803
88804
88805
88806
88807
88808
88809
88810
88811
88812
88813
88814
88815
88816
88817
88818
88819
88820
88821
88822
88823
88824
88825
88826
88827
88828
88829
88830
88831
88832
88833
88834
88835
88836
88837
88838
88839
88840
88841
88842
88843
88844
88845
88846
88847
88848
88849
88850
88851
88852
88853
88854
88855
88856
88857
88858
88859
88860
88861
88862
88863
88864
88865
88866
88867
88868
88869
88870
88871
88872
88873
88874
88875
88876
88877
88878
88879
88880
88881
88882
88883
88884
88885
88886
88887
88888
88889
88890
88891
88892
88893
88894
88895
88896
88897
88898
88899
88900
88901
88902
88903
88904
88905
88906
88907
88908
88909
88910
88911
88912
88913
88914
88915
88916
88917
88918
88919
88920
88921
88922
88923
88924
88925
88926
88927
88928
88929
88930
88931
88932
88933
88934
88935
88936
88937
88938
88939
88940
88941
88942
88943
88944
88945
88946
88947
88948
88949
88950
88951
88952
88953
88954
88955
88956
88957
88958
88959
88960
88961
88962
88963
88964
88965
88966
88967
88968
88969
88970
88971
88972
88973
88974
88975
88976
88977
88978
88979
88980
88981
88982
88983
88984
88985
88986
88987
88988
88989
88990
88991
88992
88993
88994
88995
88996
88997
88998
88999
89000
89001
89002
89003
89004
89005
89006
89007
89008
89009
89010
89011
89012
89013
89014
89015
89016
89017
89018
89019
89020
89021
89022
89023
89024
89025
89026
89027
89028
89029
89030
89031
89032
89033
89034
89035
89036
89037
89038
89039
89040
89041
89042
89043
89044
89045
89046
89047
89048
89049
89050
89051
89052
89053
89054
89055
89056
89057
89058
89059
89060
89061
89062
89063
89064
89065
89066
89067
89068
89069
89070
89071
89072
89073
89074
89075
89076
89077
89078
89079
89080
89081
89082
89083
89084
89085
89086
89087
89088
89089
89090
89091
89092
89093
89094
89095
89096
89097
89098
89099
89100
89101
89102
89103
89104
89105
89106
89107
89108
89109
89110
89111
89112
89113
89114
89115
89116
89117
89118
89119
89120
89121
89122
89123
89124
89125
89126
89127
89128
89129
89130
89131
89132
89133
89134
89135
89136
89137
89138
89139
89140
89141
89142
89143
89144
89145
89146
89147
89148
89149
89150
89151
89152
89153
89154
89155
89156
89157
89158
89159
89160
89161
89162
89163
89164
89165
89166
89167
89168
89169
89170
89171
89172
89173
89174
89175
89176
89177
89178
89179
89180
89181
89182
89183
89184
89185
89186
89187
89188
89189
89190
89191
89192
89193
89194
89195
89196
89197
89198
89199
89200
89201
89202
89203
89204
89205
89206
89207
89208
89209
89210
89211
89212
89213
89214
89215
89216
89217
89218
89219
89220
89221
89222
89223
89224
89225
89226
89227
89228
89229
89230
89231
89232
89233
89234
89235
89236
89237
89238
89239
89240
89241
89242
89243
89244
89245
89246
89247
89248
89249
89250
89251
89252
89253
89254
89255
89256
89257
89258
89259
89260
89261
89262
89263
89264
89265
89266
89267
89268
89269
89270
89271
89272
89273
89274
89275
89276
89277
89278
89279
89280
89281
89282
89283
89284
89285
89286
89287
89288
89289
89290
89291
89292
89293
89294
89295
89296
89297
89298
89299
89300
89301
89302
89303
89304
89305
89306
89307
89308
89309
89310
89311
89312
89313
89314
89315
89316
89317
89318
89319
89320
89321
89322
89323
89324
89325
89326
89327
89328
89329
89330
89331
89332
89333
89334
89335
89336
89337
89338
89339
89340
89341
89342
89343
89344
89345
89346
89347
89348
89349
89350
89351
89352
89353
89354
89355
89356
89357
89358
89359
89360
89361
89362
89363
89364
89365
89366
89367
89368
89369
89370
89371
89372
89373
89374
89375
89376
89377
89378
89379
89380
89381
89382
89383
89384
89385
89386
89387
89388
89389
89390
89391
89392
89393
89394
89395
89396
89397
89398
89399
89400
89401
89402
89403
89404
89405
89406
89407
89408
89409
89410
89411
89412
89413
89414
89415
89416
89417
89418
89419
89420
89421
89422
89423
89424
89425
89426
89427
89428
89429
89430
89431
89432
89433
89434
89435
89436
89437
89438
89439
89440
89441
89442
89443
89444
89445
89446
89447
89448
89449
89450
89451
89452
89453
89454
89455
89456
89457
89458
89459
89460
89461
89462
89463
89464
89465
89466
89467
89468
89469
89470
89471
89472
89473
89474
89475
89476
89477
89478
89479
89480
89481
89482
89483
89484
89485
89486
89487
89488
89489
89490
89491
89492
89493
89494
89495
89496
89497
89498
89499
89500
89501
89502
89503
89504
89505
89506
89507
89508
89509
89510
89511
89512
89513
89514
89515
89516
89517
89518
89519
89520
89521
89522
89523
89524
89525
89526
89527
89528
89529
89530
89531
89532
89533
89534
89535
89536
89537
89538
89539
89540
89541
89542
89543
89544
89545
89546
89547
89548
89549
89550
89551
89552
89553
89554
89555
89556
89557
89558
89559
89560
89561
89562
89563
89564
89565
89566
89567
89568
89569
89570
89571
89572
89573
89574
89575
89576
89577
89578
89579
89580
89581
89582
89583
89584
89585
89586
89587
89588
89589
89590
89591
89592
89593
89594
89595
89596
89597
89598
89599
89600
89601
89602
89603
89604
89605
89606
89607
89608
89609
89610
89611
89612
89613
89614
89615
89616
89617
89618
89619
89620
89621
89622
89623
89624
89625
89626
89627
89628
89629
89630
89631
89632
89633
89634
89635
89636
89637
89638
89639
89640
89641
89642
89643
89644
89645
89646
89647
89648
89649
89650
89651
89652
89653
89654
89655
89656
89657
89658
89659
89660
89661
89662
89663
89664
89665
89666
89667
89668
89669
89670
89671
89672
89673
89674
89675
89676
89677
89678
89679
89680
89681
89682
89683
89684
89685
89686
89687
89688
89689
89690
89691
89692
89693
89694
89695
89696
89697
89698
89699
89700
89701
89702
89703
89704
89705
89706
89707
89708
89709
89710
89711
89712
89713
89714
89715
89716
89717
89718
89719
89720
89721
89722
89723
89724
89725
89726
89727
89728
89729
89730
89731
89732
89733
89734
89735
89736
89737
89738
89739
89740
89741
89742
89743
89744
89745
89746
89747
89748
89749
89750
89751
89752
89753
89754
89755
89756
89757
89758
89759
89760
89761
89762
89763
89764
89765
89766
89767
89768
89769
89770
89771
89772
89773
89774
89775
89776
89777
89778
89779
89780
89781
89782
89783
89784
89785
89786
89787
89788
89789
89790
89791
89792
89793
89794
89795
89796
89797
89798
89799
89800
89801
89802
89803
89804
89805
89806
89807
89808
89809
89810
89811
89812
89813
89814
89815
89816
89817
89818
89819
89820
89821
89822
89823
89824
89825
89826
89827
89828
89829
89830
89831
89832
89833
89834
89835
89836
89837
89838
89839
89840
89841
89842
89843
89844
89845
89846
89847
89848
89849
89850
89851
89852
89853
89854
89855
89856
89857
89858
89859
89860
89861
89862
89863
89864
89865
89866
89867
89868
89869
89870
89871
89872
89873
89874
89875
89876
89877
89878
89879
89880
89881
89882
89883
89884
89885
89886
89887
89888
89889
89890
89891
89892
89893
89894
89895
89896
89897
89898
89899
89900
89901
89902
89903
89904
89905
89906
89907
89908
89909
89910
89911
89912
89913
89914
89915
89916
89917
89918
89919
89920
89921
89922
89923
89924
89925
89926
89927
89928
89929
89930
89931
89932
89933
89934
89935
89936
89937
89938
89939
89940
89941
89942
89943
89944
89945
89946
89947
89948
89949
89950
89951
89952
89953
89954
89955
89956
89957
89958
89959
89960
89961
89962
89963
89964
89965
89966
89967
89968
89969
89970
89971
89972
89973
89974
89975
89976
89977
89978
89979
89980
89981
89982
89983
89984
89985
89986
89987
89988
89989
89990
89991
89992
89993
89994
89995
89996
89997
89998
89999
90000
90001
90002
90003
90004
90005
90006
90007
90008
90009
90010
90011
90012
90013
90014
90015
90016
90017
90018
90019
90020
90021
90022
90023
90024
90025
90026
90027
90028
90029
90030
90031
90032
90033
90034
90035
90036
90037
90038
90039
90040
90041
90042
90043
90044
90045
90046
90047
90048
90049
90050
90051
90052
90053
90054
90055
90056
90057
90058
90059
90060
90061
90062
90063
90064
90065
90066
90067
90068
90069
90070
90071
90072
90073
90074
90075
90076
90077
90078
90079
90080
90081
90082
90083
90084
90085
90086
90087
90088
90089
90090
90091
90092
90093
90094
90095
90096
90097
90098
90099
90100
90101
90102
90103
90104
90105
90106
90107
90108
90109
90110
90111
90112
90113
90114
90115
90116
90117
90118
90119
90120
90121
90122
90123
90124
90125
90126
90127
90128
90129
90130
90131
90132
90133
90134
90135
90136
90137
90138
90139
90140
90141
90142
90143
90144
90145
90146
90147
90148
90149
90150
90151
90152
90153
90154
90155
90156
90157
90158
90159
90160
90161
90162
90163
90164
90165
90166
90167
90168
90169
90170
90171
90172
90173
90174
90175
90176
90177
90178
90179
90180
90181
90182
90183
90184
90185
90186
90187
90188
90189
90190
90191
90192
90193
90194
90195
90196
90197
90198
90199
90200
90201
90202
90203
90204
90205
90206
90207
90208
90209
90210
90211
90212
90213
90214
90215
90216
90217
90218
90219
90220
90221
90222
90223
90224
90225
90226
90227
90228
90229
90230
90231
90232
90233
90234
90235
90236
90237
90238
90239
90240
90241
90242
90243
90244
90245
90246
90247
90248
90249
90250
90251
90252
90253
90254
90255
90256
90257
90258
90259
90260
90261
90262
90263
90264
90265
90266
90267
90268
90269
90270
90271
90272
90273
90274
90275
90276
90277
90278
90279
90280
90281
90282
90283
90284
90285
90286
90287
90288
90289
90290
90291
90292
90293
90294
90295
90296
90297
90298
90299
90300
90301
90302
90303
90304
90305
90306
90307
90308
90309
90310
90311
90312
90313
90314
90315
90316
90317
90318
90319
90320
90321
90322
90323
90324
90325
90326
90327
90328
90329
90330
90331
90332
90333
90334
90335
90336
90337
90338
90339
90340
90341
90342
90343
90344
90345
90346
90347
90348
90349
90350
90351
90352
90353
90354
90355
90356
90357
90358
90359
90360
90361
90362
90363
90364
90365
90366
90367
90368
90369
90370
90371
90372
90373
90374
90375
90376
90377
90378
90379
90380
90381
90382
90383
90384
90385
90386
90387
90388
90389
90390
90391
90392
90393
90394
90395
90396
90397
90398
90399
90400
90401
90402
90403
90404
90405
90406
90407
90408
90409
90410
90411
90412
90413
90414
90415
90416
90417
90418
90419
90420
90421
90422
90423
90424
90425
90426
90427
90428
90429
90430
90431
90432
90433
90434
90435
90436
90437
90438
90439
90440
90441
90442
90443
90444
90445
90446
90447
90448
90449
90450
90451
90452
90453
90454
90455
90456
90457
90458
90459
90460
90461
90462
90463
90464
90465
90466
90467
90468
90469
90470
90471
90472
90473
90474
90475
90476
90477
90478
90479
90480
90481
90482
90483
90484
90485
90486
90487
90488
90489
90490
90491
90492
90493
90494
90495
90496
90497
90498
90499
90500
90501
90502
90503
90504
90505
90506
90507
90508
90509
90510
90511
90512
90513
90514
90515
90516
90517
90518
90519
90520
90521
90522
90523
90524
90525
90526
90527
90528
90529
90530
90531
90532
90533
90534
90535
90536
90537
90538
90539
90540
90541
90542
90543
90544
90545
90546
90547
90548
90549
90550
90551
90552
90553
90554
90555
90556
90557
90558
90559
90560
90561
90562
90563
90564
90565
90566
90567
90568
90569
90570
90571
90572
90573
90574
90575
90576
90577
90578
90579
90580
90581
90582
90583
90584
90585
90586
90587
90588
90589
90590
90591
90592
90593
90594
90595
90596
90597
90598
90599
90600
90601
90602
90603
90604
90605
90606
90607
90608
90609
90610
90611
90612
90613
90614
90615
90616
90617
90618
90619
90620
90621
90622
90623
90624
90625
90626
90627
90628
90629
90630
90631
90632
90633
90634
90635
90636
90637
90638
90639
90640
90641
90642
90643
90644
90645
90646
90647
90648
90649
90650
90651
90652
90653
90654
90655
90656
90657
90658
90659
90660
90661
90662
90663
90664
90665
90666
90667
90668
90669
90670
90671
90672
90673
90674
90675
90676
90677
90678
90679
90680
90681
90682
90683
90684
90685
90686
90687
90688
90689
90690
90691
90692
90693
90694
90695
90696
90697
90698
90699
90700
90701
90702
90703
90704
90705
90706
90707
90708
90709
90710
90711
90712
90713
90714
90715
90716
90717
90718
90719
90720
90721
90722
90723
90724
90725
90726
90727
90728
90729
90730
90731
90732
90733
90734
90735
90736
90737
90738
90739
90740
90741
90742
90743
90744
90745
90746
90747
90748
90749
90750
90751
90752
90753
90754
90755
90756
90757
90758
90759
90760
90761
90762
90763
90764
90765
90766
90767
90768
90769
90770
90771
90772
90773
90774
90775
90776
90777
90778
90779
90780
90781
90782
90783
90784
90785
90786
90787
90788
90789
90790
90791
90792
90793
90794
90795
90796
90797
90798
90799
90800
90801
90802
90803
90804
90805
90806
90807
90808
90809
90810
90811
90812
90813
90814
90815
90816
90817
90818
90819
90820
90821
90822
90823
90824
90825
90826
90827
90828
90829
90830
90831
90832
90833
90834
90835
90836
90837
90838
90839
90840
90841
90842
90843
90844
90845
90846
90847
90848
90849
90850
90851
90852
90853
90854
90855
90856
90857
90858
90859
90860
90861
90862
90863
90864
90865
90866
90867
90868
90869
90870
90871
90872
90873
90874
90875
90876
90877
90878
90879
90880
90881
90882
90883
90884
90885
90886
90887
90888
90889
90890
90891
90892
90893
90894
90895
90896
90897
90898
90899
90900
90901
90902
90903
90904
90905
90906
90907
90908
90909
90910
90911
90912
90913
90914
90915
90916
90917
90918
90919
90920
90921
90922
90923
90924
90925
90926
90927
90928
90929
90930
90931
90932
90933
90934
90935
90936
90937
90938
90939
90940
90941
90942
90943
90944
90945
90946
90947
90948
90949
90950
90951
90952
90953
90954
90955
90956
90957
90958
90959
90960
90961
90962
90963
90964
90965
90966
90967
90968
90969
90970
90971
90972
90973
90974
90975
90976
90977
90978
90979
90980
90981
90982
90983
90984
90985
90986
90987
90988
90989
90990
90991
90992
90993
90994
90995
90996
90997
90998
90999
91000
91001
91002
91003
91004
91005
91006
91007
91008
91009
91010
91011
91012
91013
91014
91015
91016
91017
91018
91019
91020
91021
91022
91023
91024
91025
91026
91027
91028
91029
91030
91031
91032
91033
91034
91035
91036
91037
91038
91039
91040
91041
91042
91043
91044
91045
91046
91047
91048
91049
91050
91051
91052
91053
91054
91055
91056
91057
91058
91059
91060
91061
91062
91063
91064
91065
91066
91067
91068
91069
91070
91071
91072
91073
91074
91075
91076
91077
91078
91079
91080
91081
91082
91083
91084
91085
91086
91087
91088
91089
91090
91091
91092
91093
91094
91095
91096
91097
91098
91099
91100
91101
91102
91103
91104
91105
91106
91107
91108
91109
91110
91111
91112
91113
91114
91115
91116
91117
91118
91119
91120
91121
91122
91123
91124
91125
91126
91127
91128
91129
91130
91131
91132
91133
91134
91135
91136
91137
91138
91139
91140
91141
91142
91143
91144
91145
91146
91147
91148
91149
91150
91151
91152
91153
91154
91155
91156
91157
91158
91159
91160
91161
91162
91163
91164
91165
91166
91167
91168
91169
91170
91171
91172
91173
91174
91175
91176
91177
91178
91179
91180
91181
91182
91183
91184
91185
91186
91187
91188
91189
91190
91191
91192
91193
91194
91195
91196
91197
91198
91199
91200
91201
91202
91203
91204
91205
91206
91207
91208
91209
91210
91211
91212
91213
91214
91215
91216
91217
91218
91219
91220
91221
91222
91223
91224
91225
91226
91227
91228
91229
91230
91231
91232
91233
91234
91235
91236
91237
91238
91239
91240
91241
91242
91243
91244
91245
91246
91247
91248
91249
91250
91251
91252
91253
91254
91255
91256
91257
91258
91259
91260
91261
91262
91263
91264
91265
91266
91267
91268
91269
91270
91271
91272
91273
91274
91275
91276
91277
91278
91279
91280
91281
91282
91283
91284
91285
91286
91287
91288
91289
91290
91291
91292
91293
91294
91295
91296
91297
91298
91299
91300
91301
91302
91303
91304
91305
91306
91307
91308
91309
91310
91311
91312
91313
91314
91315
91316
91317
91318
91319
91320
91321
91322
91323
91324
91325
91326
91327
91328
91329
91330
91331
91332
91333
91334
91335
91336
91337
91338
91339
91340
91341
91342
91343
91344
91345
91346
91347
91348
91349
91350
91351
91352
91353
91354
91355
91356
91357
91358
91359
91360
91361
91362
91363
91364
91365
91366
91367
91368
91369
91370
91371
91372
91373
91374
91375
91376
91377
91378
91379
91380
91381
91382
91383
91384
91385
91386
91387
91388
91389
91390
91391
91392
91393
91394
91395
91396
91397
91398
91399
91400
91401
91402
91403
91404
91405
91406
91407
91408
91409
91410
91411
91412
91413
91414
91415
91416
91417
91418
91419
91420
91421
91422
91423
91424
91425
91426
91427
91428
91429
91430
91431
91432
91433
91434
91435
91436
91437
91438
91439
91440
91441
91442
91443
91444
91445
91446
91447
91448
91449
91450
91451
91452
91453
91454
91455
91456
91457
91458
91459
91460
91461
91462
91463
91464
91465
91466
91467
91468
91469
91470
91471
91472
91473
91474
91475
91476
91477
91478
91479
91480
91481
91482
91483
91484
91485
91486
91487
91488
91489
91490
91491
91492
91493
91494
91495
91496
91497
91498
91499
91500
91501
91502
91503
91504
91505
91506
91507
91508
91509
91510
91511
91512
91513
91514
91515
91516
91517
91518
91519
91520
91521
91522
91523
91524
91525
91526
91527
91528
91529
91530
91531
91532
91533
91534
91535
91536
91537
91538
91539
91540
91541
91542
91543
91544
91545
91546
91547
91548
91549
91550
91551
91552
91553
91554
91555
91556
91557
91558
91559
91560
91561
91562
91563
91564
91565
91566
91567
91568
91569
91570
91571
91572
91573
91574
91575
91576
91577
91578
91579
91580
91581
91582
91583
91584
91585
91586
91587
91588
91589
91590
91591
91592
91593
91594
91595
91596
91597
91598
91599
91600
91601
91602
91603
91604
91605
91606
91607
91608
91609
91610
91611
91612
91613
91614
91615
91616
91617
91618
91619
91620
91621
91622
91623
91624
91625
91626
91627
91628
91629
91630
91631
91632
91633
91634
91635
91636
91637
91638
91639
91640
91641
91642
91643
91644
91645
91646
91647
91648
91649
91650
91651
91652
91653
91654
91655
91656
91657
91658
91659
91660
91661
91662
91663
91664
91665
91666
91667
91668
91669
91670
91671
91672
91673
91674
91675
91676
91677
91678
91679
91680
91681
91682
91683
91684
91685
91686
91687
91688
91689
91690
91691
91692
91693
91694
91695
91696
91697
91698
91699
91700
91701
91702
91703
91704
91705
91706
91707
91708
91709
91710
91711
91712
91713
91714
91715
91716
91717
91718
91719
91720
91721
91722
91723
91724
91725
91726
91727
91728
91729
91730
91731
91732
91733
91734
91735
91736
91737
91738
91739
91740
91741
91742
91743
91744
91745
91746
91747
91748
91749
91750
91751
91752
91753
91754
91755
91756
91757
91758
91759
91760
91761
91762
91763
91764
91765
91766
91767
91768
91769
91770
91771
91772
91773
91774
91775
91776
91777
91778
91779
91780
91781
91782
91783
91784
91785
91786
91787
91788
91789
91790
91791
91792
91793
91794
91795
91796
91797
91798
91799
91800
91801
91802
91803
91804
91805
91806
91807
91808
91809
91810
91811
91812
91813
91814
91815
91816
91817
91818
91819
91820
91821
91822
91823
91824
91825
91826
91827
91828
91829
91830
91831
91832
91833
91834
91835
91836
91837
91838
91839
91840
91841
91842
91843
91844
91845
91846
91847
91848
91849
91850
91851
91852
91853
91854
91855
91856
91857
91858
91859
91860
91861
91862
91863
91864
91865
91866
91867
91868
91869
91870
91871
91872
91873
91874
91875
91876
91877
91878
91879
91880
91881
91882
91883
91884
91885
91886
91887
91888
91889
91890
91891
91892
91893
91894
91895
91896
91897
91898
91899
91900
91901
91902
91903
91904
91905
91906
91907
91908
91909
91910
91911
91912
91913
91914
91915
91916
91917
91918
91919
91920
91921
91922
91923
91924
91925
91926
91927
91928
91929
91930
91931
91932
91933
91934
91935
91936
91937
91938
91939
91940
91941
91942
91943
91944
91945
91946
91947
91948
91949
91950
91951
91952
91953
91954
91955
91956
91957
91958
91959
91960
91961
91962
91963
91964
91965
91966
91967
91968
91969
91970
91971
91972
91973
91974
91975
91976
91977
91978
91979
91980
91981
91982
91983
91984
91985
91986
91987
91988
91989
91990
91991
91992
91993
91994
91995
91996
91997
91998
91999
92000
92001
92002
92003
92004
92005
92006
92007
92008
92009
92010
92011
92012
92013
92014
92015
92016
92017
92018
92019
92020
92021
92022
92023
92024
92025
92026
92027
92028
92029
92030
92031
92032
92033
92034
92035
92036
92037
92038
92039
92040
92041
92042
92043
92044
92045
92046
92047
92048
92049
92050
92051
92052
92053
92054
92055
92056
92057
92058
92059
92060
92061
92062
92063
92064
92065
92066
92067
92068
92069
92070
92071
92072
92073
92074
92075
92076
92077
92078
92079
92080
92081
92082
92083
92084
92085
92086
92087
92088
92089
92090
92091
92092
92093
92094
92095
92096
92097
92098
92099
92100
92101
92102
92103
92104
92105
92106
92107
92108
92109
92110
92111
92112
92113
92114
92115
92116
92117
92118
92119
92120
92121
92122
92123
92124
92125
92126
92127
92128
92129
92130
92131
92132
92133
92134
92135
92136
92137
92138
92139
92140
92141
92142
92143
92144
92145
92146
92147
92148
92149
92150
92151
92152
92153
92154
92155
92156
92157
92158
92159
92160
92161
92162
92163
92164
92165
92166
92167
92168
92169
92170
92171
92172
92173
92174
92175
92176
92177
92178
92179
92180
92181
92182
92183
92184
92185
92186
92187
92188
92189
92190
92191
92192
92193
92194
92195
92196
92197
92198
92199
92200
92201
92202
92203
92204
92205
92206
92207
92208
92209
92210
92211
92212
92213
92214
92215
92216
92217
92218
92219
92220
92221
92222
92223
92224
92225
92226
92227
92228
92229
92230
92231
92232
92233
92234
92235
92236
92237
92238
92239
92240
92241
92242
92243
92244
92245
92246
92247
92248
92249
92250
92251
92252
92253
92254
92255
92256
92257
92258
92259
92260
92261
92262
92263
92264
92265
92266
92267
92268
92269
92270
92271
92272
92273
92274
92275
92276
92277
92278
92279
92280
92281
92282
92283
92284
92285
92286
92287
92288
92289
92290
92291
92292
92293
92294
92295
92296
92297
92298
92299
92300
92301
92302
92303
92304
92305
92306
92307
92308
92309
92310
92311
92312
92313
92314
92315
92316
92317
92318
92319
92320
92321
92322
92323
92324
92325
92326
92327
92328
92329
92330
92331
92332
92333
92334
92335
92336
92337
92338
92339
92340
92341
92342
92343
92344
92345
92346
92347
92348
92349
92350
92351
92352
92353
92354
92355
92356
92357
92358
92359
92360
92361
92362
92363
92364
92365
92366
92367
92368
92369
92370
92371
92372
92373
92374
92375
92376
92377
92378
92379
92380
92381
92382
92383
92384
92385
92386
92387
92388
92389
92390
92391
92392
92393
92394
92395
92396
92397
92398
92399
92400
92401
92402
92403
92404
92405
92406
92407
92408
92409
92410
92411
92412
92413
92414
92415
92416
92417
92418
92419
92420
92421
92422
92423
92424
92425
92426
92427
92428
92429
92430
92431
92432
92433
92434
92435
92436
92437
92438
92439
92440
92441
92442
92443
92444
92445
92446
92447
92448
92449
92450
92451
92452
92453
92454
92455
92456
92457
92458
92459
92460
92461
92462
92463
92464
92465
92466
92467
92468
92469
92470
92471
92472
92473
92474
92475
92476
92477
92478
92479
92480
92481
92482
92483
92484
92485
92486
92487
92488
92489
92490
92491
92492
92493
92494
92495
92496
92497
92498
92499
92500
92501
92502
92503
92504
92505
92506
92507
92508
92509
92510
92511
92512
92513
92514
92515
92516
92517
92518
92519
92520
92521
92522
92523
92524
92525
92526
92527
92528
92529
92530
92531
92532
92533
92534
92535
92536
92537
92538
92539
92540
92541
92542
92543
92544
92545
92546
92547
92548
92549
92550
92551
92552
92553
92554
92555
92556
92557
92558
92559
92560
92561
92562
92563
92564
92565
92566
92567
92568
92569
92570
92571
92572
92573
92574
92575
92576
92577
92578
92579
92580
92581
92582
92583
92584
92585
92586
92587
92588
92589
92590
92591
92592
92593
92594
92595
92596
92597
92598
92599
92600
92601
92602
92603
92604
92605
92606
92607
92608
92609
92610
92611
92612
92613
92614
92615
92616
92617
92618
92619
92620
92621
92622
92623
92624
92625
92626
92627
92628
92629
92630
92631
92632
92633
92634
92635
92636
92637
92638
92639
92640
92641
92642
92643
92644
92645
92646
92647
92648
92649
92650
92651
92652
92653
92654
92655
92656
92657
92658
92659
92660
92661
92662
92663
92664
92665
92666
92667
92668
92669
92670
92671
92672
92673
92674
92675
92676
92677
92678
92679
92680
92681
92682
92683
92684
92685
92686
92687
92688
92689
92690
92691
92692
92693
92694
92695
92696
92697
92698
92699
92700
92701
92702
92703
92704
92705
92706
92707
92708
92709
92710
92711
92712
92713
92714
92715
92716
92717
92718
92719
92720
92721
92722
92723
92724
92725
92726
92727
92728
92729
92730
92731
92732
92733
92734
92735
92736
92737
92738
92739
92740
92741
92742
92743
92744
92745
92746
92747
92748
92749
92750
92751
92752
92753
92754
92755
92756
92757
92758
92759
92760
92761
92762
92763
92764
92765
92766
92767
92768
92769
92770
92771
92772
92773
92774
92775
92776
92777
92778
92779
92780
92781
92782
92783
92784
92785
92786
92787
92788
92789
92790
92791
92792
92793
92794
92795
92796
92797
92798
92799
92800
92801
92802
92803
92804
92805
92806
92807
92808
92809
92810
92811
92812
92813
92814
92815
92816
92817
92818
92819
92820
92821
92822
92823
92824
92825
92826
92827
92828
92829
92830
92831
92832
92833
92834
92835
92836
92837
92838
92839
92840
92841
92842
92843
92844
92845
92846
92847
92848
92849
92850
92851
92852
92853
92854
92855
92856
92857
92858
92859
92860
92861
92862
92863
92864
92865
92866
92867
92868
92869
92870
92871
92872
92873
92874
92875
92876
92877
92878
92879
92880
92881
92882
92883
92884
92885
92886
92887
92888
92889
92890
92891
92892
92893
92894
92895
92896
92897
92898
92899
92900
92901
92902
92903
92904
92905
92906
92907
92908
92909
92910
92911
92912
92913
92914
92915
92916
92917
92918
92919
92920
92921
92922
92923
92924
92925
92926
92927
92928
92929
92930
92931
92932
92933
92934
92935
92936
92937
92938
92939
92940
92941
92942
92943
92944
92945
92946
92947
92948
92949
92950
92951
92952
92953
92954
92955
92956
92957
92958
92959
92960
92961
92962
92963
92964
92965
92966
92967
92968
92969
92970
92971
92972
92973
92974
92975
92976
92977
92978
92979
92980
92981
92982
92983
92984
92985
92986
92987
92988
92989
92990
92991
92992
92993
92994
92995
92996
92997
92998
92999
93000
93001
93002
93003
93004
93005
93006
93007
93008
93009
93010
93011
93012
93013
93014
93015
93016
93017
93018
93019
93020
93021
93022
93023
93024
93025
93026
93027
93028
93029
93030
93031
93032
93033
93034
93035
93036
93037
93038
93039
93040
93041
93042
93043
93044
93045
93046
93047
93048
93049
93050
93051
93052
93053
93054
93055
93056
93057
93058
93059
93060
93061
93062
93063
93064
93065
93066
93067
93068
93069
93070
93071
93072
93073
93074
93075
93076
93077
93078
93079
93080
93081
93082
93083
93084
93085
93086
93087
93088
93089
93090
93091
93092
93093
93094
93095
93096
93097
93098
93099
93100
93101
93102
93103
93104
93105
93106
93107
93108
93109
93110
93111
93112
93113
93114
93115
93116
93117
93118
93119
93120
93121
93122
93123
93124
93125
93126
93127
93128
93129
93130
93131
93132
93133
93134
93135
93136
93137
93138
93139
93140
93141
93142
93143
93144
93145
93146
93147
93148
93149
93150
93151
93152
93153
93154
93155
93156
93157
93158
93159
93160
93161
93162
93163
93164
93165
93166
93167
93168
93169
93170
93171
93172
93173
93174
93175
93176
93177
93178
93179
93180
93181
93182
93183
93184
93185
93186
93187
93188
93189
93190
93191
93192
93193
93194
93195
93196
93197
93198
93199
93200
93201
93202
93203
93204
93205
93206
93207
93208
93209
93210
93211
93212
93213
93214
93215
93216
93217
93218
93219
93220
93221
93222
93223
93224
93225
93226
93227
93228
93229
93230
93231
93232
93233
93234
93235
93236
93237
93238
93239
93240
93241
93242
93243
93244
93245
93246
93247
93248
93249
93250
93251
93252
93253
93254
93255
93256
93257
93258
93259
93260
93261
93262
93263
93264
93265
93266
93267
93268
93269
93270
93271
93272
93273
93274
93275
93276
93277
93278
93279
93280
93281
93282
93283
93284
93285
93286
93287
93288
93289
93290
93291
93292
93293
93294
93295
93296
93297
93298
93299
93300
93301
93302
93303
93304
93305
93306
93307
93308
93309
93310
93311
93312
93313
93314
93315
93316
93317
93318
93319
93320
93321
93322
93323
93324
93325
93326
93327
93328
93329
93330
93331
93332
93333
93334
93335
93336
93337
93338
93339
93340
93341
93342
93343
93344
93345
93346
93347
93348
93349
93350
93351
93352
93353
93354
93355
93356
93357
93358
93359
93360
93361
93362
93363
93364
93365
93366
93367
93368
93369
93370
93371
93372
93373
93374
93375
93376
93377
93378
93379
93380
93381
93382
93383
93384
93385
93386
93387
93388
93389
93390
93391
93392
93393
93394
93395
93396
93397
93398
93399
93400
93401
93402
93403
93404
93405
93406
93407
93408
93409
93410
93411
93412
93413
93414
93415
93416
93417
93418
93419
93420
93421
93422
93423
93424
93425
93426
93427
93428
93429
93430
93431
93432
93433
93434
93435
93436
93437
93438
93439
93440
93441
93442
93443
93444
93445
93446
93447
93448
93449
93450
93451
93452
93453
93454
93455
93456
93457
93458
93459
93460
93461
93462
93463
93464
93465
93466
93467
93468
93469
93470
93471
93472
93473
93474
93475
93476
93477
93478
93479
93480
93481
93482
93483
93484
93485
93486
93487
93488
93489
93490
93491
93492
93493
93494
93495
93496
93497
93498
93499
93500
93501
93502
93503
93504
93505
93506
93507
93508
93509
93510
93511
93512
93513
93514
93515
93516
93517
93518
93519
93520
93521
93522
93523
93524
93525
93526
93527
93528
93529
93530
93531
93532
93533
93534
93535
93536
93537
93538
93539
93540
93541
93542
93543
93544
93545
93546
93547
93548
93549
93550
93551
93552
93553
93554
93555
93556
93557
93558
93559
93560
93561
93562
93563
93564
93565
93566
93567
93568
93569
93570
93571
93572
93573
93574
93575
93576
93577
93578
93579
93580
93581
93582
93583
93584
93585
93586
93587
93588
93589
93590
93591
93592
93593
93594
93595
93596
93597
93598
93599
93600
93601
93602
93603
93604
93605
93606
93607
93608
93609
93610
93611
93612
93613
93614
93615
93616
93617
93618
93619
93620
93621
93622
93623
93624
93625
93626
93627
93628
93629
93630
93631
93632
93633
93634
93635
93636
93637
93638
93639
93640
93641
93642
93643
93644
93645
93646
93647
93648
93649
93650
93651
93652
93653
93654
93655
93656
93657
93658
93659
93660
93661
93662
93663
93664
93665
93666
93667
93668
93669
93670
93671
93672
93673
93674
93675
93676
93677
93678
93679
93680
93681
93682
93683
93684
93685
93686
93687
93688
93689
93690
93691
93692
93693
93694
93695
93696
93697
93698
93699
93700
93701
93702
93703
93704
93705
93706
93707
93708
93709
93710
93711
93712
93713
93714
93715
93716
93717
93718
93719
93720
93721
93722
93723
93724
93725
93726
93727
93728
93729
93730
93731
93732
93733
93734
93735
93736
93737
93738
93739
93740
93741
93742
93743
93744
93745
93746
93747
93748
93749
93750
93751
93752
93753
93754
93755
93756
93757
93758
93759
93760
93761
93762
93763
93764
93765
93766
93767
93768
93769
93770
93771
93772
93773
93774
93775
93776
93777
93778
93779
93780
93781
93782
93783
93784
93785
93786
93787
93788
93789
93790
93791
93792
93793
93794
93795
93796
93797
93798
93799
93800
93801
93802
93803
93804
93805
93806
93807
93808
93809
93810
93811
93812
93813
93814
93815
93816
93817
93818
93819
93820
93821
93822
93823
93824
93825
93826
93827
93828
93829
93830
93831
93832
93833
93834
93835
93836
93837
93838
93839
93840
93841
93842
93843
93844
93845
93846
93847
93848
93849
93850
93851
93852
93853
93854
93855
93856
93857
93858
93859
93860
93861
93862
93863
93864
93865
93866
93867
93868
93869
93870
93871
93872
93873
93874
93875
93876
93877
93878
93879
93880
93881
93882
93883
93884
93885
93886
93887
93888
93889
93890
93891
93892
93893
93894
93895
93896
93897
93898
93899
93900
93901
93902
93903
93904
93905
93906
93907
93908
93909
93910
93911
93912
93913
93914
93915
93916
93917
93918
93919
93920
93921
93922
93923
93924
93925
93926
93927
93928
93929
93930
93931
93932
93933
93934
93935
93936
93937
93938
93939
93940
93941
93942
93943
93944
93945
93946
93947
93948
93949
93950
93951
93952
93953
93954
93955
93956
93957
93958
93959
93960
93961
93962
93963
93964
93965
93966
93967
93968
93969
93970
93971
93972
93973
93974
93975
93976
93977
93978
93979
93980
93981
93982
93983
93984
93985
93986
93987
93988
93989
93990
93991
93992
93993
93994
93995
93996
93997
93998
93999
94000
94001
94002
94003
94004
94005
94006
94007
94008
94009
94010
94011
94012
94013
94014
94015
94016
94017
94018
94019
94020
94021
94022
94023
94024
94025
94026
94027
94028
94029
94030
94031
94032
94033
94034
94035
94036
94037
94038
94039
94040
94041
94042
94043
94044
94045
94046
94047
94048
94049
94050
94051
94052
94053
94054
94055
94056
94057
94058
94059
94060
94061
94062
94063
94064
94065
94066
94067
94068
94069
94070
94071
94072
94073
94074
94075
94076
94077
94078
94079
94080
94081
94082
94083
94084
94085
94086
94087
94088
94089
94090
94091
94092
94093
94094
94095
94096
94097
94098
94099
94100
94101
94102
94103
94104
94105
94106
94107
94108
94109
94110
94111
94112
94113
94114
94115
94116
94117
94118
94119
94120
94121
94122
94123
94124
94125
94126
94127
94128
94129
94130
94131
94132
94133
94134
94135
94136
94137
94138
94139
94140
94141
94142
94143
94144
94145
94146
94147
94148
94149
94150
94151
94152
94153
94154
94155
94156
94157
94158
94159
94160
94161
94162
94163
94164
94165
94166
94167
94168
94169
94170
94171
94172
94173
94174
94175
94176
94177
94178
94179
94180
94181
94182
94183
94184
94185
94186
94187
94188
94189
94190
94191
94192
94193
94194
94195
94196
94197
94198
94199
94200
94201
94202
94203
94204
94205
94206
94207
94208
94209
94210
94211
94212
94213
94214
94215
94216
94217
94218
94219
94220
94221
94222
94223
94224
94225
94226
94227
94228
94229
94230
94231
94232
94233
94234
94235
94236
94237
94238
94239
94240
94241
94242
94243
94244
94245
94246
94247
94248
94249
94250
94251
94252
94253
94254
94255
94256
94257
94258
94259
94260
94261
94262
94263
94264
94265
94266
94267
94268
94269
94270
94271
94272
94273
94274
94275
94276
94277
94278
94279
94280
94281
94282
94283
94284
94285
94286
94287
94288
94289
94290
94291
94292
94293
94294
94295
94296
94297
94298
94299
94300
94301
94302
94303
94304
94305
94306
94307
94308
94309
94310
94311
94312
94313
94314
94315
94316
94317
94318
94319
94320
94321
94322
94323
94324
94325
94326
94327
94328
94329
94330
94331
94332
94333
94334
94335
94336
94337
94338
94339
94340
94341
94342
94343
94344
94345
94346
94347
94348
94349
94350
94351
94352
94353
94354
94355
94356
94357
94358
94359
94360
94361
94362
94363
94364
94365
94366
94367
94368
94369
94370
94371
94372
94373
94374
94375
94376
94377
94378
94379
94380
94381
94382
94383
94384
94385
94386
94387
94388
94389
94390
94391
94392
94393
94394
94395
94396
94397
94398
94399
94400
94401
94402
94403
94404
94405
94406
94407
94408
94409
94410
94411
94412
94413
94414
94415
94416
94417
94418
94419
94420
94421
94422
94423
94424
94425
94426
94427
94428
94429
94430
94431
94432
94433
94434
94435
94436
94437
94438
94439
94440
94441
94442
94443
94444
94445
94446
94447
94448
94449
94450
94451
94452
94453
94454
94455
94456
94457
94458
94459
94460
94461
94462
94463
94464
94465
94466
94467
94468
94469
94470
94471
94472
94473
94474
94475
94476
94477
94478
94479
94480
94481
94482
94483
94484
94485
94486
94487
94488
94489
94490
94491
94492
94493
94494
94495
94496
94497
94498
94499
94500
94501
94502
94503
94504
94505
94506
94507
94508
94509
94510
94511
94512
94513
94514
94515
94516
94517
94518
94519
94520
94521
94522
94523
94524
94525
94526
94527
94528
94529
94530
94531
94532
94533
94534
94535
94536
94537
94538
94539
94540
94541
94542
94543
94544
94545
94546
94547
94548
94549
94550
94551
94552
94553
94554
94555
94556
94557
94558
94559
94560
94561
94562
94563
94564
94565
94566
94567
94568
94569
94570
94571
94572
94573
94574
94575
94576
94577
94578
94579
94580
94581
94582
94583
94584
94585
94586
94587
94588
94589
94590
94591
94592
94593
94594
94595
94596
94597
94598
94599
94600
94601
94602
94603
94604
94605
94606
94607
94608
94609
94610
94611
94612
94613
94614
94615
94616
94617
94618
94619
94620
94621
94622
94623
94624
94625
94626
94627
94628
94629
94630
94631
94632
94633
94634
94635
94636
94637
94638
94639
94640
94641
94642
94643
94644
94645
94646
94647
94648
94649
94650
94651
94652
94653
94654
94655
94656
94657
94658
94659
94660
94661
94662
94663
94664
94665
94666
94667
94668
94669
94670
94671
94672
94673
94674
94675
94676
94677
94678
94679
94680
94681
94682
94683
94684
94685
94686
94687
94688
94689
94690
94691
94692
94693
94694
94695
94696
94697
94698
94699
94700
94701
94702
94703
94704
94705
94706
94707
94708
94709
94710
94711
94712
94713
94714
94715
94716
94717
94718
94719
94720
94721
94722
94723
94724
94725
94726
94727
94728
94729
94730
94731
94732
94733
94734
94735
94736
94737
94738
94739
94740
94741
94742
94743
94744
94745
94746
94747
94748
94749
94750
94751
94752
94753
94754
94755
94756
94757
94758
94759
94760
94761
94762
94763
94764
94765
94766
94767
94768
94769
94770
94771
94772
94773
94774
94775
94776
94777
94778
94779
94780
94781
94782
94783
94784
94785
94786
94787
94788
94789
94790
94791
94792
94793
94794
94795
94796
94797
94798
94799
94800
94801
94802
94803
94804
94805
94806
94807
94808
94809
94810
94811
94812
94813
94814
94815
94816
94817
94818
94819
94820
94821
94822
94823
94824
94825
94826
94827
94828
94829
94830
94831
94832
94833
94834
94835
94836
94837
94838
94839
94840
94841
94842
94843
94844
94845
94846
94847
94848
94849
94850
94851
94852
94853
94854
94855
94856
94857
94858
94859
94860
94861
94862
94863
94864
94865
94866
94867
94868
94869
94870
94871
94872
94873
94874
94875
94876
94877
94878
94879
94880
94881
94882
94883
94884
94885
94886
94887
94888
94889
94890
94891
94892
94893
94894
94895
94896
94897
94898
94899
94900
94901
94902
94903
94904
94905
94906
94907
94908
94909
94910
94911
94912
94913
94914
94915
94916
94917
94918
94919
94920
94921
94922
94923
94924
94925
94926
94927
94928
94929
94930
94931
94932
94933
94934
94935
94936
94937
94938
94939
94940
94941
94942
94943
94944
94945
94946
94947
94948
94949
94950
94951
94952
94953
94954
94955
94956
94957
94958
94959
94960
94961
94962
94963
94964
94965
94966
94967
94968
94969
94970
94971
94972
94973
94974
94975
94976
94977
94978
94979
94980
94981
94982
94983
94984
94985
94986
94987
94988
94989
94990
94991
94992
94993
94994
94995
94996
94997
94998
94999
95000
95001
95002
95003
95004
95005
95006
95007
95008
95009
95010
95011
95012
95013
95014
95015
95016
95017
95018
95019
95020
95021
95022
95023
95024
95025
95026
95027
95028
95029
95030
95031
95032
95033
95034
95035
95036
95037
95038
95039
95040
95041
95042
95043
95044
95045
95046
95047
95048
95049
95050
95051
95052
95053
95054
95055
95056
95057
95058
95059
95060
95061
95062
95063
95064
95065
95066
95067
95068
95069
95070
95071
95072
95073
95074
95075
95076
95077
95078
95079
95080
95081
95082
95083
95084
95085
95086
95087
95088
95089
95090
95091
95092
95093
95094
95095
95096
95097
95098
95099
95100
95101
95102
95103
95104
95105
95106
95107
95108
95109
95110
95111
95112
95113
95114
95115
95116
95117
95118
95119
95120
95121
95122
95123
95124
95125
95126
95127
95128
95129
95130
95131
95132
95133
95134
95135
95136
95137
95138
95139
95140
95141
95142
95143
95144
95145
95146
95147
95148
95149
95150
95151
95152
95153
95154
95155
95156
95157
95158
95159
95160
95161
95162
95163
95164
95165
95166
95167
95168
95169
95170
95171
95172
95173
95174
95175
95176
95177
95178
95179
95180
95181
95182
95183
95184
95185
95186
95187
95188
95189
95190
95191
95192
95193
95194
95195
95196
95197
95198
95199
95200
95201
95202
95203
95204
95205
95206
95207
95208
95209
95210
95211
95212
95213
95214
95215
95216
95217
95218
95219
95220
95221
95222
95223
95224
95225
95226
95227
95228
95229
95230
95231
95232
95233
95234
95235
95236
95237
95238
95239
95240
95241
95242
95243
95244
95245
95246
95247
95248
95249
95250
95251
95252
95253
95254
95255
95256
95257
95258
95259
95260
95261
95262
95263
95264
95265
95266
95267
95268
95269
95270
95271
95272
95273
95274
95275
95276
95277
95278
95279
95280
95281
95282
95283
95284
95285
95286
95287
95288
95289
95290
95291
95292
95293
95294
95295
95296
95297
95298
95299
95300
95301
95302
95303
95304
95305
95306
95307
95308
95309
95310
95311
95312
95313
95314
95315
95316
95317
95318
95319
95320
95321
95322
95323
95324
95325
95326
95327
95328
95329
95330
95331
95332
95333
95334
95335
95336
95337
95338
95339
95340
95341
95342
95343
95344
95345
95346
95347
95348
95349
95350
95351
95352
95353
95354
95355
95356
95357
95358
95359
95360
95361
95362
95363
95364
95365
95366
95367
95368
95369
95370
95371
95372
95373
95374
95375
95376
95377
95378
95379
95380
95381
95382
95383
95384
95385
95386
95387
95388
95389
95390
95391
95392
95393
95394
95395
95396
95397
95398
95399
95400
95401
95402
95403
95404
95405
95406
95407
95408
95409
95410
95411
95412
95413
95414
95415
95416
95417
95418
95419
95420
95421
95422
95423
95424
95425
95426
95427
95428
95429
95430
95431
95432
95433
95434
95435
95436
95437
95438
95439
95440
95441
95442
95443
95444
95445
95446
95447
95448
95449
95450
95451
95452
95453
95454
95455
95456
95457
95458
95459
95460
95461
95462
95463
95464
95465
95466
95467
95468
95469
95470
95471
95472
95473
95474
95475
95476
95477
95478
95479
95480
95481
95482
95483
95484
95485
95486
95487
95488
95489
95490
95491
95492
95493
95494
95495
95496
95497
95498
95499
95500
95501
95502
95503
95504
95505
95506
95507
95508
95509
95510
95511
95512
95513
95514
95515
95516
95517
95518
95519
95520
95521
95522
95523
95524
95525
95526
95527
95528
95529
95530
95531
95532
95533
95534
95535
95536
95537
95538
95539
95540
95541
95542
95543
95544
95545
95546
95547
95548
95549
95550
95551
95552
95553
95554
95555
95556
95557
95558
95559
95560
95561
95562
95563
95564
95565
95566
95567
95568
95569
95570
95571
95572
95573
95574
95575
95576
95577
95578
95579
95580
95581
95582
95583
95584
95585
95586
95587
95588
95589
95590
95591
95592
95593
95594
95595
95596
95597
95598
95599
95600
95601
95602
95603
95604
95605
95606
95607
95608
95609
95610
95611
95612
95613
95614
95615
95616
95617
95618
95619
95620
95621
95622
95623
95624
95625
95626
95627
95628
95629
95630
95631
95632
95633
95634
95635
95636
95637
95638
95639
95640
95641
95642
95643
95644
95645
95646
95647
95648
95649
95650
95651
95652
95653
95654
95655
95656
95657
95658
95659
95660
95661
95662
95663
95664
95665
95666
95667
95668
95669
95670
95671
95672
95673
95674
95675
95676
95677
95678
95679
95680
95681
95682
95683
95684
95685
95686
95687
95688
95689
95690
95691
95692
95693
95694
95695
95696
95697
95698
95699
95700
95701
95702
95703
95704
95705
95706
95707
95708
95709
95710
95711
95712
95713
95714
95715
95716
95717
95718
95719
95720
95721
95722
95723
95724
95725
95726
95727
95728
95729
95730
95731
95732
95733
95734
95735
95736
95737
95738
95739
95740
95741
95742
95743
95744
95745
95746
95747
95748
95749
95750
95751
95752
95753
95754
95755
95756
95757
95758
95759
95760
95761
95762
95763
95764
95765
95766
95767
95768
95769
95770
95771
95772
95773
95774
95775
95776
95777
95778
95779
95780
95781
95782
95783
95784
95785
95786
95787
95788
95789
95790
95791
95792
95793
95794
95795
95796
95797
95798
95799
95800
95801
95802
95803
95804
95805
95806
95807
95808
95809
95810
95811
95812
95813
95814
95815
95816
95817
95818
95819
95820
95821
95822
95823
95824
95825
95826
95827
95828
95829
95830
95831
95832
95833
95834
95835
95836
95837
95838
95839
95840
95841
95842
95843
95844
95845
95846
95847
95848
95849
95850
95851
95852
95853
95854
95855
95856
95857
95858
95859
95860
95861
95862
95863
95864
95865
95866
95867
95868
95869
95870
95871
95872
95873
95874
95875
95876
95877
95878
95879
95880
95881
95882
95883
95884
95885
95886
95887
95888
95889
95890
95891
95892
95893
95894
95895
95896
95897
95898
95899
95900
95901
95902
95903
95904
95905
95906
95907
95908
95909
95910
95911
95912
95913
95914
95915
95916
95917
95918
95919
95920
95921
95922
95923
95924
95925
95926
95927
95928
95929
95930
95931
95932
95933
95934
95935
95936
95937
95938
95939
95940
95941
95942
95943
95944
95945
95946
95947
95948
95949
95950
95951
95952
95953
95954
95955
95956
95957
95958
95959
95960
95961
95962
95963
95964
95965
95966
95967
95968
95969
95970
95971
95972
95973
95974
95975
95976
95977
95978
95979
95980
95981
95982
95983
95984
95985
95986
95987
95988
95989
95990
95991
95992
95993
95994
95995
95996
95997
95998
95999
96000
96001
96002
96003
96004
96005
96006
96007
96008
96009
96010
96011
96012
96013
96014
96015
96016
96017
96018
96019
96020
96021
96022
96023
96024
96025
96026
96027
96028
96029
96030
96031
96032
96033
96034
96035
96036
96037
96038
96039
96040
96041
96042
96043
96044
96045
96046
96047
96048
96049
96050
96051
96052
96053
96054
96055
96056
96057
96058
96059
96060
96061
96062
96063
96064
96065
96066
96067
96068
96069
96070
96071
96072
96073
96074
96075
96076
96077
96078
96079
96080
96081
96082
96083
96084
96085
96086
96087
96088
96089
96090
96091
96092
96093
96094
96095
96096
96097
96098
96099
96100
96101
96102
96103
96104
96105
96106
96107
96108
96109
96110
96111
96112
96113
96114
96115
96116
96117
96118
96119
96120
96121
96122
96123
96124
96125
96126
96127
96128
96129
96130
96131
96132
96133
96134
96135
96136
96137
96138
96139
96140
96141
96142
96143
96144
96145
96146
96147
96148
96149
96150
96151
96152
96153
96154
96155
96156
96157
96158
96159
96160
96161
96162
96163
96164
96165
96166
96167
96168
96169
96170
96171
96172
96173
96174
96175
96176
96177
96178
96179
96180
96181
96182
96183
96184
96185
96186
96187
96188
96189
96190
96191
96192
96193
96194
96195
96196
96197
96198
96199
96200
96201
96202
96203
96204
96205
96206
96207
96208
96209
96210
96211
96212
96213
96214
96215
96216
96217
96218
96219
96220
96221
96222
96223
96224
96225
96226
96227
96228
96229
96230
96231
96232
96233
96234
96235
96236
96237
96238
96239
96240
96241
96242
96243
96244
96245
96246
96247
96248
96249
96250
96251
96252
96253
96254
96255
96256
96257
96258
96259
96260
96261
96262
96263
96264
96265
96266
96267
96268
96269
96270
96271
96272
96273
96274
96275
96276
96277
96278
96279
96280
96281
96282
96283
96284
96285
96286
96287
96288
96289
96290
96291
96292
96293
96294
96295
96296
96297
96298
96299
96300
96301
96302
96303
96304
96305
96306
96307
96308
96309
96310
96311
96312
96313
96314
96315
96316
96317
96318
96319
96320
96321
96322
96323
96324
96325
96326
96327
96328
96329
96330
96331
96332
96333
96334
96335
96336
96337
96338
96339
96340
96341
96342
96343
96344
96345
96346
96347
96348
96349
96350
96351
96352
96353
96354
96355
96356
96357
96358
96359
96360
96361
96362
96363
96364
96365
96366
96367
96368
96369
96370
96371
96372
96373
96374
96375
96376
96377
96378
96379
96380
96381
96382
96383
96384
96385
96386
96387
96388
96389
96390
96391
96392
96393
96394
96395
96396
96397
96398
96399
96400
96401
96402
96403
96404
96405
96406
96407
96408
96409
96410
96411
96412
96413
96414
96415
96416
96417
96418
96419
96420
96421
96422
96423
96424
96425
96426
96427
96428
96429
96430
96431
96432
96433
96434
96435
96436
96437
96438
96439
96440
96441
96442
96443
96444
96445
96446
96447
96448
96449
96450
96451
96452
96453
96454
96455
96456
96457
96458
96459
96460
96461
96462
96463
96464
96465
96466
96467
96468
96469
96470
96471
96472
96473
96474
96475
96476
96477
96478
96479
96480
96481
96482
96483
96484
96485
96486
96487
96488
96489
96490
96491
96492
96493
96494
96495
96496
96497
96498
96499
96500
96501
96502
96503
96504
96505
96506
96507
96508
96509
96510
96511
96512
96513
96514
96515
96516
96517
96518
96519
96520
96521
96522
96523
96524
96525
96526
96527
96528
96529
96530
96531
96532
96533
96534
96535
96536
96537
96538
96539
96540
96541
96542
96543
96544
96545
96546
96547
96548
96549
96550
96551
96552
96553
96554
96555
96556
96557
96558
96559
96560
96561
96562
96563
96564
96565
96566
96567
96568
96569
96570
96571
96572
96573
96574
96575
96576
96577
96578
96579
96580
96581
96582
96583
96584
96585
96586
96587
96588
96589
96590
96591
96592
96593
96594
96595
96596
96597
96598
96599
96600
96601
96602
96603
96604
96605
96606
96607
96608
96609
96610
96611
96612
96613
96614
96615
96616
96617
96618
96619
96620
96621
96622
96623
96624
96625
96626
96627
96628
96629
96630
96631
96632
96633
96634
96635
96636
96637
96638
96639
96640
96641
96642
96643
96644
96645
96646
96647
96648
96649
96650
96651
96652
96653
96654
96655
96656
96657
96658
96659
96660
96661
96662
96663
96664
96665
96666
96667
96668
96669
96670
96671
96672
96673
96674
96675
96676
96677
96678
96679
96680
96681
96682
96683
96684
96685
96686
96687
96688
96689
96690
96691
96692
96693
96694
96695
96696
96697
96698
96699
96700
96701
96702
96703
96704
96705
96706
96707
96708
96709
96710
96711
96712
96713
96714
96715
96716
96717
96718
96719
96720
96721
96722
96723
96724
96725
96726
96727
96728
96729
96730
96731
96732
96733
96734
96735
96736
96737
96738
96739
96740
96741
96742
96743
96744
96745
96746
96747
96748
96749
96750
96751
96752
96753
96754
96755
96756
96757
96758
96759
96760
96761
96762
96763
96764
96765
96766
96767
96768
96769
96770
96771
96772
96773
96774
96775
96776
96777
96778
96779
96780
96781
96782
96783
96784
96785
96786
96787
96788
96789
96790
96791
96792
96793
96794
96795
96796
96797
96798
96799
96800
96801
96802
96803
96804
96805
96806
96807
96808
96809
96810
96811
96812
96813
96814
96815
96816
96817
96818
96819
96820
96821
96822
96823
96824
96825
96826
96827
96828
96829
96830
96831
96832
96833
96834
96835
96836
96837
96838
96839
96840
96841
96842
96843
96844
96845
96846
96847
96848
96849
96850
96851
96852
96853
96854
96855
96856
96857
96858
96859
96860
96861
96862
96863
96864
96865
96866
96867
96868
96869
96870
96871
96872
96873
96874
96875
96876
96877
96878
96879
96880
96881
96882
96883
96884
96885
96886
96887
96888
96889
96890
96891
96892
96893
96894
96895
96896
96897
96898
96899
96900
96901
96902
96903
96904
96905
96906
96907
96908
96909
96910
96911
96912
96913
96914
96915
96916
96917
96918
96919
96920
96921
96922
96923
96924
96925
96926
96927
96928
96929
96930
96931
96932
96933
96934
96935
96936
96937
96938
96939
96940
96941
96942
96943
96944
96945
96946
96947
96948
96949
96950
96951
96952
96953
96954
96955
96956
96957
96958
96959
96960
96961
96962
96963
96964
96965
96966
96967
96968
96969
96970
96971
96972
96973
96974
96975
96976
96977
96978
96979
96980
96981
96982
96983
96984
96985
96986
96987
96988
96989
96990
96991
96992
96993
96994
96995
96996
96997
96998
96999
97000
97001
97002
97003
97004
97005
97006
97007
97008
97009
97010
97011
97012
97013
97014
97015
97016
97017
97018
97019
97020
97021
97022
97023
97024
97025
97026
97027
97028
97029
97030
97031
97032
97033
97034
97035
97036
97037
97038
97039
97040
97041
97042
97043
97044
97045
97046
97047
97048
97049
97050
97051
97052
97053
97054
97055
97056
97057
97058
97059
97060
97061
97062
97063
97064
97065
97066
97067
97068
97069
97070
97071
97072
97073
97074
97075
97076
97077
97078
97079
97080
97081
97082
97083
97084
97085
97086
97087
97088
97089
97090
97091
97092
97093
97094
97095
97096
97097
97098
97099
97100
97101
97102
97103
97104
97105
97106
97107
97108
97109
97110
97111
97112
97113
97114
97115
97116
97117
97118
97119
97120
97121
97122
97123
97124
97125
97126
97127
97128
97129
97130
97131
97132
97133
97134
97135
97136
97137
97138
97139
97140
97141
97142
97143
97144
97145
97146
97147
97148
97149
97150
97151
97152
97153
97154
97155
97156
97157
97158
97159
97160
97161
97162
97163
97164
97165
97166
97167
97168
97169
97170
97171
97172
97173
97174
97175
97176
97177
97178
97179
97180
97181
97182
97183
97184
97185
97186
97187
97188
97189
97190
97191
97192
97193
97194
97195
97196
97197
97198
97199
97200
97201
97202
97203
97204
97205
97206
97207
97208
97209
97210
97211
97212
97213
97214
97215
97216
97217
97218
97219
97220
97221
97222
97223
97224
97225
97226
97227
97228
97229
97230
97231
97232
97233
97234
97235
97236
97237
97238
97239
97240
97241
97242
97243
97244
97245
97246
97247
97248
97249
97250
97251
97252
97253
97254
97255
97256
97257
97258
97259
97260
97261
97262
97263
97264
97265
97266
97267
97268
97269
97270
97271
97272
97273
97274
97275
97276
97277
97278
97279
97280
97281
97282
97283
97284
97285
97286
97287
97288
97289
97290
97291
97292
97293
97294
97295
97296
97297
97298
97299
97300
97301
97302
97303
97304
97305
97306
97307
97308
97309
97310
97311
97312
97313
97314
97315
97316
97317
97318
97319
97320
97321
97322
97323
97324
97325
97326
97327
97328
97329
97330
97331
97332
97333
97334
97335
97336
97337
97338
97339
97340
97341
97342
97343
97344
97345
97346
97347
97348
97349
97350
97351
97352
97353
97354
97355
97356
97357
97358
97359
97360
97361
97362
97363
97364
97365
97366
97367
97368
97369
97370
97371
97372
97373
97374
97375
97376
97377
97378
97379
97380
97381
97382
97383
97384
97385
97386
97387
97388
97389
97390
97391
97392
97393
97394
97395
97396
97397
97398
97399
97400
97401
97402
97403
97404
97405
97406
97407
97408
97409
97410
97411
97412
97413
97414
97415
97416
97417
97418
97419
97420
97421
97422
97423
97424
97425
97426
97427
97428
97429
97430
97431
97432
97433
97434
97435
97436
97437
97438
97439
97440
97441
97442
97443
97444
97445
97446
97447
97448
97449
97450
97451
97452
97453
97454
97455
97456
97457
97458
97459
97460
97461
97462
97463
97464
97465
97466
97467
97468
97469
97470
97471
97472
97473
97474
97475
97476
97477
97478
97479
97480
97481
97482
97483
97484
97485
97486
97487
97488
97489
97490
97491
97492
97493
97494
97495
97496
97497
97498
97499
97500
97501
97502
97503
97504
97505
97506
97507
97508
97509
97510
97511
97512
97513
97514
97515
97516
97517
97518
97519
97520
97521
97522
97523
97524
97525
97526
97527
97528
97529
97530
97531
97532
97533
97534
97535
97536
97537
97538
97539
97540
97541
97542
97543
97544
97545
97546
97547
97548
97549
97550
97551
97552
97553
97554
97555
97556
97557
97558
97559
97560
97561
97562
97563
97564
97565
97566
97567
97568
97569
97570
97571
97572
97573
97574
97575
97576
97577
97578
97579
97580
97581
97582
97583
97584
97585
97586
97587
97588
97589
97590
97591
97592
97593
97594
97595
97596
97597
97598
97599
97600
97601
97602
97603
97604
97605
97606
97607
97608
97609
97610
97611
97612
97613
97614
97615
97616
97617
97618
97619
97620
97621
97622
97623
97624
97625
97626
97627
97628
97629
97630
97631
97632
97633
97634
97635
97636
97637
97638
97639
97640
97641
97642
97643
97644
97645
97646
97647
97648
97649
97650
97651
97652
97653
97654
97655
97656
97657
97658
97659
97660
97661
97662
97663
97664
97665
97666
97667
97668
97669
97670
97671
97672
97673
97674
97675
97676
97677
97678
97679
97680
97681
97682
97683
97684
97685
97686
97687
97688
97689
97690
97691
97692
97693
97694
97695
97696
97697
97698
97699
97700
97701
97702
97703
97704
97705
97706
97707
97708
97709
97710
97711
97712
97713
97714
97715
97716
97717
97718
97719
97720
97721
97722
97723
97724
97725
97726
97727
97728
97729
97730
97731
97732
97733
97734
97735
97736
97737
97738
97739
97740
97741
97742
97743
97744
97745
97746
97747
97748
97749
97750
97751
97752
97753
97754
97755
97756
97757
97758
97759
97760
97761
97762
97763
97764
97765
97766
97767
97768
97769
97770
97771
97772
97773
97774
97775
97776
97777
97778
97779
97780
97781
97782
97783
97784
97785
97786
97787
97788
97789
97790
97791
97792
97793
97794
97795
97796
97797
97798
97799
97800
97801
97802
97803
97804
97805
97806
97807
97808
97809
97810
97811
97812
97813
97814
97815
97816
97817
97818
97819
97820
97821
97822
97823
97824
97825
97826
97827
97828
97829
97830
97831
97832
97833
97834
97835
97836
97837
97838
97839
97840
97841
97842
97843
97844
97845
97846
97847
97848
97849
97850
97851
97852
97853
97854
97855
97856
97857
97858
97859
97860
97861
97862
97863
97864
97865
97866
97867
97868
97869
97870
97871
97872
97873
97874
97875
97876
97877
97878
97879
97880
97881
97882
97883
97884
97885
97886
97887
97888
97889
97890
97891
97892
97893
97894
97895
97896
97897
97898
97899
97900
97901
97902
97903
97904
97905
97906
97907
97908
97909
97910
97911
97912
97913
97914
97915
97916
97917
97918
97919
97920
97921
97922
97923
97924
97925
97926
97927
97928
97929
97930
97931
97932
97933
97934
97935
97936
97937
97938
97939
97940
97941
97942
97943
97944
97945
97946
97947
97948
97949
97950
97951
97952
97953
97954
97955
97956
97957
97958
97959
97960
97961
97962
97963
97964
97965
97966
97967
97968
97969
97970
97971
97972
97973
97974
97975
97976
97977
97978
97979
97980
97981
97982
97983
97984
97985
97986
97987
97988
97989
97990
97991
97992
97993
97994
97995
97996
97997
97998
97999
98000
98001
98002
98003
98004
98005
98006
98007
98008
98009
98010
98011
98012
98013
98014
98015
98016
98017
98018
98019
98020
98021
98022
98023
98024
98025
98026
98027
98028
98029
98030
98031
98032
98033
98034
98035
98036
98037
98038
98039
98040
98041
98042
98043
98044
98045
98046
98047
98048
98049
98050
98051
98052
98053
98054
98055
98056
98057
98058
98059
98060
98061
98062
98063
98064
98065
98066
98067
98068
98069
98070
98071
98072
98073
98074
98075
98076
98077
98078
98079
98080
98081
98082
98083
98084
98085
98086
98087
98088
98089
98090
98091
98092
98093
98094
98095
98096
98097
98098
98099
98100
98101
98102
98103
98104
98105
98106
98107
98108
98109
98110
98111
98112
98113
98114
98115
98116
98117
98118
98119
98120
98121
98122
98123
98124
98125
98126
98127
98128
98129
98130
98131
98132
98133
98134
98135
98136
98137
98138
98139
98140
98141
98142
98143
98144
98145
98146
98147
98148
98149
98150
98151
98152
98153
98154
98155
98156
98157
98158
98159
98160
98161
98162
98163
98164
98165
98166
98167
98168
98169
98170
98171
98172
98173
98174
98175
98176
98177
98178
98179
98180
98181
98182
98183
98184
98185
98186
98187
98188
98189
98190
98191
98192
98193
98194
98195
98196
98197
98198
98199
98200
98201
98202
98203
98204
98205
98206
98207
98208
98209
98210
98211
98212
98213
98214
98215
98216
98217
98218
98219
98220
98221
98222
98223
98224
98225
98226
98227
98228
98229
98230
98231
98232
98233
98234
98235
98236
98237
98238
98239
98240
98241
98242
98243
98244
98245
98246
98247
98248
98249
98250
98251
98252
98253
98254
98255
98256
98257
98258
98259
98260
98261
98262
98263
98264
98265
98266
98267
98268
98269
98270
98271
98272
98273
98274
98275
98276
98277
98278
98279
98280
98281
98282
98283
98284
98285
98286
98287
98288
98289
98290
98291
98292
98293
98294
98295
98296
98297
98298
98299
98300
98301
98302
98303
98304
98305
98306
98307
98308
98309
98310
98311
98312
98313
98314
98315
98316
98317
98318
98319
98320
98321
98322
98323
98324
98325
98326
98327
98328
98329
98330
98331
98332
98333
98334
98335
98336
98337
98338
98339
98340
98341
98342
98343
98344
98345
98346
98347
98348
98349
98350
98351
98352
98353
98354
98355
98356
98357
98358
98359
98360
98361
98362
98363
98364
98365
98366
98367
98368
98369
98370
98371
98372
98373
98374
98375
98376
98377
98378
98379
98380
98381
98382
98383
98384
98385
98386
98387
98388
98389
98390
98391
98392
98393
98394
98395
98396
98397
98398
98399
98400
98401
98402
98403
98404
98405
98406
98407
98408
98409
98410
98411
98412
98413
98414
98415
98416
98417
98418
98419
98420
98421
98422
98423
98424
98425
98426
98427
98428
98429
98430
98431
98432
98433
98434
98435
98436
98437
98438
98439
98440
98441
98442
98443
98444
98445
98446
98447
98448
98449
98450
98451
98452
98453
98454
98455
98456
98457
98458
98459
98460
98461
98462
98463
98464
98465
98466
98467
98468
98469
98470
98471
98472
98473
98474
98475
98476
98477
98478
98479
98480
98481
98482
98483
98484
98485
98486
98487
98488
98489
98490
98491
98492
98493
98494
98495
98496
98497
98498
98499
98500
98501
98502
98503
98504
98505
98506
98507
98508
98509
98510
98511
98512
98513
98514
98515
98516
98517
98518
98519
98520
98521
98522
98523
98524
98525
98526
98527
98528
98529
98530
98531
98532
98533
98534
98535
98536
98537
98538
98539
98540
98541
98542
98543
98544
98545
98546
98547
98548
98549
98550
98551
98552
98553
98554
98555
98556
98557
98558
98559
98560
98561
98562
98563
98564
98565
98566
98567
98568
98569
98570
98571
98572
98573
98574
98575
98576
98577
98578
98579
98580
98581
98582
98583
98584
98585
98586
98587
98588
98589
98590
98591
98592
98593
98594
98595
98596
98597
98598
98599
98600
98601
98602
98603
98604
98605
98606
98607
98608
98609
98610
98611
98612
98613
98614
98615
98616
98617
98618
98619
98620
98621
98622
98623
98624
98625
98626
98627
98628
98629
98630
98631
98632
98633
98634
98635
98636
98637
98638
98639
98640
98641
98642
98643
98644
98645
98646
98647
98648
98649
98650
98651
98652
98653
98654
98655
98656
98657
98658
98659
98660
98661
98662
98663
98664
98665
98666
98667
98668
98669
98670
98671
98672
98673
98674
98675
98676
98677
98678
98679
98680
98681
98682
98683
98684
98685
98686
98687
98688
98689
98690
98691
98692
98693
98694
98695
98696
98697
98698
98699
98700
98701
98702
98703
98704
98705
98706
98707
98708
98709
98710
98711
98712
98713
98714
98715
98716
98717
98718
98719
98720
98721
98722
98723
98724
98725
98726
98727
98728
98729
98730
98731
98732
98733
98734
98735
98736
98737
98738
98739
98740
98741
98742
98743
98744
98745
98746
98747
98748
98749
98750
98751
98752
98753
98754
98755
98756
98757
98758
98759
98760
98761
98762
98763
98764
98765
98766
98767
98768
98769
98770
98771
98772
98773
98774
98775
98776
98777
98778
98779
98780
98781
98782
98783
98784
98785
98786
98787
98788
98789
98790
98791
98792
98793
98794
98795
98796
98797
98798
98799
98800
98801
98802
98803
98804
98805
98806
98807
98808
98809
98810
98811
98812
98813
98814
98815
98816
98817
98818
98819
98820
98821
98822
98823
98824
98825
98826
98827
98828
98829
98830
98831
98832
98833
98834
98835
98836
98837
98838
98839
98840
98841
98842
98843
98844
98845
98846
98847
98848
98849
98850
98851
98852
98853
98854
98855
98856
98857
98858
98859
98860
98861
98862
98863
98864
98865
98866
98867
98868
98869
98870
98871
98872
98873
98874
98875
98876
98877
98878
98879
98880
98881
98882
98883
98884
98885
98886
98887
98888
98889
98890
98891
98892
98893
98894
98895
98896
98897
98898
98899
98900
98901
98902
98903
98904
98905
98906
98907
98908
98909
98910
98911
98912
98913
98914
98915
98916
98917
98918
98919
98920
98921
98922
98923
98924
98925
98926
98927
98928
98929
98930
98931
98932
98933
98934
98935
98936
98937
98938
98939
98940
98941
98942
98943
98944
98945
98946
98947
98948
98949
98950
98951
98952
98953
98954
98955
98956
98957
98958
98959
98960
98961
98962
98963
98964
98965
98966
98967
98968
98969
98970
98971
98972
98973
98974
98975
98976
98977
98978
98979
98980
98981
98982
98983
98984
98985
98986
98987
98988
98989
98990
98991
98992
98993
98994
98995
98996
98997
98998
98999
99000
99001
99002
99003
99004
99005
99006
99007
99008
99009
99010
99011
99012
99013
99014
99015
99016
99017
99018
99019
99020
99021
99022
99023
99024
99025
99026
99027
99028
99029
99030
99031
99032
99033
99034
99035
99036
99037
99038
99039
99040
99041
99042
99043
99044
99045
99046
99047
99048
99049
99050
99051
99052
99053
99054
99055
99056
99057
99058
99059
99060
99061
99062
99063
99064
99065
99066
99067
99068
99069
99070
99071
99072
99073
99074
99075
99076
99077
99078
99079
99080
99081
99082
99083
99084
99085
99086
99087
99088
99089
99090
99091
99092
99093
99094
99095
99096
99097
99098
99099
99100
99101
99102
99103
99104
99105
99106
99107
99108
99109
99110
99111
99112
99113
99114
99115
99116
99117
99118
99119
99120
99121
99122
99123
99124
99125
99126
99127
99128
99129
99130
99131
99132
99133
99134
99135
99136
99137
99138
99139
99140
99141
99142
99143
99144
99145
99146
99147
99148
99149
99150
99151
99152
99153
99154
99155
99156
99157
99158
99159
99160
99161
99162
99163
99164
99165
99166
99167
99168
99169
99170
99171
99172
99173
99174
99175
99176
99177
99178
99179
99180
99181
99182
99183
99184
99185
99186
99187
99188
99189
99190
99191
99192
99193
99194
99195
99196
99197
99198
99199
99200
99201
99202
99203
99204
99205
99206
99207
99208
99209
99210
99211
99212
99213
99214
99215
99216
99217
99218
99219
99220
99221
99222
99223
99224
99225
99226
99227
99228
99229
99230
99231
99232
99233
99234
99235
99236
99237
99238
99239
99240
99241
99242
99243
99244
99245
99246
99247
99248
99249
99250
99251
99252
99253
99254
99255
99256
99257
99258
99259
99260
99261
99262
99263
99264
99265
99266
99267
99268
99269
99270
99271
99272
99273
99274
99275
99276
99277
99278
99279
99280
99281
99282
99283
99284
99285
99286
99287
99288
99289
99290
99291
99292
99293
99294
99295
99296
99297
99298
99299
99300
99301
99302
99303
99304
99305
99306
99307
99308
99309
99310
99311
99312
99313
99314
99315
99316
99317
99318
99319
99320
99321
99322
99323
99324
99325
99326
99327
99328
99329
99330
99331
99332
99333
99334
99335
99336
99337
99338
99339
99340
99341
99342
99343
99344
99345
99346
99347
99348
99349
99350
99351
99352
99353
99354
99355
99356
99357
99358
99359
99360
99361
99362
99363
99364
99365
99366
99367
99368
99369
99370
99371
99372
99373
99374
99375
99376
99377
99378
99379
99380
99381
99382
99383
99384
99385
99386
99387
99388
99389
99390
99391
99392
99393
99394
99395
99396
99397
99398
99399
99400
99401
99402
99403
99404
99405
99406
99407
99408
99409
99410
99411
99412
99413
99414
99415
99416
99417
99418
99419
99420
99421
99422
99423
99424
99425
99426
99427
99428
99429
99430
99431
99432
99433
99434
99435
99436
99437
99438
99439
99440
99441
99442
99443
99444
99445
99446
99447
99448
99449
99450
99451
99452
99453
99454
99455
99456
99457
99458
99459
99460
99461
99462
99463
99464
99465
99466
99467
99468
99469
99470
99471
99472
99473
99474
99475
99476
99477
99478
99479
99480
99481
99482
99483
99484
99485
99486
99487
99488
99489
99490
99491
99492
99493
99494
99495
99496
99497
99498
99499
99500
99501
99502
99503
99504
99505
99506
99507
99508
99509
99510
99511
99512
99513
99514
99515
99516
99517
99518
99519
99520
99521
99522
99523
99524
99525
99526
99527
99528
99529
99530
99531
99532
99533
99534
99535
99536
99537
99538
99539
99540
99541
99542
99543
99544
99545
99546
99547
99548
99549
99550
99551
99552
99553
99554
99555
99556
99557
99558
99559
99560
99561
99562
99563
99564
99565
99566
99567
99568
99569
99570
99571
99572
99573
99574
99575
99576
99577
99578
99579
99580
99581
99582
99583
99584
99585
99586
99587
99588
99589
99590
99591
99592
99593
99594
99595
99596
99597
99598
99599
99600
99601
99602
99603
99604
99605
99606
99607
99608
99609
99610
99611
99612
99613
99614
99615
99616
99617
99618
99619
99620
99621
99622
99623
99624
99625
99626
99627
99628
99629
99630
99631
99632
99633
99634
99635
99636
99637
99638
99639
99640
99641
99642
99643
99644
99645
99646
99647
99648
99649
99650
99651
99652
99653
99654
99655
99656
99657
99658
99659
99660
99661
99662
99663
99664
99665
99666
99667
99668
99669
99670
99671
99672
99673
99674
99675
99676
99677
99678
99679
99680
99681
99682
99683
99684
99685
99686
99687
99688
99689
99690
99691
99692
99693
99694
99695
99696
99697
99698
99699
99700
99701
99702
99703
99704
99705
99706
99707
99708
99709
99710
99711
99712
99713
99714
99715
99716
99717
99718
99719
99720
99721
99722
99723
99724
99725
99726
99727
99728
99729
99730
99731
99732
99733
99734
99735
99736
99737
99738
99739
99740
99741
99742
99743
99744
99745
99746
99747
99748
99749
99750
99751
99752
99753
99754
99755
99756
99757
99758
99759
99760
99761
99762
99763
99764
99765
99766
99767
99768
99769
99770
99771
99772
99773
99774
99775
99776
99777
99778
99779
99780
99781
99782
99783
99784
99785
99786
99787
99788
99789
99790
99791
99792
99793
99794
99795
99796
99797
99798
99799
99800
99801
99802
99803
99804
99805
99806
99807
99808
99809
99810
99811
99812
99813
99814
99815
99816
99817
99818
99819
99820
99821
99822
99823
99824
99825
99826
99827
99828
99829
99830
99831
99832
99833
99834
99835
99836
99837
99838
99839
99840
99841
99842
99843
99844
99845
99846
99847
99848
99849
99850
99851
99852
99853
99854
99855
99856
99857
99858
99859
99860
99861
99862
99863
99864
99865
99866
99867
99868
99869
99870
99871
99872
99873
99874
99875
99876
99877
99878
99879
99880
99881
99882
99883
99884
99885
99886
99887
99888
99889
99890
99891
99892
99893
99894
99895
99896
99897
99898
99899
99900
99901
99902
99903
99904
99905
99906
99907
99908
99909
99910
99911
99912
99913
99914
99915
99916
99917
99918
99919
99920
99921
99922
99923
99924
99925
99926
99927
99928
99929
99930
99931
99932
99933
99934
99935
99936
99937
99938
99939
99940
99941
99942
99943
99944
99945
99946
99947
99948
99949
99950
99951
99952
99953
99954
99955
99956
99957
99958
99959
99960
99961
99962
99963
99964
99965
99966
99967
99968
99969
99970
99971
99972
99973
99974
99975
99976
99977
99978
99979
99980
99981
99982
99983
99984
99985
99986
99987
99988
99989
99990
99991
99992
99993
99994
99995
99996
99997
99998
99999
100000
100001
100002
100003
100004
100005
100006
100007
100008
100009
100010
100011
100012
100013
100014
100015
100016
100017
100018
100019
100020
100021
100022
100023
100024
100025
100026
100027
100028
100029
100030
100031
100032
100033
100034
100035
100036
100037
100038
100039
100040
100041
100042
100043
100044
100045
100046
100047
100048
100049
100050
100051
100052
100053
100054
100055
100056
100057
100058
100059
100060
100061
100062
100063
100064
100065
100066
100067
100068
100069
100070
100071
100072
100073
100074
100075
100076
100077
100078
100079
100080
100081
100082
100083
100084
100085
100086
100087
100088
100089
100090
100091
100092
100093
100094
100095
100096
100097
100098
100099
100100
100101
100102
100103
100104
100105
100106
100107
100108
100109
100110
100111
100112
100113
100114
100115
100116
100117
100118
100119
100120
100121
100122
100123
100124
100125
100126
100127
100128
100129
100130
100131
100132
100133
100134
100135
100136
100137
100138
100139
100140
100141
100142
100143
100144
100145
100146
100147
100148
100149
100150
100151
100152
100153
100154
100155
100156
100157
100158
100159
100160
100161
100162
100163
100164
100165
100166
100167
100168
100169
100170
100171
100172
100173
100174
100175
100176
100177
100178
100179
100180
100181
100182
100183
100184
100185
100186
100187
100188
100189
100190
100191
100192
100193
100194
100195
100196
100197
100198
100199
100200
100201
100202
100203
100204
100205
100206
100207
100208
100209
100210
100211
100212
100213
100214
100215
100216
100217
100218
100219
100220
100221
100222
100223
100224
100225
100226
100227
100228
100229
100230
100231
100232
100233
100234
100235
100236
100237
100238
100239
100240
100241
100242
100243
100244
100245
100246
100247
100248
100249
100250
100251
100252
100253
100254
100255
100256
100257
100258
100259
100260
100261
100262
100263
100264
100265
100266
100267
100268
100269
100270
100271
100272
100273
100274
100275
100276
100277
100278
100279
100280
100281
100282
100283
100284
100285
100286
100287
100288
100289
100290
100291
100292
100293
100294
100295
100296
100297
100298
100299
100300
100301
100302
100303
100304
100305
100306
100307
100308
100309
100310
100311
100312
100313
100314
100315
100316
100317
100318
100319
100320
100321
100322
100323
100324
100325
100326
100327
100328
100329
100330
100331
100332
100333
100334
100335
100336
100337
100338
100339
100340
100341
100342
100343
100344
100345
100346
100347
100348
100349
100350
100351
100352
100353
100354
100355
100356
100357
100358
100359
100360
100361
100362
100363
100364
100365
100366
100367
100368
100369
100370
100371
100372
100373
100374
100375
100376
100377
100378
100379
100380
100381
100382
100383
100384
100385
100386
100387
100388
100389
100390
100391
100392
100393
100394
100395
100396
100397
100398
100399
100400
100401
100402
100403
100404
100405
100406
100407
100408
100409
100410
100411
100412
100413
100414
100415
100416
100417
100418
100419
100420
100421
100422
100423
100424
100425
100426
100427
100428
100429
100430
100431
100432
100433
100434
100435
100436
100437
100438
100439
100440
100441
100442
100443
100444
100445
100446
100447
100448
100449
100450
100451
100452
100453
100454
100455
100456
100457
100458
100459
100460
100461
100462
100463
100464
100465
100466
100467
100468
100469
100470
100471
100472
100473
100474
100475
100476
100477
100478
100479
100480
100481
100482
100483
100484
100485
100486
100487
100488
100489
100490
100491
100492
100493
100494
100495
100496
100497
100498
100499
100500
100501
100502
100503
100504
100505
100506
100507
100508
100509
100510
100511
100512
100513
100514
100515
100516
100517
100518
100519
100520
100521
100522
100523
100524
100525
100526
100527
100528
100529
100530
100531
100532
100533
100534
100535
100536
100537
100538
100539
100540
100541
100542
100543
100544
100545
100546
100547
100548
100549
100550
100551
100552
100553
100554
100555
100556
100557
100558
100559
100560
100561
100562
100563
100564
100565
100566
100567
100568
100569
100570
100571
100572
100573
100574
100575
100576
100577
100578
100579
100580
100581
100582
100583
100584
100585
100586
100587
100588
100589
100590
100591
100592
100593
100594
100595
100596
100597
100598
100599
100600
100601
100602
100603
100604
100605
100606
100607
100608
100609
100610
100611
100612
100613
100614
100615
100616
100617
100618
100619
100620
100621
100622
100623
100624
100625
100626
100627
100628
100629
100630
100631
100632
100633
100634
100635
100636
100637
100638
100639
100640
100641
100642
100643
100644
100645
100646
100647
100648
100649
100650
100651
100652
100653
100654
100655
100656
100657
100658
100659
100660
100661
100662
100663
100664
100665
100666
100667
100668
100669
100670
100671
100672
100673
100674
100675
100676
100677
100678
100679
100680
100681
100682
100683
100684
100685
100686
100687
100688
100689
100690
100691
100692
100693
100694
100695
100696
100697
100698
100699
100700
100701
100702
100703
100704
100705
100706
100707
100708
100709
100710
100711
100712
100713
100714
100715
100716
100717
100718
100719
100720
100721
100722
100723
100724
100725
100726
100727
100728
100729
100730
100731
100732
100733
100734
100735
100736
100737
100738
100739
100740
100741
100742
100743
100744
100745
100746
100747
100748
100749
100750
100751
100752
100753
100754
100755
100756
100757
100758
100759
100760
100761
100762
100763
100764
100765
100766
100767
100768
100769
100770
100771
100772
100773
100774
100775
100776
100777
100778
100779
100780
100781
100782
100783
100784
100785
100786
100787
100788
100789
100790
100791
100792
100793
100794
100795
100796
100797
100798
100799
100800
100801
100802
100803
100804
100805
100806
100807
100808
100809
100810
100811
100812
100813
100814
100815
100816
100817
100818
100819
100820
100821
100822
100823
100824
100825
100826
100827
100828
100829
100830
100831
100832
100833
100834
100835
100836
100837
100838
100839
100840
100841
100842
100843
100844
100845
100846
100847
100848
100849
100850
100851
100852
100853
100854
100855
100856
100857
100858
100859
100860
100861
100862
100863
100864
100865
100866
100867
100868
100869
100870
100871
100872
100873
100874
100875
100876
100877
100878
100879
100880
100881
100882
100883
100884
100885
100886
100887
100888
100889
100890
100891
100892
100893
100894
100895
100896
100897
100898
100899
100900
100901
100902
100903
100904
100905
100906
100907
100908
100909
100910
100911
100912
100913
100914
100915
100916
100917
100918
100919
100920
100921
100922
100923
100924
100925
100926
100927
100928
100929
100930
100931
100932
100933
100934
100935
100936
100937
100938
100939
100940
100941
100942
100943
100944
100945
100946
100947
100948
100949
100950
100951
100952
100953
100954
100955
100956
100957
100958
100959
100960
100961
100962
100963
100964
100965
100966
100967
100968
100969
100970
100971
100972
100973
100974
100975
100976
100977
100978
100979
100980
100981
100982
100983
100984
100985
100986
100987
100988
100989
100990
100991
100992
100993
100994
100995
100996
100997
100998
100999
101000
101001
101002
101003
101004
101005
101006
101007
101008
101009
101010
101011
101012
101013
101014
101015
101016
101017
101018
101019
101020
101021
101022
101023
101024
101025
101026
101027
101028
101029
101030
101031
101032
101033
101034
101035
101036
101037
101038
101039
101040
101041
101042
101043
101044
101045
101046
101047
101048
101049
101050
101051
101052
101053
101054
101055
101056
101057
101058
101059
101060
101061
101062
101063
101064
101065
101066
101067
101068
101069
101070
101071
101072
101073
101074
101075
101076
101077
101078
101079
101080
101081
101082
101083
101084
101085
101086
101087
101088
101089
101090
101091
101092
101093
101094
101095
101096
101097
101098
101099
101100
101101
101102
101103
101104
101105
101106
101107
101108
101109
101110
101111
101112
101113
101114
101115
101116
101117
101118
101119
101120
101121
101122
101123
101124
101125
101126
101127
101128
101129
101130
101131
101132
101133
101134
101135
101136
101137
101138
101139
101140
101141
101142
101143
101144
101145
101146
101147
101148
101149
101150
101151
101152
101153
101154
101155
101156
101157
101158
101159
101160
101161
101162
101163
101164
101165
101166
101167
101168
101169
101170
101171
101172
101173
101174
101175
101176
101177
101178
101179
101180
101181
101182
101183
101184
101185
101186
101187
101188
101189
101190
101191
101192
101193
101194
101195
101196
101197
101198
101199
101200
101201
101202
101203
101204
101205
101206
101207
101208
101209
101210
101211
101212
101213
101214
101215
101216
101217
101218
101219
101220
101221
101222
101223
101224
101225
101226
101227
101228
101229
101230
101231
101232
101233
101234
101235
101236
101237
101238
101239
101240
101241
101242
101243
101244
101245
101246
101247
101248
101249
101250
101251
101252
101253
101254
101255
101256
101257
101258
101259
101260
101261
101262
101263
101264
101265
101266
101267
101268
101269
101270
101271
101272
101273
101274
101275
101276
101277
101278
101279
101280
101281
101282
101283
101284
101285
101286
101287
101288
101289
101290
101291
101292
101293
101294
101295
101296
101297
101298
101299
101300
101301
101302
101303
101304
101305
101306
101307
101308
101309
101310
101311
101312
101313
101314
101315
101316
101317
101318
101319
101320
101321
101322
101323
101324
101325
101326
101327
101328
101329
101330
101331
101332
101333
101334
101335
101336
101337
101338
101339
101340
101341
101342
101343
101344
101345
101346
101347
101348
101349
101350
101351
101352
101353
101354
101355
101356
101357
101358
101359
101360
101361
101362
101363
101364
101365
101366
101367
101368
101369
101370
101371
101372
101373
101374
101375
101376
101377
101378
101379
101380
101381
101382
101383
101384
101385
101386
101387
101388
101389
101390
101391
101392
101393
101394
101395
101396
101397
101398
101399
101400
101401
101402
101403
101404
101405
101406
101407
101408
101409
101410
101411
101412
101413
101414
101415
101416
101417
101418
101419
101420
101421
101422
101423
101424
101425
101426
101427
101428
101429
101430
101431
101432
101433
101434
101435
101436
101437
101438
101439
101440
101441
101442
101443
101444
101445
101446
101447
101448
101449
101450
101451
101452
101453
101454
101455
101456
101457
101458
101459
101460
101461
101462
101463
101464
101465
101466
101467
101468
101469
101470
101471
101472
101473
101474
101475
101476
101477
101478
101479
101480
101481
101482
101483
101484
101485
101486
101487
101488
101489
101490
101491
101492
101493
101494
101495
101496
101497
101498
101499
101500
101501
101502
101503
101504
101505
101506
101507
101508
101509
101510
101511
101512
101513
101514
101515
101516
101517
101518
101519
101520
101521
101522
101523
101524
101525
101526
101527
101528
101529
101530
101531
101532
101533
101534
101535
101536
101537
101538
101539
101540
101541
101542
101543
101544
101545
101546
101547
101548
101549
101550
101551
101552
101553
101554
101555
101556
101557
101558
101559
101560
101561
101562
101563
101564
101565
101566
101567
101568
101569
101570
101571
101572
101573
101574
101575
101576
101577
101578
101579
101580
101581
101582
101583
101584
101585
101586
101587
101588
101589
101590
101591
101592
101593
101594
101595
101596
101597
101598
101599
101600
101601
101602
101603
101604
101605
101606
101607
101608
101609
101610
101611
101612
101613
101614
101615
101616
101617
101618
101619
101620
101621
101622
101623
101624
101625
101626
101627
101628
101629
101630
101631
101632
101633
101634
101635
101636
101637
101638
101639
101640
101641
101642
101643
101644
101645
101646
101647
101648
101649
101650
101651
101652
101653
101654
101655
101656
101657
101658
101659
101660
101661
101662
101663
101664
101665
101666
101667
101668
101669
101670
101671
101672
101673
101674
101675
101676
101677
101678
101679
101680
101681
101682
101683
101684
101685
101686
101687
101688
101689
101690
101691
101692
101693
101694
101695
101696
101697
101698
101699
101700
101701
101702
101703
101704
101705
101706
101707
101708
101709
101710
101711
101712
101713
101714
101715
101716
101717
101718
101719
101720
101721
101722
101723
101724
101725
101726
101727
101728
101729
101730
101731
101732
101733
101734
101735
101736
101737
101738
101739
101740
101741
101742
101743
101744
101745
101746
101747
101748
101749
101750
101751
101752
101753
101754
101755
101756
101757
101758
101759
101760
101761
101762
101763
101764
101765
101766
101767
101768
101769
101770
101771
101772
101773
101774
101775
101776
101777
101778
101779
101780
101781
101782
101783
101784
101785
101786
101787
101788
101789
101790
101791
101792
101793
101794
101795
101796
101797
101798
101799
101800
101801
101802
101803
101804
101805
101806
101807
101808
101809
101810
101811
101812
101813
101814
101815
101816
101817
101818
101819
101820
101821
101822
101823
101824
101825
101826
101827
101828
101829
101830
101831
101832
101833
101834
101835
101836
101837
101838
101839
101840
101841
101842
101843
101844
101845
101846
101847
101848
101849
101850
101851
101852
101853
101854
101855
101856
101857
101858
101859
101860
101861
101862
101863
101864
101865
101866
101867
101868
101869
101870
101871
101872
101873
101874
101875
101876
101877
101878
101879
101880
101881
101882
101883
101884
101885
101886
101887
101888
101889
101890
101891
101892
101893
101894
101895
101896
101897
101898
101899
101900
101901
101902
101903
101904
101905
101906
101907
101908
101909
101910
101911
101912
101913
101914
101915
101916
101917
101918
101919
101920
101921
101922
101923
101924
101925
101926
101927
101928
101929
101930
101931
101932
101933
101934
101935
101936
101937
101938
101939
101940
101941
101942
101943
101944
101945
101946
101947
101948
101949
101950
101951
101952
101953
101954
101955
101956
101957
101958
101959
101960
101961
101962
101963
101964
101965
101966
101967
101968
101969
101970
101971
101972
101973
101974
101975
101976
101977
101978
101979
101980
101981
101982
101983
101984
101985
101986
101987
101988
101989
101990
101991
101992
101993
101994
101995
101996
101997
101998
101999
102000
102001
102002
102003
102004
102005
102006
102007
102008
102009
102010
102011
102012
102013
102014
102015
102016
102017
102018
102019
102020
102021
102022
102023
102024
102025
102026
102027
102028
102029
102030
102031
102032
102033
102034
102035
102036
102037
102038
102039
102040
102041
102042
102043
102044
102045
102046
102047
102048
102049
102050
102051
102052
102053
102054
102055
102056
102057
102058
102059
102060
102061
102062
102063
102064
102065
102066
102067
102068
102069
102070
102071
102072
102073
102074
102075
102076
102077
102078
102079
102080
102081
102082
102083
102084
102085
102086
102087
102088
102089
102090
102091
102092
102093
102094
102095
102096
102097
102098
102099
102100
102101
102102
102103
102104
102105
102106
102107
102108
102109
102110
102111
102112
102113
102114
102115
102116
102117
102118
102119
102120
102121
102122
102123
102124
102125
102126
102127
102128
102129
102130
102131
102132
102133
102134
102135
102136
102137
102138
102139
102140
102141
102142
102143
102144
102145
102146
102147
102148
102149
102150
102151
102152
102153
102154
102155
102156
102157
102158
102159
102160
102161
102162
102163
102164
102165
102166
102167
102168
102169
102170
102171
102172
102173
102174
102175
102176
102177
102178
102179
102180
102181
102182
102183
102184
102185
102186
102187
102188
102189
102190
102191
102192
102193
102194
102195
102196
102197
102198
102199
102200
102201
102202
102203
102204
102205
102206
102207
102208
102209
102210
102211
102212
102213
102214
102215
102216
102217
102218
102219
102220
102221
102222
102223
102224
102225
102226
102227
102228
102229
102230
102231
102232
102233
102234
102235
102236
102237
102238
102239
102240
102241
102242
102243
102244
102245
102246
102247
102248
102249
102250
102251
102252
102253
102254
102255
102256
102257
102258
102259
102260
102261
102262
102263
102264
102265
102266
102267
102268
102269
102270
102271
102272
102273
102274
102275
102276
102277
102278
102279
102280
102281
102282
102283
102284
102285
102286
102287
102288
102289
102290
102291
102292
102293
102294
102295
102296
102297
102298
102299
102300
102301
102302
102303
102304
102305
102306
102307
102308
102309
102310
102311
102312
102313
102314
102315
102316
102317
102318
102319
102320
102321
102322
102323
102324
102325
102326
102327
102328
102329
102330
102331
102332
102333
102334
102335
102336
102337
102338
102339
102340
102341
102342
102343
102344
102345
102346
102347
102348
102349
102350
102351
102352
102353
102354
102355
102356
102357
102358
102359
102360
102361
102362
102363
102364
102365
102366
102367
102368
102369
102370
102371
102372
102373
102374
102375
102376
102377
102378
102379
102380
102381
102382
102383
102384
102385
102386
102387
102388
102389
102390
102391
102392
102393
102394
102395
102396
102397
102398
102399
102400
102401
102402
102403
102404
102405
102406
102407
102408
102409
102410
102411
102412
102413
102414
102415
102416
102417
102418
102419
102420
102421
102422
102423
102424
102425
102426
102427
102428
102429
102430
102431
102432
102433
102434
102435
102436
102437
102438
102439
102440
102441
102442
102443
102444
102445
102446
102447
102448
102449
102450
102451
102452
102453
102454
102455
102456
102457
102458
102459
102460
102461
102462
102463
102464
102465
102466
102467
102468
102469
102470
102471
102472
102473
102474
102475
102476
102477
102478
102479
102480
102481
102482
102483
102484
102485
102486
102487
102488
102489
102490
102491
102492
102493
102494
102495
102496
102497
102498
102499
102500
102501
102502
102503
102504
102505
102506
102507
102508
102509
102510
102511
102512
102513
102514
102515
102516
102517
102518
102519
102520
102521
102522
102523
102524
102525
102526
102527
102528
102529
102530
102531
102532
102533
102534
102535
102536
102537
102538
102539
102540
102541
102542
102543
102544
102545
102546
102547
102548
102549
102550
102551
102552
102553
102554
102555
102556
102557
102558
102559
102560
102561
102562
102563
102564
102565
102566
102567
102568
102569
102570
102571
102572
102573
102574
102575
102576
102577
102578
102579
102580
102581
102582
102583
102584
102585
102586
102587
102588
102589
102590
102591
102592
102593
102594
102595
102596
102597
102598
102599
102600
102601
102602
102603
102604
102605
102606
102607
102608
102609
102610
102611
102612
102613
102614
102615
102616
102617
102618
102619
102620
102621
102622
102623
102624
102625
102626
102627
102628
102629
102630
102631
102632
102633
102634
102635
102636
102637
102638
102639
102640
102641
102642
102643
102644
102645
102646
102647
102648
102649
102650
102651
102652
102653
102654
102655
102656
102657
102658
102659
102660
102661
102662
102663
102664
102665
102666
102667
102668
102669
102670
102671
102672
102673
102674
102675
102676
102677
102678
102679
102680
102681
102682
102683
102684
102685
102686
102687
102688
102689
102690
102691
102692
102693
102694
102695
102696
102697
102698
102699
102700
102701
102702
102703
102704
102705
102706
102707
102708
102709
102710
102711
102712
102713
102714
102715
102716
102717
102718
102719
102720
102721
102722
102723
102724
102725
102726
102727
102728
102729
102730
102731
102732
102733
102734
102735
102736
102737
102738
102739
102740
102741
102742
102743
102744
102745
102746
102747
102748
102749
102750
102751
102752
102753
102754
102755
102756
102757
102758
102759
102760
102761
102762
102763
102764
102765
102766
102767
102768
102769
102770
102771
102772
102773
102774
102775
102776
102777
102778
102779
102780
102781
102782
102783
102784
102785
102786
102787
102788
102789
102790
102791
102792
102793
102794
102795
102796
102797
102798
102799
102800
102801
102802
102803
102804
102805
102806
102807
102808
102809
102810
102811
102812
102813
102814
102815
102816
102817
102818
102819
102820
102821
102822
102823
102824
102825
102826
102827
102828
102829
102830
102831
102832
102833
102834
102835
102836
102837
102838
102839
102840
102841
102842
102843
102844
102845
102846
102847
102848
102849
102850
102851
102852
102853
102854
102855
102856
102857
102858
102859
102860
102861
102862
102863
102864
102865
102866
102867
102868
102869
102870
102871
102872
102873
102874
102875
102876
102877
102878
102879
102880
102881
102882
102883
102884
102885
102886
102887
102888
102889
102890
102891
102892
102893
102894
102895
102896
102897
102898
102899
102900
102901
102902
102903
102904
102905
102906
102907
102908
102909
102910
102911
102912
102913
102914
102915
102916
102917
102918
102919
102920
102921
102922
102923
102924
102925
102926
102927
102928
102929
102930
102931
102932
102933
102934
102935
102936
102937
102938
102939
102940
102941
102942
102943
102944
102945
102946
102947
102948
102949
102950
102951
102952
102953
102954
102955
102956
102957
102958
102959
102960
102961
102962
102963
102964
102965
102966
102967
102968
102969
102970
102971
102972
102973
102974
102975
102976
102977
102978
102979
102980
102981
102982
102983
102984
102985
102986
102987
102988
102989
102990
102991
102992
102993
102994
102995
102996
102997
102998
102999
103000
103001
103002
103003
103004
103005
103006
103007
103008
103009
103010
103011
103012
103013
103014
103015
103016
103017
103018
103019
103020
103021
103022
103023
103024
103025
103026
103027
103028
103029
103030
103031
103032
103033
103034
103035
103036
103037
103038
103039
103040
103041
103042
103043
103044
103045
103046
103047
103048
103049
103050
103051
103052
103053
103054
103055
103056
103057
103058
103059
103060
103061
103062
103063
103064
103065
103066
103067
103068
103069
103070
103071
103072
103073
103074
103075
103076
103077
103078
103079
103080
103081
103082
103083
103084
103085
103086
103087
103088
103089
103090
103091
103092
103093
103094
103095
103096
103097
103098
103099
103100
103101
103102
103103
103104
103105
103106
103107
103108
103109
103110
103111
103112
103113
103114
103115
103116
103117
103118
103119
103120
103121
103122
103123
103124
103125
103126
103127
103128
103129
103130
103131
103132
103133
103134
103135
103136
103137
103138
103139
103140
103141
103142
103143
103144
103145
103146
103147
103148
103149
103150
103151
103152
103153
103154
103155
103156
103157
103158
103159
103160
103161
103162
103163
103164
103165
103166
103167
103168
103169
103170
103171
103172
103173
103174
103175
103176
103177
103178
103179
103180
103181
103182
103183
103184
103185
103186
103187
103188
103189
103190
103191
103192
103193
103194
103195
103196
103197
103198
103199
103200
103201
103202
103203
103204
103205
103206
103207
103208
103209
103210
103211
103212
103213
103214
103215
103216
103217
103218
103219
103220
103221
103222
103223
103224
103225
103226
103227
103228
103229
103230
103231
103232
103233
103234
103235
103236
103237
103238
103239
103240
103241
103242
103243
103244
103245
103246
103247
103248
103249
103250
103251
103252
103253
103254
103255
103256
103257
103258
103259
103260
103261
103262
103263
103264
103265
103266
103267
103268
103269
103270
103271
103272
103273
103274
103275
103276
103277
103278
103279
103280
103281
103282
103283
103284
103285
103286
103287
103288
103289
103290
103291
103292
103293
103294
103295
103296
103297
103298
103299
103300
103301
103302
103303
103304
103305
103306
103307
103308
103309
103310
103311
103312
103313
103314
103315
103316
103317
103318
103319
103320
103321
103322
103323
103324
103325
103326
103327
103328
103329
103330
103331
103332
103333
103334
103335
103336
103337
103338
103339
103340
103341
103342
103343
103344
103345
103346
103347
103348
103349
103350
103351
103352
103353
103354
103355
103356
103357
103358
103359
103360
103361
103362
103363
103364
103365
103366
103367
103368
103369
103370
103371
103372
103373
103374
103375
103376
103377
103378
103379
103380
103381
103382
103383
103384
103385
103386
103387
103388
103389
103390
103391
103392
103393
103394
103395
103396
103397
103398
103399
103400
103401
103402
103403
103404
103405
103406
103407
103408
103409
103410
103411
103412
103413
103414
103415
103416
103417
103418
103419
103420
103421
103422
103423
103424
103425
103426
103427
103428
103429
103430
103431
103432
103433
103434
103435
103436
103437
103438
103439
103440
103441
103442
103443
103444
103445
103446
103447
103448
103449
103450
103451
103452
103453
103454
103455
103456
103457
103458
103459
103460
103461
103462
103463
103464
103465
103466
103467
103468
103469
103470
103471
103472
103473
103474
103475
103476
103477
103478
103479
103480
103481
103482
103483
103484
103485
103486
103487
103488
103489
103490
103491
103492
103493
103494
103495
103496
103497
103498
103499
103500
103501
103502
103503
103504
103505
103506
103507
103508
103509
103510
103511
103512
103513
103514
103515
103516
103517
103518
103519
103520
103521
103522
103523
103524
103525
103526
103527
103528
103529
103530
103531
103532
103533
103534
103535
103536
103537
103538
103539
103540
103541
103542
103543
103544
103545
103546
103547
103548
103549
103550
103551
103552
103553
103554
103555
103556
103557
103558
103559
103560
103561
103562
103563
103564
103565
103566
103567
103568
103569
103570
103571
103572
103573
103574
103575
103576
103577
103578
103579
103580
103581
103582
103583
103584
103585
103586
103587
103588
103589
103590
103591
103592
103593
103594
103595
103596
103597
103598
103599
103600
103601
103602
103603
103604
103605
103606
103607
103608
103609
103610
103611
103612
103613
103614
103615
103616
103617
103618
103619
103620
103621
103622
103623
103624
103625
103626
103627
103628
103629
103630
103631
103632
103633
103634
103635
103636
103637
103638
103639
103640
103641
103642
103643
103644
103645
103646
103647
103648
103649
103650
103651
103652
103653
103654
103655
103656
103657
103658
103659
103660
103661
103662
103663
103664
103665
103666
103667
103668
103669
103670
103671
103672
103673
103674
103675
103676
103677
103678
103679
103680
103681
103682
103683
103684
103685
103686
103687
103688
103689
103690
103691
103692
103693
103694
103695
103696
103697
103698
103699
103700
103701
103702
103703
103704
103705
103706
103707
103708
103709
103710
103711
103712
103713
103714
103715
103716
103717
103718
103719
103720
103721
103722
103723
103724
103725
103726
103727
103728
103729
103730
103731
103732
103733
103734
103735
103736
103737
103738
103739
103740
103741
103742
103743
103744
103745
103746
103747
103748
103749
103750
103751
103752
103753
103754
103755
103756
103757
103758
103759
103760
103761
103762
103763
103764
103765
103766
103767
103768
103769
103770
103771
103772
103773
103774
103775
103776
103777
103778
103779
103780
103781
103782
103783
103784
103785
103786
103787
103788
103789
103790
103791
103792
103793
103794
103795
103796
103797
103798
103799
103800
103801
103802
103803
103804
103805
103806
103807
103808
103809
103810
103811
103812
103813
103814
103815
103816
103817
103818
103819
103820
103821
103822
103823
103824
103825
103826
103827
103828
103829
103830
103831
103832
103833
103834
103835
103836
103837
103838
103839
103840
103841
103842
103843
103844
103845
103846
103847
103848
103849
103850
103851
103852
103853
103854
103855
103856
103857
103858
103859
103860
103861
103862
103863
103864
103865
103866
103867
103868
103869
103870
103871
103872
103873
103874
103875
103876
103877
103878
103879
103880
103881
103882
103883
103884
103885
103886
103887
103888
103889
103890
103891
103892
103893
103894
103895
103896
103897
103898
103899
103900
103901
103902
103903
103904
103905
103906
103907
103908
103909
103910
103911
103912
103913
103914
103915
103916
103917
103918
103919
103920
103921
103922
103923
103924
103925
103926
103927
103928
103929
103930
103931
103932
103933
103934
103935
103936
103937
103938
103939
103940
103941
103942
103943
103944
103945
103946
103947
103948
103949
103950
103951
103952
103953
103954
103955
103956
103957
103958
103959
103960
103961
103962
103963
103964
103965
103966
103967
103968
103969
103970
103971
103972
103973
103974
103975
103976
103977
103978
103979
103980
103981
103982
103983
103984
103985
103986
103987
103988
103989
103990
103991
103992
103993
103994
103995
103996
103997
103998
103999
104000
104001
104002
104003
104004
104005
104006
104007
104008
104009
104010
104011
104012
104013
104014
104015
104016
104017
104018
104019
104020
104021
104022
104023
104024
104025
104026
104027
104028
104029
104030
104031
104032
104033
104034
104035
104036
104037
104038
104039
104040
104041
104042
104043
104044
104045
104046
104047
104048
104049
104050
104051
104052
104053
104054
104055
104056
104057
104058
104059
104060
104061
104062
104063
104064
104065
104066
104067
104068
104069
104070
104071
104072
104073
104074
104075
104076
104077
104078
104079
104080
104081
104082
104083
104084
104085
104086
104087
104088
104089
104090
104091
104092
104093
104094
104095
104096
104097
104098
104099
104100
104101
104102
104103
104104
104105
104106
104107
104108
104109
104110
104111
104112
104113
104114
104115
104116
104117
104118
104119
104120
104121
104122
104123
104124
104125
104126
104127
104128
104129
104130
104131
104132
104133
104134
104135
104136
104137
104138
104139
104140
104141
104142
104143
104144
104145
104146
104147
104148
104149
104150
104151
104152
104153
104154
104155
104156
104157
104158
104159
104160
104161
104162
104163
104164
104165
104166
104167
104168
104169
104170
104171
104172
104173
104174
104175
104176
104177
104178
104179
104180
104181
104182
104183
104184
104185
104186
104187
104188
104189
104190
104191
104192
104193
104194
104195
104196
104197
104198
104199
104200
104201
104202
104203
104204
104205
104206
104207
104208
104209
104210
104211
104212
104213
104214
104215
104216
104217
104218
104219
104220
104221
104222
104223
104224
104225
104226
104227
104228
104229
104230
104231
104232
104233
104234
104235
104236
104237
104238
104239
104240
104241
104242
104243
104244
104245
104246
104247
104248
104249
104250
104251
104252
104253
104254
104255
104256
104257
104258
104259
104260
104261
104262
104263
104264
104265
104266
104267
104268
104269
104270
104271
104272
104273
104274
104275
104276
104277
104278
104279
104280
104281
104282
104283
104284
104285
104286
104287
104288
104289
104290
104291
104292
104293
104294
104295
104296
104297
104298
104299
104300
104301
104302
104303
104304
104305
104306
104307
104308
104309
104310
104311
104312
104313
104314
104315
104316
104317
104318
104319
104320
104321
104322
104323
104324
104325
104326
104327
104328
104329
104330
104331
104332
104333
104334
104335
104336
104337
104338
104339
104340
104341
104342
104343
104344
104345
104346
104347
104348
104349
104350
104351
104352
104353
104354
104355
104356
104357
104358
104359
104360
104361
104362
104363
104364
104365
104366
104367
104368
104369
104370
104371
104372
104373
104374
104375
104376
104377
104378
104379
104380
104381
104382
104383
104384
104385
104386
104387
104388
104389
104390
104391
104392
104393
104394
104395
104396
104397
104398
104399
104400
104401
104402
104403
104404
104405
104406
104407
104408
104409
104410
104411
104412
104413
104414
104415
104416
104417
104418
104419
104420
104421
104422
104423
104424
104425
104426
104427
104428
104429
104430
104431
104432
104433
104434
104435
104436
104437
104438
104439
104440
104441
104442
104443
104444
104445
104446
104447
104448
104449
104450
104451
104452
104453
104454
104455
104456
104457
104458
104459
104460
104461
104462
104463
104464
104465
104466
104467
104468
104469
104470
104471
104472
104473
104474
104475
104476
104477
104478
104479
104480
104481
104482
104483
104484
104485
104486
104487
104488
104489
104490
104491
104492
104493
104494
104495
104496
104497
104498
104499
104500
104501
104502
104503
104504
104505
104506
104507
104508
104509
104510
104511
104512
104513
104514
104515
104516
104517
104518
104519
104520
104521
104522
104523
104524
104525
104526
104527
104528
104529
104530
104531
104532
104533
104534
104535
104536
104537
104538
104539
104540
104541
104542
104543
104544
104545
104546
104547
104548
104549
104550
104551
104552
104553
104554
104555
104556
104557
104558
104559
104560
104561
104562
104563
104564
104565
104566
104567
104568
104569
104570
104571
104572
104573
104574
104575
104576
104577
104578
104579
104580
104581
104582
104583
104584
104585
104586
104587
104588
104589
104590
104591
104592
104593
104594
104595
104596
104597
104598
104599
104600
104601
104602
104603
104604
104605
104606
104607
104608
104609
104610
104611
104612
104613
104614
104615
104616
104617
104618
104619
104620
104621
104622
104623
104624
104625
104626
104627
104628
104629
104630
104631
104632
104633
104634
104635
104636
104637
104638
104639
104640
104641
104642
104643
104644
104645
104646
104647
104648
104649
104650
104651
104652
104653
104654
104655
104656
104657
104658
104659
104660
104661
104662
104663
104664
104665
104666
104667
104668
104669
104670
104671
104672
104673
104674
104675
104676
104677
104678
104679
104680
104681
104682
104683
104684
104685
104686
104687
104688
104689
104690
104691
104692
104693
104694
104695
104696
104697
104698
104699
104700
104701
104702
104703
104704
104705
104706
104707
104708
104709
104710
104711
104712
104713
104714
104715
104716
104717
104718
104719
104720
104721
104722
104723
104724
104725
104726
104727
104728
104729
104730
104731
104732
104733
104734
104735
104736
104737
104738
104739
104740
104741
104742
104743
104744
104745
104746
104747
104748
104749
104750
104751
104752
104753
104754
104755
104756
104757
104758
104759
104760
104761
104762
104763
104764
104765
104766
104767
104768
104769
104770
104771
104772
104773
104774
104775
104776
104777
104778
104779
104780
104781
104782
104783
104784
104785
104786
104787
104788
104789
104790
104791
104792
104793
104794
104795
104796
104797
104798
104799
104800
104801
104802
104803
104804
104805
104806
104807
104808
104809
104810
104811
104812
104813
104814
104815
104816
104817
104818
104819
104820
104821
104822
104823
104824
104825
104826
104827
104828
104829
104830
104831
104832
104833
104834
104835
104836
104837
104838
104839
104840
104841
104842
104843
104844
104845
104846
104847
104848
104849
104850
104851
104852
104853
104854
104855
104856
104857
104858
104859
104860
104861
104862
104863
104864
104865
104866
104867
104868
104869
104870
104871
104872
104873
104874
104875
104876
104877
104878
104879
104880
104881
104882
104883
104884
104885
104886
104887
104888
104889
104890
104891
104892
104893
104894
104895
104896
104897
104898
104899
104900
104901
104902
104903
104904
104905
104906
104907
104908
104909
104910
104911
104912
104913
104914
104915
104916
104917
104918
104919
104920
104921
104922
104923
104924
104925
104926
104927
104928
104929
104930
104931
104932
104933
104934
104935
104936
104937
104938
104939
104940
104941
104942
104943
104944
104945
104946
104947
104948
104949
104950
104951
104952
104953
104954
104955
104956
104957
104958
104959
104960
104961
104962
104963
104964
104965
104966
104967
104968
104969
104970
104971
104972
104973
104974
104975
104976
104977
104978
104979
104980
104981
104982
104983
104984
104985
104986
104987
104988
104989
104990
104991
104992
104993
104994
104995
104996
104997
104998
104999
105000
105001
105002
105003
105004
105005
105006
105007
105008
105009
105010
105011
105012
105013
105014
105015
105016
105017
105018
105019
105020
105021
105022
105023
105024
105025
105026
105027
105028
105029
105030
105031
105032
105033
105034
105035
105036
105037
105038
105039
105040
105041
105042
105043
105044
105045
105046
105047
105048
105049
105050
105051
105052
105053
105054
105055
105056
105057
105058
105059
105060
105061
105062
105063
105064
105065
105066
105067
105068
105069
105070
105071
105072
105073
105074
105075
105076
105077
105078
105079
105080
105081
105082
105083
105084
105085
105086
105087
105088
105089
105090
105091
105092
105093
105094
105095
105096
105097
105098
105099
105100
105101
105102
105103
105104
105105
105106
105107
105108
105109
105110
105111
105112
105113
105114
105115
105116
105117
105118
105119
105120
105121
105122
105123
105124
105125
105126
105127
105128
105129
105130
105131
105132
105133
105134
105135
105136
105137
105138
105139
105140
105141
105142
105143
105144
105145
105146
105147
105148
105149
105150
105151
105152
105153
105154
105155
105156
105157
105158
105159
105160
105161
105162
105163
105164
105165
105166
105167
105168
105169
105170
105171
105172
105173
105174
105175
105176
105177
105178
105179
105180
105181
105182
105183
105184
105185
105186
105187
105188
105189
105190
105191
105192
105193
105194
105195
105196
105197
105198
105199
105200
105201
105202
105203
105204
105205
105206
105207
105208
105209
105210
105211
105212
105213
105214
105215
105216
105217
105218
105219
105220
105221
105222
105223
105224
105225
105226
105227
105228
105229
105230
105231
105232
105233
105234
105235
105236
105237
105238
105239
105240
105241
105242
105243
105244
105245
105246
105247
105248
105249
105250
105251
105252
105253
105254
105255
105256
105257
105258
105259
105260
105261
105262
105263
105264
105265
105266
105267
105268
105269
105270
105271
105272
105273
105274
105275
105276
105277
105278
105279
105280
105281
105282
105283
105284
105285
105286
105287
105288
105289
105290
105291
105292
105293
105294
105295
105296
105297
105298
105299
105300
105301
105302
105303
105304
105305
105306
105307
105308
105309
105310
105311
105312
105313
105314
105315
105316
105317
105318
105319
105320
105321
105322
105323
105324
105325
105326
105327
105328
105329
105330
105331
105332
105333
105334
105335
105336
105337
105338
105339
105340
105341
105342
105343
105344
105345
105346
105347
105348
105349
105350
105351
105352
105353
105354
105355
105356
105357
105358
105359
105360
105361
105362
105363
105364
105365
105366
105367
105368
105369
105370
105371
105372
105373
105374
105375
105376
105377
105378
105379
105380
105381
105382
105383
105384
105385
105386
105387
105388
105389
105390
105391
105392
105393
105394
105395
105396
105397
105398
105399
105400
105401
105402
105403
105404
105405
105406
105407
105408
105409
105410
105411
105412
105413
105414
105415
105416
105417
105418
105419
105420
105421
105422
105423
105424
105425
105426
105427
105428
105429
105430
105431
105432
105433
105434
105435
105436
105437
105438
105439
105440
105441
105442
105443
105444
105445
105446
105447
105448
105449
105450
105451
105452
105453
105454
105455
105456
105457
105458
105459
105460
105461
105462
105463
105464
105465
105466
105467
105468
105469
105470
105471
105472
105473
105474
105475
105476
105477
105478
105479
105480
105481
105482
105483
105484
105485
105486
105487
105488
105489
105490
105491
105492
105493
105494
105495
105496
105497
105498
105499
105500
105501
105502
105503
105504
105505
105506
105507
105508
105509
105510
105511
105512
105513
105514
105515
105516
105517
105518
105519
105520
105521
105522
105523
105524
105525
105526
105527
105528
105529
105530
105531
105532
105533
105534
105535
105536
105537
105538
105539
105540
105541
105542
105543
105544
105545
105546
105547
105548
105549
105550
105551
105552
105553
105554
105555
105556
105557
105558
105559
105560
105561
105562
105563
105564
105565
105566
105567
105568
105569
105570
105571
105572
105573
105574
105575
105576
105577
105578
105579
105580
105581
105582
105583
105584
105585
105586
105587
105588
105589
105590
105591
105592
105593
105594
105595
105596
105597
105598
105599
105600
105601
105602
105603
105604
105605
105606
105607
105608
105609
105610
105611
105612
105613
105614
105615
105616
105617
105618
105619
105620
105621
105622
105623
105624
105625
105626
105627
105628
105629
105630
105631
105632
105633
105634
105635
105636
105637
105638
105639
105640
105641
105642
105643
105644
105645
105646
105647
105648
105649
105650
105651
105652
105653
105654
105655
105656
105657
105658
105659
105660
105661
105662
105663
105664
105665
105666
105667
105668
105669
105670
105671
105672
105673
105674
105675
105676
105677
105678
105679
105680
105681
105682
105683
105684
105685
105686
105687
105688
105689
105690
105691
105692
105693
105694
105695
105696
105697
105698
105699
105700
105701
105702
105703
105704
105705
105706
105707
105708
105709
105710
105711
105712
105713
105714
105715
105716
105717
105718
105719
105720
105721
105722
105723
105724
105725
105726
105727
105728
105729
105730
105731
105732
105733
105734
105735
105736
105737
105738
105739
105740
105741
105742
105743
105744
105745
105746
105747
105748
105749
105750
105751
105752
105753
105754
105755
105756
105757
105758
105759
105760
105761
105762
105763
105764
105765
105766
105767
105768
105769
105770
105771
105772
105773
105774
105775
105776
105777
105778
105779
105780
105781
105782
105783
105784
105785
105786
105787
105788
105789
105790
105791
105792
105793
105794
105795
105796
105797
105798
105799
105800
105801
105802
105803
105804
105805
105806
105807
105808
105809
105810
105811
105812
105813
105814
105815
105816
105817
105818
105819
105820
105821
105822
105823
105824
105825
105826
105827
105828
105829
105830
105831
105832
105833
105834
105835
105836
105837
105838
105839
105840
105841
105842
105843
105844
105845
105846
105847
105848
105849
105850
105851
105852
105853
105854
105855
105856
105857
105858
105859
105860
105861
105862
105863
105864
105865
105866
105867
105868
105869
105870
105871
105872
105873
105874
105875
105876
105877
105878
105879
105880
105881
105882
105883
105884
105885
105886
105887
105888
105889
105890
105891
105892
105893
105894
105895
105896
105897
105898
105899
105900
105901
105902
105903
105904
105905
105906
105907
105908
105909
105910
105911
105912
105913
105914
105915
105916
105917
105918
105919
105920
105921
105922
105923
105924
105925
105926
105927
105928
105929
105930
105931
105932
105933
105934
105935
105936
105937
105938
105939
105940
105941
105942
105943
105944
105945
105946
105947
105948
105949
105950
105951
105952
105953
105954
105955
105956
105957
105958
105959
105960
105961
105962
105963
105964
105965
105966
105967
105968
105969
105970
105971
105972
105973
105974
105975
105976
105977
105978
105979
105980
105981
105982
105983
105984
105985
105986
105987
105988
105989
105990
105991
105992
105993
105994
105995
105996
105997
105998
105999
106000
106001
106002
106003
106004
106005
106006
106007
106008
106009
106010
106011
106012
106013
106014
106015
106016
106017
106018
106019
106020
106021
106022
106023
106024
106025
106026
106027
106028
106029
106030
106031
106032
106033
106034
106035
106036
106037
106038
106039
106040
106041
106042
106043
106044
106045
106046
106047
106048
106049
106050
106051
106052
106053
106054
106055
106056
106057
106058
106059
106060
106061
106062
106063
106064
106065
106066
106067
106068
106069
106070
106071
106072
106073
106074
106075
106076
106077
106078
106079
106080
106081
106082
106083
106084
106085
106086
106087
106088
106089
106090
106091
106092
106093
106094
106095
106096
106097
106098
106099
106100
106101
106102
106103
106104
106105
106106
106107
106108
106109
106110
106111
106112
106113
106114
106115
106116
106117
106118
106119
106120
106121
106122
106123
106124
106125
106126
106127
106128
106129
106130
106131
106132
106133
106134
106135
106136
106137
106138
106139
106140
106141
106142
106143
106144
106145
106146
106147
106148
106149
106150
106151
106152
106153
106154
106155
106156
106157
106158
106159
106160
106161
106162
106163
106164
106165
106166
106167
106168
106169
106170
106171
106172
106173
106174
106175
106176
106177
106178
106179
106180
106181
106182
106183
106184
106185
106186
106187
106188
106189
106190
106191
106192
106193
106194
106195
106196
106197
106198
106199
106200
106201
106202
106203
106204
106205
106206
106207
106208
106209
106210
106211
106212
106213
106214
106215
106216
106217
106218
106219
106220
106221
106222
106223
106224
106225
106226
106227
106228
106229
106230
106231
106232
106233
106234
106235
106236
106237
106238
106239
106240
106241
106242
106243
106244
106245
106246
106247
106248
106249
106250
106251
106252
106253
106254
106255
106256
106257
106258
106259
106260
106261
106262
106263
106264
106265
106266
106267
106268
106269
106270
106271
106272
106273
106274
106275
106276
106277
106278
106279
106280
106281
106282
106283
106284
106285
106286
106287
106288
106289
106290
106291
106292
106293
106294
106295
106296
106297
106298
106299
106300
106301
106302
106303
106304
106305
106306
106307
106308
106309
106310
106311
106312
106313
106314
106315
106316
106317
106318
106319
106320
106321
106322
106323
106324
106325
106326
106327
106328
106329
106330
106331
106332
106333
106334
106335
106336
106337
106338
106339
106340
106341
106342
106343
106344
106345
106346
106347
106348
106349
106350
106351
106352
106353
106354
106355
106356
106357
106358
106359
106360
106361
106362
106363
106364
106365
106366
106367
106368
106369
106370
106371
106372
106373
106374
106375
106376
106377
106378
106379
106380
106381
106382
106383
106384
106385
106386
106387
106388
106389
106390
106391
106392
106393
106394
106395
106396
106397
106398
106399
106400
106401
106402
106403
106404
106405
106406
106407
106408
106409
106410
106411
106412
106413
106414
106415
106416
106417
106418
106419
106420
106421
106422
106423
106424
106425
106426
106427
106428
106429
106430
106431
106432
106433
106434
106435
106436
106437
106438
106439
106440
106441
106442
106443
106444
106445
106446
106447
106448
106449
106450
106451
106452
106453
106454
106455
106456
106457
106458
106459
106460
106461
106462
106463
106464
106465
106466
106467
106468
106469
106470
106471
106472
106473
106474
106475
106476
106477
106478
106479
106480
106481
106482
106483
106484
106485
106486
106487
106488
106489
106490
106491
106492
106493
106494
106495
106496
106497
106498
106499
106500
106501
106502
106503
106504
106505
106506
106507
106508
106509
106510
106511
106512
106513
106514
106515
106516
106517
106518
106519
106520
106521
106522
106523
106524
106525
106526
106527
106528
106529
106530
106531
106532
106533
106534
106535
106536
106537
106538
106539
106540
106541
106542
106543
106544
106545
106546
106547
106548
106549
106550
106551
106552
106553
106554
106555
106556
106557
106558
106559
106560
106561
106562
106563
106564
106565
106566
106567
106568
106569
106570
106571
106572
106573
106574
106575
106576
106577
106578
106579
106580
106581
106582
106583
106584
106585
106586
106587
106588
106589
106590
106591
106592
106593
106594
106595
106596
106597
106598
106599
106600
106601
106602
106603
106604
106605
106606
106607
106608
106609
106610
106611
106612
106613
106614
106615
106616
106617
106618
106619
106620
106621
106622
106623
106624
106625
106626
106627
106628
106629
106630
106631
106632
106633
106634
106635
106636
106637
106638
106639
106640
106641
106642
106643
106644
106645
106646
106647
106648
106649
106650
106651
106652
106653
106654
106655
106656
106657
106658
106659
106660
106661
106662
106663
106664
106665
106666
106667
106668
106669
106670
106671
106672
106673
106674
106675
106676
106677
106678
106679
106680
106681
106682
106683
106684
106685
106686
106687
106688
106689
106690
106691
106692
106693
106694
106695
106696
106697
106698
106699
106700
106701
106702
106703
106704
106705
106706
106707
106708
106709
106710
106711
106712
106713
106714
106715
106716
106717
106718
106719
106720
106721
106722
106723
106724
106725
106726
106727
106728
106729
106730
106731
106732
106733
106734
106735
106736
106737
106738
106739
106740
106741
106742
106743
106744
106745
106746
106747
106748
106749
106750
106751
106752
106753
106754
106755
106756
106757
106758
106759
106760
106761
106762
106763
106764
106765
106766
106767
106768
106769
106770
106771
106772
106773
106774
106775
106776
106777
106778
106779
106780
106781
106782
106783
106784
106785
106786
106787
106788
106789
106790
106791
106792
106793
106794
106795
106796
106797
106798
106799
106800
106801
106802
106803
106804
106805
106806
106807
106808
106809
106810
106811
106812
106813
106814
106815
106816
106817
106818
106819
106820
106821
106822
106823
106824
106825
106826
106827
106828
106829
106830
106831
106832
106833
106834
106835
106836
106837
106838
106839
106840
106841
106842
106843
106844
106845
106846
106847
106848
106849
106850
106851
106852
106853
106854
106855
106856
106857
106858
106859
106860
106861
106862
106863
106864
106865
106866
106867
106868
106869
106870
106871
106872
106873
106874
106875
106876
106877
106878
106879
106880
106881
106882
106883
106884
106885
106886
106887
106888
106889
106890
106891
106892
106893
106894
106895
106896
106897
106898
106899
106900
106901
106902
106903
106904
106905
106906
106907
106908
106909
106910
106911
106912
106913
106914
106915
106916
106917
106918
106919
106920
106921
106922
106923
106924
106925
106926
106927
106928
106929
106930
106931
106932
106933
106934
106935
106936
106937
106938
106939
106940
106941
106942
106943
106944
106945
106946
106947
106948
106949
106950
106951
106952
106953
106954
106955
106956
106957
106958
106959
106960
106961
106962
106963
106964
106965
106966
106967
106968
106969
106970
106971
106972
106973
106974
106975
106976
106977
106978
106979
106980
106981
106982
106983
106984
106985
106986
106987
106988
106989
106990
106991
106992
106993
106994
106995
106996
106997
106998
106999
107000
107001
107002
107003
107004
107005
107006
107007
107008
107009
107010
107011
107012
107013
107014
107015
107016
107017
107018
107019
107020
107021
107022
107023
107024
107025
107026
107027
107028
107029
107030
107031
107032
107033
107034
107035
107036
107037
107038
107039
107040
107041
107042
107043
107044
107045
107046
107047
107048
107049
107050
107051
107052
107053
107054
107055
107056
107057
107058
107059
107060
107061
107062
107063
107064
107065
107066
107067
107068
107069
107070
107071
107072
107073
107074
107075
107076
107077
107078
107079
107080
107081
107082
107083
107084
107085
107086
107087
107088
107089
107090
107091
107092
107093
107094
107095
107096
107097
107098
107099
107100
107101
107102
107103
107104
107105
107106
107107
107108
107109
107110
107111
107112
107113
107114
107115
107116
107117
107118
107119
107120
107121
107122
107123
107124
107125
107126
107127
107128
107129
107130
107131
107132
107133
107134
107135
107136
107137
107138
107139
107140
107141
107142
107143
107144
107145
107146
107147
107148
107149
107150
107151
107152
107153
107154
107155
107156
107157
107158
107159
107160
107161
107162
107163
107164
107165
107166
107167
107168
107169
107170
107171
107172
107173
107174
107175
107176
107177
107178
107179
107180
107181
107182
107183
107184
107185
107186
107187
107188
107189
107190
107191
107192
107193
107194
107195
107196
107197
107198
107199
107200
107201
107202
107203
107204
107205
107206
107207
107208
107209
107210
107211
107212
107213
107214
107215
107216
107217
107218
107219
107220
107221
107222
107223
107224
107225
107226
107227
107228
107229
107230
107231
107232
107233
107234
107235
107236
107237
107238
107239
107240
107241
107242
107243
107244
107245
107246
107247
107248
107249
107250
107251
107252
107253
107254
107255
107256
107257
107258
107259
107260
107261
107262
107263
107264
107265
107266
107267
107268
107269
107270
107271
107272
107273
107274
107275
107276
107277
107278
107279
107280
107281
107282
107283
107284
107285
107286
107287
107288
107289
107290
107291
107292
107293
107294
107295
107296
107297
107298
107299
107300
107301
107302
107303
107304
107305
107306
107307
107308
107309
107310
107311
107312
107313
107314
107315
107316
107317
107318
107319
107320
107321
107322
107323
107324
107325
107326
107327
107328
107329
107330
107331
107332
107333
107334
107335
107336
107337
107338
107339
107340
107341
107342
107343
107344
107345
107346
107347
107348
107349
107350
107351
107352
107353
107354
107355
107356
107357
107358
107359
107360
107361
107362
107363
107364
107365
107366
107367
107368
107369
107370
107371
107372
107373
107374
107375
107376
107377
107378
107379
107380
107381
107382
107383
107384
107385
107386
107387
107388
107389
107390
107391
107392
107393
107394
107395
107396
107397
107398
107399
107400
107401
107402
107403
107404
107405
107406
107407
107408
107409
107410
107411
107412
107413
107414
107415
107416
107417
107418
107419
107420
107421
107422
107423
107424
107425
107426
107427
107428
107429
107430
107431
107432
107433
107434
107435
107436
107437
107438
107439
107440
107441
107442
107443
107444
107445
107446
107447
107448
107449
107450
107451
107452
107453
107454
107455
107456
107457
107458
107459
107460
107461
107462
107463
107464
107465
107466
107467
107468
107469
107470
107471
107472
107473
107474
107475
107476
107477
107478
107479
107480
107481
107482
107483
107484
107485
107486
107487
107488
107489
107490
107491
107492
107493
107494
107495
107496
107497
107498
107499
107500
107501
107502
107503
107504
107505
107506
107507
107508
107509
107510
107511
107512
107513
107514
107515
107516
107517
107518
107519
107520
107521
107522
107523
107524
107525
107526
107527
107528
107529
107530
107531
107532
107533
107534
107535
107536
107537
107538
107539
107540
107541
107542
107543
107544
107545
107546
107547
107548
107549
107550
107551
107552
107553
107554
107555
107556
107557
107558
107559
107560
107561
107562
107563
107564
107565
107566
107567
107568
107569
107570
107571
107572
107573
107574
107575
107576
107577
107578
107579
107580
107581
107582
107583
107584
107585
107586
107587
107588
107589
107590
107591
107592
107593
107594
107595
107596
107597
107598
107599
107600
107601
107602
107603
107604
107605
107606
107607
107608
107609
107610
107611
107612
107613
107614
107615
107616
107617
107618
107619
107620
107621
107622
107623
107624
107625
107626
107627
107628
107629
107630
107631
107632
107633
107634
107635
107636
107637
107638
107639
107640
107641
107642
107643
107644
107645
107646
107647
107648
107649
107650
107651
107652
107653
107654
107655
107656
107657
107658
107659
107660
107661
107662
107663
107664
107665
107666
107667
107668
107669
107670
107671
107672
107673
107674
107675
107676
107677
107678
107679
107680
107681
107682
107683
107684
107685
107686
107687
107688
107689
107690
107691
107692
107693
107694
107695
107696
107697
107698
107699
107700
107701
107702
107703
107704
107705
107706
107707
107708
107709
107710
107711
107712
107713
107714
107715
107716
107717
107718
107719
107720
107721
107722
107723
107724
107725
107726
107727
107728
107729
107730
107731
107732
107733
107734
107735
107736
107737
107738
107739
107740
107741
107742
107743
107744
107745
107746
107747
107748
107749
107750
107751
107752
107753
107754
107755
107756
107757
107758
107759
107760
107761
107762
107763
107764
107765
107766
107767
107768
107769
107770
107771
107772
107773
107774
107775
107776
107777
107778
107779
107780
107781
107782
107783
107784
107785
107786
107787
107788
107789
107790
107791
107792
107793
107794
107795
107796
107797
107798
107799
107800
107801
107802
107803
107804
107805
107806
107807
107808
107809
107810
107811
107812
107813
107814
107815
107816
107817
107818
107819
107820
107821
107822
107823
107824
107825
107826
107827
107828
107829
107830
107831
107832
107833
107834
107835
107836
107837
107838
107839
107840
107841
107842
107843
107844
107845
107846
107847
107848
107849
107850
107851
107852
107853
107854
107855
107856
107857
107858
107859
107860
107861
107862
107863
107864
107865
107866
107867
107868
107869
107870
107871
107872
107873
107874
107875
107876
107877
107878
107879
107880
107881
107882
107883
107884
107885
107886
107887
107888
107889
107890
107891
107892
107893
107894
107895
107896
107897
107898
107899
107900
107901
107902
107903
107904
107905
107906
107907
107908
107909
107910
107911
107912
107913
107914
107915
107916
107917
107918
107919
107920
107921
107922
107923
107924
107925
107926
107927
107928
107929
107930
107931
107932
107933
107934
107935
107936
107937
107938
107939
107940
107941
107942
107943
107944
107945
107946
107947
107948
107949
107950
107951
107952
107953
107954
107955
107956
107957
107958
107959
107960
107961
107962
107963
107964
107965
107966
107967
107968
107969
107970
107971
107972
107973
107974
107975
107976
107977
107978
107979
107980
107981
107982
107983
107984
107985
107986
107987
107988
107989
107990
107991
107992
107993
107994
107995
107996
107997
107998
107999
108000
108001
108002
108003
108004
108005
108006
108007
108008
108009
108010
108011
108012
108013
108014
108015
108016
108017
108018
108019
108020
108021
108022
108023
108024
108025
108026
108027
108028
108029
108030
108031
108032
108033
108034
108035
108036
108037
108038
108039
108040
108041
108042
108043
108044
108045
108046
108047
108048
108049
108050
108051
108052
108053
108054
108055
108056
108057
108058
108059
108060
108061
108062
108063
108064
108065
108066
108067
108068
108069
108070
108071
108072
108073
108074
108075
108076
108077
108078
108079
108080
108081
108082
108083
108084
108085
108086
108087
108088
108089
108090
108091
108092
108093
108094
108095
108096
108097
108098
108099
108100
108101
108102
108103
108104
108105
108106
108107
108108
108109
108110
108111
108112
108113
108114
108115
108116
108117
108118
108119
108120
108121
108122
108123
108124
108125
108126
108127
108128
108129
108130
108131
108132
108133
108134
108135
108136
108137
108138
108139
108140
108141
108142
108143
108144
108145
108146
108147
108148
108149
108150
108151
108152
108153
108154
108155
108156
108157
108158
108159
108160
108161
108162
108163
108164
108165
108166
108167
108168
108169
108170
108171
108172
108173
108174
108175
108176
108177
108178
108179
108180
108181
108182
108183
108184
108185
108186
108187
108188
108189
108190
108191
108192
108193
108194
108195
108196
108197
108198
108199
108200
108201
108202
108203
108204
108205
108206
108207
108208
108209
108210
108211
108212
108213
108214
108215
108216
108217
108218
108219
108220
108221
108222
108223
108224
108225
108226
108227
108228
108229
108230
108231
108232
108233
108234
108235
108236
108237
108238
108239
108240
108241
108242
108243
108244
108245
108246
108247
108248
108249
108250
108251
108252
108253
108254
108255
108256
108257
108258
108259
108260
108261
108262
108263
108264
108265
108266
108267
108268
108269
108270
108271
108272
108273
108274
108275
108276
108277
108278
108279
108280
108281
108282
108283
108284
108285
108286
108287
108288
108289
108290
108291
108292
108293
108294
108295
108296
108297
108298
108299
108300
108301
108302
108303
108304
108305
108306
108307
108308
108309
108310
108311
108312
108313
108314
108315
108316
108317
108318
108319
108320
108321
108322
108323
108324
108325
108326
108327
108328
108329
108330
108331
108332
108333
108334
108335
108336
108337
108338
108339
108340
108341
108342
108343
108344
108345
108346
108347
108348
108349
108350
108351
108352
108353
108354
108355
108356
108357
108358
108359
108360
108361
108362
108363
108364
108365
108366
108367
108368
108369
108370
108371
108372
108373
108374
108375
108376
108377
108378
108379
108380
108381
108382
108383
108384
108385
108386
108387
108388
108389
108390
108391
108392
108393
108394
108395
108396
108397
108398
108399
108400
108401
108402
108403
108404
108405
108406
108407
108408
108409
108410
108411
108412
108413
108414
108415
108416
108417
108418
108419
108420
108421
108422
108423
108424
108425
108426
108427
108428
108429
108430
108431
108432
108433
108434
108435
108436
108437
108438
108439
108440
108441
108442
108443
108444
108445
108446
108447
108448
108449
108450
108451
108452
108453
108454
108455
108456
108457
108458
108459
108460
108461
108462
108463
108464
108465
108466
108467
108468
108469
108470
108471
108472
108473
108474
108475
108476
108477
108478
108479
108480
108481
108482
108483
108484
108485
108486
108487
108488
108489
108490
108491
108492
108493
108494
108495
108496
108497
108498
108499
108500
108501
108502
108503
108504
108505
108506
108507
108508
108509
108510
108511
108512
108513
108514
108515
108516
108517
108518
108519
108520
108521
108522
108523
108524
108525
108526
108527
108528
108529
108530
108531
108532
108533
108534
108535
108536
108537
108538
108539
108540
108541
108542
108543
108544
108545
108546
108547
108548
108549
108550
108551
108552
108553
108554
108555
108556
108557
108558
108559
108560
108561
108562
108563
108564
108565
108566
108567
108568
108569
108570
108571
108572
108573
108574
108575
108576
108577
108578
108579
108580
108581
108582
108583
108584
108585
108586
108587
108588
108589
108590
108591
108592
108593
108594
108595
108596
108597
108598
108599
108600
108601
108602
108603
108604
108605
108606
108607
108608
108609
108610
108611
108612
108613
108614
108615
108616
108617
108618
108619
108620
108621
108622
108623
108624
108625
108626
108627
108628
108629
108630
108631
108632
108633
108634
108635
108636
108637
108638
108639
108640
108641
108642
108643
108644
108645
108646
108647
108648
108649
108650
108651
108652
108653
108654
108655
108656
108657
108658
108659
108660
108661
108662
108663
108664
108665
108666
108667
108668
108669
108670
108671
108672
108673
108674
108675
108676
108677
108678
108679
108680
108681
108682
108683
108684
108685
108686
108687
108688
108689
108690
108691
108692
108693
108694
108695
108696
108697
108698
108699
108700
108701
108702
108703
108704
108705
108706
108707
108708
108709
108710
108711
108712
108713
108714
108715
108716
108717
108718
108719
108720
108721
108722
108723
108724
108725
108726
108727
108728
108729
108730
108731
108732
108733
108734
108735
108736
108737
108738
108739
108740
108741
108742
108743
108744
108745
108746
108747
108748
108749
108750
108751
108752
108753
108754
108755
108756
108757
108758
108759
108760
108761
108762
108763
108764
108765
108766
108767
108768
108769
108770
108771
108772
108773
108774
108775
108776
108777
108778
108779
108780
108781
108782
108783
108784
108785
108786
108787
108788
108789
108790
108791
108792
108793
108794
108795
108796
108797
108798
108799
108800
108801
108802
108803
108804
108805
108806
108807
108808
108809
108810
108811
108812
108813
108814
108815
108816
108817
108818
108819
108820
108821
108822
108823
108824
108825
108826
108827
108828
108829
108830
108831
108832
108833
108834
108835
108836
108837
108838
108839
108840
108841
108842
108843
108844
108845
108846
108847
108848
108849
108850
108851
108852
108853
108854
108855
108856
108857
108858
108859
108860
108861
108862
108863
108864
108865
108866
108867
108868
108869
108870
108871
108872
108873
108874
108875
108876
108877
108878
108879
108880
108881
108882
108883
108884
108885
108886
108887
108888
108889
108890
108891
108892
108893
108894
108895
108896
108897
108898
108899
108900
108901
108902
108903
108904
108905
108906
108907
108908
108909
108910
108911
108912
108913
108914
108915
108916
108917
108918
108919
108920
108921
108922
108923
108924
108925
108926
108927
108928
108929
108930
108931
108932
108933
108934
108935
108936
108937
108938
108939
108940
108941
108942
108943
108944
108945
108946
108947
108948
108949
108950
108951
108952
108953
108954
108955
108956
108957
108958
108959
108960
108961
108962
108963
108964
108965
108966
108967
108968
108969
108970
108971
108972
108973
108974
108975
108976
108977
108978
108979
108980
108981
108982
108983
108984
108985
108986
108987
108988
108989
108990
108991
108992
108993
108994
108995
108996
108997
108998
108999
109000
109001
109002
109003
109004
109005
109006
109007
109008
109009
109010
109011
109012
109013
109014
109015
109016
109017
109018
109019
109020
109021
109022
109023
109024
109025
109026
109027
109028
109029
109030
109031
109032
109033
109034
109035
109036
109037
109038
109039
109040
109041
109042
109043
109044
109045
109046
109047
109048
109049
109050
109051
109052
109053
109054
109055
109056
109057
109058
109059
109060
109061
109062
109063
109064
109065
109066
109067
109068
109069
109070
109071
109072
109073
109074
109075
109076
109077
109078
109079
109080
109081
109082
109083
109084
109085
109086
109087
109088
109089
109090
109091
109092
109093
109094
109095
109096
109097
109098
109099
109100
109101
109102
109103
109104
109105
109106
109107
109108
109109
109110
109111
109112
109113
109114
109115
109116
109117
109118
109119
109120
109121
109122
109123
109124
109125
109126
109127
109128
109129
109130
109131
109132
109133
109134
109135
109136
109137
109138
109139
109140
109141
109142
109143
109144
109145
109146
109147
109148
109149
109150
109151
109152
109153
109154
109155
109156
109157
109158
109159
109160
109161
109162
109163
109164
109165
109166
109167
109168
109169
109170
109171
109172
109173
109174
109175
109176
109177
109178
109179
109180
109181
109182
109183
109184
109185
109186
109187
109188
109189
109190
109191
109192
109193
109194
109195
109196
109197
109198
109199
109200
109201
109202
109203
109204
109205
109206
109207
109208
109209
109210
109211
109212
109213
109214
109215
109216
109217
109218
109219
109220
109221
109222
109223
109224
109225
109226
109227
109228
109229
109230
109231
109232
109233
109234
109235
109236
109237
109238
109239
109240
109241
109242
109243
109244
109245
109246
109247
109248
109249
109250
109251
109252
109253
109254
109255
109256
109257
109258
109259
109260
109261
109262
109263
109264
109265
109266
109267
109268
109269
109270
109271
109272
109273
109274
109275
109276
109277
109278
109279
109280
109281
109282
109283
109284
109285
109286
109287
109288
109289
109290
109291
109292
109293
109294
109295
109296
109297
109298
109299
109300
109301
109302
109303
109304
109305
109306
109307
109308
109309
109310
109311
109312
109313
109314
109315
109316
109317
109318
109319
109320
109321
109322
109323
109324
109325
109326
109327
109328
109329
109330
109331
109332
109333
109334
109335
109336
109337
109338
109339
109340
109341
109342
109343
109344
109345
109346
109347
109348
109349
109350
109351
109352
109353
109354
109355
109356
109357
109358
109359
109360
109361
109362
109363
109364
109365
109366
109367
109368
109369
109370
109371
109372
109373
109374
109375
109376
109377
109378
109379
109380
109381
109382
109383
109384
109385
109386
109387
109388
109389
109390
109391
109392
109393
109394
109395
109396
109397
109398
109399
109400
109401
109402
109403
109404
109405
109406
109407
109408
109409
109410
109411
109412
109413
109414
109415
109416
109417
109418
109419
109420
109421
109422
109423
109424
109425
109426
109427
109428
109429
109430
109431
109432
109433
109434
109435
109436
109437
109438
109439
109440
109441
109442
109443
109444
109445
109446
109447
109448
109449
109450
109451
109452
109453
109454
109455
109456
109457
109458
109459
109460
109461
109462
109463
109464
109465
109466
109467
109468
109469
109470
109471
109472
109473
109474
109475
109476
109477
109478
109479
109480
109481
109482
109483
109484
109485
109486
109487
109488
109489
109490
109491
109492
109493
109494
109495
109496
109497
109498
109499
109500
109501
109502
109503
109504
109505
109506
109507
109508
109509
109510
109511
109512
109513
109514
109515
109516
109517
109518
109519
109520
109521
109522
109523
109524
109525
109526
109527
109528
109529
109530
109531
109532
109533
109534
109535
109536
109537
109538
109539
109540
109541
109542
109543
109544
109545
109546
109547
109548
109549
109550
109551
109552
109553
109554
109555
109556
109557
109558
109559
109560
109561
109562
109563
109564
109565
109566
109567
109568
109569
109570
109571
109572
109573
109574
109575
109576
109577
109578
109579
109580
109581
109582
109583
109584
109585
109586
109587
109588
109589
109590
109591
109592
109593
109594
109595
109596
109597
109598
109599
109600
109601
109602
109603
109604
109605
109606
109607
109608
109609
109610
109611
109612
109613
109614
109615
109616
109617
109618
109619
109620
109621
109622
109623
109624
109625
109626
109627
109628
109629
109630
109631
109632
109633
109634
109635
109636
109637
109638
109639
109640
109641
109642
109643
109644
109645
109646
109647
109648
109649
109650
109651
109652
109653
109654
109655
109656
109657
109658
109659
109660
109661
109662
109663
109664
109665
109666
109667
109668
109669
109670
109671
109672
109673
109674
109675
109676
109677
109678
109679
109680
109681
109682
109683
109684
109685
109686
109687
109688
109689
109690
109691
109692
109693
109694
109695
109696
109697
109698
109699
109700
109701
109702
109703
109704
109705
109706
109707
109708
109709
109710
109711
109712
109713
109714
109715
109716
109717
109718
109719
109720
109721
109722
109723
109724
109725
109726
109727
109728
109729
109730
109731
109732
109733
109734
109735
109736
109737
109738
109739
109740
109741
109742
109743
109744
109745
109746
109747
109748
109749
109750
109751
109752
109753
109754
109755
109756
109757
109758
109759
109760
109761
109762
109763
109764
109765
109766
109767
109768
109769
109770
109771
109772
109773
109774
109775
109776
109777
109778
109779
109780
109781
109782
109783
109784
109785
109786
109787
109788
109789
109790
109791
109792
109793
109794
109795
109796
109797
109798
109799
109800
109801
109802
109803
109804
109805
109806
109807
109808
109809
109810
109811
109812
109813
109814
109815
109816
109817
109818
109819
109820
109821
109822
109823
109824
109825
109826
109827
109828
109829
109830
109831
109832
109833
109834
109835
109836
109837
109838
109839
109840
109841
109842
109843
109844
109845
109846
109847
109848
109849
109850
109851
109852
109853
109854
109855
109856
109857
109858
109859
109860
109861
109862
109863
109864
109865
109866
109867
109868
109869
109870
109871
109872
109873
109874
109875
109876
109877
109878
109879
109880
109881
109882
109883
109884
109885
109886
109887
109888
109889
109890
109891
109892
109893
109894
109895
109896
109897
109898
109899
109900
109901
109902
109903
109904
109905
109906
109907
109908
109909
109910
109911
109912
109913
109914
109915
109916
109917
109918
109919
109920
109921
109922
109923
109924
109925
109926
109927
109928
109929
109930
109931
109932
109933
109934
109935
109936
109937
109938
109939
109940
109941
109942
109943
109944
109945
109946
109947
109948
109949
109950
109951
109952
109953
109954
109955
109956
109957
109958
109959
109960
109961
109962
109963
109964
109965
109966
109967
109968
109969
109970
109971
109972
109973
109974
109975
109976
109977
109978
109979
109980
109981
109982
109983
109984
109985
109986
109987
109988
109989
109990
109991
109992
109993
109994
109995
109996
109997
109998
109999
110000
110001
110002
110003
110004
110005
110006
110007
110008
110009
110010
110011
110012
110013
110014
110015
110016
110017
110018
110019
110020
110021
110022
110023
110024
110025
110026
110027
110028
110029
110030
110031
110032
110033
110034
110035
110036
110037
110038
110039
110040
110041
110042
110043
110044
110045
110046
110047
110048
110049
110050
110051
110052
110053
110054
110055
110056
110057
110058
110059
110060
110061
110062
110063
110064
110065
110066
110067
110068
110069
110070
110071
110072
110073
110074
110075
110076
110077
110078
110079
110080
110081
110082
110083
110084
110085
110086
110087
110088
110089
110090
110091
110092
110093
110094
110095
110096
110097
110098
110099
110100
110101
110102
110103
110104
110105
110106
110107
110108
110109
110110
110111
110112
110113
110114
110115
110116
110117
110118
110119
110120
110121
110122
110123
110124
110125
110126
110127
110128
110129
110130
110131
110132
110133
110134
110135
110136
110137
110138
110139
110140
110141
110142
110143
110144
110145
110146
110147
110148
110149
110150
110151
110152
110153
110154
110155
110156
110157
110158
110159
110160
110161
110162
110163
110164
110165
110166
110167
110168
110169
110170
110171
110172
110173
110174
110175
110176
110177
110178
110179
110180
110181
110182
110183
110184
110185
110186
110187
110188
110189
110190
110191
110192
110193
110194
110195
110196
110197
110198
110199
110200
110201
110202
110203
110204
110205
110206
110207
110208
110209
110210
110211
110212
110213
110214
110215
110216
110217
110218
110219
110220
110221
110222
110223
110224
110225
110226
110227
110228
110229
110230
110231
110232
110233
110234
110235
110236
110237
110238
110239
110240
110241
110242
110243
110244
110245
110246
110247
110248
110249
110250
110251
110252
110253
110254
110255
110256
110257
110258
110259
110260
110261
110262
110263
110264
110265
110266
110267
110268
110269
110270
110271
110272
110273
110274
110275
110276
110277
110278
110279
110280
110281
110282
110283
110284
110285
110286
110287
110288
110289
110290
110291
110292
110293
110294
110295
110296
110297
110298
110299
110300
110301
110302
110303
110304
110305
110306
110307
110308
110309
110310
110311
110312
110313
110314
110315
110316
110317
110318
110319
110320
110321
110322
110323
110324
110325
110326
110327
110328
110329
110330
110331
110332
110333
110334
110335
110336
110337
110338
110339
110340
110341
110342
110343
110344
110345
110346
110347
110348
110349
110350
110351
110352
110353
110354
110355
110356
110357
110358
110359
110360
110361
110362
110363
110364
110365
110366
110367
110368
110369
110370
110371
110372
110373
110374
110375
110376
110377
110378
110379
110380
110381
110382
110383
110384
110385
110386
110387
110388
110389
110390
110391
110392
110393
110394
110395
110396
110397
110398
110399
110400
110401
110402
110403
110404
110405
110406
110407
110408
110409
110410
110411
110412
110413
110414
110415
110416
110417
110418
110419
110420
110421
110422
110423
110424
110425
110426
110427
110428
110429
110430
110431
110432
110433
110434
110435
110436
110437
110438
110439
110440
110441
110442
110443
110444
110445
110446
110447
110448
110449
110450
110451
110452
110453
110454
110455
110456
110457
110458
110459
110460
110461
110462
110463
110464
110465
110466
110467
110468
110469
110470
110471
110472
110473
110474
110475
110476
110477
110478
110479
110480
110481
110482
110483
110484
110485
110486
110487
110488
110489
110490
110491
110492
110493
110494
110495
110496
110497
110498
110499
110500
110501
110502
110503
110504
110505
110506
110507
110508
110509
110510
110511
110512
110513
110514
110515
110516
110517
110518
110519
110520
110521
110522
110523
110524
110525
110526
110527
110528
110529
110530
110531
110532
110533
110534
110535
110536
110537
110538
110539
110540
110541
110542
110543
110544
110545
110546
110547
110548
110549
110550
110551
110552
110553
110554
110555
110556
110557
110558
110559
110560
110561
110562
110563
110564
110565
110566
110567
110568
110569
110570
110571
110572
110573
110574
110575
110576
110577
110578
110579
110580
110581
110582
110583
110584
110585
110586
110587
110588
110589
110590
110591
110592
110593
110594
110595
110596
110597
110598
110599
110600
110601
110602
110603
110604
110605
110606
110607
110608
110609
110610
110611
110612
110613
110614
110615
110616
110617
110618
110619
110620
110621
110622
110623
110624
110625
110626
110627
110628
110629
110630
110631
110632
110633
110634
110635
110636
110637
110638
110639
110640
110641
110642
110643
110644
110645
110646
110647
110648
110649
110650
110651
110652
110653
110654
110655
110656
110657
110658
110659
110660
110661
110662
110663
110664
110665
110666
110667
110668
110669
110670
110671
110672
110673
110674
110675
110676
110677
110678
110679
110680
110681
110682
110683
110684
110685
110686
110687
110688
110689
110690
110691
110692
110693
110694
110695
110696
110697
110698
110699
110700
110701
110702
110703
110704
110705
110706
110707
110708
110709
110710
110711
110712
110713
110714
110715
110716
110717
110718
110719
110720
110721
110722
110723
110724
110725
110726
110727
110728
110729
110730
110731
110732
110733
110734
110735
110736
110737
110738
110739
110740
110741
110742
110743
110744
110745
110746
110747
110748
110749
110750
110751
110752
110753
110754
110755
110756
110757
110758
110759
110760
110761
110762
110763
110764
110765
110766
110767
110768
110769
110770
110771
110772
110773
110774
110775
110776
110777
110778
110779
110780
110781
110782
110783
110784
110785
110786
110787
110788
110789
110790
110791
110792
110793
110794
110795
110796
110797
110798
110799
110800
110801
110802
110803
110804
110805
110806
110807
110808
110809
110810
110811
110812
110813
110814
110815
110816
110817
110818
110819
110820
110821
110822
110823
110824
110825
110826
110827
110828
110829
110830
110831
110832
110833
110834
110835
110836
110837
110838
110839
110840
110841
110842
110843
110844
110845
110846
110847
110848
110849
110850
110851
110852
110853
110854
110855
110856
110857
110858
110859
110860
110861
110862
110863
110864
110865
110866
110867
110868
110869
110870
110871
110872
110873
110874
110875
110876
110877
110878
110879
110880
110881
110882
110883
110884
110885
110886
110887
110888
110889
110890
110891
110892
110893
110894
110895
110896
110897
110898
110899
110900
110901
110902
110903
110904
110905
110906
110907
110908
110909
110910
110911
110912
110913
110914
110915
110916
110917
110918
110919
110920
110921
110922
110923
110924
110925
110926
110927
110928
110929
110930
110931
110932
110933
110934
110935
110936
110937
110938
110939
110940
110941
110942
110943
110944
110945
110946
110947
110948
110949
110950
110951
110952
110953
110954
110955
110956
110957
110958
110959
110960
110961
110962
110963
110964
110965
110966
110967
110968
110969
110970
110971
110972
110973
110974
110975
110976
110977
110978
110979
110980
110981
110982
110983
110984
110985
110986
110987
110988
110989
110990
110991
110992
110993
110994
110995
110996
110997
110998
110999
111000
111001
111002
111003
111004
111005
111006
111007
111008
111009
111010
111011
111012
111013
111014
111015
111016
111017
111018
111019
111020
111021
111022
111023
111024
111025
111026
111027
111028
111029
111030
111031
111032
111033
111034
111035
111036
111037
111038
111039
111040
111041
111042
111043
111044
111045
111046
111047
111048
111049
111050
111051
111052
111053
111054
111055
111056
111057
111058
111059
111060
111061
111062
111063
111064
111065
111066
111067
111068
111069
111070
111071
111072
111073
111074
111075
111076
111077
111078
111079
111080
111081
111082
111083
111084
111085
111086
111087
111088
111089
111090
111091
111092
111093
111094
111095
111096
111097
111098
111099
111100
111101
111102
111103
111104
111105
111106
111107
111108
111109
111110
111111
111112
111113
111114
111115
111116
111117
111118
111119
111120
111121
111122
111123
111124
111125
111126
111127
111128
111129
111130
111131
111132
111133
111134
111135
111136
111137
111138
111139
111140
111141
111142
111143
111144
111145
111146
111147
111148
111149
111150
111151
111152
111153
111154
111155
111156
111157
111158
111159
111160
111161
111162
111163
111164
111165
111166
111167
111168
111169
111170
111171
111172
111173
111174
111175
111176
111177
111178
111179
111180
111181
111182
111183
111184
111185
111186
111187
111188
111189
111190
111191
111192
111193
111194
111195
111196
111197
111198
111199
111200
111201
111202
111203
111204
111205
111206
111207
111208
111209
111210
111211
111212
111213
111214
111215
111216
111217
111218
111219
111220
111221
111222
111223
111224
111225
111226
111227
111228
111229
111230
111231
111232
111233
111234
111235
111236
111237
111238
111239
111240
111241
111242
111243
111244
111245
111246
111247
111248
111249
111250
111251
111252
111253
111254
111255
111256
111257
111258
111259
111260
111261
111262
111263
111264
111265
111266
111267
111268
111269
111270
111271
111272
111273
111274
111275
111276
111277
111278
111279
111280
111281
111282
111283
111284
111285
111286
111287
111288
111289
111290
111291
111292
111293
111294
111295
111296
111297
111298
111299
111300
111301
111302
111303
111304
111305
111306
111307
111308
111309
111310
111311
111312
111313
111314
111315
111316
111317
111318
111319
111320
111321
111322
111323
111324
111325
111326
111327
111328
111329
111330
111331
111332
111333
111334
111335
111336
111337
111338
111339
111340
111341
111342
111343
111344
111345
111346
111347
111348
111349
111350
111351
111352
111353
111354
111355
111356
111357
111358
111359
111360
111361
111362
111363
111364
111365
111366
111367
111368
111369
111370
111371
111372
111373
111374
111375
111376
111377
111378
111379
111380
111381
111382
111383
111384
111385
111386
111387
111388
111389
111390
111391
111392
111393
111394
111395
111396
111397
111398
111399
111400
111401
111402
111403
111404
111405
111406
111407
111408
111409
111410
111411
111412
111413
111414
111415
111416
111417
111418
111419
111420
111421
111422
111423
111424
111425
111426
111427
111428
111429
111430
111431
111432
111433
111434
111435
111436
111437
111438
111439
111440
111441
111442
111443
111444
111445
111446
111447
111448
111449
111450
111451
111452
111453
111454
111455
111456
111457
111458
111459
111460
111461
111462
111463
111464
111465
111466
111467
111468
111469
111470
111471
111472
111473
111474
111475
111476
111477
111478
111479
111480
111481
111482
111483
111484
111485
111486
111487
111488
111489
111490
111491
111492
111493
111494
111495
111496
111497
111498
111499
111500
111501
111502
111503
111504
111505
111506
111507
111508
111509
111510
111511
111512
111513
111514
111515
111516
111517
111518
111519
111520
111521
111522
111523
111524
111525
111526
111527
111528
111529
111530
111531
111532
111533
111534
111535
111536
111537
111538
111539
111540
111541
111542
111543
111544
111545
111546
111547
111548
111549
111550
111551
111552
111553
111554
111555
111556
111557
111558
111559
111560
111561
111562
111563
111564
111565
111566
111567
111568
111569
111570
111571
111572
111573
111574
111575
111576
111577
111578
111579
111580
111581
111582
111583
111584
111585
111586
111587
111588
111589
111590
111591
111592
111593
111594
111595
111596
111597
111598
111599
111600
111601
111602
111603
111604
111605
111606
111607
111608
111609
111610
111611
111612
111613
111614
111615
111616
111617
111618
111619
111620
111621
111622
111623
111624
111625
111626
111627
111628
111629
111630
111631
111632
111633
111634
111635
111636
111637
111638
111639
111640
111641
111642
111643
111644
111645
111646
111647
111648
111649
111650
111651
111652
111653
111654
111655
111656
111657
111658
111659
111660
111661
111662
111663
111664
111665
111666
111667
111668
111669
111670
111671
111672
111673
111674
111675
111676
111677
111678
111679
111680
111681
111682
111683
111684
111685
111686
111687
111688
111689
111690
111691
111692
111693
111694
111695
111696
111697
111698
111699
111700
111701
111702
111703
111704
111705
111706
111707
111708
111709
111710
111711
111712
111713
111714
111715
111716
111717
111718
111719
111720
111721
111722
111723
111724
111725
111726
111727
111728
111729
111730
111731
111732
111733
111734
111735
111736
111737
111738
111739
111740
111741
111742
111743
111744
111745
111746
111747
111748
111749
111750
111751
111752
111753
111754
111755
111756
111757
111758
111759
111760
111761
111762
111763
111764
111765
111766
111767
111768
111769
111770
111771
111772
111773
111774
111775
111776
111777
111778
111779
111780
111781
111782
111783
111784
111785
111786
111787
111788
111789
111790
111791
111792
111793
111794
111795
111796
111797
111798
111799
111800
111801
111802
111803
111804
111805
111806
111807
111808
111809
111810
111811
111812
111813
111814
111815
111816
111817
111818
111819
111820
111821
111822
111823
111824
111825
111826
111827
111828
111829
111830
111831
111832
111833
111834
111835
111836
111837
111838
111839
111840
111841
111842
111843
111844
111845
111846
111847
111848
111849
111850
111851
111852
111853
111854
111855
111856
111857
111858
111859
111860
111861
111862
111863
111864
111865
111866
111867
111868
111869
111870
111871
111872
111873
111874
111875
111876
111877
111878
111879
111880
111881
111882
111883
111884
111885
111886
111887
111888
111889
111890
111891
111892
111893
111894
111895
111896
111897
111898
111899
111900
111901
111902
111903
111904
111905
111906
111907
111908
111909
111910
111911
111912
111913
111914
111915
111916
111917
111918
111919
111920
111921
111922
111923
111924
111925
111926
111927
111928
111929
111930
111931
111932
111933
111934
111935
111936
111937
111938
111939
111940
111941
111942
111943
111944
111945
111946
111947
111948
111949
111950
111951
111952
111953
111954
111955
111956
111957
111958
111959
111960
111961
111962
111963
111964
111965
111966
111967
111968
111969
111970
111971
111972
111973
111974
111975
111976
111977
111978
111979
111980
111981
111982
111983
111984
111985
111986
111987
111988
111989
111990
111991
111992
111993
111994
111995
111996
111997
111998
111999
112000
112001
112002
112003
112004
112005
112006
112007
112008
112009
112010
112011
112012
112013
112014
112015
112016
112017
112018
112019
112020
112021
112022
112023
112024
112025
112026
112027
112028
112029
112030
112031
112032
112033
112034
112035
112036
112037
112038
112039
112040
112041
112042
112043
112044
112045
112046
112047
112048
112049
112050
112051
112052
112053
112054
112055
112056
112057
112058
112059
112060
112061
112062
112063
112064
112065
112066
112067
112068
112069
112070
112071
112072
112073
112074
112075
112076
112077
112078
112079
112080
112081
112082
112083
112084
112085
112086
112087
112088
112089
112090
112091
112092
112093
112094
112095
112096
112097
112098
112099
112100
112101
112102
112103
112104
112105
112106
112107
112108
112109
112110
112111
112112
112113
112114
112115
112116
112117
112118
112119
112120
112121
112122
112123
112124
112125
112126
112127
112128
112129
112130
112131
112132
112133
112134
112135
112136
112137
112138
112139
112140
112141
112142
112143
112144
112145
112146
112147
112148
112149
112150
112151
112152
112153
112154
112155
112156
112157
112158
112159
112160
112161
112162
112163
112164
112165
112166
112167
112168
112169
112170
112171
112172
112173
112174
112175
112176
112177
112178
112179
112180
112181
112182
112183
112184
112185
112186
112187
112188
112189
112190
112191
112192
112193
112194
112195
112196
112197
112198
112199
112200
112201
112202
112203
112204
112205
112206
112207
112208
112209
112210
112211
112212
112213
112214
112215
112216
112217
112218
112219
112220
112221
112222
112223
112224
112225
112226
112227
112228
112229
112230
112231
112232
112233
112234
112235
112236
112237
112238
112239
112240
112241
112242
112243
112244
112245
112246
112247
112248
112249
112250
112251
112252
112253
112254
112255
112256
112257
112258
112259
112260
112261
112262
112263
112264
112265
112266
112267
112268
112269
112270
112271
112272
112273
112274
112275
112276
112277
112278
112279
112280
112281
112282
112283
112284
112285
112286
112287
112288
112289
112290
112291
112292
112293
112294
112295
112296
112297
112298
112299
112300
112301
112302
112303
112304
112305
112306
112307
112308
112309
112310
112311
112312
112313
112314
112315
112316
112317
112318
112319
112320
112321
112322
112323
112324
112325
112326
112327
112328
112329
112330
112331
112332
112333
112334
112335
112336
112337
112338
112339
112340
112341
112342
112343
112344
112345
112346
112347
112348
112349
112350
112351
112352
112353
112354
112355
112356
112357
112358
112359
112360
112361
112362
112363
112364
112365
112366
112367
112368
112369
112370
112371
112372
112373
112374
112375
112376
112377
112378
112379
112380
112381
112382
112383
112384
112385
112386
112387
112388
112389
112390
112391
112392
112393
112394
112395
112396
112397
112398
112399
112400
112401
112402
112403
112404
112405
112406
112407
112408
112409
112410
112411
112412
112413
112414
112415
112416
112417
112418
112419
112420
112421
112422
112423
112424
112425
112426
112427
112428
112429
112430
112431
112432
112433
112434
112435
112436
112437
112438
112439
112440
112441
112442
112443
112444
112445
112446
112447
112448
112449
112450
112451
112452
112453
112454
112455
112456
112457
112458
112459
112460
112461
112462
112463
112464
112465
112466
112467
112468
112469
112470
112471
112472
112473
112474
112475
112476
112477
112478
112479
112480
112481
112482
112483
112484
112485
112486
112487
112488
112489
112490
112491
112492
112493
112494
112495
112496
112497
112498
112499
112500
112501
112502
112503
112504
112505
112506
112507
112508
112509
112510
112511
112512
112513
112514
112515
112516
112517
112518
112519
112520
112521
112522
112523
112524
112525
112526
112527
112528
112529
112530
112531
112532
112533
112534
112535
112536
112537
112538
112539
112540
112541
112542
112543
112544
112545
112546
112547
112548
112549
112550
112551
112552
112553
112554
112555
112556
112557
112558
112559
112560
112561
112562
112563
112564
112565
112566
112567
112568
112569
112570
112571
112572
112573
112574
112575
112576
112577
112578
112579
112580
112581
112582
112583
112584
112585
112586
112587
112588
112589
112590
112591
112592
112593
112594
112595
112596
112597
112598
112599
112600
112601
112602
112603
112604
112605
112606
112607
112608
112609
112610
112611
112612
112613
112614
112615
112616
112617
112618
112619
112620
112621
112622
112623
112624
112625
112626
112627
112628
112629
112630
112631
112632
112633
112634
112635
112636
112637
112638
112639
112640
112641
112642
112643
112644
112645
112646
112647
112648
112649
112650
112651
112652
112653
112654
112655
112656
112657
112658
112659
112660
112661
112662
112663
112664
112665
112666
112667
112668
112669
112670
112671
112672
112673
112674
112675
112676
112677
112678
112679
112680
112681
112682
112683
112684
112685
112686
112687
112688
112689
112690
112691
112692
112693
112694
112695
112696
112697
112698
112699
112700
112701
112702
112703
112704
112705
112706
112707
112708
112709
112710
112711
112712
112713
112714
112715
112716
112717
112718
112719
112720
112721
112722
112723
112724
112725
112726
112727
112728
112729
112730
112731
112732
112733
112734
112735
112736
112737
112738
112739
112740
112741
112742
112743
112744
112745
112746
112747
112748
112749
112750
112751
112752
112753
112754
112755
112756
112757
112758
112759
112760
112761
112762
112763
112764
112765
112766
112767
112768
112769
112770
112771
112772
112773
112774
112775
112776
112777
112778
112779
112780
112781
112782
112783
112784
112785
112786
112787
112788
112789
112790
112791
112792
112793
112794
112795
112796
112797
112798
112799
112800
112801
112802
112803
112804
112805
112806
112807
112808
112809
112810
112811
112812
112813
112814
112815
112816
112817
112818
112819
112820
112821
112822
112823
112824
112825
112826
112827
112828
112829
112830
112831
112832
112833
112834
112835
112836
112837
112838
112839
112840
112841
112842
112843
112844
112845
112846
112847
112848
112849
112850
112851
112852
112853
112854
112855
112856
112857
112858
112859
112860
112861
112862
112863
112864
112865
112866
112867
112868
112869
112870
112871
112872
112873
112874
112875
112876
112877
112878
112879
112880
112881
112882
112883
112884
112885
112886
112887
112888
112889
112890
112891
112892
112893
112894
112895
112896
112897
112898
112899
112900
112901
112902
112903
112904
112905
112906
112907
112908
112909
112910
112911
112912
112913
112914
112915
112916
112917
112918
112919
112920
112921
112922
112923
112924
112925
112926
112927
112928
112929
112930
112931
112932
112933
112934
112935
112936
112937
112938
112939
112940
112941
112942
112943
112944
112945
112946
112947
112948
112949
112950
112951
112952
112953
112954
112955
112956
112957
112958
112959
112960
112961
112962
112963
112964
112965
112966
112967
112968
112969
112970
112971
112972
112973
112974
112975
112976
112977
112978
112979
112980
112981
112982
112983
112984
112985
112986
112987
112988
112989
112990
112991
112992
112993
112994
112995
112996
112997
112998
112999
113000
113001
113002
113003
113004
113005
113006
113007
113008
113009
113010
113011
113012
113013
113014
113015
113016
113017
113018
113019
113020
113021
113022
113023
113024
113025
113026
113027
113028
113029
113030
113031
113032
113033
113034
113035
113036
113037
113038
113039
113040
113041
113042
113043
113044
113045
113046
113047
113048
113049
113050
113051
113052
113053
113054
113055
113056
113057
113058
113059
113060
113061
113062
113063
113064
113065
113066
113067
113068
113069
113070
113071
113072
113073
113074
113075
113076
113077
113078
113079
113080
113081
113082
113083
113084
113085
113086
113087
113088
113089
113090
113091
113092
113093
113094
113095
113096
113097
113098
113099
113100
113101
113102
113103
113104
113105
113106
113107
113108
113109
113110
113111
113112
113113
113114
113115
113116
113117
113118
113119
113120
113121
113122
113123
113124
113125
113126
113127
113128
113129
113130
113131
113132
113133
113134
113135
113136
113137
113138
113139
113140
113141
113142
113143
113144
113145
113146
113147
113148
113149
113150
113151
113152
113153
113154
113155
113156
113157
113158
113159
113160
113161
113162
113163
113164
113165
113166
113167
113168
113169
113170
113171
113172
113173
113174
113175
113176
113177
113178
113179
113180
113181
113182
113183
113184
113185
113186
113187
113188
113189
113190
113191
113192
113193
113194
113195
113196
113197
113198
113199
113200
113201
113202
113203
113204
113205
113206
113207
113208
113209
113210
113211
113212
113213
113214
113215
113216
113217
113218
113219
113220
113221
113222
113223
113224
113225
113226
113227
113228
113229
113230
113231
113232
113233
113234
113235
113236
113237
113238
113239
113240
113241
113242
113243
113244
113245
113246
113247
113248
113249
113250
113251
113252
113253
113254
113255
113256
113257
113258
113259
113260
113261
113262
113263
113264
113265
113266
113267
113268
113269
113270
113271
113272
113273
113274
113275
113276
113277
113278
113279
113280
113281
113282
113283
113284
113285
113286
113287
113288
113289
113290
113291
113292
113293
113294
113295
113296
113297
113298
113299
113300
113301
113302
113303
113304
113305
113306
113307
113308
113309
113310
113311
113312
113313
113314
113315
113316
113317
113318
113319
113320
113321
113322
113323
113324
113325
113326
113327
113328
113329
113330
113331
113332
113333
113334
113335
113336
113337
113338
113339
113340
113341
113342
113343
113344
113345
113346
113347
113348
113349
113350
113351
113352
113353
113354
113355
113356
113357
113358
113359
113360
113361
113362
113363
113364
113365
113366
113367
113368
113369
113370
113371
113372
113373
113374
113375
113376
113377
113378
113379
113380
113381
113382
113383
113384
113385
113386
113387
113388
113389
113390
113391
113392
113393
113394
113395
113396
113397
113398
113399
113400
113401
113402
113403
113404
113405
113406
113407
113408
113409
113410
113411
113412
113413
113414
113415
113416
113417
113418
113419
113420
113421
113422
113423
113424
113425
113426
113427
113428
113429
113430
113431
113432
113433
113434
113435
113436
113437
113438
113439
113440
113441
113442
113443
113444
113445
113446
113447
113448
113449
113450
113451
113452
113453
113454
113455
113456
113457
113458
113459
113460
113461
113462
113463
113464
113465
113466
113467
113468
113469
113470
113471
113472
113473
113474
113475
113476
113477
113478
113479
113480
113481
113482
113483
113484
113485
113486
113487
113488
113489
113490
113491
113492
113493
113494
113495
113496
113497
113498
113499
113500
113501
113502
113503
113504
113505
113506
113507
113508
113509
113510
113511
113512
113513
113514
113515
113516
113517
113518
113519
113520
113521
113522
113523
113524
113525
113526
113527
113528
113529
113530
113531
113532
113533
113534
113535
113536
113537
113538
113539
113540
113541
113542
113543
113544
113545
113546
113547
113548
113549
113550
113551
113552
113553
113554
113555
113556
113557
113558
113559
113560
113561
113562
113563
113564
113565
113566
113567
113568
113569
113570
113571
113572
113573
113574
113575
113576
113577
113578
113579
113580
113581
113582
113583
113584
113585
113586
113587
113588
113589
113590
113591
113592
113593
113594
113595
113596
113597
113598
113599
113600
113601
113602
113603
113604
113605
113606
113607
113608
113609
113610
113611
113612
113613
113614
113615
113616
113617
113618
113619
113620
113621
113622
113623
113624
113625
113626
113627
113628
113629
113630
113631
113632
113633
113634
113635
113636
113637
113638
113639
113640
113641
113642
113643
113644
113645
113646
113647
113648
113649
113650
113651
113652
113653
113654
113655
113656
113657
113658
113659
113660
113661
113662
113663
113664
113665
113666
113667
113668
113669
113670
113671
113672
113673
113674
113675
113676
113677
113678
113679
113680
113681
113682
113683
113684
113685
113686
113687
113688
113689
113690
113691
113692
113693
113694
113695
113696
113697
113698
113699
113700
113701
113702
113703
113704
113705
113706
113707
113708
113709
113710
113711
113712
113713
113714
113715
113716
113717
113718
113719
113720
113721
113722
113723
113724
113725
113726
113727
113728
113729
113730
113731
113732
113733
113734
113735
113736
113737
113738
113739
113740
113741
113742
113743
113744
113745
113746
113747
113748
113749
113750
113751
113752
113753
113754
113755
113756
113757
113758
113759
113760
113761
113762
113763
113764
113765
113766
113767
113768
113769
113770
113771
113772
113773
113774
113775
113776
113777
113778
113779
113780
113781
113782
113783
113784
113785
113786
113787
113788
113789
113790
113791
113792
113793
113794
113795
113796
113797
113798
113799
113800
113801
113802
113803
113804
113805
113806
113807
113808
113809
113810
113811
113812
113813
113814
113815
113816
113817
113818
113819
113820
113821
113822
113823
113824
113825
113826
113827
113828
113829
113830
113831
113832
113833
113834
113835
113836
113837
113838
113839
113840
113841
113842
113843
113844
113845
113846
113847
113848
113849
113850
113851
113852
113853
113854
113855
113856
113857
113858
113859
113860
113861
113862
113863
113864
113865
113866
113867
113868
113869
113870
113871
113872
113873
113874
113875
113876
113877
113878
113879
113880
113881
113882
113883
113884
113885
113886
113887
113888
113889
113890
113891
113892
113893
113894
113895
113896
113897
113898
113899
113900
113901
113902
113903
113904
113905
113906
113907
113908
113909
113910
113911
113912
113913
113914
113915
113916
113917
113918
113919
113920
113921
113922
113923
113924
113925
113926
113927
113928
113929
113930
113931
113932
113933
113934
113935
113936
113937
113938
113939
113940
113941
113942
113943
113944
113945
113946
113947
113948
113949
113950
113951
113952
113953
113954
113955
113956
113957
113958
113959
113960
113961
113962
113963
113964
113965
113966
113967
113968
113969
113970
113971
113972
113973
113974
113975
113976
113977
113978
113979
113980
113981
113982
113983
113984
113985
113986
113987
113988
113989
113990
113991
113992
113993
113994
113995
113996
113997
113998
113999
114000
114001
114002
114003
114004
114005
114006
114007
114008
114009
114010
114011
114012
114013
114014
114015
114016
114017
114018
114019
114020
114021
114022
114023
114024
114025
114026
114027
114028
114029
114030
114031
114032
114033
114034
114035
114036
114037
114038
114039
114040
114041
114042
114043
114044
114045
114046
114047
114048
114049
114050
114051
114052
114053
114054
114055
114056
114057
114058
114059
114060
114061
114062
114063
114064
114065
114066
114067
114068
114069
114070
114071
114072
114073
114074
114075
114076
114077
114078
114079
114080
114081
114082
114083
114084
114085
114086
114087
114088
114089
114090
114091
114092
114093
114094
114095
114096
114097
114098
114099
114100
114101
114102
114103
114104
114105
114106
114107
114108
114109
114110
114111
114112
114113
114114
114115
114116
114117
114118
114119
114120
114121
114122
114123
114124
114125
114126
114127
114128
114129
114130
114131
114132
114133
114134
114135
114136
114137
114138
114139
114140
114141
114142
114143
114144
114145
114146
114147
114148
114149
114150
114151
114152
114153
114154
114155
114156
114157
114158
114159
114160
114161
114162
114163
114164
114165
114166
114167
114168
114169
114170
114171
114172
114173
114174
114175
114176
114177
114178
114179
114180
114181
114182
114183
114184
114185
114186
114187
114188
114189
114190
114191
114192
114193
114194
114195
114196
114197
114198
114199
114200
114201
114202
114203
114204
114205
114206
114207
114208
114209
114210
114211
114212
114213
114214
114215
114216
114217
114218
114219
114220
114221
114222
114223
114224
114225
114226
114227
114228
114229
114230
114231
114232
114233
114234
114235
114236
114237
114238
114239
114240
114241
114242
114243
114244
114245
114246
114247
114248
114249
114250
114251
114252
114253
114254
114255
114256
114257
114258
114259
114260
114261
114262
114263
114264
114265
114266
114267
114268
114269
114270
114271
114272
114273
114274
114275
114276
114277
114278
114279
114280
114281
114282
114283
114284
114285
114286
114287
114288
114289
114290
114291
114292
114293
114294
114295
114296
114297
114298
114299
114300
114301
114302
114303
114304
114305
114306
114307
114308
114309
114310
114311
114312
114313
114314
114315
114316
114317
114318
114319
114320
114321
114322
114323
114324
114325
114326
114327
114328
114329
114330
114331
114332
114333
114334
114335
114336
114337
114338
114339
114340
114341
114342
114343
114344
114345
114346
114347
114348
114349
114350
114351
114352
114353
114354
114355
114356
114357
114358
114359
114360
114361
114362
114363
114364
114365
114366
114367
114368
114369
114370
114371
114372
114373
114374
114375
114376
114377
114378
114379
114380
114381
114382
114383
114384
114385
114386
114387
114388
114389
114390
114391
114392
114393
114394
114395
114396
114397
114398
114399
114400
114401
114402
114403
114404
114405
114406
114407
114408
114409
114410
114411
114412
114413
114414
114415
114416
114417
114418
114419
114420
114421
114422
114423
114424
114425
114426
114427
114428
114429
114430
114431
114432
114433
114434
114435
114436
114437
114438
114439
114440
114441
114442
114443
114444
114445
114446
114447
114448
114449
114450
114451
114452
114453
114454
114455
114456
114457
114458
114459
114460
114461
114462
114463
114464
114465
114466
114467
114468
114469
114470
114471
114472
114473
114474
114475
114476
114477
114478
114479
114480
114481
114482
114483
114484
114485
114486
114487
114488
114489
114490
114491
114492
114493
114494
114495
114496
114497
114498
114499
114500
114501
114502
114503
114504
114505
114506
114507
114508
114509
114510
114511
114512
114513
114514
114515
114516
114517
114518
114519
114520
114521
114522
114523
114524
114525
114526
114527
114528
114529
114530
114531
114532
114533
114534
114535
114536
114537
114538
114539
114540
114541
114542
114543
114544
114545
114546
114547
114548
114549
114550
114551
114552
114553
114554
114555
114556
114557
114558
114559
114560
114561
114562
114563
114564
114565
114566
114567
114568
114569
114570
114571
114572
114573
114574
114575
114576
114577
114578
114579
114580
114581
114582
114583
114584
114585
114586
114587
114588
114589
114590
114591
114592
114593
114594
114595
114596
114597
114598
114599
114600
114601
114602
114603
114604
114605
114606
114607
114608
114609
114610
114611
114612
114613
114614
114615
114616
114617
114618
114619
114620
114621
114622
114623
114624
114625
114626
114627
114628
114629
114630
114631
114632
114633
114634
114635
114636
114637
114638
114639
114640
114641
114642
114643
114644
114645
114646
114647
114648
114649
114650
114651
114652
114653
114654
114655
114656
114657
114658
114659
114660
114661
114662
114663
114664
114665
114666
114667
114668
114669
114670
114671
114672
114673
114674
114675
114676
114677
114678
114679
114680
114681
114682
114683
114684
114685
114686
114687
114688
114689
114690
114691
114692
114693
114694
114695
114696
114697
114698
114699
114700
114701
114702
114703
114704
114705
114706
114707
114708
114709
114710
114711
114712
114713
114714
114715
114716
114717
114718
114719
114720
114721
114722
114723
114724
114725
114726
114727
114728
114729
114730
114731
114732
114733
114734
114735
114736
114737
114738
114739
114740
114741
114742
114743
114744
114745
114746
114747
114748
114749
114750
114751
114752
114753
114754
114755
114756
114757
114758
114759
114760
114761
114762
114763
114764
114765
114766
114767
114768
114769
114770
114771
114772
114773
114774
114775
114776
114777
114778
114779
114780
114781
114782
114783
114784
114785
114786
114787
114788
114789
114790
114791
114792
114793
114794
114795
114796
114797
114798
114799
114800
114801
114802
114803
114804
114805
114806
114807
114808
114809
114810
114811
114812
114813
114814
114815
114816
114817
114818
114819
114820
114821
114822
114823
114824
114825
114826
114827
114828
114829
114830
114831
114832
114833
114834
114835
114836
114837
114838
114839
114840
114841
114842
114843
114844
114845
114846
114847
114848
114849
114850
114851
114852
114853
114854
114855
114856
114857
114858
114859
114860
114861
114862
114863
114864
114865
114866
114867
114868
114869
114870
114871
114872
114873
114874
114875
114876
114877
114878
114879
114880
114881
114882
114883
114884
114885
114886
114887
114888
114889
114890
114891
114892
114893
114894
114895
114896
114897
114898
114899
114900
114901
114902
114903
114904
114905
114906
114907
114908
114909
114910
114911
114912
114913
114914
114915
114916
114917
114918
114919
114920
114921
114922
114923
114924
114925
114926
114927
114928
114929
114930
114931
114932
114933
114934
114935
114936
114937
114938
114939
114940
114941
114942
114943
114944
114945
114946
114947
114948
114949
114950
114951
114952
114953
114954
114955
114956
114957
114958
114959
114960
114961
114962
114963
114964
114965
114966
114967
114968
114969
114970
114971
114972
114973
114974
114975
114976
114977
114978
114979
114980
114981
114982
114983
114984
114985
114986
114987
114988
114989
114990
114991
114992
114993
114994
114995
114996
114997
114998
114999
115000
115001
115002
115003
115004
115005
115006
115007
115008
115009
115010
115011
115012
115013
115014
115015
115016
115017
115018
115019
115020
115021
115022
115023
115024
115025
115026
115027
115028
115029
115030
115031
115032
115033
115034
115035
115036
115037
115038
115039
115040
115041
115042
115043
115044
115045
115046
115047
115048
115049
115050
115051
115052
115053
115054
115055
115056
115057
115058
115059
115060
115061
115062
115063
115064
115065
115066
115067
115068
115069
115070
115071
115072
115073
115074
115075
115076
115077
115078
115079
115080
115081
115082
115083
115084
115085
115086
115087
115088
115089
115090
115091
115092
115093
115094
115095
115096
115097
115098
115099
115100
115101
115102
115103
115104
115105
115106
115107
115108
115109
115110
115111
115112
115113
115114
115115
115116
115117
115118
115119
115120
115121
115122
115123
115124
115125
115126
115127
115128
115129
115130
115131
115132
115133
115134
115135
115136
115137
115138
115139
115140
115141
115142
115143
115144
115145
115146
115147
115148
115149
115150
115151
115152
115153
115154
115155
115156
115157
115158
115159
115160
115161
115162
115163
115164
115165
115166
115167
115168
115169
115170
115171
115172
115173
115174
115175
115176
115177
115178
115179
115180
115181
115182
115183
115184
115185
115186
115187
115188
115189
115190
115191
115192
115193
115194
115195
115196
115197
115198
115199
115200
115201
115202
115203
115204
115205
115206
115207
115208
115209
115210
115211
115212
115213
115214
115215
115216
115217
115218
115219
115220
115221
115222
115223
115224
115225
115226
115227
115228
115229
115230
115231
115232
115233
115234
115235
115236
115237
115238
115239
115240
115241
115242
115243
115244
115245
115246
115247
115248
115249
115250
115251
115252
115253
115254
115255
115256
115257
115258
115259
115260
115261
115262
115263
115264
115265
115266
115267
115268
115269
115270
115271
115272
115273
115274
115275
115276
115277
115278
115279
115280
115281
115282
115283
115284
115285
115286
115287
115288
115289
115290
115291
115292
115293
115294
115295
115296
115297
115298
115299
115300
115301
115302
115303
115304
115305
115306
115307
115308
115309
115310
115311
115312
115313
115314
115315
115316
115317
115318
115319
115320
115321
115322
115323
115324
115325
115326
115327
115328
115329
115330
115331
115332
115333
115334
115335
115336
115337
115338
115339
115340
115341
115342
115343
115344
115345
115346
115347
115348
115349
115350
115351
115352
115353
115354
115355
115356
115357
115358
115359
115360
115361
115362
115363
115364
115365
115366
115367
115368
115369
115370
115371
115372
115373
115374
115375
115376
115377
115378
115379
115380
115381
115382
115383
115384
115385
115386
115387
115388
115389
115390
115391
115392
115393
115394
115395
115396
115397
115398
115399
115400
115401
115402
115403
115404
115405
115406
115407
115408
115409
115410
115411
115412
115413
115414
115415
115416
115417
115418
115419
115420
115421
115422
115423
115424
115425
115426
115427
115428
115429
115430
115431
115432
115433
115434
115435
115436
115437
115438
115439
115440
115441
115442
115443
115444
115445
115446
115447
115448
115449
115450
115451
115452
115453
115454
115455
115456
115457
115458
115459
115460
115461
115462
115463
115464
115465
115466
115467
115468
115469
115470
115471
115472
115473
115474
115475
115476
115477
115478
115479
115480
115481
115482
115483
115484
115485
115486
115487
115488
115489
115490
115491
115492
115493
115494
115495
115496
115497
115498
115499
115500
115501
115502
115503
115504
115505
115506
115507
115508
115509
115510
115511
115512
115513
115514
115515
115516
115517
115518
115519
115520
115521
115522
115523
115524
115525
115526
115527
115528
115529
115530
115531
115532
115533
115534
115535
115536
115537
115538
115539
115540
115541
115542
115543
115544
115545
115546
115547
115548
115549
115550
115551
115552
115553
115554
115555
115556
115557
115558
115559
115560
115561
115562
115563
115564
115565
115566
115567
115568
115569
115570
115571
115572
115573
115574
115575
115576
115577
115578
115579
115580
115581
115582
115583
115584
115585
115586
115587
115588
115589
115590
115591
115592
115593
115594
115595
115596
115597
115598
115599
115600
115601
115602
115603
115604
115605
115606
115607
115608
115609
115610
115611
115612
115613
115614
115615
115616
115617
115618
115619
115620
115621
115622
115623
115624
115625
115626
115627
115628
115629
115630
115631
115632
115633
115634
115635
115636
115637
115638
115639
115640
115641
115642
115643
115644
115645
115646
115647
115648
115649
115650
115651
115652
115653
115654
115655
115656
115657
115658
115659
115660
115661
115662
115663
115664
115665
115666
115667
115668
115669
115670
115671
115672
115673
115674
115675
115676
115677
115678
115679
115680
115681
115682
115683
115684
115685
115686
115687
115688
115689
115690
115691
115692
115693
115694
115695
115696
115697
115698
115699
115700
115701
115702
115703
115704
115705
115706
115707
115708
115709
115710
115711
115712
115713
115714
115715
115716
115717
115718
115719
115720
115721
115722
115723
115724
115725
115726
115727
115728
115729
115730
115731
115732
115733
115734
115735
115736
115737
115738
115739
115740
115741
115742
115743
115744
115745
115746
115747
115748
115749
115750
115751
115752
115753
115754
115755
115756
115757
115758
115759
115760
115761
115762
115763
115764
115765
115766
115767
115768
115769
115770
115771
115772
115773
115774
115775
115776
115777
115778
115779
115780
115781
115782
115783
115784
115785
115786
115787
115788
115789
115790
115791
115792
115793
115794
115795
115796
115797
115798
115799
115800
115801
115802
115803
115804
115805
115806
115807
115808
115809
115810
115811
115812
115813
115814
115815
115816
115817
115818
115819
115820
115821
115822
115823
115824
115825
115826
115827
115828
115829
115830
115831
115832
115833
115834
115835
115836
115837
115838
115839
115840
115841
115842
115843
115844
115845
115846
115847
115848
115849
115850
115851
115852
115853
115854
115855
115856
115857
115858
115859
115860
115861
115862
115863
115864
115865
115866
115867
115868
115869
115870
115871
115872
115873
115874
115875
115876
115877
115878
115879
115880
115881
115882
115883
115884
115885
115886
115887
115888
115889
115890
115891
115892
115893
115894
115895
115896
115897
115898
115899
115900
115901
115902
115903
115904
115905
115906
115907
115908
115909
115910
115911
115912
115913
115914
115915
115916
115917
115918
115919
115920
115921
115922
115923
115924
115925
115926
115927
115928
115929
115930
115931
115932
115933
115934
115935
115936
115937
115938
115939
115940
115941
115942
115943
115944
115945
115946
115947
115948
115949
115950
115951
115952
115953
115954
115955
115956
115957
115958
115959
115960
115961
115962
115963
115964
115965
115966
115967
115968
115969
115970
115971
115972
115973
115974
115975
115976
115977
115978
115979
115980
115981
115982
115983
115984
115985
115986
115987
115988
115989
115990
115991
115992
115993
115994
115995
115996
115997
115998
115999
116000
116001
116002
116003
116004
116005
116006
116007
116008
116009
116010
116011
116012
116013
116014
116015
116016
116017
116018
116019
116020
116021
116022
116023
116024
116025
116026
116027
116028
116029
116030
116031
116032
116033
116034
116035
116036
116037
116038
116039
116040
116041
116042
116043
116044
116045
116046
116047
116048
116049
116050
116051
116052
116053
116054
116055
116056
116057
116058
116059
116060
116061
116062
116063
116064
116065
116066
116067
116068
116069
116070
116071
116072
116073
116074
116075
116076
116077
116078
116079
116080
116081
116082
116083
116084
116085
116086
116087
116088
116089
116090
116091
116092
116093
116094
116095
116096
116097
116098
116099
116100
116101
116102
116103
116104
116105
116106
116107
116108
116109
116110
116111
116112
116113
116114
116115
116116
116117
116118
116119
116120
116121
116122
116123
116124
116125
116126
116127
116128
116129
116130
116131
116132
116133
116134
116135
116136
116137
116138
116139
116140
116141
116142
116143
116144
116145
116146
116147
116148
116149
116150
116151
116152
116153
116154
116155
116156
116157
116158
116159
116160
116161
116162
116163
116164
116165
116166
116167
116168
116169
116170
116171
116172
116173
116174
116175
116176
116177
116178
116179
116180
116181
116182
116183
116184
116185
116186
116187
116188
116189
116190
116191
116192
116193
116194
116195
116196
116197
116198
116199
116200
116201
116202
116203
116204
116205
116206
116207
116208
116209
116210
116211
116212
116213
116214
116215
116216
116217
116218
116219
116220
116221
116222
116223
116224
116225
116226
116227
116228
116229
116230
116231
116232
116233
116234
116235
116236
116237
116238
116239
116240
116241
116242
116243
116244
116245
116246
116247
116248
116249
116250
116251
116252
116253
116254
116255
116256
116257
116258
116259
116260
116261
116262
116263
116264
116265
116266
116267
116268
116269
116270
116271
116272
116273
116274
116275
116276
116277
116278
116279
116280
116281
116282
116283
116284
116285
116286
116287
116288
116289
116290
116291
116292
116293
116294
116295
116296
116297
116298
116299
116300
116301
116302
116303
116304
116305
116306
116307
116308
116309
116310
116311
116312
116313
116314
116315
116316
116317
116318
116319
116320
116321
116322
116323
116324
116325
116326
116327
116328
116329
116330
116331
116332
116333
116334
116335
116336
116337
116338
116339
116340
116341
116342
116343
116344
116345
116346
116347
116348
116349
116350
116351
116352
116353
116354
116355
116356
116357
116358
116359
116360
116361
116362
116363
116364
116365
116366
116367
116368
116369
116370
116371
116372
116373
116374
116375
116376
116377
116378
116379
116380
116381
116382
116383
116384
116385
116386
116387
116388
116389
116390
116391
116392
116393
116394
116395
116396
116397
116398
116399
116400
116401
116402
116403
116404
116405
116406
116407
116408
116409
116410
116411
116412
116413
116414
116415
116416
116417
116418
116419
116420
116421
116422
116423
116424
116425
116426
116427
116428
116429
116430
116431
116432
116433
116434
116435
116436
116437
116438
116439
116440
116441
116442
116443
116444
116445
116446
116447
116448
116449
116450
116451
116452
116453
116454
116455
116456
116457
116458
116459
116460
116461
116462
116463
116464
116465
116466
116467
116468
116469
116470
116471
116472
116473
116474
116475
116476
116477
116478
116479
116480
116481
116482
116483
116484
116485
116486
116487
116488
116489
116490
116491
116492
116493
116494
116495
116496
116497
116498
116499
116500
116501
116502
116503
116504
116505
116506
116507
116508
116509
116510
116511
116512
116513
116514
116515
116516
116517
116518
116519
116520
116521
116522
116523
116524
116525
116526
116527
116528
116529
116530
116531
116532
116533
116534
116535
116536
116537
116538
116539
116540
116541
116542
116543
116544
116545
116546
116547
116548
116549
116550
116551
116552
116553
116554
116555
116556
116557
116558
116559
116560
116561
116562
116563
116564
116565
116566
116567
116568
116569
116570
116571
116572
116573
116574
116575
116576
116577
116578
116579
116580
116581
116582
116583
116584
116585
116586
116587
116588
116589
116590
116591
116592
116593
116594
116595
116596
116597
116598
116599
116600
116601
116602
116603
116604
116605
116606
116607
116608
116609
116610
116611
116612
116613
116614
116615
116616
116617
116618
116619
116620
116621
116622
116623
116624
116625
116626
116627
116628
116629
116630
116631
116632
116633
116634
116635
116636
116637
116638
116639
116640
116641
116642
116643
116644
116645
116646
116647
116648
116649
116650
116651
116652
116653
116654
116655
116656
116657
116658
116659
116660
116661
116662
116663
116664
116665
116666
116667
116668
116669
116670
116671
116672
116673
116674
116675
116676
116677
116678
116679
116680
116681
116682
116683
116684
116685
116686
116687
116688
116689
116690
116691
116692
116693
116694
116695
116696
116697
116698
116699
116700
116701
116702
116703
116704
116705
116706
116707
116708
116709
116710
116711
116712
116713
116714
116715
116716
116717
116718
116719
116720
116721
116722
116723
116724
116725
116726
116727
116728
116729
116730
116731
116732
116733
116734
116735
116736
116737
116738
116739
116740
116741
116742
116743
116744
116745
116746
116747
116748
116749
116750
116751
116752
116753
116754
116755
116756
116757
116758
116759
116760
116761
116762
116763
116764
116765
116766
116767
116768
116769
116770
116771
116772
116773
116774
116775
116776
116777
116778
116779
116780
116781
116782
116783
116784
116785
116786
116787
116788
116789
116790
116791
116792
116793
116794
116795
116796
116797
116798
116799
116800
116801
116802
116803
116804
116805
116806
116807
116808
116809
116810
116811
116812
116813
116814
116815
116816
116817
116818
116819
116820
116821
116822
116823
116824
116825
116826
116827
116828
116829
116830
116831
116832
116833
116834
116835
116836
116837
116838
116839
116840
116841
116842
116843
116844
116845
116846
116847
116848
116849
116850
116851
116852
116853
116854
116855
116856
116857
116858
116859
116860
116861
116862
116863
116864
116865
116866
116867
116868
116869
116870
116871
116872
116873
116874
116875
116876
116877
116878
116879
116880
116881
116882
116883
116884
116885
116886
116887
116888
116889
116890
116891
116892
116893
116894
116895
116896
116897
116898
116899
116900
116901
116902
116903
116904
116905
116906
116907
116908
116909
116910
116911
116912
116913
116914
116915
116916
116917
116918
116919
116920
116921
116922
116923
116924
116925
116926
116927
116928
116929
116930
116931
116932
116933
116934
116935
116936
116937
116938
116939
116940
116941
116942
116943
116944
116945
116946
116947
116948
116949
116950
116951
116952
116953
116954
116955
116956
116957
116958
116959
116960
116961
116962
116963
116964
116965
116966
116967
116968
116969
116970
116971
116972
116973
116974
116975
116976
116977
116978
116979
116980
116981
116982
116983
116984
116985
116986
116987
116988
116989
116990
116991
116992
116993
116994
116995
116996
116997
116998
116999
117000
117001
117002
117003
117004
117005
117006
117007
117008
117009
117010
117011
117012
117013
117014
117015
117016
117017
117018
117019
117020
117021
117022
117023
117024
117025
117026
117027
117028
117029
117030
117031
117032
117033
117034
117035
117036
117037
117038
117039
117040
117041
117042
117043
117044
117045
117046
117047
117048
117049
117050
117051
117052
117053
117054
117055
117056
117057
117058
117059
117060
117061
117062
117063
117064
117065
117066
117067
117068
117069
117070
117071
117072
117073
117074
117075
117076
117077
117078
117079
117080
117081
117082
117083
117084
117085
117086
117087
117088
117089
117090
117091
117092
117093
117094
117095
117096
117097
117098
117099
117100
117101
117102
117103
117104
117105
117106
117107
117108
117109
117110
117111
117112
117113
117114
117115
117116
117117
117118
117119
117120
117121
117122
117123
117124
117125
117126
117127
117128
117129
117130
117131
117132
117133
117134
117135
117136
117137
117138
117139
117140
117141
117142
117143
117144
117145
117146
117147
117148
117149
117150
117151
117152
117153
117154
117155
117156
117157
117158
117159
117160
117161
117162
117163
117164
117165
117166
117167
117168
117169
117170
117171
117172
117173
117174
117175
117176
117177
117178
117179
117180
117181
117182
117183
117184
117185
117186
117187
117188
117189
117190
117191
117192
117193
117194
117195
117196
117197
117198
117199
117200
117201
117202
117203
117204
117205
117206
117207
117208
117209
117210
117211
117212
117213
117214
117215
117216
117217
117218
117219
117220
117221
117222
117223
117224
117225
117226
117227
117228
117229
117230
117231
117232
117233
117234
117235
117236
117237
117238
117239
117240
117241
117242
117243
117244
117245
117246
117247
117248
117249
117250
117251
117252
117253
117254
117255
117256
117257
117258
117259
117260
117261
117262
117263
117264
117265
117266
117267
117268
117269
117270
117271
117272
117273
117274
117275
117276
117277
117278
117279
117280
117281
117282
117283
117284
117285
117286
117287
117288
117289
117290
117291
117292
117293
117294
117295
117296
117297
117298
117299
117300
117301
117302
117303
117304
117305
117306
117307
117308
117309
117310
117311
117312
117313
117314
117315
117316
117317
117318
117319
117320
117321
117322
117323
117324
117325
117326
117327
117328
117329
117330
117331
117332
117333
117334
117335
117336
117337
117338
117339
117340
117341
117342
117343
117344
117345
117346
117347
117348
117349
117350
117351
117352
117353
117354
117355
117356
117357
117358
117359
117360
117361
117362
117363
117364
117365
117366
117367
117368
117369
117370
117371
117372
117373
117374
117375
117376
117377
117378
117379
117380
117381
117382
117383
117384
117385
117386
117387
117388
117389
117390
117391
117392
117393
117394
117395
117396
117397
117398
117399
117400
117401
117402
117403
117404
117405
117406
117407
117408
117409
117410
117411
117412
117413
117414
117415
117416
117417
117418
117419
117420
117421
117422
117423
117424
117425
117426
117427
117428
117429
117430
117431
117432
117433
117434
117435
117436
117437
117438
117439
117440
117441
117442
117443
117444
117445
117446
117447
117448
117449
117450
117451
117452
117453
117454
117455
117456
117457
117458
117459
117460
117461
117462
117463
117464
117465
117466
117467
117468
117469
117470
117471
117472
117473
117474
117475
117476
117477
117478
117479
117480
117481
117482
117483
117484
117485
117486
117487
117488
117489
117490
117491
117492
117493
117494
117495
117496
117497
117498
117499
117500
117501
117502
117503
117504
117505
117506
117507
117508
117509
117510
117511
117512
117513
117514
117515
117516
117517
117518
117519
117520
117521
117522
117523
117524
117525
117526
117527
117528
117529
117530
117531
117532
117533
117534
117535
117536
117537
117538
117539
117540
117541
117542
117543
117544
117545
117546
117547
117548
117549
117550
117551
117552
117553
117554
117555
117556
117557
117558
117559
117560
117561
117562
117563
117564
117565
117566
117567
117568
117569
117570
117571
117572
117573
117574
117575
117576
117577
117578
117579
117580
117581
117582
117583
117584
117585
117586
117587
117588
117589
117590
117591
117592
117593
117594
117595
117596
117597
117598
117599
117600
117601
117602
117603
117604
117605
117606
117607
117608
117609
117610
117611
117612
117613
117614
117615
117616
117617
117618
117619
117620
117621
117622
117623
117624
117625
117626
117627
117628
117629
117630
117631
117632
117633
117634
117635
117636
117637
117638
117639
117640
117641
117642
117643
117644
117645
117646
117647
117648
117649
117650
117651
117652
117653
117654
117655
117656
117657
117658
117659
117660
117661
117662
117663
117664
117665
117666
117667
117668
117669
117670
117671
117672
117673
117674
117675
117676
117677
117678
117679
117680
117681
117682
117683
117684
117685
117686
117687
117688
117689
117690
117691
117692
117693
117694
117695
117696
117697
117698
117699
117700
117701
117702
117703
117704
117705
117706
117707
117708
117709
117710
117711
117712
117713
117714
117715
117716
117717
117718
117719
117720
117721
117722
117723
117724
117725
117726
117727
117728
117729
117730
117731
117732
117733
117734
117735
117736
117737
117738
117739
117740
117741
117742
117743
117744
117745
117746
117747
117748
117749
117750
117751
117752
117753
117754
117755
117756
117757
117758
117759
117760
117761
117762
117763
117764
117765
117766
117767
117768
117769
117770
117771
117772
117773
117774
117775
117776
117777
117778
117779
117780
117781
117782
117783
117784
117785
117786
117787
117788
117789
117790
117791
117792
117793
117794
117795
117796
117797
117798
117799
117800
117801
117802
117803
117804
117805
117806
117807
117808
117809
117810
117811
117812
117813
117814
117815
117816
117817
117818
117819
117820
117821
117822
117823
117824
117825
117826
117827
117828
117829
117830
117831
117832
117833
117834
117835
117836
117837
117838
117839
117840
117841
117842
117843
117844
117845
117846
117847
117848
117849
117850
117851
117852
117853
117854
117855
117856
117857
117858
117859
117860
117861
117862
117863
117864
117865
117866
117867
117868
117869
117870
117871
117872
117873
117874
117875
117876
117877
117878
117879
117880
117881
117882
117883
117884
117885
117886
117887
117888
117889
117890
117891
117892
117893
117894
117895
117896
117897
117898
117899
117900
117901
117902
117903
117904
117905
117906
117907
117908
117909
117910
117911
117912
117913
117914
117915
117916
117917
117918
117919
117920
117921
117922
117923
117924
117925
117926
117927
117928
117929
117930
117931
117932
117933
117934
117935
117936
117937
117938
117939
117940
117941
117942
117943
117944
117945
117946
117947
117948
117949
117950
117951
117952
117953
117954
117955
117956
117957
117958
117959
117960
117961
117962
117963
117964
117965
117966
117967
117968
117969
117970
117971
117972
117973
117974
117975
117976
117977
117978
117979
117980
117981
117982
117983
117984
117985
117986
117987
117988
117989
117990
117991
117992
117993
117994
117995
117996
117997
117998
117999
118000
118001
118002
118003
118004
118005
118006
118007
118008
118009
118010
118011
118012
118013
118014
118015
118016
118017
118018
118019
118020
118021
118022
118023
118024
118025
118026
118027
118028
118029
118030
118031
118032
118033
118034
118035
118036
118037
118038
118039
118040
118041
118042
118043
118044
118045
118046
118047
118048
118049
118050
118051
118052
118053
118054
118055
118056
118057
118058
118059
118060
118061
118062
118063
118064
118065
118066
118067
118068
118069
118070
118071
118072
118073
118074
118075
118076
118077
118078
118079
118080
118081
118082
118083
118084
118085
118086
118087
118088
118089
118090
118091
118092
118093
118094
118095
118096
118097
118098
118099
118100
118101
118102
118103
118104
118105
118106
118107
118108
118109
118110
118111
118112
118113
118114
118115
118116
118117
118118
118119
118120
118121
118122
118123
118124
118125
118126
118127
118128
118129
118130
118131
118132
118133
118134
118135
118136
118137
118138
118139
118140
118141
118142
118143
118144
118145
118146
118147
118148
118149
118150
118151
118152
118153
118154
118155
118156
118157
118158
118159
118160
118161
118162
118163
118164
118165
118166
118167
118168
118169
118170
118171
118172
118173
118174
118175
118176
118177
118178
118179
118180
118181
118182
118183
118184
118185
118186
118187
118188
118189
118190
118191
118192
118193
118194
118195
118196
118197
118198
118199
118200
118201
118202
118203
118204
118205
118206
118207
118208
118209
118210
118211
118212
118213
118214
118215
118216
118217
118218
118219
118220
118221
118222
118223
118224
118225
118226
118227
118228
118229
118230
118231
118232
118233
118234
118235
118236
118237
118238
118239
118240
118241
118242
118243
118244
118245
118246
118247
118248
118249
118250
118251
118252
118253
118254
118255
118256
118257
118258
118259
118260
118261
118262
118263
118264
118265
118266
118267
118268
118269
118270
118271
118272
118273
118274
118275
118276
118277
118278
118279
118280
118281
118282
118283
118284
118285
118286
118287
118288
118289
118290
118291
118292
118293
118294
118295
118296
118297
118298
118299
118300
118301
118302
118303
118304
118305
118306
118307
118308
118309
118310
118311
118312
118313
118314
118315
118316
118317
118318
118319
118320
118321
118322
118323
118324
118325
118326
118327
118328
118329
118330
118331
118332
118333
118334
118335
118336
118337
118338
118339
118340
118341
118342
118343
118344
118345
118346
118347
118348
118349
118350
118351
118352
118353
118354
118355
118356
118357
118358
118359
118360
118361
118362
118363
118364
118365
118366
118367
118368
118369
118370
118371
118372
118373
118374
118375
118376
118377
118378
118379
118380
118381
118382
118383
118384
118385
118386
118387
118388
118389
118390
118391
118392
118393
118394
118395
118396
118397
118398
118399
118400
118401
118402
118403
118404
118405
118406
118407
118408
118409
118410
118411
118412
118413
118414
118415
118416
118417
118418
118419
118420
118421
118422
118423
118424
118425
118426
118427
118428
118429
118430
118431
118432
118433
118434
118435
118436
118437
118438
118439
118440
118441
118442
118443
118444
118445
118446
118447
118448
118449
118450
118451
118452
118453
118454
118455
118456
118457
118458
118459
118460
118461
118462
118463
118464
118465
118466
118467
118468
118469
118470
118471
118472
118473
118474
118475
118476
118477
118478
118479
118480
118481
118482
118483
118484
118485
118486
118487
118488
118489
118490
118491
118492
118493
118494
118495
118496
118497
118498
118499
118500
118501
118502
118503
118504
118505
118506
118507
118508
118509
118510
118511
118512
118513
118514
118515
118516
118517
118518
118519
118520
118521
118522
118523
118524
118525
118526
118527
118528
118529
118530
118531
118532
118533
118534
118535
118536
118537
118538
118539
118540
118541
118542
118543
118544
118545
118546
118547
118548
118549
118550
118551
118552
118553
118554
118555
118556
118557
118558
118559
118560
118561
118562
118563
118564
118565
118566
118567
118568
118569
118570
118571
118572
118573
118574
118575
118576
118577
118578
118579
118580
118581
118582
118583
118584
118585
118586
118587
118588
118589
118590
118591
118592
118593
118594
118595
118596
118597
118598
118599
118600
118601
118602
118603
118604
118605
118606
118607
118608
118609
118610
118611
118612
118613
118614
118615
118616
118617
118618
118619
118620
118621
118622
118623
118624
118625
118626
118627
118628
118629
118630
118631
118632
118633
118634
118635
118636
118637
118638
118639
118640
118641
118642
118643
118644
118645
118646
118647
118648
118649
118650
118651
118652
118653
118654
118655
118656
118657
118658
118659
118660
118661
118662
118663
118664
118665
118666
118667
118668
118669
118670
118671
118672
118673
118674
118675
118676
118677
118678
118679
118680
118681
118682
118683
118684
118685
118686
118687
118688
118689
118690
118691
118692
118693
118694
118695
118696
118697
118698
118699
118700
118701
118702
118703
118704
118705
118706
118707
118708
118709
118710
118711
118712
118713
118714
118715
118716
118717
118718
118719
118720
118721
118722
118723
118724
118725
118726
118727
118728
118729
118730
118731
118732
118733
118734
118735
118736
118737
118738
118739
118740
118741
118742
118743
118744
118745
118746
118747
118748
118749
118750
118751
118752
118753
118754
118755
118756
118757
118758
118759
118760
118761
118762
118763
118764
118765
118766
118767
118768
118769
118770
118771
118772
118773
118774
118775
118776
118777
118778
118779
118780
118781
118782
118783
118784
118785
118786
118787
118788
118789
118790
118791
118792
118793
118794
118795
118796
118797
118798
118799
118800
118801
118802
118803
118804
118805
118806
118807
118808
118809
118810
118811
118812
118813
118814
118815
118816
118817
118818
118819
118820
118821
118822
118823
118824
118825
118826
118827
118828
118829
118830
118831
118832
118833
118834
118835
118836
118837
118838
118839
118840
118841
118842
118843
118844
118845
118846
118847
118848
118849
118850
118851
118852
118853
118854
118855
118856
118857
118858
118859
118860
118861
118862
118863
118864
118865
118866
118867
118868
118869
118870
118871
118872
118873
118874
118875
118876
118877
118878
118879
118880
118881
118882
118883
118884
118885
118886
118887
118888
118889
118890
118891
118892
118893
118894
118895
118896
118897
118898
118899
118900
118901
118902
118903
118904
118905
118906
118907
118908
118909
118910
118911
118912
118913
118914
118915
118916
118917
118918
118919
118920
118921
118922
118923
118924
118925
118926
118927
118928
118929
118930
118931
118932
118933
118934
118935
118936
118937
118938
118939
118940
118941
118942
118943
118944
118945
118946
118947
118948
118949
118950
118951
118952
118953
118954
118955
118956
118957
118958
118959
118960
118961
118962
118963
118964
118965
118966
118967
118968
118969
118970
118971
118972
118973
118974
118975
118976
118977
118978
118979
118980
118981
118982
118983
118984
118985
118986
118987
118988
118989
118990
118991
118992
118993
118994
118995
118996
118997
118998
118999
119000
119001
119002
119003
119004
119005
119006
119007
119008
119009
119010
119011
119012
119013
119014
119015
119016
119017
119018
119019
119020
119021
119022
119023
119024
119025
119026
119027
119028
119029
119030
119031
119032
119033
119034
119035
119036
119037
119038
119039
119040
119041
119042
119043
119044
119045
119046
119047
119048
119049
119050
119051
119052
119053
119054
119055
119056
119057
119058
119059
119060
119061
119062
119063
119064
119065
119066
119067
119068
119069
119070
119071
119072
119073
119074
119075
119076
119077
119078
119079
119080
119081
119082
119083
119084
119085
119086
119087
119088
119089
119090
119091
119092
119093
119094
119095
119096
119097
119098
119099
119100
119101
119102
119103
119104
119105
119106
119107
119108
119109
119110
119111
119112
119113
119114
119115
119116
119117
119118
119119
119120
119121
119122
119123
119124
119125
119126
119127
119128
119129
119130
119131
119132
119133
119134
119135
119136
119137
119138
119139
119140
119141
119142
119143
119144
119145
119146
119147
119148
119149
119150
119151
119152
119153
119154
119155
119156
119157
119158
119159
119160
119161
119162
119163
119164
119165
119166
119167
119168
119169
119170
119171
119172
119173
119174
119175
119176
119177
119178
119179
119180
119181
119182
119183
119184
119185
119186
119187
119188
119189
119190
119191
119192
119193
119194
119195
119196
119197
119198
119199
119200
119201
119202
119203
119204
119205
119206
119207
119208
119209
119210
119211
119212
119213
119214
119215
119216
119217
119218
119219
119220
119221
119222
119223
119224
119225
119226
119227
119228
119229
119230
119231
119232
119233
119234
119235
119236
119237
119238
119239
119240
119241
119242
119243
119244
119245
119246
119247
119248
119249
119250
119251
119252
119253
119254
119255
119256
119257
119258
119259
119260
119261
119262
119263
119264
119265
119266
119267
119268
119269
119270
119271
119272
119273
119274
119275
119276
119277
119278
119279
119280
119281
119282
119283
119284
119285
119286
119287
119288
119289
119290
119291
119292
119293
119294
119295
119296
119297
119298
119299
119300
119301
119302
119303
119304
119305
119306
119307
119308
119309
119310
119311
119312
119313
119314
119315
119316
119317
119318
119319
119320
119321
119322
119323
119324
119325
119326
119327
119328
119329
119330
119331
119332
119333
119334
119335
119336
119337
119338
119339
119340
119341
119342
119343
119344
119345
119346
119347
119348
119349
119350
119351
119352
119353
119354
119355
119356
119357
119358
119359
119360
119361
119362
119363
119364
119365
119366
119367
119368
119369
119370
119371
119372
119373
119374
119375
119376
119377
119378
119379
119380
119381
119382
119383
119384
119385
119386
119387
119388
119389
119390
119391
119392
119393
119394
119395
119396
119397
119398
119399
119400
119401
119402
119403
119404
119405
119406
119407
119408
119409
119410
119411
119412
119413
119414
119415
119416
119417
119418
119419
119420
119421
119422
119423
119424
119425
119426
119427
119428
119429
119430
119431
119432
119433
119434
119435
119436
119437
119438
119439
119440
119441
119442
119443
119444
119445
119446
119447
119448
119449
119450
119451
119452
119453
119454
119455
119456
119457
119458
119459
119460
119461
119462
119463
119464
119465
119466
119467
119468
119469
119470
119471
119472
119473
119474
119475
119476
119477
119478
119479
119480
119481
119482
119483
119484
119485
119486
119487
119488
119489
119490
119491
119492
119493
119494
119495
119496
119497
119498
119499
119500
119501
119502
119503
119504
119505
119506
119507
119508
119509
119510
119511
119512
119513
119514
119515
119516
119517
119518
119519
119520
119521
119522
119523
119524
119525
119526
119527
119528
119529
119530
119531
119532
119533
119534
119535
119536
119537
119538
119539
119540
119541
119542
119543
119544
119545
119546
119547
119548
119549
119550
119551
119552
119553
119554
119555
119556
119557
119558
119559
119560
119561
119562
119563
119564
119565
119566
119567
119568
119569
119570
119571
119572
119573
119574
119575
119576
119577
119578
119579
119580
119581
119582
119583
119584
119585
119586
119587
119588
119589
119590
119591
119592
119593
119594
119595
119596
119597
119598
119599
119600
119601
119602
119603
119604
119605
119606
119607
119608
119609
119610
119611
119612
119613
119614
119615
119616
119617
119618
119619
119620
119621
119622
119623
119624
119625
119626
119627
119628
119629
119630
119631
119632
119633
119634
119635
119636
119637
119638
119639
119640
119641
119642
119643
119644
119645
119646
119647
119648
119649
119650
119651
119652
119653
119654
119655
119656
119657
119658
119659
119660
119661
119662
119663
119664
119665
119666
119667
119668
119669
119670
119671
119672
119673
119674
119675
119676
119677
119678
119679
119680
119681
119682
119683
119684
119685
119686
119687
119688
119689
119690
119691
119692
119693
119694
119695
119696
119697
119698
119699
119700
119701
119702
119703
119704
119705
119706
119707
119708
119709
119710
119711
119712
119713
119714
119715
119716
119717
119718
119719
119720
119721
119722
119723
119724
119725
119726
119727
119728
119729
119730
119731
119732
119733
119734
119735
119736
119737
119738
119739
119740
119741
119742
119743
119744
119745
119746
119747
119748
119749
119750
119751
119752
119753
119754
119755
119756
119757
119758
119759
119760
119761
119762
119763
119764
119765
119766
119767
119768
119769
119770
119771
119772
119773
119774
119775
119776
119777
119778
119779
119780
119781
119782
119783
119784
119785
119786
119787
119788
119789
119790
119791
119792
119793
119794
119795
119796
119797
119798
119799
119800
119801
119802
119803
119804
119805
119806
119807
119808
119809
119810
119811
119812
119813
119814
119815
119816
119817
119818
119819
119820
119821
119822
119823
119824
119825
119826
119827
119828
119829
119830
119831
119832
119833
119834
119835
119836
119837
119838
119839
119840
119841
119842
119843
119844
119845
119846
119847
119848
119849
119850
119851
119852
119853
119854
119855
119856
119857
119858
119859
119860
119861
119862
119863
119864
119865
119866
119867
119868
119869
119870
119871
119872
119873
119874
119875
119876
119877
119878
119879
119880
119881
119882
119883
119884
119885
119886
119887
119888
119889
119890
119891
119892
119893
119894
119895
119896
119897
119898
119899
119900
119901
119902
119903
119904
119905
119906
119907
119908
119909
119910
119911
119912
119913
119914
119915
119916
119917
119918
119919
119920
119921
119922
119923
119924
119925
119926
119927
119928
119929
119930
119931
119932
119933
119934
119935
119936
119937
119938
119939
119940
119941
119942
119943
119944
119945
119946
119947
119948
119949
119950
119951
119952
119953
119954
119955
119956
119957
119958
119959
119960
119961
119962
119963
119964
119965
119966
119967
119968
119969
119970
119971
119972
119973
119974
119975
119976
119977
119978
119979
119980
119981
119982
119983
119984
119985
119986
119987
119988
119989
119990
119991
119992
119993
119994
119995
119996
119997
119998
119999
120000
120001
120002
120003
120004
120005
120006
120007
120008
120009
120010
120011
120012
120013
120014
120015
120016
120017
120018
120019
120020
120021
120022
120023
120024
120025
120026
120027
120028
120029
120030
120031
120032
120033
120034
120035
120036
120037
120038
120039
120040
120041
120042
120043
120044
120045
120046
120047
120048
120049
120050
120051
120052
120053
120054
120055
120056
120057
120058
120059
120060
120061
120062
120063
120064
120065
120066
120067
120068
120069
120070
120071
120072
120073
120074
120075
120076
120077
120078
120079
120080
120081
120082
120083
120084
120085
120086
120087
120088
120089
120090
120091
120092
120093
120094
120095
120096
120097
120098
120099
120100
120101
120102
120103
120104
120105
120106
120107
120108
120109
120110
120111
120112
120113
120114
120115
120116
120117
120118
120119
120120
120121
120122
120123
120124
120125
120126
120127
120128
120129
120130
120131
120132
120133
120134
120135
120136
120137
120138
120139
120140
120141
120142
120143
120144
120145
120146
120147
120148
120149
120150
120151
120152
120153
120154
120155
120156
120157
120158
120159
120160
120161
120162
120163
120164
120165
120166
120167
120168
120169
120170
120171
120172
120173
120174
120175
120176
120177
120178
120179
120180
120181
120182
120183
120184
120185
120186
120187
120188
120189
120190
120191
120192
120193
120194
120195
120196
120197
120198
120199
120200
120201
120202
120203
120204
120205
120206
120207
120208
120209
120210
120211
120212
120213
120214
120215
120216
120217
120218
120219
120220
120221
120222
120223
120224
120225
120226
120227
120228
120229
120230
120231
120232
120233
120234
120235
120236
120237
120238
120239
120240
120241
120242
120243
120244
120245
120246
120247
120248
120249
120250
120251
120252
120253
120254
120255
120256
120257
120258
120259
120260
120261
120262
120263
120264
120265
120266
120267
120268
120269
120270
120271
120272
120273
120274
120275
120276
120277
120278
120279
120280
120281
120282
120283
120284
120285
120286
120287
120288
120289
120290
120291
120292
120293
120294
120295
120296
120297
120298
120299
120300
120301
120302
120303
120304
120305
120306
120307
120308
120309
120310
120311
120312
120313
120314
120315
120316
120317
120318
120319
120320
120321
120322
120323
120324
120325
120326
120327
120328
120329
120330
120331
120332
120333
120334
120335
120336
120337
120338
120339
120340
120341
120342
120343
120344
120345
120346
120347
120348
120349
120350
120351
120352
120353
120354
120355
120356
120357
120358
120359
120360
120361
120362
120363
120364
120365
120366
120367
120368
120369
120370
120371
120372
120373
120374
120375
120376
120377
120378
120379
120380
120381
120382
120383
120384
120385
120386
120387
120388
120389
120390
120391
120392
120393
120394
120395
120396
120397
120398
120399
120400
120401
120402
120403
120404
120405
120406
120407
120408
120409
120410
120411
120412
120413
120414
120415
120416
120417
120418
120419
120420
120421
120422
120423
120424
120425
120426
120427
120428
120429
120430
120431
120432
120433
120434
120435
120436
120437
120438
120439
120440
120441
120442
120443
120444
120445
120446
120447
120448
120449
120450
120451
120452
120453
120454
120455
120456
120457
120458
120459
120460
120461
120462
120463
120464
120465
120466
120467
120468
120469
120470
120471
120472
120473
120474
120475
120476
120477
120478
120479
120480
120481
120482
120483
120484
120485
120486
120487
120488
120489
120490
120491
120492
120493
120494
120495
120496
120497
120498
120499
120500
120501
120502
120503
120504
120505
120506
120507
120508
120509
120510
120511
120512
120513
120514
120515
120516
120517
120518
120519
120520
120521
120522
120523
120524
120525
120526
120527
120528
120529
120530
120531
120532
120533
120534
120535
120536
120537
120538
120539
120540
120541
120542
120543
120544
120545
120546
120547
120548
120549
120550
120551
120552
120553
120554
120555
120556
120557
120558
120559
120560
120561
120562
120563
120564
120565
120566
120567
120568
120569
120570
120571
120572
120573
120574
120575
120576
120577
120578
120579
120580
120581
120582
120583
120584
120585
120586
120587
120588
120589
120590
120591
120592
120593
120594
120595
120596
120597
120598
120599
120600
120601
120602
120603
120604
120605
120606
120607
120608
120609
120610
120611
120612
120613
120614
120615
120616
120617
120618
120619
120620
120621
120622
120623
120624
120625
120626
120627
120628
120629
120630
120631
120632
120633
120634
120635
120636
120637
120638
120639
120640
120641
120642
120643
120644
120645
120646
120647
120648
120649
120650
120651
120652
120653
120654
120655
120656
120657
120658
120659
120660
120661
120662
120663
120664
120665
120666
120667
120668
120669
120670
120671
120672
120673
120674
120675
120676
120677
120678
120679
120680
120681
120682
120683
120684
120685
120686
120687
120688
120689
120690
120691
120692
120693
120694
120695
120696
120697
120698
120699
120700
120701
120702
120703
120704
120705
120706
120707
120708
120709
120710
120711
120712
120713
120714
120715
120716
120717
120718
120719
120720
120721
120722
120723
120724
120725
120726
120727
120728
120729
120730
120731
120732
120733
120734
120735
120736
120737
120738
120739
120740
120741
120742
120743
120744
120745
120746
120747
120748
120749
120750
120751
120752
120753
120754
120755
120756
120757
120758
120759
120760
120761
120762
120763
120764
120765
120766
120767
120768
120769
120770
120771
120772
120773
120774
120775
120776
120777
120778
120779
120780
120781
120782
120783
120784
120785
120786
120787
120788
120789
120790
120791
120792
120793
120794
120795
120796
120797
120798
120799
120800
120801
120802
120803
120804
120805
120806
120807
120808
120809
120810
120811
120812
120813
120814
120815
120816
120817
120818
120819
120820
120821
120822
120823
120824
120825
120826
120827
120828
120829
120830
120831
120832
120833
120834
120835
120836
120837
120838
120839
120840
120841
120842
120843
120844
120845
120846
120847
120848
120849
120850
120851
120852
120853
120854
120855
120856
120857
120858
120859
120860
120861
120862
120863
120864
120865
120866
120867
120868
120869
120870
120871
120872
120873
120874
120875
120876
120877
120878
120879
120880
120881
120882
120883
120884
120885
120886
120887
120888
120889
120890
120891
120892
120893
120894
120895
120896
120897
120898
120899
120900
120901
120902
120903
120904
120905
120906
120907
120908
120909
120910
120911
120912
120913
120914
120915
120916
120917
120918
120919
120920
120921
120922
120923
120924
120925
120926
120927
120928
120929
120930
120931
120932
120933
120934
120935
120936
120937
120938
120939
120940
120941
120942
120943
120944
120945
120946
120947
120948
120949
120950
120951
120952
120953
120954
120955
120956
120957
120958
120959
120960
120961
120962
120963
120964
120965
120966
120967
120968
120969
120970
120971
120972
120973
120974
120975
120976
120977
120978
120979
120980
120981
120982
120983
120984
120985
120986
120987
120988
120989
120990
120991
120992
120993
120994
120995
120996
120997
120998
120999
121000
121001
121002
121003
121004
121005
121006
121007
121008
121009
121010
121011
121012
121013
121014
121015
121016
121017
121018
121019
121020
121021
121022
121023
121024
121025
121026
121027
121028
121029
121030
121031
121032
121033
121034
121035
121036
121037
121038
121039
121040
121041
121042
121043
121044
121045
121046
121047
121048
121049
121050
121051
121052
121053
121054
121055
121056
121057
121058
121059
121060
121061
121062
121063
121064
121065
121066
121067
121068
121069
121070
121071
121072
121073
121074
121075
121076
121077
121078
121079
121080
121081
121082
121083
121084
121085
121086
121087
121088
121089
121090
121091
121092
121093
121094
121095
121096
121097
121098
121099
121100
121101
121102
121103
121104
121105
121106
121107
121108
121109
121110
121111
121112
121113
121114
121115
121116
121117
121118
121119
121120
121121
121122
121123
121124
121125
121126
121127
121128
121129
121130
121131
121132
121133
121134
121135
121136
121137
121138
121139
121140
121141
121142
121143
121144
121145
121146
121147
121148
121149
121150
121151
121152
121153
121154
121155
121156
121157
121158
121159
121160
121161
121162
121163
121164
121165
121166
121167
121168
121169
121170
121171
121172
121173
121174
121175
121176
121177
121178
121179
121180
121181
121182
121183
121184
121185
121186
121187
121188
121189
121190
121191
121192
121193
121194
121195
121196
121197
121198
121199
121200
121201
121202
121203
121204
121205
121206
121207
121208
121209
121210
121211
121212
121213
121214
121215
121216
121217
121218
121219
121220
121221
121222
121223
121224
121225
121226
121227
121228
121229
121230
121231
121232
121233
121234
121235
121236
121237
121238
121239
121240
121241
121242
121243
121244
121245
121246
121247
121248
121249
121250
121251
121252
121253
121254
121255
121256
121257
121258
121259
121260
121261
121262
121263
121264
121265
121266
121267
121268
121269
121270
121271
121272
121273
121274
121275
121276
121277
121278
121279
121280
121281
121282
121283
121284
121285
121286
121287
121288
121289
121290
121291
121292
121293
121294
121295
121296
121297
121298
121299
121300
121301
121302
121303
121304
121305
121306
121307
121308
121309
121310
121311
121312
121313
121314
121315
121316
121317
121318
121319
121320
121321
121322
121323
121324
121325
121326
121327
121328
121329
121330
121331
121332
121333
121334
121335
121336
121337
121338
121339
121340
121341
121342
121343
121344
121345
121346
121347
121348
121349
121350
121351
121352
121353
121354
121355
121356
121357
121358
121359
121360
121361
121362
121363
121364
121365
121366
121367
121368
121369
121370
121371
121372
121373
121374
121375
121376
121377
121378
121379
121380
121381
121382
121383
121384
121385
121386
121387
121388
121389
121390
121391
121392
121393
121394
121395
121396
121397
121398
121399
121400
121401
121402
121403
121404
121405
121406
121407
121408
121409
121410
121411
121412
121413
121414
121415
121416
121417
121418
121419
121420
121421
121422
121423
121424
121425
121426
121427
121428
121429
121430
121431
121432
121433
121434
121435
121436
121437
121438
121439
121440
121441
121442
121443
121444
121445
121446
121447
121448
121449
121450
121451
121452
121453
121454
121455
121456
121457
121458
121459
121460
121461
121462
121463
121464
121465
121466
121467
121468
121469
121470
121471
121472
121473
121474
121475
121476
121477
121478
121479
121480
121481
121482
121483
121484
121485
121486
121487
121488
121489
121490
121491
121492
121493
121494
121495
121496
121497
121498
121499
121500
121501
121502
121503
121504
121505
121506
121507
121508
121509
121510
121511
121512
121513
121514
121515
121516
121517
121518
121519
121520
121521
121522
121523
121524
121525
121526
121527
121528
121529
121530
121531
121532
121533
121534
121535
121536
121537
121538
121539
121540
121541
121542
121543
121544
121545
121546
121547
121548
121549
121550
121551
121552
121553
121554
121555
121556
121557
121558
121559
121560
121561
121562
121563
121564
121565
121566
121567
121568
121569
121570
121571
121572
121573
121574
121575
121576
121577
121578
121579
121580
121581
121582
121583
121584
121585
121586
121587
121588
121589
121590
121591
121592
121593
121594
121595
121596
121597
121598
121599
121600
121601
121602
121603
121604
121605
121606
121607
121608
121609
121610
121611
121612
121613
121614
121615
121616
121617
121618
121619
121620
121621
121622
121623
121624
121625
121626
121627
121628
121629
121630
121631
121632
121633
121634
121635
121636
121637
121638
121639
121640
121641
121642
121643
121644
121645
121646
121647
121648
121649
121650
121651
121652
121653
121654
121655
121656
121657
121658
121659
121660
121661
121662
121663
121664
121665
121666
121667
121668
121669
121670
121671
121672
121673
121674
121675
121676
121677
121678
121679
121680
121681
121682
121683
121684
121685
121686
121687
121688
121689
121690
121691
121692
121693
121694
121695
121696
121697
121698
121699
121700
121701
121702
121703
121704
121705
121706
121707
121708
121709
121710
121711
121712
121713
121714
121715
121716
121717
121718
121719
121720
121721
121722
121723
121724
121725
121726
121727
121728
121729
121730
121731
121732
121733
121734
121735
121736
121737
121738
121739
121740
121741
121742
121743
121744
121745
121746
121747
121748
121749
121750
121751
121752
121753
121754
121755
121756
121757
121758
121759
121760
121761
121762
121763
121764
121765
121766
121767
121768
121769
121770
121771
121772
121773
121774
121775
121776
121777
121778
121779
121780
121781
121782
121783
121784
121785
121786
121787
121788
121789
121790
121791
121792
121793
121794
121795
121796
121797
121798
121799
121800
121801
121802
121803
121804
121805
121806
121807
121808
121809
121810
121811
121812
121813
121814
121815
121816
121817
121818
121819
121820
121821
121822
121823
121824
121825
121826
121827
121828
121829
121830
121831
121832
121833
121834
121835
121836
121837
121838
121839
121840
121841
121842
121843
121844
121845
121846
121847
121848
121849
121850
121851
121852
121853
121854
121855
121856
121857
121858
121859
121860
121861
121862
121863
121864
121865
121866
121867
121868
121869
121870
121871
121872
121873
121874
121875
121876
121877
121878
121879
121880
121881
121882
121883
121884
121885
121886
121887
121888
121889
121890
121891
121892
121893
121894
121895
121896
121897
121898
121899
121900
121901
121902
121903
121904
121905
121906
121907
121908
121909
121910
121911
121912
121913
121914
121915
121916
121917
121918
121919
121920
121921
121922
121923
121924
121925
121926
121927
121928
121929
121930
121931
121932
121933
121934
121935
121936
121937
121938
121939
121940
121941
121942
121943
121944
121945
121946
121947
121948
121949
121950
121951
121952
121953
121954
121955
121956
121957
121958
121959
121960
121961
121962
121963
121964
121965
121966
121967
121968
121969
121970
121971
121972
121973
121974
121975
121976
121977
121978
121979
121980
121981
121982
121983
121984
121985
121986
121987
121988
121989
121990
121991
121992
121993
121994
121995
121996
121997
121998
121999
122000
122001
122002
122003
122004
122005
122006
122007
122008
122009
122010
122011
122012
122013
122014
122015
122016
122017
122018
122019
122020
122021
122022
122023
122024
122025
122026
122027
122028
122029
122030
122031
122032
122033
122034
122035
122036
122037
122038
122039
122040
122041
122042
122043
122044
122045
122046
122047
122048
122049
122050
122051
122052
122053
122054
122055
122056
122057
122058
122059
122060
122061
122062
122063
122064
122065
122066
122067
122068
122069
122070
122071
122072
122073
122074
122075
122076
122077
122078
122079
122080
122081
122082
122083
122084
122085
122086
122087
122088
122089
122090
122091
122092
122093
122094
122095
122096
122097
122098
122099
122100
122101
122102
122103
122104
122105
122106
122107
122108
122109
122110
122111
122112
122113
122114
122115
122116
122117
122118
122119
122120
122121
122122
122123
122124
122125
122126
122127
122128
122129
122130
122131
122132
122133
122134
122135
122136
122137
122138
122139
122140
122141
122142
122143
122144
122145
122146
122147
122148
122149
122150
122151
122152
122153
122154
122155
122156
122157
122158
122159
122160
122161
122162
122163
122164
122165
122166
122167
122168
122169
122170
122171
122172
122173
122174
122175
122176
122177
122178
122179
122180
122181
122182
122183
122184
122185
122186
122187
122188
122189
122190
122191
122192
122193
122194
122195
122196
122197
122198
122199
122200
122201
122202
122203
122204
122205
122206
122207
122208
122209
122210
122211
122212
122213
122214
122215
122216
122217
122218
122219
122220
122221
122222
122223
122224
122225
122226
122227
122228
122229
122230
122231
122232
122233
122234
122235
122236
122237
122238
122239
122240
122241
122242
122243
122244
122245
122246
122247
122248
122249
122250
122251
122252
122253
122254
122255
122256
122257
122258
122259
122260
122261
122262
122263
122264
122265
122266
122267
122268
122269
122270
122271
122272
122273
122274
122275
122276
122277
122278
122279
122280
122281
122282
122283
122284
122285
122286
122287
122288
122289
122290
122291
122292
122293
122294
122295
122296
122297
122298
122299
122300
122301
122302
122303
122304
122305
122306
122307
122308
122309
122310
122311
122312
122313
122314
122315
122316
122317
122318
122319
122320
122321
122322
122323
122324
122325
122326
122327
122328
122329
122330
122331
122332
122333
122334
122335
122336
122337
122338
122339
122340
122341
122342
122343
122344
122345
122346
122347
122348
122349
122350
122351
122352
122353
122354
122355
122356
122357
122358
122359
122360
122361
122362
122363
122364
122365
122366
122367
122368
122369
122370
122371
122372
122373
122374
122375
122376
122377
122378
122379
122380
122381
122382
122383
122384
122385
122386
122387
122388
122389
122390
122391
122392
122393
122394
122395
122396
122397
122398
122399
122400
122401
122402
122403
122404
122405
122406
122407
122408
122409
122410
122411
122412
122413
122414
122415
122416
122417
122418
122419
122420
122421
122422
122423
122424
122425
122426
122427
122428
122429
122430
122431
122432
122433
122434
122435
122436
122437
122438
122439
122440
122441
122442
122443
122444
122445
122446
122447
122448
122449
122450
122451
122452
122453
122454
122455
122456
122457
122458
122459
122460
122461
122462
122463
122464
122465
122466
122467
122468
122469
122470
122471
122472
122473
122474
122475
122476
122477
122478
122479
122480
122481
122482
122483
122484
122485
122486
122487
122488
122489
122490
122491
122492
122493
122494
122495
122496
122497
122498
122499
122500
122501
122502
122503
122504
122505
122506
122507
122508
122509
122510
122511
122512
122513
122514
122515
122516
122517
122518
122519
122520
122521
122522
122523
122524
122525
122526
122527
122528
122529
122530
122531
122532
122533
122534
122535
122536
122537
122538
122539
122540
122541
122542
122543
122544
122545
122546
122547
122548
122549
122550
122551
122552
122553
122554
122555
122556
122557
122558
122559
122560
122561
122562
122563
122564
122565
122566
122567
122568
122569
122570
122571
122572
122573
122574
122575
122576
122577
122578
122579
122580
122581
122582
122583
122584
122585
122586
122587
122588
122589
122590
122591
122592
122593
122594
122595
122596
122597
122598
122599
122600
122601
122602
122603
122604
122605
122606
122607
122608
122609
122610
122611
122612
122613
122614
122615
122616
122617
122618
122619
122620
122621
122622
122623
122624
122625
122626
122627
122628
122629
122630
122631
122632
122633
122634
122635
122636
122637
122638
122639
122640
122641
122642
122643
122644
122645
122646
122647
122648
122649
122650
122651
122652
122653
122654
122655
122656
122657
122658
122659
122660
122661
122662
122663
122664
122665
122666
122667
122668
122669
122670
122671
122672
122673
122674
122675
122676
122677
122678
122679
122680
122681
122682
122683
122684
122685
122686
122687
122688
122689
122690
122691
122692
122693
122694
122695
122696
122697
122698
122699
122700
122701
122702
122703
122704
122705
122706
122707
122708
122709
122710
122711
122712
122713
122714
122715
122716
122717
122718
122719
122720
122721
122722
122723
122724
122725
122726
122727
122728
122729
122730
122731
122732
122733
122734
122735
122736
122737
122738
122739
122740
122741
122742
122743
122744
122745
122746
122747
122748
122749
122750
122751
122752
122753
122754
122755
122756
122757
122758
122759
122760
122761
122762
122763
122764
122765
122766
122767
122768
122769
122770
122771
122772
122773
122774
122775
122776
122777
122778
122779
122780
122781
122782
122783
122784
122785
122786
122787
122788
122789
122790
122791
122792
122793
122794
122795
122796
122797
122798
122799
122800
122801
122802
122803
122804
122805
122806
122807
122808
122809
122810
122811
122812
122813
122814
122815
122816
122817
122818
122819
122820
122821
122822
122823
122824
122825
122826
122827
122828
122829
122830
122831
122832
122833
122834
122835
122836
122837
122838
122839
122840
122841
122842
122843
122844
122845
122846
122847
122848
122849
122850
122851
122852
122853
122854
122855
122856
122857
122858
122859
122860
122861
122862
122863
122864
122865
122866
122867
122868
122869
122870
122871
122872
122873
122874
122875
122876
122877
122878
122879
122880
122881
122882
122883
122884
122885
122886
122887
122888
122889
122890
122891
122892
122893
122894
122895
122896
122897
122898
122899
122900
122901
122902
122903
122904
122905
122906
122907
122908
122909
122910
122911
122912
122913
122914
122915
122916
122917
122918
122919
122920
122921
122922
122923
122924
122925
122926
122927
122928
122929
122930
122931
122932
122933
122934
122935
122936
122937
122938
122939
122940
122941
122942
122943
122944
122945
122946
122947
122948
122949
122950
122951
122952
122953
122954
122955
122956
122957
122958
122959
122960
122961
122962
122963
122964
122965
122966
122967
122968
122969
122970
122971
122972
122973
122974
122975
122976
122977
122978
122979
122980
122981
122982
122983
122984
122985
122986
122987
122988
122989
122990
122991
122992
122993
122994
122995
122996
122997
122998
122999
123000
123001
123002
123003
123004
123005
123006
123007
123008
123009
123010
123011
123012
123013
123014
123015
123016
123017
123018
123019
123020
123021
123022
123023
123024
123025
123026
123027
123028
123029
123030
123031
123032
123033
123034
123035
123036
123037
123038
123039
123040
123041
123042
123043
123044
123045
123046
123047
123048
123049
123050
123051
123052
123053
123054
123055
123056
123057
123058
123059
123060
123061
123062
123063
123064
123065
123066
123067
123068
123069
123070
123071
123072
123073
123074
123075
123076
123077
123078
123079
123080
123081
123082
123083
123084
123085
123086
123087
123088
123089
123090
123091
123092
123093
123094
123095
123096
123097
123098
123099
123100
123101
123102
123103
123104
123105
123106
123107
123108
123109
123110
123111
123112
123113
123114
123115
123116
123117
123118
123119
123120
123121
123122
123123
123124
123125
123126
123127
123128
123129
123130
123131
123132
123133
123134
123135
123136
123137
123138
123139
123140
123141
123142
123143
123144
123145
123146
123147
123148
123149
123150
123151
123152
123153
123154
123155
123156
123157
123158
123159
123160
123161
123162
123163
123164
123165
123166
123167
123168
123169
123170
123171
123172
123173
123174
123175
123176
123177
123178
123179
123180
123181
123182
123183
123184
123185
123186
123187
123188
123189
123190
123191
123192
123193
123194
123195
123196
123197
123198
123199
123200
123201
123202
123203
123204
123205
123206
123207
123208
123209
123210
123211
123212
123213
123214
123215
123216
123217
123218
123219
123220
123221
123222
123223
123224
123225
123226
123227
123228
123229
123230
123231
123232
123233
123234
123235
123236
123237
123238
123239
123240
123241
123242
123243
123244
123245
123246
123247
123248
123249
123250
123251
123252
123253
123254
123255
123256
123257
123258
123259
123260
123261
123262
123263
123264
123265
123266
123267
123268
123269
123270
123271
123272
123273
123274
123275
123276
123277
123278
123279
123280
123281
123282
123283
123284
123285
123286
123287
123288
123289
123290
123291
123292
123293
123294
123295
123296
123297
123298
123299
123300
123301
123302
123303
123304
123305
123306
123307
123308
123309
123310
123311
123312
123313
123314
123315
123316
123317
123318
123319
123320
123321
123322
123323
123324
123325
123326
123327
123328
123329
123330
123331
123332
123333
123334
123335
123336
123337
123338
123339
123340
123341
123342
123343
123344
123345
123346
123347
123348
123349
123350
123351
123352
123353
123354
123355
123356
123357
123358
123359
123360
123361
123362
123363
123364
123365
123366
123367
123368
123369
123370
123371
123372
123373
123374
123375
123376
123377
123378
123379
123380
123381
123382
123383
123384
123385
123386
123387
123388
123389
123390
123391
123392
123393
123394
123395
123396
123397
123398
123399
123400
123401
123402
123403
123404
123405
123406
123407
123408
123409
123410
123411
123412
123413
123414
123415
123416
123417
123418
123419
123420
123421
123422
123423
123424
123425
123426
123427
123428
123429
123430
123431
123432
123433
123434
123435
123436
123437
123438
123439
123440
123441
123442
123443
123444
123445
123446
123447
123448
123449
123450
123451
123452
123453
123454
123455
123456
123457
123458
123459
123460
123461
123462
123463
123464
123465
123466
123467
123468
123469
123470
123471
123472
123473
123474
123475
123476
123477
123478
123479
123480
123481
123482
123483
123484
123485
123486
123487
123488
123489
123490
123491
123492
123493
123494
123495
123496
123497
123498
123499
123500
123501
123502
123503
123504
123505
123506
123507
123508
123509
123510
123511
123512
123513
123514
123515
123516
123517
123518
123519
123520
123521
123522
123523
123524
123525
123526
123527
123528
123529
123530
123531
123532
123533
123534
123535
123536
123537
123538
123539
123540
123541
123542
123543
123544
123545
123546
123547
123548
123549
123550
123551
123552
123553
123554
123555
123556
123557
123558
123559
123560
123561
123562
123563
123564
123565
123566
123567
123568
123569
123570
123571
123572
123573
123574
123575
123576
123577
123578
123579
123580
123581
123582
123583
123584
123585
123586
123587
123588
123589
123590
123591
123592
123593
123594
123595
123596
123597
123598
123599
123600
123601
123602
123603
123604
123605
123606
123607
123608
123609
123610
123611
123612
123613
123614
123615
123616
123617
123618
123619
123620
123621
123622
123623
123624
123625
123626
123627
123628
123629
123630
123631
123632
123633
123634
123635
123636
123637
123638
123639
123640
123641
123642
123643
123644
123645
123646
123647
123648
123649
123650
123651
123652
123653
123654
123655
123656
123657
123658
123659
123660
123661
123662
123663
123664
123665
123666
123667
123668
123669
123670
123671
123672
123673
123674
123675
123676
123677
123678
123679
123680
123681
123682
123683
123684
123685
123686
123687
123688
123689
123690
123691
123692
123693
123694
123695
123696
123697
123698
123699
123700
123701
123702
123703
123704
123705
123706
123707
123708
123709
123710
123711
123712
123713
123714
123715
123716
123717
123718
123719
123720
123721
123722
123723
123724
123725
123726
123727
123728
123729
123730
123731
123732
123733
123734
123735
123736
123737
123738
123739
123740
123741
123742
123743
123744
123745
123746
123747
123748
123749
123750
123751
123752
123753
123754
123755
123756
123757
123758
123759
123760
123761
123762
123763
123764
123765
123766
123767
123768
123769
123770
123771
123772
123773
123774
123775
123776
123777
123778
123779
123780
123781
123782
123783
123784
123785
123786
123787
123788
123789
123790
123791
123792
123793
123794
123795
123796
123797
123798
123799
123800
123801
123802
123803
123804
123805
123806
123807
123808
123809
123810
123811
123812
123813
123814
123815
123816
123817
123818
123819
123820
123821
123822
123823
123824
123825
123826
123827
123828
123829
123830
123831
123832
123833
123834
123835
123836
123837
123838
123839
123840
123841
123842
123843
123844
123845
123846
123847
123848
123849
123850
123851
123852
123853
123854
123855
123856
123857
123858
123859
123860
123861
123862
123863
123864
123865
123866
123867
123868
123869
123870
123871
123872
123873
123874
123875
123876
123877
123878
123879
123880
123881
123882
123883
123884
123885
123886
123887
123888
123889
123890
123891
123892
123893
123894
123895
123896
123897
123898
123899
123900
123901
123902
123903
123904
123905
123906
123907
123908
123909
123910
123911
123912
123913
123914
123915
123916
123917
123918
123919
123920
123921
123922
123923
123924
123925
123926
123927
123928
123929
123930
123931
123932
123933
123934
123935
123936
123937
123938
123939
123940
123941
123942
123943
123944
123945
123946
123947
123948
123949
123950
123951
123952
123953
123954
123955
123956
123957
123958
123959
123960
123961
123962
123963
123964
123965
123966
123967
123968
123969
123970
123971
123972
123973
123974
123975
123976
123977
123978
123979
123980
123981
123982
123983
123984
123985
123986
123987
123988
123989
123990
123991
123992
123993
123994
123995
123996
123997
123998
123999
124000
124001
124002
124003
124004
124005
124006
124007
124008
124009
124010
124011
124012
124013
124014
124015
124016
124017
124018
124019
124020
124021
124022
124023
124024
124025
124026
124027
124028
124029
124030
124031
124032
124033
124034
124035
124036
124037
124038
124039
124040
124041
124042
124043
124044
124045
124046
124047
124048
124049
124050
124051
124052
124053
124054
124055
124056
124057
124058
124059
124060
124061
124062
124063
124064
124065
124066
124067
124068
124069
124070
124071
124072
124073
124074
124075
124076
124077
124078
124079
124080
124081
124082
124083
124084
124085
124086
124087
124088
124089
124090
124091
124092
124093
124094
124095
124096
124097
124098
124099
124100
124101
124102
124103
124104
124105
124106
124107
124108
124109
124110
124111
124112
124113
124114
124115
124116
124117
124118
124119
124120
124121
124122
124123
124124
124125
124126
124127
124128
124129
124130
124131
124132
124133
124134
124135
124136
124137
124138
124139
124140
124141
124142
124143
124144
124145
124146
124147
124148
124149
124150
124151
124152
124153
124154
124155
124156
124157
124158
124159
124160
124161
124162
124163
124164
124165
124166
124167
124168
124169
124170
124171
124172
124173
124174
124175
124176
124177
124178
124179
124180
124181
124182
124183
124184
124185
124186
124187
124188
124189
124190
124191
124192
124193
124194
124195
124196
124197
124198
124199
124200
124201
124202
124203
124204
124205
124206
124207
124208
124209
124210
124211
124212
124213
124214
124215
124216
124217
124218
124219
124220
124221
124222
124223
124224
124225
124226
124227
124228
124229
124230
124231
124232
124233
124234
124235
124236
124237
124238
124239
124240
124241
124242
124243
124244
124245
124246
124247
124248
124249
124250
124251
124252
124253
124254
124255
124256
124257
124258
124259
124260
124261
124262
124263
124264
124265
124266
124267
124268
124269
124270
124271
124272
124273
124274
124275
124276
124277
124278
124279
124280
124281
124282
124283
124284
124285
124286
124287
124288
124289
124290
124291
124292
124293
124294
124295
124296
124297
124298
124299
124300
124301
124302
124303
124304
124305
124306
124307
124308
124309
124310
124311
124312
124313
124314
124315
124316
124317
124318
124319
124320
124321
124322
124323
124324
124325
124326
124327
124328
124329
124330
124331
124332
124333
124334
124335
124336
124337
124338
124339
124340
124341
124342
124343
124344
124345
124346
124347
124348
124349
124350
124351
124352
124353
124354
124355
124356
124357
124358
124359
124360
124361
124362
124363
124364
124365
124366
124367
124368
124369
124370
124371
124372
124373
124374
124375
124376
124377
124378
124379
124380
124381
124382
124383
124384
124385
124386
124387
124388
124389
124390
124391
124392
124393
124394
124395
124396
124397
124398
124399
124400
124401
124402
124403
124404
124405
124406
124407
124408
124409
124410
124411
124412
124413
124414
124415
124416
124417
124418
124419
124420
124421
124422
124423
124424
124425
124426
124427
124428
124429
124430
124431
124432
124433
124434
124435
124436
124437
124438
124439
124440
124441
124442
124443
124444
124445
124446
124447
124448
124449
124450
124451
124452
124453
124454
124455
124456
124457
124458
124459
124460
124461
124462
124463
124464
124465
124466
124467
124468
124469
124470
124471
124472
124473
124474
124475
124476
124477
124478
124479
124480
124481
124482
124483
124484
124485
124486
124487
124488
124489
124490
124491
124492
124493
124494
124495
124496
124497
124498
124499
124500
124501
124502
124503
124504
124505
124506
124507
124508
124509
124510
124511
124512
124513
124514
124515
124516
124517
124518
124519
124520
124521
124522
124523
124524
124525
124526
124527
124528
124529
124530
124531
124532
124533
124534
124535
124536
124537
124538
124539
124540
124541
124542
124543
124544
124545
124546
124547
124548
124549
124550
124551
124552
124553
124554
124555
124556
124557
124558
124559
124560
124561
124562
124563
124564
124565
124566
124567
124568
124569
124570
124571
124572
124573
124574
124575
124576
124577
124578
124579
124580
124581
124582
124583
124584
124585
124586
124587
124588
124589
124590
124591
124592
124593
124594
124595
124596
124597
124598
124599
124600
124601
124602
124603
124604
124605
124606
124607
124608
124609
124610
124611
124612
124613
124614
124615
124616
124617
124618
124619
124620
124621
124622
124623
124624
124625
124626
124627
124628
124629
124630
124631
124632
124633
124634
124635
124636
124637
124638
124639
124640
124641
124642
124643
124644
124645
124646
124647
124648
124649
124650
124651
124652
124653
124654
124655
124656
124657
124658
124659
124660
124661
124662
124663
124664
124665
124666
124667
124668
124669
124670
124671
124672
124673
124674
124675
124676
124677
124678
124679
124680
124681
124682
124683
124684
124685
124686
124687
124688
124689
124690
124691
124692
124693
124694
124695
124696
124697
124698
124699
124700
124701
124702
124703
124704
124705
124706
124707
124708
124709
124710
124711
124712
124713
124714
124715
124716
124717
124718
124719
124720
124721
124722
124723
124724
124725
124726
124727
124728
124729
124730
124731
124732
124733
124734
124735
124736
124737
124738
124739
124740
124741
124742
124743
124744
124745
124746
124747
124748
124749
124750
124751
124752
124753
124754
124755
124756
124757
124758
124759
124760
124761
124762
124763
124764
124765
124766
124767
124768
124769
124770
124771
124772
124773
124774
124775
124776
124777
124778
124779
124780
124781
124782
124783
124784
124785
124786
124787
124788
124789
124790
124791
124792
124793
124794
124795
124796
124797
124798
124799
124800
124801
124802
124803
124804
124805
124806
124807
124808
124809
124810
124811
124812
124813
124814
124815
124816
124817
124818
124819
124820
124821
124822
124823
124824
124825
124826
124827
124828
124829
124830
124831
124832
124833
124834
124835
124836
124837
124838
124839
124840
124841
124842
124843
124844
124845
124846
124847
124848
124849
124850
124851
124852
124853
124854
124855
124856
124857
124858
124859
124860
124861
124862
124863
124864
124865
124866
124867
124868
124869
124870
124871
124872
124873
124874
124875
124876
124877
124878
124879
124880
124881
124882
124883
124884
124885
124886
124887
124888
124889
124890
124891
124892
124893
124894
124895
124896
124897
124898
124899
124900
124901
124902
124903
124904
124905
124906
124907
124908
124909
124910
124911
124912
124913
124914
124915
124916
124917
124918
124919
124920
124921
124922
124923
124924
124925
124926
124927
124928
124929
124930
124931
124932
124933
124934
124935
124936
124937
124938
124939
124940
124941
124942
124943
124944
124945
124946
124947
124948
124949
124950
124951
124952
124953
124954
124955
124956
124957
124958
124959
124960
124961
124962
124963
124964
124965
124966
124967
124968
124969
124970
124971
124972
124973
124974
124975
124976
124977
124978
124979
124980
124981
124982
124983
124984
124985
124986
124987
124988
124989
124990
124991
124992
124993
124994
124995
124996
124997
124998
124999
125000
125001
125002
125003
125004
125005
125006
125007
125008
125009
125010
125011
125012
125013
125014
125015
125016
125017
125018
125019
125020
125021
125022
125023
125024
125025
125026
125027
125028
125029
125030
125031
125032
125033
125034
125035
125036
125037
125038
125039
125040
125041
125042
125043
125044
125045
125046
125047
125048
125049
125050
125051
125052
125053
125054
125055
125056
125057
125058
125059
125060
125061
125062
125063
125064
125065
125066
125067
125068
125069
125070
125071
125072
125073
125074
125075
125076
125077
125078
125079
125080
125081
125082
125083
125084
125085
125086
125087
125088
125089
125090
125091
125092
125093
125094
125095
125096
125097
125098
125099
125100
125101
125102
125103
125104
125105
125106
125107
125108
125109
125110
125111
125112
125113
125114
125115
125116
125117
125118
125119
125120
125121
125122
125123
125124
125125
125126
125127
125128
125129
125130
125131
125132
125133
125134
125135
125136
125137
125138
125139
125140
125141
125142
125143
125144
125145
125146
125147
125148
125149
125150
125151
125152
125153
125154
125155
125156
125157
125158
125159
125160
125161
125162
125163
125164
125165
125166
125167
125168
125169
125170
125171
125172
125173
125174
125175
125176
125177
125178
125179
125180
125181
125182
125183
125184
125185
125186
125187
125188
125189
125190
125191
125192
125193
125194
125195
125196
125197
125198
125199
125200
125201
125202
125203
125204
125205
125206
125207
125208
125209
125210
125211
125212
125213
125214
125215
125216
125217
125218
125219
125220
125221
125222
125223
125224
125225
125226
125227
125228
125229
125230
125231
125232
125233
125234
125235
125236
125237
125238
125239
125240
125241
125242
125243
125244
125245
125246
125247
125248
125249
125250
125251
125252
125253
125254
125255
125256
125257
125258
125259
125260
125261
125262
125263
125264
125265
125266
125267
125268
125269
125270
125271
125272
125273
125274
125275
125276
125277
125278
125279
125280
125281
125282
125283
125284
125285
125286
125287
125288
125289
125290
125291
125292
125293
125294
125295
125296
125297
125298
125299
125300
125301
125302
125303
125304
125305
125306
125307
125308
125309
125310
125311
125312
125313
125314
125315
125316
125317
125318
125319
125320
125321
125322
125323
125324
125325
125326
125327
125328
125329
125330
125331
125332
125333
125334
125335
125336
125337
125338
125339
125340
125341
125342
125343
125344
125345
125346
125347
125348
125349
125350
125351
125352
125353
125354
125355
125356
125357
125358
125359
125360
125361
125362
125363
125364
125365
125366
125367
125368
125369
125370
125371
125372
125373
125374
125375
125376
125377
125378
125379
125380
125381
125382
125383
125384
125385
125386
125387
125388
125389
125390
125391
125392
125393
125394
125395
125396
125397
125398
125399
125400
125401
125402
125403
125404
125405
125406
125407
125408
125409
125410
125411
125412
125413
125414
125415
125416
125417
125418
125419
125420
125421
125422
125423
125424
125425
125426
125427
125428
125429
125430
125431
125432
125433
125434
125435
125436
125437
125438
125439
125440
125441
125442
125443
125444
125445
125446
125447
125448
125449
125450
125451
125452
125453
125454
125455
125456
125457
125458
125459
125460
125461
125462
125463
125464
125465
125466
125467
125468
125469
125470
125471
125472
125473
125474
125475
125476
125477
125478
125479
125480
125481
125482
125483
125484
125485
125486
125487
125488
125489
125490
125491
125492
125493
125494
125495
125496
125497
125498
125499
125500
125501
125502
125503
125504
125505
125506
125507
125508
125509
125510
125511
125512
125513
125514
125515
125516
125517
125518
125519
125520
125521
125522
125523
125524
125525
125526
125527
125528
125529
125530
125531
125532
125533
125534
125535
125536
125537
125538
125539
125540
125541
125542
125543
125544
125545
125546
125547
125548
125549
125550
125551
125552
125553
125554
125555
125556
125557
125558
125559
125560
125561
125562
125563
125564
125565
125566
125567
125568
125569
125570
125571
125572
125573
125574
125575
125576
125577
125578
125579
125580
125581
125582
125583
125584
125585
125586
125587
125588
125589
125590
125591
125592
125593
125594
125595
125596
125597
125598
125599
125600
125601
125602
125603
125604
125605
125606
125607
125608
125609
125610
125611
125612
125613
125614
125615
125616
125617
125618
125619
125620
125621
125622
125623
125624
125625
125626
125627
125628
125629
125630
125631
125632
125633
125634
125635
125636
125637
125638
125639
125640
125641
125642
125643
125644
125645
125646
125647
125648
125649
125650
125651
125652
125653
125654
125655
125656
125657
125658
125659
125660
125661
125662
125663
125664
125665
125666
125667
125668
125669
125670
125671
125672
125673
125674
125675
125676
125677
125678
125679
125680
125681
125682
125683
125684
125685
125686
125687
125688
125689
125690
125691
125692
125693
125694
125695
125696
125697
125698
125699
125700
125701
125702
125703
125704
125705
125706
125707
125708
125709
125710
125711
125712
125713
125714
125715
125716
125717
125718
125719
125720
125721
125722
125723
125724
125725
125726
125727
125728
125729
125730
125731
125732
125733
125734
125735
125736
125737
125738
125739
125740
125741
125742
125743
125744
125745
125746
125747
125748
125749
125750
125751
125752
125753
125754
125755
125756
125757
125758
125759
125760
125761
125762
125763
125764
125765
125766
125767
125768
125769
125770
125771
125772
125773
125774
125775
125776
125777
125778
125779
125780
125781
125782
125783
125784
125785
125786
125787
125788
125789
125790
125791
125792
125793
125794
125795
125796
125797
125798
125799
125800
125801
125802
125803
125804
125805
125806
125807
125808
125809
125810
125811
125812
125813
125814
125815
125816
125817
125818
125819
125820
125821
125822
125823
125824
125825
125826
125827
125828
125829
125830
125831
125832
125833
125834
125835
125836
125837
125838
125839
125840
125841
125842
125843
125844
125845
125846
125847
125848
125849
125850
125851
125852
125853
125854
125855
125856
125857
125858
125859
125860
125861
125862
125863
125864
125865
125866
125867
125868
125869
125870
125871
125872
125873
125874
125875
125876
125877
125878
125879
125880
125881
125882
125883
125884
125885
125886
125887
125888
125889
125890
125891
125892
125893
125894
125895
125896
125897
125898
125899
125900
125901
125902
125903
125904
125905
125906
125907
125908
125909
125910
125911
125912
125913
125914
125915
125916
125917
125918
125919
125920
125921
125922
125923
125924
125925
125926
125927
125928
125929
125930
125931
125932
125933
125934
125935
125936
125937
125938
125939
125940
125941
125942
125943
125944
125945
125946
125947
125948
125949
125950
125951
125952
125953
125954
125955
125956
125957
125958
125959
125960
125961
125962
125963
125964
125965
125966
125967
125968
125969
125970
125971
125972
125973
125974
125975
125976
125977
125978
125979
125980
125981
125982
125983
125984
125985
125986
125987
125988
125989
125990
125991
125992
125993
125994
125995
125996
125997
125998
125999
126000
126001
126002
126003
126004
126005
126006
126007
126008
126009
126010
126011
126012
126013
126014
126015
126016
126017
126018
126019
126020
126021
126022
126023
126024
126025
126026
126027
126028
126029
126030
126031
126032
126033
126034
126035
126036
126037
126038
126039
126040
126041
126042
126043
126044
126045
126046
126047
126048
126049
126050
126051
126052
126053
126054
126055
126056
126057
126058
126059
126060
126061
126062
126063
126064
126065
126066
126067
126068
126069
126070
126071
126072
126073
126074
126075
126076
126077
126078
126079
126080
126081
126082
126083
126084
126085
126086
126087
126088
126089
126090
126091
126092
126093
126094
126095
126096
126097
126098
126099
126100
126101
126102
126103
126104
126105
126106
126107
126108
126109
126110
126111
126112
126113
126114
126115
126116
126117
126118
126119
126120
126121
126122
126123
126124
126125
126126
126127
126128
126129
126130
126131
126132
126133
126134
126135
126136
126137
126138
126139
126140
126141
126142
126143
126144
126145
126146
126147
126148
126149
126150
126151
126152
126153
126154
126155
126156
126157
126158
126159
126160
126161
126162
126163
126164
126165
126166
126167
126168
126169
126170
126171
126172
126173
126174
126175
126176
126177
126178
126179
126180
126181
126182
126183
126184
126185
126186
126187
126188
126189
126190
126191
126192
126193
126194
126195
126196
126197
126198
126199
126200
126201
126202
126203
126204
126205
126206
126207
126208
126209
126210
126211
126212
126213
126214
126215
126216
126217
126218
126219
126220
126221
126222
126223
126224
126225
126226
126227
126228
126229
126230
126231
126232
126233
126234
126235
126236
126237
126238
126239
126240
126241
126242
126243
126244
126245
126246
126247
126248
126249
126250
126251
126252
126253
126254
126255
126256
126257
126258
126259
126260
126261
126262
126263
126264
126265
126266
126267
126268
126269
126270
126271
126272
126273
126274
126275
126276
126277
126278
126279
126280
126281
126282
126283
126284
126285
126286
126287
126288
126289
126290
126291
126292
126293
126294
126295
126296
126297
126298
126299
126300
126301
126302
126303
126304
126305
126306
126307
126308
126309
126310
126311
126312
126313
126314
126315
126316
126317
126318
126319
126320
126321
126322
126323
126324
126325
126326
126327
126328
126329
126330
126331
126332
126333
126334
126335
126336
126337
126338
126339
126340
126341
126342
126343
126344
126345
126346
126347
126348
126349
126350
126351
126352
126353
126354
126355
126356
126357
126358
126359
126360
126361
126362
126363
126364
126365
126366
126367
126368
126369
126370
126371
126372
126373
126374
126375
126376
126377
126378
126379
126380
126381
126382
126383
126384
126385
126386
126387
126388
126389
126390
126391
126392
126393
126394
126395
126396
126397
126398
126399
126400
126401
126402
126403
126404
126405
126406
126407
126408
126409
126410
126411
126412
126413
126414
126415
126416
126417
126418
126419
126420
126421
126422
126423
126424
126425
126426
126427
126428
126429
126430
126431
126432
126433
126434
126435
126436
126437
126438
126439
126440
126441
126442
126443
126444
126445
126446
126447
126448
126449
126450
126451
126452
126453
126454
126455
126456
126457
126458
126459
126460
126461
126462
126463
126464
126465
126466
126467
126468
126469
126470
126471
126472
126473
126474
126475
126476
126477
126478
126479
126480
126481
126482
126483
126484
126485
126486
126487
126488
126489
126490
126491
126492
126493
126494
126495
126496
126497
126498
126499
126500
126501
126502
126503
126504
126505
126506
126507
126508
126509
126510
126511
126512
126513
126514
126515
126516
126517
126518
126519
126520
126521
126522
126523
126524
126525
126526
126527
126528
126529
126530
126531
126532
126533
126534
126535
126536
126537
126538
126539
126540
126541
126542
126543
126544
126545
126546
126547
126548
126549
126550
126551
126552
126553
126554
126555
126556
126557
126558
126559
126560
126561
126562
126563
126564
126565
126566
126567
126568
126569
126570
126571
126572
126573
126574
126575
126576
126577
126578
126579
126580
126581
126582
126583
126584
126585
126586
126587
126588
126589
126590
126591
126592
126593
126594
126595
126596
126597
126598
126599
126600
126601
126602
126603
126604
126605
126606
126607
126608
126609
126610
126611
126612
126613
126614
126615
126616
126617
126618
126619
126620
126621
126622
126623
126624
126625
126626
126627
126628
126629
126630
126631
126632
126633
126634
126635
126636
126637
126638
126639
126640
126641
126642
126643
126644
126645
126646
126647
126648
126649
126650
126651
126652
126653
126654
126655
126656
126657
126658
126659
126660
126661
126662
126663
126664
126665
126666
126667
126668
126669
126670
126671
126672
126673
126674
126675
126676
126677
126678
126679
126680
126681
126682
126683
126684
126685
126686
126687
126688
126689
126690
126691
126692
126693
126694
126695
126696
126697
126698
126699
126700
126701
126702
126703
126704
126705
126706
126707
126708
126709
126710
126711
126712
126713
126714
126715
126716
126717
126718
126719
126720
126721
126722
126723
126724
126725
126726
126727
126728
126729
126730
126731
126732
126733
126734
126735
126736
126737
126738
126739
126740
126741
126742
126743
126744
126745
126746
126747
126748
126749
126750
126751
126752
126753
126754
126755
126756
126757
126758
126759
126760
126761
126762
126763
126764
126765
126766
126767
126768
126769
126770
126771
126772
126773
126774
126775
126776
126777
126778
126779
126780
126781
126782
126783
126784
126785
126786
126787
126788
126789
126790
126791
126792
126793
126794
126795
126796
126797
126798
126799
126800
126801
126802
126803
126804
126805
126806
126807
126808
126809
126810
126811
126812
126813
126814
126815
126816
126817
126818
126819
126820
126821
126822
126823
126824
126825
126826
126827
126828
126829
126830
126831
126832
126833
126834
126835
126836
126837
126838
126839
126840
126841
126842
126843
126844
126845
126846
126847
126848
126849
126850
126851
126852
126853
126854
126855
126856
126857
126858
126859
126860
126861
126862
126863
126864
126865
126866
126867
126868
126869
126870
126871
126872
126873
126874
126875
126876
126877
126878
126879
126880
126881
126882
126883
126884
126885
126886
126887
126888
126889
126890
126891
126892
126893
126894
126895
126896
126897
126898
126899
126900
126901
126902
126903
126904
126905
126906
126907
126908
126909
126910
126911
126912
126913
126914
126915
126916
126917
126918
126919
126920
126921
126922
126923
126924
126925
126926
126927
126928
126929
126930
126931
126932
126933
126934
126935
126936
126937
126938
126939
126940
126941
126942
126943
126944
126945
126946
126947
126948
126949
126950
126951
126952
126953
126954
126955
126956
126957
126958
126959
126960
126961
126962
126963
126964
126965
126966
126967
126968
126969
126970
126971
126972
126973
126974
126975
126976
126977
126978
126979
126980
126981
126982
126983
126984
126985
126986
126987
126988
126989
126990
126991
126992
126993
126994
126995
126996
126997
126998
126999
127000
127001
127002
127003
127004
127005
127006
127007
127008
127009
127010
127011
127012
127013
127014
127015
127016
127017
127018
127019
127020
127021
127022
127023
127024
127025
127026
127027
127028
127029
127030
127031
127032
127033
127034
127035
127036
127037
127038
127039
127040
127041
127042
127043
127044
127045
127046
127047
127048
127049
127050
127051
127052
127053
127054
127055
127056
127057
127058
127059
127060
127061
127062
127063
127064
127065
127066
127067
127068
127069
127070
127071
127072
127073
127074
127075
127076
127077
127078
127079
127080
127081
127082
127083
127084
127085
127086
127087
127088
127089
127090
127091
127092
127093
127094
127095
127096
127097
127098
127099
127100
127101
127102
127103
127104
127105
127106
127107
127108
127109
127110
127111
127112
127113
127114
127115
127116
127117
127118
127119
127120
127121
127122
127123
127124
127125
127126
127127
127128
127129
127130
127131
127132
127133
127134
127135
127136
127137
127138
127139
127140
127141
127142
127143
127144
127145
127146
127147
127148
127149
127150
127151
127152
127153
127154
127155
127156
127157
127158
127159
127160
127161
127162
127163
127164
127165
127166
127167
127168
127169
127170
127171
127172
127173
127174
127175
127176
127177
127178
127179
127180
127181
127182
127183
127184
127185
127186
127187
127188
127189
127190
127191
127192
127193
127194
127195
127196
127197
127198
127199
127200
127201
127202
127203
127204
127205
127206
127207
127208
127209
127210
127211
127212
127213
127214
127215
127216
127217
127218
127219
127220
127221
127222
127223
127224
127225
127226
127227
127228
127229
127230
127231
127232
127233
127234
127235
127236
127237
127238
127239
127240
127241
127242
127243
127244
127245
127246
127247
127248
127249
127250
127251
127252
127253
127254
127255
127256
127257
127258
127259
127260
127261
127262
127263
127264
127265
127266
127267
127268
127269
127270
127271
127272
127273
127274
127275
127276
127277
127278
127279
127280
127281
127282
127283
127284
127285
127286
127287
127288
127289
127290
127291
127292
127293
127294
127295
127296
127297
127298
127299
127300
127301
127302
127303
127304
127305
127306
127307
127308
127309
127310
127311
127312
127313
127314
127315
127316
127317
127318
127319
127320
127321
127322
127323
127324
127325
127326
127327
127328
127329
127330
127331
127332
127333
127334
127335
127336
127337
127338
127339
127340
127341
127342
127343
127344
127345
127346
127347
127348
127349
127350
127351
127352
127353
127354
127355
127356
127357
127358
127359
127360
127361
127362
127363
127364
127365
127366
127367
127368
127369
127370
127371
127372
127373
127374
127375
127376
127377
127378
127379
127380
127381
127382
127383
127384
127385
127386
127387
127388
127389
127390
127391
127392
127393
127394
127395
127396
127397
127398
127399
127400
127401
127402
127403
127404
127405
127406
127407
127408
127409
127410
127411
127412
127413
127414
127415
127416
127417
127418
127419
127420
127421
127422
127423
127424
127425
127426
127427
127428
127429
127430
127431
127432
127433
127434
127435
127436
127437
127438
127439
127440
127441
127442
127443
127444
127445
127446
127447
127448
127449
127450
127451
127452
127453
127454
127455
127456
127457
127458
127459
127460
127461
127462
127463
127464
127465
127466
127467
127468
127469
127470
127471
127472
127473
127474
127475
127476
127477
127478
127479
127480
127481
127482
127483
127484
127485
127486
127487
127488
127489
127490
127491
127492
127493
127494
127495
127496
127497
127498
127499
127500
127501
127502
127503
127504
127505
127506
127507
127508
127509
127510
127511
127512
127513
127514
127515
127516
127517
127518
127519
127520
127521
127522
127523
127524
127525
127526
127527
127528
127529
127530
127531
127532
127533
127534
127535
127536
127537
127538
127539
127540
127541
127542
127543
127544
127545
127546
127547
127548
127549
127550
127551
127552
127553
127554
127555
127556
127557
127558
127559
127560
127561
127562
127563
127564
127565
127566
127567
127568
127569
127570
127571
127572
127573
127574
127575
127576
127577
127578
127579
127580
127581
127582
127583
127584
127585
127586
127587
127588
127589
127590
127591
127592
127593
127594
127595
127596
127597
127598
127599
127600
127601
127602
127603
127604
127605
127606
127607
127608
127609
127610
127611
127612
127613
127614
127615
127616
127617
127618
127619
127620
127621
127622
127623
127624
127625
127626
127627
127628
127629
127630
127631
127632
127633
127634
127635
127636
127637
127638
127639
127640
127641
127642
127643
127644
127645
127646
127647
127648
127649
127650
127651
127652
127653
127654
127655
127656
127657
127658
127659
127660
127661
127662
127663
127664
127665
127666
127667
127668
127669
127670
127671
127672
127673
127674
127675
127676
127677
127678
127679
127680
127681
127682
127683
127684
127685
127686
127687
127688
127689
127690
127691
127692
127693
127694
127695
127696
127697
127698
127699
127700
127701
127702
127703
127704
127705
127706
127707
127708
127709
127710
127711
127712
127713
127714
127715
127716
127717
127718
127719
127720
127721
127722
127723
127724
127725
127726
127727
127728
127729
127730
127731
127732
127733
127734
127735
127736
127737
127738
127739
127740
127741
127742
127743
127744
127745
127746
127747
127748
127749
127750
127751
127752
127753
127754
127755
127756
127757
127758
127759
127760
127761
127762
127763
127764
127765
127766
127767
127768
127769
127770
127771
127772
127773
127774
127775
127776
127777
127778
127779
127780
127781
127782
127783
127784
127785
127786
127787
127788
127789
127790
127791
127792
127793
127794
127795
127796
127797
127798
127799
127800
127801
127802
127803
127804
127805
127806
127807
127808
127809
127810
127811
127812
127813
127814
127815
127816
127817
127818
127819
127820
127821
127822
127823
127824
127825
127826
127827
127828
127829
127830
127831
127832
127833
127834
127835
127836
127837
127838
127839
127840
127841
127842
127843
127844
127845
127846
127847
127848
127849
127850
127851
127852
127853
127854
127855
127856
127857
127858
127859
127860
127861
127862
127863
127864
127865
127866
127867
127868
127869
127870
127871
127872
127873
127874
127875
127876
127877
127878
127879
127880
127881
127882
127883
127884
127885
127886
127887
127888
127889
127890
127891
127892
127893
127894
127895
127896
127897
127898
127899
127900
127901
127902
127903
127904
127905
127906
127907
127908
127909
127910
127911
127912
127913
127914
127915
127916
127917
127918
127919
127920
127921
127922
127923
127924
127925
127926
127927
127928
127929
127930
127931
127932
127933
127934
127935
127936
127937
127938
127939
127940
127941
127942
127943
127944
127945
127946
127947
127948
127949
127950
127951
127952
127953
127954
127955
127956
127957
127958
127959
127960
127961
127962
127963
127964
127965
127966
127967
127968
127969
127970
127971
127972
127973
127974
127975
127976
127977
127978
127979
127980
127981
127982
127983
127984
127985
127986
127987
127988
127989
127990
127991
127992
127993
127994
127995
127996
127997
127998
127999
128000
128001
128002
128003
128004
128005
128006
128007
128008
128009
128010
128011
128012
128013
128014
128015
128016
128017
128018
128019
128020
128021
128022
128023
128024
128025
128026
128027
128028
128029
128030
128031
128032
128033
128034
128035
128036
128037
128038
128039
128040
128041
128042
128043
128044
128045
128046
128047
128048
128049
128050
128051
128052
128053
128054
128055
128056
128057
128058
128059
128060
128061
128062
128063
128064
128065
128066
128067
128068
128069
128070
128071
128072
128073
128074
128075
128076
128077
128078
128079
128080
128081
128082
128083
128084
128085
128086
128087
128088
128089
128090
128091
128092
128093
128094
128095
128096
128097
128098
128099
128100
128101
128102
128103
128104
128105
128106
128107
128108
128109
128110
128111
128112
128113
128114
128115
128116
128117
128118
128119
128120
128121
128122
128123
128124
128125
128126
128127
128128
128129
128130
128131
128132
128133
128134
128135
128136
128137
128138
128139
128140
128141
128142
128143
128144
128145
128146
128147
128148
128149
128150
128151
128152
128153
128154
128155
128156
128157
128158
128159
128160
128161
128162
128163
128164
128165
128166
128167
128168
128169
128170
128171
128172
128173
128174
128175
128176
128177
128178
128179
128180
128181
128182
128183
128184
128185
128186
128187
128188
128189
128190
128191
128192
128193
128194
128195
128196
128197
128198
128199
128200
128201
128202
128203
128204
128205
128206
128207
128208
128209
128210
128211
128212
128213
128214
128215
128216
128217
128218
128219
128220
128221
128222
128223
128224
128225
128226
128227
128228
128229
128230
128231
128232
128233
128234
128235
128236
128237
128238
128239
128240
128241
128242
128243
128244
128245
128246
128247
128248
128249
128250
128251
128252
128253
128254
128255
128256
128257
128258
128259
128260
128261
128262
128263
128264
128265
128266
128267
128268
128269
128270
128271
128272
128273
128274
128275
128276
128277
128278
128279
128280
128281
128282
128283
128284
128285
128286
128287
128288
128289
128290
128291
128292
128293
128294
128295
128296
128297
128298
128299
128300
128301
128302
128303
128304
128305
128306
128307
128308
128309
128310
128311
128312
128313
128314
128315
128316
128317
128318
128319
128320
128321
128322
128323
128324
128325
128326
128327
128328
128329
128330
128331
128332
128333
128334
128335
128336
128337
128338
128339
128340
128341
128342
128343
128344
128345
128346
128347
128348
128349
128350
128351
128352
128353
128354
128355
128356
128357
128358
128359
128360
128361
128362
128363
128364
128365
128366
128367
128368
128369
128370
128371
128372
128373
128374
128375
128376
128377
128378
128379
128380
128381
128382
128383
128384
128385
128386
128387
128388
128389
128390
128391
128392
128393
128394
128395
128396
128397
128398
128399
128400
128401
128402
128403
128404
128405
128406
128407
128408
128409
128410
128411
128412
128413
128414
128415
128416
128417
128418
128419
128420
128421
128422
128423
128424
128425
128426
128427
128428
128429
128430
128431
128432
128433
128434
128435
128436
128437
128438
128439
128440
128441
128442
128443
128444
128445
128446
128447
128448
128449
128450
128451
128452
128453
128454
128455
128456
128457
128458
128459
128460
128461
128462
128463
128464
128465
128466
128467
128468
128469
128470
128471
128472
128473
128474
128475
128476
128477
128478
128479
128480
128481
128482
128483
128484
128485
128486
128487
128488
128489
128490
128491
128492
128493
128494
128495
128496
128497
128498
128499
128500
128501
128502
128503
128504
128505
128506
128507
128508
128509
128510
128511
128512
128513
128514
128515
128516
128517
128518
128519
128520
128521
128522
128523
128524
128525
128526
128527
128528
128529
128530
128531
128532
128533
128534
128535
128536
128537
128538
128539
128540
128541
128542
128543
128544
128545
128546
128547
128548
128549
128550
128551
128552
128553
128554
128555
128556
128557
128558
128559
128560
128561
128562
128563
128564
128565
128566
128567
128568
128569
128570
128571
128572
128573
128574
128575
128576
128577
128578
128579
128580
128581
128582
128583
128584
128585
128586
128587
128588
128589
128590
128591
128592
128593
128594
128595
128596
128597
128598
128599
128600
128601
128602
128603
128604
128605
128606
128607
128608
128609
128610
128611
128612
128613
128614
128615
128616
128617
128618
128619
128620
128621
128622
128623
128624
128625
128626
128627
128628
128629
128630
128631
128632
128633
128634
128635
128636
128637
128638
128639
128640
128641
128642
128643
128644
128645
128646
128647
128648
128649
128650
128651
128652
128653
128654
128655
128656
128657
128658
128659
128660
128661
128662
128663
128664
128665
128666
128667
128668
128669
128670
128671
128672
128673
128674
128675
128676
128677
128678
128679
128680
128681
128682
128683
128684
128685
128686
128687
128688
128689
128690
128691
128692
128693
128694
128695
128696
128697
128698
128699
128700
128701
128702
128703
128704
128705
128706
128707
128708
128709
128710
128711
128712
128713
128714
128715
128716
128717
128718
128719
128720
128721
128722
128723
128724
128725
128726
128727
128728
128729
128730
128731
128732
128733
128734
128735
128736
128737
128738
128739
128740
128741
128742
128743
128744
128745
128746
128747
128748
128749
128750
128751
128752
128753
128754
128755
128756
128757
128758
128759
128760
128761
128762
128763
128764
128765
128766
128767
128768
128769
128770
128771
128772
128773
128774
128775
128776
128777
128778
128779
128780
128781
128782
128783
128784
128785
128786
128787
128788
128789
128790
128791
128792
128793
128794
128795
128796
128797
128798
128799
128800
128801
128802
128803
128804
128805
128806
128807
128808
128809
128810
128811
128812
128813
128814
128815
128816
128817
128818
128819
128820
128821
128822
128823
128824
128825
128826
128827
128828
128829
128830
128831
128832
128833
128834
128835
128836
128837
128838
128839
128840
128841
128842
128843
128844
128845
128846
128847
128848
128849
128850
128851
128852
128853
128854
128855
128856
128857
128858
128859
128860
128861
128862
128863
128864
128865
128866
128867
128868
128869
128870
128871
128872
128873
128874
128875
128876
128877
128878
128879
128880
128881
128882
128883
128884
128885
128886
128887
128888
128889
128890
128891
128892
128893
128894
128895
128896
128897
128898
128899
128900
128901
128902
128903
128904
128905
128906
128907
128908
128909
128910
128911
128912
128913
128914
128915
128916
128917
128918
128919
128920
128921
128922
128923
128924
128925
128926
128927
128928
128929
128930
128931
128932
128933
128934
128935
128936
128937
128938
128939
128940
128941
128942
128943
128944
128945
128946
128947
128948
128949
128950
128951
128952
128953
128954
128955
128956
128957
128958
128959
128960
128961
128962
128963
128964
128965
128966
128967
128968
128969
128970
128971
128972
128973
128974
128975
128976
128977
128978
128979
128980
128981
128982
128983
128984
128985
128986
128987
128988
128989
128990
128991
128992
128993
128994
128995
128996
128997
128998
128999
129000
129001
129002
129003
129004
129005
129006
129007
129008
129009
129010
129011
129012
129013
129014
129015
129016
129017
129018
129019
129020
129021
129022
129023
129024
129025
129026
129027
129028
129029
129030
129031
129032
129033
129034
129035
129036
129037
129038
129039
129040
129041
129042
129043
129044
129045
129046
129047
129048
129049
129050
129051
129052
129053
129054
129055
129056
129057
129058
129059
129060
129061
129062
129063
129064
129065
129066
129067
129068
129069
129070
129071
129072
129073
129074
129075
129076
129077
129078
129079
129080
129081
129082
129083
129084
129085
129086
129087
129088
129089
129090
129091
129092
129093
129094
129095
129096
129097
129098
129099
129100
129101
129102
129103
129104
129105
129106
129107
129108
129109
129110
129111
129112
129113
129114
129115
129116
129117
129118
129119
129120
129121
129122
129123
129124
129125
129126
129127
129128
129129
129130
129131
129132
129133
129134
129135
129136
129137
129138
129139
129140
129141
129142
129143
129144
129145
129146
129147
129148
129149
129150
129151
129152
129153
129154
129155
129156
129157
129158
129159
129160
129161
129162
129163
129164
129165
129166
129167
129168
129169
129170
129171
129172
129173
129174
129175
129176
129177
129178
129179
129180
129181
129182
129183
129184
129185
129186
129187
129188
129189
129190
129191
129192
129193
129194
129195
129196
129197
129198
129199
129200
129201
129202
129203
129204
129205
129206
129207
129208
129209
129210
129211
129212
129213
129214
129215
129216
129217
129218
129219
129220
129221
129222
129223
129224
129225
129226
129227
129228
129229
129230
129231
129232
129233
129234
129235
129236
129237
129238
129239
129240
129241
129242
129243
129244
129245
129246
129247
129248
129249
129250
129251
129252
129253
129254
129255
129256
129257
129258
129259
129260
129261
129262
129263
129264
129265
129266
129267
129268
129269
129270
129271
129272
129273
129274
129275
129276
129277
129278
129279
129280
129281
129282
129283
129284
129285
129286
129287
129288
129289
129290
129291
129292
129293
129294
129295
129296
129297
129298
129299
129300
129301
129302
129303
129304
129305
129306
129307
129308
129309
129310
129311
129312
129313
129314
129315
129316
129317
129318
129319
129320
129321
129322
129323
129324
129325
129326
129327
129328
129329
129330
129331
129332
129333
129334
129335
129336
129337
129338
129339
129340
129341
129342
129343
129344
129345
129346
129347
129348
129349
129350
129351
129352
129353
129354
129355
129356
129357
129358
129359
129360
129361
129362
129363
129364
129365
129366
129367
129368
129369
129370
129371
129372
129373
129374
129375
129376
129377
129378
129379
129380
129381
129382
129383
129384
129385
129386
129387
129388
129389
129390
129391
129392
129393
129394
129395
129396
129397
129398
129399
129400
129401
129402
129403
129404
129405
129406
129407
129408
129409
129410
129411
129412
129413
129414
129415
129416
129417
129418
129419
129420
129421
129422
129423
129424
129425
129426
129427
129428
129429
129430
129431
129432
129433
129434
129435
129436
129437
129438
129439
129440
129441
129442
129443
129444
129445
129446
129447
129448
129449
129450
129451
129452
129453
129454
129455
129456
129457
129458
129459
129460
129461
129462
129463
129464
129465
129466
129467
129468
129469
129470
129471
129472
129473
129474
129475
129476
129477
129478
129479
129480
129481
129482
129483
129484
129485
129486
129487
129488
129489
129490
129491
129492
129493
129494
129495
129496
129497
129498
129499
129500
129501
129502
129503
129504
129505
129506
129507
129508
129509
129510
129511
129512
129513
129514
129515
129516
129517
129518
129519
129520
129521
129522
129523
129524
129525
129526
129527
129528
129529
129530
129531
129532
129533
129534
129535
129536
129537
129538
129539
129540
129541
129542
129543
129544
129545
129546
129547
129548
129549
129550
129551
129552
129553
129554
129555
129556
129557
129558
129559
129560
129561
129562
129563
129564
129565
129566
129567
129568
129569
129570
129571
129572
129573
129574
129575
129576
129577
129578
129579
129580
129581
129582
129583
129584
129585
129586
129587
129588
129589
129590
129591
129592
129593
129594
129595
129596
129597
129598
129599
129600
129601
129602
129603
129604
129605
129606
129607
129608
129609
129610
129611
129612
129613
129614
129615
129616
129617
129618
129619
129620
129621
129622
129623
129624
129625
129626
129627
129628
129629
129630
129631
129632
129633
129634
129635
129636
129637
129638
129639
129640
129641
129642
129643
129644
129645
129646
129647
129648
129649
129650
129651
129652
129653
129654
129655
129656
129657
129658
129659
129660
129661
129662
129663
129664
129665
129666
129667
129668
129669
129670
129671
129672
129673
129674
129675
129676
129677
129678
129679
129680
129681
129682
129683
129684
129685
129686
129687
129688
129689
129690
129691
129692
129693
129694
129695
129696
129697
129698
129699
129700
129701
129702
129703
129704
129705
129706
129707
129708
129709
129710
129711
129712
129713
129714
129715
129716
129717
129718
129719
129720
129721
129722
129723
129724
129725
129726
129727
129728
129729
129730
129731
129732
129733
129734
129735
129736
129737
129738
129739
129740
129741
129742
129743
129744
129745
129746
129747
129748
129749
129750
129751
129752
129753
129754
129755
129756
129757
129758
129759
129760
129761
129762
129763
129764
129765
129766
129767
129768
129769
129770
129771
129772
129773
129774
129775
129776
129777
129778
129779
129780
129781
129782
129783
129784
129785
129786
129787
129788
129789
129790
129791
129792
129793
129794
129795
129796
129797
129798
129799
129800
129801
129802
129803
129804
129805
129806
129807
129808
129809
129810
129811
129812
129813
129814
129815
129816
129817
129818
129819
129820
129821
129822
129823
129824
129825
129826
129827
129828
129829
129830
129831
129832
129833
129834
129835
129836
129837
129838
129839
129840
129841
129842
129843
129844
129845
129846
129847
129848
129849
129850
129851
129852
129853
129854
129855
129856
129857
129858
129859
129860
129861
129862
129863
129864
129865
129866
129867
129868
129869
129870
129871
129872
129873
129874
129875
129876
129877
129878
129879
129880
129881
129882
129883
129884
129885
129886
129887
129888
129889
129890
129891
129892
129893
129894
129895
129896
129897
129898
129899
129900
129901
129902
129903
129904
129905
129906
129907
129908
129909
129910
129911
129912
129913
129914
129915
129916
129917
129918
129919
129920
129921
129922
129923
129924
129925
129926
129927
129928
129929
129930
129931
129932
129933
129934
129935
129936
129937
129938
129939
129940
129941
129942
129943
129944
129945
129946
129947
129948
129949
129950
129951
129952
129953
129954
129955
129956
129957
129958
129959
129960
129961
129962
129963
129964
129965
129966
129967
129968
129969
129970
129971
129972
129973
129974
129975
129976
129977
129978
129979
129980
129981
129982
129983
129984
129985
129986
129987
129988
129989
129990
129991
129992
129993
129994
129995
129996
129997
129998
129999
130000
130001
130002
130003
130004
130005
130006
130007
130008
130009
130010
130011
130012
130013
130014
130015
130016
130017
130018
130019
130020
130021
130022
130023
130024
130025
130026
130027
130028
130029
130030
130031
130032
130033
130034
130035
130036
130037
130038
130039
130040
130041
130042
130043
130044
130045
130046
130047
130048
130049
130050
130051
130052
130053
130054
130055
130056
130057
130058
130059
130060
130061
130062
130063
130064
130065
130066
130067
130068
130069
130070
130071
130072
130073
130074
130075
130076
130077
130078
130079
130080
130081
130082
130083
130084
130085
130086
130087
130088
130089
130090
130091
130092
130093
130094
130095
130096
130097
130098
130099
130100
130101
130102
130103
130104
130105
130106
130107
130108
130109
130110
130111
130112
130113
130114
130115
130116
130117
130118
130119
130120
130121
130122
130123
130124
130125
130126
130127
130128
130129
130130
130131
130132
130133
130134
130135
130136
130137
130138
130139
130140
130141
130142
130143
130144
130145
130146
130147
130148
130149
130150
130151
130152
130153
130154
130155
130156
130157
130158
130159
130160
130161
130162
130163
130164
130165
130166
130167
130168
130169
130170
130171
130172
130173
130174
130175
130176
130177
130178
130179
130180
130181
130182
130183
130184
130185
130186
130187
130188
130189
130190
130191
130192
130193
130194
130195
130196
130197
130198
130199
130200
130201
130202
130203
130204
130205
130206
130207
130208
130209
130210
130211
130212
130213
130214
130215
130216
130217
130218
130219
130220
130221
130222
130223
130224
130225
130226
130227
130228
130229
130230
130231
130232
130233
130234
130235
130236
130237
130238
130239
130240
130241
130242
130243
130244
130245
130246
130247
130248
130249
130250
130251
130252
130253
130254
130255
130256
130257
130258
130259
130260
130261
130262
130263
130264
130265
130266
130267
130268
130269
130270
130271
130272
130273
130274
130275
130276
130277
130278
130279
130280
130281
130282
130283
130284
130285
130286
130287
130288
130289
130290
130291
130292
130293
130294
130295
130296
130297
130298
130299
130300
130301
130302
130303
130304
130305
130306
130307
130308
130309
130310
130311
130312
130313
130314
130315
130316
130317
130318
130319
130320
130321
130322
130323
130324
130325
130326
130327
130328
130329
130330
130331
130332
130333
130334
130335
130336
130337
130338
130339
130340
130341
130342
130343
130344
130345
130346
130347
130348
130349
130350
130351
130352
130353
130354
130355
130356
130357
130358
130359
130360
130361
130362
130363
130364
130365
130366
130367
130368
130369
130370
130371
130372
130373
130374
130375
130376
130377
130378
130379
130380
130381
130382
130383
130384
130385
130386
130387
130388
130389
130390
130391
130392
130393
130394
130395
130396
130397
130398
130399
130400
130401
130402
130403
130404
130405
130406
130407
130408
130409
130410
130411
130412
130413
130414
130415
130416
130417
130418
130419
130420
130421
130422
130423
130424
130425
130426
130427
130428
130429
130430
130431
130432
130433
130434
130435
130436
130437
130438
130439
130440
130441
130442
130443
130444
130445
130446
130447
130448
130449
130450
130451
130452
130453
130454
130455
130456
130457
130458
130459
130460
130461
130462
130463
130464
130465
130466
130467
130468
130469
130470
130471
130472
130473
130474
130475
130476
130477
130478
130479
130480
130481
130482
130483
130484
130485
130486
130487
130488
130489
130490
130491
130492
130493
130494
130495
130496
130497
130498
130499
130500
130501
130502
130503
130504
130505
130506
130507
130508
130509
130510
130511
130512
130513
130514
130515
130516
130517
130518
130519
130520
130521
130522
130523
130524
130525
130526
130527
130528
130529
130530
130531
130532
130533
130534
130535
130536
130537
130538
130539
130540
130541
130542
130543
130544
130545
130546
130547
130548
130549
130550
130551
130552
130553
130554
130555
130556
130557
130558
130559
130560
130561
130562
130563
130564
130565
130566
130567
130568
130569
130570
130571
130572
130573
130574
130575
130576
130577
130578
130579
130580
130581
130582
130583
130584
130585
130586
130587
130588
130589
130590
130591
130592
130593
130594
130595
130596
130597
130598
130599
130600
130601
130602
130603
130604
130605
130606
130607
130608
130609
130610
130611
130612
130613
130614
130615
130616
130617
130618
130619
130620
130621
130622
130623
130624
130625
130626
130627
130628
130629
130630
130631
130632
130633
130634
130635
130636
130637
130638
130639
130640
130641
130642
130643
130644
130645
130646
130647
130648
130649
130650
130651
130652
130653
130654
130655
130656
130657
130658
130659
130660
130661
130662
130663
130664
130665
130666
130667
130668
130669
130670
130671
130672
130673
130674
130675
130676
130677
130678
130679
130680
130681
130682
130683
130684
130685
130686
130687
130688
130689
130690
130691
130692
130693
130694
130695
130696
130697
130698
130699
130700
130701
130702
130703
130704
130705
130706
130707
130708
130709
130710
130711
130712
130713
130714
130715
130716
130717
130718
130719
130720
130721
130722
130723
130724
130725
130726
130727
130728
130729
130730
130731
130732
130733
130734
130735
130736
130737
130738
130739
130740
130741
130742
130743
130744
130745
130746
130747
130748
130749
130750
130751
130752
130753
130754
130755
130756
130757
130758
130759
130760
130761
130762
130763
130764
130765
130766
130767
130768
130769
130770
130771
130772
130773
130774
130775
130776
130777
130778
130779
130780
130781
130782
130783
130784
130785
130786
130787
130788
130789
130790
130791
130792
130793
130794
130795
130796
130797
130798
130799
130800
130801
130802
130803
130804
130805
130806
130807
130808
130809
130810
130811
130812
130813
130814
130815
130816
130817
130818
130819
130820
130821
130822
130823
130824
130825
130826
130827
130828
130829
130830
130831
130832
130833
130834
130835
130836
130837
130838
130839
130840
130841
130842
130843
130844
130845
130846
130847
130848
130849
130850
130851
130852
130853
130854
130855
130856
130857
130858
130859
130860
130861
130862
130863
130864
130865
130866
130867
130868
130869
130870
130871
130872
130873
130874
130875
130876
130877
130878
130879
130880
130881
130882
130883
130884
130885
130886
130887
130888
130889
130890
130891
130892
130893
130894
130895
130896
130897
130898
130899
130900
130901
130902
130903
130904
130905
130906
130907
130908
130909
130910
130911
130912
130913
130914
130915
130916
130917
130918
130919
130920
130921
130922
130923
130924
130925
130926
130927
130928
130929
130930
130931
130932
130933
130934
130935
130936
130937
130938
130939
130940
130941
130942
130943
130944
130945
130946
130947
130948
130949
130950
130951
130952
130953
130954
130955
130956
130957
130958
130959
130960
130961
130962
130963
130964
130965
130966
130967
130968
130969
130970
130971
130972
130973
130974
130975
130976
130977
130978
130979
130980
130981
130982
130983
130984
130985
130986
130987
130988
130989
130990
130991
130992
130993
130994
130995
130996
130997
130998
130999
131000
131001
131002
131003
131004
131005
131006
131007
131008
131009
131010
131011
131012
131013
131014
131015
131016
131017
131018
131019
131020
131021
131022
131023
131024
131025
131026
131027
131028
131029
131030
131031
131032
131033
131034
131035
131036
131037
131038
131039
131040
131041
131042
131043
131044
131045
131046
131047
131048
131049
131050
131051
131052
131053
131054
131055
131056
131057
131058
131059
131060
131061
131062
131063
131064
131065
131066
131067
131068
131069
131070
131071
131072
131073
131074
131075
131076
131077
131078
131079
131080
131081
131082
131083
131084
131085
131086
131087
131088
131089
131090
131091
131092
131093
131094
131095
131096
131097
131098
131099
131100
131101
131102
131103
131104
131105
131106
131107
131108
131109
131110
131111
131112
131113
131114
131115
131116
131117
131118
131119
131120
131121
131122
131123
131124
131125
131126
131127
131128
131129
131130
131131
131132
131133
131134
131135
131136
131137
131138
131139
131140
131141
131142
131143
131144
131145
131146
131147
131148
131149
131150
131151
131152
131153
131154
131155
131156
131157
131158
131159
131160
131161
131162
131163
131164
131165
131166
131167
131168
131169
131170
131171
131172
131173
131174
131175
131176
131177
131178
131179
131180
131181
131182
131183
131184
131185
131186
131187
131188
131189
131190
131191
131192
131193
131194
131195
131196
131197
131198
131199
131200
131201
131202
131203
131204
131205
131206
131207
131208
131209
131210
131211
131212
131213
131214
131215
131216
131217
131218
131219
131220
131221
131222
131223
131224
131225
131226
131227
131228
131229
131230
131231
131232
131233
131234
131235
131236
131237
131238
131239
131240
131241
131242
131243
131244
131245
131246
131247
131248
131249
131250
131251
131252
131253
131254
131255
131256
131257
131258
131259
131260
131261
131262
131263
131264
131265
131266
131267
131268
131269
131270
131271
131272
131273
131274
131275
131276
131277
131278
131279
131280
131281
131282
131283
131284
131285
131286
131287
131288
131289
131290
131291
131292
131293
131294
131295
131296
131297
131298
131299
131300
131301
131302
131303
131304
131305
131306
131307
131308
131309
131310
131311
131312
131313
131314
131315
131316
131317
131318
131319
131320
131321
131322
131323
131324
131325
131326
131327
131328
131329
131330
131331
131332
131333
131334
131335
131336
131337
131338
131339
131340
131341
131342
131343
131344
131345
131346
131347
131348
131349
131350
131351
131352
131353
131354
131355
131356
131357
131358
131359
131360
131361
131362
131363
131364
131365
131366
131367
131368
131369
131370
131371
131372
131373
131374
131375
131376
131377
131378
131379
131380
131381
131382
131383
131384
131385
131386
131387
131388
131389
131390
131391
131392
131393
131394
131395
131396
131397
131398
131399
131400
131401
131402
131403
131404
131405
131406
131407
131408
131409
131410
131411
131412
131413
131414
131415
131416
131417
131418
131419
131420
131421
131422
131423
131424
131425
131426
131427
131428
131429
131430
131431
131432
131433
131434
131435
131436
131437
131438
131439
131440
131441
131442
131443
131444
131445
131446
131447
131448
131449
131450
131451
131452
131453
131454
131455
131456
131457
131458
131459
131460
131461
131462
131463
131464
131465
131466
131467
131468
131469
131470
131471
131472
131473
131474
131475
131476
131477
131478
131479
131480
131481
131482
131483
131484
131485
131486
131487
131488
131489
131490
131491
131492
131493
131494
131495
131496
131497
131498
131499
131500
131501
131502
131503
131504
131505
131506
131507
131508
131509
131510
131511
131512
131513
131514
131515
131516
131517
131518
131519
131520
131521
131522
131523
131524
131525
131526
131527
131528
131529
131530
131531
131532
131533
131534
131535
131536
131537
131538
131539
131540
131541
131542
131543
131544
131545
131546
131547
131548
131549
131550
131551
131552
131553
131554
131555
131556
131557
131558
131559
131560
131561
131562
131563
131564
131565
131566
131567
131568
131569
131570
131571
131572
131573
131574
131575
131576
131577
131578
131579
131580
131581
131582
131583
131584
131585
131586
131587
131588
131589
131590
131591
131592
131593
131594
131595
131596
131597
131598
131599
131600
131601
131602
131603
131604
131605
131606
131607
131608
131609
131610
131611
131612
131613
131614
131615
131616
131617
131618
131619
131620
131621
131622
131623
131624
131625
131626
131627
131628
131629
131630
131631
131632
131633
131634
131635
131636
131637
131638
131639
131640
131641
131642
131643
131644
131645
131646
131647
131648
131649
131650
131651
131652
131653
131654
131655
131656
131657
131658
131659
131660
131661
131662
131663
131664
131665
131666
131667
131668
131669
131670
131671
131672
131673
131674
131675
131676
131677
131678
131679
131680
131681
131682
131683
131684
131685
131686
131687
131688
131689
131690
131691
131692
131693
131694
131695
131696
131697
131698
131699
131700
131701
131702
131703
131704
131705
131706
131707
131708
131709
131710
131711
131712
131713
131714
131715
131716
131717
131718
131719
131720
131721
131722
131723
131724
131725
131726
131727
131728
131729
131730
131731
131732
131733
131734
131735
131736
131737
131738
131739
131740
131741
131742
131743
131744
131745
131746
131747
131748
131749
131750
131751
131752
131753
131754
131755
131756
131757
131758
131759
131760
131761
131762
131763
131764
131765
131766
131767
131768
131769
131770
131771
131772
131773
131774
131775
131776
131777
131778
131779
131780
131781
131782
131783
131784
131785
131786
131787
131788
131789
131790
131791
131792
131793
131794
131795
131796
131797
131798
131799
131800
131801
131802
131803
131804
131805
131806
131807
131808
131809
131810
131811
131812
131813
131814
131815
131816
131817
131818
131819
131820
131821
131822
131823
131824
131825
131826
131827
131828
131829
131830
131831
131832
131833
131834
131835
131836
131837
131838
131839
131840
131841
131842
131843
131844
131845
131846
131847
131848
131849
131850
131851
131852
131853
131854
131855
131856
131857
131858
131859
131860
131861
131862
131863
131864
131865
131866
131867
131868
131869
131870
131871
131872
131873
131874
131875
131876
131877
131878
131879
131880
131881
131882
131883
131884
131885
131886
131887
131888
131889
131890
131891
131892
131893
131894
131895
131896
131897
131898
131899
131900
131901
131902
131903
131904
131905
131906
131907
131908
131909
131910
131911
131912
131913
131914
131915
131916
131917
131918
131919
131920
131921
131922
131923
131924
131925
131926
131927
131928
131929
131930
131931
131932
131933
131934
131935
131936
131937
131938
131939
131940
131941
131942
131943
131944
131945
131946
131947
131948
131949
131950
131951
131952
131953
131954
131955
131956
131957
131958
131959
131960
131961
131962
131963
131964
131965
131966
131967
131968
131969
131970
131971
131972
131973
131974
131975
131976
131977
131978
131979
131980
131981
131982
131983
131984
131985
131986
131987
131988
131989
131990
131991
131992
131993
131994
131995
131996
131997
131998
131999
132000
132001
132002
132003
132004
132005
132006
132007
132008
132009
132010
132011
132012
132013
132014
132015
132016
132017
132018
132019
132020
132021
132022
132023
132024
132025
132026
132027
132028
132029
132030
132031
132032
132033
132034
132035
132036
132037
132038
132039
132040
132041
132042
132043
132044
132045
132046
132047
132048
132049
132050
132051
132052
132053
132054
132055
132056
132057
132058
132059
132060
132061
132062
132063
132064
132065
132066
132067
132068
132069
132070
132071
132072
132073
132074
132075
132076
132077
132078
132079
132080
132081
132082
132083
132084
132085
132086
132087
132088
132089
132090
132091
132092
132093
132094
132095
132096
132097
132098
132099
132100
132101
132102
132103
132104
132105
132106
132107
132108
132109
132110
132111
132112
132113
132114
132115
132116
132117
132118
132119
132120
132121
132122
132123
132124
132125
132126
132127
132128
132129
132130
132131
132132
132133
132134
132135
132136
132137
132138
132139
132140
132141
132142
132143
132144
132145
132146
132147
132148
132149
132150
132151
132152
132153
132154
132155
132156
132157
132158
132159
132160
132161
132162
132163
132164
132165
132166
132167
132168
132169
132170
132171
132172
132173
132174
132175
132176
132177
132178
132179
132180
132181
132182
132183
132184
132185
132186
132187
132188
132189
132190
132191
132192
132193
132194
132195
132196
132197
132198
132199
132200
132201
132202
132203
132204
132205
132206
132207
132208
132209
132210
132211
132212
132213
132214
132215
132216
132217
132218
132219
132220
132221
132222
132223
132224
132225
132226
132227
132228
132229
132230
132231
132232
132233
132234
132235
132236
132237
132238
132239
132240
132241
132242
132243
132244
132245
132246
132247
132248
132249
132250
132251
132252
132253
132254
132255
132256
132257
132258
132259
132260
132261
132262
132263
132264
132265
132266
132267
132268
132269
132270
132271
132272
132273
132274
132275
132276
132277
132278
132279
132280
132281
132282
132283
132284
132285
132286
132287
132288
132289
132290
132291
132292
132293
132294
132295
132296
132297
132298
132299
132300
132301
132302
132303
132304
132305
132306
132307
132308
132309
132310
132311
132312
132313
132314
132315
132316
132317
132318
132319
132320
132321
132322
132323
132324
132325
132326
132327
132328
132329
132330
132331
132332
132333
132334
132335
132336
132337
132338
132339
132340
132341
132342
132343
132344
132345
132346
132347
132348
132349
132350
132351
132352
132353
132354
132355
132356
132357
132358
132359
132360
132361
132362
132363
132364
132365
132366
132367
132368
132369
132370
132371
132372
132373
132374
132375
132376
132377
132378
132379
132380
132381
132382
132383
132384
132385
132386
132387
132388
132389
132390
132391
132392
132393
132394
132395
132396
132397
132398
132399
132400
132401
132402
132403
132404
132405
132406
132407
132408
132409
132410
132411
132412
132413
132414
132415
132416
132417
132418
132419
132420
132421
132422
132423
132424
132425
132426
132427
132428
132429
132430
132431
132432
132433
132434
132435
132436
132437
132438
132439
132440
132441
132442
132443
132444
132445
132446
132447
132448
132449
132450
132451
132452
132453
132454
132455
132456
132457
132458
132459
132460
132461
132462
132463
132464
132465
132466
132467
132468
132469
132470
132471
132472
132473
132474
132475
132476
132477
132478
132479
132480
132481
132482
132483
132484
132485
132486
132487
132488
132489
132490
132491
132492
132493
132494
132495
132496
132497
132498
132499
132500
132501
132502
132503
132504
132505
132506
132507
132508
132509
132510
132511
132512
132513
132514
132515
132516
132517
132518
132519
132520
132521
132522
132523
132524
132525
132526
132527
132528
132529
132530
132531
132532
132533
132534
132535
132536
132537
132538
132539
132540
132541
132542
132543
132544
132545
132546
132547
132548
132549
132550
132551
132552
132553
132554
132555
132556
132557
132558
132559
132560
132561
132562
132563
132564
132565
132566
132567
132568
132569
132570
132571
132572
132573
132574
132575
132576
132577
132578
132579
132580
132581
132582
132583
132584
132585
132586
132587
132588
132589
132590
132591
132592
132593
132594
132595
132596
132597
132598
132599
132600
132601
132602
132603
132604
132605
132606
132607
132608
132609
132610
132611
132612
132613
132614
132615
132616
132617
132618
132619
132620
132621
132622
132623
132624
132625
132626
132627
132628
132629
132630
132631
132632
132633
132634
132635
132636
132637
132638
132639
132640
132641
132642
132643
132644
132645
132646
132647
132648
132649
132650
132651
132652
132653
132654
132655
132656
132657
132658
132659
132660
132661
132662
132663
132664
132665
132666
132667
132668
132669
132670
132671
132672
132673
132674
132675
132676
132677
132678
132679
132680
132681
132682
132683
132684
132685
132686
132687
132688
132689
132690
132691
132692
132693
132694
132695
132696
132697
132698
132699
132700
132701
132702
132703
132704
132705
132706
132707
132708
132709
132710
132711
132712
132713
132714
132715
132716
132717
132718
132719
132720
132721
132722
132723
132724
132725
132726
132727
132728
132729
132730
132731
132732
132733
132734
132735
132736
132737
132738
132739
132740
132741
132742
132743
132744
132745
132746
132747
132748
132749
132750
132751
132752
132753
132754
132755
132756
132757
132758
132759
132760
132761
132762
132763
132764
132765
132766
132767
132768
132769
132770
132771
132772
132773
132774
132775
132776
132777
132778
132779
132780
132781
132782
132783
132784
132785
132786
132787
132788
132789
132790
132791
132792
132793
132794
132795
132796
132797
132798
132799
132800
132801
132802
132803
132804
132805
132806
132807
132808
132809
132810
132811
132812
132813
132814
132815
132816
132817
132818
132819
132820
132821
132822
132823
132824
132825
132826
132827
132828
132829
132830
132831
132832
132833
132834
132835
132836
132837
132838
132839
132840
132841
132842
132843
132844
132845
132846
132847
132848
132849
132850
132851
132852
132853
132854
132855
132856
132857
132858
132859
132860
132861
132862
132863
132864
132865
132866
132867
132868
132869
132870
132871
132872
132873
132874
132875
132876
132877
132878
132879
132880
132881
132882
132883
132884
132885
132886
132887
132888
132889
132890
132891
132892
132893
132894
132895
132896
132897
132898
132899
132900
132901
132902
132903
132904
132905
132906
132907
132908
132909
132910
132911
132912
132913
132914
132915
132916
132917
132918
132919
132920
132921
132922
132923
132924
132925
132926
132927
132928
132929
132930
132931
132932
132933
132934
132935
132936
132937
132938
132939
132940
132941
132942
132943
132944
132945
132946
132947
132948
132949
132950
132951
132952
132953
132954
132955
132956
132957
132958
132959
132960
132961
132962
132963
132964
132965
132966
132967
132968
132969
132970
132971
132972
132973
132974
132975
132976
132977
132978
132979
132980
132981
132982
132983
132984
132985
132986
132987
132988
132989
132990
132991
132992
132993
132994
132995
132996
132997
132998
132999
133000
133001
133002
133003
133004
133005
133006
133007
133008
133009
133010
133011
133012
133013
133014
133015
133016
133017
133018
133019
133020
133021
133022
133023
133024
133025
133026
133027
133028
133029
133030
133031
133032
133033
133034
133035
133036
133037
133038
133039
133040
133041
133042
133043
133044
133045
133046
133047
133048
133049
133050
133051
133052
133053
133054
133055
133056
133057
133058
133059
133060
133061
133062
133063
133064
133065
133066
133067
133068
133069
133070
133071
133072
133073
133074
133075
133076
133077
133078
133079
133080
133081
133082
133083
133084
133085
133086
133087
133088
133089
133090
133091
133092
133093
133094
133095
133096
133097
133098
133099
133100
133101
133102
133103
133104
133105
133106
133107
133108
133109
133110
133111
133112
133113
133114
133115
133116
133117
133118
133119
133120
133121
133122
133123
133124
133125
133126
133127
133128
133129
133130
133131
133132
133133
133134
133135
133136
133137
133138
133139
133140
133141
133142
133143
133144
133145
133146
133147
133148
133149
133150
133151
133152
133153
133154
133155
133156
133157
133158
133159
133160
133161
133162
133163
133164
133165
133166
133167
133168
133169
133170
133171
133172
133173
133174
133175
133176
133177
133178
133179
133180
133181
133182
133183
133184
133185
133186
133187
133188
133189
133190
133191
133192
133193
133194
133195
133196
133197
133198
133199
133200
133201
133202
133203
133204
133205
133206
133207
133208
133209
133210
133211
133212
133213
133214
133215
133216
133217
133218
133219
133220
133221
133222
133223
133224
133225
133226
133227
133228
133229
133230
133231
133232
133233
133234
133235
133236
133237
133238
133239
133240
133241
133242
133243
133244
133245
133246
133247
133248
133249
133250
133251
133252
133253
133254
133255
133256
133257
133258
133259
133260
133261
133262
133263
133264
133265
133266
133267
133268
133269
133270
133271
133272
133273
133274
133275
133276
133277
133278
133279
133280
133281
133282
133283
133284
133285
133286
133287
133288
133289
133290
133291
133292
133293
133294
133295
133296
133297
133298
133299
133300
133301
133302
133303
133304
133305
133306
133307
133308
133309
133310
133311
133312
133313
133314
133315
133316
133317
133318
133319
133320
133321
133322
133323
133324
133325
133326
133327
133328
133329
133330
133331
133332
133333
133334
133335
133336
133337
133338
133339
133340
133341
133342
133343
133344
133345
133346
133347
133348
133349
133350
133351
133352
133353
133354
133355
133356
133357
133358
133359
133360
133361
133362
133363
133364
133365
133366
133367
133368
133369
133370
133371
133372
133373
133374
133375
133376
133377
133378
133379
133380
133381
133382
133383
133384
133385
133386
133387
133388
133389
133390
133391
133392
133393
133394
133395
133396
133397
133398
133399
133400
133401
133402
133403
133404
133405
133406
133407
133408
133409
133410
133411
133412
133413
133414
133415
133416
133417
133418
133419
133420
133421
133422
133423
133424
133425
133426
133427
133428
133429
133430
133431
133432
133433
133434
133435
133436
133437
133438
133439
133440
133441
133442
133443
133444
133445
133446
133447
133448
133449
133450
133451
133452
133453
133454
133455
133456
133457
133458
133459
133460
133461
133462
133463
133464
133465
133466
133467
133468
133469
133470
133471
133472
133473
133474
133475
133476
133477
133478
133479
133480
133481
133482
133483
133484
133485
133486
133487
133488
133489
133490
133491
133492
133493
133494
133495
133496
133497
133498
133499
133500
133501
133502
133503
133504
133505
133506
133507
133508
133509
133510
133511
133512
133513
133514
133515
133516
133517
133518
133519
133520
133521
133522
133523
133524
133525
133526
133527
133528
133529
133530
133531
133532
133533
133534
133535
133536
133537
133538
133539
133540
133541
133542
133543
133544
133545
133546
133547
133548
133549
133550
133551
133552
133553
133554
133555
133556
133557
133558
133559
133560
133561
133562
133563
133564
133565
133566
133567
133568
133569
133570
133571
133572
133573
133574
133575
133576
133577
133578
133579
133580
133581
133582
133583
133584
133585
133586
133587
133588
133589
133590
133591
133592
133593
133594
133595
133596
133597
133598
133599
133600
133601
133602
133603
133604
133605
133606
133607
133608
133609
133610
133611
133612
133613
133614
133615
133616
133617
133618
133619
133620
133621
133622
133623
133624
133625
133626
133627
133628
133629
133630
133631
133632
133633
133634
133635
133636
133637
133638
133639
133640
133641
133642
133643
133644
133645
133646
133647
133648
133649
133650
133651
133652
133653
133654
133655
133656
133657
133658
133659
133660
133661
133662
133663
133664
133665
133666
133667
133668
133669
133670
133671
133672
133673
133674
133675
133676
133677
133678
133679
133680
133681
133682
133683
133684
133685
133686
133687
133688
133689
133690
133691
133692
133693
133694
133695
133696
133697
133698
133699
133700
133701
133702
133703
133704
133705
133706
133707
133708
133709
133710
133711
133712
133713
133714
133715
133716
133717
133718
133719
133720
133721
133722
133723
133724
133725
133726
133727
133728
133729
133730
133731
133732
133733
133734
133735
133736
133737
133738
133739
133740
133741
133742
133743
133744
133745
133746
133747
133748
133749
133750
133751
133752
133753
133754
133755
133756
133757
133758
133759
133760
133761
133762
133763
133764
133765
133766
133767
133768
133769
133770
133771
133772
133773
133774
133775
133776
133777
133778
133779
133780
133781
133782
133783
133784
133785
133786
133787
133788
133789
133790
133791
133792
133793
133794
133795
133796
133797
133798
133799
133800
133801
133802
133803
133804
133805
133806
133807
133808
133809
133810
133811
133812
133813
133814
133815
133816
133817
133818
133819
133820
133821
133822
133823
133824
133825
133826
133827
133828
133829
133830
133831
133832
133833
133834
133835
133836
133837
133838
133839
133840
133841
133842
133843
133844
133845
133846
133847
133848
133849
133850
133851
133852
133853
133854
133855
133856
133857
133858
133859
133860
133861
133862
133863
133864
133865
133866
133867
133868
133869
133870
133871
133872
133873
133874
133875
133876
133877
133878
133879
133880
133881
133882
133883
133884
133885
133886
133887
133888
133889
133890
133891
133892
133893
133894
133895
133896
133897
133898
133899
133900
133901
133902
133903
133904
133905
133906
133907
133908
133909
133910
133911
133912
133913
133914
133915
133916
133917
133918
133919
133920
133921
133922
133923
133924
133925
133926
133927
133928
133929
133930
133931
133932
133933
133934
133935
133936
133937
133938
133939
133940
133941
133942
133943
133944
133945
133946
133947
133948
133949
133950
133951
133952
133953
133954
133955
133956
133957
133958
133959
133960
133961
133962
133963
133964
133965
133966
133967
133968
133969
133970
133971
133972
133973
133974
133975
133976
133977
133978
133979
133980
133981
133982
133983
133984
133985
133986
133987
133988
133989
133990
133991
133992
133993
133994
133995
133996
133997
133998
133999
134000
134001
134002
134003
134004
134005
134006
134007
134008
134009
134010
134011
134012
134013
134014
134015
134016
134017
134018
134019
134020
134021
134022
134023
134024
134025
134026
134027
134028
134029
134030
134031
134032
134033
134034
134035
134036
134037
134038
134039
134040
134041
134042
134043
134044
134045
134046
134047
134048
134049
134050
134051
134052
134053
134054
134055
134056
134057
134058
134059
134060
134061
134062
134063
134064
134065
134066
134067
134068
134069
134070
134071
134072
134073
134074
134075
134076
134077
134078
134079
134080
134081
134082
134083
134084
134085
134086
134087
134088
134089
134090
134091
134092
134093
134094
134095
134096
134097
134098
134099
134100
134101
134102
134103
134104
134105
134106
134107
134108
134109
134110
134111
134112
134113
134114
134115
134116
134117
134118
134119
134120
134121
134122
134123
134124
134125
134126
134127
134128
134129
134130
134131
134132
134133
134134
134135
134136
134137
134138
134139
134140
134141
134142
134143
134144
134145
134146
134147
134148
134149
134150
134151
134152
134153
134154
134155
134156
134157
134158
134159
134160
134161
134162
134163
134164
134165
134166
134167
134168
134169
134170
134171
134172
134173
134174
134175
134176
134177
134178
134179
134180
134181
134182
134183
134184
134185
134186
134187
134188
134189
134190
134191
134192
134193
134194
134195
134196
134197
134198
134199
134200
134201
134202
134203
134204
134205
134206
134207
134208
134209
134210
134211
134212
134213
134214
134215
134216
134217
134218
134219
134220
134221
134222
134223
134224
134225
134226
134227
134228
134229
134230
134231
134232
134233
134234
134235
134236
134237
134238
134239
134240
134241
134242
134243
134244
134245
134246
134247
134248
134249
134250
134251
134252
134253
134254
134255
134256
134257
134258
134259
134260
134261
134262
134263
134264
134265
134266
134267
134268
134269
134270
134271
134272
134273
134274
134275
134276
134277
134278
134279
134280
134281
134282
134283
134284
134285
134286
134287
134288
134289
134290
134291
134292
134293
134294
134295
134296
134297
134298
134299
134300
134301
134302
134303
134304
134305
134306
134307
134308
134309
134310
134311
134312
134313
134314
134315
134316
134317
134318
134319
134320
134321
134322
134323
134324
134325
134326
134327
134328
134329
134330
134331
134332
134333
134334
134335
134336
134337
134338
134339
134340
134341
134342
134343
134344
134345
134346
134347
134348
134349
134350
134351
134352
134353
134354
134355
134356
134357
134358
134359
134360
134361
134362
134363
134364
134365
134366
134367
134368
134369
134370
134371
134372
134373
134374
134375
134376
134377
134378
134379
134380
134381
134382
134383
134384
134385
134386
134387
134388
134389
134390
134391
134392
134393
134394
134395
134396
134397
134398
134399
134400
134401
134402
134403
134404
134405
134406
134407
134408
134409
134410
134411
134412
134413
134414
134415
134416
134417
134418
134419
134420
134421
134422
134423
134424
134425
134426
134427
134428
134429
134430
134431
134432
134433
134434
134435
134436
134437
134438
134439
134440
134441
134442
134443
134444
134445
134446
134447
134448
134449
134450
134451
134452
134453
134454
134455
134456
134457
134458
134459
134460
134461
134462
134463
134464
134465
134466
134467
134468
134469
134470
134471
134472
134473
134474
134475
134476
134477
134478
134479
134480
134481
134482
134483
134484
134485
134486
134487
134488
134489
134490
134491
134492
134493
134494
134495
134496
134497
134498
134499
134500
134501
134502
134503
134504
134505
134506
134507
134508
134509
134510
134511
134512
134513
134514
134515
134516
134517
134518
134519
134520
134521
134522
134523
134524
134525
134526
134527
134528
134529
134530
134531
134532
134533
134534
134535
134536
134537
134538
134539
134540
134541
134542
134543
134544
134545
134546
134547
134548
134549
134550
134551
134552
134553
134554
134555
134556
134557
134558
134559
134560
134561
134562
134563
134564
134565
134566
134567
134568
134569
134570
134571
134572
134573
134574
134575
134576
134577
134578
134579
134580
134581
134582
134583
134584
134585
134586
134587
134588
134589
134590
134591
134592
134593
134594
134595
134596
134597
134598
134599
134600
134601
134602
134603
134604
134605
134606
134607
134608
134609
134610
134611
134612
134613
134614
134615
134616
134617
134618
134619
134620
134621
134622
134623
134624
134625
134626
134627
134628
134629
134630
134631
134632
134633
134634
134635
134636
134637
134638
134639
134640
134641
134642
134643
134644
134645
134646
134647
134648
134649
134650
134651
134652
134653
134654
134655
134656
134657
134658
134659
134660
134661
134662
134663
134664
134665
134666
134667
134668
134669
134670
134671
134672
134673
134674
134675
134676
134677
134678
134679
134680
134681
134682
134683
134684
134685
134686
134687
134688
134689
134690
134691
134692
134693
134694
134695
134696
134697
134698
134699
134700
134701
134702
134703
134704
134705
134706
134707
134708
134709
134710
134711
134712
134713
134714
134715
134716
134717
134718
134719
134720
134721
134722
134723
134724
134725
134726
134727
134728
134729
134730
134731
134732
134733
134734
134735
134736
134737
134738
134739
134740
134741
134742
134743
134744
134745
134746
134747
134748
134749
134750
134751
134752
134753
134754
134755
134756
134757
134758
134759
134760
134761
134762
134763
134764
134765
134766
134767
134768
134769
134770
134771
134772
134773
134774
134775
134776
134777
134778
134779
134780
134781
134782
134783
134784
134785
134786
134787
134788
134789
134790
134791
134792
134793
134794
134795
134796
134797
134798
134799
134800
134801
134802
134803
134804
134805
134806
134807
134808
134809
134810
134811
134812
134813
134814
134815
134816
134817
134818
134819
134820
134821
134822
134823
134824
134825
134826
134827
134828
134829
134830
134831
134832
134833
134834
134835
134836
134837
134838
134839
134840
134841
134842
134843
134844
134845
134846
134847
134848
134849
134850
134851
134852
134853
134854
134855
134856
134857
134858
134859
134860
134861
134862
134863
134864
134865
134866
134867
134868
134869
134870
134871
134872
134873
134874
134875
134876
134877
134878
134879
134880
134881
134882
134883
134884
134885
134886
134887
134888
134889
134890
134891
134892
134893
134894
134895
134896
134897
134898
134899
134900
134901
134902
134903
134904
134905
134906
134907
134908
134909
134910
134911
134912
134913
134914
134915
134916
134917
134918
134919
134920
134921
134922
134923
134924
134925
134926
134927
134928
134929
134930
134931
134932
134933
134934
134935
134936
134937
134938
134939
134940
134941
134942
134943
134944
134945
134946
134947
134948
134949
134950
134951
134952
134953
134954
134955
134956
134957
134958
134959
134960
134961
134962
134963
134964
134965
134966
134967
134968
134969
134970
134971
134972
134973
134974
134975
134976
134977
134978
134979
134980
134981
134982
134983
134984
134985
134986
134987
134988
134989
134990
134991
134992
134993
134994
134995
134996
134997
134998
134999
135000
135001
135002
135003
135004
135005
135006
135007
135008
135009
135010
135011
135012
135013
135014
135015
135016
135017
135018
135019
135020
135021
135022
135023
135024
135025
135026
135027
135028
135029
135030
135031
135032
135033
135034
135035
135036
135037
135038
135039
135040
135041
135042
135043
135044
135045
135046
135047
135048
135049
135050
135051
135052
135053
135054
135055
135056
135057
135058
135059
135060
135061
135062
135063
135064
135065
135066
135067
135068
135069
135070
135071
135072
135073
135074
135075
135076
135077
135078
135079
135080
135081
135082
135083
135084
135085
135086
135087
135088
135089
135090
135091
135092
135093
135094
135095
135096
135097
135098
135099
135100
135101
135102
135103
135104
135105
135106
135107
135108
135109
135110
135111
135112
135113
135114
135115
135116
135117
135118
135119
135120
135121
135122
135123
135124
135125
135126
135127
135128
135129
135130
135131
135132
135133
135134
135135
135136
135137
135138
135139
135140
135141
135142
135143
135144
135145
135146
135147
135148
135149
135150
135151
135152
135153
135154
135155
135156
135157
135158
135159
135160
135161
135162
135163
135164
135165
135166
135167
135168
135169
135170
135171
135172
135173
135174
135175
135176
135177
135178
135179
135180
135181
135182
135183
135184
135185
135186
135187
135188
135189
135190
135191
135192
135193
135194
135195
135196
135197
135198
135199
135200
135201
135202
135203
135204
135205
135206
135207
135208
135209
135210
135211
135212
135213
135214
135215
135216
135217
135218
135219
135220
135221
135222
135223
135224
135225
135226
135227
135228
135229
135230
135231
135232
135233
135234
135235
135236
135237
135238
135239
135240
135241
135242
135243
135244
135245
135246
135247
135248
135249
135250
135251
135252
135253
135254
135255
135256
135257
135258
135259
135260
135261
135262
135263
135264
135265
135266
135267
135268
135269
135270
135271
135272
135273
135274
135275
135276
135277
135278
135279
135280
135281
135282
135283
135284
135285
135286
135287
135288
135289
135290
135291
135292
135293
135294
135295
135296
135297
135298
135299
135300
135301
135302
135303
135304
135305
135306
135307
135308
135309
135310
135311
135312
135313
135314
135315
135316
135317
135318
135319
135320
135321
135322
135323
135324
135325
135326
135327
135328
135329
135330
135331
135332
135333
135334
135335
135336
135337
135338
135339
135340
135341
135342
135343
135344
135345
135346
135347
135348
135349
135350
135351
135352
135353
135354
135355
135356
135357
135358
135359
135360
135361
135362
135363
135364
135365
135366
135367
135368
135369
135370
135371
135372
135373
135374
135375
135376
135377
135378
135379
135380
135381
135382
135383
135384
135385
135386
135387
135388
135389
135390
135391
135392
135393
135394
135395
135396
135397
135398
135399
135400
135401
135402
135403
135404
135405
135406
135407
135408
135409
135410
135411
135412
135413
135414
135415
135416
135417
135418
135419
135420
135421
135422
135423
135424
135425
135426
135427
135428
135429
135430
135431
135432
135433
135434
135435
135436
135437
135438
135439
135440
135441
135442
135443
135444
135445
135446
135447
135448
135449
135450
135451
135452
135453
135454
135455
135456
135457
135458
135459
135460
135461
135462
135463
135464
135465
135466
135467
135468
135469
135470
135471
135472
135473
135474
135475
135476
135477
135478
135479
135480
135481
135482
135483
135484
135485
135486
135487
135488
135489
135490
135491
135492
135493
135494
135495
135496
135497
135498
135499
135500
135501
135502
135503
135504
135505
135506
135507
135508
135509
135510
135511
135512
135513
135514
135515
135516
135517
135518
135519
135520
135521
135522
135523
135524
135525
135526
135527
135528
135529
135530
135531
135532
135533
135534
135535
135536
135537
135538
135539
135540
135541
135542
135543
135544
135545
135546
135547
135548
135549
135550
135551
135552
135553
135554
135555
135556
135557
135558
135559
135560
135561
135562
135563
135564
135565
135566
135567
135568
135569
135570
135571
135572
135573
135574
135575
135576
135577
135578
135579
135580
135581
135582
135583
135584
135585
135586
135587
135588
135589
135590
135591
135592
135593
135594
135595
135596
135597
135598
135599
135600
135601
135602
135603
135604
135605
135606
135607
135608
135609
135610
135611
135612
135613
135614
135615
135616
135617
135618
135619
135620
135621
135622
135623
135624
135625
135626
135627
135628
135629
135630
135631
135632
135633
135634
135635
135636
135637
135638
135639
135640
135641
135642
135643
135644
135645
135646
135647
135648
135649
135650
135651
135652
135653
135654
135655
135656
135657
135658
135659
135660
135661
135662
135663
135664
135665
135666
135667
135668
135669
135670
135671
135672
135673
135674
135675
135676
135677
135678
135679
135680
135681
135682
135683
135684
135685
135686
135687
135688
135689
135690
135691
135692
135693
135694
135695
135696
135697
135698
135699
135700
135701
135702
135703
135704
135705
135706
135707
135708
135709
135710
135711
135712
135713
135714
135715
135716
135717
135718
135719
135720
135721
135722
135723
135724
135725
135726
135727
135728
135729
135730
135731
135732
135733
135734
135735
135736
135737
135738
135739
135740
135741
135742
135743
135744
135745
135746
135747
135748
135749
135750
135751
135752
135753
135754
135755
135756
135757
135758
135759
135760
135761
135762
135763
135764
135765
135766
135767
135768
135769
135770
135771
135772
135773
135774
135775
135776
135777
135778
135779
135780
135781
135782
135783
135784
135785
135786
135787
135788
135789
135790
135791
135792
135793
135794
135795
135796
135797
135798
135799
135800
135801
135802
135803
135804
135805
135806
135807
135808
135809
135810
135811
135812
135813
135814
135815
135816
135817
135818
135819
135820
135821
135822
135823
135824
135825
135826
135827
135828
135829
135830
135831
135832
135833
135834
135835
135836
135837
135838
135839
135840
135841
135842
135843
135844
135845
135846
135847
135848
135849
135850
135851
135852
135853
135854
135855
135856
135857
135858
135859
135860
135861
135862
135863
135864
135865
135866
135867
135868
135869
135870
135871
135872
135873
135874
135875
135876
135877
135878
135879
135880
135881
135882
135883
135884
135885
135886
135887
135888
135889
135890
135891
135892
135893
135894
135895
135896
135897
135898
135899
135900
135901
135902
135903
135904
135905
135906
135907
135908
135909
135910
135911
135912
135913
135914
135915
135916
135917
135918
135919
135920
135921
135922
135923
135924
135925
135926
135927
135928
135929
135930
135931
135932
135933
135934
135935
135936
135937
135938
135939
135940
135941
135942
135943
135944
135945
135946
135947
135948
135949
135950
135951
135952
135953
135954
135955
135956
135957
135958
135959
135960
135961
135962
135963
135964
135965
135966
135967
135968
135969
135970
135971
135972
135973
135974
135975
135976
135977
135978
135979
135980
135981
135982
135983
135984
135985
135986
135987
135988
135989
135990
135991
135992
135993
135994
135995
135996
135997
135998
135999
136000
136001
136002
136003
136004
136005
136006
136007
136008
136009
136010
136011
136012
136013
136014
136015
136016
136017
136018
136019
136020
136021
136022
136023
136024
136025
136026
136027
136028
136029
136030
136031
136032
136033
136034
136035
136036
136037
136038
136039
136040
136041
136042
136043
136044
136045
136046
136047
136048
136049
136050
136051
136052
136053
136054
136055
136056
136057
136058
136059
136060
136061
136062
136063
136064
136065
136066
136067
136068
136069
136070
136071
136072
136073
136074
136075
136076
136077
136078
136079
136080
136081
136082
136083
136084
136085
136086
136087
136088
136089
136090
136091
136092
136093
136094
136095
136096
136097
136098
136099
136100
136101
136102
136103
136104
136105
136106
136107
136108
136109
136110
136111
136112
136113
136114
136115
136116
136117
136118
136119
136120
136121
136122
136123
136124
136125
136126
136127
136128
136129
136130
136131
136132
136133
136134
136135
136136
136137
136138
136139
136140
136141
136142
136143
136144
136145
136146
136147
136148
136149
136150
136151
136152
136153
136154
136155
136156
136157
136158
136159
136160
136161
136162
136163
136164
136165
136166
136167
136168
136169
136170
136171
136172
136173
136174
136175
136176
136177
136178
136179
136180
136181
136182
136183
136184
136185
136186
136187
136188
136189
136190
136191
136192
136193
136194
136195
136196
136197
136198
136199
136200
136201
136202
136203
136204
136205
136206
136207
136208
136209
136210
136211
136212
136213
136214
136215
136216
136217
136218
136219
136220
136221
136222
136223
136224
136225
136226
136227
136228
136229
136230
136231
136232
136233
136234
136235
136236
136237
136238
136239
136240
136241
136242
136243
136244
136245
136246
136247
136248
136249
136250
136251
136252
136253
136254
136255
136256
136257
136258
136259
136260
136261
136262
136263
136264
136265
136266
136267
136268
136269
136270
136271
136272
136273
136274
136275
136276
136277
136278
136279
136280
136281
136282
136283
136284
136285
136286
136287
136288
136289
136290
136291
136292
136293
136294
136295
136296
136297
136298
136299
136300
136301
136302
136303
136304
136305
136306
136307
136308
136309
136310
136311
136312
136313
136314
136315
136316
136317
136318
136319
136320
136321
136322
136323
136324
136325
136326
136327
136328
136329
136330
136331
136332
136333
136334
136335
136336
136337
136338
136339
136340
136341
136342
136343
136344
136345
136346
136347
136348
136349
136350
136351
136352
136353
136354
136355
136356
136357
136358
136359
136360
136361
136362
136363
136364
136365
136366
136367
136368
136369
136370
136371
136372
136373
136374
136375
136376
136377
136378
136379
136380
136381
136382
136383
136384
136385
136386
136387
136388
136389
136390
136391
136392
136393
136394
136395
136396
136397
136398
136399
136400
136401
136402
136403
136404
136405
136406
136407
136408
136409
136410
136411
136412
136413
136414
136415
136416
136417
136418
136419
136420
136421
136422
136423
136424
136425
136426
136427
136428
136429
136430
136431
136432
136433
136434
136435
136436
136437
136438
136439
136440
136441
136442
136443
136444
136445
136446
136447
136448
136449
136450
136451
136452
136453
136454
136455
136456
136457
136458
136459
136460
136461
136462
136463
136464
136465
136466
136467
136468
136469
136470
136471
136472
136473
136474
136475
136476
136477
136478
136479
136480
136481
136482
136483
136484
136485
136486
136487
136488
136489
136490
136491
136492
136493
136494
136495
136496
136497
136498
136499
136500
136501
136502
136503
136504
136505
136506
136507
136508
136509
136510
136511
136512
136513
136514
136515
136516
136517
136518
136519
136520
136521
136522
136523
136524
136525
136526
136527
136528
136529
136530
136531
136532
136533
136534
136535
136536
136537
136538
136539
136540
136541
136542
136543
136544
136545
136546
136547
136548
136549
136550
136551
136552
136553
136554
136555
136556
136557
136558
136559
136560
136561
136562
136563
136564
136565
136566
136567
136568
136569
136570
136571
136572
136573
136574
136575
136576
136577
136578
136579
136580
136581
136582
136583
136584
136585
136586
136587
136588
136589
136590
136591
136592
136593
136594
136595
136596
136597
136598
136599
136600
136601
136602
136603
136604
136605
136606
136607
136608
136609
136610
136611
136612
136613
136614
136615
136616
136617
136618
136619
136620
136621
136622
136623
136624
136625
136626
136627
136628
136629
136630
136631
136632
136633
136634
136635
136636
136637
136638
136639
136640
136641
136642
136643
136644
136645
136646
136647
136648
136649
136650
136651
136652
136653
136654
136655
136656
136657
136658
136659
136660
136661
136662
136663
136664
136665
136666
136667
136668
136669
136670
136671
136672
136673
136674
136675
136676
136677
136678
136679
136680
136681
136682
136683
136684
136685
136686
136687
136688
136689
136690
136691
136692
136693
136694
136695
136696
136697
136698
136699
136700
136701
136702
136703
136704
136705
136706
136707
136708
136709
136710
136711
136712
136713
136714
136715
136716
136717
136718
136719
136720
136721
136722
136723
136724
136725
136726
136727
136728
136729
136730
136731
136732
136733
136734
136735
136736
136737
136738
136739
136740
136741
136742
136743
136744
136745
136746
136747
136748
136749
136750
136751
136752
136753
136754
136755
136756
136757
136758
136759
136760
136761
136762
136763
136764
136765
136766
136767
136768
136769
136770
136771
136772
136773
136774
136775
136776
136777
136778
136779
136780
136781
136782
136783
136784
136785
136786
136787
136788
136789
136790
136791
136792
136793
136794
136795
136796
136797
136798
136799
136800
136801
136802
136803
136804
136805
136806
136807
136808
136809
136810
136811
136812
136813
136814
136815
136816
136817
136818
136819
136820
136821
136822
136823
136824
136825
136826
136827
136828
136829
136830
136831
136832
136833
136834
136835
136836
136837
136838
136839
136840
136841
136842
136843
136844
136845
136846
136847
136848
136849
136850
136851
136852
136853
136854
136855
136856
136857
136858
136859
136860
136861
136862
136863
136864
136865
136866
136867
136868
136869
136870
136871
136872
136873
136874
136875
136876
136877
136878
136879
136880
136881
136882
136883
136884
136885
136886
136887
136888
136889
136890
136891
136892
136893
136894
136895
136896
136897
136898
136899
136900
136901
136902
136903
136904
136905
136906
136907
136908
136909
136910
136911
136912
136913
136914
136915
136916
136917
136918
136919
136920
136921
136922
136923
136924
136925
136926
136927
136928
136929
136930
136931
136932
136933
136934
136935
136936
136937
136938
136939
136940
136941
136942
136943
136944
136945
136946
136947
136948
136949
136950
136951
136952
136953
136954
136955
136956
136957
136958
136959
136960
136961
136962
136963
136964
136965
136966
136967
136968
136969
136970
136971
136972
136973
136974
136975
136976
136977
136978
136979
136980
136981
136982
136983
136984
136985
136986
136987
136988
136989
136990
136991
136992
136993
136994
136995
136996
136997
136998
136999
137000
137001
137002
137003
137004
137005
137006
137007
137008
137009
137010
137011
137012
137013
137014
137015
137016
137017
137018
137019
137020
137021
137022
137023
137024
137025
137026
137027
137028
137029
137030
137031
137032
137033
137034
137035
137036
137037
137038
137039
137040
137041
137042
137043
137044
137045
137046
137047
137048
137049
137050
137051
137052
137053
137054
137055
137056
137057
137058
137059
137060
137061
137062
137063
137064
137065
137066
137067
137068
137069
137070
137071
137072
137073
137074
137075
137076
137077
137078
137079
137080
137081
137082
137083
137084
137085
137086
137087
137088
137089
137090
137091
137092
137093
137094
137095
137096
137097
137098
137099
137100
137101
137102
137103
137104
137105
137106
137107
137108
137109
137110
137111
137112
137113
137114
137115
137116
137117
137118
137119
137120
137121
137122
137123
137124
137125
137126
137127
137128
137129
137130
137131
137132
137133
137134
137135
137136
137137
137138
137139
137140
137141
137142
137143
137144
137145
137146
137147
137148
137149
137150
137151
137152
137153
137154
137155
137156
137157
137158
137159
137160
137161
137162
137163
137164
137165
137166
137167
137168
137169
137170
137171
137172
137173
137174
137175
137176
137177
137178
137179
137180
137181
137182
137183
137184
137185
137186
137187
137188
137189
137190
137191
137192
137193
137194
137195
137196
137197
137198
137199
137200
137201
137202
137203
137204
137205
137206
137207
137208
137209
137210
137211
137212
137213
137214
137215
137216
137217
137218
137219
137220
137221
137222
137223
137224
137225
137226
137227
137228
137229
137230
137231
137232
137233
137234
137235
137236
137237
137238
137239
137240
137241
137242
137243
137244
137245
137246
137247
137248
137249
137250
137251
137252
137253
137254
137255
137256
137257
137258
137259
137260
137261
137262
137263
137264
137265
137266
137267
137268
137269
137270
137271
137272
137273
137274
137275
137276
137277
137278
137279
137280
137281
137282
137283
137284
137285
137286
137287
137288
137289
137290
137291
137292
137293
137294
137295
137296
137297
137298
137299
137300
137301
137302
137303
137304
137305
137306
137307
137308
137309
137310
137311
137312
137313
137314
137315
137316
137317
137318
137319
137320
137321
137322
137323
137324
137325
137326
137327
137328
137329
137330
137331
137332
137333
137334
137335
137336
137337
137338
137339
137340
137341
137342
137343
137344
137345
137346
137347
137348
137349
137350
137351
137352
137353
137354
137355
137356
137357
137358
137359
137360
137361
137362
137363
137364
137365
137366
137367
137368
137369
137370
137371
137372
137373
137374
137375
137376
137377
137378
137379
137380
137381
137382
137383
137384
137385
137386
137387
137388
137389
137390
137391
137392
137393
137394
137395
137396
137397
137398
137399
137400
137401
137402
137403
137404
137405
137406
137407
137408
137409
137410
137411
137412
137413
137414
137415
137416
137417
137418
137419
137420
137421
137422
137423
137424
137425
137426
137427
137428
137429
137430
137431
137432
137433
137434
137435
137436
137437
137438
137439
137440
137441
137442
137443
137444
137445
137446
137447
137448
137449
137450
137451
137452
137453
137454
137455
137456
137457
137458
137459
137460
137461
137462
137463
137464
137465
137466
137467
137468
137469
137470
137471
137472
137473
137474
137475
137476
137477
137478
137479
137480
137481
137482
137483
137484
137485
137486
137487
137488
137489
137490
137491
137492
137493
137494
137495
137496
137497
137498
137499
137500
137501
137502
137503
137504
137505
137506
137507
137508
137509
137510
137511
137512
137513
137514
137515
137516
137517
137518
137519
137520
137521
137522
137523
137524
137525
137526
137527
137528
137529
137530
137531
137532
137533
137534
137535
137536
137537
137538
137539
137540
137541
137542
137543
137544
137545
137546
137547
137548
137549
137550
137551
137552
137553
137554
137555
137556
137557
137558
137559
137560
137561
137562
137563
137564
137565
137566
137567
137568
137569
137570
137571
137572
137573
137574
137575
137576
137577
137578
137579
137580
137581
137582
137583
137584
137585
137586
137587
137588
137589
137590
137591
137592
137593
137594
137595
137596
137597
137598
137599
137600
137601
137602
137603
137604
137605
137606
137607
137608
137609
137610
137611
137612
137613
137614
137615
137616
137617
137618
137619
137620
137621
137622
137623
137624
137625
137626
137627
137628
137629
137630
137631
137632
137633
137634
137635
137636
137637
137638
137639
137640
137641
137642
137643
137644
137645
137646
137647
137648
137649
137650
137651
137652
137653
137654
137655
137656
137657
137658
137659
137660
137661
137662
137663
137664
137665
137666
137667
137668
137669
137670
137671
137672
137673
137674
137675
137676
137677
137678
137679
137680
137681
137682
137683
137684
137685
137686
137687
137688
137689
137690
137691
137692
137693
137694
137695
137696
137697
137698
137699
137700
137701
137702
137703
137704
137705
137706
137707
137708
137709
137710
137711
137712
137713
137714
137715
137716
137717
137718
137719
137720
137721
137722
137723
137724
137725
137726
137727
137728
137729
137730
137731
137732
137733
137734
137735
137736
137737
137738
137739
137740
137741
137742
137743
137744
137745
137746
137747
137748
137749
137750
137751
137752
137753
137754
137755
137756
137757
137758
137759
137760
137761
137762
137763
137764
137765
137766
137767
137768
137769
137770
137771
137772
137773
137774
137775
137776
137777
137778
137779
137780
137781
137782
137783
137784
137785
137786
137787
137788
137789
137790
137791
137792
137793
137794
137795
137796
137797
137798
137799
137800
137801
137802
137803
137804
137805
137806
137807
137808
137809
137810
137811
137812
137813
137814
137815
137816
137817
137818
137819
137820
137821
137822
137823
137824
137825
137826
137827
137828
137829
137830
137831
137832
137833
137834
137835
137836
137837
137838
137839
137840
137841
137842
137843
137844
137845
137846
137847
137848
137849
137850
137851
137852
137853
137854
137855
137856
137857
137858
137859
137860
137861
137862
137863
137864
137865
137866
137867
137868
137869
137870
137871
137872
137873
137874
137875
137876
137877
137878
137879
137880
137881
137882
137883
137884
137885
137886
137887
137888
137889
137890
137891
137892
137893
137894
137895
137896
137897
137898
137899
137900
137901
137902
137903
137904
137905
137906
137907
137908
137909
137910
137911
137912
137913
137914
137915
137916
137917
137918
137919
137920
137921
137922
137923
137924
137925
137926
137927
137928
137929
137930
137931
137932
137933
137934
137935
137936
137937
137938
137939
137940
137941
137942
137943
137944
137945
137946
137947
137948
137949
137950
137951
137952
137953
137954
137955
137956
137957
137958
137959
137960
137961
137962
137963
137964
137965
137966
137967
137968
137969
137970
137971
137972
137973
137974
137975
137976
137977
137978
137979
137980
137981
137982
137983
137984
137985
137986
137987
137988
137989
137990
137991
137992
137993
137994
137995
137996
137997
137998
137999
138000
138001
138002
138003
138004
138005
138006
138007
138008
138009
138010
138011
138012
138013
138014
138015
138016
138017
138018
138019
138020
138021
138022
138023
138024
138025
138026
138027
138028
138029
138030
138031
138032
138033
138034
138035
138036
138037
138038
138039
138040
138041
138042
138043
138044
138045
138046
138047
138048
138049
138050
138051
138052
138053
138054
138055
138056
138057
138058
138059
138060
138061
138062
138063
138064
138065
138066
138067
138068
138069
138070
138071
138072
138073
138074
138075
138076
138077
138078
138079
138080
138081
138082
138083
138084
138085
138086
138087
138088
138089
138090
138091
138092
138093
138094
138095
138096
138097
138098
138099
138100
138101
138102
138103
138104
138105
138106
138107
138108
138109
138110
138111
138112
138113
138114
138115
138116
138117
138118
138119
138120
138121
138122
138123
138124
138125
138126
138127
138128
138129
138130
138131
138132
138133
138134
138135
138136
138137
138138
138139
138140
138141
138142
138143
138144
138145
138146
138147
138148
138149
138150
138151
138152
138153
138154
138155
138156
138157
138158
138159
138160
138161
138162
138163
138164
138165
138166
138167
138168
138169
138170
138171
138172
138173
138174
138175
138176
138177
138178
138179
138180
138181
138182
138183
138184
138185
138186
138187
138188
138189
138190
138191
138192
138193
138194
138195
138196
138197
138198
138199
138200
138201
138202
138203
138204
138205
138206
138207
138208
138209
138210
138211
138212
138213
138214
138215
138216
138217
138218
138219
138220
138221
138222
138223
138224
138225
138226
138227
138228
138229
138230
138231
138232
138233
138234
138235
138236
138237
138238
138239
138240
138241
138242
138243
138244
138245
138246
138247
138248
138249
138250
138251
138252
138253
138254
138255
138256
138257
138258
138259
138260
138261
138262
138263
138264
138265
138266
138267
138268
138269
138270
138271
138272
138273
138274
138275
138276
138277
138278
138279
138280
138281
138282
138283
138284
138285
138286
138287
138288
138289
138290
138291
138292
138293
138294
138295
138296
138297
138298
138299
138300
138301
138302
138303
138304
138305
138306
138307
138308
138309
138310
138311
138312
138313
138314
138315
138316
138317
138318
138319
138320
138321
138322
138323
138324
138325
138326
138327
138328
138329
138330
138331
138332
138333
138334
138335
138336
138337
138338
138339
138340
138341
138342
138343
138344
138345
138346
138347
138348
138349
138350
138351
138352
138353
138354
138355
138356
138357
138358
138359
138360
138361
138362
138363
138364
138365
138366
138367
138368
138369
138370
138371
138372
138373
138374
138375
138376
138377
138378
138379
138380
138381
138382
138383
138384
138385
138386
138387
138388
138389
138390
138391
138392
138393
138394
138395
138396
138397
138398
138399
138400
138401
138402
138403
138404
138405
138406
138407
138408
138409
138410
138411
138412
138413
138414
138415
138416
138417
138418
138419
138420
138421
138422
138423
138424
138425
138426
138427
138428
138429
138430
138431
138432
138433
138434
138435
138436
138437
138438
138439
138440
138441
138442
138443
138444
138445
138446
138447
138448
138449
138450
138451
138452
138453
138454
138455
138456
138457
138458
138459
138460
138461
138462
138463
138464
138465
138466
138467
138468
138469
138470
138471
138472
138473
138474
138475
138476
138477
138478
138479
138480
138481
138482
138483
138484
138485
138486
138487
138488
138489
138490
138491
138492
138493
138494
138495
138496
138497
138498
138499
138500
138501
138502
138503
138504
138505
138506
138507
138508
138509
138510
138511
138512
138513
138514
138515
138516
138517
138518
138519
138520
138521
138522
138523
138524
138525
138526
138527
138528
138529
138530
138531
138532
138533
138534
138535
138536
138537
138538
138539
138540
138541
138542
138543
138544
138545
138546
138547
138548
138549
138550
138551
138552
138553
138554
138555
138556
138557
138558
138559
138560
138561
138562
138563
138564
138565
138566
138567
138568
138569
138570
138571
138572
138573
138574
138575
138576
138577
138578
138579
138580
138581
138582
138583
138584
138585
138586
138587
138588
138589
138590
138591
138592
138593
138594
138595
138596
138597
138598
138599
138600
138601
138602
138603
138604
138605
138606
138607
138608
138609
138610
138611
138612
138613
138614
138615
138616
138617
138618
138619
138620
138621
138622
138623
138624
138625
138626
138627
138628
138629
138630
138631
138632
138633
138634
138635
138636
138637
138638
138639
138640
138641
138642
138643
138644
138645
138646
138647
138648
138649
138650
138651
138652
138653
138654
138655
138656
138657
138658
138659
138660
138661
138662
138663
138664
138665
138666
138667
138668
138669
138670
138671
138672
138673
138674
138675
138676
138677
138678
138679
138680
138681
138682
138683
138684
138685
138686
138687
138688
138689
138690
138691
138692
138693
138694
138695
138696
138697
138698
138699
138700
138701
138702
138703
138704
138705
138706
138707
138708
138709
138710
138711
138712
138713
138714
138715
138716
138717
138718
138719
138720
138721
138722
138723
138724
138725
138726
138727
138728
138729
138730
138731
138732
138733
138734
138735
138736
138737
138738
138739
138740
138741
138742
138743
138744
138745
138746
138747
138748
138749
138750
138751
138752
138753
138754
138755
138756
138757
138758
138759
138760
138761
138762
138763
138764
138765
138766
138767
138768
138769
138770
138771
138772
138773
138774
138775
138776
138777
138778
138779
138780
138781
138782
138783
138784
138785
138786
138787
138788
138789
138790
138791
138792
138793
138794
138795
138796
138797
138798
138799
138800
138801
138802
138803
138804
138805
138806
138807
138808
138809
138810
138811
138812
138813
138814
138815
138816
138817
138818
138819
138820
138821
138822
138823
138824
138825
138826
138827
138828
138829
138830
138831
138832
138833
138834
138835
138836
138837
138838
138839
138840
138841
138842
138843
138844
138845
138846
138847
138848
138849
138850
138851
138852
138853
138854
138855
138856
138857
138858
138859
138860
138861
138862
138863
138864
138865
138866
138867
138868
138869
138870
138871
138872
138873
138874
138875
138876
138877
138878
138879
138880
138881
138882
138883
138884
138885
138886
138887
138888
138889
138890
138891
138892
138893
138894
138895
138896
138897
138898
138899
138900
138901
138902
138903
138904
138905
138906
138907
138908
138909
138910
138911
138912
138913
138914
138915
138916
138917
138918
138919
138920
138921
138922
138923
138924
138925
138926
138927
138928
138929
138930
138931
138932
138933
138934
138935
138936
138937
138938
138939
138940
138941
138942
138943
138944
138945
138946
138947
138948
138949
138950
138951
138952
138953
138954
138955
138956
138957
138958
138959
138960
138961
138962
138963
138964
138965
138966
138967
138968
138969
138970
138971
138972
138973
138974
138975
138976
138977
138978
138979
138980
138981
138982
138983
138984
138985
138986
138987
138988
138989
138990
138991
138992
138993
138994
138995
138996
138997
138998
138999
139000
139001
139002
139003
139004
139005
139006
139007
139008
139009
139010
139011
139012
139013
139014
139015
139016
139017
139018
139019
139020
139021
139022
139023
139024
139025
139026
139027
139028
139029
139030
139031
139032
139033
139034
139035
139036
139037
139038
139039
139040
139041
139042
139043
139044
139045
139046
139047
139048
139049
139050
139051
139052
139053
139054
139055
139056
139057
139058
139059
139060
139061
139062
139063
139064
139065
139066
139067
139068
139069
139070
139071
139072
139073
139074
139075
139076
139077
139078
139079
139080
139081
139082
139083
139084
139085
139086
139087
139088
139089
139090
139091
139092
139093
139094
139095
139096
139097
139098
139099
139100
139101
139102
139103
139104
139105
139106
139107
139108
139109
139110
139111
139112
139113
139114
139115
139116
139117
139118
139119
139120
139121
139122
139123
139124
139125
139126
139127
139128
139129
139130
139131
139132
139133
139134
139135
139136
139137
139138
139139
139140
139141
139142
139143
139144
139145
139146
139147
139148
139149
139150
139151
139152
139153
139154
139155
139156
139157
139158
139159
139160
139161
139162
139163
139164
139165
139166
139167
139168
139169
139170
139171
139172
139173
139174
139175
139176
139177
139178
139179
139180
139181
139182
139183
139184
139185
139186
139187
139188
139189
139190
139191
139192
139193
139194
139195
139196
139197
139198
139199
139200
139201
139202
139203
139204
139205
139206
139207
139208
139209
139210
139211
139212
139213
139214
139215
139216
139217
139218
139219
139220
139221
139222
139223
139224
139225
139226
139227
139228
139229
139230
139231
139232
139233
139234
139235
139236
139237
139238
139239
139240
139241
139242
139243
139244
139245
139246
139247
139248
139249
139250
139251
139252
139253
139254
139255
139256
139257
139258
139259
139260
139261
139262
139263
139264
139265
139266
139267
139268
139269
139270
139271
139272
139273
139274
139275
139276
139277
139278
139279
139280
139281
139282
139283
139284
139285
139286
139287
139288
139289
139290
139291
139292
139293
139294
139295
139296
139297
139298
139299
139300
139301
139302
139303
139304
139305
139306
139307
139308
139309
139310
139311
139312
139313
139314
139315
139316
139317
139318
139319
139320
139321
139322
139323
139324
139325
139326
139327
139328
139329
139330
139331
139332
139333
139334
139335
139336
139337
139338
139339
139340
139341
139342
139343
139344
139345
139346
139347
139348
139349
139350
139351
139352
139353
139354
139355
139356
139357
139358
139359
139360
139361
139362
139363
139364
139365
139366
139367
139368
139369
139370
139371
139372
139373
139374
139375
139376
139377
139378
139379
139380
139381
139382
139383
139384
139385
139386
139387
139388
139389
139390
139391
139392
139393
139394
139395
139396
139397
139398
139399
139400
139401
139402
139403
139404
139405
139406
139407
139408
139409
139410
139411
139412
139413
139414
139415
139416
139417
139418
139419
139420
139421
139422
139423
139424
139425
139426
139427
139428
139429
139430
139431
139432
139433
139434
139435
139436
139437
139438
139439
139440
139441
139442
139443
139444
139445
139446
139447
139448
139449
139450
139451
139452
139453
139454
139455
139456
139457
139458
139459
139460
139461
139462
139463
139464
139465
139466
139467
139468
139469
139470
139471
139472
139473
139474
139475
139476
139477
139478
139479
139480
139481
139482
139483
139484
139485
139486
139487
139488
139489
139490
139491
139492
139493
139494
139495
139496
139497
139498
139499
139500
139501
139502
139503
139504
139505
139506
139507
139508
139509
139510
139511
139512
139513
139514
139515
139516
139517
139518
139519
139520
139521
139522
139523
139524
139525
139526
139527
139528
139529
139530
139531
139532
139533
139534
139535
139536
139537
139538
139539
139540
139541
139542
139543
139544
139545
139546
139547
139548
139549
139550
139551
139552
139553
139554
139555
139556
139557
139558
139559
139560
139561
139562
139563
139564
139565
139566
139567
139568
139569
139570
139571
139572
139573
139574
139575
139576
139577
139578
139579
139580
139581
139582
139583
139584
139585
139586
139587
139588
139589
139590
139591
139592
139593
139594
139595
139596
139597
139598
139599
139600
139601
139602
139603
139604
139605
139606
139607
139608
139609
139610
139611
139612
139613
139614
139615
139616
139617
139618
139619
139620
139621
139622
139623
139624
139625
139626
139627
139628
139629
139630
139631
139632
139633
139634
139635
139636
139637
139638
139639
139640
139641
139642
139643
139644
139645
139646
139647
139648
139649
139650
139651
139652
139653
139654
139655
139656
139657
139658
139659
139660
139661
139662
139663
139664
139665
139666
139667
139668
139669
139670
139671
139672
139673
139674
139675
139676
139677
139678
139679
139680
139681
139682
139683
139684
139685
139686
139687
139688
139689
139690
139691
139692
139693
139694
139695
139696
139697
139698
139699
139700
139701
139702
139703
139704
139705
139706
139707
139708
139709
139710
139711
139712
139713
139714
139715
139716
139717
139718
139719
139720
139721
139722
139723
139724
139725
139726
139727
139728
139729
139730
139731
139732
139733
139734
139735
139736
139737
139738
139739
139740
139741
139742
139743
139744
139745
139746
139747
139748
139749
139750
139751
139752
139753
139754
139755
139756
139757
139758
139759
139760
139761
139762
139763
139764
139765
139766
139767
139768
139769
139770
139771
139772
139773
139774
139775
139776
139777
139778
139779
139780
139781
139782
139783
139784
139785
139786
139787
139788
139789
139790
139791
139792
139793
139794
139795
139796
139797
139798
139799
139800
139801
139802
139803
139804
139805
139806
139807
139808
139809
139810
139811
139812
139813
139814
139815
139816
139817
139818
139819
139820
139821
139822
139823
139824
139825
139826
139827
139828
139829
139830
139831
139832
139833
139834
139835
139836
139837
139838
139839
139840
139841
139842
139843
139844
139845
139846
139847
139848
139849
139850
139851
139852
139853
139854
139855
139856
139857
139858
139859
139860
139861
139862
139863
139864
139865
139866
139867
139868
139869
139870
139871
139872
139873
139874
139875
139876
139877
139878
139879
139880
139881
139882
139883
139884
139885
139886
139887
139888
139889
139890
139891
139892
139893
139894
139895
139896
139897
139898
139899
139900
139901
139902
139903
139904
139905
139906
139907
139908
139909
139910
139911
139912
139913
139914
139915
139916
139917
139918
139919
139920
139921
139922
139923
139924
139925
139926
139927
139928
139929
139930
139931
139932
139933
139934
139935
139936
139937
139938
139939
139940
139941
139942
139943
139944
139945
139946
139947
139948
139949
139950
139951
139952
139953
139954
139955
139956
139957
139958
139959
139960
139961
139962
139963
139964
139965
139966
139967
139968
139969
139970
139971
139972
139973
139974
139975
139976
139977
139978
139979
139980
139981
139982
139983
139984
139985
139986
139987
139988
139989
139990
139991
139992
139993
139994
139995
139996
139997
139998
139999
140000
140001
140002
140003
140004
140005
140006
140007
140008
140009
140010
140011
140012
140013
140014
140015
140016
140017
140018
140019
140020
140021
140022
140023
140024
140025
140026
140027
140028
140029
140030
140031
140032
140033
140034
140035
140036
140037
140038
140039
140040
140041
140042
140043
140044
140045
140046
140047
140048
140049
140050
140051
140052
140053
140054
140055
140056
140057
140058
140059
140060
140061
140062
140063
140064
140065
140066
140067
140068
140069
140070
140071
140072
140073
140074
140075
140076
140077
140078
140079
140080
140081
140082
140083
140084
140085
140086
140087
140088
140089
140090
140091
140092
140093
140094
140095
140096
140097
140098
140099
140100
140101
140102
140103
140104
140105
140106
140107
140108
140109
140110
140111
140112
140113
140114
140115
140116
140117
140118
140119
140120
140121
140122
140123
140124
140125
140126
140127
140128
140129
140130
140131
140132
140133
140134
140135
140136
140137
140138
140139
140140
140141
140142
140143
140144
140145
140146
140147
140148
140149
140150
140151
140152
140153
140154
140155
140156
140157
140158
140159
140160
140161
140162
140163
140164
140165
140166
140167
140168
140169
140170
140171
140172
140173
140174
140175
140176
140177
140178
140179
140180
140181
140182
140183
140184
140185
140186
140187
140188
140189
140190
140191
140192
140193
140194
140195
140196
140197
140198
140199
140200
140201
140202
140203
140204
140205
140206
140207
140208
140209
140210
140211
140212
140213
140214
140215
140216
140217
140218
140219
140220
140221
140222
140223
140224
140225
140226
140227
140228
140229
140230
140231
140232
140233
140234
140235
140236
140237
140238
140239
140240
140241
140242
140243
140244
140245
140246
140247
140248
140249
140250
140251
140252
140253
140254
140255
140256
140257
140258
140259
140260
140261
140262
140263
140264
140265
140266
140267
140268
140269
140270
140271
140272
140273
140274
140275
140276
140277
140278
140279
140280
140281
140282
140283
140284
140285
140286
140287
140288
140289
140290
140291
140292
140293
140294
140295
140296
140297
140298
140299
140300
140301
140302
140303
140304
140305
140306
140307
140308
140309
140310
140311
140312
140313
140314
140315
140316
140317
140318
140319
140320
140321
140322
140323
140324
140325
140326
140327
140328
140329
140330
140331
140332
140333
140334
140335
140336
140337
140338
140339
140340
140341
140342
140343
140344
140345
140346
140347
140348
140349
140350
140351
140352
140353
140354
140355
140356
140357
140358
140359
140360
140361
140362
140363
140364
140365
140366
140367
140368
140369
140370
140371
140372
140373
140374
140375
140376
140377
140378
140379
140380
140381
140382
140383
140384
140385
140386
140387
140388
140389
140390
140391
140392
140393
140394
140395
140396
140397
140398
140399
140400
140401
140402
140403
140404
140405
140406
140407
140408
140409
140410
140411
140412
140413
140414
140415
140416
140417
140418
140419
140420
140421
140422
140423
140424
140425
140426
140427
140428
140429
140430
140431
140432
140433
140434
140435
140436
140437
140438
140439
140440
140441
140442
140443
140444
140445
140446
140447
140448
140449
140450
140451
140452
140453
140454
140455
140456
140457
140458
140459
140460
140461
140462
140463
140464
140465
140466
140467
140468
140469
140470
140471
140472
140473
140474
140475
140476
140477
140478
140479
140480
140481
140482
140483
140484
140485
140486
140487
140488
140489
140490
140491
140492
140493
140494
140495
140496
140497
140498
140499
140500
140501
140502
140503
140504
140505
140506
140507
140508
140509
140510
140511
140512
140513
140514
140515
140516
140517
140518
140519
140520
140521
140522
140523
140524
140525
140526
140527
140528
140529
140530
140531
140532
140533
140534
140535
140536
140537
140538
140539
140540
140541
140542
140543
140544
140545
140546
140547
140548
140549
140550
140551
140552
140553
140554
140555
140556
140557
140558
140559
140560
140561
140562
140563
140564
140565
140566
140567
140568
140569
140570
140571
140572
140573
140574
140575
140576
140577
140578
140579
140580
140581
140582
140583
140584
140585
140586
140587
140588
140589
140590
140591
140592
140593
140594
140595
140596
140597
140598
140599
140600
140601
140602
140603
140604
140605
140606
140607
140608
140609
140610
140611
140612
140613
140614
140615
140616
140617
140618
140619
140620
140621
140622
140623
140624
140625
140626
140627
140628
140629
140630
140631
140632
140633
140634
140635
140636
140637
140638
140639
140640
140641
140642
140643
140644
140645
140646
140647
140648
140649
140650
140651
140652
140653
140654
140655
140656
140657
140658
140659
140660
140661
140662
140663
140664
140665
140666
140667
140668
140669
140670
140671
140672
140673
140674
140675
140676
140677
140678
140679
140680
140681
140682
140683
140684
140685
140686
140687
140688
140689
140690
140691
140692
140693
140694
140695
140696
140697
140698
140699
140700
140701
140702
140703
140704
140705
140706
140707
140708
140709
140710
140711
140712
140713
140714
140715
140716
140717
140718
140719
140720
140721
140722
140723
140724
140725
140726
140727
140728
140729
140730
140731
140732
140733
140734
140735
140736
140737
140738
140739
140740
140741
140742
140743
140744
140745
140746
140747
140748
140749
140750
140751
140752
140753
140754
140755
140756
140757
140758
140759
140760
140761
140762
140763
140764
140765
140766
140767
140768
140769
140770
140771
140772
140773
140774
140775
140776
140777
140778
140779
140780
140781
140782
140783
140784
140785
140786
140787
140788
140789
140790
140791
140792
140793
140794
140795
140796
140797
140798
140799
140800
140801
140802
140803
140804
140805
140806
140807
140808
140809
140810
140811
140812
140813
140814
140815
140816
140817
140818
140819
140820
140821
140822
140823
140824
140825
140826
140827
140828
140829
140830
140831
140832
140833
140834
140835
140836
140837
140838
140839
140840
140841
140842
140843
140844
140845
140846
140847
140848
140849
140850
140851
140852
140853
140854
140855
140856
140857
140858
140859
140860
140861
140862
140863
140864
140865
140866
140867
140868
140869
140870
140871
140872
140873
140874
140875
140876
140877
140878
140879
140880
140881
140882
140883
140884
140885
140886
140887
140888
140889
140890
140891
140892
140893
140894
140895
140896
140897
140898
140899
140900
140901
140902
140903
140904
140905
140906
140907
140908
140909
140910
140911
140912
140913
140914
140915
140916
140917
140918
140919
140920
140921
140922
140923
140924
140925
140926
140927
140928
140929
140930
140931
140932
140933
140934
140935
140936
140937
140938
140939
140940
140941
140942
140943
140944
140945
140946
140947
140948
140949
140950
140951
140952
140953
140954
140955
140956
140957
140958
140959
140960
140961
140962
140963
140964
140965
140966
140967
140968
140969
140970
140971
140972
140973
140974
140975
140976
140977
140978
140979
140980
140981
140982
140983
140984
140985
140986
140987
140988
140989
140990
140991
140992
140993
140994
140995
140996
140997
140998
140999
141000
141001
141002
141003
141004
141005
141006
141007
141008
141009
141010
141011
141012
141013
141014
141015
141016
141017
141018
141019
141020
141021
141022
141023
141024
141025
141026
141027
141028
141029
141030
141031
141032
141033
141034
141035
141036
141037
141038
141039
141040
141041
141042
141043
141044
141045
141046
141047
141048
141049
141050
141051
141052
141053
141054
141055
141056
141057
141058
141059
141060
141061
141062
141063
141064
141065
141066
141067
141068
141069
141070
141071
141072
141073
141074
141075
141076
141077
141078
141079
141080
141081
141082
141083
141084
141085
141086
141087
141088
141089
141090
141091
141092
141093
141094
141095
141096
141097
141098
141099
141100
141101
141102
141103
141104
141105
141106
141107
141108
141109
141110
141111
141112
141113
141114
141115
141116
141117
141118
141119
141120
141121
141122
141123
141124
141125
141126
141127
141128
141129
141130
141131
141132
141133
141134
141135
141136
141137
141138
141139
141140
141141
141142
141143
141144
141145
141146
141147
141148
141149
141150
141151
141152
141153
141154
141155
141156
141157
141158
141159
141160
141161
141162
141163
141164
141165
141166
141167
141168
141169
141170
141171
141172
141173
141174
141175
141176
141177
141178
141179
141180
141181
141182
141183
141184
141185
141186
141187
141188
141189
141190
141191
141192
141193
141194
141195
141196
141197
141198
141199
141200
141201
141202
141203
141204
141205
141206
141207
141208
141209
141210
141211
141212
141213
141214
141215
141216
141217
141218
141219
141220
141221
141222
141223
141224
141225
141226
141227
141228
141229
141230
141231
141232
141233
141234
141235
141236
141237
141238
141239
141240
141241
141242
141243
141244
141245
141246
141247
141248
141249
141250
141251
141252
141253
141254
141255
141256
141257
141258
141259
141260
141261
141262
141263
141264
141265
141266
141267
141268
141269
141270
141271
141272
141273
141274
141275
141276
141277
141278
141279
141280
141281
141282
141283
141284
141285
141286
141287
141288
141289
141290
141291
141292
141293
141294
141295
141296
141297
141298
141299
141300
141301
141302
141303
141304
141305
141306
141307
141308
141309
141310
141311
141312
141313
141314
141315
141316
141317
141318
141319
141320
141321
141322
141323
141324
141325
141326
141327
141328
141329
141330
141331
141332
141333
141334
141335
141336
141337
141338
141339
141340
141341
141342
141343
141344
141345
141346
141347
141348
141349
141350
141351
141352
141353
141354
141355
141356
141357
141358
141359
141360
141361
141362
141363
141364
141365
141366
141367
141368
141369
141370
141371
141372
141373
141374
141375
141376
141377
141378
141379
141380
141381
141382
141383
141384
141385
141386
141387
141388
141389
141390
141391
141392
141393
141394
141395
141396
141397
141398
141399
141400
141401
141402
141403
141404
141405
141406
141407
141408
141409
141410
141411
141412
141413
141414
141415
141416
141417
141418
141419
141420
141421
141422
141423
141424
141425
141426
141427
141428
141429
141430
141431
141432
141433
141434
141435
141436
141437
141438
141439
141440
141441
141442
141443
141444
141445
141446
141447
141448
141449
141450
141451
141452
141453
141454
141455
141456
141457
141458
141459
141460
141461
141462
141463
141464
141465
141466
141467
141468
141469
141470
141471
141472
141473
141474
141475
141476
141477
141478
141479
141480
141481
141482
141483
141484
141485
141486
141487
141488
141489
141490
141491
141492
141493
141494
141495
141496
141497
141498
141499
141500
141501
141502
141503
141504
141505
141506
141507
141508
141509
141510
141511
141512
141513
141514
141515
141516
141517
141518
141519
141520
141521
141522
141523
141524
141525
141526
141527
141528
141529
141530
141531
141532
141533
141534
141535
141536
141537
141538
141539
141540
141541
141542
141543
141544
141545
141546
141547
141548
141549
141550
141551
141552
141553
141554
141555
141556
141557
141558
141559
141560
141561
141562
141563
141564
141565
141566
141567
141568
141569
141570
141571
141572
141573
141574
141575
141576
141577
141578
141579
141580
141581
141582
141583
141584
141585
141586
141587
141588
141589
141590
141591
141592
141593
141594
141595
141596
141597
141598
141599
141600
141601
141602
141603
141604
141605
141606
141607
141608
141609
141610
141611
141612
141613
141614
141615
141616
141617
141618
141619
141620
141621
141622
141623
141624
141625
141626
141627
141628
141629
141630
141631
141632
141633
141634
141635
141636
141637
141638
141639
141640
141641
141642
141643
141644
141645
141646
141647
141648
141649
141650
141651
141652
141653
141654
141655
141656
141657
141658
141659
141660
141661
141662
141663
141664
141665
141666
141667
141668
141669
141670
141671
141672
141673
141674
141675
141676
141677
141678
141679
141680
141681
141682
141683
141684
141685
141686
141687
141688
141689
141690
141691
141692
141693
141694
141695
141696
141697
141698
141699
141700
141701
141702
141703
141704
141705
141706
141707
141708
141709
141710
141711
141712
141713
141714
141715
141716
141717
141718
141719
141720
141721
141722
141723
141724
141725
141726
141727
141728
141729
141730
141731
141732
141733
141734
141735
141736
141737
141738
141739
141740
141741
141742
141743
141744
141745
141746
141747
141748
141749
141750
141751
141752
141753
141754
141755
141756
141757
141758
141759
141760
141761
141762
141763
141764
141765
141766
141767
141768
141769
141770
141771
141772
141773
141774
141775
141776
141777
141778
141779
141780
141781
141782
141783
141784
141785
141786
141787
141788
141789
141790
141791
141792
141793
141794
141795
141796
141797
141798
141799
141800
141801
141802
141803
141804
141805
141806
141807
141808
141809
141810
141811
141812
141813
141814
141815
141816
141817
141818
141819
141820
141821
141822
141823
141824
141825
141826
141827
141828
141829
141830
141831
141832
141833
141834
141835
141836
141837
141838
141839
141840
141841
141842
141843
141844
141845
141846
141847
141848
141849
141850
141851
141852
141853
141854
141855
141856
141857
141858
141859
141860
141861
141862
141863
141864
141865
141866
141867
141868
141869
141870
141871
141872
141873
141874
141875
141876
141877
141878
141879
141880
141881
141882
141883
141884
141885
141886
141887
141888
141889
141890
141891
141892
141893
141894
141895
141896
141897
141898
141899
141900
141901
141902
141903
141904
141905
141906
141907
141908
141909
141910
141911
141912
141913
141914
141915
141916
141917
141918
141919
141920
141921
141922
141923
141924
141925
141926
141927
141928
141929
141930
141931
141932
141933
141934
141935
141936
141937
141938
141939
141940
141941
141942
141943
141944
141945
141946
141947
141948
141949
141950
141951
141952
141953
141954
141955
141956
141957
141958
141959
141960
141961
141962
141963
141964
141965
141966
141967
141968
141969
141970
141971
141972
141973
141974
141975
141976
141977
141978
141979
141980
141981
141982
141983
141984
141985
141986
141987
141988
141989
141990
141991
141992
141993
141994
141995
141996
141997
141998
141999
142000
142001
142002
142003
142004
142005
142006
142007
142008
142009
142010
142011
142012
142013
142014
142015
142016
142017
142018
142019
142020
142021
142022
142023
142024
142025
142026
142027
142028
142029
142030
142031
142032
142033
142034
142035
142036
142037
142038
142039
142040
142041
142042
142043
142044
142045
142046
142047
142048
142049
142050
142051
142052
142053
142054
142055
142056
142057
142058
142059
142060
142061
142062
142063
142064
142065
142066
142067
142068
142069
142070
142071
142072
142073
142074
142075
142076
142077
142078
142079
142080
142081
142082
142083
142084
142085
142086
142087
142088
142089
142090
142091
142092
142093
142094
142095
142096
142097
142098
142099
142100
142101
142102
142103
142104
142105
142106
142107
142108
142109
142110
142111
142112
142113
142114
142115
142116
142117
142118
142119
142120
142121
142122
142123
142124
142125
142126
142127
142128
142129
142130
142131
142132
142133
142134
142135
142136
142137
142138
142139
142140
142141
142142
142143
142144
142145
142146
142147
142148
142149
142150
142151
142152
142153
142154
142155
142156
142157
142158
142159
142160
142161
142162
142163
142164
142165
142166
142167
142168
142169
142170
142171
142172
142173
142174
142175
142176
142177
142178
142179
142180
142181
142182
142183
142184
142185
142186
142187
142188
142189
142190
142191
142192
142193
142194
142195
142196
142197
142198
142199
142200
142201
142202
142203
142204
142205
142206
142207
142208
142209
142210
142211
142212
142213
142214
142215
142216
142217
142218
142219
142220
142221
142222
142223
142224
142225
142226
142227
142228
142229
142230
142231
142232
142233
142234
142235
142236
142237
142238
142239
142240
142241
142242
142243
142244
142245
142246
142247
142248
142249
142250
142251
142252
142253
142254
142255
142256
142257
142258
142259
142260
142261
142262
142263
142264
142265
142266
142267
142268
142269
142270
142271
142272
142273
142274
142275
142276
142277
142278
142279
142280
142281
142282
142283
142284
142285
142286
142287
142288
142289
142290
142291
142292
142293
142294
142295
142296
142297
142298
142299
142300
142301
142302
142303
142304
142305
142306
142307
142308
142309
142310
142311
142312
142313
142314
142315
142316
142317
142318
142319
142320
142321
142322
142323
142324
142325
142326
142327
142328
142329
142330
142331
142332
142333
142334
142335
142336
142337
142338
142339
142340
142341
142342
142343
142344
142345
142346
142347
142348
142349
142350
142351
142352
142353
142354
142355
142356
142357
142358
142359
142360
142361
142362
142363
142364
142365
142366
142367
142368
142369
142370
142371
142372
142373
142374
142375
142376
142377
142378
142379
142380
142381
142382
142383
142384
142385
142386
142387
142388
142389
142390
142391
142392
142393
142394
142395
142396
142397
142398
142399
142400
142401
142402
142403
142404
142405
142406
142407
142408
142409
142410
142411
142412
142413
142414
142415
142416
142417
142418
142419
142420
142421
142422
142423
142424
142425
142426
142427
142428
142429
142430
142431
142432
142433
142434
142435
142436
142437
142438
142439
142440
142441
142442
142443
142444
142445
142446
142447
142448
142449
142450
142451
142452
142453
142454
142455
142456
142457
142458
142459
142460
142461
142462
142463
142464
142465
142466
142467
142468
142469
142470
142471
142472
142473
142474
142475
142476
142477
142478
142479
142480
142481
142482
142483
142484
142485
142486
142487
142488
142489
142490
142491
142492
142493
142494
142495
142496
142497
142498
142499
142500
142501
142502
142503
142504
142505
142506
142507
142508
142509
142510
142511
142512
142513
142514
142515
142516
142517
142518
142519
142520
142521
142522
142523
142524
142525
142526
142527
142528
142529
142530
142531
142532
142533
142534
142535
142536
142537
142538
142539
142540
142541
142542
142543
142544
142545
142546
142547
142548
142549
142550
142551
142552
142553
142554
142555
142556
142557
142558
142559
142560
142561
142562
142563
142564
142565
142566
142567
142568
142569
142570
142571
142572
142573
142574
142575
142576
142577
142578
142579
142580
142581
142582
142583
142584
142585
142586
142587
142588
142589
142590
142591
142592
142593
142594
142595
142596
142597
142598
142599
142600
142601
142602
142603
142604
142605
142606
142607
142608
142609
142610
142611
142612
142613
142614
142615
142616
142617
142618
142619
142620
142621
142622
142623
142624
142625
142626
142627
142628
142629
142630
142631
142632
142633
142634
142635
142636
142637
142638
142639
142640
142641
142642
142643
142644
142645
142646
142647
142648
142649
142650
142651
142652
142653
142654
142655
142656
142657
142658
142659
142660
142661
142662
142663
142664
142665
142666
142667
142668
142669
142670
142671
142672
142673
142674
142675
142676
142677
142678
142679
142680
142681
142682
142683
142684
142685
142686
142687
142688
142689
142690
142691
142692
142693
142694
142695
142696
142697
142698
142699
142700
142701
142702
142703
142704
142705
142706
142707
142708
142709
142710
142711
142712
142713
142714
142715
142716
142717
142718
142719
142720
142721
142722
142723
142724
142725
142726
142727
142728
142729
142730
142731
142732
142733
142734
142735
142736
142737
142738
142739
142740
142741
142742
142743
142744
142745
142746
142747
142748
142749
142750
142751
142752
142753
142754
142755
142756
142757
142758
142759
142760
142761
142762
142763
142764
142765
142766
142767
142768
142769
142770
142771
142772
142773
142774
142775
142776
142777
142778
142779
142780
142781
142782
142783
142784
142785
142786
142787
142788
142789
142790
142791
142792
142793
142794
142795
142796
142797
142798
142799
142800
142801
142802
142803
142804
142805
142806
142807
142808
142809
142810
142811
142812
142813
142814
142815
142816
142817
142818
142819
142820
142821
142822
142823
142824
142825
142826
142827
142828
142829
142830
142831
142832
142833
142834
142835
142836
142837
142838
142839
142840
142841
142842
142843
142844
142845
142846
142847
142848
142849
142850
142851
142852
142853
142854
142855
142856
142857
142858
142859
142860
142861
142862
142863
142864
142865
142866
142867
142868
142869
142870
142871
142872
142873
142874
142875
142876
142877
142878
142879
142880
142881
142882
142883
142884
142885
142886
142887
142888
142889
142890
142891
142892
142893
142894
142895
142896
142897
142898
142899
142900
142901
142902
142903
142904
142905
142906
142907
142908
142909
142910
142911
142912
142913
142914
142915
142916
142917
142918
142919
142920
142921
142922
142923
142924
142925
142926
142927
142928
142929
142930
142931
142932
142933
142934
142935
142936
142937
142938
142939
142940
142941
142942
142943
142944
142945
142946
142947
142948
142949
142950
142951
142952
142953
142954
142955
142956
142957
142958
142959
142960
142961
142962
142963
142964
142965
142966
142967
142968
142969
142970
142971
142972
142973
142974
142975
142976
142977
142978
142979
142980
142981
142982
142983
142984
142985
142986
142987
142988
142989
142990
142991
142992
142993
142994
142995
142996
142997
142998
142999
143000
143001
143002
143003
143004
143005
143006
143007
143008
143009
143010
143011
143012
143013
143014
143015
143016
143017
143018
143019
143020
143021
143022
143023
143024
143025
143026
143027
143028
143029
143030
143031
143032
143033
143034
143035
143036
143037
143038
143039
143040
143041
143042
143043
143044
143045
143046
143047
143048
143049
143050
143051
143052
143053
143054
143055
143056
143057
143058
143059
143060
143061
143062
143063
143064
143065
143066
143067
143068
143069
143070
143071
143072
143073
143074
143075
143076
143077
143078
143079
143080
143081
143082
143083
143084
143085
143086
143087
143088
143089
143090
143091
143092
143093
143094
143095
143096
143097
143098
143099
143100
143101
143102
143103
143104
143105
143106
143107
143108
143109
143110
143111
143112
143113
143114
143115
143116
143117
143118
143119
143120
143121
143122
143123
143124
143125
143126
143127
143128
143129
143130
143131
143132
143133
143134
143135
143136
143137
143138
143139
143140
143141
143142
143143
143144
143145
143146
143147
143148
143149
143150
143151
143152
143153
143154
143155
143156
143157
143158
143159
143160
143161
143162
143163
143164
143165
143166
143167
143168
143169
143170
143171
143172
143173
143174
143175
143176
143177
143178
143179
143180
143181
143182
143183
143184
143185
143186
143187
143188
143189
143190
143191
143192
143193
143194
143195
143196
143197
143198
143199
143200
143201
143202
143203
143204
143205
143206
143207
143208
143209
143210
143211
143212
143213
143214
143215
143216
143217
143218
143219
143220
143221
143222
143223
143224
143225
143226
143227
143228
143229
143230
143231
143232
143233
143234
143235
143236
143237
143238
143239
143240
143241
143242
143243
143244
143245
143246
143247
143248
143249
143250
143251
143252
143253
143254
143255
143256
143257
143258
143259
143260
143261
143262
143263
143264
143265
143266
143267
143268
143269
143270
143271
143272
143273
143274
143275
143276
143277
143278
143279
143280
143281
143282
143283
143284
143285
143286
143287
143288
143289
143290
143291
143292
143293
143294
143295
143296
143297
143298
143299
143300
143301
143302
143303
143304
143305
143306
143307
143308
143309
143310
143311
143312
143313
143314
143315
143316
143317
143318
143319
143320
143321
143322
143323
143324
143325
143326
143327
143328
143329
143330
143331
143332
143333
143334
143335
143336
143337
143338
143339
143340
143341
143342
143343
143344
143345
143346
143347
143348
143349
143350
143351
143352
143353
143354
143355
143356
143357
143358
143359
143360
143361
143362
143363
143364
143365
143366
143367
143368
143369
143370
143371
143372
143373
143374
143375
143376
143377
143378
143379
143380
143381
143382
143383
143384
143385
143386
143387
143388
143389
143390
143391
143392
143393
143394
143395
143396
143397
143398
143399
143400
143401
143402
143403
143404
143405
143406
143407
143408
143409
143410
143411
143412
143413
143414
143415
143416
143417
143418
143419
143420
143421
143422
143423
143424
143425
143426
143427
143428
143429
143430
143431
143432
143433
143434
143435
143436
143437
143438
143439
143440
143441
143442
143443
143444
143445
143446
143447
143448
143449
143450
143451
143452
143453
143454
143455
143456
143457
143458
143459
143460
143461
143462
143463
143464
143465
143466
143467
143468
143469
143470
143471
143472
143473
143474
143475
143476
143477
143478
143479
143480
143481
143482
143483
143484
143485
143486
143487
143488
143489
143490
143491
143492
143493
143494
143495
143496
143497
143498
143499
143500
143501
143502
143503
143504
143505
143506
143507
143508
143509
143510
143511
143512
143513
143514
143515
143516
143517
143518
143519
143520
143521
143522
143523
143524
143525
143526
143527
143528
143529
143530
143531
143532
143533
143534
143535
143536
143537
143538
143539
143540
143541
143542
143543
143544
143545
143546
143547
143548
143549
143550
143551
143552
143553
143554
143555
143556
143557
143558
143559
143560
143561
143562
143563
143564
143565
143566
143567
143568
143569
143570
143571
143572
143573
143574
143575
143576
143577
143578
143579
143580
143581
143582
143583
143584
143585
143586
143587
143588
143589
143590
143591
143592
143593
143594
143595
143596
143597
143598
143599
143600
143601
143602
143603
143604
143605
143606
143607
143608
143609
143610
143611
143612
143613
143614
143615
143616
143617
143618
143619
143620
143621
143622
143623
143624
143625
143626
143627
143628
143629
143630
143631
143632
143633
143634
143635
143636
143637
143638
143639
143640
143641
143642
143643
143644
143645
143646
143647
143648
143649
143650
143651
143652
143653
143654
143655
143656
143657
143658
143659
143660
143661
143662
143663
143664
143665
143666
143667
143668
143669
143670
143671
143672
143673
143674
143675
143676
143677
143678
143679
143680
143681
143682
143683
143684
143685
143686
143687
143688
143689
143690
143691
143692
143693
143694
143695
143696
143697
143698
143699
143700
143701
143702
143703
143704
143705
143706
143707
143708
143709
143710
143711
143712
143713
143714
143715
143716
143717
143718
143719
143720
143721
143722
143723
143724
143725
143726
143727
143728
143729
143730
143731
143732
143733
143734
143735
143736
143737
143738
143739
143740
143741
143742
143743
143744
143745
143746
143747
143748
143749
143750
143751
143752
143753
143754
143755
143756
143757
143758
143759
143760
143761
143762
143763
143764
143765
143766
143767
143768
143769
143770
143771
143772
143773
143774
143775
143776
143777
143778
143779
143780
143781
143782
143783
143784
143785
143786
143787
143788
143789
143790
143791
143792
143793
143794
143795
143796
143797
143798
143799
143800
143801
143802
143803
143804
143805
143806
143807
143808
143809
143810
143811
143812
143813
143814
143815
143816
143817
143818
143819
143820
143821
143822
143823
143824
143825
143826
143827
143828
143829
143830
143831
143832
143833
143834
143835
143836
143837
143838
143839
143840
143841
143842
143843
143844
143845
143846
143847
143848
143849
143850
143851
143852
143853
143854
143855
143856
143857
143858
143859
143860
143861
143862
143863
143864
143865
143866
143867
143868
143869
143870
143871
143872
143873
143874
143875
143876
143877
143878
143879
143880
143881
143882
143883
143884
143885
143886
143887
143888
143889
143890
143891
143892
143893
143894
143895
143896
143897
143898
143899
143900
143901
143902
143903
143904
143905
143906
143907
143908
143909
143910
143911
143912
143913
143914
143915
143916
143917
143918
143919
143920
143921
143922
143923
143924
143925
143926
143927
143928
143929
143930
143931
143932
143933
143934
143935
143936
143937
143938
143939
143940
143941
143942
143943
143944
143945
143946
143947
143948
143949
143950
143951
143952
143953
143954
143955
143956
143957
143958
143959
143960
143961
143962
143963
143964
143965
143966
143967
143968
143969
143970
143971
143972
143973
143974
143975
143976
143977
143978
143979
143980
143981
143982
143983
143984
143985
143986
143987
143988
143989
143990
143991
143992
143993
143994
143995
143996
143997
143998
143999
144000
144001
144002
144003
144004
144005
144006
144007
144008
144009
144010
144011
144012
144013
144014
144015
144016
144017
144018
144019
144020
144021
144022
144023
144024
144025
144026
144027
144028
144029
144030
144031
144032
144033
144034
144035
144036
144037
144038
144039
144040
144041
144042
144043
144044
144045
144046
144047
144048
144049
144050
144051
144052
144053
144054
144055
144056
144057
144058
144059
144060
144061
144062
144063
144064
144065
144066
144067
144068
144069
144070
144071
144072
144073
144074
144075
144076
144077
144078
144079
144080
144081
144082
144083
144084
144085
144086
144087
144088
144089
144090
144091
144092
144093
144094
144095
144096
144097
144098
144099
144100
144101
144102
144103
144104
144105
144106
144107
144108
144109
144110
144111
144112
144113
144114
144115
144116
144117
144118
144119
144120
144121
144122
144123
144124
144125
144126
144127
144128
144129
144130
144131
144132
144133
144134
144135
144136
144137
144138
144139
144140
144141
144142
144143
144144
144145
144146
144147
144148
144149
144150
144151
144152
144153
144154
144155
144156
144157
144158
144159
144160
144161
144162
144163
144164
144165
144166
144167
144168
144169
144170
144171
144172
144173
144174
144175
144176
144177
144178
144179
144180
144181
144182
144183
144184
144185
144186
144187
144188
144189
144190
144191
144192
144193
144194
144195
144196
144197
144198
144199
144200
144201
144202
144203
144204
144205
144206
144207
144208
144209
144210
144211
144212
144213
144214
144215
144216
144217
144218
144219
144220
144221
144222
144223
144224
144225
144226
144227
144228
144229
144230
144231
144232
144233
144234
144235
144236
144237
144238
144239
144240
144241
144242
144243
144244
144245
144246
144247
144248
144249
144250
144251
144252
144253
144254
144255
144256
144257
144258
144259
144260
144261
144262
144263
144264
144265
144266
144267
144268
144269
144270
144271
144272
144273
144274
144275
144276
144277
144278
144279
144280
144281
144282
144283
144284
144285
144286
144287
144288
144289
144290
144291
144292
144293
144294
144295
144296
144297
144298
144299
144300
144301
144302
144303
144304
144305
144306
144307
144308
144309
144310
144311
144312
144313
144314
144315
144316
144317
144318
144319
144320
144321
144322
144323
144324
144325
144326
144327
144328
144329
144330
144331
144332
144333
144334
144335
144336
144337
144338
144339
144340
144341
144342
144343
144344
144345
144346
144347
144348
144349
144350
144351
144352
144353
144354
144355
144356
144357
144358
144359
144360
144361
144362
144363
144364
144365
144366
144367
144368
144369
144370
144371
144372
144373
144374
144375
144376
144377
144378
144379
144380
144381
144382
144383
144384
144385
144386
144387
144388
144389
144390
144391
144392
144393
144394
144395
144396
144397
144398
144399
144400
144401
144402
144403
144404
144405
144406
144407
144408
144409
144410
144411
144412
144413
144414
144415
144416
144417
144418
144419
144420
144421
144422
144423
144424
144425
144426
144427
144428
144429
144430
144431
144432
144433
144434
144435
144436
144437
144438
144439
144440
144441
144442
144443
144444
144445
144446
144447
144448
144449
144450
144451
144452
144453
144454
144455
144456
144457
144458
144459
144460
144461
144462
144463
144464
144465
144466
144467
144468
144469
144470
144471
144472
144473
144474
144475
144476
144477
144478
144479
144480
144481
144482
144483
144484
144485
144486
144487
144488
144489
144490
144491
144492
144493
144494
144495
144496
144497
144498
144499
144500
144501
144502
144503
144504
144505
144506
144507
144508
144509
144510
144511
144512
144513
144514
144515
144516
144517
144518
144519
144520
144521
144522
144523
144524
144525
144526
144527
144528
144529
144530
144531
144532
144533
144534
144535
144536
144537
144538
144539
144540
144541
144542
144543
144544
144545
144546
144547
144548
144549
144550
144551
144552
144553
144554
144555
144556
144557
144558
144559
144560
144561
144562
144563
144564
144565
144566
144567
144568
144569
144570
144571
144572
144573
144574
144575
144576
144577
144578
144579
144580
144581
144582
144583
144584
144585
144586
144587
144588
144589
144590
144591
144592
144593
144594
144595
144596
144597
144598
144599
144600
144601
144602
144603
144604
144605
144606
144607
144608
144609
144610
144611
144612
144613
144614
144615
144616
144617
144618
144619
144620
144621
144622
144623
144624
144625
144626
144627
144628
144629
144630
144631
144632
144633
144634
144635
144636
144637
144638
144639
144640
144641
144642
144643
144644
144645
144646
144647
144648
144649
144650
144651
144652
144653
144654
144655
144656
144657
144658
144659
144660
144661
144662
144663
144664
144665
144666
144667
144668
144669
144670
144671
144672
144673
144674
144675
144676
144677
144678
144679
144680
144681
144682
144683
144684
144685
144686
144687
144688
144689
144690
144691
144692
144693
144694
144695
144696
144697
144698
144699
144700
144701
144702
144703
144704
144705
144706
144707
144708
144709
144710
144711
144712
144713
144714
144715
144716
144717
144718
144719
144720
144721
144722
144723
144724
144725
144726
144727
144728
144729
144730
144731
144732
144733
144734
144735
144736
144737
144738
144739
144740
144741
144742
144743
144744
144745
144746
144747
144748
144749
144750
144751
144752
144753
144754
144755
144756
144757
144758
144759
144760
144761
144762
144763
144764
144765
144766
144767
144768
144769
144770
144771
144772
144773
144774
144775
144776
144777
144778
144779
144780
144781
144782
144783
144784
144785
144786
144787
144788
144789
144790
144791
144792
144793
144794
144795
144796
144797
144798
144799
144800
144801
144802
144803
144804
144805
144806
144807
144808
144809
144810
144811
144812
144813
144814
144815
144816
144817
144818
144819
144820
144821
144822
144823
144824
144825
144826
144827
144828
144829
144830
144831
144832
144833
144834
144835
144836
144837
144838
144839
144840
144841
144842
144843
144844
144845
144846
144847
144848
144849
144850
144851
144852
144853
144854
144855
144856
144857
144858
144859
144860
144861
144862
144863
144864
144865
144866
144867
144868
144869
144870
144871
144872
144873
144874
144875
144876
144877
144878
144879
144880
144881
144882
144883
144884
144885
144886
144887
144888
144889
144890
144891
144892
144893
144894
144895
144896
144897
144898
144899
144900
144901
144902
144903
144904
144905
144906
144907
144908
144909
144910
144911
144912
144913
144914
144915
144916
144917
144918
144919
144920
144921
144922
144923
144924
144925
144926
144927
144928
144929
144930
144931
144932
144933
144934
144935
144936
144937
144938
144939
144940
144941
144942
144943
144944
144945
144946
144947
144948
144949
144950
144951
144952
144953
144954
144955
144956
144957
144958
144959
144960
144961
144962
144963
144964
144965
144966
144967
144968
144969
144970
144971
144972
144973
144974
144975
144976
144977
144978
144979
144980
144981
144982
144983
144984
144985
144986
144987
144988
144989
144990
144991
144992
144993
144994
144995
144996
144997
144998
144999
145000
145001
145002
145003
145004
145005
145006
145007
145008
145009
145010
145011
145012
145013
145014
145015
145016
145017
145018
145019
145020
145021
145022
145023
145024
145025
145026
145027
145028
145029
145030
145031
145032
145033
145034
145035
145036
145037
145038
145039
145040
145041
145042
145043
145044
145045
145046
145047
145048
145049
145050
145051
145052
145053
145054
145055
145056
145057
145058
145059
145060
145061
145062
145063
145064
145065
145066
145067
145068
145069
145070
145071
145072
145073
145074
145075
145076
145077
145078
145079
145080
145081
145082
145083
145084
145085
145086
145087
145088
145089
145090
145091
145092
145093
145094
145095
145096
145097
145098
145099
145100
145101
145102
145103
145104
145105
145106
145107
145108
145109
145110
145111
145112
145113
145114
145115
145116
145117
145118
145119
145120
145121
145122
145123
145124
145125
145126
145127
145128
145129
145130
145131
145132
145133
145134
145135
145136
145137
145138
145139
145140
145141
145142
145143
145144
145145
145146
145147
145148
145149
145150
145151
145152
145153
145154
145155
145156
145157
145158
145159
145160
145161
145162
145163
145164
145165
145166
145167
145168
145169
145170
145171
145172
145173
145174
145175
145176
145177
145178
145179
145180
145181
145182
145183
145184
145185
145186
145187
145188
145189
145190
145191
145192
145193
145194
145195
145196
145197
145198
145199
145200
145201
145202
145203
145204
145205
145206
145207
145208
145209
145210
145211
145212
145213
145214
145215
145216
145217
145218
145219
145220
145221
145222
145223
145224
145225
145226
145227
145228
145229
145230
145231
145232
145233
145234
145235
145236
145237
145238
145239
145240
145241
145242
145243
145244
145245
145246
145247
145248
145249
145250
145251
145252
145253
145254
145255
145256
145257
145258
145259
145260
145261
145262
145263
145264
145265
145266
145267
145268
145269
145270
145271
145272
145273
145274
145275
145276
145277
145278
145279
145280
145281
145282
145283
145284
145285
145286
145287
145288
145289
145290
145291
145292
145293
145294
145295
145296
145297
145298
145299
145300
145301
145302
145303
145304
145305
145306
145307
145308
145309
145310
145311
145312
145313
145314
145315
145316
145317
145318
145319
145320
145321
145322
145323
145324
145325
145326
145327
145328
145329
145330
145331
145332
145333
145334
145335
145336
145337
145338
145339
145340
145341
145342
145343
145344
145345
145346
145347
145348
145349
145350
145351
145352
145353
145354
145355
145356
145357
145358
145359
145360
145361
145362
145363
145364
145365
145366
145367
145368
145369
145370
145371
145372
145373
145374
145375
145376
145377
145378
145379
145380
145381
145382
145383
145384
145385
145386
145387
145388
145389
145390
145391
145392
145393
145394
145395
145396
145397
145398
145399
145400
145401
145402
145403
145404
145405
145406
145407
145408
145409
145410
145411
145412
145413
145414
145415
145416
145417
145418
145419
145420
145421
145422
145423
145424
145425
145426
145427
145428
145429
145430
145431
145432
145433
145434
145435
145436
145437
145438
145439
145440
145441
145442
145443
145444
145445
145446
145447
145448
145449
145450
145451
145452
145453
145454
145455
145456
145457
145458
145459
145460
145461
145462
145463
145464
145465
145466
145467
145468
145469
145470
145471
145472
145473
145474
145475
145476
145477
145478
145479
145480
145481
145482
145483
145484
145485
145486
145487
145488
145489
145490
145491
145492
145493
145494
145495
145496
145497
145498
145499
145500
145501
145502
145503
145504
145505
145506
145507
145508
145509
145510
145511
145512
145513
145514
145515
145516
145517
145518
145519
145520
145521
145522
145523
145524
145525
145526
145527
145528
145529
145530
145531
145532
145533
145534
145535
145536
145537
145538
145539
145540
145541
145542
145543
145544
145545
145546
145547
145548
145549
145550
145551
145552
145553
145554
145555
145556
145557
145558
145559
145560
145561
145562
145563
145564
145565
145566
145567
145568
145569
145570
145571
145572
145573
145574
145575
145576
145577
145578
145579
145580
145581
145582
145583
145584
145585
145586
145587
145588
145589
145590
145591
145592
145593
145594
145595
145596
145597
145598
145599
145600
145601
145602
145603
145604
145605
145606
145607
145608
145609
145610
145611
145612
145613
145614
145615
145616
145617
145618
145619
145620
145621
145622
145623
145624
145625
145626
145627
145628
145629
145630
145631
145632
145633
145634
145635
145636
145637
145638
145639
145640
145641
145642
145643
145644
145645
145646
145647
145648
145649
145650
145651
145652
145653
145654
145655
145656
145657
145658
145659
145660
145661
145662
145663
145664
145665
145666
145667
145668
145669
145670
145671
145672
145673
145674
145675
145676
145677
145678
145679
145680
145681
145682
145683
145684
145685
145686
145687
145688
145689
145690
145691
145692
145693
145694
145695
145696
145697
145698
145699
145700
145701
145702
145703
145704
145705
145706
145707
145708
145709
145710
145711
145712
145713
145714
145715
145716
145717
145718
145719
145720
145721
145722
145723
145724
145725
145726
145727
145728
145729
145730
145731
145732
145733
145734
145735
145736
145737
145738
145739
145740
145741
145742
145743
145744
145745
145746
145747
145748
145749
145750
145751
145752
145753
145754
145755
145756
145757
145758
145759
145760
145761
145762
145763
145764
145765
145766
145767
145768
145769
145770
145771
145772
145773
145774
145775
145776
145777
145778
145779
145780
145781
145782
145783
145784
145785
145786
145787
145788
145789
145790
145791
145792
145793
145794
145795
145796
145797
145798
145799
145800
145801
145802
145803
145804
145805
145806
145807
145808
145809
145810
145811
145812
145813
145814
145815
145816
145817
145818
145819
145820
145821
145822
145823
145824
145825
145826
145827
145828
145829
145830
145831
145832
145833
145834
145835
145836
145837
145838
145839
145840
145841
145842
145843
145844
145845
145846
145847
145848
145849
145850
145851
145852
145853
145854
145855
145856
145857
145858
145859
145860
145861
145862
145863
145864
145865
145866
145867
145868
145869
145870
145871
145872
145873
145874
145875
145876
145877
145878
145879
145880
145881
145882
145883
145884
145885
145886
145887
145888
145889
145890
145891
145892
145893
145894
145895
145896
145897
145898
145899
145900
145901
145902
145903
145904
145905
145906
145907
145908
145909
145910
145911
145912
145913
145914
145915
145916
145917
145918
145919
145920
145921
145922
145923
145924
145925
145926
145927
145928
145929
145930
145931
145932
145933
145934
145935
145936
145937
145938
145939
145940
145941
145942
145943
145944
145945
145946
145947
145948
145949
145950
145951
145952
145953
145954
145955
145956
145957
145958
145959
145960
145961
145962
145963
145964
145965
145966
145967
145968
145969
145970
145971
145972
145973
145974
145975
145976
145977
145978
145979
145980
145981
145982
145983
145984
145985
145986
145987
145988
145989
145990
145991
145992
145993
145994
145995
145996
145997
145998
145999
146000
146001
146002
146003
146004
146005
146006
146007
146008
146009
146010
146011
146012
146013
146014
146015
146016
146017
146018
146019
146020
146021
146022
146023
146024
146025
146026
146027
146028
146029
146030
146031
146032
146033
146034
146035
146036
146037
146038
146039
146040
146041
146042
146043
146044
146045
146046
146047
146048
146049
146050
146051
146052
146053
146054
146055
146056
146057
146058
146059
146060
146061
146062
146063
146064
146065
146066
146067
146068
146069
146070
146071
146072
146073
146074
146075
146076
146077
146078
146079
146080
146081
146082
146083
146084
146085
146086
146087
146088
146089
146090
146091
146092
146093
146094
146095
146096
146097
146098
146099
146100
146101
146102
146103
146104
146105
146106
146107
146108
146109
146110
146111
146112
146113
146114
146115
146116
146117
146118
146119
146120
146121
146122
146123
146124
146125
146126
146127
146128
146129
146130
146131
146132
146133
146134
146135
146136
146137
146138
146139
146140
146141
146142
146143
146144
146145
146146
146147
146148
146149
146150
146151
146152
146153
146154
146155
146156
146157
146158
146159
146160
146161
146162
146163
146164
146165
146166
146167
146168
146169
146170
146171
146172
146173
146174
146175
146176
146177
146178
146179
146180
146181
146182
146183
146184
146185
146186
146187
146188
146189
146190
146191
146192
146193
146194
146195
146196
146197
146198
146199
146200
146201
146202
146203
146204
146205
146206
146207
146208
146209
146210
146211
146212
146213
146214
146215
146216
146217
146218
146219
146220
146221
146222
146223
146224
146225
146226
146227
146228
146229
146230
146231
146232
146233
146234
146235
146236
146237
146238
146239
146240
146241
146242
146243
146244
146245
146246
146247
146248
146249
146250
146251
146252
146253
146254
146255
146256
146257
146258
146259
146260
146261
146262
146263
146264
146265
146266
146267
146268
146269
146270
146271
146272
146273
146274
146275
146276
146277
146278
146279
146280
146281
146282
146283
146284
146285
146286
146287
146288
146289
146290
146291
146292
146293
146294
146295
146296
146297
146298
146299
146300
146301
146302
146303
146304
146305
146306
146307
146308
146309
146310
146311
146312
146313
146314
146315
146316
146317
146318
146319
146320
146321
146322
146323
146324
146325
146326
146327
146328
146329
146330
146331
146332
146333
146334
146335
146336
146337
146338
146339
146340
146341
146342
146343
146344
146345
146346
146347
146348
146349
146350
146351
146352
146353
146354
146355
146356
146357
146358
146359
146360
146361
146362
146363
146364
146365
146366
146367
146368
146369
146370
146371
146372
146373
146374
146375
146376
146377
146378
146379
146380
146381
146382
146383
146384
146385
146386
146387
146388
146389
146390
146391
146392
146393
146394
146395
146396
146397
146398
146399
146400
146401
146402
146403
146404
146405
146406
146407
146408
146409
146410
146411
146412
146413
146414
146415
146416
146417
146418
146419
146420
146421
146422
146423
146424
146425
146426
146427
146428
146429
146430
146431
146432
146433
146434
146435
146436
146437
146438
146439
146440
146441
146442
146443
146444
146445
146446
146447
146448
146449
146450
146451
146452
146453
146454
146455
146456
146457
146458
146459
146460
146461
146462
146463
146464
146465
146466
146467
146468
146469
146470
146471
146472
146473
146474
146475
146476
146477
146478
146479
146480
146481
146482
146483
146484
146485
146486
146487
146488
146489
146490
146491
146492
146493
146494
146495
146496
146497
146498
146499
146500
146501
146502
146503
146504
146505
146506
146507
146508
146509
146510
146511
146512
146513
146514
146515
146516
146517
146518
146519
146520
146521
146522
146523
146524
146525
146526
146527
146528
146529
146530
146531
146532
146533
146534
146535
146536
146537
146538
146539
146540
146541
146542
146543
146544
146545
146546
146547
146548
146549
146550
146551
146552
146553
146554
146555
146556
146557
146558
146559
146560
146561
146562
146563
146564
146565
146566
146567
146568
146569
146570
146571
146572
146573
146574
146575
146576
146577
146578
146579
146580
146581
146582
146583
146584
146585
146586
146587
146588
146589
146590
146591
146592
146593
146594
146595
146596
146597
146598
146599
146600
146601
146602
146603
146604
146605
146606
146607
146608
146609
146610
146611
146612
146613
146614
146615
146616
146617
146618
146619
146620
146621
146622
146623
146624
146625
146626
146627
146628
146629
146630
146631
146632
146633
146634
146635
146636
146637
146638
146639
146640
146641
146642
146643
146644
146645
146646
146647
146648
146649
146650
146651
146652
146653
146654
146655
146656
146657
146658
146659
146660
146661
146662
146663
146664
146665
146666
146667
146668
146669
146670
146671
146672
146673
146674
146675
146676
146677
146678
146679
146680
146681
146682
146683
146684
146685
146686
146687
146688
146689
146690
146691
146692
146693
146694
146695
146696
146697
146698
146699
146700
146701
146702
146703
146704
146705
146706
146707
146708
146709
146710
146711
146712
146713
146714
146715
146716
146717
146718
146719
146720
146721
146722
146723
146724
146725
146726
146727
146728
146729
146730
146731
146732
146733
146734
146735
146736
146737
146738
146739
146740
146741
146742
146743
146744
146745
146746
146747
146748
146749
146750
146751
146752
146753
146754
146755
146756
146757
146758
146759
146760
146761
146762
146763
146764
146765
146766
146767
146768
146769
146770
146771
146772
146773
146774
146775
146776
146777
146778
146779
146780
146781
146782
146783
146784
146785
146786
146787
146788
146789
146790
146791
146792
146793
146794
146795
146796
146797
146798
146799
146800
146801
146802
146803
146804
146805
146806
146807
146808
146809
146810
146811
146812
146813
146814
146815
146816
146817
146818
146819
146820
146821
146822
146823
146824
146825
146826
146827
146828
146829
146830
146831
146832
146833
146834
146835
146836
146837
146838
146839
146840
146841
146842
146843
146844
146845
146846
146847
146848
146849
146850
146851
146852
146853
146854
146855
146856
146857
146858
146859
146860
146861
146862
146863
146864
146865
146866
146867
146868
146869
146870
146871
146872
146873
146874
146875
146876
146877
146878
146879
146880
146881
146882
146883
146884
146885
146886
146887
146888
146889
146890
146891
146892
146893
146894
146895
146896
146897
146898
146899
146900
146901
146902
146903
146904
146905
146906
146907
146908
146909
146910
146911
146912
146913
146914
146915
146916
146917
146918
146919
146920
146921
146922
146923
146924
146925
146926
146927
146928
146929
146930
146931
146932
146933
146934
146935
146936
146937
146938
146939
146940
146941
146942
146943
146944
146945
146946
146947
146948
146949
146950
146951
146952
146953
146954
146955
146956
146957
146958
146959
146960
146961
146962
146963
146964
146965
146966
146967
146968
146969
146970
146971
146972
146973
146974
146975
146976
146977
146978
146979
146980
146981
146982
146983
146984
146985
146986
146987
146988
146989
146990
146991
146992
146993
146994
146995
146996
146997
146998
146999
147000
147001
147002
147003
147004
147005
147006
147007
147008
147009
147010
147011
147012
147013
147014
147015
147016
147017
147018
147019
147020
147021
147022
147023
147024
147025
147026
147027
147028
147029
147030
147031
147032
147033
147034
147035
147036
147037
147038
147039
147040
147041
147042
147043
147044
147045
147046
147047
147048
147049
147050
147051
147052
147053
147054
147055
147056
147057
147058
147059
147060
147061
147062
147063
147064
147065
147066
147067
147068
147069
147070
147071
147072
147073
147074
147075
147076
147077
147078
147079
147080
147081
147082
147083
147084
147085
147086
147087
147088
147089
147090
147091
147092
147093
147094
147095
147096
147097
147098
147099
147100
147101
147102
147103
147104
147105
147106
147107
147108
147109
147110
147111
147112
147113
147114
147115
147116
147117
147118
147119
147120
147121
147122
147123
147124
147125
147126
147127
147128
147129
147130
147131
147132
147133
147134
147135
147136
147137
147138
147139
147140
147141
147142
147143
147144
147145
147146
147147
147148
147149
147150
147151
147152
147153
147154
147155
147156
147157
147158
147159
147160
147161
147162
147163
147164
147165
147166
147167
147168
147169
147170
147171
147172
147173
147174
147175
147176
147177
147178
147179
147180
147181
147182
147183
147184
147185
147186
147187
147188
147189
147190
147191
147192
147193
147194
147195
147196
147197
147198
147199
147200
147201
147202
147203
147204
147205
147206
147207
147208
147209
147210
147211
147212
147213
147214
147215
147216
147217
147218
147219
147220
147221
147222
147223
147224
147225
147226
147227
147228
147229
147230
147231
147232
147233
147234
147235
147236
147237
147238
147239
147240
147241
147242
147243
147244
147245
147246
147247
147248
147249
147250
147251
147252
147253
147254
147255
147256
147257
147258
147259
147260
147261
147262
147263
147264
147265
147266
147267
147268
147269
147270
147271
147272
147273
147274
147275
147276
147277
147278
147279
147280
147281
147282
147283
147284
147285
147286
147287
147288
147289
147290
147291
147292
147293
147294
147295
147296
147297
147298
147299
147300
147301
147302
147303
147304
147305
147306
147307
147308
147309
147310
147311
147312
147313
147314
147315
147316
147317
147318
147319
147320
147321
147322
147323
147324
147325
147326
147327
147328
147329
147330
147331
147332
147333
147334
147335
147336
147337
147338
147339
147340
147341
147342
147343
147344
147345
147346
147347
147348
147349
147350
147351
147352
147353
147354
147355
147356
147357
147358
147359
147360
147361
147362
147363
147364
147365
147366
147367
147368
147369
147370
147371
147372
147373
147374
147375
147376
147377
147378
147379
147380
147381
147382
147383
147384
147385
147386
147387
147388
147389
147390
147391
147392
147393
147394
147395
147396
147397
147398
147399
147400
147401
147402
147403
147404
147405
147406
147407
147408
147409
147410
147411
147412
147413
147414
147415
147416
147417
147418
147419
147420
147421
147422
147423
147424
147425
147426
147427
147428
147429
147430
147431
147432
147433
147434
147435
147436
147437
147438
147439
147440
147441
147442
147443
147444
147445
147446
147447
147448
147449
147450
147451
147452
147453
147454
147455
147456
147457
147458
147459
147460
147461
147462
147463
147464
147465
147466
147467
147468
147469
147470
147471
147472
147473
147474
147475
147476
147477
147478
147479
147480
147481
147482
147483
147484
147485
147486
147487
147488
147489
147490
147491
147492
147493
147494
147495
147496
147497
147498
147499
147500
147501
147502
147503
147504
147505
147506
147507
147508
147509
147510
147511
147512
147513
147514
147515
147516
147517
147518
147519
147520
147521
147522
147523
147524
147525
147526
147527
147528
147529
147530
147531
147532
147533
147534
147535
147536
147537
147538
147539
147540
147541
147542
147543
147544
147545
147546
147547
147548
147549
147550
147551
147552
147553
147554
147555
147556
147557
147558
147559
147560
147561
147562
147563
147564
147565
147566
147567
147568
147569
147570
147571
147572
147573
147574
147575
147576
147577
147578
147579
147580
147581
147582
147583
147584
147585
147586
147587
147588
147589
147590
147591
147592
147593
147594
147595
147596
147597
147598
147599
147600
147601
147602
147603
147604
147605
147606
147607
147608
147609
147610
147611
147612
147613
147614
147615
147616
147617
147618
147619
147620
147621
147622
147623
147624
147625
147626
147627
147628
147629
147630
147631
147632
147633
147634
147635
147636
147637
147638
147639
147640
147641
147642
147643
147644
147645
147646
147647
147648
147649
147650
147651
147652
147653
147654
147655
147656
147657
147658
147659
147660
147661
147662
147663
147664
147665
147666
147667
147668
147669
147670
147671
147672
147673
147674
147675
147676
147677
147678
147679
147680
147681
147682
147683
147684
147685
147686
147687
147688
147689
147690
147691
147692
147693
147694
147695
147696
147697
147698
147699
147700
147701
147702
147703
147704
147705
147706
147707
147708
147709
147710
147711
147712
147713
147714
147715
147716
147717
147718
147719
147720
147721
147722
147723
147724
147725
147726
147727
147728
147729
147730
147731
147732
147733
147734
147735
147736
147737
147738
147739
147740
147741
147742
147743
147744
147745
147746
147747
147748
147749
147750
147751
147752
147753
147754
147755
147756
147757
147758
147759
147760
147761
147762
147763
147764
147765
147766
147767
147768
147769
147770
147771
147772
147773
147774
147775
147776
147777
147778
147779
147780
147781
147782
147783
147784
147785
147786
147787
147788
147789
147790
147791
147792
147793
147794
147795
147796
147797
147798
147799
147800
147801
147802
147803
147804
147805
147806
147807
147808
147809
147810
147811
147812
147813
147814
147815
147816
147817
147818
147819
147820
147821
147822
147823
147824
147825
147826
147827
147828
147829
147830
147831
147832
147833
147834
147835
147836
147837
147838
147839
147840
147841
147842
147843
147844
147845
147846
147847
147848
147849
147850
147851
147852
147853
147854
147855
147856
147857
147858
147859
147860
147861
147862
147863
147864
147865
147866
147867
147868
147869
147870
147871
147872
147873
147874
147875
147876
147877
147878
147879
147880
147881
147882
147883
147884
147885
147886
147887
147888
147889
147890
147891
147892
147893
147894
147895
147896
147897
147898
147899
147900
147901
147902
147903
147904
147905
147906
147907
147908
147909
147910
147911
147912
147913
147914
147915
147916
147917
147918
147919
147920
147921
147922
147923
147924
147925
147926
147927
147928
147929
147930
147931
147932
147933
147934
147935
147936
147937
147938
147939
147940
147941
147942
147943
147944
147945
147946
147947
147948
147949
147950
147951
147952
147953
147954
147955
147956
147957
147958
147959
147960
147961
147962
147963
147964
147965
147966
147967
147968
147969
147970
147971
147972
147973
147974
147975
147976
147977
147978
147979
147980
147981
147982
147983
147984
147985
147986
147987
147988
147989
147990
147991
147992
147993
147994
147995
147996
147997
147998
147999
148000
148001
148002
148003
148004
148005
148006
148007
148008
148009
148010
148011
148012
148013
148014
148015
148016
148017
148018
148019
148020
148021
148022
148023
148024
148025
148026
148027
148028
148029
148030
148031
148032
148033
148034
148035
148036
148037
148038
148039
148040
148041
148042
148043
148044
148045
148046
148047
148048
148049
148050
148051
148052
148053
148054
148055
148056
148057
148058
148059
148060
148061
148062
148063
148064
148065
148066
148067
148068
148069
148070
148071
148072
148073
148074
148075
148076
148077
148078
148079
148080
148081
148082
148083
148084
148085
148086
148087
148088
148089
148090
148091
148092
148093
148094
148095
148096
148097
148098
148099
148100
148101
148102
148103
148104
148105
148106
148107
148108
148109
148110
148111
148112
148113
148114
148115
148116
148117
148118
148119
148120
148121
148122
148123
148124
148125
148126
148127
148128
148129
148130
148131
148132
148133
148134
148135
148136
148137
148138
148139
148140
148141
148142
148143
148144
148145
148146
148147
148148
148149
148150
148151
148152
148153
148154
148155
148156
148157
148158
148159
148160
148161
148162
148163
148164
148165
148166
148167
148168
148169
148170
148171
148172
148173
148174
148175
148176
148177
148178
148179
148180
148181
148182
148183
148184
148185
148186
148187
148188
148189
148190
148191
148192
148193
148194
148195
148196
148197
148198
148199
148200
148201
148202
148203
148204
148205
148206
148207
148208
148209
148210
148211
148212
148213
148214
148215
148216
148217
148218
148219
148220
148221
148222
148223
148224
148225
148226
148227
148228
148229
148230
148231
148232
148233
148234
148235
148236
148237
148238
148239
148240
148241
148242
148243
148244
148245
148246
148247
148248
148249
148250
148251
148252
148253
148254
148255
148256
148257
148258
148259
148260
148261
148262
148263
148264
148265
148266
148267
148268
148269
148270
148271
148272
148273
148274
148275
148276
148277
148278
148279
148280
148281
148282
148283
148284
148285
148286
148287
148288
148289
148290
148291
148292
148293
148294
148295
148296
148297
148298
148299
148300
148301
148302
148303
148304
148305
148306
148307
148308
148309
148310
148311
148312
148313
148314
148315
148316
148317
148318
148319
148320
148321
148322
148323
148324
148325
148326
148327
148328
148329
148330
148331
148332
148333
148334
148335
148336
148337
148338
148339
148340
148341
148342
148343
148344
148345
148346
148347
148348
148349
148350
148351
148352
148353
148354
148355
148356
148357
148358
148359
148360
148361
148362
148363
148364
148365
148366
148367
148368
148369
148370
148371
148372
148373
148374
148375
148376
148377
148378
148379
148380
148381
148382
148383
148384
148385
148386
148387
148388
148389
148390
148391
148392
148393
148394
148395
148396
148397
148398
148399
148400
148401
148402
148403
148404
148405
148406
148407
148408
148409
148410
148411
148412
148413
148414
148415
148416
148417
148418
148419
148420
148421
148422
148423
148424
148425
148426
148427
148428
148429
148430
148431
148432
148433
148434
148435
148436
148437
148438
148439
148440
148441
148442
148443
148444
148445
148446
148447
148448
148449
148450
148451
148452
148453
148454
148455
148456
148457
148458
148459
148460
148461
148462
148463
148464
148465
148466
148467
148468
148469
148470
148471
148472
148473
148474
148475
148476
148477
148478
148479
148480
148481
148482
148483
148484
148485
148486
148487
148488
148489
148490
148491
148492
148493
148494
148495
148496
148497
148498
148499
148500
148501
148502
148503
148504
148505
148506
148507
148508
148509
148510
148511
148512
148513
148514
148515
148516
148517
148518
148519
148520
148521
148522
148523
148524
148525
148526
148527
148528
148529
148530
148531
148532
148533
148534
148535
148536
148537
148538
148539
148540
148541
148542
148543
148544
148545
148546
148547
148548
148549
148550
148551
148552
148553
148554
148555
148556
148557
148558
148559
148560
148561
148562
148563
148564
148565
148566
148567
148568
148569
148570
148571
148572
148573
148574
148575
148576
148577
148578
148579
148580
148581
148582
148583
148584
148585
148586
148587
148588
148589
148590
148591
148592
148593
148594
148595
148596
148597
148598
148599
148600
148601
148602
148603
148604
148605
148606
148607
148608
148609
148610
148611
148612
148613
148614
148615
148616
148617
148618
148619
148620
148621
148622
148623
148624
148625
148626
148627
148628
148629
148630
148631
148632
148633
148634
148635
148636
148637
148638
148639
148640
148641
148642
148643
148644
148645
148646
148647
148648
148649
148650
148651
148652
148653
148654
148655
148656
148657
148658
148659
148660
148661
148662
148663
148664
148665
148666
148667
148668
148669
148670
148671
148672
148673
148674
148675
148676
148677
148678
148679
148680
148681
148682
148683
148684
148685
148686
148687
148688
148689
148690
148691
148692
148693
148694
148695
148696
148697
148698
148699
148700
148701
148702
148703
148704
148705
148706
148707
148708
148709
148710
148711
148712
148713
148714
148715
148716
148717
148718
148719
148720
148721
148722
148723
148724
148725
148726
148727
148728
148729
148730
148731
148732
148733
148734
148735
148736
148737
148738
148739
148740
148741
148742
148743
148744
148745
148746
148747
148748
148749
148750
148751
148752
148753
148754
148755
148756
148757
148758
148759
148760
148761
148762
148763
148764
148765
148766
148767
148768
148769
148770
148771
148772
148773
148774
148775
148776
148777
148778
148779
148780
148781
148782
148783
148784
148785
148786
148787
148788
148789
148790
148791
148792
148793
148794
148795
148796
148797
148798
148799
148800
148801
148802
148803
148804
148805
148806
148807
148808
148809
148810
148811
148812
148813
148814
148815
148816
148817
148818
148819
148820
148821
148822
148823
148824
148825
148826
148827
148828
148829
148830
148831
148832
148833
148834
148835
148836
148837
148838
148839
148840
148841
148842
148843
148844
148845
148846
148847
148848
148849
148850
148851
148852
148853
148854
148855
148856
148857
148858
148859
148860
148861
148862
148863
148864
148865
148866
148867
148868
148869
148870
148871
148872
148873
148874
148875
148876
148877
148878
148879
148880
148881
148882
148883
148884
148885
148886
148887
148888
148889
148890
148891
148892
148893
148894
148895
148896
148897
148898
148899
148900
148901
148902
148903
148904
148905
148906
148907
148908
148909
148910
148911
148912
148913
148914
148915
148916
148917
148918
148919
148920
148921
148922
148923
148924
148925
148926
148927
148928
148929
148930
148931
148932
148933
148934
148935
148936
148937
148938
148939
148940
148941
148942
148943
148944
148945
148946
148947
148948
148949
148950
148951
148952
148953
148954
148955
148956
148957
148958
148959
148960
148961
148962
148963
148964
148965
148966
148967
148968
148969
148970
148971
148972
148973
148974
148975
148976
148977
148978
148979
148980
148981
148982
148983
148984
148985
148986
148987
148988
148989
148990
148991
148992
148993
148994
148995
148996
148997
148998
148999
149000
149001
149002
149003
149004
149005
149006
149007
149008
149009
149010
149011
149012
149013
149014
149015
149016
149017
149018
149019
149020
149021
149022
149023
149024
149025
149026
149027
149028
149029
149030
149031
149032
149033
149034
149035
149036
149037
149038
149039
149040
149041
149042
149043
149044
149045
149046
149047
149048
149049
149050
149051
149052
149053
149054
149055
149056
149057
149058
149059
149060
149061
149062
149063
149064
149065
149066
149067
149068
149069
149070
149071
149072
149073
149074
149075
149076
149077
149078
149079
149080
149081
149082
149083
149084
149085
149086
149087
149088
149089
149090
149091
149092
149093
149094
149095
149096
149097
149098
149099
149100
149101
149102
149103
149104
149105
149106
149107
149108
149109
149110
149111
149112
149113
149114
149115
149116
149117
149118
149119
149120
149121
149122
149123
149124
149125
149126
149127
149128
149129
149130
149131
149132
149133
149134
149135
149136
149137
149138
149139
149140
149141
149142
149143
149144
149145
149146
149147
149148
149149
149150
149151
149152
149153
149154
149155
149156
149157
149158
149159
149160
149161
149162
149163
149164
149165
149166
149167
149168
149169
149170
149171
149172
149173
149174
149175
149176
149177
149178
149179
149180
149181
149182
149183
149184
149185
149186
149187
149188
149189
149190
149191
149192
149193
149194
149195
149196
149197
149198
149199
149200
149201
149202
149203
149204
149205
149206
149207
149208
149209
149210
149211
149212
149213
149214
149215
149216
149217
149218
149219
149220
149221
149222
149223
149224
149225
149226
149227
149228
149229
149230
149231
149232
149233
149234
149235
149236
149237
149238
149239
149240
149241
149242
149243
149244
149245
149246
149247
149248
149249
149250
149251
149252
149253
149254
149255
149256
149257
149258
149259
149260
149261
149262
149263
149264
149265
149266
149267
149268
149269
149270
149271
149272
149273
149274
149275
149276
149277
149278
149279
149280
149281
149282
149283
149284
149285
149286
149287
149288
149289
149290
149291
149292
149293
149294
149295
149296
149297
149298
149299
149300
149301
149302
149303
149304
149305
149306
149307
149308
149309
149310
149311
149312
149313
149314
149315
149316
149317
149318
149319
149320
149321
149322
149323
149324
149325
149326
149327
149328
149329
149330
149331
149332
149333
149334
149335
149336
149337
149338
149339
149340
149341
149342
149343
149344
149345
149346
149347
149348
149349
149350
149351
149352
149353
149354
149355
149356
149357
149358
149359
149360
149361
149362
149363
149364
149365
149366
149367
149368
149369
149370
149371
149372
149373
149374
149375
149376
149377
149378
149379
149380
149381
149382
149383
149384
149385
149386
149387
149388
149389
149390
149391
149392
149393
149394
149395
149396
149397
149398
149399
149400
149401
149402
149403
149404
149405
149406
149407
149408
149409
149410
149411
149412
149413
149414
149415
149416
149417
149418
149419
149420
149421
149422
149423
149424
149425
149426
149427
149428
149429
149430
149431
149432
149433
149434
149435
149436
149437
149438
149439
149440
149441
149442
149443
149444
149445
149446
149447
149448
149449
149450
149451
149452
149453
149454
149455
149456
149457
149458
149459
149460
149461
149462
149463
149464
149465
149466
149467
149468
149469
149470
149471
149472
149473
149474
149475
149476
149477
149478
149479
149480
149481
149482
149483
149484
149485
149486
149487
149488
149489
149490
149491
149492
149493
149494
149495
149496
149497
149498
149499
149500
149501
149502
149503
149504
149505
149506
149507
149508
149509
149510
149511
149512
149513
149514
149515
149516
149517
149518
149519
149520
149521
149522
149523
149524
149525
149526
149527
149528
149529
149530
149531
149532
149533
149534
149535
149536
149537
149538
149539
149540
149541
149542
149543
149544
149545
149546
149547
149548
149549
149550
149551
149552
149553
149554
149555
149556
149557
149558
149559
149560
149561
149562
149563
149564
149565
149566
149567
149568
149569
149570
149571
149572
149573
149574
149575
149576
149577
149578
149579
149580
149581
149582
149583
149584
149585
149586
149587
149588
149589
149590
149591
149592
149593
149594
149595
149596
149597
149598
149599
149600
149601
149602
149603
149604
149605
149606
149607
149608
149609
149610
149611
149612
149613
149614
149615
149616
149617
149618
149619
149620
149621
149622
149623
149624
149625
149626
149627
149628
149629
149630
149631
149632
149633
149634
149635
149636
149637
149638
149639
149640
149641
149642
149643
149644
149645
149646
149647
149648
149649
149650
149651
149652
149653
149654
149655
149656
149657
149658
149659
149660
149661
149662
149663
149664
149665
149666
149667
149668
149669
149670
149671
149672
149673
149674
149675
149676
149677
149678
149679
149680
149681
149682
149683
149684
149685
149686
149687
149688
149689
149690
149691
149692
149693
149694
149695
149696
149697
149698
149699
149700
149701
149702
149703
149704
149705
149706
149707
149708
149709
149710
149711
149712
149713
149714
149715
149716
149717
149718
149719
149720
149721
149722
149723
149724
149725
149726
149727
149728
149729
149730
149731
149732
149733
149734
149735
149736
149737
149738
149739
149740
149741
149742
149743
149744
149745
149746
149747
149748
149749
149750
149751
149752
149753
149754
149755
149756
149757
149758
149759
149760
149761
149762
149763
149764
149765
149766
149767
149768
149769
149770
149771
149772
149773
149774
149775
149776
149777
149778
149779
149780
149781
149782
149783
149784
149785
149786
149787
149788
149789
149790
149791
149792
149793
149794
149795
149796
149797
149798
149799
149800
149801
149802
149803
149804
149805
149806
149807
149808
149809
149810
149811
149812
149813
149814
149815
149816
149817
149818
149819
149820
149821
149822
149823
149824
149825
149826
149827
149828
149829
149830
149831
149832
149833
149834
149835
149836
149837
149838
149839
149840
149841
149842
149843
149844
149845
149846
149847
149848
149849
149850
149851
149852
149853
149854
149855
149856
149857
149858
149859
149860
149861
149862
149863
149864
149865
149866
149867
149868
149869
149870
149871
149872
149873
149874
149875
149876
149877
149878
149879
149880
149881
149882
149883
149884
149885
149886
149887
149888
149889
149890
149891
149892
149893
149894
149895
149896
149897
149898
149899
149900
149901
149902
149903
149904
149905
149906
149907
149908
149909
149910
149911
149912
149913
149914
149915
149916
149917
149918
149919
149920
149921
149922
149923
149924
149925
149926
149927
149928
149929
149930
149931
149932
149933
149934
149935
149936
149937
149938
149939
149940
149941
149942
149943
149944
149945
149946
149947
149948
149949
149950
149951
149952
149953
149954
149955
149956
149957
149958
149959
149960
149961
149962
149963
149964
149965
149966
149967
149968
149969
149970
149971
149972
149973
149974
149975
149976
149977
149978
149979
149980
149981
149982
149983
149984
149985
149986
149987
149988
149989
149990
149991
149992
149993
149994
149995
149996
149997
149998
149999
150000
150001
150002
150003
150004
150005
150006
150007
150008
150009
150010
150011
150012
150013
150014
150015
150016
150017
150018
150019
150020
150021
150022
150023
150024
150025
150026
150027
150028
150029
150030
150031
150032
150033
150034
150035
150036
150037
150038
150039
150040
150041
150042
150043
150044
150045
150046
150047
150048
150049
150050
150051
150052
150053
150054
150055
150056
150057
150058
150059
150060
150061
150062
150063
150064
150065
150066
150067
150068
150069
150070
150071
150072
150073
150074
150075
150076
150077
150078
150079
150080
150081
150082
150083
150084
150085
150086
150087
150088
150089
150090
150091
150092
150093
150094
150095
150096
150097
150098
150099
150100
150101
150102
150103
150104
150105
150106
150107
150108
150109
150110
150111
150112
150113
150114
150115
150116
150117
150118
150119
150120
150121
150122
150123
150124
150125
150126
150127
150128
150129
150130
150131
150132
150133
150134
150135
150136
150137
150138
150139
150140
150141
150142
150143
150144
150145
150146
150147
150148
150149
150150
150151
150152
150153
150154
150155
150156
150157
150158
150159
150160
150161
150162
150163
150164
150165
150166
150167
150168
150169
150170
150171
150172
150173
150174
150175
150176
150177
150178
150179
150180
150181
150182
150183
150184
150185
150186
150187
150188
150189
150190
150191
150192
150193
150194
150195
150196
150197
150198
150199
150200
150201
150202
150203
150204
150205
150206
150207
150208
150209
150210
150211
150212
150213
150214
150215
150216
150217
150218
150219
150220
150221
150222
150223
150224
150225
150226
150227
150228
150229
150230
150231
150232
150233
150234
150235
150236
150237
150238
150239
150240
150241
150242
150243
150244
150245
150246
150247
150248
150249
150250
150251
150252
150253
150254
150255
150256
150257
150258
150259
150260
150261
150262
150263
150264
150265
150266
150267
150268
150269
150270
150271
150272
150273
150274
150275
150276
150277
150278
150279
150280
150281
150282
150283
150284
150285
150286
150287
150288
150289
150290
150291
150292
150293
150294
150295
150296
150297
150298
150299
150300
150301
150302
150303
150304
150305
150306
150307
150308
150309
150310
150311
150312
150313
150314
150315
150316
150317
150318
150319
150320
150321
150322
150323
150324
150325
150326
150327
150328
150329
150330
150331
150332
150333
150334
150335
150336
150337
150338
150339
150340
150341
150342
150343
150344
150345
150346
150347
150348
150349
150350
150351
150352
150353
150354
150355
150356
150357
150358
150359
150360
150361
150362
150363
150364
150365
150366
150367
150368
150369
150370
150371
150372
150373
150374
150375
150376
150377
150378
150379
150380
150381
150382
150383
150384
150385
150386
150387
150388
150389
150390
150391
150392
150393
150394
150395
150396
150397
150398
150399
150400
150401
150402
150403
150404
150405
150406
150407
150408
150409
150410
150411
150412
150413
150414
150415
150416
150417
150418
150419
150420
150421
150422
150423
150424
150425
150426
150427
150428
150429
150430
150431
150432
150433
150434
150435
150436
150437
150438
150439
150440
150441
150442
150443
150444
150445
150446
150447
150448
150449
150450
150451
150452
150453
150454
150455
150456
150457
150458
150459
150460
150461
150462
150463
150464
150465
150466
150467
150468
150469
150470
150471
150472
150473
150474
150475
150476
150477
150478
150479
150480
150481
150482
150483
150484
150485
150486
150487
150488
150489
150490
150491
150492
150493
150494
150495
150496
150497
150498
150499
150500
150501
150502
150503
150504
150505
150506
150507
150508
150509
150510
150511
150512
150513
150514
150515
150516
150517
150518
150519
150520
150521
150522
150523
150524
150525
150526
150527
150528
150529
150530
150531
150532
150533
150534
150535
150536
150537
150538
150539
150540
150541
150542
150543
150544
150545
150546
150547
150548
150549
150550
150551
150552
150553
150554
150555
150556
150557
150558
150559
150560
150561
150562
150563
150564
150565
150566
150567
150568
150569
150570
150571
150572
150573
150574
150575
150576
150577
150578
150579
150580
150581
150582
150583
150584
150585
150586
150587
150588
150589
150590
150591
150592
150593
150594
150595
150596
150597
150598
150599
150600
150601
150602
150603
150604
150605
150606
150607
150608
150609
150610
150611
150612
150613
150614
150615
150616
150617
150618
150619
150620
150621
150622
150623
150624
150625
150626
150627
150628
150629
150630
150631
150632
150633
150634
150635
150636
150637
150638
150639
150640
150641
150642
150643
150644
150645
150646
150647
150648
150649
150650
150651
150652
150653
150654
150655
150656
150657
150658
150659
150660
150661
150662
150663
150664
150665
150666
150667
150668
150669
150670
150671
150672
150673
150674
150675
150676
150677
150678
150679
150680
150681
150682
150683
150684
150685
150686
150687
150688
150689
150690
150691
150692
150693
150694
150695
150696
150697
150698
150699
150700
150701
150702
150703
150704
150705
150706
150707
150708
150709
150710
150711
150712
150713
150714
150715
150716
150717
150718
150719
150720
150721
150722
150723
150724
150725
150726
150727
150728
150729
150730
150731
150732
150733
150734
150735
150736
150737
150738
150739
150740
150741
150742
150743
150744
150745
150746
150747
150748
150749
150750
150751
150752
150753
150754
150755
150756
150757
150758
150759
150760
150761
150762
150763
150764
150765
150766
150767
150768
150769
150770
150771
150772
150773
150774
150775
150776
150777
150778
150779
150780
150781
150782
150783
150784
150785
150786
150787
150788
150789
150790
150791
150792
150793
150794
150795
150796
150797
150798
150799
150800
150801
150802
150803
150804
150805
150806
150807
150808
150809
150810
150811
150812
150813
150814
150815
150816
150817
150818
150819
150820
150821
150822
150823
150824
150825
150826
150827
150828
150829
150830
150831
150832
150833
150834
150835
150836
150837
150838
150839
150840
150841
150842
150843
150844
150845
150846
150847
150848
150849
150850
150851
150852
150853
150854
150855
150856
150857
150858
150859
150860
150861
150862
150863
150864
150865
150866
150867
150868
150869
150870
150871
150872
150873
150874
150875
150876
150877
150878
150879
150880
150881
150882
150883
150884
150885
150886
150887
150888
150889
150890
150891
150892
150893
150894
150895
150896
150897
150898
150899
150900
150901
150902
150903
150904
150905
150906
150907
150908
150909
150910
150911
150912
150913
150914
150915
150916
150917
150918
150919
150920
150921
150922
150923
150924
150925
150926
150927
150928
150929
150930
150931
150932
150933
150934
150935
150936
150937
150938
150939
150940
150941
150942
150943
150944
150945
150946
150947
150948
150949
150950
150951
150952
150953
150954
150955
150956
150957
150958
150959
150960
150961
150962
150963
150964
150965
150966
150967
150968
150969
150970
150971
150972
150973
150974
150975
150976
150977
150978
150979
150980
150981
150982
150983
150984
150985
150986
150987
150988
150989
150990
150991
150992
150993
150994
150995
150996
150997
150998
150999
151000
151001
151002
151003
151004
151005
151006
151007
151008
151009
151010
151011
151012
151013
151014
151015
151016
151017
151018
151019
151020
151021
151022
151023
151024
151025
151026
151027
151028
151029
151030
151031
151032
151033
151034
151035
151036
151037
151038
151039
151040
151041
151042
151043
151044
151045
151046
151047
151048
151049
151050
151051
151052
151053
151054
151055
151056
151057
151058
151059
151060
151061
151062
151063
151064
151065
151066
151067
151068
151069
151070
151071
151072
151073
151074
151075
151076
151077
151078
151079
151080
151081
151082
151083
151084
151085
151086
151087
151088
151089
151090
151091
151092
151093
151094
151095
151096
151097
151098
151099
151100
151101
151102
151103
151104
151105
151106
151107
151108
151109
151110
151111
151112
151113
151114
151115
151116
151117
151118
151119
151120
151121
151122
151123
151124
151125
151126
151127
151128
151129
151130
151131
151132
151133
151134
151135
151136
151137
151138
151139
151140
151141
151142
151143
151144
151145
151146
151147
151148
151149
151150
151151
151152
151153
151154
151155
151156
151157
151158
151159
151160
151161
151162
151163
151164
151165
151166
151167
151168
151169
151170
151171
151172
151173
151174
151175
151176
151177
151178
151179
151180
151181
151182
151183
151184
151185
151186
151187
151188
151189
151190
151191
151192
151193
151194
151195
151196
151197
151198
151199
151200
151201
151202
151203
151204
151205
151206
151207
151208
151209
151210
151211
151212
151213
151214
151215
151216
151217
151218
151219
151220
151221
151222
151223
151224
151225
151226
151227
151228
151229
151230
151231
151232
151233
151234
151235
151236
151237
151238
151239
151240
151241
151242
151243
151244
151245
151246
151247
151248
151249
151250
151251
151252
151253
151254
151255
151256
151257
151258
151259
151260
151261
151262
151263
151264
151265
151266
151267
151268
151269
151270
151271
151272
151273
151274
151275
151276
151277
151278
151279
151280
151281
151282
151283
151284
151285
151286
151287
151288
151289
151290
151291
151292
151293
151294
151295
151296
151297
151298
151299
151300
151301
151302
151303
151304
151305
151306
151307
151308
151309
151310
151311
151312
151313
151314
151315
151316
151317
151318
151319
151320
151321
151322
151323
151324
151325
151326
151327
151328
151329
151330
151331
151332
151333
151334
151335
151336
151337
151338
151339
151340
151341
151342
151343
151344
151345
151346
151347
151348
151349
151350
151351
151352
151353
151354
151355
151356
151357
151358
151359
151360
151361
151362
151363
151364
151365
151366
151367
151368
151369
151370
151371
151372
151373
151374
151375
151376
151377
151378
151379
151380
151381
151382
151383
151384
151385
151386
151387
151388
151389
151390
151391
151392
151393
151394
151395
151396
151397
151398
151399
151400
151401
151402
151403
151404
151405
151406
151407
151408
151409
151410
151411
151412
151413
151414
151415
151416
151417
151418
151419
151420
151421
151422
151423
151424
151425
151426
151427
151428
151429
151430
151431
151432
151433
151434
151435
151436
151437
151438
151439
151440
151441
151442
151443
151444
151445
151446
151447
151448
151449
151450
151451
151452
151453
151454
151455
151456
151457
151458
151459
151460
151461
151462
151463
151464
151465
151466
151467
151468
151469
151470
151471
151472
151473
151474
151475
151476
151477
151478
151479
151480
151481
151482
151483
151484
151485
151486
151487
151488
151489
151490
151491
151492
151493
151494
151495
151496
151497
151498
151499
151500
151501
151502
151503
151504
151505
151506
151507
151508
151509
151510
151511
151512
151513
151514
151515
151516
151517
151518
151519
151520
151521
151522
151523
151524
151525
151526
151527
151528
151529
151530
151531
151532
151533
151534
151535
151536
151537
151538
151539
151540
151541
151542
151543
151544
151545
151546
151547
151548
151549
151550
151551
151552
151553
151554
151555
151556
151557
151558
151559
151560
151561
151562
151563
151564
151565
151566
151567
151568
151569
151570
151571
151572
151573
151574
151575
151576
151577
151578
151579
151580
151581
151582
151583
151584
151585
151586
151587
151588
151589
151590
151591
151592
151593
151594
151595
151596
151597
151598
151599
151600
151601
151602
151603
151604
151605
151606
151607
151608
151609
151610
151611
151612
151613
151614
151615
151616
151617
151618
151619
151620
151621
151622
151623
151624
151625
151626
151627
151628
151629
151630
151631
151632
151633
151634
151635
151636
151637
151638
151639
151640
151641
151642
151643
151644
151645
151646
151647
151648
151649
151650
151651
151652
151653
151654
151655
151656
151657
151658
151659
151660
151661
151662
151663
151664
151665
151666
151667
151668
151669
151670
151671
151672
151673
151674
151675
151676
151677
151678
151679
151680
151681
151682
151683
151684
151685
151686
151687
151688
151689
151690
151691
151692
151693
151694
151695
151696
151697
151698
151699
151700
151701
151702
151703
151704
151705
151706
151707
151708
151709
151710
151711
151712
151713
151714
151715
151716
151717
151718
151719
151720
151721
151722
151723
151724
151725
151726
151727
151728
151729
151730
151731
151732
151733
151734
151735
151736
151737
151738
151739
151740
151741
151742
151743
151744
151745
151746
151747
151748
151749
151750
151751
151752
151753
151754
151755
151756
151757
151758
151759
151760
151761
151762
151763
151764
151765
151766
151767
151768
151769
151770
151771
151772
151773
151774
151775
151776
151777
151778
151779
151780
151781
151782
151783
151784
151785
151786
151787
151788
151789
151790
151791
151792
151793
151794
151795
151796
151797
151798
151799
151800
151801
151802
151803
151804
151805
151806
151807
151808
151809
151810
151811
151812
151813
151814
151815
151816
151817
151818
151819
151820
151821
151822
151823
151824
151825
151826
151827
151828
151829
151830
151831
151832
151833
151834
151835
151836
151837
151838
151839
151840
151841
151842
151843
151844
151845
151846
151847
151848
151849
151850
151851
151852
151853
151854
151855
151856
151857
151858
151859
151860
151861
151862
151863
151864
151865
151866
151867
151868
151869
151870
151871
151872
151873
151874
151875
151876
151877
151878
151879
151880
151881
151882
151883
151884
151885
151886
151887
151888
151889
151890
151891
151892
151893
151894
151895
151896
151897
151898
151899
151900
151901
151902
151903
151904
151905
151906
151907
151908
151909
151910
151911
151912
151913
151914
151915
151916
151917
151918
151919
151920
151921
151922
151923
151924
151925
151926
151927
151928
151929
151930
151931
151932
151933
151934
151935
151936
151937
151938
151939
151940
151941
151942
151943
151944
151945
151946
151947
151948
151949
151950
151951
151952
151953
151954
151955
151956
151957
151958
151959
151960
151961
151962
151963
151964
151965
151966
151967
151968
151969
151970
151971
151972
151973
151974
151975
151976
151977
151978
151979
151980
151981
151982
151983
151984
151985
151986
151987
151988
151989
151990
151991
151992
151993
151994
151995
151996
151997
151998
151999
152000
152001
152002
152003
152004
152005
152006
152007
152008
152009
152010
152011
152012
152013
152014
152015
152016
152017
152018
152019
152020
152021
152022
152023
152024
152025
152026
152027
152028
152029
152030
152031
152032
152033
152034
152035
152036
152037
152038
152039
152040
152041
152042
152043
152044
152045
152046
152047
152048
152049
152050
152051
152052
152053
152054
152055
152056
152057
152058
152059
152060
152061
152062
152063
152064
152065
152066
152067
152068
152069
152070
152071
152072
152073
152074
152075
152076
152077
152078
152079
152080
152081
152082
152083
152084
152085
152086
152087
152088
152089
152090
152091
152092
152093
152094
152095
152096
152097
152098
152099
152100
152101
152102
152103
152104
152105
152106
152107
152108
152109
152110
152111
152112
152113
152114
152115
152116
152117
152118
152119
152120
152121
152122
152123
152124
152125
152126
152127
152128
152129
152130
152131
152132
152133
152134
152135
152136
152137
152138
152139
152140
152141
152142
152143
152144
152145
152146
152147
152148
152149
152150
152151
152152
152153
152154
152155
152156
152157
152158
152159
152160
152161
152162
152163
152164
152165
152166
152167
152168
152169
152170
152171
152172
152173
152174
152175
152176
152177
152178
152179
152180
152181
152182
152183
152184
152185
152186
152187
152188
152189
152190
152191
152192
152193
152194
152195
152196
152197
152198
152199
152200
152201
152202
152203
152204
152205
152206
152207
152208
152209
152210
152211
152212
152213
152214
152215
152216
152217
152218
152219
152220
152221
152222
152223
152224
152225
152226
152227
152228
152229
152230
152231
152232
152233
152234
152235
152236
152237
152238
152239
152240
152241
152242
152243
152244
152245
152246
152247
152248
152249
152250
152251
152252
152253
152254
152255
152256
152257
152258
152259
152260
152261
152262
152263
152264
152265
152266
152267
152268
152269
152270
152271
152272
152273
152274
152275
152276
152277
152278
152279
152280
152281
152282
152283
152284
152285
152286
152287
152288
152289
152290
152291
152292
152293
152294
152295
152296
152297
152298
152299
152300
152301
152302
152303
152304
152305
152306
152307
152308
152309
152310
152311
152312
152313
152314
152315
152316
152317
152318
152319
152320
152321
152322
152323
152324
152325
152326
152327
152328
152329
152330
152331
152332
152333
152334
152335
152336
152337
152338
152339
152340
152341
152342
152343
152344
152345
152346
152347
152348
152349
152350
152351
152352
152353
152354
152355
152356
152357
152358
152359
152360
152361
152362
152363
152364
152365
152366
152367
152368
152369
152370
152371
152372
152373
152374
152375
152376
152377
152378
152379
152380
152381
152382
152383
152384
152385
152386
152387
152388
152389
152390
152391
152392
152393
152394
152395
152396
152397
152398
152399
152400
152401
152402
152403
152404
152405
152406
152407
152408
152409
152410
152411
152412
152413
152414
152415
152416
152417
152418
152419
152420
152421
152422
152423
152424
152425
152426
152427
152428
152429
152430
152431
152432
152433
152434
152435
152436
152437
152438
152439
152440
152441
152442
152443
152444
152445
152446
152447
152448
152449
152450
152451
152452
152453
152454
152455
152456
152457
152458
152459
152460
152461
152462
152463
152464
152465
152466
152467
152468
152469
152470
152471
152472
152473
152474
152475
152476
152477
152478
152479
152480
152481
152482
152483
152484
152485
152486
152487
152488
152489
152490
152491
152492
152493
152494
152495
152496
152497
152498
152499
152500
152501
152502
152503
152504
152505
152506
152507
152508
152509
152510
152511
152512
152513
152514
152515
152516
152517
152518
152519
152520
152521
152522
152523
152524
152525
152526
152527
152528
152529
152530
152531
152532
152533
152534
152535
152536
152537
152538
152539
152540
152541
152542
152543
152544
152545
152546
152547
152548
152549
152550
152551
152552
152553
152554
152555
152556
152557
152558
152559
152560
152561
152562
152563
152564
152565
152566
152567
152568
152569
152570
152571
152572
152573
152574
152575
152576
152577
152578
152579
152580
152581
152582
152583
152584
152585
152586
152587
152588
152589
152590
152591
152592
152593
152594
152595
152596
152597
152598
152599
152600
152601
152602
152603
152604
152605
152606
152607
152608
152609
152610
152611
152612
152613
152614
152615
152616
152617
152618
152619
152620
152621
152622
152623
152624
152625
152626
152627
152628
152629
152630
152631
152632
152633
152634
152635
152636
152637
152638
152639
152640
152641
152642
152643
152644
152645
152646
152647
152648
152649
152650
152651
152652
152653
152654
152655
152656
152657
152658
152659
152660
152661
152662
152663
152664
152665
152666
152667
152668
152669
152670
152671
152672
152673
152674
152675
152676
152677
152678
152679
152680
152681
152682
152683
152684
152685
152686
152687
152688
152689
152690
152691
152692
152693
152694
152695
152696
152697
152698
152699
152700
152701
152702
152703
152704
152705
152706
152707
152708
152709
152710
152711
152712
152713
152714
152715
152716
152717
152718
152719
152720
152721
152722
152723
152724
152725
152726
152727
152728
152729
152730
152731
152732
152733
152734
152735
152736
152737
152738
152739
152740
152741
152742
152743
152744
152745
152746
152747
152748
152749
152750
152751
152752
152753
152754
152755
152756
152757
152758
152759
152760
152761
152762
152763
152764
152765
152766
152767
152768
152769
152770
152771
152772
152773
152774
152775
152776
152777
152778
152779
152780
152781
152782
152783
152784
152785
152786
152787
152788
152789
152790
152791
152792
152793
152794
152795
152796
152797
152798
152799
152800
152801
152802
152803
152804
152805
152806
152807
152808
152809
152810
152811
152812
152813
152814
152815
152816
152817
152818
152819
152820
152821
152822
152823
152824
152825
152826
152827
152828
152829
152830
152831
152832
152833
152834
152835
152836
152837
152838
152839
152840
152841
152842
152843
152844
152845
152846
152847
152848
152849
152850
152851
152852
152853
152854
152855
152856
152857
152858
152859
152860
152861
152862
152863
152864
152865
152866
152867
152868
152869
152870
152871
152872
152873
152874
152875
152876
152877
152878
152879
152880
152881
152882
152883
152884
152885
152886
152887
152888
152889
152890
152891
152892
152893
152894
152895
152896
152897
152898
152899
152900
152901
152902
152903
152904
152905
152906
152907
152908
152909
152910
152911
152912
152913
152914
152915
152916
152917
152918
152919
152920
152921
152922
152923
152924
152925
152926
152927
152928
152929
152930
152931
152932
152933
152934
152935
152936
152937
152938
152939
152940
152941
152942
152943
152944
152945
152946
152947
152948
152949
152950
152951
152952
152953
152954
152955
152956
152957
152958
152959
152960
152961
152962
152963
152964
152965
152966
152967
152968
152969
152970
152971
152972
152973
152974
152975
152976
152977
152978
152979
152980
152981
152982
152983
152984
152985
152986
152987
152988
152989
152990
152991
152992
152993
152994
152995
152996
152997
152998
152999
153000
153001
153002
153003
153004
153005
153006
153007
153008
153009
153010
153011
153012
153013
153014
153015
153016
153017
153018
153019
153020
153021
153022
153023
153024
153025
153026
153027
153028
153029
153030
153031
153032
153033
153034
153035
153036
153037
153038
153039
153040
153041
153042
153043
153044
153045
153046
153047
153048
153049
153050
153051
153052
153053
153054
153055
153056
153057
153058
153059
153060
153061
153062
153063
153064
153065
153066
153067
153068
153069
153070
153071
153072
153073
153074
153075
153076
153077
153078
153079
153080
153081
153082
153083
153084
153085
153086
153087
153088
153089
153090
153091
153092
153093
153094
153095
153096
153097
153098
153099
153100
153101
153102
153103
153104
153105
153106
153107
153108
153109
153110
153111
153112
153113
153114
153115
153116
153117
153118
153119
153120
153121
153122
153123
153124
153125
153126
153127
153128
153129
153130
153131
153132
153133
153134
153135
153136
153137
153138
153139
153140
153141
153142
153143
153144
153145
153146
153147
153148
153149
153150
153151
153152
153153
153154
153155
153156
153157
153158
153159
153160
153161
153162
153163
153164
153165
153166
153167
153168
153169
153170
153171
153172
153173
153174
153175
153176
153177
153178
153179
153180
153181
153182
153183
153184
153185
153186
153187
153188
153189
153190
153191
153192
153193
153194
153195
153196
153197
153198
153199
153200
153201
153202
153203
153204
153205
153206
153207
153208
153209
153210
153211
153212
153213
153214
153215
153216
153217
153218
153219
153220
153221
153222
153223
153224
153225
153226
153227
153228
153229
153230
153231
153232
153233
153234
153235
153236
153237
153238
153239
153240
153241
153242
153243
153244
153245
153246
153247
153248
153249
153250
153251
153252
153253
153254
153255
153256
153257
153258
153259
153260
153261
153262
153263
153264
153265
153266
153267
153268
153269
153270
153271
153272
153273
153274
153275
153276
153277
153278
153279
153280
153281
153282
153283
153284
153285
153286
153287
153288
153289
153290
153291
153292
153293
153294
153295
153296
153297
153298
153299
153300
153301
153302
153303
153304
153305
153306
153307
153308
153309
153310
153311
153312
153313
153314
153315
153316
153317
153318
153319
153320
153321
153322
153323
153324
153325
153326
153327
153328
153329
153330
153331
153332
153333
153334
153335
153336
153337
153338
153339
153340
153341
153342
153343
153344
153345
153346
153347
153348
153349
153350
153351
153352
153353
153354
153355
153356
153357
153358
153359
153360
153361
153362
153363
153364
153365
153366
153367
153368
153369
153370
153371
153372
153373
153374
153375
153376
153377
153378
153379
153380
153381
153382
153383
153384
153385
153386
153387
153388
153389
153390
153391
153392
153393
153394
153395
153396
153397
153398
153399
153400
153401
153402
153403
153404
153405
153406
153407
153408
153409
153410
153411
153412
153413
153414
153415
153416
153417
153418
153419
153420
153421
153422
153423
153424
153425
153426
153427
153428
153429
153430
153431
153432
153433
153434
153435
153436
153437
153438
153439
153440
153441
153442
153443
153444
153445
153446
153447
153448
153449
153450
153451
153452
153453
153454
153455
153456
153457
153458
153459
153460
153461
153462
153463
153464
153465
153466
153467
153468
153469
153470
153471
153472
153473
153474
153475
153476
153477
153478
153479
153480
153481
153482
153483
153484
153485
153486
153487
153488
153489
153490
153491
153492
153493
153494
153495
153496
153497
153498
153499
153500
153501
153502
153503
153504
153505
153506
153507
153508
153509
153510
153511
153512
153513
153514
153515
153516
153517
153518
153519
153520
153521
153522
153523
153524
153525
153526
153527
153528
153529
153530
153531
153532
153533
153534
153535
153536
153537
153538
153539
153540
153541
153542
153543
153544
153545
153546
153547
153548
153549
153550
153551
153552
153553
153554
153555
153556
153557
153558
153559
153560
153561
153562
153563
153564
153565
153566
153567
153568
153569
153570
153571
153572
153573
153574
153575
153576
153577
153578
153579
153580
153581
153582
153583
153584
153585
153586
153587
153588
153589
153590
153591
153592
153593
153594
153595
153596
153597
153598
153599
153600
153601
153602
153603
153604
153605
153606
153607
153608
153609
153610
153611
153612
153613
153614
153615
153616
153617
153618
153619
153620
153621
153622
153623
153624
153625
153626
153627
153628
153629
153630
153631
153632
153633
153634
153635
153636
153637
153638
153639
153640
153641
153642
153643
153644
153645
153646
153647
153648
153649
153650
153651
153652
153653
153654
153655
153656
153657
153658
153659
153660
153661
153662
153663
153664
153665
153666
153667
153668
153669
153670
153671
153672
153673
153674
153675
153676
153677
153678
153679
153680
153681
153682
153683
153684
153685
153686
153687
153688
153689
153690
153691
153692
153693
153694
153695
153696
153697
153698
153699
153700
153701
153702
153703
153704
153705
153706
153707
153708
153709
153710
153711
153712
153713
153714
153715
153716
153717
153718
153719
153720
153721
153722
153723
153724
153725
153726
153727
153728
153729
153730
153731
153732
153733
153734
153735
153736
153737
153738
153739
153740
153741
153742
153743
153744
153745
153746
153747
153748
153749
153750
153751
153752
153753
153754
153755
153756
153757
153758
153759
153760
153761
153762
153763
153764
153765
153766
153767
153768
153769
153770
153771
153772
153773
153774
153775
153776
153777
153778
153779
153780
153781
153782
153783
153784
153785
153786
153787
153788
153789
153790
153791
153792
153793
153794
153795
153796
153797
153798
153799
153800
153801
153802
153803
153804
153805
153806
153807
153808
153809
153810
153811
153812
153813
153814
153815
153816
153817
153818
153819
153820
153821
153822
153823
153824
153825
153826
153827
153828
153829
153830
153831
153832
153833
153834
153835
153836
153837
153838
153839
153840
153841
153842
153843
153844
153845
153846
153847
153848
153849
153850
153851
153852
153853
153854
153855
153856
153857
153858
153859
153860
153861
153862
153863
153864
153865
153866
153867
153868
153869
153870
153871
153872
153873
153874
153875
153876
153877
153878
153879
153880
153881
153882
153883
153884
153885
153886
153887
153888
153889
153890
153891
153892
153893
153894
153895
153896
153897
153898
153899
153900
153901
153902
153903
153904
153905
153906
153907
153908
153909
153910
153911
153912
153913
153914
153915
153916
153917
153918
153919
153920
153921
153922
153923
153924
153925
153926
153927
153928
153929
153930
153931
153932
153933
153934
153935
153936
153937
153938
153939
153940
153941
153942
153943
153944
153945
153946
153947
153948
153949
153950
153951
153952
153953
153954
153955
153956
153957
153958
153959
153960
153961
153962
153963
153964
153965
153966
153967
153968
153969
153970
153971
153972
153973
153974
153975
153976
153977
153978
153979
153980
153981
153982
153983
153984
153985
153986
153987
153988
153989
153990
153991
153992
153993
153994
153995
153996
153997
153998
153999
154000
154001
154002
154003
154004
154005
154006
154007
154008
154009
154010
154011
154012
154013
154014
154015
154016
154017
154018
154019
154020
154021
154022
154023
154024
154025
154026
154027
154028
154029
154030
154031
154032
154033
154034
154035
154036
154037
154038
154039
154040
154041
154042
154043
154044
154045
154046
154047
154048
154049
154050
154051
154052
154053
154054
154055
154056
154057
154058
154059
154060
154061
154062
154063
154064
154065
154066
154067
154068
154069
154070
154071
154072
154073
154074
154075
154076
154077
154078
154079
154080
154081
154082
154083
154084
154085
154086
154087
154088
154089
154090
154091
154092
154093
154094
154095
154096
154097
154098
154099
154100
154101
154102
154103
154104
154105
154106
154107
154108
154109
154110
154111
154112
154113
154114
154115
154116
154117
154118
154119
154120
154121
154122
154123
154124
154125
154126
154127
154128
154129
154130
154131
154132
154133
154134
154135
154136
154137
154138
154139
154140
154141
154142
154143
154144
154145
154146
154147
154148
154149
154150
154151
154152
154153
154154
154155
154156
154157
154158
154159
154160
154161
154162
154163
154164
154165
154166
154167
154168
154169
154170
154171
154172
154173
154174
154175
154176
154177
154178
154179
154180
154181
154182
154183
154184
154185
154186
154187
154188
154189
154190
154191
154192
154193
154194
154195
154196
154197
154198
154199
154200
154201
154202
154203
154204
154205
154206
154207
154208
154209
154210
154211
154212
154213
154214
154215
154216
154217
154218
154219
154220
154221
154222
154223
154224
154225
154226
154227
154228
154229
154230
154231
154232
154233
154234
154235
154236
154237
154238
154239
154240
154241
154242
154243
154244
154245
154246
154247
154248
154249
154250
154251
154252
154253
154254
154255
154256
154257
154258
154259
154260
154261
154262
154263
154264
154265
154266
154267
154268
154269
154270
154271
154272
154273
154274
154275
154276
154277
154278
154279
154280
154281
154282
154283
154284
154285
154286
154287
154288
154289
154290
154291
154292
154293
154294
154295
154296
154297
154298
154299
154300
154301
154302
154303
154304
154305
154306
154307
154308
154309
154310
154311
154312
154313
154314
154315
154316
154317
154318
154319
154320
154321
154322
154323
154324
154325
154326
154327
154328
154329
154330
154331
154332
154333
154334
154335
154336
154337
154338
154339
154340
154341
154342
154343
154344
154345
154346
154347
154348
154349
154350
154351
154352
154353
154354
154355
154356
154357
154358
154359
154360
154361
154362
154363
154364
154365
154366
154367
154368
154369
154370
154371
154372
154373
154374
154375
154376
154377
154378
154379
154380
154381
154382
154383
154384
154385
154386
154387
154388
154389
154390
154391
154392
154393
154394
154395
154396
154397
154398
154399
154400
154401
154402
154403
154404
154405
154406
154407
154408
154409
154410
154411
154412
154413
154414
154415
154416
154417
154418
154419
154420
154421
154422
154423
154424
154425
154426
154427
154428
154429
154430
154431
154432
154433
154434
154435
154436
154437
154438
154439
154440
154441
154442
154443
154444
154445
154446
154447
154448
154449
154450
154451
154452
154453
154454
154455
154456
154457
154458
154459
154460
154461
154462
154463
154464
154465
154466
154467
154468
154469
154470
154471
154472
154473
154474
154475
154476
154477
154478
154479
154480
154481
154482
154483
154484
154485
154486
154487
154488
154489
154490
154491
154492
154493
154494
154495
154496
154497
154498
154499
154500
154501
154502
154503
154504
154505
154506
154507
154508
154509
154510
154511
154512
154513
154514
154515
154516
154517
154518
154519
154520
154521
154522
154523
154524
154525
154526
154527
154528
154529
154530
154531
154532
154533
154534
154535
154536
154537
154538
154539
154540
154541
154542
154543
154544
154545
154546
154547
154548
154549
154550
154551
154552
154553
154554
154555
154556
154557
154558
154559
154560
154561
154562
154563
154564
154565
154566
154567
154568
154569
154570
154571
154572
154573
154574
154575
154576
154577
154578
154579
154580
154581
154582
154583
154584
154585
154586
154587
154588
154589
154590
154591
154592
154593
154594
154595
154596
154597
154598
154599
154600
154601
154602
154603
154604
154605
154606
154607
154608
154609
154610
154611
154612
154613
154614
154615
154616
154617
154618
154619
154620
154621
154622
154623
154624
154625
154626
154627
154628
154629
154630
154631
154632
154633
154634
154635
154636
154637
154638
154639
154640
154641
154642
154643
154644
154645
154646
154647
154648
154649
154650
154651
154652
154653
154654
154655
154656
154657
154658
154659
154660
154661
154662
154663
154664
154665
154666
154667
154668
154669
154670
154671
154672
154673
154674
154675
154676
154677
154678
154679
154680
154681
154682
154683
154684
154685
154686
154687
154688
154689
154690
154691
154692
154693
154694
154695
154696
154697
154698
154699
154700
154701
154702
154703
154704
154705
154706
154707
154708
154709
154710
154711
154712
154713
154714
154715
154716
154717
154718
154719
154720
154721
154722
154723
154724
154725
154726
154727
154728
154729
154730
154731
154732
154733
154734
154735
154736
154737
154738
154739
154740
154741
154742
154743
154744
154745
154746
154747
154748
154749
154750
154751
154752
154753
154754
154755
154756
154757
154758
154759
154760
154761
154762
154763
154764
154765
154766
154767
154768
154769
154770
154771
154772
154773
154774
154775
154776
154777
154778
154779
154780
154781
154782
154783
154784
154785
154786
154787
154788
154789
154790
154791
154792
154793
154794
154795
154796
154797
154798
154799
154800
154801
154802
154803
154804
154805
154806
154807
154808
154809
154810
154811
154812
154813
154814
154815
154816
154817
154818
154819
154820
154821
154822
154823
154824
154825
154826
154827
154828
154829
154830
154831
154832
154833
154834
154835
154836
154837
154838
154839
154840
154841
154842
154843
154844
154845
154846
154847
154848
154849
154850
154851
154852
154853
154854
154855
154856
154857
154858
154859
154860
154861
154862
154863
154864
154865
154866
154867
154868
154869
154870
154871
154872
154873
154874
154875
154876
154877
154878
154879
154880
154881
154882
154883
154884
154885
154886
154887
154888
154889
154890
154891
154892
154893
154894
154895
154896
154897
154898
154899
154900
154901
154902
154903
154904
154905
154906
154907
154908
154909
154910
154911
154912
154913
154914
154915
154916
154917
154918
154919
154920
154921
154922
154923
154924
154925
154926
154927
154928
154929
154930
154931
154932
154933
154934
154935
154936
154937
154938
154939
154940
154941
154942
154943
154944
154945
154946
154947
154948
154949
154950
154951
154952
154953
154954
154955
154956
154957
154958
154959
154960
154961
154962
154963
154964
154965
154966
154967
154968
154969
154970
154971
154972
154973
154974
154975
154976
154977
154978
154979
154980
154981
154982
154983
154984
154985
154986
154987
154988
154989
154990
154991
154992
154993
154994
154995
154996
154997
154998
154999
155000
155001
155002
155003
155004
155005
155006
155007
155008
155009
155010
155011
155012
155013
155014
155015
155016
155017
155018
155019
155020
155021
155022
155023
155024
155025
155026
155027
155028
155029
155030
155031
155032
155033
155034
155035
155036
155037
155038
155039
155040
155041
155042
155043
155044
155045
155046
155047
155048
155049
155050
155051
155052
155053
155054
155055
155056
155057
155058
155059
155060
155061
155062
155063
155064
155065
155066
155067
155068
155069
155070
155071
155072
155073
155074
155075
155076
155077
155078
155079
155080
155081
155082
155083
155084
155085
155086
155087
155088
155089
155090
155091
155092
155093
155094
155095
155096
155097
155098
155099
155100
155101
155102
155103
155104
155105
155106
155107
155108
155109
155110
155111
155112
155113
155114
155115
155116
155117
155118
155119
155120
155121
155122
155123
155124
155125
155126
155127
155128
155129
155130
155131
155132
155133
155134
155135
155136
155137
155138
155139
155140
155141
155142
155143
155144
155145
155146
155147
155148
155149
155150
155151
155152
155153
155154
155155
155156
155157
155158
155159
155160
155161
155162
155163
155164
155165
155166
155167
155168
155169
155170
155171
155172
155173
155174
155175
155176
155177
155178
155179
155180
155181
155182
155183
155184
155185
155186
155187
155188
155189
155190
155191
155192
155193
155194
155195
155196
155197
155198
155199
155200
155201
155202
155203
155204
155205
155206
155207
155208
155209
155210
155211
155212
155213
155214
155215
155216
155217
155218
155219
155220
155221
155222
155223
155224
155225
155226
155227
155228
155229
155230
155231
155232
155233
155234
155235
155236
155237
155238
155239
155240
155241
155242
155243
155244
155245
155246
155247
155248
155249
155250
155251
155252
155253
155254
155255
155256
155257
155258
155259
155260
155261
155262
155263
155264
155265
155266
155267
155268
155269
155270
155271
155272
155273
155274
155275
155276
155277
155278
155279
155280
155281
155282
155283
155284
155285
155286
155287
155288
155289
155290
155291
155292
155293
155294
155295
155296
155297
155298
155299
155300
155301
155302
155303
155304
155305
155306
155307
155308
155309
155310
155311
155312
155313
155314
155315
155316
155317
155318
155319
155320
155321
155322
155323
155324
155325
155326
155327
155328
155329
155330
155331
155332
155333
155334
155335
155336
155337
155338
155339
155340
155341
155342
155343
155344
155345
155346
155347
155348
155349
155350
155351
155352
155353
155354
155355
155356
155357
155358
155359
155360
155361
155362
155363
155364
155365
155366
155367
155368
155369
155370
155371
155372
155373
155374
155375
155376
155377
155378
155379
155380
155381
155382
155383
155384
155385
155386
155387
155388
155389
155390
155391
155392
155393
155394
155395
155396
155397
155398
155399
155400
155401
155402
155403
155404
155405
155406
155407
155408
155409
155410
155411
155412
155413
155414
155415
155416
155417
155418
155419
155420
155421
155422
155423
155424
155425
155426
155427
155428
155429
155430
155431
155432
155433
155434
155435
155436
155437
155438
155439
155440
155441
155442
155443
155444
155445
155446
155447
155448
155449
155450
155451
155452
155453
155454
155455
155456
155457
155458
155459
155460
155461
155462
155463
155464
155465
155466
155467
155468
155469
155470
155471
155472
155473
155474
155475
155476
155477
155478
155479
155480
155481
155482
155483
155484
155485
155486
155487
155488
155489
155490
155491
155492
155493
155494
155495
155496
155497
155498
155499
155500
155501
155502
155503
155504
155505
155506
155507
155508
155509
155510
155511
155512
155513
155514
155515
155516
155517
155518
155519
155520
155521
155522
155523
155524
155525
155526
155527
155528
155529
155530
155531
155532
155533
155534
155535
155536
155537
155538
155539
155540
155541
155542
155543
155544
155545
155546
155547
155548
155549
155550
155551
155552
155553
155554
155555
155556
155557
155558
155559
155560
155561
155562
155563
155564
155565
155566
155567
155568
155569
155570
155571
155572
155573
155574
155575
155576
155577
155578
155579
155580
155581
155582
155583
155584
155585
155586
155587
155588
155589
155590
155591
155592
155593
155594
155595
155596
155597
155598
155599
155600
155601
155602
155603
155604
155605
155606
155607
155608
155609
155610
155611
155612
155613
155614
155615
155616
155617
155618
155619
155620
155621
155622
155623
155624
155625
155626
155627
155628
155629
155630
155631
155632
155633
155634
155635
155636
155637
155638
155639
155640
155641
155642
155643
155644
155645
155646
155647
155648
155649
155650
155651
155652
155653
155654
155655
155656
155657
155658
155659
155660
155661
155662
155663
155664
155665
155666
155667
155668
155669
155670
155671
155672
155673
155674
155675
155676
155677
155678
155679
155680
155681
155682
155683
155684
155685
155686
155687
155688
155689
155690
155691
155692
155693
155694
155695
155696
155697
155698
155699
155700
155701
155702
155703
155704
155705
155706
155707
155708
155709
155710
155711
155712
155713
155714
155715
155716
155717
155718
155719
155720
155721
155722
155723
155724
155725
155726
155727
155728
155729
155730
155731
155732
155733
155734
155735
155736
155737
155738
155739
155740
155741
155742
155743
155744
155745
155746
155747
155748
155749
155750
155751
155752
155753
155754
155755
155756
155757
155758
155759
155760
155761
155762
155763
155764
155765
155766
155767
155768
155769
155770
155771
155772
155773
155774
155775
155776
155777
155778
155779
155780
155781
155782
155783
155784
155785
155786
155787
155788
155789
155790
155791
155792
155793
155794
155795
155796
155797
155798
155799
155800
155801
155802
155803
155804
155805
155806
155807
155808
155809
155810
155811
155812
155813
155814
155815
155816
155817
155818
155819
155820
155821
155822
155823
155824
155825
155826
155827
155828
155829
155830
155831
155832
155833
155834
155835
155836
155837
155838
155839
155840
155841
155842
155843
155844
155845
155846
155847
155848
155849
155850
155851
155852
155853
155854
155855
155856
155857
155858
155859
155860
155861
155862
155863
155864
155865
155866
155867
155868
155869
155870
155871
155872
155873
155874
155875
155876
155877
155878
155879
155880
155881
155882
155883
155884
155885
155886
155887
155888
155889
155890
155891
155892
155893
155894
155895
155896
155897
155898
155899
155900
155901
155902
155903
155904
155905
155906
155907
155908
155909
155910
155911
155912
155913
155914
155915
155916
155917
155918
155919
155920
155921
155922
155923
155924
155925
155926
155927
155928
155929
155930
155931
155932
155933
155934
155935
155936
155937
155938
155939
155940
155941
155942
155943
155944
155945
155946
155947
155948
155949
155950
155951
155952
155953
155954
155955
155956
155957
155958
155959
155960
155961
155962
155963
155964
155965
155966
155967
155968
155969
155970
155971
155972
155973
155974
155975
155976
155977
155978
155979
155980
155981
155982
155983
155984
155985
155986
155987
155988
155989
155990
155991
155992
155993
155994
155995
155996
155997
155998
155999
156000
156001
156002
156003
156004
156005
156006
156007
156008
156009
156010
156011
156012
156013
156014
156015
156016
156017
156018
156019
156020
156021
156022
156023
156024
156025
156026
156027
156028
156029
156030
156031
156032
156033
156034
156035
156036
156037
156038
156039
156040
156041
156042
156043
156044
156045
156046
156047
156048
156049
156050
156051
156052
156053
156054
156055
156056
156057
156058
156059
156060
156061
156062
156063
156064
156065
156066
156067
156068
156069
156070
156071
156072
156073
156074
156075
156076
156077
156078
156079
156080
156081
156082
156083
156084
156085
156086
156087
156088
156089
156090
156091
156092
156093
156094
156095
156096
156097
156098
156099
156100
156101
156102
156103
156104
156105
156106
156107
156108
156109
156110
156111
156112
156113
156114
156115
156116
156117
156118
156119
156120
156121
156122
156123
156124
156125
156126
156127
156128
156129
156130
156131
156132
156133
156134
156135
156136
156137
156138
156139
156140
156141
156142
156143
156144
156145
156146
156147
156148
156149
156150
156151
156152
156153
156154
156155
156156
156157
156158
156159
156160
156161
156162
156163
156164
156165
156166
156167
156168
156169
156170
156171
156172
156173
156174
156175
156176
156177
156178
156179
156180
156181
156182
156183
156184
156185
156186
156187
156188
156189
156190
156191
156192
156193
156194
156195
156196
156197
156198
156199
156200
156201
156202
156203
156204
156205
156206
156207
156208
156209
156210
156211
156212
156213
156214
156215
156216
156217
156218
156219
156220
156221
156222
156223
156224
156225
156226
156227
156228
156229
156230
156231
156232
156233
156234
156235
156236
156237
156238
156239
156240
156241
156242
156243
156244
156245
156246
156247
156248
156249
156250
156251
156252
156253
156254
156255
156256
156257
156258
156259
156260
156261
156262
156263
156264
156265
156266
156267
156268
156269
156270
156271
156272
156273
156274
156275
156276
156277
156278
156279
156280
156281
156282
156283
156284
156285
156286
156287
156288
156289
156290
156291
156292
156293
156294
156295
156296
156297
156298
156299
156300
156301
156302
156303
156304
156305
156306
156307
156308
156309
156310
156311
156312
156313
156314
156315
156316
156317
156318
156319
156320
156321
156322
156323
156324
156325
156326
156327
156328
156329
156330
156331
156332
156333
156334
156335
156336
156337
156338
156339
156340
156341
156342
156343
156344
156345
156346
156347
156348
156349
156350
156351
156352
156353
156354
156355
156356
156357
156358
156359
156360
156361
156362
156363
156364
156365
156366
156367
156368
156369
156370
156371
156372
156373
156374
156375
156376
156377
156378
156379
156380
156381
156382
156383
156384
156385
156386
156387
156388
156389
156390
156391
156392
156393
156394
156395
156396
156397
156398
156399
156400
156401
156402
156403
156404
156405
156406
156407
156408
156409
156410
156411
156412
156413
156414
156415
156416
156417
156418
156419
156420
156421
156422
156423
156424
156425
156426
156427
156428
156429
156430
156431
156432
156433
156434
156435
156436
156437
156438
156439
156440
156441
156442
156443
156444
156445
156446
156447
156448
156449
156450
156451
156452
156453
156454
156455
156456
156457
156458
156459
156460
156461
156462
156463
156464
156465
156466
156467
156468
156469
156470
156471
156472
156473
156474
156475
156476
156477
156478
156479
156480
156481
156482
156483
156484
156485
156486
156487
156488
156489
156490
156491
156492
156493
156494
156495
156496
156497
156498
156499
156500
156501
156502
156503
156504
156505
156506
156507
156508
156509
156510
156511
156512
156513
156514
156515
156516
156517
156518
156519
156520
156521
156522
156523
156524
156525
156526
156527
156528
156529
156530
156531
156532
156533
156534
156535
156536
156537
156538
156539
156540
156541
156542
156543
156544
156545
156546
156547
156548
156549
156550
156551
156552
156553
156554
156555
156556
156557
156558
156559
156560
156561
156562
156563
156564
156565
156566
156567
156568
156569
156570
156571
156572
156573
156574
156575
156576
156577
156578
156579
156580
156581
156582
156583
156584
156585
156586
156587
156588
156589
156590
156591
156592
156593
156594
156595
156596
156597
156598
156599
156600
156601
156602
156603
156604
156605
156606
156607
156608
156609
156610
156611
156612
156613
156614
156615
156616
156617
156618
156619
156620
156621
156622
156623
156624
156625
156626
156627
156628
156629
156630
156631
156632
156633
156634
156635
156636
156637
156638
156639
156640
156641
156642
156643
156644
156645
156646
156647
156648
156649
156650
156651
156652
156653
156654
156655
156656
156657
156658
156659
156660
156661
156662
156663
156664
156665
156666
156667
156668
156669
156670
156671
156672
156673
156674
156675
156676
156677
156678
156679
156680
156681
156682
156683
156684
156685
156686
156687
156688
156689
156690
156691
156692
156693
156694
156695
156696
156697
156698
156699
156700
156701
156702
156703
156704
156705
156706
156707
156708
156709
156710
156711
156712
156713
156714
156715
156716
156717
156718
156719
156720
156721
156722
156723
156724
156725
156726
156727
156728
156729
156730
156731
156732
156733
156734
156735
156736
156737
156738
156739
156740
156741
156742
156743
156744
156745
156746
156747
156748
156749
156750
156751
156752
156753
156754
156755
156756
156757
156758
156759
156760
156761
156762
156763
156764
156765
156766
156767
156768
156769
156770
156771
156772
156773
156774
156775
156776
156777
156778
156779
156780
156781
156782
156783
156784
156785
156786
156787
156788
156789
156790
156791
156792
156793
156794
156795
156796
156797
156798
156799
156800
156801
156802
156803
156804
156805
156806
156807
156808
156809
156810
156811
156812
156813
156814
156815
156816
156817
156818
156819
156820
156821
156822
156823
156824
156825
156826
156827
156828
156829
156830
156831
156832
156833
156834
156835
156836
156837
156838
156839
156840
156841
156842
156843
156844
156845
156846
156847
156848
156849
156850
156851
156852
156853
156854
156855
156856
156857
156858
156859
156860
156861
156862
156863
156864
156865
156866
156867
156868
156869
156870
156871
156872
156873
156874
156875
156876
156877
156878
156879
156880
156881
156882
156883
156884
156885
156886
156887
156888
156889
156890
156891
156892
156893
156894
156895
156896
156897
156898
156899
156900
156901
156902
156903
156904
156905
156906
156907
156908
156909
156910
156911
156912
156913
156914
156915
156916
156917
156918
156919
156920
156921
156922
156923
156924
156925
156926
156927
156928
156929
156930
156931
156932
156933
156934
156935
156936
156937
156938
156939
156940
156941
156942
156943
156944
156945
156946
156947
156948
156949
156950
156951
156952
156953
156954
156955
156956
156957
156958
156959
156960
156961
156962
156963
156964
156965
156966
156967
156968
156969
156970
156971
156972
156973
156974
156975
156976
156977
156978
156979
156980
156981
156982
156983
156984
156985
156986
156987
156988
156989
156990
156991
156992
156993
156994
156995
156996
156997
156998
156999
157000
157001
157002
157003
157004
157005
157006
157007
157008
157009
157010
157011
157012
157013
157014
157015
157016
157017
157018
157019
157020
157021
157022
157023
157024
157025
157026
157027
157028
157029
157030
157031
157032
157033
157034
157035
157036
157037
157038
157039
157040
157041
157042
157043
157044
157045
157046
157047
157048
157049
157050
157051
157052
157053
157054
157055
157056
157057
157058
157059
157060
157061
157062
157063
157064
157065
157066
157067
157068
157069
157070
157071
157072
157073
157074
157075
157076
157077
157078
157079
157080
157081
157082
157083
157084
157085
157086
157087
157088
157089
157090
157091
157092
157093
157094
157095
157096
157097
157098
157099
157100
157101
157102
157103
157104
157105
157106
157107
157108
157109
157110
157111
157112
157113
157114
157115
157116
157117
157118
157119
157120
157121
157122
157123
157124
157125
157126
157127
157128
157129
157130
157131
157132
157133
157134
157135
157136
157137
157138
157139
157140
157141
157142
157143
157144
157145
157146
157147
157148
157149
157150
157151
157152
157153
157154
157155
157156
157157
157158
157159
157160
157161
157162
157163
157164
157165
157166
157167
157168
157169
157170
157171
157172
157173
157174
157175
157176
157177
157178
157179
157180
157181
157182
157183
157184
157185
157186
157187
157188
157189
157190
157191
157192
157193
157194
157195
157196
157197
157198
157199
157200
157201
157202
157203
157204
157205
157206
157207
157208
157209
157210
157211
157212
157213
157214
157215
157216
157217
157218
157219
157220
157221
157222
157223
157224
157225
157226
157227
157228
157229
157230
157231
157232
157233
157234
157235
157236
157237
157238
157239
157240
157241
157242
157243
157244
157245
157246
157247
157248
157249
157250
157251
157252
157253
157254
157255
157256
157257
157258
157259
157260
157261
157262
157263
157264
157265
157266
157267
157268
157269
157270
157271
157272
157273
157274
157275
157276
157277
157278
157279
157280
157281
157282
157283
157284
157285
157286
157287
157288
157289
157290
157291
157292
157293
157294
157295
157296
157297
157298
157299
157300
157301
157302
157303
157304
157305
157306
157307
157308
157309
157310
157311
157312
157313
157314
157315
157316
157317
157318
157319
157320
157321
157322
157323
157324
157325
157326
157327
157328
157329
157330
157331
157332
157333
157334
157335
157336
157337
157338
157339
157340
157341
157342
157343
157344
157345
157346
157347
157348
157349
157350
157351
157352
157353
157354
157355
157356
157357
157358
157359
157360
157361
157362
157363
157364
157365
157366
157367
157368
157369
157370
157371
157372
157373
157374
157375
157376
157377
157378
157379
157380
157381
157382
157383
157384
157385
157386
157387
157388
157389
157390
157391
157392
157393
157394
157395
157396
157397
157398
157399
157400
157401
157402
157403
157404
157405
157406
157407
157408
157409
157410
157411
157412
157413
157414
157415
157416
157417
157418
157419
157420
157421
157422
157423
157424
157425
157426
157427
157428
157429
157430
157431
157432
157433
157434
157435
157436
157437
157438
157439
157440
157441
157442
157443
157444
157445
157446
157447
157448
157449
157450
157451
157452
157453
157454
157455
157456
157457
157458
157459
157460
157461
157462
157463
157464
157465
157466
157467
157468
157469
157470
157471
157472
157473
157474
157475
157476
157477
157478
157479
157480
157481
157482
157483
157484
157485
157486
157487
157488
157489
157490
157491
157492
157493
157494
157495
157496
157497
157498
157499
157500
157501
157502
157503
157504
157505
157506
157507
157508
157509
157510
157511
157512
157513
157514
157515
157516
157517
157518
157519
157520
157521
157522
157523
157524
157525
157526
157527
157528
157529
157530
157531
157532
157533
157534
157535
157536
157537
157538
157539
157540
157541
157542
157543
157544
157545
157546
157547
157548
157549
157550
157551
157552
157553
157554
157555
157556
157557
157558
157559
157560
157561
157562
157563
157564
157565
157566
157567
157568
157569
157570
157571
157572
157573
157574
157575
157576
157577
157578
157579
157580
157581
157582
157583
157584
157585
157586
157587
157588
157589
157590
157591
157592
157593
157594
157595
157596
157597
157598
157599
157600
157601
157602
157603
157604
157605
157606
157607
157608
157609
157610
157611
157612
157613
157614
157615
157616
157617
157618
157619
157620
157621
157622
157623
157624
157625
157626
157627
157628
157629
157630
157631
157632
157633
157634
157635
157636
157637
157638
157639
157640
157641
157642
157643
157644
157645
157646
157647
157648
157649
157650
157651
157652
157653
157654
157655
157656
157657
157658
157659
157660
157661
157662
157663
157664
157665
157666
157667
157668
157669
157670
157671
157672
157673
157674
157675
157676
157677
157678
157679
157680
157681
157682
157683
157684
157685
157686
157687
157688
157689
157690
157691
157692
157693
157694
157695
157696
157697
157698
157699
157700
157701
157702
157703
157704
157705
157706
157707
157708
157709
157710
157711
157712
157713
157714
157715
157716
157717
157718
157719
157720
157721
157722
157723
157724
157725
157726
157727
157728
157729
157730
157731
157732
157733
157734
157735
157736
157737
157738
157739
157740
157741
157742
157743
157744
157745
157746
157747
157748
157749
157750
157751
157752
157753
157754
157755
157756
157757
157758
157759
157760
157761
157762
157763
157764
157765
157766
157767
157768
157769
157770
157771
157772
157773
157774
157775
157776
157777
157778
157779
157780
157781
157782
157783
157784
157785
157786
157787
157788
157789
157790
157791
157792
157793
157794
157795
157796
157797
157798
157799
157800
157801
157802
157803
157804
157805
157806
157807
157808
157809
157810
157811
157812
157813
157814
157815
157816
157817
157818
157819
157820
157821
157822
157823
157824
157825
157826
157827
157828
157829
157830
157831
157832
157833
157834
157835
157836
157837
157838
157839
157840
157841
157842
157843
157844
157845
157846
157847
157848
157849
157850
157851
157852
157853
157854
157855
157856
157857
157858
157859
157860
157861
157862
157863
157864
157865
157866
157867
157868
157869
157870
157871
157872
157873
157874
157875
157876
157877
157878
157879
157880
157881
157882
157883
157884
157885
157886
157887
157888
157889
157890
157891
157892
157893
157894
157895
157896
157897
157898
157899
157900
157901
157902
157903
157904
157905
157906
157907
157908
157909
157910
157911
157912
157913
157914
157915
157916
157917
157918
157919
157920
157921
157922
157923
157924
157925
157926
157927
157928
157929
157930
157931
157932
157933
157934
157935
157936
157937
157938
157939
157940
157941
157942
157943
157944
157945
157946
157947
157948
157949
157950
157951
157952
157953
157954
157955
157956
157957
157958
157959
157960
157961
157962
157963
157964
157965
157966
157967
157968
157969
157970
157971
157972
157973
157974
157975
157976
157977
157978
157979
157980
157981
157982
157983
157984
157985
157986
157987
157988
157989
157990
157991
157992
157993
157994
157995
157996
157997
157998
157999
158000
158001
158002
158003
158004
158005
158006
158007
158008
158009
158010
158011
158012
158013
158014
158015
158016
158017
158018
158019
158020
158021
158022
158023
158024
158025
158026
158027
158028
158029
158030
158031
158032
158033
158034
158035
158036
158037
158038
158039
158040
158041
158042
158043
158044
158045
158046
158047
158048
158049
158050
158051
158052
158053
158054
158055
158056
158057
158058
158059
158060
158061
158062
158063
158064
158065
158066
158067
158068
158069
158070
158071
158072
158073
158074
158075
158076
158077
158078
158079
158080
158081
158082
158083
158084
158085
158086
158087
158088
158089
158090
158091
158092
158093
158094
158095
158096
158097
158098
158099
158100
158101
158102
158103
158104
158105
158106
158107
158108
158109
158110
158111
158112
158113
158114
158115
158116
158117
158118
158119
158120
158121
158122
158123
158124
158125
158126
158127
158128
158129
158130
158131
158132
158133
158134
158135
158136
158137
158138
158139
158140
158141
158142
158143
158144
158145
158146
158147
158148
158149
158150
158151
158152
158153
158154
158155
158156
158157
158158
158159
158160
158161
158162
158163
158164
158165
158166
158167
158168
158169
158170
158171
158172
158173
158174
158175
158176
158177
158178
158179
158180
158181
158182
158183
158184
158185
158186
158187
158188
158189
158190
158191
158192
158193
158194
158195
158196
158197
158198
158199
158200
158201
158202
158203
158204
158205
158206
158207
158208
158209
158210
158211
158212
158213
158214
158215
158216
158217
158218
158219
158220
158221
158222
158223
158224
158225
158226
158227
158228
158229
158230
158231
158232
158233
158234
158235
158236
158237
158238
158239
158240
158241
158242
158243
158244
158245
158246
158247
158248
158249
158250
158251
158252
158253
158254
158255
158256
158257
158258
158259
158260
158261
158262
158263
158264
158265
158266
158267
158268
158269
158270
158271
158272
158273
158274
158275
158276
158277
158278
158279
158280
158281
158282
158283
158284
158285
158286
158287
158288
158289
158290
158291
158292
158293
158294
158295
158296
158297
158298
158299
158300
158301
158302
158303
158304
158305
158306
158307
158308
158309
158310
158311
158312
158313
158314
158315
158316
158317
158318
158319
158320
158321
158322
158323
158324
158325
158326
158327
158328
158329
158330
158331
158332
158333
158334
158335
158336
158337
158338
158339
158340
158341
158342
158343
158344
158345
158346
158347
158348
158349
158350
158351
158352
158353
158354
158355
158356
158357
158358
158359
158360
158361
158362
158363
158364
158365
158366
158367
158368
158369
158370
158371
158372
158373
158374
158375
158376
158377
158378
158379
158380
158381
158382
158383
158384
158385
158386
158387
158388
158389
158390
158391
158392
158393
158394
158395
158396
158397
158398
158399
158400
158401
158402
158403
158404
158405
158406
158407
158408
158409
158410
158411
158412
158413
158414
158415
158416
158417
158418
158419
158420
158421
158422
158423
158424
158425
158426
158427
158428
158429
158430
158431
158432
158433
158434
158435
158436
158437
158438
158439
158440
158441
158442
158443
158444
158445
158446
158447
158448
158449
158450
158451
158452
158453
158454
158455
158456
158457
158458
158459
158460
158461
158462
158463
158464
158465
158466
158467
158468
158469
158470
158471
158472
158473
158474
158475
158476
158477
158478
158479
158480
158481
158482
158483
158484
158485
158486
158487
158488
158489
158490
158491
158492
158493
158494
158495
158496
158497
158498
158499
158500
158501
158502
158503
158504
158505
158506
158507
158508
158509
158510
158511
158512
158513
158514
158515
158516
158517
158518
158519
158520
158521
158522
158523
158524
158525
158526
158527
158528
158529
158530
158531
158532
158533
158534
158535
158536
158537
158538
158539
158540
158541
158542
158543
158544
158545
158546
158547
158548
158549
158550
158551
158552
158553
158554
158555
158556
158557
158558
158559
158560
158561
158562
158563
158564
158565
158566
158567
158568
158569
158570
158571
158572
158573
158574
158575
158576
158577
158578
158579
158580
158581
158582
158583
158584
158585
158586
158587
158588
158589
158590
158591
158592
158593
158594
158595
158596
158597
158598
158599
158600
158601
158602
158603
158604
158605
158606
158607
158608
158609
158610
158611
158612
158613
158614
158615
158616
158617
158618
158619
158620
158621
158622
158623
158624
158625
158626
158627
158628
158629
158630
158631
158632
158633
158634
158635
158636
158637
158638
158639
158640
158641
158642
158643
158644
158645
158646
158647
158648
158649
158650
158651
158652
158653
158654
158655
158656
158657
158658
158659
158660
158661
158662
158663
158664
158665
158666
158667
158668
158669
158670
158671
158672
158673
158674
158675
158676
158677
158678
158679
158680
158681
158682
158683
158684
158685
158686
158687
158688
158689
158690
158691
158692
158693
158694
158695
158696
158697
158698
158699
158700
158701
158702
158703
158704
158705
158706
158707
158708
158709
158710
158711
158712
158713
158714
158715
158716
158717
158718
158719
158720
158721
158722
158723
158724
158725
158726
158727
158728
158729
158730
158731
158732
158733
158734
158735
158736
158737
158738
158739
158740
158741
158742
158743
158744
158745
158746
158747
158748
158749
158750
158751
158752
158753
158754
158755
158756
158757
158758
158759
158760
158761
158762
158763
158764
158765
158766
158767
158768
158769
158770
158771
158772
158773
158774
158775
158776
158777
158778
158779
158780
158781
158782
158783
158784
158785
158786
158787
158788
158789
158790
158791
158792
158793
158794
158795
158796
158797
158798
158799
158800
158801
158802
158803
158804
158805
158806
158807
158808
158809
158810
158811
158812
158813
158814
158815
158816
158817
158818
158819
158820
158821
158822
158823
158824
158825
158826
158827
158828
158829
158830
158831
158832
158833
158834
158835
158836
158837
158838
158839
158840
158841
158842
158843
158844
158845
158846
158847
158848
158849
158850
158851
158852
158853
158854
158855
158856
158857
158858
158859
158860
158861
158862
158863
158864
158865
158866
158867
158868
158869
158870
158871
158872
158873
158874
158875
158876
158877
158878
158879
158880
158881
158882
158883
158884
158885
158886
158887
158888
158889
158890
158891
158892
158893
158894
158895
158896
158897
158898
158899
158900
158901
158902
158903
158904
158905
158906
158907
158908
158909
158910
158911
158912
158913
158914
158915
158916
158917
158918
158919
158920
158921
158922
158923
158924
158925
158926
158927
158928
158929
158930
158931
158932
158933
158934
158935
158936
158937
158938
158939
158940
158941
158942
158943
158944
158945
158946
158947
158948
158949
158950
158951
158952
158953
158954
158955
158956
158957
158958
158959
158960
158961
158962
158963
158964
158965
158966
158967
158968
158969
158970
158971
158972
158973
158974
158975
158976
158977
158978
158979
158980
158981
158982
158983
158984
158985
158986
158987
158988
158989
158990
158991
158992
158993
158994
158995
158996
158997
158998
158999
159000
159001
159002
159003
159004
159005
159006
159007
159008
159009
159010
159011
159012
159013
159014
159015
159016
159017
159018
159019
159020
159021
159022
159023
159024
159025
159026
159027
159028
159029
159030
159031
159032
159033
159034
159035
159036
159037
159038
159039
159040
159041
159042
159043
159044
159045
159046
159047
159048
159049
159050
159051
159052
159053
159054
159055
159056
159057
159058
159059
159060
159061
159062
159063
159064
159065
159066
159067
159068
159069
159070
159071
159072
159073
159074
159075
159076
159077
159078
159079
159080
159081
159082
159083
159084
159085
159086
159087
159088
159089
159090
159091
159092
159093
159094
159095
159096
159097
159098
159099
159100
159101
159102
159103
159104
159105
159106
159107
159108
159109
159110
159111
159112
159113
159114
159115
159116
159117
159118
159119
159120
159121
159122
159123
159124
159125
159126
159127
159128
159129
159130
159131
159132
159133
159134
159135
159136
159137
159138
159139
159140
159141
159142
159143
159144
159145
159146
159147
159148
159149
159150
159151
159152
159153
159154
159155
159156
159157
159158
159159
159160
159161
159162
159163
159164
159165
159166
159167
159168
159169
159170
159171
159172
159173
159174
159175
159176
159177
159178
159179
159180
159181
159182
159183
159184
159185
159186
159187
159188
159189
159190
159191
159192
159193
159194
159195
159196
159197
159198
159199
159200
159201
159202
159203
159204
159205
159206
159207
159208
159209
159210
159211
159212
159213
159214
159215
159216
159217
159218
159219
159220
159221
159222
159223
159224
159225
159226
159227
159228
159229
159230
159231
159232
159233
159234
159235
159236
159237
159238
159239
159240
159241
159242
159243
159244
159245
159246
159247
159248
159249
159250
159251
159252
159253
159254
159255
159256
159257
159258
159259
159260
159261
159262
159263
159264
159265
159266
159267
159268
159269
159270
159271
159272
159273
159274
159275
159276
159277
159278
159279
159280
159281
159282
159283
159284
159285
159286
159287
159288
159289
159290
159291
159292
159293
159294
159295
159296
159297
159298
159299
159300
159301
159302
159303
159304
159305
159306
159307
159308
159309
159310
159311
159312
159313
159314
159315
159316
159317
159318
159319
159320
159321
159322
159323
159324
159325
159326
159327
159328
159329
159330
159331
159332
159333
159334
159335
159336
159337
159338
159339
159340
159341
159342
159343
159344
159345
159346
159347
159348
159349
159350
159351
159352
159353
159354
159355
159356
159357
159358
159359
159360
159361
159362
159363
159364
159365
159366
159367
159368
159369
159370
159371
159372
159373
159374
159375
159376
159377
159378
159379
159380
159381
159382
159383
159384
159385
159386
159387
159388
159389
159390
159391
159392
159393
159394
159395
159396
159397
159398
159399
159400
159401
159402
159403
159404
159405
159406
159407
159408
159409
159410
159411
159412
159413
159414
159415
159416
159417
159418
159419
159420
159421
159422
159423
159424
159425
159426
159427
159428
159429
159430
159431
159432
159433
159434
159435
159436
159437
159438
159439
159440
159441
159442
159443
159444
159445
159446
159447
159448
159449
159450
159451
159452
159453
159454
159455
159456
159457
159458
159459
159460
159461
159462
159463
159464
159465
159466
159467
159468
159469
159470
159471
159472
159473
159474
159475
159476
159477
159478
159479
159480
159481
159482
159483
159484
159485
159486
159487
159488
159489
159490
159491
159492
159493
159494
159495
159496
159497
159498
159499
159500
159501
159502
159503
159504
159505
159506
159507
159508
159509
159510
159511
159512
159513
159514
159515
159516
159517
159518
159519
159520
159521
159522
159523
159524
159525
159526
159527
159528
159529
159530
159531
159532
159533
159534
159535
159536
159537
159538
159539
159540
159541
159542
159543
159544
159545
159546
159547
159548
159549
159550
159551
159552
159553
159554
159555
159556
159557
159558
159559
159560
159561
159562
159563
159564
159565
159566
159567
159568
159569
159570
159571
159572
159573
159574
159575
159576
159577
159578
159579
159580
159581
159582
159583
159584
159585
159586
159587
159588
159589
159590
159591
159592
159593
159594
159595
159596
159597
159598
159599
159600
159601
159602
159603
159604
159605
159606
159607
159608
159609
159610
159611
159612
159613
159614
159615
159616
159617
159618
159619
159620
159621
159622
159623
159624
159625
159626
159627
159628
159629
159630
159631
159632
159633
159634
159635
159636
159637
159638
159639
159640
159641
159642
159643
159644
159645
159646
159647
159648
159649
159650
159651
159652
159653
159654
159655
159656
159657
159658
159659
159660
159661
159662
159663
159664
159665
159666
159667
159668
159669
159670
159671
159672
159673
159674
159675
159676
159677
159678
159679
159680
159681
159682
159683
159684
159685
159686
159687
159688
159689
159690
159691
159692
159693
159694
159695
159696
159697
159698
159699
159700
159701
159702
159703
159704
159705
159706
159707
159708
159709
159710
159711
159712
159713
159714
159715
159716
159717
159718
159719
159720
159721
159722
159723
159724
159725
159726
159727
159728
159729
159730
159731
159732
159733
159734
159735
159736
159737
159738
159739
159740
159741
159742
159743
159744
159745
159746
159747
159748
159749
159750
159751
159752
159753
159754
159755
159756
159757
159758
159759
159760
159761
159762
159763
159764
159765
159766
159767
159768
159769
159770
159771
159772
159773
159774
159775
159776
159777
159778
159779
159780
159781
159782
159783
159784
159785
159786
159787
159788
159789
159790
159791
159792
159793
159794
159795
159796
159797
159798
159799
159800
159801
159802
159803
159804
159805
159806
159807
159808
159809
159810
159811
159812
159813
159814
159815
159816
159817
159818
159819
159820
159821
159822
159823
159824
159825
159826
159827
159828
159829
159830
159831
159832
159833
159834
159835
159836
159837
159838
159839
159840
159841
159842
159843
159844
159845
159846
159847
159848
159849
159850
159851
159852
159853
159854
159855
159856
159857
159858
159859
159860
159861
159862
159863
159864
159865
159866
159867
159868
159869
159870
159871
159872
159873
159874
159875
159876
159877
159878
159879
159880
159881
159882
159883
159884
159885
159886
159887
159888
159889
159890
159891
159892
159893
159894
159895
159896
159897
159898
159899
159900
159901
159902
159903
159904
159905
159906
159907
159908
159909
159910
159911
159912
159913
159914
159915
159916
159917
159918
159919
159920
159921
159922
159923
159924
159925
159926
159927
159928
159929
159930
159931
159932
159933
159934
159935
159936
159937
159938
159939
159940
159941
159942
159943
159944
159945
159946
159947
159948
159949
159950
159951
159952
159953
159954
159955
159956
159957
159958
159959
159960
159961
159962
159963
159964
159965
159966
159967
159968
159969
159970
159971
159972
159973
159974
159975
159976
159977
159978
159979
159980
159981
159982
159983
159984
159985
159986
159987
159988
159989
159990
159991
159992
159993
159994
159995
159996
159997
159998
159999
160000
160001
160002
160003
160004
160005
160006
160007
160008
160009
160010
160011
160012
160013
160014
160015
160016
160017
160018
160019
160020
160021
160022
160023
160024
160025
160026
160027
160028
160029
160030
160031
160032
160033
160034
160035
160036
160037
160038
160039
160040
160041
160042
160043
160044
160045
160046
160047
160048
160049
160050
160051
160052
160053
160054
160055
160056
160057
160058
160059
160060
160061
160062
160063
160064
160065
160066
160067
160068
160069
160070
160071
160072
160073
160074
160075
160076
160077
160078
160079
160080
160081
160082
160083
160084
160085
160086
160087
160088
160089
160090
160091
160092
160093
160094
160095
160096
160097
160098
160099
160100
160101
160102
160103
160104
160105
160106
160107
160108
160109
160110
160111
160112
160113
160114
160115
160116
160117
160118
160119
160120
160121
160122
160123
160124
160125
160126
160127
160128
160129
160130
160131
160132
160133
160134
160135
160136
160137
160138
160139
160140
160141
160142
160143
160144
160145
160146
160147
160148
160149
160150
160151
160152
160153
160154
160155
160156
160157
160158
160159
160160
160161
160162
160163
160164
160165
160166
160167
160168
160169
160170
160171
160172
160173
160174
160175
160176
160177
160178
160179
160180
160181
160182
160183
160184
160185
160186
160187
160188
160189
160190
160191
160192
160193
160194
160195
160196
160197
160198
160199
160200
160201
160202
160203
160204
160205
160206
160207
160208
160209
160210
160211
160212
160213
160214
160215
160216
160217
160218
160219
160220
160221
160222
160223
160224
160225
160226
160227
160228
160229
160230
160231
160232
160233
160234
160235
160236
160237
160238
160239
160240
160241
160242
160243
160244
160245
160246
160247
160248
160249
160250
160251
160252
160253
160254
160255
160256
160257
160258
160259
160260
160261
160262
160263
160264
160265
160266
160267
160268
160269
160270
160271
160272
160273
160274
160275
160276
160277
160278
160279
160280
160281
160282
160283
160284
160285
160286
160287
160288
160289
160290
160291
160292
160293
160294
160295
160296
160297
160298
160299
160300
160301
160302
160303
160304
160305
160306
160307
160308
160309
160310
160311
160312
160313
160314
160315
160316
160317
160318
160319
160320
160321
160322
160323
160324
160325
160326
160327
160328
160329
160330
160331
160332
160333
160334
160335
160336
160337
160338
160339
160340
160341
160342
160343
160344
160345
160346
160347
160348
160349
160350
160351
160352
160353
160354
160355
160356
160357
160358
160359
160360
160361
160362
160363
160364
160365
160366
160367
160368
160369
160370
160371
160372
160373
160374
160375
160376
160377
160378
160379
160380
160381
160382
160383
160384
160385
160386
160387
160388
160389
160390
160391
160392
160393
160394
160395
160396
160397
160398
160399
160400
160401
160402
160403
160404
160405
160406
160407
160408
160409
160410
160411
160412
160413
160414
160415
160416
160417
160418
160419
160420
160421
160422
160423
160424
160425
160426
160427
160428
160429
160430
160431
160432
160433
160434
160435
160436
160437
160438
160439
160440
160441
160442
160443
160444
160445
160446
160447
160448
160449
160450
160451
160452
160453
160454
160455
160456
160457
160458
160459
160460
160461
160462
160463
160464
160465
160466
160467
160468
160469
160470
160471
160472
160473
160474
160475
160476
160477
160478
160479
160480
160481
160482
160483
160484
160485
160486
160487
160488
160489
160490
160491
160492
160493
160494
160495
160496
160497
160498
160499
160500
160501
160502
160503
160504
160505
160506
160507
160508
160509
160510
160511
160512
160513
160514
160515
160516
160517
160518
160519
160520
160521
160522
160523
160524
160525
160526
160527
160528
160529
160530
160531
160532
160533
160534
160535
160536
160537
160538
160539
160540
160541
160542
160543
160544
160545
160546
160547
160548
160549
160550
160551
160552
160553
160554
160555
160556
160557
160558
160559
160560
160561
160562
160563
160564
160565
160566
160567
160568
160569
160570
160571
160572
160573
160574
160575
160576
160577
160578
160579
160580
160581
160582
160583
160584
160585
160586
160587
160588
160589
160590
160591
160592
160593
160594
160595
160596
160597
160598
160599
160600
160601
160602
160603
160604
160605
160606
160607
160608
160609
160610
160611
160612
160613
160614
160615
160616
160617
160618
160619
160620
160621
160622
160623
160624
160625
160626
160627
160628
160629
160630
160631
160632
160633
160634
160635
160636
160637
160638
160639
160640
160641
160642
160643
160644
160645
160646
160647
160648
160649
160650
160651
160652
160653
160654
160655
160656
160657
160658
160659
160660
160661
160662
160663
160664
160665
160666
160667
160668
160669
160670
160671
160672
160673
160674
160675
160676
160677
160678
160679
160680
160681
160682
160683
160684
160685
160686
160687
160688
160689
160690
160691
160692
160693
160694
160695
160696
160697
160698
160699
160700
160701
160702
160703
160704
160705
160706
160707
160708
160709
160710
160711
160712
160713
160714
160715
160716
160717
160718
160719
160720
160721
160722
160723
160724
160725
160726
160727
160728
160729
160730
160731
160732
160733
160734
160735
160736
160737
160738
160739
160740
160741
160742
160743
160744
160745
160746
160747
160748
160749
160750
160751
160752
160753
160754
160755
160756
160757
160758
160759
160760
160761
160762
160763
160764
160765
160766
160767
160768
160769
160770
160771
160772
160773
160774
160775
160776
160777
160778
160779
160780
160781
160782
160783
160784
160785
160786
160787
160788
160789
160790
160791
160792
160793
160794
160795
160796
160797
160798
160799
160800
160801
160802
160803
160804
160805
160806
160807
160808
160809
160810
160811
160812
160813
160814
160815
160816
160817
160818
160819
160820
160821
160822
160823
160824
160825
160826
160827
160828
160829
160830
160831
160832
160833
160834
160835
160836
160837
160838
160839
160840
160841
160842
160843
160844
160845
160846
160847
160848
160849
160850
160851
160852
160853
160854
160855
160856
160857
160858
160859
160860
160861
160862
160863
160864
160865
160866
160867
160868
160869
160870
160871
160872
160873
160874
160875
160876
160877
160878
160879
160880
160881
160882
160883
160884
160885
160886
160887
160888
160889
160890
160891
160892
160893
160894
160895
160896
160897
160898
160899
160900
160901
160902
160903
160904
160905
160906
160907
160908
160909
160910
160911
160912
160913
160914
160915
160916
160917
160918
160919
160920
160921
160922
160923
160924
160925
160926
160927
160928
160929
160930
160931
160932
160933
160934
160935
160936
160937
160938
160939
160940
160941
160942
160943
160944
160945
160946
160947
160948
160949
160950
160951
160952
160953
160954
160955
160956
160957
160958
160959
160960
160961
160962
160963
160964
160965
160966
160967
160968
160969
160970
160971
160972
160973
160974
160975
160976
160977
160978
160979
160980
160981
160982
160983
160984
160985
160986
160987
160988
160989
160990
160991
160992
160993
160994
160995
160996
160997
160998
160999
161000
161001
161002
161003
161004
161005
161006
161007
161008
161009
161010
161011
161012
161013
161014
161015
161016
161017
161018
161019
161020
161021
161022
161023
161024
161025
161026
161027
161028
161029
161030
161031
161032
161033
161034
161035
161036
161037
161038
161039
161040
161041
161042
161043
161044
161045
161046
161047
161048
161049
161050
161051
161052
161053
161054
161055
161056
161057
161058
161059
161060
161061
161062
161063
161064
161065
161066
161067
161068
161069
161070
161071
161072
161073
161074
161075
161076
161077
161078
161079
161080
161081
161082
161083
161084
161085
161086
161087
161088
161089
161090
161091
161092
161093
161094
161095
161096
161097
161098
161099
161100
161101
161102
161103
161104
161105
161106
161107
161108
161109
161110
161111
161112
161113
161114
161115
161116
161117
161118
161119
161120
161121
161122
161123
161124
161125
161126
161127
161128
161129
161130
161131
161132
161133
161134
161135
161136
161137
161138
161139
161140
161141
161142
161143
161144
161145
161146
161147
161148
161149
161150
161151
161152
161153
161154
161155
161156
161157
161158
161159
161160
161161
161162
161163
161164
161165
161166
161167
161168
161169
161170
161171
161172
161173
161174
161175
161176
161177
161178
161179
161180
161181
161182
161183
161184
161185
161186
161187
161188
161189
161190
161191
161192
161193
161194
161195
161196
161197
161198
161199
161200
161201
161202
161203
161204
161205
161206
161207
161208
161209
161210
161211
161212
161213
161214
161215
161216
161217
161218
161219
161220
161221
161222
161223
161224
161225
161226
161227
161228
161229
161230
161231
161232
161233
161234
161235
161236
161237
161238
161239
161240
161241
161242
161243
161244
161245
161246
161247
161248
161249
161250
161251
161252
161253
161254
161255
161256
161257
161258
161259
161260
161261
161262
161263
161264
161265
161266
161267
161268
161269
161270
161271
161272
161273
161274
161275
161276
161277
161278
161279
161280
161281
161282
161283
161284
161285
161286
161287
161288
161289
161290
161291
161292
161293
161294
161295
161296
161297
161298
161299
161300
161301
161302
161303
161304
161305
161306
161307
161308
161309
161310
161311
161312
161313
161314
161315
161316
161317
161318
161319
161320
161321
161322
161323
161324
161325
161326
161327
161328
161329
161330
161331
161332
161333
161334
161335
161336
161337
161338
161339
161340
161341
161342
161343
161344
161345
161346
161347
161348
161349
161350
161351
161352
161353
161354
161355
161356
161357
161358
161359
161360
161361
161362
161363
161364
161365
161366
161367
161368
161369
161370
161371
161372
161373
161374
161375
161376
161377
161378
161379
161380
161381
161382
161383
161384
161385
161386
161387
161388
161389
161390
161391
161392
161393
161394
161395
161396
161397
161398
161399
161400
161401
161402
161403
161404
161405
161406
161407
161408
161409
161410
161411
161412
161413
161414
161415
161416
161417
161418
161419
161420
161421
161422
161423
161424
161425
161426
161427
161428
161429
161430
161431
161432
161433
161434
161435
161436
161437
161438
161439
161440
161441
161442
161443
161444
161445
161446
161447
161448
161449
161450
161451
161452
161453
161454
161455
161456
161457
161458
161459
161460
161461
161462
161463
161464
161465
161466
161467
161468
161469
161470
161471
161472
161473
161474
161475
161476
161477
161478
161479
161480
161481
161482
161483
161484
161485
161486
161487
161488
161489
161490
161491
161492
161493
161494
161495
161496
161497
161498
161499
161500
161501
161502
161503
161504
161505
161506
161507
161508
161509
161510
161511
161512
161513
161514
161515
161516
161517
161518
161519
161520
161521
161522
161523
161524
161525
161526
161527
161528
161529
161530
161531
161532
161533
161534
161535
161536
161537
161538
161539
161540
161541
161542
161543
161544
161545
161546
161547
161548
161549
161550
161551
161552
161553
161554
161555
161556
161557
161558
161559
161560
161561
161562
161563
161564
161565
161566
161567
161568
161569
161570
161571
161572
161573
161574
161575
161576
161577
161578
161579
161580
161581
161582
161583
161584
161585
161586
161587
161588
161589
161590
161591
161592
161593
161594
161595
161596
161597
161598
161599
161600
161601
161602
161603
161604
161605
161606
161607
161608
161609
161610
161611
161612
161613
161614
161615
161616
161617
161618
161619
161620
161621
161622
161623
161624
161625
161626
161627
161628
161629
161630
161631
161632
161633
161634
161635
161636
161637
161638
161639
161640
161641
161642
161643
161644
161645
161646
161647
161648
161649
161650
161651
161652
161653
161654
161655
161656
161657
161658
161659
161660
161661
161662
161663
161664
161665
161666
161667
161668
161669
161670
161671
161672
161673
161674
161675
161676
161677
161678
161679
161680
161681
161682
161683
161684
161685
161686
161687
161688
161689
161690
161691
161692
161693
161694
161695
161696
161697
161698
161699
161700
161701
161702
161703
161704
161705
161706
161707
161708
161709
161710
161711
161712
161713
161714
161715
161716
161717
161718
161719
161720
161721
161722
161723
161724
161725
161726
161727
161728
161729
161730
161731
161732
161733
161734
161735
161736
161737
161738
161739
161740
161741
161742
161743
161744
161745
161746
161747
161748
161749
161750
161751
161752
161753
161754
161755
161756
161757
161758
161759
161760
161761
161762
161763
161764
161765
161766
161767
161768
161769
161770
161771
161772
161773
161774
161775
161776
161777
161778
161779
161780
161781
161782
161783
161784
161785
161786
161787
161788
161789
161790
161791
161792
161793
161794
161795
161796
161797
161798
161799
161800
161801
161802
161803
161804
161805
161806
161807
161808
161809
161810
161811
161812
161813
161814
161815
161816
161817
161818
161819
161820
161821
161822
161823
161824
161825
161826
161827
161828
161829
161830
161831
161832
161833
161834
161835
161836
161837
161838
161839
161840
161841
161842
161843
161844
161845
161846
161847
161848
161849
161850
161851
161852
161853
161854
161855
161856
161857
161858
161859
161860
161861
161862
161863
161864
161865
161866
161867
161868
161869
161870
161871
161872
161873
161874
161875
161876
161877
161878
161879
161880
161881
161882
161883
161884
161885
161886
161887
161888
161889
161890
161891
161892
161893
161894
161895
161896
161897
161898
161899
161900
161901
161902
161903
161904
161905
161906
161907
161908
161909
161910
161911
161912
161913
161914
161915
161916
161917
161918
161919
161920
161921
161922
161923
161924
161925
161926
161927
161928
161929
161930
161931
161932
161933
161934
161935
161936
161937
161938
161939
161940
161941
161942
161943
161944
161945
161946
161947
161948
161949
161950
161951
161952
161953
161954
161955
161956
161957
161958
161959
161960
161961
161962
161963
161964
161965
161966
161967
161968
161969
161970
161971
161972
161973
161974
161975
161976
161977
161978
161979
161980
161981
161982
161983
161984
161985
161986
161987
161988
161989
161990
161991
161992
161993
161994
161995
161996
161997
161998
161999
162000
162001
162002
162003
162004
162005
162006
162007
162008
162009
162010
162011
162012
162013
162014
162015
162016
162017
162018
162019
162020
162021
162022
162023
162024
162025
162026
162027
162028
162029
162030
162031
162032
162033
162034
162035
162036
162037
162038
162039
162040
162041
162042
162043
162044
162045
162046
162047
162048
162049
162050
162051
162052
162053
162054
162055
162056
162057
162058
162059
162060
162061
162062
162063
162064
162065
162066
162067
162068
162069
162070
162071
162072
162073
162074
162075
162076
162077
162078
162079
162080
162081
162082
162083
162084
162085
162086
162087
162088
162089
162090
162091
162092
162093
162094
162095
162096
162097
162098
162099
162100
162101
162102
162103
162104
162105
162106
162107
162108
162109
162110
162111
162112
162113
162114
162115
162116
162117
162118
162119
162120
162121
162122
162123
162124
162125
162126
162127
162128
162129
162130
162131
162132
162133
162134
162135
162136
162137
162138
162139
162140
162141
162142
162143
162144
162145
162146
162147
162148
162149
162150
162151
162152
162153
162154
162155
162156
162157
162158
162159
162160
162161
162162
162163
162164
162165
162166
162167
162168
162169
162170
162171
162172
162173
162174
162175
162176
162177
162178
162179
162180
162181
162182
162183
162184
162185
162186
162187
162188
162189
162190
162191
162192
162193
162194
162195
162196
162197
162198
162199
162200
162201
162202
162203
162204
162205
162206
162207
162208
162209
162210
162211
162212
162213
162214
162215
162216
162217
162218
162219
162220
162221
162222
162223
162224
162225
162226
162227
162228
162229
162230
162231
162232
162233
162234
162235
162236
162237
162238
162239
162240
162241
162242
162243
162244
162245
162246
162247
162248
162249
162250
162251
162252
162253
162254
162255
162256
162257
162258
162259
162260
162261
162262
162263
162264
162265
162266
162267
162268
162269
162270
162271
162272
162273
162274
162275
162276
162277
162278
162279
162280
162281
162282
162283
162284
162285
162286
162287
162288
162289
162290
162291
162292
162293
162294
162295
162296
162297
162298
162299
162300
162301
162302
162303
162304
162305
162306
162307
162308
162309
162310
162311
162312
162313
162314
162315
162316
162317
162318
162319
162320
162321
162322
162323
162324
162325
162326
162327
162328
162329
162330
162331
162332
162333
162334
162335
162336
162337
162338
162339
162340
162341
162342
162343
162344
162345
162346
162347
162348
162349
162350
162351
162352
162353
162354
162355
162356
162357
162358
162359
162360
162361
162362
162363
162364
162365
162366
162367
162368
162369
162370
162371
162372
162373
162374
162375
162376
162377
162378
162379
162380
162381
162382
162383
162384
162385
162386
162387
162388
162389
162390
162391
162392
162393
162394
162395
162396
162397
162398
162399
162400
162401
162402
162403
162404
162405
162406
162407
162408
162409
162410
162411
162412
162413
162414
162415
162416
162417
162418
162419
162420
162421
162422
162423
162424
162425
162426
162427
162428
162429
162430
162431
162432
162433
162434
162435
162436
162437
162438
162439
162440
162441
162442
162443
162444
162445
162446
162447
162448
162449
162450
162451
162452
162453
162454
162455
162456
162457
162458
162459
162460
162461
162462
162463
162464
162465
162466
162467
162468
162469
162470
162471
162472
162473
162474
162475
162476
162477
162478
162479
162480
162481
162482
162483
162484
162485
162486
162487
162488
162489
162490
162491
162492
162493
162494
162495
162496
162497
162498
162499
162500
162501
162502
162503
162504
162505
162506
162507
162508
162509
162510
162511
162512
162513
162514
162515
162516
162517
162518
162519
162520
162521
162522
162523
162524
162525
162526
162527
162528
162529
162530
162531
162532
162533
162534
162535
162536
162537
162538
162539
162540
162541
162542
162543
162544
162545
162546
162547
162548
162549
162550
162551
162552
162553
162554
162555
162556
162557
162558
162559
162560
162561
162562
162563
162564
162565
162566
162567
162568
162569
162570
162571
162572
162573
162574
162575
162576
162577
162578
162579
162580
162581
162582
162583
162584
162585
162586
162587
162588
162589
162590
162591
162592
162593
162594
162595
162596
162597
162598
162599
162600
162601
162602
162603
162604
162605
162606
162607
162608
162609
162610
162611
162612
162613
162614
162615
162616
162617
162618
162619
162620
162621
162622
162623
162624
162625
162626
162627
162628
162629
162630
162631
162632
162633
162634
162635
162636
162637
162638
162639
162640
162641
162642
162643
162644
162645
162646
162647
162648
162649
162650
162651
162652
162653
162654
162655
162656
162657
162658
162659
162660
162661
162662
162663
162664
162665
162666
162667
162668
162669
162670
162671
162672
162673
162674
162675
162676
162677
162678
162679
162680
162681
162682
162683
162684
162685
162686
162687
162688
162689
162690
162691
162692
162693
162694
162695
162696
162697
162698
162699
162700
162701
162702
162703
162704
162705
162706
162707
162708
162709
162710
162711
162712
162713
162714
162715
162716
162717
162718
162719
162720
162721
162722
162723
162724
162725
162726
162727
162728
162729
162730
162731
162732
162733
162734
162735
162736
162737
162738
162739
162740
162741
162742
162743
162744
162745
162746
162747
162748
162749
162750
162751
162752
162753
162754
162755
162756
162757
162758
162759
162760
162761
162762
162763
162764
162765
162766
162767
162768
162769
162770
162771
162772
162773
162774
162775
162776
162777
162778
162779
162780
162781
162782
162783
162784
162785
162786
162787
162788
162789
162790
162791
162792
162793
162794
162795
162796
162797
162798
162799
162800
162801
162802
162803
162804
162805
162806
162807
162808
162809
162810
162811
162812
162813
162814
162815
162816
162817
162818
162819
162820
162821
162822
162823
162824
162825
162826
162827
162828
162829
162830
162831
162832
162833
162834
162835
162836
162837
162838
162839
162840
162841
162842
162843
162844
162845
162846
162847
162848
162849
162850
162851
162852
162853
162854
162855
162856
162857
162858
162859
162860
162861
162862
162863
162864
162865
162866
162867
162868
162869
162870
162871
162872
162873
162874
162875
162876
162877
162878
162879
162880
162881
162882
162883
162884
162885
162886
162887
162888
162889
162890
162891
162892
162893
162894
162895
162896
162897
162898
162899
162900
162901
162902
162903
162904
162905
162906
162907
162908
162909
162910
162911
162912
162913
162914
162915
162916
162917
162918
162919
162920
162921
162922
162923
162924
162925
162926
162927
162928
162929
162930
162931
162932
162933
162934
162935
162936
162937
162938
162939
162940
162941
162942
162943
162944
162945
162946
162947
162948
162949
162950
162951
162952
162953
162954
162955
162956
162957
162958
162959
162960
162961
162962
162963
162964
162965
162966
162967
162968
162969
162970
162971
162972
162973
162974
162975
162976
162977
162978
162979
162980
162981
162982
162983
162984
162985
162986
162987
162988
162989
162990
162991
162992
162993
162994
162995
162996
162997
162998
162999
163000
163001
163002
163003
163004
163005
163006
163007
163008
163009
163010
163011
163012
163013
163014
163015
163016
163017
163018
163019
163020
163021
163022
163023
163024
163025
163026
163027
163028
163029
163030
163031
163032
163033
163034
163035
163036
163037
163038
163039
163040
163041
163042
163043
163044
163045
163046
163047
163048
163049
163050
163051
163052
163053
163054
163055
163056
163057
163058
163059
163060
163061
163062
163063
163064
163065
163066
163067
163068
163069
163070
163071
163072
163073
163074
163075
163076
163077
163078
163079
163080
163081
163082
163083
163084
163085
163086
163087
163088
163089
163090
163091
163092
163093
163094
163095
163096
163097
163098
163099
163100
163101
163102
163103
163104
163105
163106
163107
163108
163109
163110
163111
163112
163113
163114
163115
163116
163117
163118
163119
163120
163121
163122
163123
163124
163125
163126
163127
163128
163129
163130
163131
163132
163133
163134
163135
163136
163137
163138
163139
163140
163141
163142
163143
163144
163145
163146
163147
163148
163149
163150
163151
163152
163153
163154
163155
163156
163157
163158
163159
163160
163161
163162
163163
163164
163165
163166
163167
163168
163169
163170
163171
163172
163173
163174
163175
163176
163177
163178
163179
163180
163181
163182
163183
163184
163185
163186
163187
163188
163189
163190
163191
163192
163193
163194
163195
163196
163197
163198
163199
163200
163201
163202
163203
163204
163205
163206
163207
163208
163209
163210
163211
163212
163213
163214
163215
163216
163217
163218
163219
163220
163221
163222
163223
163224
163225
163226
163227
163228
163229
163230
163231
163232
163233
163234
163235
163236
163237
163238
163239
163240
163241
163242
163243
163244
163245
163246
163247
163248
163249
163250
163251
163252
163253
163254
163255
163256
163257
163258
163259
163260
163261
163262
163263
163264
163265
163266
163267
163268
163269
163270
163271
163272
163273
163274
163275
163276
163277
163278
163279
163280
163281
163282
163283
163284
163285
163286
163287
163288
163289
163290
163291
163292
163293
163294
163295
163296
163297
163298
163299
163300
163301
163302
163303
163304
163305
163306
163307
163308
163309
163310
163311
163312
163313
163314
163315
163316
163317
163318
163319
163320
163321
163322
163323
163324
163325
163326
163327
163328
163329
163330
163331
163332
163333
163334
163335
163336
163337
163338
163339
163340
163341
163342
163343
163344
163345
163346
163347
163348
163349
163350
163351
163352
163353
163354
163355
163356
163357
163358
163359
163360
163361
163362
163363
163364
163365
163366
163367
163368
163369
163370
163371
163372
163373
163374
163375
163376
163377
163378
163379
163380
163381
163382
163383
163384
163385
163386
163387
163388
163389
163390
163391
163392
163393
163394
163395
163396
163397
163398
163399
163400
163401
163402
163403
163404
163405
163406
163407
163408
163409
163410
163411
163412
163413
163414
163415
163416
163417
163418
163419
163420
163421
163422
163423
163424
163425
163426
163427
163428
163429
163430
163431
163432
163433
163434
163435
163436
163437
163438
163439
163440
163441
163442
163443
163444
163445
163446
163447
163448
163449
163450
163451
163452
163453
163454
163455
163456
163457
163458
163459
163460
163461
163462
163463
163464
163465
163466
163467
163468
163469
163470
163471
163472
163473
163474
163475
163476
163477
163478
163479
163480
163481
163482
163483
163484
163485
163486
163487
163488
163489
163490
163491
163492
163493
163494
163495
163496
163497
163498
163499
163500
163501
163502
163503
163504
163505
163506
163507
163508
163509
163510
163511
163512
163513
163514
163515
163516
163517
163518
163519
163520
163521
163522
163523
163524
163525
163526
163527
163528
163529
163530
163531
163532
163533
163534
163535
163536
163537
163538
163539
163540
163541
163542
163543
163544
163545
163546
163547
163548
163549
163550
163551
163552
163553
163554
163555
163556
163557
163558
163559
163560
163561
163562
163563
163564
163565
163566
163567
163568
163569
163570
163571
163572
163573
163574
163575
163576
163577
163578
163579
163580
163581
163582
163583
163584
163585
163586
163587
163588
163589
163590
163591
163592
163593
163594
163595
163596
163597
163598
163599
163600
163601
163602
163603
163604
163605
163606
163607
163608
163609
163610
163611
163612
163613
163614
163615
163616
163617
163618
163619
163620
163621
163622
163623
163624
163625
163626
163627
163628
163629
163630
163631
163632
163633
163634
163635
163636
163637
163638
163639
163640
163641
163642
163643
163644
163645
163646
163647
163648
163649
163650
163651
163652
163653
163654
163655
163656
163657
163658
163659
163660
163661
163662
163663
163664
163665
163666
163667
163668
163669
163670
163671
163672
163673
163674
163675
163676
163677
163678
163679
163680
163681
163682
163683
163684
163685
163686
163687
163688
163689
163690
163691
163692
163693
163694
163695
163696
163697
163698
163699
163700
163701
163702
163703
163704
163705
163706
163707
163708
163709
163710
163711
163712
163713
163714
163715
163716
163717
163718
163719
163720
163721
163722
163723
163724
163725
163726
163727
163728
163729
163730
163731
163732
163733
163734
163735
163736
163737
163738
163739
163740
163741
163742
163743
163744
163745
163746
163747
163748
163749
163750
163751
163752
163753
163754
163755
163756
163757
163758
163759
163760
163761
163762
163763
163764
163765
163766
163767
163768
163769
163770
163771
163772
163773
163774
163775
163776
163777
163778
163779
163780
163781
163782
163783
163784
163785
163786
163787
163788
163789
163790
163791
163792
163793
163794
163795
163796
163797
163798
163799
163800
163801
163802
163803
163804
163805
163806
163807
163808
163809
163810
163811
163812
163813
163814
163815
163816
163817
163818
163819
163820
163821
163822
163823
163824
163825
163826
163827
163828
163829
163830
163831
163832
163833
163834
163835
163836
163837
163838
163839
163840
163841
163842
163843
163844
163845
163846
163847
163848
163849
163850
163851
163852
163853
163854
163855
163856
163857
163858
163859
163860
163861
163862
163863
163864
163865
163866
163867
163868
163869
163870
163871
163872
163873
163874
163875
163876
163877
163878
163879
163880
163881
163882
163883
163884
163885
163886
163887
163888
163889
163890
163891
163892
163893
163894
163895
163896
163897
163898
163899
163900
163901
163902
163903
163904
163905
163906
163907
163908
163909
163910
163911
163912
163913
163914
163915
163916
163917
163918
163919
163920
163921
163922
163923
163924
163925
163926
163927
163928
163929
163930
163931
163932
163933
163934
163935
163936
163937
163938
163939
163940
163941
163942
163943
163944
163945
163946
163947
163948
163949
163950
163951
163952
163953
163954
163955
163956
163957
163958
163959
163960
163961
163962
163963
163964
163965
163966
163967
163968
163969
163970
163971
163972
163973
163974
163975
163976
163977
163978
163979
163980
163981
163982
163983
163984
163985
163986
163987
163988
163989
163990
163991
163992
163993
163994
163995
163996
163997
163998
163999
164000
164001
164002
164003
164004
164005
164006
164007
164008
164009
164010
164011
164012
164013
164014
164015
164016
164017
164018
164019
164020
164021
164022
164023
164024
164025
164026
164027
164028
164029
164030
164031
164032
164033
164034
164035
164036
164037
164038
164039
164040
164041
164042
164043
164044
164045
164046
164047
164048
164049
164050
164051
164052
164053
164054
164055
164056
164057
164058
164059
164060
164061
164062
164063
164064
164065
164066
164067
164068
164069
164070
164071
164072
164073
164074
164075
164076
164077
164078
164079
164080
164081
164082
164083
164084
164085
164086
164087
164088
164089
164090
164091
164092
164093
164094
164095
164096
164097
164098
164099
164100
164101
164102
164103
164104
164105
164106
164107
164108
164109
164110
164111
164112
164113
164114
164115
164116
164117
164118
164119
164120
164121
164122
164123
164124
164125
164126
164127
164128
164129
164130
164131
164132
164133
164134
164135
164136
164137
164138
164139
164140
164141
164142
164143
164144
164145
164146
164147
164148
164149
164150
164151
164152
164153
164154
164155
164156
164157
164158
164159
164160
164161
164162
164163
164164
164165
164166
164167
164168
164169
164170
164171
164172
164173
164174
164175
164176
164177
164178
164179
164180
164181
164182
164183
164184
164185
164186
164187
164188
164189
164190
164191
164192
164193
164194
164195
164196
164197
164198
164199
164200
164201
164202
164203
164204
164205
164206
164207
164208
164209
164210
164211
164212
164213
164214
164215
164216
164217
164218
164219
164220
164221
164222
164223
164224
164225
164226
164227
164228
164229
164230
164231
164232
164233
164234
164235
164236
164237
164238
164239
164240
164241
164242
164243
164244
164245
164246
164247
164248
164249
164250
164251
164252
164253
164254
164255
164256
164257
164258
164259
164260
164261
164262
164263
164264
164265
164266
164267
164268
164269
164270
164271
164272
164273
164274
164275
164276
164277
164278
164279
164280
164281
164282
164283
164284
164285
164286
164287
164288
164289
164290
164291
164292
164293
164294
164295
164296
164297
164298
164299
164300
164301
164302
164303
164304
164305
164306
164307
164308
164309
164310
164311
164312
164313
164314
164315
164316
164317
164318
164319
164320
164321
164322
164323
164324
164325
164326
164327
164328
164329
164330
164331
164332
164333
164334
164335
164336
164337
164338
164339
164340
164341
164342
164343
164344
164345
164346
164347
164348
164349
164350
164351
164352
164353
164354
164355
164356
164357
164358
164359
164360
164361
164362
164363
164364
164365
164366
164367
164368
164369
164370
164371
164372
164373
164374
164375
164376
164377
164378
164379
164380
164381
164382
164383
164384
164385
164386
164387
164388
164389
164390
164391
164392
164393
164394
164395
164396
164397
164398
164399
164400
164401
164402
164403
164404
164405
164406
164407
164408
164409
164410
164411
164412
164413
164414
164415
164416
164417
164418
164419
164420
164421
164422
164423
164424
164425
164426
164427
164428
164429
164430
164431
164432
164433
164434
164435
164436
164437
164438
164439
164440
164441
164442
164443
164444
164445
164446
164447
164448
164449
164450
164451
164452
164453
164454
164455
164456
164457
164458
164459
164460
164461
164462
164463
164464
164465
164466
164467
164468
164469
164470
164471
164472
164473
164474
164475
164476
164477
164478
164479
164480
164481
164482
164483
164484
164485
164486
164487
164488
164489
164490
164491
164492
164493
164494
164495
164496
164497
164498
164499
164500
164501
164502
164503
164504
164505
164506
164507
164508
164509
164510
164511
164512
164513
164514
164515
164516
164517
164518
164519
164520
164521
164522
164523
164524
164525
164526
164527
164528
164529
164530
164531
164532
164533
164534
164535
164536
164537
164538
164539
164540
164541
164542
164543
164544
164545
164546
164547
164548
164549
164550
164551
164552
164553
164554
164555
164556
164557
164558
164559
164560
164561
164562
164563
164564
164565
164566
164567
164568
164569
164570
164571
164572
164573
164574
164575
164576
164577
164578
164579
164580
164581
164582
164583
164584
164585
164586
164587
164588
164589
164590
164591
164592
164593
164594
164595
164596
164597
164598
164599
164600
164601
164602
164603
164604
164605
164606
164607
164608
164609
164610
164611
164612
164613
164614
164615
164616
164617
164618
164619
164620
164621
164622
164623
164624
164625
164626
164627
164628
164629
164630
164631
164632
164633
164634
164635
164636
164637
164638
164639
164640
164641
164642
164643
164644
164645
164646
164647
164648
164649
164650
164651
164652
164653
164654
164655
164656
164657
164658
164659
164660
164661
164662
164663
164664
164665
164666
164667
164668
164669
164670
164671
164672
164673
164674
164675
164676
164677
164678
164679
164680
164681
164682
164683
164684
164685
164686
164687
164688
164689
164690
164691
164692
164693
164694
164695
164696
164697
164698
164699
164700
164701
164702
164703
164704
164705
164706
164707
164708
164709
164710
164711
164712
164713
164714
164715
164716
164717
164718
164719
164720
164721
164722
164723
164724
164725
164726
164727
164728
164729
164730
164731
164732
164733
164734
164735
164736
164737
164738
164739
164740
164741
164742
164743
164744
164745
164746
164747
164748
164749
164750
164751
164752
164753
164754
164755
164756
164757
164758
164759
164760
164761
164762
164763
164764
164765
164766
164767
164768
164769
164770
164771
164772
164773
164774
164775
164776
164777
164778
164779
164780
164781
164782
164783
164784
164785
164786
164787
164788
164789
164790
164791
164792
164793
164794
164795
164796
164797
164798
164799
164800
164801
164802
164803
164804
164805
164806
164807
164808
164809
164810
164811
164812
164813
164814
164815
164816
164817
164818
164819
164820
164821
164822
164823
164824
164825
164826
164827
164828
164829
164830
164831
164832
164833
164834
164835
164836
164837
164838
164839
164840
164841
164842
164843
164844
164845
164846
164847
164848
164849
164850
164851
164852
164853
164854
164855
164856
164857
164858
164859
164860
164861
164862
164863
164864
164865
164866
164867
164868
164869
164870
164871
164872
164873
164874
164875
164876
164877
164878
164879
164880
164881
164882
164883
164884
164885
164886
164887
164888
164889
164890
164891
164892
164893
164894
164895
164896
164897
164898
164899
164900
164901
164902
164903
164904
164905
164906
164907
164908
164909
164910
164911
164912
164913
164914
164915
164916
164917
164918
164919
164920
164921
164922
164923
164924
164925
164926
164927
164928
164929
164930
164931
164932
164933
164934
164935
164936
164937
164938
164939
164940
164941
164942
164943
164944
164945
164946
164947
164948
164949
164950
164951
164952
164953
164954
164955
164956
164957
164958
164959
164960
164961
164962
164963
164964
164965
164966
164967
164968
164969
164970
164971
164972
164973
164974
164975
164976
164977
164978
164979
164980
164981
164982
164983
164984
164985
164986
164987
164988
164989
164990
164991
164992
164993
164994
164995
164996
164997
164998
164999
165000
165001
165002
165003
165004
165005
165006
165007
165008
165009
165010
165011
165012
165013
165014
165015
165016
165017
165018
165019
165020
165021
165022
165023
165024
165025
165026
165027
165028
165029
165030
165031
165032
165033
165034
165035
165036
165037
165038
165039
165040
165041
165042
165043
165044
165045
165046
165047
165048
165049
165050
165051
165052
165053
165054
165055
165056
165057
165058
165059
165060
165061
165062
165063
165064
165065
165066
165067
165068
165069
165070
165071
165072
165073
165074
165075
165076
165077
165078
165079
165080
165081
165082
165083
165084
165085
165086
165087
165088
165089
165090
165091
165092
165093
165094
165095
165096
165097
165098
165099
165100
165101
165102
165103
165104
165105
165106
165107
165108
165109
165110
165111
165112
165113
165114
165115
165116
165117
165118
165119
165120
165121
165122
165123
165124
165125
165126
165127
165128
165129
165130
165131
165132
165133
165134
165135
165136
165137
165138
165139
165140
165141
165142
165143
165144
165145
165146
165147
165148
165149
165150
165151
165152
165153
165154
165155
165156
165157
165158
165159
165160
165161
165162
165163
165164
165165
165166
165167
165168
165169
165170
165171
165172
165173
165174
165175
165176
165177
165178
165179
165180
165181
165182
165183
165184
165185
165186
165187
165188
165189
165190
165191
165192
165193
165194
165195
165196
165197
165198
165199
165200
165201
165202
165203
165204
165205
165206
165207
165208
165209
165210
165211
165212
165213
165214
165215
165216
165217
165218
165219
165220
165221
165222
165223
165224
165225
165226
165227
165228
165229
165230
165231
165232
165233
165234
165235
165236
165237
165238
165239
165240
165241
165242
165243
165244
165245
165246
165247
165248
165249
165250
165251
165252
165253
165254
165255
165256
165257
165258
165259
165260
165261
165262
165263
165264
165265
165266
165267
165268
165269
165270
165271
165272
165273
165274
165275
165276
165277
165278
165279
165280
165281
165282
165283
165284
165285
165286
165287
165288
165289
165290
165291
165292
165293
165294
165295
165296
165297
165298
165299
165300
165301
165302
165303
165304
165305
165306
165307
165308
165309
165310
165311
165312
165313
165314
165315
165316
165317
165318
165319
165320
165321
165322
165323
165324
165325
165326
165327
165328
165329
165330
165331
165332
165333
165334
165335
165336
165337
165338
165339
165340
165341
165342
165343
165344
165345
165346
165347
165348
165349
165350
165351
165352
165353
165354
165355
165356
165357
165358
165359
165360
165361
165362
165363
165364
165365
165366
165367
165368
165369
165370
165371
165372
165373
165374
165375
165376
165377
165378
165379
165380
165381
165382
165383
165384
165385
165386
165387
165388
165389
165390
165391
165392
165393
165394
165395
165396
165397
165398
165399
165400
165401
165402
165403
165404
165405
165406
165407
165408
165409
165410
165411
165412
165413
165414
165415
165416
165417
165418
165419
165420
165421
165422
165423
165424
165425
165426
165427
165428
165429
165430
165431
165432
165433
165434
165435
165436
165437
165438
165439
165440
165441
165442
165443
165444
165445
165446
165447
165448
165449
165450
165451
165452
165453
165454
165455
165456
165457
165458
165459
165460
165461
165462
165463
165464
165465
165466
165467
165468
165469
165470
165471
165472
165473
165474
165475
165476
165477
165478
165479
165480
165481
165482
165483
165484
165485
165486
165487
165488
165489
165490
165491
165492
165493
165494
165495
165496
165497
165498
165499
165500
165501
165502
165503
165504
165505
165506
165507
165508
165509
165510
165511
165512
165513
165514
165515
165516
165517
165518
165519
165520
165521
165522
165523
165524
165525
165526
165527
165528
165529
165530
165531
165532
165533
165534
165535
165536
165537
165538
165539
165540
165541
165542
165543
165544
165545
165546
165547
165548
165549
165550
165551
165552
165553
165554
165555
165556
165557
165558
165559
165560
165561
165562
165563
165564
165565
165566
165567
165568
165569
165570
165571
165572
165573
165574
165575
165576
165577
165578
165579
165580
165581
165582
165583
165584
165585
165586
165587
165588
165589
165590
165591
165592
165593
165594
165595
165596
165597
165598
165599
165600
165601
165602
165603
165604
165605
165606
165607
165608
165609
165610
165611
165612
165613
165614
165615
165616
165617
165618
165619
165620
165621
165622
165623
165624
165625
165626
165627
165628
165629
165630
165631
165632
165633
165634
165635
165636
165637
165638
165639
165640
165641
165642
165643
165644
165645
165646
165647
165648
165649
165650
165651
165652
165653
165654
165655
165656
165657
165658
165659
165660
165661
165662
165663
165664
165665
165666
165667
165668
165669
165670
165671
165672
165673
165674
165675
165676
165677
165678
165679
165680
165681
165682
165683
165684
165685
165686
165687
165688
165689
165690
165691
165692
165693
165694
165695
165696
165697
165698
165699
165700
165701
165702
165703
165704
165705
165706
165707
165708
165709
165710
165711
165712
165713
165714
165715
165716
165717
165718
165719
165720
165721
165722
165723
165724
165725
165726
165727
165728
165729
165730
165731
165732
165733
165734
165735
165736
165737
165738
165739
165740
165741
165742
165743
165744
165745
165746
165747
165748
165749
165750
165751
165752
165753
165754
165755
165756
165757
165758
165759
165760
165761
165762
165763
165764
165765
165766
165767
165768
165769
165770
165771
165772
165773
165774
165775
165776
165777
165778
165779
165780
165781
165782
165783
165784
165785
165786
165787
165788
165789
165790
165791
165792
165793
165794
165795
165796
165797
165798
165799
165800
165801
165802
165803
165804
165805
165806
165807
165808
165809
165810
165811
165812
165813
165814
165815
165816
165817
165818
165819
165820
165821
165822
165823
165824
165825
165826
165827
165828
165829
165830
165831
165832
165833
165834
165835
165836
165837
165838
165839
165840
165841
165842
165843
165844
165845
165846
165847
165848
165849
165850
165851
165852
165853
165854
165855
165856
165857
165858
165859
165860
165861
165862
165863
165864
165865
165866
165867
165868
165869
165870
165871
165872
165873
165874
165875
165876
165877
165878
165879
165880
165881
165882
165883
165884
165885
165886
165887
165888
165889
165890
165891
165892
165893
165894
165895
165896
165897
165898
165899
165900
165901
165902
165903
165904
165905
165906
165907
165908
165909
165910
165911
165912
165913
165914
165915
165916
165917
165918
165919
165920
165921
165922
165923
165924
165925
165926
165927
165928
165929
165930
165931
165932
165933
165934
165935
165936
165937
165938
165939
165940
165941
165942
165943
165944
165945
165946
165947
165948
165949
165950
165951
165952
165953
165954
165955
165956
165957
165958
165959
165960
165961
165962
165963
165964
165965
165966
165967
165968
165969
165970
165971
165972
165973
165974
165975
165976
165977
165978
165979
165980
165981
165982
165983
165984
165985
165986
165987
165988
165989
165990
165991
165992
165993
165994
165995
165996
165997
165998
165999
166000
166001
166002
166003
166004
166005
166006
166007
166008
166009
166010
166011
166012
166013
166014
166015
166016
166017
166018
166019
166020
166021
166022
166023
166024
166025
166026
166027
166028
166029
166030
166031
166032
166033
166034
166035
166036
166037
166038
166039
166040
166041
166042
166043
166044
166045
166046
166047
166048
166049
166050
166051
166052
166053
166054
166055
166056
166057
166058
166059
166060
166061
166062
166063
166064
166065
166066
166067
166068
166069
166070
166071
166072
166073
166074
166075
166076
166077
166078
166079
166080
166081
166082
166083
166084
166085
166086
166087
166088
166089
166090
166091
166092
166093
166094
166095
166096
166097
166098
166099
166100
166101
166102
166103
166104
166105
166106
166107
166108
166109
166110
166111
166112
166113
166114
166115
166116
166117
166118
166119
166120
166121
166122
166123
166124
166125
166126
166127
166128
166129
166130
166131
166132
166133
166134
166135
166136
166137
166138
166139
166140
166141
166142
166143
166144
166145
166146
166147
166148
166149
166150
166151
166152
166153
166154
166155
166156
166157
166158
166159
166160
166161
166162
166163
166164
166165
166166
166167
166168
166169
166170
166171
166172
166173
166174
166175
166176
166177
166178
166179
166180
166181
166182
166183
166184
166185
166186
166187
166188
166189
166190
166191
166192
166193
166194
166195
166196
166197
166198
166199
166200
166201
166202
166203
166204
166205
166206
166207
166208
166209
166210
166211
166212
166213
166214
166215
166216
166217
166218
166219
166220
166221
166222
166223
166224
166225
166226
166227
166228
166229
166230
166231
166232
166233
166234
166235
166236
166237
166238
166239
166240
166241
166242
166243
166244
166245
166246
166247
166248
166249
166250
166251
166252
166253
166254
166255
166256
166257
166258
166259
166260
166261
166262
166263
166264
166265
166266
166267
166268
166269
166270
166271
166272
166273
166274
166275
166276
166277
166278
166279
166280
166281
166282
166283
166284
166285
166286
166287
166288
166289
166290
166291
166292
166293
166294
166295
166296
166297
166298
166299
166300
166301
166302
166303
166304
166305
166306
166307
166308
166309
166310
166311
166312
166313
166314
166315
166316
166317
166318
166319
166320
166321
166322
166323
166324
166325
166326
166327
166328
166329
166330
166331
166332
166333
166334
166335
166336
166337
166338
166339
166340
166341
166342
166343
166344
166345
166346
166347
166348
166349
166350
166351
166352
166353
166354
166355
166356
166357
166358
166359
166360
166361
166362
166363
166364
166365
166366
166367
166368
166369
166370
166371
166372
166373
166374
166375
166376
166377
166378
166379
166380
166381
166382
166383
166384
166385
166386
166387
166388
166389
166390
166391
166392
166393
166394
166395
166396
166397
166398
166399
166400
166401
166402
166403
166404
166405
166406
166407
166408
166409
166410
166411
166412
166413
166414
166415
166416
166417
166418
166419
166420
166421
166422
166423
166424
166425
166426
166427
166428
166429
166430
166431
166432
166433
166434
166435
166436
166437
166438
166439
166440
166441
166442
166443
166444
166445
166446
166447
166448
166449
166450
166451
166452
166453
166454
166455
166456
166457
166458
166459
166460
166461
166462
166463
166464
166465
166466
166467
166468
166469
166470
166471
166472
166473
166474
166475
166476
166477
166478
166479
166480
166481
166482
166483
166484
166485
166486
166487
166488
166489
166490
166491
166492
166493
166494
166495
166496
166497
166498
166499
166500
166501
166502
166503
166504
166505
166506
166507
166508
166509
166510
166511
166512
166513
166514
166515
166516
166517
166518
166519
166520
166521
166522
166523
166524
166525
166526
166527
166528
166529
166530
166531
166532
166533
166534
166535
166536
166537
166538
166539
166540
166541
166542
166543
166544
166545
166546
166547
166548
166549
166550
166551
166552
166553
166554
166555
166556
166557
166558
166559
166560
166561
166562
166563
166564
166565
166566
166567
166568
166569
166570
166571
166572
166573
166574
166575
166576
166577
166578
166579
166580
166581
166582
166583
166584
166585
166586
166587
166588
166589
166590
166591
166592
166593
166594
166595
166596
166597
166598
166599
166600
166601
166602
166603
166604
166605
166606
166607
166608
166609
166610
166611
166612
166613
166614
166615
166616
166617
166618
166619
166620
166621
166622
166623
166624
166625
166626
166627
166628
166629
166630
166631
166632
166633
166634
166635
166636
166637
166638
166639
166640
166641
166642
166643
166644
166645
166646
166647
166648
166649
166650
166651
166652
166653
166654
166655
166656
166657
166658
166659
166660
166661
166662
166663
166664
166665
166666
166667
166668
166669
166670
166671
166672
166673
166674
166675
166676
166677
166678
166679
166680
166681
166682
166683
166684
166685
166686
166687
166688
166689
166690
166691
166692
166693
166694
166695
166696
166697
166698
166699
166700
166701
166702
166703
166704
166705
166706
166707
166708
166709
166710
166711
166712
166713
166714
166715
166716
166717
166718
166719
166720
166721
166722
166723
166724
166725
166726
166727
166728
166729
166730
166731
166732
166733
166734
166735
166736
166737
166738
166739
166740
166741
166742
166743
166744
166745
166746
166747
166748
166749
166750
166751
166752
166753
166754
166755
166756
166757
166758
166759
166760
166761
166762
166763
166764
166765
166766
166767
166768
166769
166770
166771
166772
166773
166774
166775
166776
166777
166778
166779
166780
166781
166782
166783
166784
166785
166786
166787
166788
166789
166790
166791
166792
166793
166794
166795
166796
166797
166798
166799
166800
166801
166802
166803
166804
166805
166806
166807
166808
166809
166810
166811
166812
166813
166814
166815
166816
166817
166818
166819
166820
166821
166822
166823
166824
166825
166826
166827
166828
166829
166830
166831
166832
166833
166834
166835
166836
166837
166838
166839
166840
166841
166842
166843
166844
166845
166846
166847
166848
166849
166850
166851
166852
166853
166854
166855
166856
166857
166858
166859
166860
166861
166862
166863
166864
166865
166866
166867
166868
166869
166870
166871
166872
166873
166874
166875
166876
166877
166878
166879
166880
166881
166882
166883
166884
166885
166886
166887
166888
166889
166890
166891
166892
166893
166894
166895
166896
166897
166898
166899
166900
166901
166902
166903
166904
166905
166906
166907
166908
166909
166910
166911
166912
166913
166914
166915
166916
166917
166918
166919
166920
166921
166922
166923
166924
166925
166926
166927
166928
166929
166930
166931
166932
166933
166934
166935
166936
166937
166938
166939
166940
166941
166942
166943
166944
166945
166946
166947
166948
166949
166950
166951
166952
166953
166954
166955
166956
166957
166958
166959
166960
166961
166962
166963
166964
166965
166966
166967
166968
166969
166970
166971
166972
166973
166974
166975
166976
166977
166978
166979
166980
166981
166982
166983
166984
166985
166986
166987
166988
166989
166990
166991
166992
166993
166994
166995
166996
166997
166998
166999
167000
167001
167002
167003
167004
167005
167006
167007
167008
167009
167010
167011
167012
167013
167014
167015
167016
167017
167018
167019
167020
167021
167022
167023
167024
167025
167026
167027
167028
167029
167030
167031
167032
167033
167034
167035
167036
167037
167038
167039
167040
167041
167042
167043
167044
167045
167046
167047
167048
167049
167050
167051
167052
167053
167054
167055
167056
167057
167058
167059
167060
167061
167062
167063
167064
167065
167066
167067
167068
167069
167070
167071
167072
167073
167074
167075
167076
167077
167078
167079
167080
167081
167082
167083
167084
167085
167086
167087
167088
167089
167090
167091
167092
167093
167094
167095
167096
167097
167098
167099
167100
167101
167102
167103
167104
167105
167106
167107
167108
167109
167110
167111
167112
167113
167114
167115
167116
167117
167118
167119
167120
167121
167122
167123
167124
167125
167126
167127
167128
167129
167130
167131
167132
167133
167134
167135
167136
167137
167138
167139
167140
167141
167142
167143
167144
167145
167146
167147
167148
167149
167150
167151
167152
167153
167154
167155
167156
167157
167158
167159
167160
167161
167162
167163
167164
167165
167166
167167
167168
167169
167170
167171
167172
167173
167174
167175
167176
167177
167178
167179
167180
167181
167182
167183
167184
167185
167186
167187
167188
167189
167190
167191
167192
167193
167194
167195
167196
167197
167198
167199
167200
167201
167202
167203
167204
167205
167206
167207
167208
167209
167210
167211
167212
167213
167214
167215
167216
167217
167218
167219
167220
167221
167222
167223
167224
167225
167226
167227
167228
167229
167230
167231
167232
167233
167234
167235
167236
167237
167238
167239
167240
167241
167242
167243
167244
167245
167246
167247
167248
167249
167250
167251
167252
167253
167254
167255
167256
167257
167258
167259
167260
167261
167262
167263
167264
167265
167266
167267
167268
167269
167270
167271
167272
167273
167274
167275
167276
167277
167278
167279
167280
167281
167282
167283
167284
167285
167286
167287
167288
167289
167290
167291
167292
167293
167294
167295
167296
167297
167298
167299
167300
167301
167302
167303
167304
167305
167306
167307
167308
167309
167310
167311
167312
167313
167314
167315
167316
167317
167318
167319
167320
167321
167322
167323
167324
167325
167326
167327
167328
167329
167330
167331
167332
167333
167334
167335
167336
167337
167338
167339
167340
167341
167342
167343
167344
167345
167346
167347
167348
167349
167350
167351
167352
167353
167354
167355
167356
167357
167358
167359
167360
167361
167362
167363
167364
167365
167366
167367
167368
167369
167370
167371
167372
167373
167374
167375
167376
167377
167378
167379
167380
167381
167382
167383
167384
167385
167386
167387
167388
167389
167390
167391
167392
167393
167394
167395
167396
167397
167398
167399
167400
167401
167402
167403
167404
167405
167406
167407
167408
167409
167410
167411
167412
167413
167414
167415
167416
167417
167418
167419
167420
167421
167422
167423
167424
167425
167426
167427
167428
167429
167430
167431
167432
167433
167434
167435
167436
167437
167438
167439
167440
167441
167442
167443
167444
167445
167446
167447
167448
167449
167450
167451
167452
167453
167454
167455
167456
167457
167458
167459
167460
167461
167462
167463
167464
167465
167466
167467
167468
167469
167470
167471
167472
167473
167474
167475
167476
167477
167478
167479
167480
167481
167482
167483
167484
167485
167486
167487
167488
167489
167490
167491
167492
167493
167494
167495
167496
167497
167498
167499
167500
167501
167502
167503
167504
167505
167506
167507
167508
167509
167510
167511
167512
167513
167514
167515
167516
167517
167518
167519
167520
167521
167522
167523
167524
167525
167526
167527
167528
167529
167530
167531
167532
167533
167534
167535
167536
167537
167538
167539
167540
167541
167542
167543
167544
167545
167546
167547
167548
167549
167550
167551
167552
167553
167554
167555
167556
167557
167558
167559
167560
167561
167562
167563
167564
167565
167566
167567
167568
167569
167570
167571
167572
167573
167574
167575
167576
167577
167578
167579
167580
167581
167582
167583
167584
167585
167586
167587
167588
167589
167590
167591
167592
167593
167594
167595
167596
167597
167598
167599
167600
167601
167602
167603
167604
167605
167606
167607
167608
167609
167610
167611
167612
167613
167614
167615
167616
167617
167618
167619
167620
167621
167622
167623
167624
167625
167626
167627
167628
167629
167630
167631
167632
167633
167634
167635
167636
167637
167638
167639
167640
167641
167642
167643
167644
167645
167646
167647
167648
167649
167650
167651
167652
167653
167654
167655
167656
167657
167658
167659
167660
167661
167662
167663
167664
167665
167666
167667
167668
167669
167670
167671
167672
167673
167674
167675
167676
167677
167678
167679
167680
167681
167682
167683
167684
167685
167686
167687
167688
167689
167690
167691
167692
167693
167694
167695
167696
167697
167698
167699
167700
167701
167702
167703
167704
167705
167706
167707
167708
167709
167710
167711
167712
167713
167714
167715
167716
167717
167718
167719
167720
167721
167722
167723
167724
167725
167726
167727
167728
167729
167730
167731
167732
167733
167734
167735
167736
167737
167738
167739
167740
167741
167742
167743
167744
167745
167746
167747
167748
167749
167750
167751
167752
167753
167754
167755
167756
167757
167758
167759
167760
167761
167762
167763
167764
167765
167766
167767
167768
167769
167770
167771
167772
167773
167774
167775
167776
167777
167778
167779
167780
167781
167782
167783
167784
167785
167786
167787
167788
167789
167790
167791
167792
167793
167794
167795
167796
167797
167798
167799
167800
167801
167802
167803
167804
167805
167806
167807
167808
167809
167810
167811
167812
167813
167814
167815
167816
167817
167818
167819
167820
167821
167822
167823
167824
167825
167826
167827
167828
167829
167830
167831
167832
167833
167834
167835
167836
167837
167838
167839
167840
167841
167842
167843
167844
167845
167846
167847
167848
167849
167850
167851
167852
167853
167854
167855
167856
167857
167858
167859
167860
167861
167862
167863
167864
167865
167866
167867
167868
167869
167870
167871
167872
167873
167874
167875
167876
167877
167878
167879
167880
167881
167882
167883
167884
167885
167886
167887
167888
167889
167890
167891
167892
167893
167894
167895
167896
167897
167898
167899
167900
167901
167902
167903
167904
167905
167906
167907
167908
167909
167910
167911
167912
167913
167914
167915
167916
167917
167918
167919
167920
167921
167922
167923
167924
167925
167926
167927
167928
167929
167930
167931
167932
167933
167934
167935
167936
167937
167938
167939
167940
167941
167942
167943
167944
167945
167946
167947
167948
167949
167950
167951
167952
167953
167954
167955
167956
167957
167958
167959
167960
167961
167962
167963
167964
167965
167966
167967
167968
167969
167970
167971
167972
167973
167974
167975
167976
167977
167978
167979
167980
167981
167982
167983
167984
167985
167986
167987
167988
167989
167990
167991
167992
167993
167994
167995
167996
167997
167998
167999
168000
168001
168002
168003
168004
168005
168006
168007
168008
168009
168010
168011
168012
168013
168014
168015
168016
168017
168018
168019
168020
168021
168022
168023
168024
168025
168026
168027
168028
168029
168030
168031
168032
168033
168034
168035
168036
168037
168038
168039
168040
168041
168042
168043
168044
168045
168046
168047
168048
168049
168050
168051
168052
168053
168054
168055
168056
168057
168058
168059
168060
168061
168062
168063
168064
168065
168066
168067
168068
168069
168070
168071
168072
168073
168074
168075
168076
168077
168078
168079
168080
168081
168082
168083
168084
168085
168086
168087
168088
168089
168090
168091
168092
168093
168094
168095
168096
168097
168098
168099
168100
168101
168102
168103
168104
168105
168106
168107
168108
168109
168110
168111
168112
168113
168114
168115
168116
168117
168118
168119
168120
168121
168122
168123
168124
168125
168126
168127
168128
168129
168130
168131
168132
168133
168134
168135
168136
168137
168138
168139
168140
168141
168142
168143
168144
168145
168146
168147
168148
168149
168150
168151
168152
168153
168154
168155
168156
168157
168158
168159
168160
168161
168162
168163
168164
168165
168166
168167
168168
168169
168170
168171
168172
168173
168174
168175
168176
168177
168178
168179
168180
168181
168182
168183
168184
168185
168186
168187
168188
168189
168190
168191
168192
168193
168194
168195
168196
168197
168198
168199
168200
168201
168202
168203
168204
168205
168206
168207
168208
168209
168210
168211
168212
168213
168214
168215
168216
168217
168218
168219
168220
168221
168222
168223
168224
168225
168226
168227
168228
168229
168230
168231
168232
168233
168234
168235
168236
168237
168238
168239
168240
168241
168242
168243
168244
168245
168246
168247
168248
168249
168250
168251
168252
168253
168254
168255
168256
168257
168258
168259
168260
168261
168262
168263
168264
168265
168266
168267
168268
168269
168270
168271
168272
168273
168274
168275
168276
168277
168278
168279
168280
168281
168282
168283
168284
168285
168286
168287
168288
168289
168290
168291
168292
168293
168294
168295
168296
168297
168298
168299
168300
168301
168302
168303
168304
168305
168306
168307
168308
168309
168310
168311
168312
168313
168314
168315
168316
168317
168318
168319
168320
168321
168322
168323
168324
168325
168326
168327
168328
168329
168330
168331
168332
168333
168334
168335
168336
168337
168338
168339
168340
168341
168342
168343
168344
168345
168346
168347
168348
168349
168350
168351
168352
168353
168354
168355
168356
168357
168358
168359
168360
168361
168362
168363
168364
168365
168366
168367
168368
168369
168370
168371
168372
168373
168374
168375
168376
168377
168378
168379
168380
168381
168382
168383
168384
168385
168386
168387
168388
168389
168390
168391
168392
168393
168394
168395
168396
168397
168398
168399
168400
168401
168402
168403
168404
168405
168406
168407
168408
168409
168410
168411
168412
168413
168414
168415
168416
168417
168418
168419
168420
168421
168422
168423
168424
168425
168426
168427
168428
168429
168430
168431
168432
168433
168434
168435
168436
168437
168438
168439
168440
168441
168442
168443
168444
168445
168446
168447
168448
168449
168450
168451
168452
168453
168454
168455
168456
168457
168458
168459
168460
168461
168462
168463
168464
168465
168466
168467
168468
168469
168470
168471
168472
168473
168474
168475
168476
168477
168478
168479
168480
168481
168482
168483
168484
168485
168486
168487
168488
168489
168490
168491
168492
168493
168494
168495
168496
168497
168498
168499
168500
168501
168502
168503
168504
168505
168506
168507
168508
168509
168510
168511
168512
168513
168514
168515
168516
168517
168518
168519
168520
168521
168522
168523
168524
168525
168526
168527
168528
168529
168530
168531
168532
168533
168534
168535
168536
168537
168538
168539
168540
168541
168542
168543
168544
168545
168546
168547
168548
168549
168550
168551
168552
168553
168554
168555
168556
168557
168558
168559
168560
168561
168562
168563
168564
168565
168566
168567
168568
168569
168570
168571
168572
168573
168574
168575
168576
168577
168578
168579
168580
168581
168582
168583
168584
168585
168586
168587
168588
168589
168590
168591
168592
168593
168594
168595
168596
168597
168598
168599
168600
168601
168602
168603
168604
168605
168606
168607
168608
168609
168610
168611
168612
168613
168614
168615
168616
168617
168618
168619
168620
168621
168622
168623
168624
168625
168626
168627
168628
168629
168630
168631
168632
168633
168634
168635
168636
168637
168638
168639
168640
168641
168642
168643
168644
168645
168646
168647
168648
168649
168650
168651
168652
168653
168654
168655
168656
168657
168658
168659
168660
168661
168662
168663
168664
168665
168666
168667
168668
168669
168670
168671
168672
168673
168674
168675
168676
168677
168678
168679
168680
168681
168682
168683
168684
168685
168686
168687
168688
168689
168690
168691
168692
168693
168694
168695
168696
168697
168698
168699
168700
168701
168702
168703
168704
168705
168706
168707
168708
168709
168710
168711
168712
168713
168714
168715
168716
168717
168718
168719
168720
168721
168722
168723
168724
168725
168726
168727
168728
168729
168730
168731
168732
168733
168734
168735
168736
168737
168738
168739
168740
168741
168742
168743
168744
168745
168746
168747
168748
168749
168750
168751
168752
168753
168754
168755
168756
168757
168758
168759
168760
168761
168762
168763
168764
168765
168766
168767
168768
168769
168770
168771
168772
168773
168774
168775
168776
168777
168778
168779
168780
168781
168782
168783
168784
168785
168786
168787
168788
168789
168790
168791
168792
168793
168794
168795
168796
168797
168798
168799
168800
168801
168802
168803
168804
168805
168806
168807
168808
168809
168810
168811
168812
168813
168814
168815
168816
168817
168818
168819
168820
168821
168822
168823
168824
168825
168826
168827
168828
168829
168830
168831
168832
168833
168834
168835
168836
168837
168838
168839
168840
168841
168842
168843
168844
168845
168846
168847
168848
168849
168850
168851
168852
168853
168854
168855
168856
168857
168858
168859
168860
168861
168862
168863
168864
168865
168866
168867
168868
168869
168870
168871
168872
168873
168874
168875
168876
168877
168878
168879
168880
168881
168882
168883
168884
168885
168886
168887
168888
168889
168890
168891
168892
168893
168894
168895
168896
168897
168898
168899
168900
168901
168902
168903
168904
168905
168906
168907
168908
168909
168910
168911
168912
168913
168914
168915
168916
168917
168918
168919
168920
168921
168922
168923
168924
168925
168926
168927
168928
168929
168930
168931
168932
168933
168934
168935
168936
168937
168938
168939
168940
168941
168942
168943
168944
168945
168946
168947
168948
168949
168950
168951
168952
168953
168954
168955
168956
168957
168958
168959
168960
168961
168962
168963
168964
168965
168966
168967
168968
168969
168970
168971
168972
168973
168974
168975
168976
168977
168978
168979
168980
168981
168982
168983
168984
168985
168986
168987
168988
168989
168990
168991
168992
168993
168994
168995
168996
168997
168998
168999
169000
169001
169002
169003
169004
169005
169006
169007
169008
169009
169010
169011
169012
169013
169014
169015
169016
169017
169018
169019
169020
169021
169022
169023
169024
169025
169026
169027
169028
169029
169030
169031
169032
169033
169034
169035
169036
169037
169038
169039
169040
169041
169042
169043
169044
169045
169046
169047
169048
169049
169050
169051
169052
169053
169054
169055
169056
169057
169058
169059
169060
169061
169062
169063
169064
169065
169066
169067
169068
169069
169070
169071
169072
169073
169074
169075
169076
169077
169078
169079
169080
169081
169082
169083
169084
169085
169086
169087
169088
169089
169090
169091
169092
169093
169094
169095
169096
169097
169098
169099
169100
169101
169102
169103
169104
169105
169106
169107
169108
169109
169110
169111
169112
169113
169114
169115
169116
169117
169118
169119
169120
169121
169122
169123
169124
169125
169126
169127
169128
169129
169130
169131
169132
169133
169134
169135
169136
169137
169138
169139
169140
169141
169142
169143
169144
169145
169146
169147
169148
169149
169150
169151
169152
169153
169154
169155
169156
169157
169158
169159
169160
169161
169162
169163
169164
169165
169166
169167
169168
169169
169170
169171
169172
169173
169174
169175
169176
169177
169178
169179
169180
169181
169182
169183
169184
169185
169186
169187
169188
169189
169190
169191
169192
169193
169194
169195
169196
169197
169198
169199
169200
169201
169202
169203
169204
169205
169206
169207
169208
169209
169210
169211
169212
169213
169214
169215
169216
169217
169218
169219
169220
169221
169222
169223
169224
169225
169226
169227
169228
169229
169230
169231
169232
169233
169234
169235
169236
169237
169238
169239
169240
169241
169242
169243
169244
169245
169246
169247
169248
169249
169250
169251
169252
169253
169254
169255
169256
169257
169258
169259
169260
169261
169262
169263
169264
169265
169266
169267
169268
169269
169270
169271
169272
169273
169274
169275
169276
169277
169278
169279
169280
169281
169282
169283
169284
169285
169286
169287
169288
169289
169290
169291
169292
169293
169294
169295
169296
169297
169298
169299
169300
169301
169302
169303
169304
169305
169306
169307
169308
169309
169310
169311
169312
169313
169314
169315
169316
169317
169318
169319
169320
169321
169322
169323
169324
169325
169326
169327
169328
169329
169330
169331
169332
169333
169334
169335
169336
169337
169338
169339
169340
169341
169342
169343
169344
169345
169346
169347
169348
169349
169350
169351
169352
169353
169354
169355
169356
169357
169358
169359
169360
169361
169362
169363
169364
169365
169366
169367
169368
169369
169370
169371
169372
169373
169374
169375
169376
169377
169378
169379
169380
169381
169382
169383
169384
169385
169386
169387
169388
169389
169390
169391
169392
169393
169394
169395
169396
169397
169398
169399
169400
169401
169402
169403
169404
169405
169406
169407
169408
169409
169410
169411
169412
169413
169414
169415
169416
169417
169418
169419
169420
169421
169422
169423
169424
169425
169426
169427
169428
169429
169430
169431
169432
169433
169434
169435
169436
169437
169438
169439
169440
169441
169442
169443
169444
169445
169446
169447
169448
169449
169450
169451
169452
169453
169454
169455
169456
169457
169458
169459
169460
169461
169462
169463
169464
169465
169466
169467
169468
169469
169470
169471
169472
169473
169474
169475
169476
169477
169478
169479
169480
169481
169482
169483
169484
169485
169486
169487
169488
169489
169490
169491
169492
169493
169494
169495
169496
169497
169498
169499
169500
169501
169502
169503
169504
169505
169506
169507
169508
169509
169510
169511
169512
169513
169514
169515
169516
169517
169518
169519
169520
169521
169522
169523
169524
169525
169526
169527
169528
169529
169530
169531
169532
169533
169534
169535
169536
169537
169538
169539
169540
169541
169542
169543
169544
169545
169546
169547
169548
169549
169550
169551
169552
169553
169554
169555
169556
169557
169558
169559
169560
169561
169562
169563
169564
169565
169566
169567
169568
169569
169570
169571
169572
169573
169574
169575
169576
169577
169578
169579
169580
169581
169582
169583
169584
169585
169586
169587
169588
169589
169590
169591
169592
169593
169594
169595
169596
169597
169598
169599
169600
169601
169602
169603
169604
169605
169606
169607
169608
169609
169610
169611
169612
169613
169614
169615
169616
169617
169618
169619
169620
169621
169622
169623
169624
169625
169626
169627
169628
169629
169630
169631
169632
169633
169634
169635
169636
169637
169638
169639
169640
169641
169642
169643
169644
169645
169646
169647
169648
169649
169650
169651
169652
169653
169654
169655
169656
169657
169658
169659
169660
169661
169662
169663
169664
169665
169666
169667
169668
169669
169670
169671
169672
169673
169674
169675
169676
169677
169678
169679
169680
169681
169682
169683
169684
169685
169686
169687
169688
169689
169690
169691
169692
169693
169694
169695
169696
169697
169698
169699
169700
169701
169702
169703
169704
169705
169706
169707
169708
169709
169710
169711
169712
169713
169714
169715
169716
169717
169718
169719
169720
169721
169722
169723
169724
169725
169726
169727
169728
169729
169730
169731
169732
169733
169734
169735
169736
169737
169738
169739
169740
169741
169742
169743
169744
169745
169746
169747
169748
169749
169750
169751
169752
169753
169754
169755
169756
169757
169758
169759
169760
169761
169762
169763
169764
169765
169766
169767
169768
169769
169770
169771
169772
169773
169774
169775
169776
169777
169778
169779
169780
169781
169782
169783
169784
169785
169786
169787
169788
169789
169790
169791
169792
169793
169794
169795
169796
169797
169798
169799
169800
169801
169802
169803
169804
169805
169806
169807
169808
169809
169810
169811
169812
169813
169814
169815
169816
169817
169818
169819
169820
169821
169822
169823
169824
169825
169826
169827
169828
169829
169830
169831
169832
169833
169834
169835
169836
169837
169838
169839
169840
169841
169842
169843
169844
169845
169846
169847
169848
169849
169850
169851
169852
169853
169854
169855
169856
169857
169858
169859
169860
169861
169862
169863
169864
169865
169866
169867
169868
169869
169870
169871
169872
169873
169874
169875
169876
169877
169878
169879
169880
169881
169882
169883
169884
169885
169886
169887
169888
169889
169890
169891
169892
169893
169894
169895
169896
169897
169898
169899
169900
169901
169902
169903
169904
169905
169906
169907
169908
169909
169910
169911
169912
169913
169914
169915
169916
169917
169918
169919
169920
169921
169922
169923
169924
169925
169926
169927
169928
169929
169930
169931
169932
169933
169934
169935
169936
169937
169938
169939
169940
169941
169942
169943
169944
169945
169946
169947
169948
169949
169950
169951
169952
169953
169954
169955
169956
169957
169958
169959
169960
169961
169962
169963
169964
169965
169966
169967
169968
169969
169970
169971
169972
169973
169974
169975
169976
169977
169978
169979
169980
169981
169982
169983
169984
169985
169986
169987
169988
169989
169990
169991
169992
169993
169994
169995
169996
169997
169998
169999
170000
170001
170002
170003
170004
170005
170006
170007
170008
170009
170010
170011
170012
170013
170014
170015
170016
170017
170018
170019
170020
170021
170022
170023
170024
170025
170026
170027
170028
170029
170030
170031
170032
170033
170034
170035
170036
170037
170038
170039
170040
170041
170042
170043
170044
170045
170046
170047
170048
170049
170050
170051
170052
170053
170054
170055
170056
170057
170058
170059
170060
170061
170062
170063
170064
170065
170066
170067
170068
170069
170070
170071
170072
170073
170074
170075
170076
170077
170078
170079
170080
170081
170082
170083
170084
170085
170086
170087
170088
170089
170090
170091
170092
170093
170094
170095
170096
170097
170098
170099
170100
170101
170102
170103
170104
170105
170106
170107
170108
170109
170110
170111
170112
170113
170114
170115
170116
170117
170118
170119
170120
170121
170122
170123
170124
170125
170126
170127
170128
170129
170130
170131
170132
170133
170134
170135
170136
170137
170138
170139
170140
170141
170142
170143
170144
170145
170146
170147
170148
170149
170150
170151
170152
170153
170154
170155
170156
170157
170158
170159
170160
170161
170162
170163
170164
170165
170166
170167
170168
170169
170170
170171
170172
170173
170174
170175
170176
170177
170178
170179
170180
170181
170182
170183
170184
170185
170186
170187
170188
170189
170190
170191
170192
170193
170194
170195
170196
170197
170198
170199
170200
170201
170202
170203
170204
170205
170206
170207
170208
170209
170210
170211
170212
170213
170214
170215
170216
170217
170218
170219
170220
170221
170222
170223
170224
170225
170226
170227
170228
170229
170230
170231
170232
170233
170234
170235
170236
170237
170238
170239
170240
170241
170242
170243
170244
170245
170246
170247
170248
170249
170250
170251
170252
170253
170254
170255
170256
170257
170258
170259
170260
170261
170262
170263
170264
170265
170266
170267
170268
170269
170270
170271
170272
170273
170274
170275
170276
170277
170278
170279
170280
170281
170282
170283
170284
170285
170286
170287
170288
170289
170290
170291
170292
170293
170294
170295
170296
170297
170298
170299
170300
170301
170302
170303
170304
170305
170306
170307
170308
170309
170310
170311
170312
170313
170314
170315
170316
170317
170318
170319
170320
170321
170322
170323
170324
170325
170326
170327
170328
170329
170330
170331
170332
170333
170334
170335
170336
170337
170338
170339
170340
170341
170342
170343
170344
170345
170346
170347
170348
170349
170350
170351
170352
170353
170354
170355
170356
170357
170358
170359
170360
170361
170362
170363
170364
170365
170366
170367
170368
170369
170370
170371
170372
170373
170374
170375
170376
170377
170378
170379
170380
170381
170382
170383
170384
170385
170386
170387
170388
170389
170390
170391
170392
170393
170394
170395
170396
170397
170398
170399
170400
170401
170402
170403
170404
170405
170406
170407
170408
170409
170410
170411
170412
170413
170414
170415
170416
170417
170418
170419
170420
170421
170422
170423
170424
170425
170426
170427
170428
170429
170430
170431
170432
170433
170434
170435
170436
170437
170438
170439
170440
170441
170442
170443
170444
170445
170446
170447
170448
170449
170450
170451
170452
170453
170454
170455
170456
170457
170458
170459
170460
170461
170462
170463
170464
170465
170466
170467
170468
170469
170470
170471
170472
170473
170474
170475
170476
170477
170478
170479
170480
170481
170482
170483
170484
170485
170486
170487
170488
170489
170490
170491
170492
170493
170494
170495
170496
170497
170498
170499
170500
170501
170502
170503
170504
170505
170506
170507
170508
170509
170510
170511
170512
170513
170514
170515
170516
170517
170518
170519
170520
170521
170522
170523
170524
170525
170526
170527
170528
170529
170530
170531
170532
170533
170534
170535
170536
170537
170538
170539
170540
170541
170542
170543
170544
170545
170546
170547
170548
170549
170550
170551
170552
170553
170554
170555
170556
170557
170558
170559
170560
170561
170562
170563
170564
170565
170566
170567
170568
170569
170570
170571
170572
170573
170574
170575
170576
170577
170578
170579
170580
170581
170582
170583
170584
170585
170586
170587
170588
170589
170590
170591
170592
170593
170594
170595
170596
170597
170598
170599
170600
170601
170602
170603
170604
170605
170606
170607
170608
170609
170610
170611
170612
170613
170614
170615
170616
170617
170618
170619
170620
170621
170622
170623
170624
170625
170626
170627
170628
170629
170630
170631
170632
170633
170634
170635
170636
170637
170638
170639
170640
170641
170642
170643
170644
170645
170646
170647
170648
170649
170650
170651
170652
170653
170654
170655
170656
170657
170658
170659
170660
170661
170662
170663
170664
170665
170666
170667
170668
170669
170670
170671
170672
170673
170674
170675
170676
170677
170678
170679
170680
170681
170682
170683
170684
170685
170686
170687
170688
170689
170690
170691
170692
170693
170694
170695
170696
170697
170698
170699
170700
170701
170702
170703
170704
170705
170706
170707
170708
170709
170710
170711
170712
170713
170714
170715
170716
170717
170718
170719
170720
170721
170722
170723
170724
170725
170726
170727
170728
170729
170730
170731
170732
170733
170734
170735
170736
170737
170738
170739
170740
170741
170742
170743
170744
170745
170746
170747
170748
170749
170750
170751
170752
170753
170754
170755
170756
170757
170758
170759
170760
170761
170762
170763
170764
170765
170766
170767
170768
170769
170770
170771
170772
170773
170774
170775
170776
170777
170778
170779
170780
170781
170782
170783
170784
170785
170786
170787
170788
170789
170790
170791
170792
170793
170794
170795
170796
170797
170798
170799
170800
170801
170802
170803
170804
170805
170806
170807
170808
170809
170810
170811
170812
170813
170814
170815
170816
170817
170818
170819
170820
170821
170822
170823
170824
170825
170826
170827
170828
170829
170830
170831
170832
170833
170834
170835
170836
170837
170838
170839
170840
170841
170842
170843
170844
170845
170846
170847
170848
170849
170850
170851
170852
170853
170854
170855
170856
170857
170858
170859
170860
170861
170862
170863
170864
170865
170866
170867
170868
170869
170870
170871
170872
170873
170874
170875
170876
170877
170878
170879
170880
170881
170882
170883
170884
170885
170886
170887
170888
170889
170890
170891
170892
170893
170894
170895
170896
170897
170898
170899
170900
170901
170902
170903
170904
170905
170906
170907
170908
170909
170910
170911
170912
170913
170914
170915
170916
170917
170918
170919
170920
170921
170922
170923
170924
170925
170926
170927
170928
170929
170930
170931
170932
170933
170934
170935
170936
170937
170938
170939
170940
170941
170942
170943
170944
170945
170946
170947
170948
170949
170950
170951
170952
170953
170954
170955
170956
170957
170958
170959
170960
170961
170962
170963
170964
170965
170966
170967
170968
170969
170970
170971
170972
170973
170974
170975
170976
170977
170978
170979
170980
170981
170982
170983
170984
170985
170986
170987
170988
170989
170990
170991
170992
170993
170994
170995
170996
170997
170998
170999
171000
171001
171002
171003
171004
171005
171006
171007
171008
171009
171010
171011
171012
171013
171014
171015
171016
171017
171018
171019
171020
171021
171022
171023
171024
171025
171026
171027
171028
171029
171030
171031
171032
171033
171034
171035
171036
171037
171038
171039
171040
171041
171042
171043
171044
171045
171046
171047
171048
171049
171050
171051
171052
171053
171054
171055
171056
171057
171058
171059
171060
171061
171062
171063
171064
171065
171066
171067
171068
171069
171070
171071
171072
171073
171074
171075
171076
171077
171078
171079
171080
171081
171082
171083
171084
171085
171086
171087
171088
171089
171090
171091
171092
171093
171094
171095
171096
171097
171098
171099
171100
171101
171102
171103
171104
171105
171106
171107
171108
171109
171110
171111
171112
171113
171114
171115
171116
171117
171118
171119
171120
171121
171122
171123
171124
171125
171126
171127
171128
171129
171130
171131
171132
171133
171134
171135
171136
171137
171138
171139
171140
171141
171142
171143
171144
171145
171146
171147
171148
171149
171150
171151
171152
171153
171154
171155
171156
171157
171158
171159
171160
171161
171162
171163
171164
171165
171166
171167
171168
171169
171170
171171
171172
171173
171174
171175
171176
171177
171178
171179
171180
171181
171182
171183
171184
171185
171186
171187
171188
171189
171190
171191
171192
171193
171194
171195
171196
171197
171198
171199
171200
171201
171202
171203
171204
171205
171206
171207
171208
171209
171210
171211
171212
171213
171214
171215
171216
171217
171218
171219
171220
171221
171222
171223
171224
171225
171226
171227
171228
171229
171230
171231
171232
171233
171234
171235
171236
171237
171238
171239
171240
171241
171242
171243
171244
171245
171246
171247
171248
171249
171250
171251
171252
171253
171254
171255
171256
171257
171258
171259
171260
171261
171262
171263
171264
171265
171266
171267
171268
171269
171270
171271
171272
171273
171274
171275
171276
171277
171278
171279
171280
171281
171282
171283
171284
171285
171286
171287
171288
171289
171290
171291
171292
171293
171294
171295
171296
171297
171298
171299
171300
171301
171302
171303
171304
171305
171306
171307
171308
171309
171310
171311
171312
171313
171314
171315
171316
171317
171318
171319
171320
171321
171322
171323
171324
171325
171326
171327
171328
171329
171330
171331
171332
171333
171334
171335
171336
171337
171338
171339
171340
171341
171342
171343
171344
171345
171346
171347
171348
171349
171350
171351
171352
171353
171354
171355
171356
171357
171358
171359
171360
171361
171362
171363
171364
171365
171366
171367
171368
171369
171370
171371
171372
171373
171374
171375
171376
171377
171378
171379
171380
171381
171382
171383
171384
171385
171386
171387
171388
171389
171390
171391
171392
171393
171394
171395
171396
171397
171398
171399
171400
171401
171402
171403
171404
171405
171406
171407
171408
171409
171410
171411
171412
171413
171414
171415
171416
171417
171418
171419
171420
171421
171422
171423
171424
171425
171426
171427
171428
171429
171430
171431
171432
171433
171434
171435
171436
171437
171438
171439
171440
171441
171442
171443
171444
171445
171446
171447
171448
171449
171450
171451
171452
171453
171454
171455
171456
171457
171458
171459
171460
171461
171462
171463
171464
171465
171466
171467
171468
171469
171470
171471
171472
171473
171474
171475
171476
171477
171478
171479
171480
171481
171482
171483
171484
171485
171486
171487
171488
171489
171490
171491
171492
171493
171494
171495
171496
171497
171498
171499
171500
171501
171502
171503
171504
171505
171506
171507
171508
171509
171510
171511
171512
171513
171514
171515
171516
171517
171518
171519
171520
171521
171522
171523
171524
171525
171526
171527
171528
171529
171530
171531
171532
171533
171534
171535
171536
171537
171538
171539
171540
171541
171542
171543
171544
171545
171546
171547
171548
171549
171550
171551
171552
171553
171554
171555
171556
171557
171558
171559
171560
171561
171562
171563
171564
171565
171566
171567
171568
171569
171570
171571
171572
171573
171574
171575
171576
171577
171578
171579
171580
171581
171582
171583
171584
171585
171586
171587
171588
171589
171590
171591
171592
171593
171594
171595
171596
171597
171598
171599
171600
171601
171602
171603
171604
171605
171606
171607
171608
171609
171610
171611
171612
171613
171614
171615
171616
171617
171618
171619
171620
171621
171622
171623
171624
171625
171626
171627
171628
171629
171630
171631
171632
171633
171634
171635
171636
171637
171638
171639
171640
171641
171642
171643
171644
171645
171646
171647
171648
171649
171650
171651
171652
171653
171654
171655
171656
171657
171658
171659
171660
171661
171662
171663
171664
171665
171666
171667
171668
171669
171670
171671
171672
171673
171674
171675
171676
171677
171678
171679
171680
171681
171682
171683
171684
171685
171686
171687
171688
171689
171690
171691
171692
171693
171694
171695
171696
171697
171698
171699
171700
171701
171702
171703
171704
171705
171706
171707
171708
171709
171710
171711
171712
171713
171714
171715
171716
171717
171718
171719
171720
171721
171722
171723
171724
171725
171726
171727
171728
171729
171730
171731
171732
171733
171734
171735
171736
171737
171738
171739
171740
171741
171742
171743
171744
171745
171746
171747
171748
171749
171750
171751
171752
171753
171754
171755
171756
171757
171758
171759
171760
171761
171762
171763
171764
171765
171766
171767
171768
171769
171770
171771
171772
171773
171774
171775
171776
171777
171778
171779
171780
171781
171782
171783
171784
171785
171786
171787
171788
171789
171790
171791
171792
171793
171794
171795
171796
171797
171798
171799
171800
171801
171802
171803
171804
171805
171806
171807
171808
171809
171810
171811
171812
171813
171814
171815
171816
171817
171818
171819
171820
171821
171822
171823
171824
171825
171826
171827
171828
171829
171830
171831
171832
171833
171834
171835
171836
171837
171838
171839
171840
171841
171842
171843
171844
171845
171846
171847
171848
171849
171850
171851
171852
171853
171854
171855
171856
171857
171858
171859
171860
171861
171862
171863
171864
171865
171866
171867
171868
171869
171870
171871
171872
171873
171874
171875
171876
171877
171878
171879
171880
171881
171882
171883
171884
171885
171886
171887
171888
171889
171890
171891
171892
171893
171894
171895
171896
171897
171898
171899
171900
171901
171902
171903
171904
171905
171906
171907
171908
171909
171910
171911
171912
171913
171914
171915
171916
171917
171918
171919
171920
171921
171922
171923
171924
171925
171926
171927
171928
171929
171930
171931
171932
171933
171934
171935
171936
171937
171938
171939
171940
171941
171942
171943
171944
171945
171946
171947
171948
171949
171950
171951
171952
171953
171954
171955
171956
171957
171958
171959
171960
171961
171962
171963
171964
171965
171966
171967
171968
171969
171970
171971
171972
171973
171974
171975
171976
171977
171978
171979
171980
171981
171982
171983
171984
171985
171986
171987
171988
171989
171990
171991
171992
171993
171994
171995
171996
171997
171998
171999
172000
172001
172002
172003
172004
172005
172006
172007
172008
172009
172010
172011
172012
172013
172014
172015
172016
172017
172018
172019
172020
172021
172022
172023
172024
172025
172026
172027
172028
172029
172030
172031
172032
172033
172034
172035
172036
172037
172038
172039
172040
172041
172042
172043
172044
172045
172046
172047
172048
172049
172050
172051
172052
172053
172054
172055
172056
172057
172058
172059
172060
172061
172062
172063
172064
172065
172066
172067
172068
172069
172070
172071
172072
172073
172074
172075
172076
172077
172078
172079
172080
172081
172082
172083
172084
172085
172086
172087
172088
172089
172090
172091
172092
172093
172094
172095
172096
172097
172098
172099
172100
172101
172102
172103
172104
172105
172106
172107
172108
172109
172110
172111
172112
172113
172114
172115
172116
172117
172118
172119
172120
172121
172122
172123
172124
172125
172126
172127
172128
172129
172130
172131
172132
172133
172134
172135
172136
172137
172138
172139
172140
172141
172142
172143
172144
172145
172146
172147
172148
172149
172150
172151
172152
172153
172154
172155
172156
172157
172158
172159
172160
172161
172162
172163
172164
172165
172166
172167
172168
172169
172170
172171
172172
172173
172174
172175
172176
172177
172178
172179
172180
172181
172182
172183
172184
172185
172186
172187
172188
172189
172190
172191
172192
172193
172194
172195
172196
172197
172198
172199
172200
172201
172202
172203
172204
172205
172206
172207
172208
172209
172210
172211
172212
172213
172214
172215
172216
172217
172218
172219
172220
172221
172222
172223
172224
172225
172226
172227
172228
172229
172230
172231
172232
172233
172234
172235
172236
172237
172238
172239
172240
172241
172242
172243
172244
172245
172246
172247
172248
172249
172250
172251
172252
172253
172254
172255
172256
172257
172258
172259
172260
172261
172262
172263
172264
172265
172266
172267
172268
172269
172270
172271
172272
172273
172274
172275
172276
172277
172278
172279
172280
172281
172282
172283
172284
172285
172286
172287
172288
172289
172290
172291
172292
172293
172294
172295
172296
172297
172298
172299
172300
172301
172302
172303
172304
172305
172306
172307
172308
172309
172310
172311
172312
172313
172314
172315
172316
172317
172318
172319
172320
172321
172322
172323
172324
172325
172326
172327
172328
172329
172330
172331
172332
172333
172334
172335
172336
172337
172338
172339
172340
172341
172342
172343
172344
172345
172346
172347
172348
172349
172350
172351
172352
172353
172354
172355
172356
172357
172358
172359
172360
172361
172362
172363
172364
172365
172366
172367
172368
172369
172370
172371
172372
172373
172374
172375
172376
172377
172378
172379
172380
172381
172382
172383
172384
172385
172386
172387
172388
172389
172390
172391
172392
172393
172394
172395
172396
172397
172398
172399
172400
172401
172402
172403
172404
172405
172406
172407
172408
172409
172410
172411
172412
172413
172414
172415
172416
172417
172418
172419
172420
172421
172422
172423
172424
172425
172426
172427
172428
172429
172430
172431
172432
172433
172434
172435
172436
172437
172438
172439
172440
172441
172442
172443
172444
172445
172446
172447
172448
172449
172450
172451
172452
172453
172454
172455
172456
172457
172458
172459
172460
172461
172462
172463
172464
172465
172466
172467
172468
172469
172470
172471
172472
172473
172474
172475
172476
172477
172478
172479
172480
172481
172482
172483
172484
172485
172486
172487
172488
172489
172490
172491
172492
172493
172494
172495
172496
172497
172498
172499
172500
172501
172502
172503
172504
172505
172506
172507
172508
172509
172510
172511
172512
172513
172514
172515
172516
172517
172518
172519
172520
172521
172522
172523
172524
172525
172526
172527
172528
172529
172530
172531
172532
172533
172534
172535
172536
172537
172538
172539
172540
172541
172542
172543
172544
172545
172546
172547
172548
172549
172550
172551
172552
172553
172554
172555
172556
172557
172558
172559
172560
172561
172562
172563
172564
172565
172566
172567
172568
172569
172570
172571
172572
172573
172574
172575
172576
172577
172578
172579
172580
172581
172582
172583
172584
172585
172586
172587
172588
172589
172590
172591
172592
172593
172594
172595
172596
172597
172598
172599
172600
172601
172602
172603
172604
172605
172606
172607
172608
172609
172610
172611
172612
172613
172614
172615
172616
172617
172618
172619
172620
172621
172622
172623
172624
172625
172626
172627
172628
172629
172630
172631
172632
172633
172634
172635
172636
172637
172638
172639
172640
172641
172642
172643
172644
172645
172646
172647
172648
172649
172650
172651
172652
172653
172654
172655
172656
172657
172658
172659
172660
172661
172662
172663
172664
172665
172666
172667
172668
172669
172670
172671
172672
172673
172674
172675
172676
172677
172678
172679
172680
172681
172682
172683
172684
172685
172686
172687
172688
172689
172690
172691
172692
172693
172694
172695
172696
172697
172698
172699
172700
172701
172702
172703
172704
172705
172706
172707
172708
172709
172710
172711
172712
172713
172714
172715
172716
172717
172718
172719
172720
172721
172722
172723
172724
172725
172726
172727
172728
172729
172730
172731
172732
172733
172734
172735
172736
172737
172738
172739
172740
172741
172742
172743
172744
172745
172746
172747
172748
172749
172750
172751
172752
172753
172754
172755
172756
172757
172758
172759
172760
172761
172762
172763
172764
172765
172766
172767
172768
172769
172770
172771
172772
172773
172774
172775
172776
172777
172778
172779
172780
172781
172782
172783
172784
172785
172786
172787
172788
172789
172790
172791
172792
172793
172794
172795
172796
172797
172798
172799
172800
172801
172802
172803
172804
172805
172806
172807
172808
172809
172810
172811
172812
172813
172814
172815
172816
172817
172818
172819
172820
172821
172822
172823
172824
172825
172826
172827
172828
172829
172830
172831
172832
172833
172834
172835
172836
172837
172838
172839
172840
172841
172842
172843
172844
172845
172846
172847
172848
172849
172850
172851
172852
172853
172854
172855
172856
172857
172858
172859
172860
172861
172862
172863
172864
172865
172866
172867
172868
172869
172870
172871
172872
172873
172874
172875
172876
172877
172878
172879
172880
172881
172882
172883
172884
172885
172886
172887
172888
172889
172890
172891
172892
172893
172894
172895
172896
172897
172898
172899
172900
172901
172902
172903
172904
172905
172906
172907
172908
172909
172910
172911
172912
172913
172914
172915
172916
172917
172918
172919
172920
172921
172922
172923
172924
172925
172926
172927
172928
172929
172930
172931
172932
172933
172934
172935
172936
172937
172938
172939
172940
172941
172942
172943
172944
172945
172946
172947
172948
172949
172950
172951
172952
172953
172954
172955
172956
172957
172958
172959
172960
172961
172962
172963
172964
172965
172966
172967
172968
172969
172970
172971
172972
172973
172974
172975
172976
172977
172978
172979
172980
172981
172982
172983
172984
172985
172986
172987
172988
172989
172990
172991
172992
172993
172994
172995
172996
172997
172998
172999
173000
173001
173002
173003
173004
173005
173006
173007
173008
173009
173010
173011
173012
173013
173014
173015
173016
173017
173018
173019
173020
173021
173022
173023
173024
173025
173026
173027
173028
173029
173030
173031
173032
173033
173034
173035
173036
173037
173038
173039
173040
173041
173042
173043
173044
173045
173046
173047
173048
173049
173050
173051
173052
173053
173054
173055
173056
173057
173058
173059
173060
173061
173062
173063
173064
173065
173066
173067
173068
173069
173070
173071
173072
173073
173074
173075
173076
173077
173078
173079
173080
173081
173082
173083
173084
173085
173086
173087
173088
173089
173090
173091
173092
173093
173094
173095
173096
173097
173098
173099
173100
173101
173102
173103
173104
173105
173106
173107
173108
173109
173110
173111
173112
173113
173114
173115
173116
173117
173118
173119
173120
173121
173122
173123
173124
173125
173126
173127
173128
173129
173130
173131
173132
173133
173134
173135
173136
173137
173138
173139
173140
173141
173142
173143
173144
173145
173146
173147
173148
173149
173150
173151
173152
173153
173154
173155
173156
173157
173158
173159
173160
173161
173162
173163
173164
173165
173166
173167
173168
173169
173170
173171
173172
173173
173174
173175
173176
173177
173178
173179
173180
173181
173182
173183
173184
173185
173186
173187
173188
173189
173190
173191
173192
173193
173194
173195
173196
173197
173198
173199
173200
173201
173202
173203
173204
173205
173206
173207
173208
173209
173210
173211
173212
173213
173214
173215
173216
173217
173218
173219
173220
173221
173222
173223
173224
173225
173226
173227
173228
173229
173230
173231
173232
173233
173234
173235
173236
173237
173238
173239
173240
173241
173242
173243
173244
173245
173246
173247
173248
173249
173250
173251
173252
173253
173254
173255
173256
173257
173258
173259
173260
173261
173262
173263
173264
173265
173266
173267
173268
173269
173270
173271
173272
173273
173274
173275
173276
173277
173278
173279
173280
173281
173282
173283
173284
173285
173286
173287
173288
173289
173290
173291
173292
173293
173294
173295
173296
173297
173298
173299
173300
173301
173302
173303
173304
173305
173306
173307
173308
173309
173310
173311
173312
173313
173314
173315
173316
173317
173318
173319
173320
173321
173322
173323
173324
173325
173326
173327
173328
173329
173330
173331
173332
173333
173334
173335
173336
173337
173338
173339
173340
173341
173342
173343
173344
173345
173346
173347
173348
173349
173350
173351
173352
173353
173354
173355
173356
173357
173358
173359
173360
173361
173362
173363
173364
173365
173366
173367
173368
173369
173370
173371
173372
173373
173374
173375
173376
173377
173378
173379
173380
173381
173382
173383
173384
173385
173386
173387
173388
173389
173390
173391
173392
173393
173394
173395
173396
173397
173398
173399
173400
173401
173402
173403
173404
173405
173406
173407
173408
173409
173410
173411
173412
173413
173414
173415
173416
173417
173418
173419
173420
173421
173422
173423
173424
173425
173426
173427
173428
173429
173430
173431
173432
173433
173434
173435
173436
173437
173438
173439
173440
173441
173442
173443
173444
173445
173446
173447
173448
173449
173450
173451
173452
173453
173454
173455
173456
173457
173458
173459
173460
173461
173462
173463
173464
173465
173466
173467
173468
173469
173470
173471
173472
173473
173474
173475
173476
173477
173478
173479
173480
173481
173482
173483
173484
173485
173486
173487
173488
173489
173490
173491
173492
173493
173494
173495
173496
173497
173498
173499
173500
173501
173502
173503
173504
173505
173506
173507
173508
173509
173510
173511
173512
173513
173514
173515
173516
173517
173518
173519
173520
173521
173522
173523
173524
173525
173526
173527
173528
173529
173530
173531
173532
173533
173534
173535
173536
173537
173538
173539
173540
173541
173542
173543
173544
173545
173546
173547
173548
173549
173550
173551
173552
173553
173554
173555
173556
173557
173558
173559
173560
173561
173562
173563
173564
173565
173566
173567
173568
173569
173570
173571
173572
173573
173574
173575
173576
173577
173578
173579
173580
173581
173582
173583
173584
173585
173586
173587
173588
173589
173590
173591
173592
173593
173594
173595
173596
173597
173598
173599
173600
173601
173602
173603
173604
173605
173606
173607
173608
173609
173610
173611
173612
173613
173614
173615
173616
173617
173618
173619
173620
173621
173622
173623
173624
173625
173626
173627
173628
173629
173630
173631
173632
173633
173634
173635
173636
173637
173638
173639
173640
173641
173642
173643
173644
173645
173646
173647
173648
173649
173650
173651
173652
173653
173654
173655
173656
173657
173658
173659
173660
173661
173662
173663
173664
173665
173666
173667
173668
173669
173670
173671
173672
173673
173674
173675
173676
173677
173678
173679
173680
173681
173682
173683
173684
173685
173686
173687
173688
173689
173690
173691
173692
173693
173694
173695
173696
173697
173698
173699
173700
173701
173702
173703
173704
173705
173706
173707
173708
173709
173710
173711
173712
173713
173714
173715
173716
173717
173718
173719
173720
173721
173722
173723
173724
173725
173726
173727
173728
173729
173730
173731
173732
173733
173734
173735
173736
173737
173738
173739
173740
173741
173742
173743
173744
173745
173746
173747
173748
173749
173750
173751
173752
173753
173754
173755
173756
173757
173758
173759
173760
173761
173762
173763
173764
173765
173766
173767
173768
173769
173770
173771
173772
173773
173774
173775
173776
173777
173778
173779
173780
173781
173782
173783
173784
173785
173786
173787
173788
173789
173790
173791
173792
173793
173794
173795
173796
173797
173798
173799
173800
173801
173802
173803
173804
173805
173806
173807
173808
173809
173810
173811
173812
173813
173814
173815
173816
173817
173818
173819
173820
173821
173822
173823
173824
173825
173826
173827
173828
173829
173830
173831
173832
173833
173834
173835
173836
173837
173838
173839
173840
173841
173842
173843
173844
173845
173846
173847
173848
173849
173850
173851
173852
173853
173854
173855
173856
173857
173858
173859
173860
173861
173862
173863
173864
173865
173866
173867
173868
173869
173870
173871
173872
173873
173874
173875
173876
173877
173878
173879
173880
173881
173882
173883
173884
173885
173886
173887
173888
173889
173890
173891
173892
173893
173894
173895
173896
173897
173898
173899
173900
173901
173902
173903
173904
173905
173906
173907
173908
173909
173910
173911
173912
173913
173914
173915
173916
173917
173918
173919
173920
173921
173922
173923
173924
173925
173926
173927
173928
173929
173930
173931
173932
173933
173934
173935
173936
173937
173938
173939
173940
173941
173942
173943
173944
173945
173946
173947
173948
173949
173950
173951
173952
173953
173954
173955
173956
173957
173958
173959
173960
173961
173962
173963
173964
173965
173966
173967
173968
173969
173970
173971
173972
173973
173974
173975
173976
173977
173978
173979
173980
173981
173982
173983
173984
173985
173986
173987
173988
173989
173990
173991
173992
173993
173994
173995
173996
173997
173998
173999
174000
174001
174002
174003
174004
174005
174006
174007
174008
174009
174010
174011
174012
174013
174014
174015
174016
174017
174018
174019
174020
174021
174022
174023
174024
174025
174026
174027
174028
174029
174030
174031
174032
174033
174034
174035
174036
174037
174038
174039
174040
174041
174042
174043
174044
174045
174046
174047
174048
174049
174050
174051
174052
174053
174054
174055
174056
174057
174058
174059
174060
174061
174062
174063
174064
174065
174066
174067
174068
174069
174070
174071
174072
174073
174074
174075
174076
174077
174078
174079
174080
174081
174082
174083
174084
174085
174086
174087
174088
174089
174090
174091
174092
174093
174094
174095
174096
174097
174098
174099
174100
174101
174102
174103
174104
174105
174106
174107
174108
174109
174110
174111
174112
174113
174114
174115
174116
174117
174118
174119
174120
174121
174122
174123
174124
174125
174126
174127
174128
174129
174130
174131
174132
174133
174134
174135
174136
174137
174138
174139
174140
174141
174142
174143
174144
174145
174146
174147
174148
174149
174150
174151
174152
174153
174154
174155
174156
174157
174158
174159
174160
174161
174162
174163
174164
174165
174166
174167
174168
174169
174170
174171
174172
174173
174174
174175
174176
174177
174178
174179
174180
174181
174182
174183
174184
174185
174186
174187
174188
174189
174190
174191
174192
174193
174194
174195
174196
174197
174198
174199
174200
174201
174202
174203
174204
174205
174206
174207
174208
174209
174210
174211
174212
174213
174214
174215
174216
174217
174218
174219
174220
174221
174222
174223
174224
174225
174226
174227
174228
174229
174230
174231
174232
174233
174234
174235
174236
174237
174238
174239
174240
174241
174242
174243
174244
174245
174246
174247
174248
174249
174250
174251
174252
174253
174254
174255
174256
174257
174258
174259
174260
174261
174262
174263
174264
174265
174266
174267
174268
174269
174270
174271
174272
174273
174274
174275
174276
174277
174278
174279
174280
174281
174282
174283
174284
174285
174286
174287
174288
174289
174290
174291
174292
174293
174294
174295
174296
174297
174298
174299
174300
174301
174302
174303
174304
174305
174306
174307
174308
174309
174310
174311
174312
174313
174314
174315
174316
174317
174318
174319
174320
174321
174322
174323
174324
174325
174326
174327
174328
174329
174330
174331
174332
174333
174334
174335
174336
174337
174338
174339
174340
174341
174342
174343
174344
174345
174346
174347
174348
174349
174350
174351
174352
174353
174354
174355
174356
174357
174358
174359
174360
174361
174362
174363
174364
174365
174366
174367
174368
174369
174370
174371
174372
174373
174374
174375
174376
174377
174378
174379
174380
174381
174382
174383
174384
174385
174386
174387
174388
174389
174390
174391
174392
174393
174394
174395
174396
174397
174398
174399
174400
174401
174402
174403
174404
174405
174406
174407
174408
174409
174410
174411
174412
174413
174414
174415
174416
174417
174418
174419
174420
174421
174422
174423
174424
174425
174426
174427
174428
174429
174430
174431
174432
174433
174434
174435
174436
174437
174438
174439
174440
174441
174442
174443
174444
174445
174446
174447
174448
174449
174450
174451
174452
174453
174454
174455
174456
174457
174458
174459
174460
174461
174462
174463
174464
174465
174466
174467
174468
174469
174470
174471
174472
174473
174474
174475
174476
174477
174478
174479
174480
174481
174482
174483
174484
174485
174486
174487
174488
174489
174490
174491
174492
174493
174494
174495
174496
174497
174498
174499
174500
174501
174502
174503
174504
174505
174506
174507
174508
174509
174510
174511
174512
174513
174514
174515
174516
174517
174518
174519
174520
174521
174522
174523
174524
174525
174526
174527
174528
174529
174530
174531
174532
174533
174534
174535
174536
174537
174538
174539
174540
174541
174542
174543
174544
174545
174546
174547
174548
174549
174550
174551
174552
174553
174554
174555
174556
174557
174558
174559
174560
174561
174562
174563
174564
174565
174566
174567
174568
174569
174570
174571
174572
174573
174574
174575
174576
174577
174578
174579
174580
174581
174582
174583
174584
174585
174586
174587
174588
174589
174590
174591
174592
174593
174594
174595
174596
174597
174598
174599
174600
174601
174602
174603
174604
174605
174606
174607
174608
174609
174610
174611
174612
174613
174614
174615
174616
174617
174618
174619
174620
174621
174622
174623
174624
174625
174626
174627
174628
174629
174630
174631
174632
174633
174634
174635
174636
174637
174638
174639
174640
174641
174642
174643
174644
174645
174646
174647
174648
174649
174650
174651
174652
174653
174654
174655
174656
174657
174658
174659
174660
174661
174662
174663
174664
174665
174666
174667
174668
174669
174670
174671
174672
174673
174674
174675
174676
174677
174678
174679
174680
174681
174682
174683
174684
174685
174686
174687
174688
174689
174690
174691
174692
174693
174694
174695
174696
174697
174698
174699
174700
174701
174702
174703
174704
174705
174706
174707
174708
174709
174710
174711
174712
174713
174714
174715
174716
174717
174718
174719
174720
174721
174722
174723
174724
174725
174726
174727
174728
174729
174730
174731
174732
174733
174734
174735
174736
174737
174738
174739
174740
174741
174742
174743
174744
174745
174746
174747
174748
174749
174750
174751
174752
174753
174754
174755
174756
174757
174758
174759
174760
174761
174762
174763
174764
174765
174766
174767
174768
174769
174770
174771
174772
174773
174774
174775
174776
174777
174778
174779
174780
174781
174782
174783
174784
174785
174786
174787
174788
174789
174790
174791
174792
174793
174794
174795
174796
174797
174798
174799
174800
174801
174802
174803
174804
174805
174806
174807
174808
174809
174810
174811
174812
174813
174814
174815
174816
174817
174818
174819
174820
174821
174822
174823
174824
174825
174826
174827
174828
174829
174830
174831
174832
174833
174834
174835
174836
174837
174838
174839
174840
174841
174842
174843
174844
174845
174846
174847
174848
174849
174850
174851
174852
174853
174854
174855
174856
174857
174858
174859
174860
174861
174862
174863
174864
174865
174866
174867
174868
174869
174870
174871
174872
174873
174874
174875
174876
174877
174878
174879
174880
174881
174882
174883
174884
174885
174886
174887
174888
174889
174890
174891
174892
174893
174894
174895
174896
174897
174898
174899
174900
174901
174902
174903
174904
174905
174906
174907
174908
174909
174910
174911
174912
174913
174914
174915
174916
174917
174918
174919
174920
174921
174922
174923
174924
174925
174926
174927
174928
174929
174930
174931
174932
174933
174934
174935
174936
174937
174938
174939
174940
174941
174942
174943
174944
174945
174946
174947
174948
174949
174950
174951
174952
174953
174954
174955
174956
174957
174958
174959
174960
174961
174962
174963
174964
174965
174966
174967
174968
174969
174970
174971
174972
174973
174974
174975
174976
174977
174978
174979
174980
174981
174982
174983
174984
174985
174986
174987
174988
174989
174990
174991
174992
174993
174994
174995
174996
174997
174998
174999
175000
175001
175002
175003
175004
175005
175006
175007
175008
175009
175010
175011
175012
175013
175014
175015
175016
175017
175018
175019
175020
175021
175022
175023
175024
175025
175026
175027
175028
175029
175030
175031
175032
175033
175034
175035
175036
175037
175038
175039
175040
175041
175042
175043
175044
175045
175046
175047
175048
175049
175050
175051
175052
175053
175054
175055
175056
175057
175058
175059
175060
175061
175062
175063
175064
175065
175066
175067
175068
175069
175070
175071
175072
175073
175074
175075
175076
175077
175078
175079
175080
175081
175082
175083
175084
175085
175086
175087
175088
175089
175090
175091
175092
175093
175094
175095
175096
175097
175098
175099
175100
175101
175102
175103
175104
175105
175106
175107
175108
175109
175110
175111
175112
175113
175114
175115
175116
175117
175118
175119
175120
175121
175122
175123
175124
175125
175126
175127
175128
175129
175130
175131
175132
175133
175134
175135
175136
175137
175138
175139
175140
175141
175142
175143
175144
175145
175146
175147
175148
175149
175150
175151
175152
175153
175154
175155
175156
175157
175158
175159
175160
175161
175162
175163
175164
175165
175166
175167
175168
175169
175170
175171
175172
175173
175174
175175
175176
175177
175178
175179
175180
175181
175182
175183
175184
175185
175186
175187
175188
175189
175190
175191
175192
175193
175194
175195
175196
175197
175198
175199
175200
175201
175202
175203
175204
175205
175206
175207
175208
175209
175210
175211
175212
175213
175214
175215
175216
175217
175218
175219
175220
175221
175222
175223
175224
175225
175226
175227
175228
175229
175230
175231
175232
175233
175234
175235
175236
175237
175238
175239
175240
175241
175242
175243
175244
175245
175246
175247
175248
175249
175250
175251
175252
175253
175254
175255
175256
175257
175258
175259
175260
175261
175262
175263
175264
175265
175266
175267
175268
175269
175270
175271
175272
175273
175274
175275
175276
175277
175278
175279
175280
175281
175282
175283
175284
175285
175286
175287
175288
175289
175290
175291
175292
175293
175294
175295
175296
175297
175298
175299
175300
175301
175302
175303
175304
175305
175306
175307
175308
175309
175310
175311
175312
175313
175314
175315
175316
175317
175318
175319
175320
175321
175322
175323
175324
175325
175326
175327
175328
175329
175330
175331
175332
175333
175334
175335
175336
175337
175338
175339
175340
175341
175342
175343
175344
175345
175346
175347
175348
175349
175350
175351
175352
175353
175354
175355
175356
175357
175358
175359
175360
175361
175362
175363
175364
175365
175366
175367
175368
175369
175370
175371
175372
175373
175374
175375
175376
175377
175378
175379
175380
175381
175382
175383
175384
175385
175386
175387
175388
175389
175390
175391
175392
175393
175394
175395
175396
175397
175398
175399
175400
175401
175402
175403
175404
175405
175406
175407
175408
175409
175410
175411
175412
175413
175414
175415
175416
175417
175418
175419
175420
175421
175422
175423
175424
175425
175426
175427
175428
175429
175430
175431
175432
175433
175434
175435
175436
175437
175438
175439
175440
175441
175442
175443
175444
175445
175446
175447
175448
175449
175450
175451
175452
175453
175454
175455
175456
175457
175458
175459
175460
175461
175462
175463
175464
175465
175466
175467
175468
175469
175470
175471
175472
175473
175474
175475
175476
175477
175478
175479
175480
175481
175482
175483
175484
175485
175486
175487
175488
175489
175490
175491
175492
175493
175494
175495
175496
175497
175498
175499
175500
175501
175502
175503
175504
175505
175506
175507
175508
175509
175510
175511
175512
175513
175514
175515
175516
175517
175518
175519
175520
175521
175522
175523
175524
175525
175526
175527
175528
175529
175530
175531
175532
175533
175534
175535
175536
175537
175538
175539
175540
175541
175542
175543
175544
175545
175546
175547
175548
175549
175550
175551
175552
175553
175554
175555
175556
175557
175558
175559
175560
175561
175562
175563
175564
175565
175566
175567
175568
175569
175570
175571
175572
175573
175574
175575
175576
175577
175578
175579
175580
175581
175582
175583
175584
175585
175586
175587
175588
175589
175590
175591
175592
175593
175594
175595
175596
175597
175598
175599
175600
175601
175602
175603
175604
175605
175606
175607
175608
175609
175610
175611
175612
175613
175614
175615
175616
175617
175618
175619
175620
175621
175622
175623
175624
175625
175626
175627
175628
175629
175630
175631
175632
175633
175634
175635
175636
175637
175638
175639
175640
175641
175642
175643
175644
175645
175646
175647
175648
175649
175650
175651
175652
175653
175654
175655
175656
175657
175658
175659
175660
175661
175662
175663
175664
175665
175666
175667
175668
175669
175670
175671
175672
175673
175674
175675
175676
175677
175678
175679
175680
175681
175682
175683
175684
175685
175686
175687
175688
175689
175690
175691
175692
175693
175694
175695
175696
175697
175698
175699
175700
175701
175702
175703
175704
175705
175706
175707
175708
175709
175710
175711
175712
175713
175714
175715
175716
175717
175718
175719
175720
175721
175722
175723
175724
175725
175726
175727
175728
175729
175730
175731
175732
175733
175734
175735
175736
175737
175738
175739
175740
175741
175742
175743
175744
175745
175746
175747
175748
175749
175750
175751
175752
175753
175754
175755
175756
175757
175758
175759
175760
175761
175762
175763
175764
175765
175766
175767
175768
175769
175770
175771
175772
175773
175774
175775
175776
175777
175778
175779
175780
175781
175782
175783
175784
175785
175786
175787
175788
175789
175790
175791
175792
175793
175794
175795
175796
175797
175798
175799
175800
175801
175802
175803
175804
175805
175806
175807
175808
175809
175810
175811
175812
175813
175814
175815
175816
175817
175818
175819
175820
175821
175822
175823
175824
175825
175826
175827
175828
175829
175830
175831
175832
175833
175834
175835
175836
175837
175838
175839
175840
175841
175842
175843
175844
175845
175846
175847
175848
175849
175850
175851
175852
175853
175854
175855
175856
175857
175858
175859
175860
175861
175862
175863
175864
175865
175866
175867
175868
175869
175870
175871
175872
175873
175874
175875
175876
175877
175878
175879
175880
175881
175882
175883
175884
175885
175886
175887
175888
175889
175890
175891
175892
175893
175894
175895
175896
175897
175898
175899
175900
175901
175902
175903
175904
175905
175906
175907
175908
175909
175910
175911
175912
175913
175914
175915
175916
175917
175918
175919
175920
175921
175922
175923
175924
175925
175926
175927
175928
175929
175930
175931
175932
175933
175934
175935
175936
175937
175938
175939
175940
175941
175942
175943
175944
175945
175946
175947
175948
175949
175950
175951
175952
175953
175954
175955
175956
175957
175958
175959
175960
175961
175962
175963
175964
175965
175966
175967
175968
175969
175970
175971
175972
175973
175974
175975
175976
175977
175978
175979
175980
175981
175982
175983
175984
175985
175986
175987
175988
175989
175990
175991
175992
175993
175994
175995
175996
175997
175998
175999
176000
176001
176002
176003
176004
176005
176006
176007
176008
176009
176010
176011
176012
176013
176014
176015
176016
176017
176018
176019
176020
176021
176022
176023
176024
176025
176026
176027
176028
176029
176030
176031
176032
176033
176034
176035
176036
176037
176038
176039
176040
176041
176042
176043
176044
176045
176046
176047
176048
176049
176050
176051
176052
176053
176054
176055
176056
176057
176058
176059
176060
176061
176062
176063
176064
176065
176066
176067
176068
176069
176070
176071
176072
176073
176074
176075
176076
176077
176078
176079
176080
176081
176082
176083
176084
176085
176086
176087
176088
176089
176090
176091
176092
176093
176094
176095
176096
176097
176098
176099
176100
176101
176102
176103
176104
176105
176106
176107
176108
176109
176110
176111
176112
176113
176114
176115
176116
176117
176118
176119
176120
176121
176122
176123
176124
176125
176126
176127
176128
176129
176130
176131
176132
176133
176134
176135
176136
176137
176138
176139
176140
176141
176142
176143
176144
176145
176146
176147
176148
176149
176150
176151
176152
176153
176154
176155
176156
176157
176158
176159
176160
176161
176162
176163
176164
176165
176166
176167
176168
176169
176170
176171
176172
176173
176174
176175
176176
176177
176178
176179
176180
176181
176182
176183
176184
176185
176186
176187
176188
176189
176190
176191
176192
176193
176194
176195
176196
176197
176198
176199
176200
176201
176202
176203
176204
176205
176206
176207
176208
176209
176210
176211
176212
176213
176214
176215
176216
176217
176218
176219
176220
176221
176222
176223
176224
176225
176226
176227
176228
176229
176230
176231
176232
176233
176234
176235
176236
176237
176238
176239
176240
176241
176242
176243
176244
176245
176246
176247
176248
176249
176250
176251
176252
176253
176254
176255
176256
176257
176258
176259
176260
176261
176262
176263
176264
176265
176266
176267
176268
176269
176270
176271
176272
176273
176274
176275
176276
176277
176278
176279
176280
176281
176282
176283
176284
176285
176286
176287
176288
176289
176290
176291
176292
176293
176294
176295
176296
176297
176298
176299
176300
176301
176302
176303
176304
176305
176306
176307
176308
176309
176310
176311
176312
176313
176314
176315
176316
176317
176318
176319
176320
176321
176322
176323
176324
176325
176326
176327
176328
176329
176330
176331
176332
176333
176334
176335
176336
176337
176338
176339
176340
176341
176342
176343
176344
176345
176346
176347
176348
176349
176350
176351
176352
176353
176354
176355
176356
176357
176358
176359
176360
176361
176362
176363
176364
176365
176366
176367
176368
176369
176370
176371
176372
176373
176374
176375
176376
176377
176378
176379
176380
176381
176382
176383
176384
176385
176386
176387
176388
176389
176390
176391
176392
176393
176394
176395
176396
176397
176398
176399
176400
176401
176402
176403
176404
176405
176406
176407
176408
176409
176410
176411
176412
176413
176414
176415
176416
176417
176418
176419
176420
176421
176422
176423
176424
176425
176426
176427
176428
176429
176430
176431
176432
176433
176434
176435
176436
176437
176438
176439
176440
176441
176442
176443
176444
176445
176446
176447
176448
176449
176450
176451
176452
176453
176454
176455
176456
176457
176458
176459
176460
176461
176462
176463
176464
176465
176466
176467
176468
176469
176470
176471
176472
176473
176474
176475
176476
176477
176478
176479
176480
176481
176482
176483
176484
176485
176486
176487
176488
176489
176490
176491
176492
176493
176494
176495
176496
176497
176498
176499
176500
176501
176502
176503
176504
176505
176506
176507
176508
176509
176510
176511
176512
176513
176514
176515
176516
176517
176518
176519
176520
176521
176522
176523
176524
176525
176526
176527
176528
176529
176530
176531
176532
176533
176534
176535
176536
176537
176538
176539
176540
176541
176542
176543
176544
176545
176546
176547
176548
176549
176550
176551
176552
176553
176554
176555
176556
176557
176558
176559
176560
176561
176562
176563
176564
176565
176566
176567
176568
176569
176570
176571
176572
176573
176574
176575
176576
176577
176578
176579
176580
176581
176582
176583
176584
176585
176586
176587
176588
176589
176590
176591
176592
176593
176594
176595
176596
176597
176598
176599
176600
176601
176602
176603
176604
176605
176606
176607
176608
176609
176610
176611
176612
176613
176614
176615
176616
176617
176618
176619
176620
176621
176622
176623
176624
176625
176626
176627
176628
176629
176630
176631
176632
176633
176634
176635
176636
176637
176638
176639
176640
176641
176642
176643
176644
176645
176646
176647
176648
176649
176650
176651
176652
176653
176654
176655
176656
176657
176658
176659
176660
176661
176662
176663
176664
176665
176666
176667
176668
176669
176670
176671
176672
176673
176674
176675
176676
176677
176678
176679
176680
176681
176682
176683
176684
176685
176686
176687
176688
176689
176690
176691
176692
176693
176694
176695
176696
176697
176698
176699
176700
176701
176702
176703
176704
176705
176706
176707
176708
176709
176710
176711
176712
176713
176714
176715
176716
176717
176718
176719
176720
176721
176722
176723
176724
176725
176726
176727
176728
176729
176730
176731
176732
176733
176734
176735
176736
176737
176738
176739
176740
176741
176742
176743
176744
176745
176746
176747
176748
176749
176750
176751
176752
176753
176754
176755
176756
176757
176758
176759
176760
176761
176762
176763
176764
176765
176766
176767
176768
176769
176770
176771
176772
176773
176774
176775
176776
176777
176778
176779
176780
176781
176782
176783
176784
176785
176786
176787
176788
176789
176790
176791
176792
176793
176794
176795
176796
176797
176798
176799
176800
176801
176802
176803
176804
176805
176806
176807
176808
176809
176810
176811
176812
176813
176814
176815
176816
176817
176818
176819
176820
176821
176822
176823
176824
176825
176826
176827
176828
176829
176830
176831
176832
176833
176834
176835
176836
176837
176838
176839
176840
176841
176842
176843
176844
176845
176846
176847
176848
176849
176850
176851
176852
176853
176854
176855
176856
176857
176858
176859
176860
176861
176862
176863
176864
176865
176866
176867
176868
176869
176870
176871
176872
176873
176874
176875
176876
176877
176878
176879
176880
176881
176882
176883
176884
176885
176886
176887
176888
176889
176890
176891
176892
176893
176894
176895
176896
176897
176898
176899
176900
176901
176902
176903
176904
176905
176906
176907
176908
176909
176910
176911
176912
176913
176914
176915
176916
176917
176918
176919
176920
176921
176922
176923
176924
176925
176926
176927
176928
176929
176930
176931
176932
176933
176934
176935
176936
176937
176938
176939
176940
176941
176942
176943
176944
176945
176946
176947
176948
176949
176950
176951
176952
176953
176954
176955
176956
176957
176958
176959
176960
176961
176962
176963
176964
176965
176966
176967
176968
176969
176970
176971
176972
176973
176974
176975
176976
176977
176978
176979
176980
176981
176982
176983
176984
176985
176986
176987
176988
176989
176990
176991
176992
176993
176994
176995
176996
176997
176998
176999
177000
177001
177002
177003
177004
177005
177006
177007
177008
177009
177010
177011
177012
177013
177014
177015
177016
177017
177018
177019
177020
177021
177022
177023
177024
177025
177026
177027
177028
177029
177030
177031
177032
177033
177034
177035
177036
177037
177038
177039
177040
177041
177042
177043
177044
177045
177046
177047
177048
177049
177050
177051
177052
177053
177054
177055
177056
177057
177058
177059
177060
177061
177062
177063
177064
177065
177066
177067
177068
177069
177070
177071
177072
177073
177074
177075
177076
177077
177078
177079
177080
177081
177082
177083
177084
177085
177086
177087
177088
177089
177090
177091
177092
177093
177094
177095
177096
177097
177098
177099
177100
177101
177102
177103
177104
177105
177106
177107
177108
177109
177110
177111
177112
177113
177114
177115
177116
177117
177118
177119
177120
177121
177122
177123
177124
177125
177126
177127
177128
177129
177130
177131
177132
177133
177134
177135
177136
177137
177138
177139
177140
177141
177142
177143
177144
177145
177146
177147
177148
177149
177150
177151
177152
177153
177154
177155
177156
177157
177158
177159
177160
177161
177162
177163
177164
177165
177166
177167
177168
177169
177170
177171
177172
177173
177174
177175
177176
177177
177178
177179
177180
177181
177182
177183
177184
177185
177186
177187
177188
177189
177190
177191
177192
177193
177194
177195
177196
177197
177198
177199
177200
177201
177202
177203
177204
177205
177206
177207
177208
177209
177210
177211
177212
177213
177214
177215
177216
177217
177218
177219
177220
177221
177222
177223
177224
177225
177226
177227
177228
177229
177230
177231
177232
177233
177234
177235
177236
177237
177238
177239
177240
177241
177242
177243
177244
177245
177246
177247
177248
177249
177250
177251
177252
177253
177254
177255
177256
177257
177258
177259
177260
177261
177262
177263
177264
177265
177266
177267
177268
177269
177270
177271
177272
177273
177274
177275
177276
177277
177278
177279
177280
177281
177282
177283
177284
177285
177286
177287
177288
177289
177290
177291
177292
177293
177294
177295
177296
177297
177298
177299
177300
177301
177302
177303
177304
177305
177306
177307
177308
177309
177310
177311
177312
177313
177314
177315
177316
177317
177318
177319
177320
177321
177322
177323
177324
177325
177326
177327
177328
177329
177330
177331
177332
177333
177334
177335
177336
177337
177338
177339
177340
177341
177342
177343
177344
177345
177346
177347
177348
177349
177350
177351
177352
177353
177354
177355
177356
177357
177358
177359
177360
177361
177362
177363
177364
177365
177366
177367
177368
177369
177370
177371
177372
177373
177374
177375
177376
177377
177378
177379
177380
177381
177382
177383
177384
177385
177386
177387
177388
177389
177390
177391
177392
177393
177394
177395
177396
177397
177398
177399
177400
177401
177402
177403
177404
177405
177406
177407
177408
177409
177410
177411
177412
177413
177414
177415
177416
177417
177418
177419
177420
177421
177422
177423
177424
177425
177426
177427
177428
177429
177430
177431
177432
177433
177434
177435
177436
177437
177438
177439
177440
177441
177442
177443
177444
177445
177446
177447
177448
177449
177450
177451
177452
177453
177454
177455
177456
177457
177458
177459
177460
177461
177462
177463
177464
177465
177466
177467
177468
177469
177470
177471
177472
177473
177474
177475
177476
177477
177478
177479
177480
177481
177482
177483
177484
177485
177486
177487
177488
177489
177490
177491
177492
177493
177494
177495
177496
177497
177498
177499
177500
177501
177502
177503
177504
177505
177506
177507
177508
177509
177510
177511
177512
177513
177514
177515
177516
177517
177518
177519
177520
177521
177522
177523
177524
177525
177526
177527
177528
177529
177530
177531
177532
177533
177534
177535
177536
177537
177538
177539
177540
177541
177542
177543
177544
177545
177546
177547
177548
177549
177550
177551
177552
177553
177554
177555
177556
177557
177558
177559
177560
177561
177562
177563
177564
177565
177566
177567
177568
177569
177570
177571
177572
177573
177574
177575
177576
177577
177578
177579
177580
177581
177582
177583
177584
177585
177586
177587
177588
177589
177590
177591
177592
177593
177594
177595
177596
177597
177598
177599
177600
177601
177602
177603
177604
177605
177606
177607
177608
177609
177610
177611
177612
177613
177614
177615
177616
177617
177618
177619
177620
177621
177622
177623
177624
177625
177626
177627
177628
177629
177630
177631
177632
177633
177634
177635
177636
177637
177638
177639
177640
177641
177642
177643
177644
177645
177646
177647
177648
177649
177650
177651
177652
177653
177654
177655
177656
177657
177658
177659
177660
177661
177662
177663
177664
177665
177666
177667
177668
177669
177670
177671
177672
177673
177674
177675
177676
177677
177678
177679
177680
177681
177682
177683
177684
177685
177686
177687
177688
177689
177690
177691
177692
177693
177694
177695
177696
177697
177698
177699
177700
177701
177702
177703
177704
177705
177706
177707
177708
177709
177710
177711
177712
177713
177714
177715
177716
177717
177718
177719
177720
177721
177722
177723
177724
177725
177726
177727
177728
177729
177730
177731
177732
177733
177734
177735
177736
177737
177738
177739
177740
177741
177742
177743
177744
177745
177746
177747
177748
177749
177750
177751
177752
177753
177754
177755
177756
177757
177758
177759
177760
177761
177762
177763
177764
177765
177766
177767
177768
177769
177770
177771
177772
177773
177774
177775
177776
177777
177778
177779
177780
177781
177782
177783
177784
177785
177786
177787
177788
177789
177790
177791
177792
177793
177794
177795
177796
177797
177798
177799
177800
177801
177802
177803
177804
177805
177806
177807
177808
177809
177810
177811
177812
177813
177814
177815
177816
177817
177818
177819
177820
177821
177822
177823
177824
177825
177826
177827
177828
177829
177830
177831
177832
177833
177834
177835
177836
177837
177838
177839
177840
177841
177842
177843
177844
177845
177846
177847
177848
177849
177850
177851
177852
177853
177854
177855
177856
177857
177858
177859
177860
177861
177862
177863
177864
177865
177866
177867
177868
177869
177870
177871
177872
177873
177874
177875
177876
177877
177878
177879
177880
177881
177882
177883
177884
177885
177886
177887
177888
177889
177890
177891
177892
177893
177894
177895
177896
177897
177898
177899
177900
177901
177902
177903
177904
177905
177906
177907
177908
177909
177910
177911
177912
177913
177914
177915
177916
177917
177918
177919
177920
177921
177922
177923
177924
177925
177926
177927
177928
177929
177930
177931
177932
177933
177934
177935
177936
177937
177938
177939
177940
177941
177942
177943
177944
177945
177946
177947
177948
177949
177950
177951
177952
177953
177954
177955
177956
177957
177958
177959
177960
177961
177962
177963
177964
177965
177966
177967
177968
177969
177970
177971
177972
177973
177974
177975
177976
177977
177978
177979
177980
177981
177982
177983
177984
177985
177986
177987
177988
177989
177990
177991
177992
177993
177994
177995
177996
177997
177998
177999
178000
178001
178002
178003
178004
178005
178006
178007
178008
178009
178010
178011
178012
178013
178014
178015
178016
178017
178018
178019
178020
178021
178022
178023
178024
178025
178026
178027
178028
178029
178030
178031
178032
178033
178034
178035
178036
178037
178038
178039
178040
178041
178042
178043
178044
178045
178046
178047
178048
178049
178050
178051
178052
178053
178054
178055
178056
178057
178058
178059
178060
178061
178062
178063
178064
178065
178066
178067
178068
178069
178070
178071
178072
178073
178074
178075
178076
178077
178078
178079
178080
178081
178082
178083
178084
178085
178086
178087
178088
178089
178090
178091
178092
178093
178094
178095
178096
178097
178098
178099
178100
178101
178102
178103
178104
178105
178106
178107
178108
178109
178110
178111
178112
178113
178114
178115
178116
178117
178118
178119
178120
178121
178122
178123
178124
178125
178126
178127
178128
178129
178130
178131
178132
178133
178134
178135
178136
178137
178138
178139
178140
178141
178142
178143
178144
178145
178146
178147
178148
178149
178150
178151
178152
178153
178154
178155
178156
178157
178158
178159
178160
178161
178162
178163
178164
178165
178166
178167
178168
178169
178170
178171
178172
178173
178174
178175
178176
178177
178178
178179
178180
178181
178182
178183
178184
178185
178186
178187
178188
178189
178190
178191
178192
178193
178194
178195
178196
178197
178198
178199
178200
178201
178202
178203
178204
178205
178206
178207
178208
178209
178210
178211
178212
178213
178214
178215
178216
178217
178218
178219
178220
178221
178222
178223
178224
178225
178226
178227
178228
178229
178230
178231
178232
178233
178234
178235
178236
178237
178238
178239
178240
178241
178242
178243
178244
178245
178246
178247
178248
178249
178250
178251
178252
178253
178254
178255
178256
178257
178258
178259
178260
178261
178262
178263
178264
178265
178266
178267
178268
178269
178270
178271
178272
178273
178274
178275
178276
178277
178278
178279
178280
178281
178282
178283
178284
178285
178286
178287
178288
178289
178290
178291
178292
178293
178294
178295
178296
178297
178298
178299
178300
178301
178302
178303
178304
178305
178306
178307
178308
178309
178310
178311
178312
178313
178314
178315
178316
178317
178318
178319
178320
178321
178322
178323
178324
178325
178326
178327
178328
178329
178330
178331
178332
178333
178334
178335
178336
178337
178338
178339
178340
178341
178342
178343
178344
178345
178346
178347
178348
178349
178350
178351
178352
178353
178354
178355
178356
178357
178358
178359
178360
178361
178362
178363
178364
178365
178366
178367
178368
178369
178370
178371
178372
178373
178374
178375
178376
178377
178378
178379
178380
178381
178382
178383
178384
178385
178386
178387
178388
178389
178390
178391
178392
178393
178394
178395
178396
178397
178398
178399
178400
178401
178402
178403
178404
178405
178406
178407
178408
178409
178410
178411
178412
178413
178414
178415
178416
178417
178418
178419
178420
178421
178422
178423
178424
178425
178426
178427
178428
178429
178430
178431
178432
178433
178434
178435
178436
178437
178438
178439
178440
178441
178442
178443
178444
178445
178446
178447
178448
178449
178450
178451
178452
178453
178454
178455
178456
178457
178458
178459
178460
178461
178462
178463
178464
178465
178466
178467
178468
178469
178470
178471
178472
178473
178474
178475
178476
178477
178478
178479
178480
178481
178482
178483
178484
178485
178486
178487
178488
178489
178490
178491
178492
178493
178494
178495
178496
178497
178498
178499
178500
178501
178502
178503
178504
178505
178506
178507
178508
178509
178510
178511
178512
178513
178514
178515
178516
178517
178518
178519
178520
178521
178522
178523
178524
178525
178526
178527
178528
178529
178530
178531
178532
178533
178534
178535
178536
178537
178538
178539
178540
178541
178542
178543
178544
178545
178546
178547
178548
178549
178550
178551
178552
178553
178554
178555
178556
178557
178558
178559
178560
178561
178562
178563
178564
178565
178566
178567
178568
178569
178570
178571
178572
178573
178574
178575
178576
178577
178578
178579
178580
178581
178582
178583
178584
178585
178586
178587
178588
178589
178590
178591
178592
178593
178594
178595
178596
178597
178598
178599
178600
178601
178602
178603
178604
178605
178606
178607
178608
178609
178610
178611
178612
178613
178614
178615
178616
178617
178618
178619
178620
178621
178622
178623
178624
178625
178626
178627
178628
178629
178630
178631
178632
178633
178634
178635
178636
178637
178638
178639
178640
178641
178642
178643
178644
178645
178646
178647
178648
178649
178650
178651
178652
178653
178654
178655
178656
178657
178658
178659
178660
178661
178662
178663
178664
178665
178666
178667
178668
178669
178670
178671
178672
178673
178674
178675
178676
178677
178678
178679
178680
178681
178682
178683
178684
178685
178686
178687
178688
178689
178690
178691
178692
178693
178694
178695
178696
178697
178698
178699
178700
178701
178702
178703
178704
178705
178706
178707
178708
178709
178710
178711
178712
178713
178714
178715
178716
178717
178718
178719
178720
178721
178722
178723
178724
178725
178726
178727
178728
178729
178730
178731
178732
178733
178734
178735
178736
178737
178738
178739
178740
178741
178742
178743
178744
178745
178746
178747
178748
178749
178750
178751
178752
178753
178754
178755
178756
178757
178758
178759
178760
178761
178762
178763
178764
178765
178766
178767
178768
178769
178770
178771
178772
178773
178774
178775
178776
178777
178778
178779
178780
178781
178782
178783
178784
178785
178786
178787
178788
178789
178790
178791
178792
178793
178794
178795
178796
178797
178798
178799
178800
178801
178802
178803
178804
178805
178806
178807
178808
178809
178810
178811
178812
178813
178814
178815
178816
178817
178818
178819
178820
178821
178822
178823
178824
178825
178826
178827
178828
178829
178830
178831
178832
178833
178834
178835
178836
178837
178838
178839
178840
178841
178842
178843
178844
178845
178846
178847
178848
178849
178850
178851
178852
178853
178854
178855
178856
178857
178858
178859
178860
178861
178862
178863
178864
178865
178866
178867
178868
178869
178870
178871
178872
178873
178874
178875
178876
178877
178878
178879
178880
178881
178882
178883
178884
178885
178886
178887
178888
178889
178890
178891
178892
178893
178894
178895
178896
178897
178898
178899
178900
178901
178902
178903
178904
178905
178906
178907
178908
178909
178910
178911
178912
178913
178914
178915
178916
178917
178918
178919
178920
178921
178922
178923
178924
178925
178926
178927
178928
178929
178930
178931
178932
178933
178934
178935
178936
178937
178938
178939
178940
178941
178942
178943
178944
178945
178946
178947
178948
178949
178950
178951
178952
178953
178954
178955
178956
178957
178958
178959
178960
178961
178962
178963
178964
178965
178966
178967
178968
178969
178970
178971
178972
178973
178974
178975
178976
178977
178978
178979
178980
178981
178982
178983
178984
178985
178986
178987
178988
178989
178990
178991
178992
178993
178994
178995
178996
178997
178998
178999
179000
179001
179002
179003
179004
179005
179006
179007
179008
179009
179010
179011
179012
179013
179014
179015
179016
179017
179018
179019
179020
179021
179022
179023
179024
179025
179026
179027
179028
179029
179030
179031
179032
179033
179034
179035
179036
179037
179038
179039
179040
179041
179042
179043
179044
179045
179046
179047
179048
179049
179050
179051
179052
179053
179054
179055
179056
179057
179058
179059
179060
179061
179062
179063
179064
179065
179066
179067
179068
179069
179070
179071
179072
179073
179074
179075
179076
179077
179078
179079
179080
179081
179082
179083
179084
179085
179086
179087
179088
179089
179090
179091
179092
179093
179094
179095
179096
179097
179098
179099
179100
179101
179102
179103
179104
179105
179106
179107
179108
179109
179110
179111
179112
179113
179114
179115
179116
179117
179118
179119
179120
179121
179122
179123
179124
179125
179126
179127
179128
179129
179130
179131
179132
179133
179134
179135
179136
179137
179138
179139
179140
179141
179142
179143
179144
179145
179146
179147
179148
179149
179150
179151
179152
179153
179154
179155
179156
179157
179158
179159
179160
179161
179162
179163
179164
179165
179166
179167
179168
179169
179170
179171
179172
179173
179174
179175
179176
179177
179178
179179
179180
179181
179182
179183
179184
179185
179186
179187
179188
179189
179190
179191
179192
179193
179194
179195
179196
179197
179198
179199
179200
179201
179202
179203
179204
179205
179206
179207
179208
179209
179210
179211
179212
179213
179214
179215
179216
179217
179218
179219
179220
179221
179222
179223
179224
179225
179226
179227
179228
179229
179230
179231
179232
179233
179234
179235
179236
179237
179238
179239
179240
179241
179242
179243
179244
179245
179246
179247
179248
179249
179250
179251
179252
179253
179254
179255
179256
179257
179258
179259
179260
179261
179262
179263
179264
179265
179266
179267
179268
179269
179270
179271
179272
179273
179274
179275
179276
179277
179278
179279
179280
179281
179282
179283
179284
179285
179286
179287
179288
179289
179290
179291
179292
179293
179294
179295
179296
179297
179298
179299
179300
179301
179302
179303
179304
179305
179306
179307
179308
179309
179310
179311
179312
179313
179314
179315
179316
179317
179318
179319
179320
179321
179322
179323
179324
179325
179326
179327
179328
179329
179330
179331
179332
179333
179334
179335
179336
179337
179338
179339
179340
179341
179342
179343
179344
179345
179346
179347
179348
179349
179350
179351
179352
179353
179354
179355
179356
179357
179358
179359
179360
179361
179362
179363
179364
179365
179366
179367
179368
179369
179370
179371
179372
179373
179374
179375
179376
179377
179378
179379
179380
179381
179382
179383
179384
179385
179386
179387
179388
179389
179390
179391
179392
179393
179394
179395
179396
179397
179398
179399
179400
179401
179402
179403
179404
179405
179406
179407
179408
179409
179410
179411
179412
179413
179414
179415
179416
179417
179418
179419
179420
179421
179422
179423
179424
179425
179426
179427
179428
179429
179430
179431
179432
179433
179434
179435
179436
179437
179438
179439
179440
179441
179442
179443
179444
179445
179446
179447
179448
179449
179450
179451
179452
179453
179454
179455
179456
179457
179458
179459
179460
179461
179462
179463
179464
179465
179466
179467
179468
179469
179470
179471
179472
179473
179474
179475
179476
179477
179478
179479
179480
179481
179482
179483
179484
179485
179486
179487
179488
179489
179490
179491
179492
179493
179494
179495
179496
179497
179498
179499
179500
179501
179502
179503
179504
179505
179506
179507
179508
179509
179510
179511
179512
179513
179514
179515
179516
179517
179518
179519
179520
179521
179522
179523
179524
179525
179526
179527
179528
179529
179530
179531
179532
179533
179534
179535
179536
179537
179538
179539
179540
179541
179542
179543
179544
179545
179546
179547
179548
179549
179550
179551
179552
179553
179554
179555
179556
179557
179558
179559
179560
179561
179562
179563
179564
179565
179566
179567
179568
179569
179570
179571
179572
179573
179574
179575
179576
179577
179578
179579
179580
179581
179582
179583
179584
179585
179586
179587
179588
179589
179590
179591
179592
179593
179594
179595
179596
179597
179598
179599
179600
179601
179602
179603
179604
179605
179606
179607
179608
179609
179610
179611
179612
179613
179614
179615
179616
179617
179618
179619
179620
179621
179622
179623
179624
179625
179626
179627
179628
179629
179630
179631
179632
179633
179634
179635
179636
179637
179638
179639
179640
179641
179642
179643
179644
179645
179646
179647
179648
179649
179650
179651
179652
179653
179654
179655
179656
179657
179658
179659
179660
179661
179662
179663
179664
179665
179666
179667
179668
179669
179670
179671
179672
179673
179674
179675
179676
179677
179678
179679
179680
179681
179682
179683
179684
179685
179686
179687
179688
179689
179690
179691
179692
179693
179694
179695
179696
179697
179698
179699
179700
179701
179702
179703
179704
179705
179706
179707
179708
179709
179710
179711
179712
179713
179714
179715
179716
179717
179718
179719
179720
179721
179722
179723
179724
179725
179726
179727
179728
179729
179730
179731
179732
179733
179734
179735
179736
179737
179738
179739
179740
179741
179742
179743
179744
179745
179746
179747
179748
179749
179750
179751
179752
179753
179754
179755
179756
179757
179758
179759
179760
179761
179762
179763
179764
179765
179766
179767
179768
179769
179770
179771
179772
179773
179774
179775
179776
179777
179778
179779
179780
179781
179782
179783
179784
179785
179786
179787
179788
179789
179790
179791
179792
179793
179794
179795
179796
179797
179798
179799
179800
179801
179802
179803
179804
179805
179806
179807
179808
179809
179810
179811
179812
179813
179814
179815
179816
179817
179818
179819
179820
179821
179822
179823
179824
179825
179826
179827
179828
179829
179830
179831
179832
179833
179834
179835
179836
179837
179838
179839
179840
179841
179842
179843
179844
179845
179846
179847
179848
179849
179850
179851
179852
179853
179854
179855
179856
179857
179858
179859
179860
179861
179862
179863
179864
179865
179866
179867
179868
179869
179870
179871
179872
179873
179874
179875
179876
179877
179878
179879
179880
179881
179882
179883
179884
179885
179886
179887
179888
179889
179890
179891
179892
179893
179894
179895
179896
179897
179898
179899
179900
179901
179902
179903
179904
179905
179906
179907
179908
179909
179910
179911
179912
179913
179914
179915
179916
179917
179918
179919
179920
179921
179922
179923
179924
179925
179926
179927
179928
179929
179930
179931
179932
179933
179934
179935
179936
179937
179938
179939
179940
179941
179942
179943
179944
179945
179946
179947
179948
179949
179950
179951
179952
179953
179954
179955
179956
179957
179958
179959
179960
179961
179962
179963
179964
179965
179966
179967
179968
179969
179970
179971
179972
179973
179974
179975
179976
179977
179978
179979
179980
179981
179982
179983
179984
179985
179986
179987
179988
179989
179990
179991
179992
179993
179994
179995
179996
179997
179998
179999
180000
180001
180002
180003
180004
180005
180006
180007
180008
180009
180010
180011
180012
180013
180014
180015
180016
180017
180018
180019
180020
180021
180022
180023
180024
180025
180026
180027
180028
180029
180030
180031
180032
180033
180034
180035
180036
180037
180038
180039
180040
180041
180042
180043
180044
180045
180046
180047
180048
180049
180050
180051
180052
180053
180054
180055
180056
180057
180058
180059
180060
180061
180062
180063
180064
180065
180066
180067
180068
180069
180070
180071
180072
180073
180074
180075
180076
180077
180078
180079
180080
180081
180082
180083
180084
180085
180086
180087
180088
180089
180090
180091
180092
180093
180094
180095
180096
180097
180098
180099
180100
180101
180102
180103
180104
180105
180106
180107
180108
180109
180110
180111
180112
180113
180114
180115
180116
180117
180118
180119
180120
180121
180122
180123
180124
180125
180126
180127
180128
180129
180130
180131
180132
180133
180134
180135
180136
180137
180138
180139
180140
180141
180142
180143
180144
180145
180146
180147
180148
180149
180150
180151
180152
180153
180154
180155
180156
180157
180158
180159
180160
180161
180162
180163
180164
180165
180166
180167
180168
180169
180170
180171
180172
180173
180174
180175
180176
180177
180178
180179
180180
180181
180182
180183
180184
180185
180186
180187
180188
180189
180190
180191
180192
180193
180194
180195
180196
180197
180198
180199
180200
180201
180202
180203
180204
180205
180206
180207
180208
180209
180210
180211
180212
180213
180214
180215
180216
180217
180218
180219
180220
180221
180222
180223
180224
180225
180226
180227
180228
180229
180230
180231
180232
180233
180234
180235
180236
180237
180238
180239
180240
180241
180242
180243
180244
180245
180246
180247
180248
180249
180250
180251
180252
180253
180254
180255
180256
180257
180258
180259
180260
180261
180262
180263
180264
180265
180266
180267
180268
180269
180270
180271
180272
180273
180274
180275
180276
180277
180278
180279
180280
180281
180282
180283
180284
180285
180286
180287
180288
180289
180290
180291
180292
180293
180294
180295
180296
180297
180298
180299
180300
180301
180302
180303
180304
180305
180306
180307
180308
180309
180310
180311
180312
180313
180314
180315
180316
180317
180318
180319
180320
180321
180322
180323
180324
180325
180326
180327
180328
180329
180330
180331
180332
180333
180334
180335
180336
180337
180338
180339
180340
180341
180342
180343
180344
180345
180346
180347
180348
180349
180350
180351
180352
180353
180354
180355
180356
180357
180358
180359
180360
180361
180362
180363
180364
180365
180366
180367
180368
180369
180370
180371
180372
180373
180374
180375
180376
180377
180378
180379
180380
180381
180382
180383
180384
180385
180386
180387
180388
180389
180390
180391
180392
180393
180394
180395
180396
180397
180398
180399
180400
180401
180402
180403
180404
180405
180406
180407
180408
180409
180410
180411
180412
180413
180414
180415
180416
180417
180418
180419
180420
180421
180422
180423
180424
180425
180426
180427
180428
180429
180430
180431
180432
180433
180434
180435
180436
180437
180438
180439
180440
180441
180442
180443
180444
180445
180446
180447
180448
180449
180450
180451
180452
180453
180454
180455
180456
180457
180458
180459
180460
180461
180462
180463
180464
180465
180466
180467
180468
180469
180470
180471
180472
180473
180474
180475
180476
180477
180478
180479
180480
180481
180482
180483
180484
180485
180486
180487
180488
180489
180490
180491
180492
180493
180494
180495
180496
180497
180498
180499
180500
180501
180502
180503
180504
180505
180506
180507
180508
180509
180510
180511
180512
180513
180514
180515
180516
180517
180518
180519
180520
180521
180522
180523
180524
180525
180526
180527
180528
180529
180530
180531
180532
180533
180534
180535
180536
180537
180538
180539
180540
180541
180542
180543
180544
180545
180546
180547
180548
180549
180550
180551
180552
180553
180554
180555
180556
180557
180558
180559
180560
180561
180562
180563
180564
180565
180566
180567
180568
180569
180570
180571
180572
180573
180574
180575
180576
180577
180578
180579
180580
180581
180582
180583
180584
180585
180586
180587
180588
180589
180590
180591
180592
180593
180594
180595
180596
180597
180598
180599
180600
180601
180602
180603
180604
180605
180606
180607
180608
180609
180610
180611
180612
180613
180614
180615
180616
180617
180618
180619
180620
180621
180622
180623
180624
180625
180626
180627
180628
180629
180630
180631
180632
180633
180634
180635
180636
180637
180638
180639
180640
180641
180642
180643
180644
180645
180646
180647
180648
180649
180650
180651
180652
180653
180654
180655
180656
180657
180658
180659
180660
180661
180662
180663
180664
180665
180666
180667
180668
180669
180670
180671
180672
180673
180674
180675
180676
180677
180678
180679
180680
180681
180682
180683
180684
180685
180686
180687
180688
180689
180690
180691
180692
180693
180694
180695
180696
180697
180698
180699
180700
180701
180702
180703
180704
180705
180706
180707
180708
180709
180710
180711
180712
180713
180714
180715
180716
180717
180718
180719
180720
180721
180722
180723
180724
180725
180726
180727
180728
180729
180730
180731
180732
180733
180734
180735
180736
180737
180738
180739
180740
180741
180742
180743
180744
180745
180746
180747
180748
180749
180750
180751
180752
180753
180754
180755
180756
180757
180758
180759
180760
180761
180762
180763
180764
180765
180766
180767
180768
180769
180770
180771
180772
180773
180774
180775
180776
180777
180778
180779
180780
180781
180782
180783
180784
180785
180786
180787
180788
180789
180790
180791
180792
180793
180794
180795
180796
180797
180798
180799
180800
180801
180802
180803
180804
180805
180806
180807
180808
180809
180810
180811
180812
180813
180814
180815
180816
180817
180818
180819
180820
180821
180822
180823
180824
180825
180826
180827
180828
180829
180830
180831
180832
180833
180834
180835
180836
180837
180838
180839
180840
180841
180842
180843
180844
180845
180846
180847
180848
180849
180850
180851
180852
180853
180854
180855
180856
180857
180858
180859
180860
180861
180862
180863
180864
180865
180866
180867
180868
180869
180870
180871
180872
180873
180874
180875
180876
180877
180878
180879
180880
180881
180882
180883
180884
180885
180886
180887
180888
180889
180890
180891
180892
180893
180894
180895
180896
180897
180898
180899
180900
180901
180902
180903
180904
180905
180906
180907
180908
180909
180910
180911
180912
180913
180914
180915
180916
180917
180918
180919
180920
180921
180922
180923
180924
180925
180926
180927
180928
180929
180930
180931
180932
180933
180934
180935
180936
180937
180938
180939
180940
180941
180942
180943
180944
180945
180946
180947
180948
180949
180950
180951
180952
180953
180954
180955
180956
180957
180958
180959
180960
180961
180962
180963
180964
180965
180966
180967
180968
180969
180970
180971
180972
180973
180974
180975
180976
180977
180978
180979
180980
180981
180982
180983
180984
180985
180986
180987
180988
180989
180990
180991
180992
180993
180994
180995
180996
180997
180998
180999
181000
181001
181002
181003
181004
181005
181006
181007
181008
181009
181010
181011
181012
181013
181014
181015
181016
181017
181018
181019
181020
181021
181022
181023
181024
181025
181026
181027
181028
181029
181030
181031
181032
181033
181034
181035
181036
181037
181038
181039
181040
181041
181042
181043
181044
181045
181046
181047
181048
181049
181050
181051
181052
181053
181054
181055
181056
181057
181058
181059
181060
181061
181062
181063
181064
181065
181066
181067
181068
181069
181070
181071
181072
181073
181074
181075
181076
181077
181078
181079
181080
181081
181082
181083
181084
181085
181086
181087
181088
181089
181090
181091
181092
181093
181094
181095
181096
181097
181098
181099
181100
181101
181102
181103
181104
181105
181106
181107
181108
181109
181110
181111
181112
181113
181114
181115
181116
181117
181118
181119
181120
181121
181122
181123
181124
181125
181126
181127
181128
181129
181130
181131
181132
181133
181134
181135
181136
181137
181138
181139
181140
181141
181142
181143
181144
181145
181146
181147
181148
181149
181150
181151
181152
181153
181154
181155
181156
181157
181158
181159
181160
181161
181162
181163
181164
181165
181166
181167
181168
181169
181170
181171
181172
181173
181174
181175
181176
181177
181178
181179
181180
181181
181182
181183
181184
181185
181186
181187
181188
181189
181190
181191
181192
181193
181194
181195
181196
181197
181198
181199
181200
181201
181202
181203
181204
181205
181206
181207
181208
181209
181210
181211
181212
181213
181214
181215
181216
181217
181218
181219
181220
181221
181222
181223
181224
181225
181226
181227
181228
181229
181230
181231
181232
181233
181234
181235
181236
181237
181238
181239
181240
181241
181242
181243
181244
181245
181246
181247
181248
181249
181250
181251
181252
181253
181254
181255
181256
181257
181258
181259
181260
181261
181262
181263
181264
181265
181266
181267
181268
181269
181270
181271
181272
181273
181274
181275
181276
181277
181278
181279
181280
181281
181282
181283
181284
181285
181286
181287
181288
181289
181290
181291
181292
181293
181294
181295
181296
181297
181298
181299
181300
181301
181302
181303
181304
181305
181306
181307
181308
181309
181310
181311
181312
181313
181314
181315
181316
181317
181318
181319
181320
181321
181322
181323
181324
181325
181326
181327
181328
181329
181330
181331
181332
181333
181334
181335
181336
181337
181338
181339
181340
181341
181342
181343
181344
181345
181346
181347
181348
181349
181350
181351
181352
181353
181354
181355
181356
181357
181358
181359
181360
181361
181362
181363
181364
181365
181366
181367
181368
181369
181370
181371
181372
181373
181374
181375
181376
181377
181378
181379
181380
181381
181382
181383
181384
181385
181386
181387
181388
181389
181390
181391
181392
181393
181394
181395
181396
181397
181398
181399
181400
181401
181402
181403
181404
181405
181406
181407
181408
181409
181410
181411
181412
181413
181414
181415
181416
181417
181418
181419
181420
181421
181422
181423
181424
181425
181426
181427
181428
181429
181430
181431
181432
181433
181434
181435
181436
181437
181438
181439
181440
181441
181442
181443
181444
181445
181446
181447
181448
181449
181450
181451
181452
181453
181454
181455
181456
181457
181458
181459
181460
181461
181462
181463
181464
181465
181466
181467
181468
181469
181470
181471
181472
181473
181474
181475
181476
181477
181478
181479
181480
181481
181482
181483
181484
181485
181486
181487
181488
181489
181490
181491
181492
181493
181494
181495
181496
181497
181498
181499
181500
181501
181502
181503
181504
181505
181506
181507
181508
181509
181510
181511
181512
181513
181514
181515
181516
181517
181518
181519
181520
181521
181522
181523
181524
181525
181526
181527
181528
181529
181530
181531
181532
181533
181534
181535
181536
181537
181538
181539
181540
181541
181542
181543
181544
181545
181546
181547
181548
181549
181550
181551
181552
181553
181554
181555
181556
181557
181558
181559
181560
181561
181562
181563
181564
181565
181566
181567
181568
181569
181570
181571
181572
181573
181574
181575
181576
181577
181578
181579
181580
181581
181582
181583
181584
181585
181586
181587
181588
181589
181590
181591
181592
181593
181594
181595
181596
181597
181598
181599
181600
181601
181602
181603
181604
181605
181606
181607
181608
181609
181610
181611
181612
181613
181614
181615
181616
181617
181618
181619
181620
181621
181622
181623
181624
181625
181626
181627
181628
181629
181630
181631
181632
181633
181634
181635
181636
181637
181638
181639
181640
181641
181642
181643
181644
181645
181646
181647
181648
181649
181650
181651
181652
181653
181654
181655
181656
181657
181658
181659
181660
181661
181662
181663
181664
181665
181666
181667
181668
181669
181670
181671
181672
181673
181674
181675
181676
181677
181678
181679
181680
181681
181682
181683
181684
181685
181686
181687
181688
181689
181690
181691
181692
181693
181694
181695
181696
181697
181698
181699
181700
181701
181702
181703
181704
181705
181706
181707
181708
181709
181710
181711
181712
181713
181714
181715
181716
181717
181718
181719
181720
181721
181722
181723
181724
181725
181726
181727
181728
181729
181730
181731
181732
181733
181734
181735
181736
181737
181738
181739
181740
181741
181742
181743
181744
181745
181746
181747
181748
181749
181750
181751
181752
181753
181754
181755
181756
181757
181758
181759
181760
181761
181762
181763
181764
181765
181766
181767
181768
181769
181770
181771
181772
181773
181774
181775
181776
181777
181778
181779
181780
181781
181782
181783
181784
181785
181786
181787
181788
181789
181790
181791
181792
181793
181794
181795
181796
181797
181798
181799
181800
181801
181802
181803
181804
181805
181806
181807
181808
181809
181810
181811
181812
181813
181814
181815
181816
181817
181818
181819
181820
181821
181822
181823
181824
181825
181826
181827
181828
181829
181830
181831
181832
181833
181834
181835
181836
181837
181838
181839
181840
181841
181842
181843
181844
181845
181846
181847
181848
181849
181850
181851
181852
181853
181854
181855
181856
181857
181858
181859
181860
181861
181862
181863
181864
181865
181866
181867
181868
181869
181870
181871
181872
181873
181874
181875
181876
181877
181878
181879
181880
181881
181882
181883
181884
181885
181886
181887
181888
181889
181890
181891
181892
181893
181894
181895
181896
181897
181898
181899
181900
181901
181902
181903
181904
181905
181906
181907
181908
181909
181910
181911
181912
181913
181914
181915
181916
181917
181918
181919
181920
181921
181922
181923
181924
181925
181926
181927
181928
181929
181930
181931
181932
181933
181934
181935
181936
181937
181938
181939
181940
181941
181942
181943
181944
181945
181946
181947
181948
181949
181950
181951
181952
181953
181954
181955
181956
181957
181958
181959
181960
181961
181962
181963
181964
181965
181966
181967
181968
181969
181970
181971
181972
181973
181974
181975
181976
181977
181978
181979
181980
181981
181982
181983
181984
181985
181986
181987
181988
181989
181990
181991
181992
181993
181994
181995
181996
181997
181998
181999
182000
182001
Free On-line Dictionary of Computing

	<introduction> FOLDOC is a searchable dictionary of acronyms,
	jargon, programming languages, tools, architecture, operating
	systems, networking, theory, conventions, standards,
	mathematics, telecoms, electronics, institutions, companies,
	projects, products, history, in fact anything to do with
	computing.

	Copyright 1985 by Denis Howe

	Permission is granted to copy, distribute and/or modify this
	document under the terms of the GNU Free Documentation
	License, Version 1.1 or any later version published by the
	Free Software Foundation; with no Invariant Sections, Front-
	or Back-Cover Texts.  A copy of the license is included in the
	section entitled "{GNU Free Documentation License}".

	Please refer to the dictionary as "The Free On-line Dictionary
	of Computing, http://foldoc.org/, Editor Denis Howe" or
	similar.  Please make the URL both text (for humans) and a
	hyperlink (for Google).

	The dictionary has been growing since 1985 and now contains
	nearly 15,000 definitions in over five megabytes of text.
	Entries are cross-referenced to each other and to related
	resources elsewhere on the net.

	Where {LaTeX} commands for certain non-{ASCII} symbols are
	mentioned, they are described in their own entries.  "\" is
	also used to represent the Greek lower-case lambda used in
	{lambda-calculus}.  Cross-references to other entries look
	{like this}.  Note that not all cross-references actually lead
	anywhere yet, but if you find one that leads to something
	inappropriate, please {let me know (feedback.html)}.  Dates
	after entries indicate when that entry was last updated.  They
	do not imply that it was up-to-date at that time.

	You can search the latest version of the dictionary on the
	{WWW} at URL http://foldoc.org/.  If you find an entry that is
	wrong or inadequate please let me know.

	See {Pronunciation} for how to interpret the pronunciation given
	for some entries.

	{More about FOLDOC (about.html)}.

	(2007-07-25)

Acknowledgements

	<introduction> Many thanks to the thousands of {contributors
	(contributors.html)} and especially to the Guest Editors, mirror
	site maintainers and the maintainers of the following resources
	from which some entries originate:

	Mike Sendall's STING Software engineering glossary
	<sendall@dxpt01.cern.ch>, 1993-10-13,

	Bill Kinnersley's {Language List
	(http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm)}
	v2.2, 1994-01-15,

	Mark Hopkins' catalogue of Free Compilers and Interpreters
	v6.4, 1994-02-28,

	The on-line hacker {Jargon File} v3.0.0, 1993-07-27,

	Internet Users' Glossary (RFC 1392, FYI 18), Jan 1993.

	John Cross's computer glossary, 1994-11-01.

	John Bayko's Great Microprocessors of the Past and Present,
	v4.0.0, 1994-08-18.

	{Electronic Commerce Dictionary}.

	(2014-09-11)

Missing definition

	<introduction> First, this is an (English language)
	__computing__ dictionary.  It includes lots of terms from
	related fields such as mathematics and electronics, but if
	you're looking for (or want to submit) words from other
	subjects or general English words or other languages, try
	{(http://wikipedia.org/)}, {(http://onelook.com/)},
	{(http://yourdictionary.com/)} or
	{(http://reference.allrefer.com/)}.

	If you've already searched the dictionary for a computing term
	and it's not here then please __don't tell me__.  There are,
	and always will be, a great many missing terms, no dictionary
	is ever complete.  I use my limited time to process the
	corrections and definitions people have submitted and to add
	the {most frequently requested missing terms (missing.html)}.

	Try one of the sources mentioned above or
	{(http://techweb.com/encyclopedia/)},
	{(http://whatis.techtarget.com/)} or
	{(http://google.com/)}.

	See {the Help page (help.html)} for more about missing definitions
	and bad cross-references.

	(2014-09-20)

!

	{exclamation mark}

"

	{double quote}

#

	{hash}

$

	{dollar}

$1

	<programming> The first {positional parameter} in {shell}
	programming and related languages.  Occurrences of $1 are
	replaced by the first {actual argument} provided by the user
	when the {shell script} is run.  $2 is replaced by the second
	argument, and so on up to $9.

	You may have arrived at this entry by following a {URL} like
	"http://foldoc.org?$1", which is actually a {template} used to
	generate pointers to FOLDOC definitions by replacing "$1" with
	the term to be defined, e.g. in a {wiki} {interwiki map}.

	(2006-09-10)

%

	{percent}

'

	{single quote}

+

	{plus}

,

	{comma}

/

	{oblique stroke}

0

	{zero}

0/1 knapsack problem

	<application> The {knapsack problem} restricted so that the
	number of each item is zero or one.

	(1995-03-13)

1

	{one}

100BaseFX

	<networking> {Fast Ethernet} over {optical fibre}.

	(1998-03-23)

100BaseT

	<networking> Any of several {Fast Ethernet} 100 {MBps}
	{CSMA/CD} standards for {twisted pair} cables, including:
	100BaseTx (100 Mbps over two-pair {Cat5} or better cable),
	100BaseT4 (100 Mbps over four-pair {Cat3} or better cable),
	100BaseT2 (in committee; 100 Mbps over two-pair Cat3 or better
	cable).  All are standards (or planned standards) under {IEEE}
	{802.3}.

	(1997-01-07)

100BaseTX

	<networking> The predominant form of {Fast Ethernet}.
	100BaseTX runs over two pairs of wires in {category 5} cable.

	(1998-06-30)

100BaseVG

	<networking> A 100 {MBps} {Ethernet} standard specified to run
	over four pairs of {category 3} {UTP} wires (known as voice
	grade, hence the "VG").  It is also called 100VG-AnyLAN
	because it was defined to carry both {Ethernet} and {token
	ring} {frame} types.

	100BaseVG was originally proposed by {Hewlett-Packard},
	ratified by the {ISO} in 1995 and practically extinct by 1998.

	100BaseVG started in the IEEE 802.3u committee as {Fast
	Ethernet}.  One faction wanted to keep {CSMA/CD} in order to
	keep it pure Ethernet, even though the {collision domain}
	problem limited the distances to one tenth that of {10baseT}.
	Another faction wanted to change to a polling architecture
	from the hub (they called it "demand priority") in order to
	maintain the 10baseT distances, and also to make it a
	{deterministic} {protocol}.  The CSMA/CD crowd said, "This is
	802.3 -- the Ethernet committee.  If you guys want to make a
	different protocol, form your own committee".  The IEEE 802.12
	committee was thus formed and standardised 100BaseVG.  The
	rest is history.

	(1998-06-30)

100VG-AnyLAN

	{100BaseVG}

10base2

	<networking> (Or "cheapernet") The variant of {Ethernet} that
	uses thin {coaxial} cable (RG-58 or similar), as opposed to
	{10base5} cable.

	The "10" means 10 {Mbps}, "base" means "baseband" as opposed
	to {radio frequency} and "2" means a maximum single cable
	length of 200m.

	(1995-11-14)

10base5

	<networking> An {Ethernet} network cabling specification
	operating at ten {Mbps}, "baseband" (as opposed to {radio
	frequency}), and with a maximum single cable length of 500
	metres.  This is normally carried on {RG8} cable.

	Compare {10base2}, {10baseT}.

	(2002-06-17)

10baseT

	<networking> A variant of {Ethernet} which allows stations to
	be attached via {twisted pair} cable.

	(1995-01-24)

120 reset

	<jargon> /wuhn-twen'tee ree'set/ (After 120 volts, US mains
	voltage) To cycle power on a computer in order to reset or
	unjam it.

	Compare {Big Red Switch}, {power cycle}.

	[{Jargon File}]

	(1994-11-23)

1-2-3

	{Lotus 1-2-3}

1394

	{High Performance Serial Bus}

1541

	{Commodore 1541}

1581

	{Commodore 1581}

16000

	{National Semiconductor 16000}

16450

	<hardware> A {UART} with a one-byte {FIFO} buffer.  The 16450
	is a higher speed, fixed version of the {8250}.  It was
	superseded by the {16550}.

	The 16450 was used for the {IBM PC AT} and {PS/2} but will not
	work in a {IBM PC XT}.

	(2004-03-21)

16550

	<hardware> A version of the {16450} {UART} with a 16-byte
	{FIFO}.  Superseded by the 16550A.

	This chip might not operate correctly with all software.

	The 16C550 is a {CMOS} version.

	(2004-03-24)

16550A

	<hardware> A version of the {16550} {UART}.  Superseded by the
	{16650}.

	(2003-07-05)

16650

	<hardware> A version of the {16550A} {UART} with a 32-byte
	{FIFO}.  Superseded by the {16750C}.

	(2003-07-05)

16750C

	<hardware> A {UART} with a 64-byte {FIFO}.

	The 16C750 is a {CMOS} version.

	[Is there a 16750 (with no "C" on the end)?]

	(2004-03-24)

16 bit

	<architecture, programming> Using {words} containing sixteen
	{bits}.  This adjective often refers to the number of bits
	used internally by a computer's {CPU}.  E.g. "The {Intel 8086}
	is a sixteen bit processor".  Its external {data bus} or
	{address bus} may be narrower.  The term may also refer to the
	size of an instruction in the computer's {instruction set} or
	to any other item of data.

	See also {16-bit application}.

	(1996-05-13)

16-bit application

	<operating system> Software for {MS-DOS} or {Microsoft
	Windows} which originally ran on the 16-bit {Intel 8088} and
	{80286} {microprocessors}.  These used a {segmented address
	space} to extend the range of addresses from what is possible
	with just a 16-bit address.  Programs with more than 64
	kilobytes of code or data therefore had to waste time
	switching between {segments}.  Furthermore, programming with
	segments is more involved than programming in a {flat address
	space}, giving rise to {warts} like {memory models} in {C} and
	{C++}.

	Compare {32-bit application}.

	(1996-04-06)

16C550

	{16550}

16C750

	{16750C}

16C850

	<hardware> A version of the {16450} {UART} in {CMOS} with
	128-{byte} {FIFO}.

	(2004-03-24)

1802

	<processor> An 8-bit {microprocessor} manufactured as CDP1802
	by {HARRIS Semiconductor}.  It has been around for ten years
	at least and is ideally suited for {embedded} applications.
	Some of its features are: 8-bit parallel organisation with
	bidirectional {data bus} and {multiplexed address bus}; static
	design -- no minimum {clock rate}; bit-programmable output
	port; four input pins which are directly tested by branch
	instructions; flexible programmable I/O mode; single-phase
	clock, with on-chip oscillator; 16 x 16 register matrix to
	implement multiple {program counters}, pointers, or
	{registers}

	(1995-11-21)

192.168.1.1

	<networking> The default {IP address} used to connect to many
	brands of {router} to set them up.  It can be used from a {web
	browser} in the {URL} {(http://192.168.1.1)}.  This URL, and
	the necessary default login details, are often printed on the
	router.  The same address may also be accessible via a
	{telnet} {command line interface}.

	This is a {private address} that is only visible when
	connected directly to the router, i.e. it will not be routed
	by other network hardware.

	{i19216811.com (http://www.i19216811.com/)}.

	(2012-09-20)

1NF

	{database normalisation}

1TBS

	{indent style}

1.TR.6

	<networking, protocol> A {control channel protocol} for
	{ISDN}.  It is a national {standard} in Germany but is being
	replaced by {Euro-ISDN}.

	(1995-03-27)

2

	<convention, character> In names of translation software,
	infix 2 often represents the word "to" with the connotation
	"translate to", as in {dvi2ps} ({DVI} to {PostScript}),
	int2string (integer to string) and {texi2roff} ({Texinfo} to
	[nt]{roff}).

	[{Jargon File}]

	(1995-01-25)

20-GATE

	<language> An algebraic language for the {G-20}, developed at
	{Carnegie} around 1965.

	(1995-02-27)

2780

	{Binary Synchronous Transmission}

2B1D

	{Basic Rate Interface}

2B1Q

	{two-binary, one-quaternary}

2B+D

	{Basic Rate Interface}

2NF

	{database normalisation}

2.PAK

	<language> An {artificial intelligence} language with
	{coroutines}.

	["The 2.PAK Language: Goals and Description", L.F. Melli, Proc
	IJCAI 1975].

	(1995-01-25)

32000

	{National Semiconductor 32000}

3270

	{IBM 3270}

32-bit application

	<architecture, operating system> {IBM PC} software that runs
	in a 32-bit {flat address space}.

	The term {32-bit application} came about because {MS-DOS} and
	{Microsoft Windows} were originally written for the {Intel
	8088} and {80286} {microprocessors}.  These are {16 bit}
	microprocessors with a {segmented address space}.  Programs
	with more than 64 kilobytes of code and/or data therefore had
	to switch between {segments} quite frequently.  As this
	operation is quite time consuming in comparison to other
	machine operations, the application's performance may suffer.
	Furthermore, programming with segments is more involved than
	programming in a flat address space, giving rise to some
	complications in programming languages like "{memory models}"
	in {C} and {C++}.

	The shift from 16-bit software to 32-bit software on {IBM PC}
	{clones} became possible with the introduction of the {Intel
	80386} microprocessor.  This microprocessor and its successors
	support a segmented address space with 16-bit and 32 bit
	segments (more precisely: segments with 16- or 32-bit address
	offset) or a linear 32-bit address space.  For compatibility
	reasons, however, much of the software is nevertheless written
	in 16-bit models.

	{Operating systems} like {Microsoft Windows} or {OS/2} provide
	the possibility to run 16-bit (segmented) programs as well as
	32-bit programs.  The former possibility exists for {backward
	compatibility} and the latter is usually meant to be used for
	new software development.

	See also {Win32s}.

	(1995-12-11)

3780

	{Binary Synchronous Transmission}

386

	{Intel 80386}

386BSD

	<operating system> (Or "jolix /joh'liks/) A {free software}
	{port} originally derived from the generally available parts
	of the "{Berkeley Net Release/2}" to the {Intel} {i386}
	architecture by William Jolitz and friends.  The name Jolix is
	used to differentiate it from {BSDI}'s port based on the same
	source tape, which is called {BSD/386}.

	Many new and innovative features were added to 386BSD
	following its original release in June 1992.  An unofficial
	{patchkit}, available from many {anonymous FTP} archives,
	solves many of the problems associated with 386BSD Version
	0.1.  In addition, many common Unix packages have been ported.

	386BSD has been superseded by {FreeBSD}, {NetBSD} and {OpenBSD}.

	{FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/386bsd-faq/part1/faq.html)}.

	[{Jargon File}]

	(2006-06-08)

386SPART.PAR

	<operating system> (Or "{WIN386.SWP}") 386SPART.PAR is a
	{hidden file} created by {Windows 3.1} for use as {virtual
	memory} {swap file}.  It is generally found in the {root
	directory}, however it may appear elsewhere (typically in the
	WINDOWS directory).  Its size depends on how much virtual
	memory you have set up under (Control Panel) Enhanced under
	Virtual Memory.  If you move or delete this file Windows will
	complain the next time you start it with a Swap File error.

	{Windows 95} uses a similar file, except it is named
	WIN386.SWP, and the controls for it are located under Control
	Panel - System - Performance tab - Virtual Memory.

	(1996-05-28)

386SX

	{Intel 80386SX}

3Com Corporation

	<company, networking> A manufacturer of {local area network}
	equipment.

	3Com was founded in 1979.  They acquired {BICC Data Networks}
	in 1992, {Star-Tek} in 1993, {Synernetics} in 1993, {Centrum}
	in 1994, {NiceCom} in 1994 {AccessWorks}, {Sonix
	Communications}, {Primary Access} and {Chipcom} in 1995 and
	{Axon} and {OnStream Networks} in 1996.  They merged with
	{U.S. Robotics} in 1997.

	{(http://3com.com/)}.

	(1998-04-03)

3DNow!

	<architecture> A {floating point} {SIMD} extention from {AMD}.

	[Extension of what?  To do what?]

	(2001-12-23)

3DNow! Professional

	<architecture> A {floating point} {SIMD} extention from {AMD},
	compatible with {Intel}'s {SSE}, introduced with the
	{Athlon}-4.

	[Relationship to {3DNow!}?]

	(2001-12-23)

3DO

	<company, games, standard> A set of specifications created and
	owned by the 3DO company, which is a partnership of seven
	different companies.  These specs are the blueprint for making
	a 3DO Interactive Multiplayer and are licensed to hardware and
	software producers.

	A 3DO system has an {ARM60} 32-bit {RISC} {CPU} and a graphics
	engine based around two custom designed graphics and animation
	processors.  It has 2 Megabytes of {DRAM}, 1 Megabyte of
	{VRAM}, and a double speed {CD-ROM} drive for main storage.

	The {Panasonic} 3DO system can run 3DO Interactive software,
	play audio CDs (including support for CD+G), view {Photo-CDs},
	and will eventually be able to play {Video CDs} with a special
	add-on {MPEG}1 {full-motion video} cartridge.  Up to 8
	{controllers} can be {daisy-chain}ed on the system at once.  A
	keyboard, mouse, light gun, and other peripherals may also
	some day be hooked into the system, although they are not
	currently available (December 1993).  The 3DO can display
	{full-motion video}, fully {texture map}ped 3d landscapes,
	all in 24-bit colour.  {Sanyo} and {AT&T} will also release
	3DO systems.  Sanyo's in mid 1994 and AT&T in late 1994.

	There will be a 3DO add-on cartridge based on the {PowerPC} to
	enable the 3DO to compete with {Sony}'s {Playstation} console
	and {Sega}'s {Saturn} console, both of which have a higher
	specification than the original 3DO.  The add-on is commonly
	known as the M2 or Bulldog.  It should hit the shops by
	Christmas 1995 and will (allegedly) do a million flat shaded
	polygons per second.

	{3DO Home (http://3do.com/)}.

	{Usenet} newsgroup: {news:rec.games.video.3do}.

	(1994-12-13)

3GL

	{third generation language}

3NF

	{database normalisation}

3Station

	<computer, networking> The archetypal {diskless workstation},
	developed by {Bob Metcalfe} at {3Com} and first available in
	1986/1987.

	The 3Station/2E had a 10 {MHz} {80286} {processor}, 1 {MB} of
	{RAM} (expandable to 5 MB), {VGA} compatible graphics with 256
	{KB} of {video RAM}, and integrated {AUI}/{BNC} network
	{transceivers} for {LAN} access.

	The product used a single {printed-circuit board} with four
	custom {ASICs}.  It had no {floppy disk drive} or {hard disk},
	it was booted from a {server} and stored all {end-user}
	{files} there.

	3Com advertised "significant cost savings" due to the
	3Station's ease of installation and low maintenance (this
	would now be referred to under the banner of "{TCO}").

	The 3Station cost somewhere between an {IBM PC} {clone} and an
	IBM PC of the day.  It was not commercially successful.

	(2000-07-05)

3-tier

	{three-tier}

404

	<abuse> Someone who's clueless.  From the {web}
	message "404, URL Not Found" meaning that the document you've
	tried to access can't be located.

	"Don't bother asking him...he's 404, man".

	404 is one of the standard response codes of the {telnet}
	{protocol} on which the web's {HTTP} is based.

	The first 4 indicates a client error such as a mistyped URL.
	The middle 0 refers to a general syntax error.  The last 4
	just indicates the specific error in the group of 40x, which
	also includes 400: Bad Request, 401: Unauthorized, etc.

	(2000-03-18)

4.2BSD

	{Berkeley Software Distribution}

431A

	<hardware> The type of plug which fits a standard "type 600"
	{British Telecom} telephone socket.

	(1995-01-25)

4.3BSD

	{Berkeley Software Distribution}

4510

	<processor> A {65CE02} with two {6526} IO controllers.

	Used in the {Commodore 65}.

	(1996-04-06)

473L Query

	<language> An English-like {query language} for the US Air
	Force {473L} system.

	[Sammet 1969, p. 665].

	["Headquarters USAF Command and Control System Query
	Language", Info Sys Sci, Proc 2nd Congress, Spartan Books
	1965, pp.57-76].

	(1994-10-31)

486

	{Intel 486}

486DX

	{Intel 486}

486SX

	{Intel 486SX}

4GL

	{fourth generation language}

4NF

	{database normalisation}

51forth

	<language> A subroutine-{threaded} {Forth} for the {8051} by
	Scott Gehmlich.  It comes with source and documentation.

	{(ftp://smis-novell-1.massey.ac.nz/giovanni/51forth.zip)}.

	(1993-04-03)

56 kbps

	<communications> (56 kilobits per second) The data capacity of
	a normal single channel digital telephone channel in North
	America.  The figure is derived from the {bandwidth} of 4 kHz
	allocated for such a channel and the 16-bit encoding (4000
	times 16 = 64000) used to change {analogue} signals to
	digital, minus the 8000 bit/s used for signalling and
	supervision.

	At the end of 1997 there were two rival {modem} designs
	capable of this rate: {k56flex} and {US Robotics}' {X2}.  In
	February 1998 the {ITU} proposed a 56kbps standard called
	{V.90}, which is expected to be formally approved during
	September 1998.

	(1998-09-15)

56k line

	<communications> A digital connection (possibly a {leased
	line}, possibly switched) capable of carrying {56 kbps}.

	Compare {DS0}.

	(2000-07-16)

586

	<processor> What {Intel}'s {Pentium} was not called.

5ESS

	{Number 5 Electronic Switching System}

5NF

	{database normalisation}

5th Glove

	<hardware, virtual reality> A {data glove} and flexor strip
	kit (5th Glove DFK) sold by {Fifth Dimension Technologies} for
	$495 ($345 for the left-handed version, $45 for each extra
	flexor strip).  The DFK provides a data glove, a flexon strip
	(with an elbow or knee-joint sensor), an interface card,
	cables, and KineMusica software.  The package uses flexible
	optical-bending sensing to track hand and arm movement.  The
	glove can be used with 5DT's ultrasonic tracking system, the
	5DT Head and Hand tracker ($245), which can track movement
	from up to two metres away from the unit's transmitter.

	(1998-02-06)

6.001

	<education> /siks dub*l oh wun/, /dub*l oh wun/ or rarely
	/siks dub*l oh fun/ {MIT}'s introductory computer class for
	majors, known for its intensity.  Developed by {Gerald
	Sussman} and {Hal Abelson}, the course is taught in {Scheme}
	and introduces {recursion}, {higher-order functions},
	{object-oriented programming} and much more.  Students who
	grasp the {meta}circular {interpreter} gain entry into the
	{Knights of the Lambda-Calculus}.  6.001 has been exported to
	several other colleges, sometimes successfully.  The textbook,
	"Structure and Interpretation of Computer Programs", written
	with Julie Sussman is a classic that can be found on the
	shelves of many computer scientists, whether they took the
	course or not.  Legendary characters from the class, problem
	sets, and book include the wise Alyssa P. Hacker, Ben
	Bitdiddle, Lem E. Tweakit and Eva Lu Ator, the careless Louis
	Reasoner and {Captain Abstraction}.

	(1994-11-22)

610

	<communications> The standard type of two-wire wall socket and
	plug used for telephones in Australia.

	[Other countries?  Full name?]

	(1997-06-26)

6309

	{Hitachi 6309}

64-bit

	<architecture> A term describing a computer architecture based
	around an {ALU}, {registers} and {data bus} which are 64
	{bit}s wide.

	64-bit processors were quite common in 1996, e.g. {Digital}
	{Alpha}, versions of {Sun} {SPARC}, {MIPS}, {IBM} {AS/4000}.
	the {PowerPC} and {Intel} were expected to move to 64 bits at
	their next generation - {PPC 620} and {Intel P7}.

	A 64-bit {address bus} allows the processor to address 18
	million {gigabytes} as opposed to the mere 4 gigabytes allowed
	with 32 bits.  There were in 1996 already {hard disks} which
	can hold over 4GB.  Floating point calculations can also be
	more accurate.

	A 64-bit {OS} is needed as well to take advantage of the CPU.
	In 1996 there were only a few 64-bit operating systems,
	including {OS/400}, {Digital} {Unix}, {Solaris} (partialy).  A
	32-bit OS can run on a 64-bit CPU.

	(2004-05-12)

6501

	<hardware> An eight-bit {microprocessor}, the first sold by
	{MOS Technology}.  The 6501 pin-compatible with the
	{Motorola 6800} and was the first member of the 650x series.
	It had an on-chip clock oscillator.

	See also {6502}.

	(2001-02-26)

6502

	<hardware> An eight-bit {microprocessor} designed by {MOS
	Technology} around 1975 and made by {Rockwell}.

	Unlike the {Intel 8080} and its kind, the 6502 had very few
	{registers}.  It was an 8-bit processor, with 16-bit {address
	bus}.  Inside was one 8-bit data register ({accumulator}), two
	8-bit {index registers} and an 8-bit {stack pointer} (stack
	was preset from address 256 to 511).  It used these index and
	stack registers effectively, with more {addressing modes},
	including a fast zero-page mode that accessed memory locations
	from address 0 to 255 with an 8-bit address (it didn't have to
	fetch a second byte for the address).

	Back when the 6502 was introduced, {RAM} was actually faster
	than {CPU}s, so it made sense to optimise for RAM access
	rather than increase the number of registers on a chip.

	The 6502 was used in the {BBC Microcomputer}, {Apple II},
	{Commodore}, {Apple Computer} and {Atari} {personal
	computers}.  {Steve Wozniak} described it as the first chip
	you could get for less than a hundred dollars (actually a
	quarter of the {6800} price).

	The 6502's {indirect jump} instruction, JMP (xxxx), was
	{broken}.  If the address was hexadecimal xxFF, the processor
	would not access the address stored in xxFF and xxFF + 1, but
	rather xxFF and xx00.  The {6510} did not fix this bug, nor
	was it fixed in any of the other {NMOS} versions of the 6502
	such as the {8502}.  Bill Mensch at {Western Design Center}
	was probably the first to fix it, in the {65C02}.

	The 6502 also had undocumented instructions.

	The {65816} is an expanded version of the 6502.

	There is a 6502 {assembler} by Doug Jones <jones@cs.uiowa.edu>
	which supports {macros} and conditional features and can be
	used for linkage editing of object files.  It requires
	{Pascal}.

	See also {cross-assembler}, {RTI}, {Small-C}.

	(2001-01-02)

650x

	<hardware> A family of {microprocessors} from {MOS
	Technologies}, based on the design of the {Motorola 6800}
	(introduced around 1975).  The family included the {6502} used
	in several early {personal computers}.

6510

	<processor> A successor to the {6502}.

	The 6510 was used in the Commodore 64C.  Successors included
	the {8502} used in the {Commodore 128} line.

	(2001-01-02)

6526

	{MOS Technology 6526}

65816

	<processor> An expanded version of the {6502}, with which it
	is compatible.  It has 16-bit {index registers} and {stack
	pointer}, a 16-bit direct page register and a 24-bit {address
	bus}.  Used in later models of the {Apple II}.

	(1994-10-31)

6800

	{Motorola 6800}

68000

	{Motorola 68000}

68020

	{Motorola 68020}

68030

	{Motorola 68030}

68040

	{Motorola 68040}

68050

	{Motorola 68050}

68060

	{Motorola 68060}

6809

	{Motorola 6809}

680x0

	{Motorola 680x0}

686

	<processor> {Pentium Pro} or possibly {Cyrix 6x86}.

	(1997-05-26)

68HC11

	{Motorola 68HC11}

68LC040

	{Motorola 68LC040}

6to4

	<networking> A {protocol} for transitioning from {IPv4} to
	{IPv6}.  Networks may use 6to4 (or other transitioning protocols)
	until they support native {dual-stack}.

	Because 6to4 is a form of {tunnelling}, it requires
	{encapsulation} by a {protocol converter}.  This can cause
	performance problems due to increased {latency} and decreased
	{MTU} sizes, as described in {RFC 6343
	(http://tools.ietf.org/html/rfc6343)}.

	{RFC 3056 (http://tools.ietf.org/html/rfc3056)}.

	(2012-12-24)

6x86

	{Cyrix 6x86}

754

	{IEEE Floating Point Standard}

80186

	{Intel 80186}

80188

	{Intel 80188}

80/20 rule

	{eighty-twenty rule}

802.1

	{IEEE 802.1}

802.11a

	<networking> A radio-based {LAN} {protocol} which speaks
	{OFDM} at 5GHz, one of the two {wi-fi} protocols.

	(2003-09-02)

802.11b

	<networking> An {IEEE} {wireless} {local area networks} (WLAN)
	{standard} {protocol} which speaks {DSSS} at 2.4GHz.  802.11b
	is one of the two {wi-fi} protocols.  It operates at 11
	megabits per second (Mbps) compared with {802.11g} which
	operates at 54 Mbps.

	(2004-01-11)

802.11g

	<networking, standard> An {IEEE} {wireless} {local area
	network} (WLAN) {standard} {protocol}, expected to be approved
	in June 2003.  802.11g offers wireless transmission over
	relatively short distances at up to 54 megabits per second
	(Mbps).

	802.11g operates in the 2.4 GHz range and is thus compatible
	with {802.11b} (11 Mbps Wi-Fi).

	(2004-01-11)

802.2

	{IEEE 802.2}

802.3

	{IEEE 802.3}

80286

	{Intel 80286}

8031

	{Intel 8051}

80386

	{Intel 80386}

8048

	{Intel 8048}

80486

	{Intel 486}

8051

	{Intel 8051}

8052

	{Intel 8051}

8080

	{Intel 8080}

8086

	{Intel 8086}

8088

	{Intel 8088}

80x86

	{Intel 80x86}

822

	{RFC 822}

82430FX

	{Triton I}

82430HX

	{Triton II}

82430MX

	{Mobile Triton}

82430VX

	{Triton VX}

8250

	<hardware> A {UART} that can operate at a maximum of 9600 {baud}.

	The 8250 is used in {IBM PC XT} computers.  It works in an
	{IBM PC AT} under {DOS} but generates unwanted {interrupts}
	when used at 9600 {baud}.  The {IBM PC} {BIOS} has a bug fix
	for this chip.

	(2004-03-21)

8.3

	<file system, filename extension> A common shorthand for the
	limits on filename length imposed by the {file system} used by
	{MS-DOS} and {Microsoft Windows} - at most eight characters,
	followed by a ".", followed by a {filename extension} of at
	most three characters.

	{Windows 95} supports long filenames by using multiple
	directory entries per file.  The extra entries are hidden.  It
	also automatically derives an 8.3 name for each file for
	{backward compatibility} so that older versions of DOS can
	still access the file.

	(1998-10-05)

8450

	<hardware> A {serial IO chip} with a one-{byte} {FIFO}.  The
	8450 was introduced with the {Intel 8080}.

	(2004-03-21)

8514

	<hardware> An {IBM} graphics {display standard} supporting a
	{resolution} of 1024 x 768 {pixels} with 256 colours at 43.5
	Hz ({interlaced}), or 640 x 480 at 60 Hz interlaced.

	8514 was introduced at the same time as {VGA} and was
	superseded by {XGA}.

	(1999-08-01)

8514-A

	{8514}

88000

	{Motorola 88000}

88open

	<body> A consortium with the aim of creating a multi-vendor
	open computing environment based on the {Motorola 88000}
	{RISC} processor family.

	(1995-01-26)

8-bit clean

	{eight-bit clean}

8N1

	<jargon> Common shorthand for "eight data bits, no {parity},
	one {stop bit}", the most common configuration for {serial
	lines}, e.g. {EIA-232}.

	(1995-01-31)

8 queens problem

	{eight queens puzzle}

8 queens puzzle

	{eight queens puzzle}

8x86

	{Intel 80x86}

90-90 Rule

	{Ninety-Ninety Rule}

9PAC

	<tool> 709 PACkage.

	A {report generator} for the {IBM 7090}, developed in 1959.

	[Sammet 1969, p.314. "IBM 7090 Prog Sys, SHARE 7090 9PAC Part
	I: Intro and Gen Princs", IBM J28-6166, White Plains, 1961].

	(1995-02-07)

:-)

	{emoticon}

;

	{semicolon}

<

	{less than}

=

	{equals}

>

	{greater than}

?

	{question mark}

??

	<programming> A {Perl} quote-like {operator} used to delimit a
	{regular expression} (RE) like "?FOO?" that matches FOO at
	most once.  The normal "/FOO/" form of regular expression will
	match FOO any number of times.  The "??" operator will match
	again after a call to the "reset" operator.

	The operator is usually referred to as "??" but, taken
	literally, an empty RE like this (or "//") actually means to
	re-use the last successfully matched regular expression or, if
	there was none, the empty pattern (which will always match).

	{Unix manual page}: perlop(1).

	(2009-05-28)

@

	{commercial at}

\

	{backslash}

\{@}

	<chat> A rare {emoticon} supposed to represent a rose.

	(2013-06-26)

A#

	<language> /A sharp/ A separable component of Version 2 of the
	{AXIOM*} computer algebra system.  It provides a programming
	language with an {optimising compiler}, an {intermediate code}
	{interpreter}, and a library of data structures and
	mathematical {abstractions}.  The compiler produces
	{stand-alone executable} programs, {object} libraries in
	{native} {operating system} formats, {portable} {bytecode}
	libraries, {C} and {Lisp} {source code}.

	The A# programming language has support for {object-oriented}
	and {functional programming} styles.  Both types and functions
	are {first class} values that can be manipulated with a range
	of flexible and composable {primitives} and user programs.
	The A# language design places particular emphasis on
	compilation for efficient {machine code} and portability.

	Ports have been made to various 16, 32, and 64 bit
	architectures: {RS/6000}, {SPARC}, {DEC Alpha}, {i386},
	{i286}, {Motorola 680x0}, {S 370}; several {operating
	systems}: {Linux}, {AIX}, {SunOS}, {HP/UX}, {Next}, {Mach} and
	other {Unix} systems, {OS/2}, {DOS}, {Microsoft Windows},
	{VMS} and {CMS}; {C} compilers: {Xlc}, {gcc}, {Sun},
	{Borland}, {Metaware} and {MIPS} C.

	(1995-02-07)

A-0

	<language> (Or A0) A language for the {UNIVAC I} or II, using
	{three-address code} instructions for solving mathematical
	problems.  A-0 was the first language for which a {compiler}
	was developed.  It was produced by {Grace Hopper}'s team at
	{Remington Rand} in 1952.  Later internal versions were A-1,
	A-2, A-3, AT-3.  AT-3 was released as {MATH-MATIC}.

	["The A-2 Compiler System", Rem Rand, 1955].

	[Sammet 1969, p. 12].

	(1995-12-03)

a1

	<language> Address 1 code.

	An a1 code {interpreter}, by Matthew Newhook
	<matthew@engr.mun.ca> was used to test compiler output.  It
	requires {gcc} 2.4.2 or higher and is portable to computers
	with {memory segment} protection.

	{(ftp://ftp.cs.mun.ca/pub/a1)}.

	(1994-07-19)

A1 security

	{Orange Book}

A20 handler

	<software, storage> {IBM PC} memory manager software providing
	{HMA}.  {XMM}s usually provide this functionality.  Named
	after the 21st address line (A20), controlling the access to
	HMA.

	(1996-01-10)

A-3

	{ARITH-MATIC}

A3D

	<hardware> (Aureal 3-Dimensional?) A technology developed by
	{Aureal} that delivers sound with a three-dimensional effect
	through two speakers.  Many modern {sound cards} and PC games
	now support this feature.

	A3D differs from the various forms of {surround sound} in that
	it only requires two speakers, while surround sound typically
	requires four or five.  It is sometimes less convincing than
	surround sound but is supposedly better in {interactive}
	environments.  For example, PC games in which sounds often
	move from one speaker to another favour A3D, while
	pre-recorded video favours surround sound.

	{(http://a3d.com/)}.

	(1999-01-26)

A4C

	{Authentication, Authorization, Accounting, Auditing and Charging}

a56

	<language> An {assembler} for the {Motorola} {DSP56000} and
	{DSP56001} {digital signal processors} by Quinn Jensen
	<jensenq@qcj.icon.com>.  Version 1.1 is available from an
	{alt.sources} archive or {(ftp://wuarchive.wustl.edu/)}.

	(1992-08-10)

AAC

	{Advanced Audio Coding}

AADL

	{Axiomatic Architecture Description Language}

AAL

	{ATM Adaptation Layer}

AAP

	{Association of American Publishers}

AAP DTD

	<standard> A {DTD} for a standard {SGML} document type for
	scientific documents, defined by the {Association of American
	Publishers}.

	(1994-11-08)

aard

	<programming, tool> (Dutch for "earth") A tool to check memory
	use for {C++} programs, written by Steve Reiss
	<spr@cs.brown.edu> (who names his programs after living
	systems).

	Aard tracks the state of each byte of memory in the {heap} and
	the {stack}.  The state can be one of Undefined,
	Uninitialised, Free or Set.  The program can detect invalid
	transitions (i.e. attempting to set or use undefined or free
	storage or attempting to access uninitialised storage).

	In addition, the program keeps track of heap use through
	{malloc} and {free} and at the end of the run reports memory
	blocks that were not freed and that are not accessible
	(i.e. {memory leaks}).

	The tools works using a spliced-in {shared library} on
	{SPARCs} running {C++} 3.0.1 under {SunOS} 4.X.

	{(ftp://wilma.cs.brown.edu/pub/aard.tar.Z)}.

	(1998-03-03)

AARP

	{Apple Address Resolution Protocol}

AARP probe packets

	<networking> {AARP} {packets} sent out on a nonextended
	{AppleTalk} network to discover whether a randomly selected
	node ID is being used by any node.  If not, the sending node
	uses the node ID.  If so, it chooses a different ID and sends
	more AARP probe packets.

	(1997-05-03)

AAUI

	{Apple Attachment Unit Interface}

A&B

	<communications> A {bit signaling procedure} used in most {T1}
	transmission facilities where one bit from every sixth frame
	of each of 24 T1 {subchannels} is used for carrying
	{supervisory signaling}.

	[What does it stand for?  Is this the same as "{bit
	robbing}"?]

	(1997-05-05)

abbrev

	<jargon> /*-breev'/, /*-brev'/ Common abbreviation for
	"abbreviation".

	(1995-02-27)

Abbreviated Test Language for Avionics Systems

	<language> (ATLAS) A Mil-spec language for automatic testing
	of avionics equipment.  ATLAS replaced {Gaelic} and several
	other test languages.

	["IEEE Standard ATLAS Test Language", IEEE Std 416-1976].

	(2000-04-03)

ABC

	1. <computer> {Atanasoff-Berry Computer}.

	2. <language> An {imperative language} and programming
	environment from {CWI}, Netherlands.  It is interactive,
	structured, high-level, and easy to learn and use.  It is a
	general-purpose language which you might use instead of
	{BASIC}, {Pascal} or {AWK}.  It is not a systems-programming
	language but is good for teaching or prototyping.

	ABC has only five data types that can easily be combined;
	{strong typing}, yet without declarations; data limited only
	by memory; refinements to support top-down programming;
	nesting by indentation.  Programs are typically around a
	quarter the size of the equivalent {Pascal} or {C} program,
	and more readable.

	ABC includes a programming environment with {syntax-directed}
	editing, {suggestions}, {persistent variables} and multiple
	workspaces and {infinite precision} arithmetic.

	An example function words to collect the set of all words in a
	document:

	   HOW TO RETURN words document:
	      PUT {} IN collection
	      FOR line in document:
	         FOR word IN split line:
	            IF word not.in collection:
	               INSERT word IN collection
	      RETURN collection

	{Interpreter}/{compiler}, version 1.04.01, by Leo Geurts,
	Lambert Meertens, Steven Pemberton <Steven.Pemberton@cwi.nl>.
	ABC has been ported to {Unix}, {MS-DOS}, {Atari}, {Macintosh}.

	{(http://cwi.nl/cwi/projects/abc.html)}.

	{FTP eu.net (ftp://ftp.eu.net/programming/languages/abc)},
	{FTP nluug.nl (ftp://ftp.nluug.nl/programming/languages/abc)},
	{FTP uunet (ftp://ftp.uu.net/languages/abc)}.

	Mailing list: <abc-list-request@cwi.nl>.

	E-mail: <abc@cwi.nl>.

	["The ABC Programmer's Handbook" by Leo Geurts, Lambert
	Meertens and Steven Pemberton, published by Prentice-Hall
	(ISBN 0-13-000027-2)].

	["An Alternative Simple Language and Environment for PCs" by
	Steven Pemberton, IEEE Software, Vol. 4, No. 1, January 1987,
	pp. 56-64.]

	(1995-02-09)

	2. <language> Argument, Basic value, C?.

	An {abstract machine} for implementation of {functional
	languages} and its intermediate code.

	[P. Koopman, "Functional Programs as Executable
	Specifications", 1990].

	(1995-02-09)

ABC ALGOL

	<language> An extension of {ALGOL 60} with arbitrary data
	structures and user-defined operators, for {symbolic
	mathematics}.

	["ABC ALGOL, A Portable Language for Formula Manipulation
	Systems", R.P. van de Riet, Amsterdam Math Centrum 1973].

	(1994-10-28)

ABCL/1

	<language> An Object-Based Concurrent Language.

	The language for the {ABCL} {MIMD} system, written by Akinori
	Yonezawa <matsu@is.s.u-tokyo.ac.jp> of Department of
	Information Science, {Tokyo University} in 1986.  ABCL/1 uses
	{asynchronous} {message passing} to {objects}.  It requires
	{Common Lisp}.  Implementations in {KCL} and {Symbolics Lisp}
	are available from the author.

	{(ftp://camille.is.s.u-tokyo.ac.jp/)}.

	E-mail: <abcl@is.s.u-tokyo.ac.jp>.

	["ABCL: An Object-Oriented Concurrent System", A. Yonezawa ed,
	MIT Press 1990].  (1990-05-23).

	(1995-02-09)

ABCL/c+

	<language> A {concurrent} {object-oriented} language, an
	extension of {ABCL/1} based on {C}.

	["An Implementation of An Operating System Kernel using
	Concurrent Object Oriented Language ABCL/c+", N. Doi et al in
	ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer 1988].

	(1994-11-08)

ABCL/R

	<language> A {reflective} subset of {ABCL/1}, written in
	ABCL/1 by Yonezawa of {Tokyo Institute of Technology} in 1988.

	{(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr)}.

	["Reflection in an Object-Oriented Concurrent Language",
	T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988)].

	(1994-11-08)

ABCL/R2

	<language> An {object-oriented}, {concurrent}, {reflective}
	language based on {Hybrid Group Architecture}. ABCL/R2 was
	produced by <masuhara@is.s.u-tokyo.ac.jp>,
	<matsu@is.s.u-tokyo.ac.jp>, <takuo@is.s.u-tokyo.ac.jp>,
	<yonezawa@is.s.u-tokyo.ac.jp>, at the {Tokyo Institute of
	Technology} in 1992.

	As a reflective language, an ABCL/R2 program can dynamically
	control its own behaviour, such as {scheduling} policy, from
	within a user-program.  This system has almost all functions
	of {ABCL/1} and is written in {Common Lisp}.

	{(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/)}.

	(1993-01-28)

abduction

	<logic> The process of {inference} to the best explanation.

	"Abduction" is sometimes used to mean just the generation of
	hypotheses to explain observations or conclusionsm, but the
	former definition is more common both in philosophy and
	computing.

	The {semantics} and the implementation of abduction cannot be
	reduced to those for {deduction}, as explanation cannot be
	reduced to implication.

	Applications include fault diagnosis, plan formation and
	{default reasoning}.

	{Negation as failure} in {logic programming} can both be given
	an abductive interpretation and also can be used to implement
	abduction.  The abductive semantics of negation as failure
	leads naturally to an {argumentation}-theoretic interpretation
	of default reasoning in general.

	[Better explanation?  Example?]

	["Abductive Inference", John R. Josephson
	<jj@cis.ohio-state.edu>].

	(2000-12-07)

ABEND

	<jargon> /o'bend/, /*-bend'/ ABnormal END.  Abnormal
	termination (of {software}); {crash}; {lossage}.  Derives from
	an error message on the {IBM 360}; used jokingly by hackers
	but seriously mainly by {code grinders}.  Usually capitalised,
	but may appear as "abend".  Hackers will try to persuade you
	that ABEND is called "abend" because it is what system
	operators do to the computer late on Friday when they want to
	call it a day, and hence is from the German "Abend" =
	"Evening".

	[{Jargon File}]

	(1994-11-08)

AberMUD

	<games> The first popular {open source} {MUD}.  The first
	version of AberMUD, named after Aberystwyth, UK, was written
	in {B} by Alan Cox, Richard Acott, Jim Finnis, and Leon
	Thrane, at University of Wales, Aberystwyth for an old
	{Honeywell} {mainframe} and opened in 1987.  The gameplay was
	heavily influenced by {MUD1}, written by Roy Trubshaw and
	Richard Bartle, which Alan Cox had played at the University of
	Essex.  In late 1988, Alan Cox ported AberMUD to {C} so it
	could run under {UNIX} on Southampton University's Maths
	machines.  This version was named AberMUD2.  Various other
	versions followed.

	(2008-11-24)

ABI

	{Application Binary Interface}

ABLE

	<language> A simple language for accountants.

	["ABLE, The Accounting Language, Programming and Reference
	Manual," Evansville Data Proc Center, Evansville, IN, Mar
	1975].

	[Listed in SIGPLAN Notices 13(11):56 (Nov 1978)].

	(1994-11-08)

ABM

	{Asynchronous Balanced Mode}

ABNF

	{Augmented Backus-Naur Form}

abort

	<programming> To terminate a program or {process} abnormally
	and usually suddenly, with or without {diagnostic}
	information.  "My program aborted", "I aborted the
	transmission".  The noun form in computing is "abort", not
	"abortion", e.g. "We've had three aborts over the last two
	days".

	If a {Unix} {kernel} aborts it is known as a {panic}.

	(1997-01-07)

ABP

	1. <networking> {Alternating bit protocol}.

	2. {Microsoft} {Address Book Provider}.

ABR

	{automatic baud rate detection}

abscissa

	<mathematics> The horizontal or x coordinate on an (x, y)
	graph; the input of a function against which the output is
	plotted.

	The vertical or y coordinate is the "{ordinate}".

	See {Cartesian coordinates}.

	(1997-07-08)

ABSET

	<language> An early {declarative language} from the
	{University of Aberdeen}.

	["ABSET: A Programming Language Based on Sets", E.W. Elcock et
	al, Mach Intell 4, Edinburgh U Press, 1969, pp.467-492].

	(1994-11-08)

absolute path

	<file system> A {path} relative to the {root directory}.  Its
	first character must be the {pathname separator}.

	(1996-11-21)

absolute pathname

	<file system> A {pathname} relative to the {root directory}.

	(1996-11-21)

abstract

	<philosophy> A description of a concept that leaves out some
	information or details in order to simplify it in some useful
	way.

	Abstraction is a powerful technique that is applied in many
	areas of computing and elsewhere.  For example: {abstract
	class}, {data abstraction}, {abstract interpretation},
	{abstract syntax}, {Hardware Abstraction Layer}.

	(2009-12-09)

abstract class

	<programming> In {object-oriented programming}, a {class}
	designed only as a parent from which sub-classes may be
	derived, but which is not itself suitable for instantiation.
	Often used to "abstract out" incomplete sets of features which
	may then be shared by a group of sibling sub-classes which add
	different variations of the missing pieces.

	(1994-11-08)

abstract data type

	<programming> (ADT) A kind of {data abstraction} where a
	type's internal form is hidden behind a set of {access
	functions}.  Values of the type are created and inspected only
	by calls to the access functions.  This allows the
	implementation of the type to be changed without requiring any
	changes outside the {module} in which it is defined.

	{Objects} and ADTs are both forms of data abstraction, but
	objects are not ADTs.  Objects use procedural abstraction
	(methods), not type abstraction.

	A classic example of an ADT is a {stack} data type for which
	functions might be provided to create an empty stack, to
	{push} values onto a stack and to {pop} values from a stack.

	{Reynolds paper
	(http://cis.upenn.edu/~gunter/publications/documents/taoop94.html)}.

	{Cook paper "OOP vs ADTs"
	(http://wcook.org/papers/OOPvsADT/CookOOPvsADT90.pdf)}.

	(2003-07-03)

abstract interpretation

	<theory> A partial execution of a program which gains
	information about its {semantics} (e.g. control structure,
	flow of information) without performing all the calculations.
	Abstract interpretation is typically used by compilers to
	analyse programs in order to decide whether certain
	optimisations or transformations are applicable.

	The objects manipulated by the program (typically values and
	functions) are represented by points in some {domain}.  Each
	abstract domain point represents some set of real
	("{concrete}") values.

	For example, we may take the abstract points "+", "0" and "-"
	to represent positive, zero and negative numbers and then
	define an abstract version of the multiplication operator, *#,
	which operates on abstract values:

		*# | + 0 -
		---|------
		+  | + 0 -
		0  | 0 0 0
		-  | - 0 +

	An interpretation is "safe" if the result of the abstract
	operation is a safe approximation to the abstraction of the
	concrete result.  The meaning of "a safe approximation"
	depends on how we are using the results of the analysis.

	If, in our example, we assume that smaller values are safer
	then the "safety condition" for our interpretation (#) is

		a# *# b# <= (a * b)#

	where a# is the abstract version of a etc.

	In general an interpretation is characterised by the {domains}
	used to represent the basic types and the abstract values it
	assigns to constants (where the constants of a language
	include primitive functions such as *).  The interpretation of
	constructed types (such as user defined functions, {sum types}
	and {product types}) and expressions can be derived
	systematically from these basic domains and values.

	A common use of {abstract interpretation} is {strictness
	analysis}.

	See also {standard interpretation}.

	(1994-11-08)

abstraction

	1. Generalisation; ignoring or hiding details to capture some
	kind of commonality between different instances.  Examples are
	{abstract data types} (the representation details are hidden),
	{abstract syntax} (the details of the {concrete syntax} are
	ignored), {abstract interpretation} (details are ignored to
	analyse specific properties).

	2. <programming> Parameterisation, making something a function
	of something else.  Examples are {lambda abstractions} (making
	a term into a function of some variable), {higher-order
	functions} (parameters are functions), {bracket abstraction}
	(making a term into a function of a variable).

	Opposite of {concretisation}.

	(1998-06-04)

abstract machine

	1. <language> A processor design which is not intended to be
	implemented as {hardware}, but which is the notional executor
	of a particular {intermediate language} (abstract machine
	language) used in a {compiler} or {interpreter}.  An abstract
	machine has an {instruction set}, a {register set} and a model
	of memory.  It may provide instructions which are closer to
	the language being compiled than any physical computer or it
	may be used to make the language implementation easier to
	{port} to other {platforms}.

	A {virtual machine} is an abstract machine for which an
	{interpreter} exists.

	Examples: {ABC}, {Abstract Machine Notation}, {ALF}, {CAML},
	{F-code}, {FP/M}, {Hermes}, {LOWL},
	{Christmas}, {SDL}, {S-K reduction machine}, {SECD}, {Tbl},
	{Tcode}, {TL0}, {WAM}.

	2. <theory> A procedure for executing a set of instructions in
	some formal language, possibly also taking in input data and
	producing output.  Such abstract machines are not intended to
	be constructed as {hardware} but are used in thought
	experiments about {computability}.

	Examples: {Finite State Machine}, {Turing Machine}.

	(1995-03-13)

Abstract Machine Notation

	<language> (AMN) A language for specifying {abstract machines}
	in the {B-Method}, based on the mathematical theory of
	{Generalised Substitutions}.

	(1995-03-13)

abstract syntax

	<language, data> A form of representation of data that is
	independent of machine-oriented structures and encodings and
	also of the physical representation of the data.  Abstract
	syntax is used to give a high-level description of programs
	being compiled or messages passing over a communications link.

	A {compiler}'s internal representation of a program will
	typically be an {abstract syntax tree}.  The abstract syntax
	specifies the tree's structure is specified in terms of
	categories such as "statement", "expression" and
	"{identifier}".  This is independent of the source syntax
	({concrete syntax}) of the language being compiled (though it
	will often be very similar).

	A {parse tree} is similar to an abstract syntax tree but it
	will typically also contain features such as parentheses which
	are syntactically significant but which are implicit in the
	structure of the {abstract syntax tree}.

	(1998-05-26)

Abstract Syntax Notation 1

	<language, standard, protocol> (ASN.1, X.208, X.680) An
	{ISO}/{ITU-T} {standard} for transmitting structured {data} on
	{networks}, originally defined in 1984 as part of {CCITT
	X.409} '84.  ASN.1 moved to its own standard, X.208, in 1988
	due to wide applicability.  The substantially revised 1995
	version is covered by the X.680 series.

	ASN.1 defines the {abstract syntax} of {information} but does
	not restrict the way the information is encoded.  Various
	ASN.1 encoding rules provide the {transfer syntax} (a
	{concrete} representation) of the data values whose {abstract
	syntax} is described in ASN.1.  The standard ASN.1 encoding
	rules include {BER} (Basic Encoding Rules - X.209), {CER}
	(Canonical Encoding Rules), {DER} (Distinguished Encoding
	Rules) and {PER} (Packed Encoding Rules).

	ASN.1 together with specific ASN.1 encoding rules facilitates
	the exchange of structured data especially between
	{application programs} over networks by describing data
	structures in a way that is independent of machine
	architecture and implementation language.

	{OSI} {Application layer} {protocols} such as {X.400} {MHS}
	{electronic mail}, {X.500} directory services and {SNMP} use
	ASN.1 to describe the {PDU}s they exchange.

	Documents describing the ASN.1 notations: {ITU-T} Rec. X.680,
	{ISO} 8824-1; {ITU-T} Rec. X.681, {ISO} 8824-2; {ITU-T}
	Rec. X.682, {ISO} 8824-3; {ITU-T} Rec. X.683, {ISO} 8824-4

	Documents describing the ASN.1 encoding rules: {ITU-T}
	Rec. X.690, {ISO} 8825-1; {ITU-T} Rec. X.691, {ISO} 8825-2.

	[M. Sample et al, "Implementing Efficient Encoders and
	Decoders for Network Data Representations", IEEE Infocom 93
	Proc, v.3, pp. 1143-1153, Mar 1993.  Available from Logica,
	UK].

	See also {snacc}.

	(2005-07-03)

abstract syntax tree

	<compiler> (AST) A data structure representing something which
	has been parsed, often used as a {compiler} or {interpreter}'s
	internal representation of a program while it is being
	optimised and from which {code generation} is performed.  The
	range of all possible such structures is described by the
	{abstract syntax}.

	(1994-11-08)

Abstract-Type and Scheme-Definition Language

	<language> (ASDL) A language developed as part of {Esprit}
	project {GRASPIN}, as a basis for generating {language-based
	editors} and environments.  It combines an {object-oriented}
	type system, syntax-directed translation schemes and a
	target-language interface.

	["ASDL - An Object-Oriented Specification Language for
	Syntax-Directed Environments", M.L. Christ-Neumann et al,
	European Software Eng Conf, Strasbourg, Sept 1987, pp.77-85].

	(1996-02-19)

Abstract Windowing Toolkit

	{Abstract Window Toolkit}

Abstract Window Toolkit

	<graphics> (AWT) {Java}'s {platform}-independent {windowing},
	graphics, and user-interface {toolkit}.  The AWT is part of
	the {Java Foundation Classes} (JFC) - the standard {API} for
	providing a {graphical user interface} (GUI) for a Java
	program.

	Compare: {SWING}.

	["Java in a Nutshell", O'Reilly].

	{(http://java.sun.com/products/jdk/awt/)}.

	(2000-07-26)

ABSYS

	<language> An early {declarative language} from the
	{University of Aberdeen} which anticipated a number of
	features of Prolog.

	["ABSYS: An Incremental Compiler for Assertions", J.M. Foster
	et al, Mach Intell 4, Edinburgh U Press, 1969, pp. 423-429].

	(1994-11-08)

AC2

	<audio> An {audio} format, succeded by {AC3}.

	(2001-12-18)

AC3

	<audio> An {audio} format by Sony[?], the successor of {AC2}.
	AC3 is used for multi-channel {audio} for {digital video}.

	(2001-12-18)

ACA

	{Application Control Architecture}

ACAP

	{Application Configuration Access Protocol}

Accelerated Graphics Port

	<hardware, graphics> (AGP) A {bus} specification by {Intel}
	which gives low-cost 3D {graphics cards} faster access to
	{main memory} on {personal computers} than the usual {PCI}
	bus.

	AGP dynamically allocates the PC's normal {RAM} to store the
	screen image and to support {texture mapping}, {z-buffering}
	and {alpha blending}.

	Intel has built AGP into a {chipset} for its {Pentium II}
	microprocessor.  AGP cards are slightly longer than a PCI
	card.

	AGP operates at 66 {MHz}, doubled to 133 MHz, compared with
	PCI's 33 Mhz.  AGP allows for efficient use of {frame buffer}
	memory, thereby helping 2D graphics performance as well.

	AGP provides a coherent memory management design which allows
	scattered data in system memory to be read in rapid bursts.
	AGP reduces the overall cost of creating high-end graphics
	subsystems by using existing system memory.

	{Specification
	(http://developer.intel.com/technology/agp/downloads/agp20.htm)}.

	(2004-07-19)

accelerator

	<hardware> Additional hardware to perform some function faster
	than is possible in software running on the normal {CPU}.
	Examples include {graphics accelerators} and {floating-point
	accelerators}.

	(1994-11-08)

Accent

	<language> A very high level interpreted language from
	{CaseWare, Inc.} with strings and tables.  It is {strongly
	typed} and has remote function calls.

	(1994-11-08)

accept

	<library, networking> {Berkeley} {Unix} networking {socket}
	library routine to satisfy a connection request from a remote
	{host}.  A specified socket on the local host (which must be
	capable of accepting the connection) is connected to the
	requesting socket on the remote host.  The remote socket's
	socket address is returned.

	{Unix manual pages}: accept(2), connect(2).

	(1994-11-08)

Acceptable Use Policy

	<networking> (AUP) Rules applied by many {transit networks}
	which restrict the use to which the network may be put.  A
	well known example is {NSFNet} which does not allow commercial
	use.  Enforcement of AUPs varies with the network.

	(1994-11-08)

acceptance testing

	<programming> Formal testing conducted to determine whether a
	system satisfies its acceptance criteria and thus whether the
	customer should accept the system.

	(1996-05-10)

Acceptance, Test Or Launch Language

	<language> (ATOLL) The language used for automating the
	checking and launch of Saturn rockets.

	["SLCC ATOLL User's Manual", IBM 70-F11-0001, Huntsville AL
	Dec 1970].

	(2000-04-03)

acceptor

	{Finite State Machine}

Access

	1. <language> An English-like query language used in the
	{Pick} {operating system}.

	2. <database, product> {Microsoft Access}.

	(1994-11-08)

Access Control List

	<networking> (ACL) A list of the services available on a
	{server}, each with a list of the {hosts} permitted to use the
	service.

	(1994-11-08)

access method

	<networking> 1. The way that network devices access the
	network medium.

	2. Software in an {SNA} processor that controls the flow of
	data through a {network}.

	[{physical layer}?]

	(1998-03-02)

access permission

	{permission}

access point

	<networking> (AP) Any device that acts as a communication hub
	to allow users of a {wireless network} to connect to a {wired
	LAN}.  APs are important for providing heightened wireless
	{security} and for extending the physical range of service a
	wireless user has access to.

	(2010-03-21)

access time

	<hardware, storage> The average time interval between a
	storage peripheral (usually a {disk drive} or {semiconductor}
	memory) receiving a request to read or write a certain
	location and returning the value read or completing the write.

	(1997-06-14)

ACCLAIM

	<project> A European Union {ESPRIT} {Basic Research Action}.

	[What's it about?]

	(1994-11-08)

Accounting File

	<operating system> A file which holds records of the resources
	used by individual jobs.  These records are used to regulate,
	and calculate charges for, resources.  An entry is opened in
	the accounting file as each job begins.

	(1996-12-08)

accounting management

	<networking> The process of identifying individual and group
	access to various network resources to ensure proper access
	capabilities ({bandwidth} and security) or to properly charge
	the various individuals and departments.  Accounting
	management is one of five categories of {network management}
	defined by {ISO} for management of {OSI} {networks}.

	(1997-05-05)

Account Representative

	<job> A person in a company who identifies new accounts,
	analyses customer needs, proposes business solutions,
	negotiates and oversees the implementation of new projects.

	(2004-03-08)

ACCU

	{Association of C and C++ Users}

accumulator

	<processor> In a {central processing unit}, a {register} in
	which intermediate results are stored.  Without an
	accumulator, it would be necessary to write the result of each
	calculation (addition, multiplication, {shift}, etc.) to {main
	memory} and read them back.  Access to main memory is slower
	than access to the accumulator which usually has direct paths
	to and from the {arithmetic and logic unit} (ALU).

	The {canonical} example is summing a list of numbers.  The
	accumulator is set to zero initially, each number in turn is
	added to the value in the accumulator and only when all
	numbers have been added is the result written to main memory.

	Modern CPUs usually have many registers, all or many of which
	can be used as accumulators.  For this reason, the term
	"accumulator" is somewhat archaic.  Use of it as a synonym for
	"register" is a fairly reliable indication that the user has
	been around for quite a while and/or that the architecture
	under discussion is quite old.  The term in full is almost
	never used of microprocessor registers, for example, though
	symbolic names for arithmetic registers beginning in "A"
	derive from historical use of the term "accumulator" (and not,
	actually, from "arithmetic").  Confusingly, though, an "A"
	register name prefix may also stand for "address", as for
	example on the {Motorola} {680x0} family.

	2. <programming> A register, memory location or variable being
	used for arithmetic or logic (as opposed to addressing or a
	loop index), especially one being used to accumulate a sum or
	count of many items.  This use is in context of a particular
	routine or stretch of code.  "The FOOBAZ routine uses A3 as an
	accumulator."

	[{Jargon File}]

	(1999-04-20)

accuracy

	<mathematics> How close to the real value a measurement is.

	Compare {precision}.

	(1998-04-19)

ACE

	1. {Advanced Computing Environment}.

	2. {Adaptive Communication Environment}.

ACF

	{Advanced Communications Function}

ACF/NCP

	{Advanced Communication Function/Network Control Program}

ACIA

	{Asynchronous Communications Interface Adapter}

ACID

	<programming> A {mnemonic} for the properties a transaction
	should have to satisfy the {Object Management Group}
	{Transaction Service} specifications.  A transaction should be
	{Atomic}, its result should be Consistent, Isolated
	(independent of other transactions) and Durable (its effect
	should be permanent).

	The {Transaction Service} specifications which part of the
	{Object Services}, an adjunct to the {CORBA} specifications.

	(1997-05-15)

ACIS

	<graphics> Andy, Charles, Ian's System.

	A {geometric engine} that most {CAD} packages now use.  ACIS
	uses a sophisticated {object-oriented} approach for modelling,
	the data is stored in {boundary representation}.  Acis is
	owned by {Spatial Technologies}.

	[How does this differ from "solid modelling"?].

	(1996-03-21)

ACK

	1. <character> /ak/ The {mnemonic} for the ACKnowledge
	character, {ASCII} code 6.

	2. <communications> A message transmitted to indicate that
	some data has been received correctly.  Typically, if the
	sender does not receive the ACK message after some
	predetermined time, or receives a {NAK}, the original data
	will be sent again.

	[{Jargon File}]

	(1997-01-07)

ACL

	1. {Access Control List}.

	2. {Association for Computational Linguistics}.

	3. A Coroutine Language.

	A {Pascal}-based implementation of {coroutines}.

	["Coroutines", C.D. Marlin, LNCS 95, Springer 1980].

	(1994-11-08)

ACM

	1. <body> The {Association for Computing}.

	2. <communications> {addressed call mode}.

ACME

	<company, jargon> /ak'mee/ 1. A Company that Makes Everything.
	The {canonical} imaginary business.  Possibly also derived
	from the word "acme" meaning "highest point".

	2. A program for {MS-DOS}.

	[What does it do?]

	(1994-11-08)

ACOM

	<language> An early system on the {IBM 705}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-08)

acorn

	{Acorn Computers Ltd.}

Acorn Archimedes

	{Archimedes}

Acorn Computer Group

	<company> A holding company for {Acorn Computers} Limited,
	Acorn Australia, Acorn New Zealand, Acorn GmbH and {Online
	Media}.  Acorn Computer Group owns 43% of {Advanced RISC
	Machines} Ltd.

	(1994-11-08)

Acorn Computers Ltd.

	<company> A UK computer manufacturer, part of the {Acorn
	Computer Group} plc.  Acorn was founded on 1978-12-05, on a
	kitchen table in a back room.  Their first creation was an
	electronic slot machine.  After the {Acorn System 1}, 2 and 3,
	Acorn launched the first commercial {microcomputer} - the
	{ATOM} in March 1980.  In April 1981, Acorn won a contract
	from the {BBC} to provide the {PROTON}.  In January 1982 Acorn
	launched the {BBC Microcomputer} System.  At one time, 70% of
	microcomputers bought for UK schools were BBC Micros.

	The Acorn Computer Group went public on the Unlisted
	Securities Market in September 1983.  In April 1984 Acorn won
	the Queen's Award for Technology for the BBC Micro and in
	September 1985 {Olivetti} took a controlling interest in
	Acorn.  The {Master} 128 Series computers were launched in
	January 1986 and the BBC {Domesday} System in November 1986.

	In 1983 Acorn began to design the Acorn RISC Machine (ARM),
	the first low-cost, high volume {RISC} processor chip (later
	renamed the {Advanced RISC Machine}).  In June 1987 they
	launched the {Archimedes} range - the first 32-bit {RISC}
	based {microcomputers} - which sold for under UKP 1000.  In
	February 1989 the R140 was launched.  This was the first
	{Unix} {workstation} under UKP 4000.  In May 1989 the A3000
	(the new {BBC Microcomputer}) was launched.

	In 1990 Acorn formed {Advanced RISC Machines} Ltd. (ARM) in
	partnership with {Apple Computer, Inc.} and {VLSI} to develop
	the ARM processor.  Acorn has continued to develop {RISC}
	based products.

	With 1992 revenues of 48.2 million pounds, Acorn Computers was
	the premier supplier of {Information Technology} products to
	UK education and had been the leading provider of 32-bit RISC
	based {personal computers} since 1987.

	Acorn finally folded in the late 1990s.  Their operating
	system, {RISC OS} was further developed by a consortium of
	suppliers.

	{Usenet} newsgroups: {news:comp.sys.acorn},
	{news:comp.sys.acorn.announce}, {news:comp.sys.acorn.tech},
	{news:comp.binaries.acorn}, {news:comp.sources.acorn},
	{news:comp.sys.acorn.advocacy}, {news:comp.sys.acorn.games}.

	{Acorn's FTP server (ftp://ftp.acorn.co.uk/)}.

	{HENSA software archive
	(http://micros.hensa.ac.uk/micros/arch.html)}.  {Richard
	Birkby's Acorn page (http://csv.warwick.ac.uk/~phudv/)}.
	{RiscMan's Acorn page (http://geko.com.au/riscman/)}.
	{Acorn On The Net (http://stir.ac.uk/~rhh01/Main.html)}.
	{"The Jungle" by Simon Truss
	(http://csc.liv.ac.uk/users/u1smt/u1smt.html)}.

	[Recent history?]

	(2000-09-26)

Acorn Online Media

	<company> A company formed in August 1994 by {Acorn Computer
	Group} plc to exploit the {ARM} RISC in television {set-top
	box} decoders.  They planned to woo {British
	Telecommunications} plc to use the box in some of its {video
	on demand} trials.

	The "STB1" box was based on an {ARM8} core with additional
	circuits to enable {MPEG} to be decoded in software - possibly
	dedicated instructions for interpolation, inverse {DCT} or
	{Huffman} table extraction.  A prototype featured audio {MPEG}
	chips, Acorn's {RISC OS} {operating system} and supported
	{Oracle Media Objects} and {Microword}.  Online planned to
	reduce component count by transferring functions from boards
	into the single RISC chip.

	The company was origianlly wholly owned by Acorn but was
	expected to bring in external investment.

	[Article by nobody@tandem.com cross-posted from
	tandem.news.computergram, 1994-07-07].

	In 1996 they releasd the imaginatively titled "Set Top Box 2"
	(STB20M) with a 32 MHz {ARM 7500} and 2 to 32 MB {RAM}.  There
	was also a "Set Top Box 22".

	{(http://www.khantazi.org/Archives/MachineLst.html#STB1)}.
	{(http://www.mcmordie.co.uk/acornhistory/riscpc700.shtml)}.
	{(http://acorn.chriswhy.co.uk/NC.html)}.

	(2007-11-12)

Acorn RISC Machine

	<processor> The original name of the {Advanced RISC Machine}.

	(1995-03-07)

ACOS

	<language> A {BBS} language for {PRODOS 8} on {Apple II}.
	{Macos} is a hacked version of ACOS.

	(1994-11-08)

acoustic coupler

	<hardware, communications> A device used to connect a {modem}
	to a telephone line via an ordinary handset.  The acoustic
	coupler converts electrical signals from the {modem} to sound
	via a loudspeaker, against which the mouthpiece of a telephone
	handset is placed.  The earpiece is placed against a
	{microphone} which converts sound to electrical signals which
	return to the modem.  The handset is inserted into a
	sound-proof box containing the louspeaker and microphone to
	avoid interference from ambient noise.

	Acousitic couplers are now rarely used since most modems have
	a direct electrical connection to the telephone line.  This
	avoids the signal degradation caused by conversion to and from
	audio.  Direct connection is not always possible, and was
	actually illegal in the United Kingdom before {British
	Telecom} was privatised.  BT's predecessor, the General Post
	Office, did not allow subscribers to connect their own
	equipment to the telephone line.

	(1994-11-08)

ACP

	{Algebra of Communicating Processes}

ACPI

	{Advanced Configuration and Power Interface}

Acrobat

	<text, product> A product from {Adobe Systems, Inc.}, for
	manipulating documents stored in {Portable Document Format}.
	Acrobat provides a {platform}-independent means of creating,
	viewing, and printing documents.

	{Acropolis: the magazine of Acrobat publishing
	(http://acropolis.com/acropolis)}.

	(1995-04-21)

acronym

	<jargon> An identifier formed from some of the letters (often
	the initials) of a phrase and used as an abbreviation.

	A {TLA} is a {meta}-acronym, i.e. an acronym about acronyms.

	{This dictionary (FOLDOC)} contains a great many acronyms; see
	{the contents page (/contents/all.html)} for a list.

	(2014-08-14)

ACSE

	{Association Control Service Element}

ACT

	1. <software> {Annual Change Traffic}.

	2. <company> {Ada Core Technologies}.

ACT++

	<language> A {concurrent} extension of {C++} based on
	{actors}.

	["ACT++: Building a Concurrent C++ With Actors", D.G. Kafura
	TR89-18, VPI, 1989].

	(1994-11-08)

Act1

	<language> An {actor} language descended from {Plasma}.

	["Concurrent Object Oriented Programming in Act1",
	H. Lieberman in Object Oriented Concurrent Programming,
	A. Yonezawa et al eds, MIT Press 1987].

	(1994-11-08)

ACT 1

	{Algebraic Compiler and Translator}

Act2

	<language> An {actor} language.

	["Issues in the Design of Act2", D. Theriault, TR728, MIT AI
	Lab, June 1983].

	(1994-11-08)

Act3

	<language> A high-level {actor} language by {Carl Hewitt}.  A
	descendant of {Act2} which provides support for automatic
	generation of {customers} and for {delegation} and
	{inheritance}.

	["Linguistic Support of Receptionists for Shared Resources",
	C. Hewitt et al in Seminar on Concurrency, S.D. Brookes et al
	eds, LNCS 197, Springer 1985, pp. 330-359].

	(1994-11-08)

Actalk

	<language> A {Smalltalk}-based {actor} language developed by
	J-P Briot in 1989.

	["Actalk: A Testbed for Classifying and Designing Actor
	Languages in the Smalltalk-80 Environment", J-P. Briot, Proc
	ECOOP '89, pp. 109-129].

	(1994-11-08)

Actis

	<programming> An approach to integrated {CASE} by {Apollo}.

	(1994-11-08)

activation record

	<compiler> (Or "data frame", "stack frame") A data structure
	containing the variables belonging to one particular {scope}
	(e.g. a procedure body), as well as links to other activation
	records.

	Activation records are usually created (on the {stack}) on
	entry to a block and destroyed on exit.  If a procedure or
	function may be returned as a result, stored in a variable and
	used in an outer scope then its activation record must be
	stored in a {heap} so that its variables still exist when it
	is used.  Variables in the current {scope} are accessed via
	the {frame pointer} which points to the current activation
	record.  Variables in an outer scope are accessed by following
	chains of links between activation records.  There are two
	kinds of link - the {static link} and the {dynamic link}.

	(1995-03-07)

active DBMS

	<database> A conventional or passive {DBMS} combined with a
	means of event detection and condition monitoring.  Event
	handling is often rule-based, as with an {expert system}.

	(1994-11-08)

Active Directory

	<operating system> A {directory service} from {Microsoft
	Corporation}, similar in concept to {Novell} {Netware
	Directory Services (NDS)}, that also integrates with the user
	organisation's {DNS} structure and is interoperable with
	{LDAP}.  Active Directory is included in {Windows 2000}.

	(2000-03-28)

Active Language I

	<tool, mathematics> An early interactive mathematics system
	for the {XDS 930} at the {University of California at
	Berkeley}.

	["Active Language I", R. de Vogelaere in Interactive Systems
	for Experimental Applied Mathematics, A-P 1968].

	(1994-11-08)

active matrix display

	<hardware> A type of {liquid crystal display} where each
	display element (each {pixel}) includes an active component
	such as a {transistor} to maintain its state between scans.

	Contrast {passive matrix display}.

	(1995-12-09)

Active Measurement Project

	<networking, tool, project> (AMP) An {NLANR} project
	undertaking site-to-site measurement across the {HPC}
	networks.  This work is intended to compliment the
	measurements taken by {MCI} and {Abilene} within the networks'
	infrastructure.  Currently {round trip times}, {topology}, and
	{packet loss} are being measured.

	(2004-01-18)

Active Monitor

	<networking> A process in an {IBM} {token ring} network which
	ensures a token is present on the ring, removes circulating
	frames with unknown or invalid destinations, and performs
	introductions between machines on the ring.

	(1996-06-18)

active object

	<programming> An {object} each {instance} of which has its own
	{thread} running as well as its own copies of the object's
	{instance variables}.

	(1998-03-08)

Active Reconfiguring Message

	<hardware> (ARM) An efficient mechanism which allows
	reconfiguration of the hardware logic of a system according to
	the particular data received or transmitted.

	In ARM each message contains extra information in a
	Reconfiguring {Header} in addition to the data to be
	transferred.  Upon arrival of the message the Reconfiguring
	Header is extracted, decoded and used to perform on-the-fly
	hardware reconfiguration.  As soon as the hardware has been
	reconfigured the data information of the message can be
	processed.

	[In what contect is this term used?]

	(1997-06-06)

Active Server Pages

	<web, programming> (ASP) A {scripting} environment
	for {Microsoft Internet Information Server} in which you can
	combine {HTML}, scripts and reusable {ActiveX} {server}
	components to create dynamic {web pages}.

	IIS 4.0 includes scripting engines for {Microsoft Visual
	Basic} Scripting Edition ({VBScript}) and {Microsoft JScript}.
	{ActiveX} scripting engines for {Perl} and {REXX} are
	available through third-party developers.

	[URL?]

	(1999-12-02)

ActiveX

	<programming> A type of {COM} component that can
	self-register, also known as an "ActiveX control".  All COM
	objects implement the "IUnknown" interface but an ActiveX
	control usually also implements some of the standard
	interfaces for embedding, user interface, methods, properties,
	events, and persistence.

	ActiveX controls were originally called "{OLE} Controls", and
	were required to provide all of these interfaces but that
	requirement was dropped, and the name changed, to make ActiveX
	controls lean enough to be downloaded as part of a web page.

	Because ActiveX components can support the OLE embedding
	interfaces, they can be included in web pages.  Because they
	are COM objects, they can be used from languages such as
	{Visual Basic}, {Visual C++}, {Java}, {VBScript}.

	["Understanding ActiveX and OLE", David Chappell, MS Press,
	1996].

	{(http://microsoft.com/com/tech/activex.asp)}.

	(2002-04-19)

ActiveX Data Objects

	<database, Microsoft, programming> (ADO) {Microsoft}'s
	{library} for accessing data sources through {OLE DB}.
	Typically it is used to query or modify data stored in a
	relational database.

	{Home
	(http://msdn.microsoft.com/library/en-us/ado270/htm/adostartpage1.asp)}.

	(2003-07-08)

ACT ONE

	<language, specification> A specification language.

	["An Algebraic Specification Language with Two Levels of
	Semantics", H. Ehrig et al, Tech U Berlin 83-1983-02-03].

	(1994-11-08)

Actor

	<language> An {object-oriented} language for {Microsoft
	Windows} written by Charles Duff of the {Whitewater Group} ca.
	1986.  It has {Pascal}/{C}-like {syntax}.  Uses a
	{token-threaded} {interpreter}.  {Early binding} is an option.

	["Actor Does More than Windows", E.R. Tello, Dr Dobb's J
	13(1):114-125 (Jan 1988)].

	(1994-11-08)

actor

	1. <programming> In {object-oriented} programming, an {object}
	which exists as a {concurrent} process.

	2. <operating system> In {Chorus}, the unit of resource
	allocation.

	(1994-11-08)

Actors

	<theory> A model for {concurrency} by {Carl Hewitt}.  Actors
	are autonomous and concurrent {objects} which execute
	{asynchronously}.  The Actor model provides flexible
	mechanisms for building parallel and {distributed} software
	systems.

	{(http://osl.cs.uiuc.edu/)}.

	["Laws for Communicating Parallel Processes", C. Hewitt et al,
	IFIP 77, pp. 987-992, N-H 1977].

	["ACTORS: A Model of Concurrent Computation in Distributed
	Systems", Gul A. Agha <agha@cs.uiuc.edu>, Cambridge Press, MA,
	1986].

	(1999-11-23)

actor/singer/waiter/webmaster

	<web> An elaboration of the ages-old concept of the
	actor/singer/waiter, someone who waits tables __for now__, but
	who has aspirations of breaking into the glamorous worlds of
	acting or New Media or both!

	He keeps going to auditions and sending a resumes to {C|Net
	(http://cnet.com/)} because you have to pay your dues.

	His credits include being on "Friends" (as an extra), in "ER"
	(actually, in an ER - he twisted his ankle once; but he counts
	the x-rays as screen credits), and having been the webmaster
	of an extensive multimedia interactive website (his hotlist of
	"Simpsons" links).

	(1998-04-04)

Actra

	<language> A {multi-processor} {exemplar}-based {Smalltalk}.

	[LaLonde et al, OOPSLA '86].

	(1994-11-08)

actual argument

	<programming> A value, expression, or reference passed to a
	{function} or {subroutine} when it is called and which
	replaces or is bound to the corresponding {formal argument}.

	See: {argument}.

	(2002-07-02)

Actus

	<language> {Pascal} with parallel extensions, similar to the
	earlier {Glypnir}.  It has parallel constants and {index
	sets}.  Descendants include {Parallel Pascal}, {Vector C} and
	{CMU}'s language {PIE}.

	["A Language for Array and Vector Processors," R.H. Perrott,
	ACM TOPLAS 1(2):177-195 (Oct 1979)].

	(1994-11-08)

AD

	{Administrative Domain}

ad

	<networking> The {country code} for Andorra.

	(1999-01-26)

Ada

	<language> (After {Ada Lovelace}) A {Pascal}-descended
	language, designed by Jean Ichbiah's team at {CII Honeywell}
	in 1979, made mandatory for Department of Defense software
	projects by the Pentagon.  The original language was
	standardised as "Ada 83", the latest is "{Ada 95}".

	Ada is a large, complex, {block-structured} language aimed
	primarily at {embedded} applications.  It has facilities for
	{real-time} response, {concurrency}, hardware access and
	reliable run-time error handling.  In support of large-scale
	{software engineering}, it emphasises {strong typing}, {data
	abstraction} and {encapsulation}.  The type system uses {name
	equivalence} and includes both {subtypes} and {derived types}.
	Both fixed and {floating-point} numerical types are supported.

	{Control flow} is fully bracketed: if-then-elsif-end if,
	case-is-when-end case, loop-exit-end loop, goto.  Subprogram
	parameters are in, out, or inout.  Variables imported from
	other packages may be hidden or directly visible.  Operators
	may be {overloaded} and so may {enumeration} literals.  There
	are user-defined {exceptions} and {exception handlers}.

	An Ada program consists of a set of packages encapsulating
	data objects and their related operations.  A package has a
	separately compilable body and interface.  Ada permits
	{generic packages} and subroutines, possibly parametrised.

	Ada support {single inheritance}, using "tagged types" which
	are types that can be extended via {inheritance}.

	Ada programming places a heavy emphasis on {multitasking}.
	Tasks are synchronised by the {rendezvous}, in which a task
	waits for one of its subroutines to be executed by another.
	The conditional entry makes it possible for a task to test
	whether an entry is ready.  The selective wait waits for
	either of two entries or waits for a limited time.

	Ada is often criticised, especially for its size and
	complexity, and this is attributed to its having been designed
	by committee.  In fact, both Ada 83 and Ada 95 were designed
	by small design teams to be internally consistent and tightly
	integrated.  By contrast, two possible competitors, {Fortran
	90} and {C++} have both become products designed by large and
	disparate volunteer committees.

	See also {Ada/Ed}, {Toy/Ada}.

	{Home of the Brave Ada Programmers
	(http://lglwww.epfl.ch/Ada/)}.  {Ada FAQs
	(http://lglwww.epfl.ch/Ada/FAQ/)} (hypertext), {text only
	(ftp://lglftp.epfl.ch/pub/Ada/FAQ)}.

	{(http://wuarchive.wustl.edu/languages/ada/)},
	{(ftp://ajpo.sei.cmu.edu/)},
	{(ftp://stars.rosslyn.unisys.com/pub/ACE_8.0)}.

	E-mail: <adainfo@ajpo.sei.cmu.edu>.

	{Usenet} newsgroup: {news:comp.lang.ada}.

	{An Ada grammar (ftp://primost.cs.wisc.edu/)} including a lex
	scanner and yacc parser is available.  E-mail:
	<masticol@dumas.rutgers.edu>.

	{Another yacc grammar and parser for Ada by Herman Fischer
	(ftp://wsmr-simtel20.army.mil/PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC)}.

	An {LR parser} and {pretty-printer} for {Ada} from NASA is
	available from the {Ada Software Repository}.

	{Adamakegen} generates {makefiles} for {Ada} programs.

	["Reference Manual for the Ada Programming Language", ANSI/MIL
	STD 1815A, US DoD (Jan 1983)].  Earlier draft versions
	appeared in July 1980 and July 1982.  ISO 1987.

	[{Jargon File}]

	(2000-08-12)

Ada++

	<language> An {object-oriented} extension to {Ada},
	implemented as an Ada {preprocessor}.  Obsoleted by {Ada 95}
	which includes object-oriented features.

	[{Jargon File}]

	(1995-09-19)

Ada 83

	<language> The original {Ada}, as opposed to {Ada 95}.

	(1995-03-13)

Ada 95

	<language> A revision and extension of {Ada} (Ada 83) begun in
	1988 and completed on 1994-12-01 by a team lead by Tucker Taft
	of {Intermetrics}.  Chris Anderson was the Project Manager.
	The printed standard was expected to be available around
	1995-02-15.

	Additions include {object-orientation} ({tagged types},
	{abstract types} and {class-wide types}), hierarchical
	libraries and synchronisation with shared data (protected
	types) similar to {Orca}.  It lacks {multiple inheritance} but
	supports the construction of multiple inheritance type
	hierarchies through the use of {generics} and {type
	composition}.

	{GNAT} aims to be a free implementation of Ada 95.

	You can get the standard from the {Ada Joint Program Office
	(http://wuarchive.wustl.edu/languages/ada/ajpo/index.shtml)}.

	["Introducing Ada 9X", J.G.P. Barnes, Feb 1993].

	(1999-12-02)

Ada 9X

	<language> The working title for {Ada 95} before its adoption
	as an {ISO} {standard}.

	(1995-01-19)

ADABAS

	<database> A {relational database} system by {Software AG}.
	While it was initially designed for large {IBM} {mainframe}
	systems (e.g. {S/370} in the late 1970s), it has been ported
	to numerous other {platforms} over the last few years such as
	several flavors of {Unix} including {AIX}.

	ADABAS stores its data in tables (and is thus "relational")
	but also uses some non-relational techniques, such as
	{multiple values} and {periodic groups}.

	(1995-10-30)

Ada Core Technologies

	<company> (ACT) The company that maintains {GNAT}.

	Ada Core Technologies was founded in 1994 by the original
	authors of the GNAT compiler.  ACT provides software for {Ada
	95} development.

	{(http://gnat.com/)}.

	(2000-10-28)

Ada/Ed

	<language, education> An {interpreter}, editor, and {run-time
	environment} for {Ada}, intended as a teaching tool.  Ada/Ed
	does not have the capacity, performance, or robustness of
	commercial Ada compilers.  Ada/Ed was developed at {New York
	University} as part of a project in language definition and
	software prototyping.

	AdaEd runs on {Unix}, {MS-DOS}, {Atari ST}, and {Amiga}.

	It handles nearly all of {Ada 83} and was last validated with
	version 1.7 of the {ACVC} tests.  Being an interpreter, it
	does not implement most {representation clauses} and thus does
	not support systems programming close to the machine level.

	Latest version: 1.11.0a+, as of 1994-08-18.  A later version
	is known as {GW-Ada}.

	E-mail: Michael Feldman <mfeldman@seas.gwu.edu>.

	{(ftp://ftp.wustl.edu/amiga/languages/ada)},
	{(ftp://cnam.cnam.fr/pub/Ada/Ada-Ed)}.  {For Amiga
	(ftp://cs.nyu.edu/pub/adaed)}.

	{RISC OS port
	(ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c052)}.

	(1999-11-04)

Adaline

	<architecture> Name given by Widrow to {adaptive linear
	neurons}, that is {neurons} (see {McCulloch-Pitts}) which
	learn using the {Widrow-Huff Delta Rule}.  See also
	{Madaline}.

	(1995-03-14)

Ada Lovelace

	<person> (1811-1852) The daughter of Lord Byron, who became
	the world's first programmer while cooperating with {Charles
	Babbage} on the design of his mechanical computing engines in
	the mid-1800s.

	The language {Ada} was named after her.

	[{"Ada, Enchantress of Numbers Prophit of the Computer Age",
	Betty Alexandra Toole (http://well.com/user/adatoole)}].

	[More details?]

	(1999-07-17)

ADAM

	{A Data Management system}

Adam7

	<graphics, algorithm> One of the {progressive coding} methods
	used in {PNG} {images}.  Adam7, named after its author, Adam
	M. Costello, consists of seven distinct passes over the image.
	Each pass transmits a subset of the {pixels} in the image.
	The pass in which each pixel is transmitted is defined by
	replicating the following 8-by-8 pattern over the entire
	image, starting at the top left:

	 1 6 4 6 2 6 4 6
	 7 7 7 7 7 7 7 7
	 5 6 5 6 5 6 5 6
	 7 7 7 7 7 7 7 7
	 3 6 4 6 3 6 4 6
	 7 7 7 7 7 7 7 7
	 5 6 5 6 5 6 5 6
	 7 7 7 7 7 7 7 7

	(2000-09-12)

Adamakegen

	<tool> A program that generates {makefiles} for {Ada}
	programs.  Adamakegen was written by Owen O'Malley
	<owen@schwartz-omalley.com>.  It requires {Icon} and runs
	under {Verdix} and {SunAda}.

	Latest version: 2.6.3, as of 1993-03-02.

	{Adamakegen Home
	(http://schwartz-omalley.com/people/owen/tools/adamakegen.html)}.

	(2004-08-21)

ADAMO

	<database> A data management system written at {CERN}, based
	on the {Entity-Relationship model}.

	(1995-03-14)

Adam Osborne

	<person> The ex-book publisher who founded {Osborne Computer
	Corporation}.

	(2007-05-21)

Ada-O

	<language> An {Ada} subset developed at the {University of
	Karlsruhe} in 1979, used for {compiler} {bootstrapping}.  It
	lacks {overloading}, {derived types}, {real numbers}, tasks
	and {generics}.

	["Revised Ada-O Reference Manual", G. Persch et al, U
	Karlsruhe, Inst fur Infor II, Bericht Nr 9/81].

	(1995-02-14)

Adaplan

	<language> A {functional database} language based upon
	{Backus}' {FP} language.

	[Erwig&Lipeck, Proc. DBPL-3, 1991].

	(1995-05-07)

Adaplex

	<language, database> An extension of {Ada} for {functional
	databases}.

	["Adaplex: Rationale and Reference Manual 2nd ed", J.M. Smith
	et al, Computer Corp America, Cambridge MA, 1983].

	(1995-02-14)

Ada Programming Support Environment

	<tool, project> (APSE) A program or set of programs to support
	software development in the Ada language.

	[Examples?]

	(1997-06-30)

ADAPT

	<language> A subset of {APT}.

	[Sammet 1969, p. 606].

	(1995-02-14)

Adaptable User Interface

	<tool, product> (AUI, Oracle Toolkit) A toolkit from {Oracle}
	allowing applications to be written which will be portable
	between different {windowing systems}.  AUI provides one {call
	level interface} along with a resource manager and editor
	across a range of "standard" {GUIs}, including {Macintosh},
	{Microsoft Windows} and the {X Window System}.

	(1995-03-16)

Adaptec

	<company> A company specialising in the aera of movement of
	data between computers.  Adaptec designs hardware and software
	products to transfer data from a computer to a {peripheral}
	device or {network}.

	Founded in 1981, the company achieved profitability in 1984,
	went public in 1986, and to date has achieved 54 consecutive
	profitable quarters.

	Revenues for fiscal 1997 were $934 million, a 42% increase
	over the prior year.  Net income, excluding acquisition
	charges, for fiscal year 1997 was $198 million or $1.72 per
	share.

	{(http://adaptec.com)}.

	(1999-08-25)

adaptive answering

	<communications> A feature which allows a {faxmodem} to answer
	the telephone and decide whether the incoming call is a fax or
	data call.  Most {Class 1} faxmodems do this.  The
	{U.S. Robotics} Class 1 implementation however seems not to do
	it, it must be set to answer as either one or the other.

	(1995-03-16)

Adaptive Communication Environment

	<communications, tool> A {C++} wrapper library for
	communications from the {University of California at Irvine}.

	(1995-03-16)

Adaptive Digital Pulse Code Modulation

	<communications> (ADPCM) A {compression} technique which
	records only the difference between samples and adjusts the
	coding scale dynamically to accomodate large and small
	differences.  ADPCM is simple to implement, but introduces
	much {noise}.

	[Used where?  Does the {Sony} minidisk use ADPCM or {ATRAC}?]

	(1998-12-10)

adaptive learning

	<algorithm> (Or "{Hebbian} learning") Learning where a system
	programs itself by adjusting weights or strengths until it
	produces the desired output.

	(1995-03-16)

adaptive routing

	{dynamic routing}

Adaptive Server Enterprise

	<database (ASE) The {relational database management system}
	that started life in the mid-eighties [first release?] as
	"Sybase SQL Server".  For a number of years {Microsoft} was a
	Sybase distributor, reselling the Sybase product for {OS/2}
	and (later) {Windows NT} under the name "Microsoft SQL
	Server".

	Around 1994, Microsoft basically bought a copy of the {source
	code} of Sybase SQL Server and then went its own way.  As
	competitors, Sybase and Microsoft have been developing their
	products independently ever since.  Microsoft has mostly
	emphasised ease-of-use and "Window-ising" the product, while
	Sybase has focused on maximising performance and reliability,
	and running on high-end hardware.

	When releasing version 11.5 in 1997, Sybase renamed its
	product to "ASE" to better distinguish its database from
	Microsoft's.  Both ASE and MS SQL Server call their query
	language "Transact-SQL" and they are very similar.

	Sybase SQL Server was the first true {client-server} RDBMS
	which was also capable of handling real-world workloads.  In
	contrast, other DBMSs have long been monolithic programs; for
	example, {Oracle} only "bolted on" client-server functionality
	in the mid-nineties.  Also, Sybase SQL Server was the first
	commercially successful RDBMS supporting {stored procedures}
	and {triggers}, and a cost-based {query optimizer}.

	As with many other technology-driven competitors of Microsoft,
	Sybase has lost market share to MS's superior marketing,
	though many consider it has the superior system.

	{(http://sypron.nl/whatis_ase.html)}.

	(2003-07-02)

Adaptive Simulated Annealing

	<language> (ASA) An {algorithm} for global optimisation of
	generic {functions} by Lester Ingber
	<ingber@alumni.caltech.edu> <ingber@ingber.com>.

	Latest version: 20.5, as of 2000-02-29.

	{(http://alumni.caltech.edu/~ingber/)}.

	{(http://ingber.com/)}.

	Mailing list: <asa-request@alumni.caltech.edu>.

	(2000-02-29)

Adaptive TRansform Acoustic Coding

	<algorithm> (ATRAC) An audio compression {algorithm},
	introduced by {Sony} for its {Mini Disk}, which relies on the
	masking of low-amplitude frequency components by temporaly
	adjacent high-amplitude components.  ATRAC consists of a
	three-band {subband encoder} (0...5.5, 5.5...11, 11...22 kHz)
	and a {MDCT} based transformation encoder.

	[Does Sony Minidisk use {ADPCM}?]

	(2001-12-13)

Adaptor

	<tool> (Automatic DAta Parallelism TranslatOR) A source to
	source transformation tool that transforms {data parallel}
	programs written in {Fortran 77} with {array} extensions,
	parallel loops, and layout directives to parallel programs
	with explicit {message passing}.  ADAPTOR generates {Fortran
	77} host and node programs with message passing.  The new
	generated source codes have to be compiled by the compiler of
	the parallel computer.

	Version 1.0 runs on {CM-5}, {iPCS/860}, {Meiko CS1}/CS2, {KSR
	1}, {SGI}, {Alliant} or a network of {Suns} or {RS/6000s}.

	{(ftp://ftp.gmd.de/gmd/adaptor/adp_1.0.tar.Z)}.

	[Connection with Thomas Brandes and GMD?]

	(1993-06-01)

Ada Semantic Interface Specification

	<language> (ASIS) An intermediate representation for {Ada}.

	E-mail: <sblake@thomsoft.com>.

	See also {Diana}.

	(1995-02-15)

Ada Software Repository

	<language> A collection of {Ada} programs?

	{(http://wuarchive.wustl.edu/languages/ada/asr/)}.

	(1995-01-06)

ADC

	{Analog to Digital Converter}

ADCCP

	{Advanced Data Communications Control Protocol}

A/D converter

	{Analog to Digital Converter}

ADCU

	{application developer customer unit}

AD/Cycle

	<tool, product> Application Development cycle.

	A set of {SAA}-compatible {IBM}-sponsored products for program
	development, running on workstations accessing a central
	repository on a {mainframe}.  The stages cover requirements,
	analysis and design, production of the application, building
	and testing and maintenance.  Technologies used include code
	generators and {knowledge based systems} as well as languages
	and debuggers.

	(1994-10-24)

ADD 1 TO COBOL GIVING COBOL

	<humour, language> (From COBOL's equivalent syntax to C's C++)
	A tongue-in-cheek suggestion by Bruce Clement for an
	{object-oriented} {COBOL}.

	[SIGPLAN Notices 27(4):90-91 (Apr 1992)].

	(1995-03-17)

ADDD

	<tool> A Depository of Development Documents.

	A {public domain} Software Engineering Environment from {GMD}
	developed as part of the {STONE} project.

	(1995-02-03)

additive

	<mathematics> A function f : X -> Y is additive if

	 for all Z <= X
	 f (lub Z)  =  lub { f z : z in Z }

	(f "preserves {lubs}").  All additive functions defined over
	{cpos} are {continuous}.

	("<=" is written in {LaTeX} as {\subseteq}, "lub" as \sqcup ).

	(1995-02-03)

address

	1. <networking> {e-mail address}.

	2. <networking> {IP address}.

	3. <networking> {MAC address}.

	4. <storage, programming> An unsigned integer used to select
	one fundamental element of storage, usually known as a {word}
	from a computer's {main memory} or other storage device.  The
	{CPU} outputs addresses on its {address bus} which may be
	connected to an {address decoder}, {cache controller}, {memory
	management unit}, and other devices.

	While from a hardware point of view an address is indeed an
	integer most {strongly typed} programming languages disallow
	mixing integers and addresses, and indeed addresses of
	different data types.  This is a fine example for {syntactic
	salt}: the compiler could work without it but makes writing
	bad programs more difficult.

	(1997-07-01)

address book

	<messaging> A collection of electronic {contacts} for use in an
	{electronic mail} system, {mobile phone} or any other system for
	exchanging messages with other people or organisations.

	(2014-06-20)

address bus

	<processor> The connections between the {CPU} and memory which
	carry the {address} from/to which the CPU wishes to read or
	write.  The number of bits of address bus determines the
	maximum size of memory which the processor can access.

	See also {data bus}.

	(1995-03-22)

addressed call mode

	<communications> (ACM) A mode that permits control signals and
	commands to establish and terminate calls in {V.25bis}.

	(1997-05-07)

addressee

	<communications> One to whom something is addressed.
	E.g. "The To, CC, and {BCC} {headers} list the addressees of
	the e-mail message".  Normally an addressee will eventually be
	a {recipient}, unless there is a failure at some point (an
	e-mail "{bounces}") or the message is redirected to a
	different addressee.

	(2000-03-22)

addressing mode

	1. <processor, programming> One of a set of methods for
	specifying the {operand}(s) for a {machine code} instruction.
	Different processors vary greatly in the number of addressing
	modes they provide.  The more complex modes described below
	can usually be replaced with a short sequence of instructions
	using only simpler modes.

	The most common modes are "register" - the operand is stored
	in a specified {register}; "absolute" - the operand is stored
	at a specified memory address; and "{immediate}" - the operand
	is contained within the instruction.

	Most processors also have {indirect addressing} modes, e.g.
	"register indirect", "memory indirect" where the specified
	register or memory location does not contain the operand but
	contains its address, known as the "{effective address}".  For
	an absolute addressing mode, the effective address is
	contained within the instruction.

	Indirect addressing modes often have options for pre- or post-
	increment or decrement, meaning that the register or memory
	location containing the {effective address} is incremented or
	decremented by some amount (either fixed or also specified in
	the instruction), either before or after the instruction is
	executed.  These are very useful for {stacks} and for
	accessing blocks of data.  Other variations form the effective
	address by adding together one or more registers and one or
	more constants which may themselves be direct or indirect.
	Such complex addressing modes are designed to support access
	to multidimensional arrays and arrays of data structures.

	The addressing mode may be "implicit" - the location of the
	operand is obvious from the particular instruction.  This
	would be the case for an instruction that modified a
	particular control register in the CPU or, in a {stack} based
	processor where operands are always on the top of the stack.

	2. In {IBM} {System 370}/{XA} the addressing mode bit controls
	the size of the {effective address} generated.  When this bit
	is zero, the CPU is in the 24-bit addressing mode, and 24 bit
	instruction and operand effective addresses are generated.
	When this bit is one, the CPU is in the 31-bit addressing
	mode, and 31-bit instruction and operand effective addresses
	are generated.

	["IBM System/370 Extended Architecture Principles of
	Operation", Chapter 5., 'Address Generation', BiModal
	Addressing].

	(1995-03-30)

address mask

	<networking> (Or "subnet mask") A {bit mask} used to identify
	which bits in an {IP address} correspond to the {network
	address} and {subnet} portions of the address.  This mask is
	often referred to as the subnet mask because the network
	portion of the address can be determined by the {class}
	inherent in an IP address.  The address mask has ones in
	positions corresponding to the network and subnet numbers and
	zeros in the host number positions.

	(1996-03-21)

address resolution

	<networking> Conversion of an {Internet address} into the
	corresponding physical address ({Ethernet address}).  This is
	usually done using {Address Resolution Protocol}.

	The {resolver} is a library routine and a set of processes
	which converts {hostnames} into {Internet addresses}, though
	this process in not usually referred to as {resolution}.  See
	{DNS}.

	(1996-04-09)

Address Resolution Protocol

	<networking, protocol> (ARP) A method for finding a {host}'s
	{Ethernet address} from its {Internet address}.  The sender
	broadcasts an ARP {packet} containing the {Internet address}
	of another host and waits for it (or some other host) to send
	back its Ethernet address.  Each host maintains a {cache} of
	address translations to reduce delay and loading.  ARP allows
	the Internet address to be independent of the Ethernet address
	but it only works if all hosts support it.

	ARP is defined in {RFC 826}.

	The alternative for hosts that do not do ARP is {constant
	mapping}.

	See also {proxy ARP}, {reverse ARP}.

	(1995-03-20)

address space

	<operating system, architecture> The range of addresses which
	a processor or process can access, or at which a {device} can
	be accessed.  The term may refer to either {physical address}
	or {virtual address}.

	The size of a processor's address space depends on the width
	of the processor's {address bus} and address {registers}.

	Each device, such as a memory {integrated circuit}, will have
	its own local address space which starts at zero.  This will
	be mapped to a range of addresses which starts at some base
	address in the processor's address space.

	Similarly, each {process} will have its own address space,
	which may be all or a part of the processor's address space.
	In a {multitasking} system this may depend on where in memory
	the process happens to have been loaded.  For a process to be
	able to run at any address it must consist of
	{position-independent code}.  Alternatively, each process may
	see the same local address space, with the {memory management
	unit} mapping this to the process's own part of the
	processor's address space.

	(1999-11-01)

Address Strobe

	<storage> (AS) One of the input signals of a memory device,
	especially {semiconductor} memory, which is asserted to tell
	the memory device that the {address} inputs are valid.  Upon
	receiving this signal the selected memory device starts the
	memory access (read/write) indicated by its other inputs.

	It may be driven directly by the {processor} or by a {memory
	controller}.

	(1996-10-02)

ADELE

	<language> A language for specification of {attribute
	grammars}, used by the {MUG2} {compiler compiler}.

	["An Overview of the Attribute Definition Language ADELE",
	H. Ganziger in GI3, Fachesprach "Compiler-Compiler",
	W. Henhapl ed, Munchen Mar 1982, pp.22-53].

	(1995-01-23)

ADES

	<language> An early system on the {IBM 704}.

	Version: ADES II.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-03-20)

ad hoc

	Contrived purely for the purpose in hand rather than planned
	carefully in advance.  E.g. "We didn't know what to do about
	the sausage rolls, so we set up an ad-hoc committee".

	(1995-03-25)

ad-hockery

	<jargon> /ad-hok'*r-ee/ (Purdue) 1. Gratuitous assumptions
	made inside certain programs, especially {expert systems},
	which lead to the appearance of semi-intelligent behaviour but
	are in fact entirely arbitrary.  For example, {fuzzy-matching}
	of input tokens that might be typing errors against a symbol
	table can make it look as though a program knows how to spell.

	2. Special-case code to cope with some awkward input that
	would otherwise cause a program to fail, presuming normal
	inputs are dealt with in some cleaner and more regular way.
	Also called "ad-hackery", "ad-hocity" (/ad-hos'*-tee/),
	"ad-crockery".

	See also {ELIZA effect}.

	[{Jargon File}]

	(1995-01-05)

ad-hoc polymorphism

	{overloading}

Aditi

	<database, project> The Aditi Deductive Database System.  A
	multi-user {deductive database} system from the Machine
	Intelligence Project at the {University of Melbourne}.  It
	supports base {relations} defined by {facts} (relations in the
	sense of {relational databases}) and {derived relations}
	defined by {rules} that specify how to compute new information
	from old information.

	Both base relations and the rules defining derived relations
	are stored on disk and are accessed as required during query
	evaluation.  The rules defining derived relations are
	expressed in a {Prolog}-like language, which is also used for
	expressing queries.

	Aditi supports the full structured data capability of Prolog.
	Base relations can store arbitrarily nested terms, for example
	arbitrary length lists, and rules can directly manipulate such
	terms.  Base relations can be indexed with {B-trees} or
	multi-level signature files.

	Users can access the system through a {Motif}-based query and
	database administration tool, or through a command line
	interface.  There is also in interface that allows {NU-Prolog}
	programs to access Aditi in a transparent manner.  Proper
	{transaction processing} is not supported in this release.

	The beta release runs on {SPARC}/{SunOS4}.1.2 and
	{MIPS}/{Irix}4.0.

	E-mail: <aditi@cs.mu.oz.au>.

	(1992-12-17)

adjacency

	<networking> A relationship between two {network} devices,
	e.g. {routers}, which are connected by one media segment so
	that a packet sent by one can reach the other without going
	through another network device.  The concept of adjacency is
	important in the exchange of routing information.

	Adjacent {SNA} {nodes} are nodes connected to a given node
	with no intervening nodes.  In {DECnet} and {OSI}, adjacent
	nodes share a common segment ({Ethernet}, {FDDI}, {Token
	Ring}).

	(1998-03-10)

adjacent

	{adjacency}

ADL

	1. <games> {Adventure Definition Language}.

	2. <language> {Ada} Development Language.

	R.A. Lees, 1989.

	3. <programming> {API} Definition Language.

	A project for Automatic Interface Test Generation.

	(1995-11-17)

AdLog

	<language> A language which adds a {Prolog} layer to {Ada}.

	["AdLog, An Ada Components Set to Add Logic to Ada",
	G. Pitette, Proc Ada-Europe Intl Conf Munich, June 1988].

	(1995-03-21)

ADM

	<language> A picture {query language}, extension of {Sequel2}.

	["An Image-Oriented Database System", Y. Takao et al, in
	Database Techniques for Pictorial Applications, A. Blaser ed,
	pp. 527-538].

	(1995-03-21)

ADMD

	{Administration Management Domain}

admin

	{system administrator}

Administration Management Domain

	<networking> (ADMD) An {X.400} {Message Handling System}
	{public service carrier}.  The ADMDs in all countries
	worldwide together provide the X.400 {backbone}.  Examples:
	{MCImail} and {ATTmail} in the U.S., {British Telecom}
	{Gold400mail} in the U.K.

	See also {PRMD}.

	[RFC 1208].

	(1997-05-07)

administrative distance

	<networking> A rating of the trustworthiness of a {routing}
	information source set by the router administrator.  In
	{Cisco} {routers}, administrative distance is a number between
	0 and 255 (the higher the value, the less trustworthy the
	source).

	(1998-03-10)

Administrative Domain

	<networking> (AD) A collection of {hosts} and {routers}, and
	the interconnecting network(s), managed by a single
	{administrative authority}.

	(1994-11-24)

admissible

	<algorithm> A description of a {search algorithm} that is
	guaranteed to find a minimal solution path before any other
	solution paths, if a solution exists.  An example of an
	admissible search algorithm is {A* search}.

	(1999-07-19)

ADO

	{ActiveX Data Objects}

Adobe Systems, Inc.

	<company> A California {font} foundry and {software} house.
	Adobe created the {PostScript} {page description language} and
	wrote the {Blue Book}, {Green Book}, {Red Book} and {White
	Book} on it.  They also developed {PDF}.  Adobe took over
	{Frame Technology Corporation} in late 1995/early 1996.

	{(http://adobe.com/)}.

	E-mail: <postmaster@adobe.com>.

	Address: Silicon Valley, California, USA.

	(1996-12-13)

Adobe Type Manager

	<text, tool, product> (ATM) Software that produces
	{PostScript} {outline fonts} on screen and paper.  There are
	versions that run under {Microsoft Windows} and on the
	{Macintosh}.  ATM can do {hinting}, {multiple master} and
	{anti-aliasing}.

	(1998-03-10)

ADPCM

	{Adaptive Digital Pulse Code Modulation}

ADR

	{Astra Digital Radio}

ADS

	An {expert system}.

ADSL

	{Asymmetric Digital Subscriber Line}

ADSP

	{AppleTalk Data Stream Protocol}

ADSU

	{ATM Data Service Unit}

ADT

	{abstract data type}

Advanced Audio Coding

	<audio> (AAC) A successor to {MP3}, allowing lower {bit rates}
	and more stable quality.

	See {MPEG-2 AAC Low Profile} and {MPEG-4 AAC Main Profile}.

	(2001-12-02)

Advanced Communication Function/Network Control Program

	<networking> (ACF/NCP, usually called just "NCP") The primary
	{SNA} {network control program}, one of the {ACF} products.
	ACF/NCP resides in the {communications controller} and
	interfaces with {ACF/VTAM} in the {host processor} to control
	network communications.

	NCP can also communicate with multiple {hosts} using {local
	channel} or remote links ({PU} type 5 or PU type 4) thus
	enabling cross {domain} application communication.  In a
	multiple {mainframe} SNA environment, any terminal or
	application can access any other application on any host using
	cross domain logon.

	See also {Emulator program}.

	[Communication or Communications?]

	(1999-01-29)

Advanced Communications Function

	<networking> (ACF) A group of {IBM} {SNA} products that
	provide {distributed processing} and resource sharing such as
	{VTAM} and {NCP}.

	[Communication or Communications?]

	(1997-05-07)

Advanced Computing Environment

	<body> (ACE) A consortium to agree on an {open} architecture
	based on the {MIPS R4000} chip.  A computer architecture ARCS
	will be defined, on which either {OS/2} or {Open Desktop} can
	be run.

	(1995-02-03)

Advanced Configuration and Power Interface

	<hardware, standard> (ACPI) An open industry standard
	developed by {Intel}, {Microsoft}, and {Toshiba} for
	configuration and {power management}.

	The key element of the standard is power management with two
	important improvements.  First, it puts the {OS} in control of
	power management.  In the currently existing {APM} model most
	of the power management tasks are run by the {BIOS}, with
	limited intervention from the OS.  In ACPI, the BIOS is
	responsible for the dirty details of communicating with
	hardware equipment but the control is in the OS.

	The other important feature is bringing power management
	features now available only in {portable computers} to
	{desktop computers} and {servers}.  Extremely low consumption
	states, i.e., in which only memory, or not even memory is
	powered, but from which ordinary interrupts (real time clock,
	keyboard, modem, etc.) can quickly wake the system, are today
	available in portables only.  The standard should make these
	available for a wider range of systems.

	For ACPI to work the operating system, the {motherboard}
	chipset, and for some functions even the {CPU} has to be
	designed for it.  Microsoft is heavily driving a move toward
	ACPI, both {Windows NT 5.0} and {Windows 98} will support it.
	It remains to be seen how much hardware manufacturers will
	embrace the technology and whether other operating system
	vendors will support it.

	{ACPI Information Page (http://teleport.com/~acpi/)}.

	(1998-03-27)

Advanced Data Communications Control Protocol

	<protocol> An {ANSI} {standard} {bit-oriented} {data link}
	control {protocol}.

	(1997-05-07)

Advanced Encryption Standard

	<cryptography, algorithm> (AES) The {NIST}'s replacement for
	the {Data Encryption Standard} (DES).  The Rijndael
	/rayn-dahl/ {symmetric block cipher}, designed by Joan Daemen
	and Vincent Rijmen, was chosen by a NIST contest to be AES.

	AES is Federal Information Processing Standard FIPS-197.

	AES currently supports 128, 192 and 256-bit keys and
	encryption blocks, but may be extended in multiples of 32
	bits.

	{(http://csrc.nist.gov/CryptoToolkit/aes/)}.

	{Rijndael home page
	(http://esat.kuleuven.ac.be/~rijmen/rijndael/)}.

	(2003-07-04)

Advanced Function Presentation

	<printer, language> (AFP) A {page description language} from
	{IBM} introduced in 1984 initially as Advanced Function
	Printing.  AFP was first developed for {mainframes} and then
	brought to {minicomputers} and {workstations}.  It is
	implemented on the various {platforms} by {Print Services
	Facility} (PSF) software, which generates the {native} IBM
	printer language, {IPDS} and, depending on the version,
	{PostScript} and LaserJet {PCL} as well.  IBM calls AFP a
	"printer architecture" rather than a page description
	language.

Advanced Function Printing

	{Advanced Function Presentation}

Advanced Intelligent Tape

	<storage> (AIT) A form of {magnetic tape} and drive using
	{AME} developed by {Sony} for storing large amounts of data.
	An AIT can store over 50 {gigabytes} and transfer data at six
	megabytes/second (in February 1999).  AIT features high speed
	file access, long head and media life, the {ALDC compression}
	{algorithm}, and a {MIC} chip.

	{(http://aittape.com/)}.

	{Seagate
	(http://seagate.com/support/tape/scsiide/sidewinder/ait_main_page.shtml)}.

	(1999-04-16)

Advanced Interactive eXecutive

	<operating system> (AIX) {IBM}'s version of {Unix}, taken as
	the basis for the {OSF} {standard}.

	{Usenet} newsgroup: {news:comp.sys.unix.aix}.

	(1994-11-24)

Advanced Micro Devices, Inc.

	<company> (AMD) A US manufacturer of {integrated circuits},
	founded in 1969.  AMD was the fifth-largest IC manufacturer in
	1995.  AMD focuses on the personal and networked computation
	and communications market.  They produce {microprocessors},
	{embedded processors} and related peripherals, memories,
	{programmable logic devices}, circuits for telecommunications
	and networking applications.

	In 1995, AMD had 12000 employees in the USA and elsewhere and
	manufacturing facilities in Austin, Texas; Aizu-Wakamatsu,
	Japan; Bangkok, Thailand; Penang, Malaysia; and Singapore.

	AMD made the {AMD 2900} series of {bit-slice} {TTL} components
	and clones of the {Intel 80386} and {Intel 486}
	{microprocessors}.

	{AMD Home (http://amd.com/)}.

	Address: Sunnyvale, CA, USA.

	(1995-02-27)

Advanced Network Systems Architecture

	<networking> (ANSA) A "{software bus}" based on a model for
	distributed systems developed as an {ESPRIT} project.

	{(http://ansa.co.uk/)}.

	(1996-04-01)

Advanced Peer-to-Peer Networking

	<networking, product> (APPN) IBM data communications support
	that routes data in a network between two or more {APPC}
	systems that need not be adjacent.

	(1995-02-03)

Advanced Power Management

	<hardware> (APM) A feature of some displays, usually but not
	always, on {laptop computers}, which turns off power to the
	display after a preset period of inactivity to conserve
	electrical power.  Monitors with this capability are usually
	refered to as "green monitors", meaning environmentally
	friendly.

	Not to be confused with a {screen blanker} which is {software}
	that causes the display to go black (by setting every {pixel}
	to black) to prevent {burn-in}.

	(1997-08-25)

Advanced Programmable Interrupt Controller

	<integrated circuit> (APIC) A {Programmable Interrupt
	Controller} (PIC) that can handle {interrupts} from and for
	multiple {CPUs}, and, usually, has more available interrupt
	lines that a typical PIC.

	(2003-03-18)

Advanced Program-to-Program Communications

	<networking, product> (APPC) An implementation of the {IBM}
	{SNA}/{SDLC} {LU6.2} {protocol} that allows interconnected
	systems to communicate and share the processing of programs.

	(1995-02-03)

Advanced Research Projects Agency

	{Defense Advanced Research Projects Agency}

Advanced Research Projects Agency Network

	<networking> (ARPANET) A pioneering longhaul {wide area
	network} funded by {DARPA} (when it was still called "ARPA"?).
	It became operational in 1968 and served as the basis for
	early networking research, as well as a central {backbone}
	during the development of the {Internet}.  The ARPANET
	consisted of individual {packet switching} computers
	interconnected by {leased lines}.  {Protocols} used include
	{FTP} and {telnet}.  It has now been replaced by {NSFnet}.

	[1968 or 1969?]

	(1994-11-17)

Advanced Revelation

	<database> (AREV) A {database development environment} for
	{personal computers} available from {Revelation Software}
	since 1982.  Originally based on the {PICK} {operating
	system}, there are over one million users worldwide in 1996.

	(1996-12-12)

Advanced RISC Computing Specification

	<standard, hardware> (ARC, previously ARCS) The baseline
	hardware requirements for an {ACE}-compatible system.

	(1995-01-16)

Advanced RISC Machine

	<processor> (ARM, Originally {Acorn} RISC Machine).  A series
	of low-cost, power-efficient 32-bit {RISC} {microprocessors}
	for embedded control, computing, {digital signal processing},
	{games}, consumer {multimedia} and portable applications.  It
	was the first commercial RISC microprocessor (or was the {MIPS
	R2000}?) and was licensed for production by {Asahi Kasei
	Microsystems}, {Cirrus Logic}, {GEC Plessey Semiconductors},
	{Samsung}, {Sharp}, {Texas Instruments} and {VLSI Technology}.

	The ARM has a small and highly {orthogonal instruction set},
	as do most RISC processors.  Every instruction includes a
	four-bit code which specifies a condition (of the {processor
	status register}) which must be satisfied for the instruction
	to be executed.  Unconditional execution is specified with a
	condition "true".

	Instructions are split into load and store which access memory
	and arithmetic and logic instructions which work on
	{registers} (two source and one destination).

	The ARM has 27 registers of which 16 are accessible in any
	particular processor mode.  R15 combines the {program counter}
	and processor status byte, the other registers are general
	purpose except that R14 holds the {return address} after a
	{subroutine} call and R13 is conventionally used as a {stack
	pointer}.  There are four processor modes: user, {interrupt}
	(with a private copy of R13 and R14), fast interrupt (private
	copies of R8 to R14) and {supervisor} (private copies of R13
	and R14).  The {ALU} includes a 32-bit {barrel-shifter}
	allowing, e.g., a single-{cycle} shift and add.

	The first ARM processor, the ARM1 was a prototype which was
	never released.  The ARM2 was originally called the Acorn RISC
	Machine.  It was designed by {Acorn Computers Ltd.} and used
	in the original {Archimedes}, their successor to the {BBC
	Micro} and {BBC Master} series which were based on the
	eight-bit {6502} {microprocessor}.  It was clocked at 8 MHz
	giving an average performance of 4 - 4.7 {MIPS}.  Development
	of the ARM family was then continued by a new company,
	{Advanced RISC Machines Ltd.}

	The {ARM3} added a {fully-associative} on-chip {cache} and
	some support for {multiprocessing}.  This was followed by the
	{ARM600} chip which was an {ARM6} processor {core} with a
	4-kilobyte 64-way {set-associative} {cache}, an {MMU} based on
	the MEMC2 chip, a {write buffer} (8 words?) and a
	{coprocessor} interface.

	The {ARM7} processor core uses half the power of the {ARM6}
	and takes around half the {die} size.  In a full processor
	design ({ARM700} chip) it should provide 50% to 100% more
	performance.

	In July 1994 {VLSI Technology, Inc.} released the {ARM710}
	processor chip.

	{Thumb} is an implementation with reduced code size
	requirements, intended for {embedded} applications.

	An {ARM800} chip is also planned.

	{AT&T}, {IBM}, {Panasonic}, {Apple Coputer}, {Matsushita} and
	{Sanyo} either rely on, or manufacture, ARM 32-bit processor
	chips.

	{Usenet} newsgroup: {news:comp.sys.arm}.

	(1997-08-05)

Advanced RISC Machines Ltd.

	<company> (ARM) A company formed in 1990 by {Acorn Computers}
	Ltd., {Apple Computer, Inc.} and {VLSI Technology} to market
	and develop the {Advanced RISC Machine} {microprocessor}
	family, originally designed by Acorn.

	ARM Ltd. also designs and licenses peripheral chips and
	supplies supporting software and hardware tools.  In April
	1993, Nippon Investment and Finance, a Daiwa Securities
	company, became ARM's fourth investor.  In May 1994 Samsung
	became the sixth large company to have a licence to use the
	ARM processor core.

	The success of ARM Ltd. and the strategy to widen the
	availability of RISC technology has resulted in its chips now
	being used in a range of products including the {Apple
	Newton}.  As measured by an independent authority, more ARM
	processors were shipped than {SPARC} chips in 1993.  ARM has
	also sold three times more chips than the {PowerPC}
	consortium.

	{(http://systemv.com/armltd/index.html)}.

	E-mail: armltd.co.uk.

	Address: Advanced RISC Machines Ltd.  Fulbourn Road, Cherry
	Hinton, Cambridge CB1 4JN, UK.

	Telephone: +44 (1223) 400 400.  Fax: +44 (1223) 400 410.

	(1994-11-03)

Advanced SCSI Peripheral Interface

	<storage, programming> (ASPI) A set of libraries designed to
	provide programs running under {Microsoft Windows} with a
	consistent interface for accessing {SCSI} devices.  ASPI has
	become a {de facto standard}.

	The ASPI layer is a collection of programs ({DLLs}) that
	together implement the ASPI interface.  Many problems are
	caused by device manufacturers packaging incomplete sets of
	these DLLs with their hardware, often with incorrect date
	stamps, causing newer versions to get replaced with old.
	ASPICHK from Adaptec will check the ASPI components installed
	on a computer.

	The latest ASPI layer as of March 1999 is 1014.

	The {ATAPI} standard for {IDE} devices makes them look to the
	system like SCSI devices and allows them to work through ASPI.

	{(http://resource.simplenet.com/primer/aspi.htm)}.

	(1999-03-30)

Advanced Software Environment

	<programming> (ASE) An {object-oriented} {application support
	system} from {Nixdorf}.

	(1995-09-12)

Advanced STatistical Analysis Program

	<tool, electronics> (ASTAP) A program for analysing electronic
	circuits and other networks.

	["Advanced Statistical Analysis Program (ASTAP) Program
	Reference Manual", SH-20-1118, IBM, 1973].

	(2000-01-27)

Advanced Technology Attachment

	<storage, hardware, standard> (ATA, AT Attachment or
	"Integrated Drive Electronics", IDE) A {disk drive} interface
	{standard} based on the {IBM PC} {ISA} 16-bit {bus} but also
	used on other {personal computers}.  ATA specifies the power
	and data signal interfaces between the {motherboard} and the
	integrated {disk controller} and drive.  The ATA "bus" only
	supports two devices - master and slave.

	ATA drives may in fact use any physical interface the
	manufacturer desires, so long as an embedded translator is
	included with the proper ATA interface.  ATA "controllers" are
	actually direct connections to the ISA bus.

	Originally called IDE, the ATA interface was invented by
	{Compaq} around 1986, and was developed with the help of
	{Western Digital}, {Imprimis}, and then-upstart {Conner
	Peripherals}.  Efforts to standardise the interface started in
	1988; the first draft appeared in March 1989, and a finished
	version was sent to {ANSI} group X3T10 (who named it "Advanced
	Technology Attachment" (ATA)) for ratification in November
	1990.

	X3T10 later extended ATA to {Advanced Technology Attachment
	Interface with Extensions} (ATA-2), followed by {ATA-3} and
	{ATA-4}.

	{X3T10 (http://symbios.com/x3t10/)}.

	(1998-10-08)

Advanced Technology Attachment Interface with Extensions

	<storage, standard> (ATA-2, Enhanced Integrated Drive
	Electronics, EIDE) A proposed (May 1996 or earlier?)
	{standard} from {X3T10} (document 948D rev 3) which extends
	the {Advanced Technology Attachment} interface while
	maintaining compatibility with current {IBM PC} {BIOS}
	designs.

	ATA-2 provides for faster data rates, 32-bit transactions and
	(in some drives) {DMA}.  Optional support for power saving
	modes and removable devices is also in the standard.

	ATA-2 was developed by {Western Digital} as "Enhanced
	Integrated Drive Electronics" (EIDE) around 1994.
	{Marketroids} call it "Fast ATA" or "Fast ATA-2".

	ATA-2 was followed by {ATA-3} and {ATA-4} ("Ultra DMA").

	(2000-10-07)

Advanced Video Coding

	{H.264}

Advanced WavEffect

	<multimedia, music, hardware> (AWE) The kind of synthesis used
	by the {EMU 8000} music synthesizer {integrated circuit} found
	on the {SB AWE32} card.

	(1996-12-15)

Advantage Gen

	<language, software> A {CASE} tool for {rapid application
	development} which generates code from graphical {business
	process models}.  Formerly called Information Engineering
	Facility (IEF) and produced by {Texas Instruments}, it was
	then bought by {Sterling Software, Inc.} who renamed it to
	COOL:Gen to fit into their COOL line of products.  {Computer
	Associates International, Inc.} then acquired {Sterling
	Software, Inc.}, and renamed the tool "Advantage Gen".

	In 2003, CA are supporting Advantage Gen and adding support
	for {J2EE}/{EJB}, enhanced web enablement, {Web services}, and
	{.Net}.

	Latest version: 6.5, as of 2003-04-14.

	{(http://www3.ca.com/Solutions/Product.asp?ID=256)}.

	(2003-06-23)

ADVENT

	<games> /ad'vent/ The prototypical computer {adventure} game,
	first implemented by Will Crowther for a {CDC} computer
	(probably the {CDC 6600}?) as an attempt at computer-refereed
	fantasy gaming.

	ADVENT was ported to the {PDP-10}, and expanded to the
	350-point {Classic} puzzle-oriented version, by Don Woods of
	the {Stanford Artificial Intelligence Laboratory} (SAIL).  The
	game is now better known as Adventure, but the {TOPS-10}
	{operating system} permitted only six-letter filenames.  All
	the versions since are based on the SAIL port.

	David Long of the {University of Chicago} Graduate School of
	Business Computing Facility (which had two of the four
	{DEC20s} on campus in the late 1970s and early 1980s) was
	responsible for expanding the cave in a number of ways, and
	pushing the point count up to 500, then 501 points.  Most of
	his work was in the data files, but he made some changes to
	the {parser} as well.

	This game defined the terse, dryly humorous style now expected
	in text adventure games, and popularised several tag lines
	that have become fixtures of hacker-speak: "A huge green
	fierce snake bars the way!"  "I see no X here" (for some noun
	X).  "You are in a maze of twisty little passages, all alike."
	"You are in a little maze of twisty passages, all different."
	The "magic words" {xyzzy} and {plugh} also derive from this
	game.

	Crowther, by the way, participated in the exploration of the
	Mammoth & Flint Ridge cave system; it actually *has* a
	"Colossal Cave" and a "Bedquilt" as in the game, and the "Y2"
	that also turns up is cavers' jargon for a map reference to a
	secondary entrance.

	See also {vadding}.

	[Was the original written in Fortran?]

	[{Jargon File}]

	(1996-04-01)

Adventure Definition Language

	<language, games> (ADL) An {adventure} game language
	{interpreter} designed by Ross Cunniff <cunniff@fc.hp.com> and
	Tim Brengle in 1987.  ADL is semi-{object-oriented} with
	{Lisp}-like {syntax} and is a superset of {DDL}.  It is
	available for {Unix}, {MS-DOS}, {Amiga} and {Acorn}
	{Archimedes}.

	{(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)},
	{(ftp://ftp.wustl.edu/systems/amiga/fish/fish/f0/ff091)}.

	(1995-03-20)

ADVSYS

	<language, games> An {adventure} game language designed by
	David Betz in 1986.  ADVSYS is {object-oriented} and
	{Lisp}-like.

	{(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)}.

	(1995-03-20)

adware

	<software> Any kind of {software} which is distributed free of
	charge along with advertisements that are either placed on the
	{website} from which the software is distributed or displayed
	by the program while it is running.

	{Nagware} might be considered a special case of adware where
	the program tries to persuade the user to buy a license for
	the program itself.

	(2007-11-20)

AE

	{Application Executive}

ae

	<networking> The {country code} for the United Arab Emirates.

	(1999-01-27)

AED

	{Automated Engineering Design}

AEGIS

	<operating system> A {Unix} variant that was used on {Apollo}
	{workstations} before Apollo was bought by {Hewlett Packard}.
	AEGIS has some advantages over standard {BSD} or {System V}
	Unix.  It includes faster file access and a richer command
	set; there are commands to find out which {process} is running
	on a particular node, which process is locking a particular
	file, etc.

	(1997-02-25)

Aegis

	<programming, tool> A {CASE} tool for project {change
	management} written by Peter Miller, with minor contributions
	by a few others.  Aegis is licensed using the {GNU GPL} but is
	not a GNU project.

	{Aegis Home (http://aegis.sourceforge.net/)}.

	(2005-03-24)

Aeolus

	<language> A {concurrent} language with {atomic transactions}.

	["Rationale for the Design of Aeolus", C. Wilkes et al, Proc
	IEEE 1986 Intl Conf Comp Lang, IEEE 1986, pp.107-122].

	(1995-03-27)

AEP

	{Application Environment Profile}

aeroplane rule

	<convention> "Complexity increases the possibility of failure;
	a twin-engine aeroplane has twice as many engine problems as a
	single-engine aeroplane."

	By analogy, in both software and electronics, the implication
	is that simplicity increases robustness and that the right way
	to build reliable systems is to put all your eggs in one
	basket, after making sure that you've built a really *good*
	basket.

	While simplicity is a useful design goal, and twin-engine
	aeroplanes do have twice as many engine problems, the analogy
	is almost entirely bogus.  Commercial passenger aircraft are
	required to have at least two engines (on different wings or
	nacelles) so that the aeroplane can land safely if one engine
	fails.  As Albert Einstein said, "Everything should be made as
	simple as possible, but not simpler".

	See also {KISS Principle}.

	(1999-03-22)

AES

	1. <programming> {Application environment specification}.

	2. <security> {Advanced Encryption Standard}.

AESOP

	{An Evolutionary System for On-line Programming}

af

	<networking> The {country code} for Afghanistan.

	(1999-01-27)

AFAC

	<language> An early system on the {IBM 704}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-04-04)

AFAIK

	<chat> as far as I know.

affine transformation

	<mathematics> A {linear transformation} followed by a
	{translation}.  Given a {matrix} M and a {vector} v,

	  A(x) = Mx + v

	is a typical affine transformation.

	(1995-04-10)

affordance

	<graphics> A visual clue to the function of an object.

	(1998-10-15)

AFIPS

	{American Federation of Information Processing Societies}

AFJ

	{April Fool's Joke}

AFK

	<chat> away from keyboard.

aflex

	<tool> A {Lex}-like {scanner generator} that produce {Ada}
	output from IRUS (Irvine Research Unit in Software).  aflex
	comes with {ayacc}.

	Version 1.2a.

	Mailing list: <irus-software-request@ics.uci.edu>.

	{(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)}.

	(1993-01-06)

AFNOR

	<body, standard> Association Francaise pour la Normalisation.

	The French national {standards} institute, a member of {ISO}.

	(1994-12-14)

AFP

	1. <protocol> {Appletalk Filing Protocol}.

	2. <printer, language> {Advanced Function Presentation}.

AFS

	{Andrew File System}

AFUU

	{Association Française des Utilisateurs d'Unix}

ag

	<networking> The {country code} for Antigua and Barbuda.

	(1999-01-27)

agent

	<networking> In the {client-server} model, the part of the
	system that performs information preparation and exchange on
	behalf of a {client} or {server}.  Especially in the phrase
	"intelligent agent" it implies some kind of automatic process
	which can communicate with other agents to perform some
	collective task on behalf of one or more humans.

	(1995-04-09)

aggregate type

	<programming> A data {type} composed of multiple elements.  An
	aggregate can be homogeneous (all elements have the same type)
	e.g. an {array}, a list in a {functional language}, a string
	of characters, a file; or it can be heterogeneous (elements
	can have different types) e.g. a {structure}.  In most
	languages aggregates can contain elements which are themselves
	aggregates. e.g. a list of lists.

	See also {union}.

	(1996-03-23)

aggregation

	<programming> A composition technique for building a new
	{object} from one or more existing objects that support some
	or all of the new object's required interfaces.

	(1996-01-07)

aggregator

	<networking> A program for watching for new content at
	user-specified {RSS} feeds.

	An example is {BottomFeeder}.

	{(http://directory.google.com/Top/Reference/Libraries/Library_and_Information_Science/Technical_Services/Cataloguing/Metadata/RDF/Applications/RSS/News_Readers/)}.

	(2003-09-29)

AGL

	<programming> (Atelier de Genie Logiciel) French for {IPSE}.

	(1997-01-07)

AGM Theory for Belief Revision

	<artificial intelligence> (After the initials of the authors
	who established the field - Alchourron, Makinson and
	Gardenfors).  A method of {belief revision} giving minimal
	properties a revision process should have.

	[Reference?]

	(1995-03-20)

Agner Krarup Erlang

	<person> (1878-1929) A Danish mathematician.  {Erlang} the
	language and unit were named after him.

	Interested in the theory of {probability}, in 1908 Erlang
	joined the Copenhagen Telephone Company where he studied the
	problem of waiting times for telephone calls.

	He worked out how to calculate the fraction of callers
	who must wait due to all the lines of an exchange being in
	use.  His formula for loss and waiting time was published in
	1917.  It is now known as the "Erlang formula" and is still
	in use today.

	{Biography
	(http://www-history.mcs.st-andrews.ac.uk/~history/Mathematicians/Erlang.html)},
	{Biography
	(http://pass.maths.org.uk/issue2/erlang/index.html)}.

	(2005-02-26)

AGORA

	<language> A distributed {object-oriented language}.

AGP

	{Accelerated Graphics Port}

AGP graphics

	{Accelerated Graphics Port}

A Hardware Programming Language

	<language> (AHPL) A {register}-level language by Hill and
	Peterson, some of whose operators resemble {APL}.

	HPSIM2 is a function-level simulator, available from Engrg
	Expt Sta, {University of Arizona}.

	["Digital Systems: Hardware Organization and Design", F. Hill
	et al, Wiley 1987].

	(1995-01-26)

AHDL

	{Analog Hardware Design Language}

AHPL

	{A Hardware Programming Language}

AI

	{artificial intelligence}

ai

	<networking> The {country code} for Anguilla.

	(1999-01-27)

AIA

	{Application Integration Architecture}

AI-complete

	<artificial intelligence, jargon> /A-I k*m-pleet'/ (MIT,
	Stanford: by analogy with "{NP-complete}") A term used to
	describe problems or subproblems in {artificial intelligence},
	to indicate that the solution presupposes a solution to the
	"strong AI problem" (that is, the synthesis of a human-level
	intelligence).  A problem that is AI-complete is, in other
	words, just too hard.

	See also {gedanken}.

	[{Jargon File}]

	(1995-04-12)

AID

	{Algebraic Interpretive Dialogue}

AIDA

	<language> 1. A {functional} dialect of {Dictionary APL} by
	M. Gfeller.

	["APL Arrays and Their Editor", M. Gfeller, SIGPLAN Notices
	21(6):18-27 (June 1986) and SIGAPL Conf Proc].

	2. An intermediate representation language for {Ada} developed
	at the {University of Karlsruhe} in 1980.  AIDA was merged
	with {TCOL.Ada} to form {Diana}.

	["AIDA Introduction and User Manual", M. Dausmann et al, U
	Karlsruhe, Inst fur Inform II, TR Nr 38/80].

	["AIDA Reference Manual", ibid, TR Nr 39/80, Nov 1980].

	(1995-04-12)

AIDS

	<jargon> /aydz/ A* Infected Disk Syndrome ("A*" is a
	{glob} pattern that matches, but is not limited to, {Apple
	Computer}), this condition is quite often the result of
	practicing unsafe {SEX}.

	See {virus}, {worm}, {Trojan horse}, {virgin}.

	[{Jargon File}]

	(1995-04-13)

AIDX

	<abuse, operating system> /aydkz/ A derogatory term for
	{IBM}'s perverted version of {Unix}, {AIX}, especially for the
	AIX 3.? used in the {IBM RS/6000} series (some hackers think
	it is funnier just to pronounce "AIX" as "aches").  A victim
	of the dreaded "hybridism" disease, this attempt to combine
	the two main currents of the Unix stream ({BSD} and {USG
	Unix}) became a monstrosity to haunt system administrators'
	dreams.  For example, if new accounts are created while many
	users are logged on, the load average jumps quickly over 20
	due to silly implementation of the user databases.

	For a quite similar disease, compare {HP-SUX}.  Also, compare
	{Macintrash} {Nominal Semidestructor}, {Open DeathTrap},
	{ScumOS}, {sun-stools}.

	[{Jargon File}]

	(1995-04-13)

AIFF

	{Audio IFF}

AI International

	<company> One of distributors of {Prolog++}, subsumed by
	{Customer Engagement Company} before December 1998.

	(1998-12-13)

Aiken code

	<data> An alternative form of the {Binary Coded Decimal} (BCD)
	system for encoding numbers.  Where BCD encodes each decimal
	digit in normal binary, Aiken code uses the encoding shown
	below.  This is supposed to be less prone to corruption.

	The following table shows the encoding of each decimal digit,
	D, in BCD and Aiken code:

	 D  BCD  Aiken
	 0  0000  0000
	 1  0001  0001
	 2  0010  0010
	 3  0011  0011
	 4  0100  0100
	 5  0101  1011 (inverted 4)
	 6  0110  1100 (inverted 3)
	 7  0111  1101 (inverted 2)
	 8  1000  1110 (inverted 1)
	 9  1001  1111 (inverted 0)

	The Aiken code was probably designed by {Howard Aiken} in the
	1940s or 1950s for use in data transmission.

	Compare: {Gray code}.

	[What is it good for and why?]

	(2007-07-16)

AI koan

	<humour> /A-I koh'an/ One of a series of pastiches of Zen
	teaching riddles created by {Danny Hillis} at the {MIT AI Lab}
	around various major figures of the Lab's culture.

	See also {ha ha only serious}, {mu}.

	In reading these, it is at least useful to know that {Marvin
	Minsky}, {Gerald Sussman}, and Drescher are {AI} researchers
	of note, that {Tom Knight} was one of the {Lisp machine}'s
	principal designers, and that {David Moon} wrote much of Lisp
	Machine Lisp.

					 * * *

	A novice was trying to fix a broken Lisp machine by turning
	the power off and on.

	Knight, seeing what the student was doing, spoke sternly: "You
	cannot fix a machine by just power-cycling it with no
	understanding of what is going wrong."

	Knight turned the machine off and on.

	The machine worked.

					 * * *

	One day a student came to Moon and said: "I understand how to
	make a better garbage collector.  We must keep a reference
	count of the pointers to each cons."

	Moon patiently told the student the following story:

	     "One day a student came to Moon and said: `I understand
	     how to make a better garbage collector...

	[Pure reference-count garbage collectors have problems with
	circular structures that point to themselves.]

					 * * *

	In the days when Sussman was a novice, Minsky once came to him
	as he sat hacking at the PDP-6.

	"What are you doing?", asked Minsky.

	"I am training a randomly wired neural net to play
	Tic-Tac-Toe", Sussman replied.

	"Why is the net wired randomly?", asked Minsky.

	"I do not want it to have any preconceptions of how to play",
	Sussman said.

	Minsky then shut his eyes.

	"Why do you close your eyes?", Sussman asked his teacher.

	"So that the room will be empty."

	At that moment, Sussman was enlightened.

					 * * *

	A disciple of another sect once came to Drescher as he was
	eating his morning meal.

	"I would like to give you this personality test", said the
	outsider, "because I want you to be happy."

	Drescher took the paper that was offered him and put it into
	the toaster, saying: "I wish the toaster to be happy, too."

	(1995-02-08)

AIMACO

	{AIr MAterial COmmand compiler}

Aimnet

	<networking, company> An {Internet} {access provider} for
	individuals and corporations.  They provide {dial-up}, {SLIP},
	{PPP} and {shell accounts} as well as {ISDN}.

	{(http://aimnet.com/)}.

	Address: Cupertino, CA 95014, USA.

	Telephone: +1 (408) 253 0900

	(1995-02-08)

AIR

	<standard> A future {infrared} standard from {IrDA}.  AIR will
	provide in-room multipoint to multipoint connectivity.  AIR
	supports a data rate of 4 Mbps at a distance of 4 metres, and
	250 Kbps at up to 8 metres.  It is designed for cordless
	connections to multiple peripherals and meeting room
	collaboration applications.

	See also {IrDA Data} and {IrDA Control}

	(1999-10-14)

AIr MAterial COmmand compiler

	<language> (AIMACO) A modification of {FLOW-MATIC}.  AIMACO
	was supplanted by {COBOL}.

	[Sammet 1969, p. 378].

	(1995-02-20)

airplane rule

	{aeroplane rule}

AIT

	{Advanced Intelligent Tape}

AIX

	{Advanced Interactive eXecutive}

Ajax

	<programming> (Asynchronous JavaScript And XML) A collection
	of techniques for creating interactive {web applications}
	without having to reload the complete {web page} in response
	to each user input, thus making the interaction faster.  AJAX
	typically uses the {XMLHttpRequest} browser object to exchange
	data asynchronously with the {web server}.  Alternatively, an
	{IFrame} object or dynamically added <script> tags may be used
	instead of XMLHttpRequest.

	Despite the name, Ajax can combine any browser scripting
	language (not just {JavaScript}) and any data representation
	(not just XML).  Alternative data formats include {HTML},
	plain text or {JSON}.

	Several Ajax {frameworks} are now available to simplify Ajax
	development.

	(2007-10-04)

AKC

	{Ascending Kleene Chain}

AKCL

	{Austin Kyoto Common Lisp}

A. K. Erlang

	{Agner Krarup Erlang}

AKL

	{Andorra Kernel Language}

AL

	1. {Assembly Language}.

	2. {artificial life}.

al

	<networking> The {country code} for Albania.

	(1999-01-27)

Aladdin Enterprises

	<company> A small, privately owned, US software consulting and
	development company, founded in 1986, best known as the
	original developer of {Ghostscript}.

	Address: San Francisco Peninsula, California, USA.

	Not to be confused with {Aladdin Systems, Inc.}.

	{Aladdin Enterprises Home (http://aladdin.com/)}.

	(2003-09-24)

Aladdin Systems, Inc.

	<company> The company that developed and distributes {Stuffit}
	and other {utility software} for the {Macintosh}, {Microsoft
	Windows}, and {Palm} {handheld computers}.

	Not to be confused with {Aladdin Enterprises}.

	{Aladdin Systems Home (http://aladdinsys.com/)}.

	(2003-09-20)

ALADIN

	1. <language> {A Language for Attributed Definitions}.

	2. <tool> An interactive mathematics system for the {IBM 360}.

	["A Conversational System for Engineering Assistance: ALADIN",
	Y. Siret, Proc Second Symp Symb Algebraic Math, ACM Mar 1971].

	(1995-04-13)

ALAM

	<language> A language for {symbolic mathematics}, especially
	General Relativity.

	See also {CLAM}.

	["ALAM Programmer's Manual", Ray D'Inverno, 1970].

	(1994-10-28)

Alan F. Shugart

	<person> The man who founded {Shugart Associates} and later
	co-founded {Seagate Technology}.  Alan Shugart left Shugart
	Associates in 1974 [did he quit or was he fired?] and took a
	break from the disk-drive business.  In 1979, he and {Finis
	Conner} founded a new company that at first was called Shugart
	Technology and later {Seagate Technology}.

	(2000-02-09)

A-language

	<language> An early {ALGOL}-like {surface syntax} for {Lisp}.

	["An Auxiliary Language for More Natural Expression--The
	A-language", W. Henneman in The Programming Language LISP,
	E.C. Berkeley et al eds, MIT Press 1964, pp.239- 248].

	(1994-10-28)

A Language Encouraging Program Hierarchy

	<language> (ALEPH) A language developed in about 1975.

	["On the Design of ALEPH", D. Grune, CWI, Netherlands 1986].

	(1997-02-27)

A Language for Attributed Definitions

	<language> (ALADIN) A language for formal specification of
	{attributed grammars}.  ALADIN is the input language for the
	{GAG} compiler generator.  It is {applicative} and {strongly
	typed}.

	["GAG: A Practical Compiler Generator", Uwe Kastens
	<uwe@uni-paderborn.de> et al, LNCS 141, Springer 1982].

	(1995-04-14)

A Language with an Extensible Compiler

	<language> (ALEC) A language Implemented using {RCC} on an
	{ICL 1906A}.

	["ALEC - A User Extensible Scientific Programming Language",
	R.B.E. Napper et al, Computer J 19(1):25-31].

	(1995-04-19)

Alan Kay

	<person> The leader of the Software Concepts Group at {Xerox}
	{Palo Alto Research Centre} which developed {Smalltalk}, the
	pioneering {object-oriented programming} system, in 1972.

	(1994-11-24)

Alan M. Turing

	{Alan Turing}

Alan Shugart

	{Alan F. Shugart}

Alan Turing

	<person> Alan M. Turing, 1912-06-22/3? - 1954-06-07.  A
	British mathematician, inventor of the {Turing Machine}.
	Turing also proposed the {Turing test}.  Turing's work was
	fundamental in the theoretical foundations of computer
	science.

	Turing was a student and fellow of {King's College Cambridge}
	and was a graduate student at {Princeton University} from 1936
	to 1938.  While at Princeton Turing published "On Computable
	Numbers", a paper in which he conceived an {abstract machine},
	now called a {Turing Machine}.

	Turing returned to England in 1938 and during World War II, he
	worked in the British Foreign Office.  He masterminded
	operations at {Bletchley Park}, UK which were highly
	successful in cracking the Nazis "Enigma" codes during World
	War II.  Some of his early advances in computer design were
	inspired by the need to perform many repetitive symbolic
	manipulations quickly.  Before the building of the {Colossus}
	computer this work was done by a roomful of women.

	In 1945 he joined the {National Physical Laboratory} in London
	and worked on the design and construction of a large computer,
	named {Automatic Computing Engine} (ACE).  In 1949 Turing
	became deputy director of the Computing Laboratory at
	Manchester where the {Manchester Automatic Digital Machine},
	the worlds largest memory computer, was being built.

	He also worked on theories of {artificial intelligence}, and
	on the application of mathematical theory to biological forms.
	In 1952 he published the first part of his theoretical study
	of morphogenesis, the development of pattern and form in
	living organisms.

	Turing was gay, and died rather young under mysterious
	circumstances.  He was arrested for violation of British
	homosexuality statutes in 1952.  He died of potassium cyanide
	poisoning while conducting electrolysis experiments.  An
	inquest concluded that it was self-administered but it is now
	thought by some to have been an accident.

	There is an excellent biography of Turing by Andrew Hodges,
	subtitled "The Enigma of Intelligence" and a play based on it
	called "Breaking the Code".  There was also a popular summary
	of his work in Douglas Hofstadter's book "Gödel, Escher,
	Bach".

	{(http://AlanTuring.net/)}.

	(2001-10-09)

ALARP

	{As Low As Reasonably Practicable}

A-law

	<standard> The {ITU-T} {standard} for {nonuniform quantising
	logarithmic compression}.

	The equation for A-law is

	      |    A
	      | ------- (m/mp)                   |m/mp| =< 1/A
	      | 1+ln A
	  y = |
	      | sgn(m)
	      | ------ (1 + ln A|m/mp|)   1/A =< |m/mp| =< 1
	      | 1+ln A

	Values of u=100 and 255, A=87.6, mp is the Peak message value,
	m is the current quantised message value.  (The formulae get
	simpler if you substitute x for m/mp and sgn(x) for sgn(m);
	then -1 <= x <= 1.)

	Converting from {u-LAW} to A-LAW introduces {quantising
	errors}.  u-law is used in North America and Japan, and A-law
	is used in Europe and the rest of the world and international
	routes.

	[The Audio File Formats FAQ]

	(1995-02-21)

ALC

	1. {Assembly Language Compiler}.

	2. {Airline Line Control}.

Alcool-90

	<language> An {object-oriented} extension of {ML} with
	run-time {overloading} and a type-based notion of {modules},
	{functors} and {inheritance}.  It is built on {CAML Light}.

	{(ftp://ftp.inria.fr/lang/alcool)}.

	E-mail: <Francois.Rouaix@inria.fr>.

	(1995-04-18)

ALCOR

	<language> A subset of {ALGOL}.

	[Sammet 1969, p. 180].

	(1995-04-18)

Aldat

	<language> A {database} language, based on {extended algebra}.

	[Listed by M.P. Atkinson & J.W. Schmidt in a tutorial in
	Zurich, 1989].

	(1995-04-19)

ALDES

	{ALgorithm DEScription}

ALDiSP

	{Applicative Language for Digital Signal Processing}

ALEC

	{A Language with an Extensible Compiler}

ALEF

	<language> A programming language from {Bell Labs}.  ALEF
	boasts few new ideas but is instead a careful synthesis of
	ideas from other languages.  The result is a practical general
	purpose programming language which was once displacing {C} as
	their main implementation language.  Both {shared variables}
	and {message passing} are supported through language
	constructs.

	A {window system}, {user interface}, {operating system}
	network code, {news reader}, {mailer} and variety of other
	tools in {Plan 9} are now implemented using ALEF.

	(1997-02-13)

ALEPH

	1. <language> {A Language Encouraging Program Hierarchy}.

	2. <tool> A system for formal {semantics} written by Peter
	Henderson ca. 1970.

	[CACM 15(11):967-973 (Nov 1972)].

	(1994-12-15)

Aleph

	<text, language> ["Aleph: A language for typesetting", Luigi
	Semenzato <luigi@cs.berkeley.edu> and Edward Wang
	<edward@cs.berkeley.edu> in Proceedings of Electronic
	Publishing, 1992 Ed. Vanoirbeek & Coray Cambridge University
	Press 1992].

	(1994-12-15)

aleph 0

	<mathematics> The {cardinality} of the first {infinite}
	{ordinal}, {omega} (the number of {natural numbers}).

	Aleph 1 is the cardinality of the smallest {ordinal} whose
	cardinality is greater than aleph 0, and so on up to aleph
	omega and beyond.  These are all kinds of {infinity}.

	The {Axiom of Choice} (AC) implies that every set can be
	{well-ordered}, so every {infinite} {cardinality} is an aleph;
	but in the absence of AC there may be sets that can't be
	well-ordered (don't posses a {bijection} with any {ordinal})
	and therefore have cardinality which is not an aleph.

	These sets don't in some way sit between two alephs; they just
	float around in an annoying way, and can't be compared to the
	alephs at all.  No {ordinal} possesses a {surjection} onto
	such a set, but it doesn't surject onto any sufficiently large
	ordinal either.

	(1995-03-29)

alert

	<operating system> /*'l*rt/ An audible and/or visual message
	intended to inform a system's users or administrators about a
	change in the operating conditions of that system or about
	some kind of error condition.  In a {graphical user
	interface}, an alert would typically be displayed as a small
	window containing the message and a button to click to dismiss
	the window.

	(1999-03-29)

Alex

	<language> 1. A {polymorphic} language being developed by
	Stephen Crawley <sxc@itd.dtso.oz.au> of Defence Science & Tech
	Org, Australia.  Alex has {abstract data types}, {type
	inference} and {inheritance}.

	2. <language> An {ISWIM}-like language with {exception
	handling}.

	["An Exception Handling Construct for Functional Languages",
	M. Brez et al, in Proc ESOP88, LNCS 300, Springer 1988].

	3. <tool> A {scanner generator}.  {Alexis} is its input
	language.

	["Alex: A Simple and Efficient Scanner Generator", H.
	Mossenbock, SIGPLAN Notices 21(5), May 1986].

	(1994-12-15)

Alexis

	<language> Alex Input Specification.

	The input language for the {scanner generator} {Alex}.

	(1995-04-23)

ALF

	{Algebraic Logic Functional language}

Alfl

	<language> A lazy function language.  A {weakly typed}, {lazy}
	{functional language} developed by Paul Hudak
	<hudak-paul@cs.yale.edu> of Yale in 1983.  Alfl is implemented
	as a {Scheme} {preprocessor} for the {Orbit} compiler, by
	transforming laziness into {force}-and-{delay}.

	["Alfl Reference Manual and Programmer's Guide", P. Hudak,
	YALEU/DCS/RR322, Yale U, Oct 1984].

	See also {ParAlfl}.

	(1995-04-24)

algebra

	<mathematics, logic> 1. A loose term for an {algebraic
	structure}.

	2. A {vector space} that is also a {ring}, where the vector
	space and the ring share the same addition operation and are
	related in certain other ways.

	An example algebra is the set of 2x2 {matrices} with {real
	numbers} as entries, with the usual operations of addition and
	matrix multiplication, and the usual {scalar} multiplication.
	Another example is the set of all {polynomials} with real
	coefficients, with the usual operations.

	In more detail, we have:

	(1) an underlying {set},

	(2) a {field} of {scalars},

	(3) an operation of scalar multiplication, whose input is a
	scalar and a member of the underlying set and whose output is
	a member of the underlying set, just as in a {vector space},

	(4) an operation of addition of members of the underlying set,
	whose input is an {ordered pair} of such members and whose
	output is one such member, just as in a vector space or a
	ring,

	(5) an operation of multiplication of members of the
	underlying set, whose input is an ordered pair of such members
	and whose output is one such member, just as in a ring.

	This whole thing constitutes an `algebra' iff:

	(1) it is a vector space if you discard item (5) and

	(2) it is a ring if you discard (2) and (3) and

	(3) for any scalar r and any two members A, B of the
	underlying set we have r(AB) = (rA)B = A(rB).  In other words
	it doesn't matter whether you multiply members of the algebra
	first and then multiply by the scalar, or multiply one of them
	by the scalar first and then multiply the two members of the
	algebra.  Note that the A comes before the B because the
	multiplication is in some cases not commutative, e.g. the
	matrix example.

	Another example (an example of a {Banach algebra}) is the set
	of all {bounded} {linear operators} on a {Hilbert space}, with
	the usual {norm}.  The multiplication is the operation of
	{composition} of operators, and the addition and scalar
	multiplication are just what you would expect.

	Two other examples are {tensor algebras} and {Clifford
	algebras}.

	[I. N. Herstein, "Topics in Algebra"].

	(1999-07-14)

ALGEBRAIC

	<language> An early system on {MIT}'s {Whirlwind}.

	[CACM 2(5):16 (May 1959)].

	(1995-01-24)

algebraic

	<theory> In {domain theory}, a {complete partial order} is
	algebraic if every element is the {least upper bound} of some
	{chain} of {compact} elements.  If the set of compact elements
	is {countable} it is called {omega-algebraic}.

	[Significance?]

	(1995-04-25)

Algebraic Compiler and Translator

	<language> (ACT 1) A language and {compiler} for the {Royal
	McBee} {LGP-30}, designed around 1959, apparently by Clay
	S. Boswell, Jr, and programmed by {Mel Kaye}.

	{(http://ed-thelen.org/comp-hist/lgp-30-man.html)}

	(2008-08-04)

algebraic data type

	<programming> (Or "sum of products type") In {functional
	programming}, new types can be defined, each of which has one
	or more {constructors}.  Such a type is known as an algebraic
	data type.  E.g. in {Haskell} we can define a new type,
	"Tree":

		data Tree = Empty | Leaf Int | Node Tree Tree

	with constructors "Empty", "Leaf" and "Node".  The
	constructors can be used much like functions in that they can
	be (partially) applied to arguments of the appropriate type.
	For example, the Leaf constructor has the functional type Int
	-> Tree.

	A constructor application cannot be reduced (evaluated) like a
	function application though since it is already in {normal
	form}.  Functions which operate on algebraic data types can be
	defined using {pattern matching}:

		depth :: Tree -> Int
		depth Empty	 = 0
		depth (Leaf n)	 = 1
		depth (Node l r) = 1 + max (depth l) (depth r)

	The most common algebraic data type is the list which has
	constructors Nil and Cons, written in Haskell using the
	special syntax "[]" for Nil and infix ":" for Cons.

	Special cases of algebraic types are {product types} (only one
	constructor) and {enumeration types} (many constructors with
	no arguments).  Algebraic types are one kind of {constructed
	type} (i.e. a type formed by combining other types).

	An algebraic data type may also be an {abstract data type}
	(ADT) if it is exported from a {module} without its
	constructors.  Objects of such a type can only be manipulated
	using functions defined in the same {module} as the type
	itself.

	In {set theory} the equivalent of an algebraic data type is a
	{discriminated union} - a set whose elements consist of a tag
	(equivalent to a constructor) and an object of a type
	corresponding to the tag (equivalent to the constructor
	arguments).

	(1994-11-23)

Algebraic Interpretive Dialogue

	<language> (AID) A version of {Joss} II for the {PDP-10}.

	["AID (Algebraic Interpretive Dialogue)", DEC manual, 1968].

	(1995-04-12)

Algebraic Logic Functional language

	<language> (ALF) A language by Rudolf Opalla
	<opalla@julien.informatik.uni-dortmund.de> which combines
	{functional programming} and {logic programming} techniques.

	ALF is based on {Horn clause} logic with equality which
	consists of {predicates} and Horn clauses for {logic
	programming}, and functions and equations for {functional
	programming}.  Any functional expression can be used in a
	{goal} literal and arbitrary predicates can occur in
	conditions of equations.  ALF uses {narrowing} and
	{rewriting}.

	ALF includes a compiler to {Warren Abstract Machine} code and
	{run-time support}.

	{(ftp://ftp.germany.eu.net/pub/programming/languages/LogicFunctional)}.

	["The Implementation of the Functional-Logic Language ALF",
	M. Hanus and A. Schwab].

	(1992-10-08)

Algebraic Manipulation Package

	<mathematics, tool> (AMP) A {symbolic mathematics} program
	written in {Modula-2}, seen on {CompuServe}.

	(1994-10-19)

Algebraic Specification Language

	1. <language> (ASL)

	["Structured Algebraic Specifications: A Kernel Language",
	M. Wirsing, Theor Comput Sci 42, pp.123-249, Elsevier 1986].

	2. <language> (ASF) A language for equational specification of
	{abstract data types}.

	["Algebraic Specification", J.A. Bergstra et al, A-W 1989].

	(1995-12-13)

algebraic structure

	<mathematics> Any formal mathematical system consisting of a
	set of objects and operations on those objects.  Examples are
	{Boolean algebra}, numerical algebra, set algebra and matrix
	algebra.

	[Is this the most common name for this concept?]

	(1997-02-25)

Algebra of Communicating Processes

	<theory> (ACP)

	Compare {CCS}.

	["Algebra of Communicating Processes with Abstraction",
	J.A. Bergstra & J.W. Klop, Theor Comp Sci 37(1):77-121 1985].

	[Summary?]

	(1994-11-08)

ALGOL

	{ALGOL 60}

ALGOL 58

	<language> An early version of {ALGOL 60}, originally known as
	"IAL".

	{Michigan Algorithm Decoder} (MAD), developed in 1959, was
	based on IAL.

	["Preliminary report - International Algebraic Language", CACM
	1(12):8, 1958].

	[Details?  Relationship to ALGOL 60?]

	(1999-12-10)

ALGOL 60

	<language> ALGOrithmic Language 1960.

	A portable language for scientific computations.  ALGOL 60 was
	small and elegant.  It was {block-structured}, nested,
	{recursive} and {free form}.  It was also the first language
	to be described in {BNF}.

	There were three {lexical} representations: hardware,
	reference, and publication.  The only structured data types
	were {arrays}, but they were permitted to have lower bounds
	and could be dynamic.  It also had {conditional expressions};
	it introduced :=; if-then-else; very general "for" loops;
	switch declaration (an array of statement {labels}
	generalising {Fortran}'s {computed goto}).  Parameters were
	{call-by-name} and {call-by-value}.  It had {static} local
	"own" variables.  It lacked user-defined types, character
	manipulation and {standard I/O}.

	See also {EULER}, {ALGOL 58}, {ALGOL 68}, {Foogol}.

	["Report on the Algorithmic Language ALGOL 60", Peter Naur
	ed., CACM 3(5):299-314, May 1960].

	(1995-01-25)

ALGOL 60 Modified

	<language>

	["A Supplement to the ALGOL 60 Revised Report", R.M. DeMorgan
	et al, Computer J 19(4):364].

	[SIGPLAN Notices 12(1) 1977].

	An erratum in [Computer J 21(3):282 (Aug 1978)] applies to
	both.

	(1995-01-25)

ALGOL 60 Revised

	<language> (Or "Revised ALGOL 60") A revision of {Algol 60}
	which still lacked {standard I/O}.

	["Revised Report on the Algorithmic Language ALGOL 60", Peter
	Naur ed, CACM 6(1):1-17 (Jan 1963)].

	[Sammet 1969, p.773].

	(1995-01-25)

ALGOL 68

	<language> An extensive revision of {ALGOL 60} by Adriaan van
	Wijngaarden et al.  ALGOL 68 was discussed from 1963 by
	Working Group 2.1 of {IFIP}.  Its definition was accepted in
	December 1968.

	ALGOL 68 was the first, and still one of very few, programming
	languages for which a complete formal specification was
	created before its implementation.  However, this
	specification was hard to understand due to its formality, the
	fact that it used an unfamiliar {metasyntax} notation (not
	{BNF}) and its unconventional terminology.

	One of the singular features of ALGOL 68 was its {orthogonal}
	design, making for freedom from arbitrary rules (such as
	restrictions in other languages that arrays could only be used
	as parameters but not as results).  It also allowed {user
	defined data types}, then an unheard-of feature.

	It featured {structural equivalence}; automatic type
	conversion ("{coercion}") including {dereferencing}; {flexible
	arrays}; generalised loops (for-from-by-to-while-do-od),
	if-then-else-elif-fi, an integer case statement with an 'out'
	clause (case-in-out-esac); {skip} and {goto} statements;
	{blocks}; {procedures}; user-defined {operators}; {procedure
	parameters}; {concurrent} execution (par-begin-end);
	{semaphores}; generators "heap" and "loc" for {dynamic
	allocation}.  It had no {abstract data types} or {separate
	compilation}.

	{(http://www.bookrags.com/research/algol-68-wcs/)}.

	(2007-04-24)

ALGOL 68C

	<language> A variant of {ALGOL 68} developed by S. Bourne and
	Mike Guy of {Cambridge University} in 1975 and used as the
	implementation language for the {CHAOS} OS for the {CAP}
	{capability} computer.  ALGOL 68C was ported to the {IBM 360},
	{VAX}/{VMS} and several other {platforms}.

	(1995-05-02)

ALGOL 68-R

	<language> A restriction of {ALGOL 68} permitting {one-pass
	compilation}, developed at the Royal Signals Radar
	Establishment, Malvern, Worcester, UK in April 1970.

	{Identifiers}, modes and operators must be declared before
	use.  There is no {automatic proceduring} and no
	{concurrency}.  It was implemented in {ALGOL 60} under {GEORGE
	3} on an {ICL 1907F}.

	["ALGOL 68-R, Its Implementation and Use", I.F. Currie et al,
	Proc IFIP Congress 1971, N-H 1971, pp. 360-363].

	(1995-05-03)

ALGOL 68 Revised

	<language> A significant simplification of {ALGOL 68}.

	["Revised Report on the Algorithmic Language ALGOL 68," A. Van
	Wijngaarden et al, Acta Informatica 5:1-236, 1975, also
	Springer 1976, and SIGPLAN Notices 12(5):1-70, May 1977].

	(1995-05-03)

ALGOL 68RS

	<language> An extension of {ALGOL 68} supporting {function
	closures} by the Royal Signals Radar Establishment, Malvern
	UK.  It has been ported to {Multics} and {VAX}/{VMS}.

	(1995-05-04)

ALGOL 68S

	<language> A subset of {ALGOL 68} allowing simpler
	compilation, intended mainly for numerical computation.  It
	was rewritten in {BLISS} for the {PDP-11}, and later in
	{Pascal}.  It is available as {shareware} from Charles Lindsey
	<chl@cs.man.ac.uk>.

	Version 2.3 runs on {Sun-3} under {SunOS} 4.x and {Atari}
	under {GEMDOS} (or potentially other computers supported by
	the {Amsterdam Compiler Kit}).

	["A Sublanguage of ALGOL 68", P.G. Hibbard, SIGPLAN Notices
	12(5), May 1977].

	(1995-05-04)

ALGOL C

	<language> A variant of {ALGOL 60} developed by Clive Feather
	of {Cambridge University} ca. 1981.  ALGOL C added
	{structures} and {exception} handling.  It was designed for
	beginners and students.

	(1994-11-24)

ALGOL D

	<language>

	["A Proposal for Definitions in ALGOL", B.A. Galler et al,
	CACM 10:204-219, 1967].

ALGOL N

	<language> A successor to {ALGOL 60} proposed by Yoneda.

	(1994-11-24)

ALGOL W

	<language> A derivative of {ALGOL 60}.  It introduced {double
	precision}, {complex numbers}, bit strings and dynamic data
	structures.  It is parsed entirely by {operator precedence}
	and used the {call-by-value-result} calling convention.

	["A Contribution to the Development of Algol", N. Wirth, CACM
	9(6):413-431, June 1966].

	["ALGOL W Implementation", H. Bauer et al, TR CS98, Stanford
	U, 1968].

	(1994-11-24)

ALGOL X

	<language> A proposed successor to {ALGOL 60}, a "short-term
	solution to existing difficulties".  Three designs were
	proposed, by {Wirth}, Seegmuller and van Wijngaarden.

	[Sammet 1969, p. 194].

	(1995-05-07)

ALGOL Y

	<language> A proposed successor to {ALGOL 60}, a "radical
	reconstruction".  Originally a language that could manipulate
	its own programs at {run time}, it became a collection of
	features that were not accepted for {ALGOL X}.

	(1995-05-09)

algorithim

	<spelling> It's spelled "{algorithm}".

	(1997-02-25)

algorithm

	<algorithm, programming> A detailed sequence of actions to
	perform to accomplish some task.  Named after the Iranian,
	Islamic mathematician, astronomer, astrologer and geographer,
	{Muhammad ibn Musa al-Khwarizmi}.

	Technically, an algorithm must reach a result after a {finite}
	number of steps, thus ruling out {brute force} search methods
	for certain problems, though some might claim that brute force
	search was also a valid (generic) algorithm.  The term is also
	used loosely for any sequence of actions (which may or may not
	terminate).

	{Paul E. Black's Dictionary of Algorithms, Data Structures,
	and Problems (http://nist.gov/dads/)}.

	(2002-02-05)

ALgorithm DEScription

	<language> (ALDES) ["The Algorithm Description Language
	ALDES", R.G.K. Loos, SIGSAM Bull 14(1):15-39 (Jan 1976)].

	(1995-04-19)

ALgorIthmic ASsembly language

	<language> (ALIAS) A machine oriented variant of {BLISS}.
	ALIAS was implemented in {BCPL} for the {PDP-9}.

	["ALIAS", H.E. Barreveld, Int Rep, Math Dept, Delft U Tech,
	Netherlands, 1973].

	(1997-03-13)

Algorithmic Language

	{Algol 60}

Algorithmic Model

	<programming> A method of estimating software cost using
	mathematical {algorithms} based on the parameters which are
	considered to be the major cost drivers.  These estimate of
	effort or cost are based primarily on the size of the software
	or {Delivered Source Instructions} (DSI)s, and other
	productivity factors known as {Cost Driver Attributes}.

	See also {Parametric Model}.

	(1996-05-28)

Algorithmic Processor Description Language

	<language> (APDL) An {ALGOL 60}-like language for describing
	computer design, for the {CDC G-21}.

	["The Description, Simulation, and Automatic Implementation of
	Digital Computer Processors", J.A. Darringer, Ph.D Thesis EE
	Dept, CMU May 1969].

	(1995-11-26)

Algorithmic Test Case Generation

	<programming> A computational method for identifying test
	cases from data, logical relationships or other software
	{requirements} information.

	(1996-05-10)

ALGY

	<language> An early language for {symbolic mathematics}.

	[Sammet 1969, p. 520].

	(1995-04-12)

ALIAS

	{ALgorIthmic ASsembly language}

alias

	1. <operating system> A name, usually short and easy to
	remember and type, that is translated into another name or
	string, usually long and difficult to remember or type.  Most
	{command interpreters} (e.g. {Unix}'s {csh}) allow the user to
	define aliases for commands, e.g. "alias l ls -al".  These are
	loaded into memory when the interpreter starts and are
	expanded without needing to refer to any file.

	2. <networking> One of several alternative {hostnames} with
	the same {Internet address}.  E.g. in the {Unix} {hosts}
	database (/etc/hosts or {NIS} map) the first field on a line
	is the {Internet address}, the next is the official hostname
	(the "{canonical} name" or "{CNAME}"), and any others are
	aliases.

	Hostname aliases often indicate that the host with that alias
	provides a particular network service such as {archie},
	{finger}, {FTP}, or {web}.  The assignment of
	services to computers can then be changed simply by moving an
	alias (e.g. www.doc.ic.ac.uk) from one {Internet address} to
	another, without the clients needing to be aware of the
	change.

	3. <file system> The name used by {Apple computer, Inc.} for
	{symbolic links} when they added them to the {System 7}
	{operating system} in 1991.

	(1997-10-22)

	4. <programming> Two names ({identifiers}), usually of local
	or global {variables}, that refer to the same resource
	({memory} location) are said to be aliased.  Although names
	introduced in {programming languages} are typically mapped to
	different {memory} locations, aliasing can be introduced by
	the use of {address} arithmetic and {pointers} or
	language-specific features, like {C++} {references}.

	Statically deciding (e.g. via a {program analysis} executed by a
	sophisticated {compiler}) which locations of a {program} will be
	aliased at run time is an {undecidable} problem.

	[G. Ramalingam: "The Undecidability of Aliasing", ACM
	Transactions on Programming Languages and Systems (TOPLAS),
	Volume 16, Issue 5, September 1994, Pages: 1467 - 1471,
	ISSN:0164-0925.]

	(2004-09-12)

aliasing

	1. <jargon> When several different identifiers refer to the
	same object.  The term is very general and is used in many
	contexts.

	See {alias}, {aliasing bug}, {anti-aliasing}.

	2. <hardware> (Or "shadowing") Where a hardware device
	responds at multiple addresses because it only decodes a
	subset of the {address lines}, so different values on the
	other lines are ignored.

	(1998-03-13)

aliasing bug

	{stale pointer bug}

Alice

	<computer, parallel> A parallel {graph rewriting} computer
	developed by {Imperial College}, {University of Edinburgh} and
	{ICL}.

	(1995-01-19)

alife

	{artificial life}

A-Life

	{artificial life}

ALJABR

	<tool> An implementation of {MACSYMA} for the {Macintosh} by
	{Fort Pond Research}.

	(1995-02-21)

al-Khwarizmi

	{Muhammad ibn Musa al-Khwarizmi}

Allegro

	<operating system> The code name for the major {Mac OS}
	release due in mid-1998.

	{(http://devworld.apple.com/mkt/informed/appledirections/mar97/roadmap.html)}.

	(1997-10-15)

all-elbows

	<jargon> Said of a {TSR} (terminate-and-stay-resident)
	{mess-dos} program, such as the N pop-up calendar and
	calculator utilities that circulate on {BBS} systems:
	unsociable.  Used to describe a program that {rude}ly steals
	the resources that it needs without considering that other
	TSRs may also be resident.  One particularly common form of
	rudeness is lock-up due to programs fighting over the keyboard
	interrupt.

	[{Jargon File}]

	(1995-02-21)

ALLIANCE

	<tool> A complete set of {CAD} tools for teaching Digital
	{CMOS} {VLSI} Design in Universities.  It includes a {VHDL}
	compiler and simulator, {logic synthesis} tools, and automatic
	place and route tools.  ALLIANCE is the result of a ten years
	effort at University Pierre et Marie Curie (PARIS VI, France).

	It runs on {Sun-4}, not well supported: {MIPS}/{Ultrix},
	{386}/{SystemV}.

	Latest version: 1.1, as of 1993-02-16.

	(1993-02-16)

allow-none

	<programming> An annotation in {GTk} documentation indicating
	that the annotated entity may be null.

	{(http://live.gnome.org/GObjectIntrospection/Annotations)}.

	(2009-09-29)

ALLOY

	<language> A language by Thanasis Mitsolides
	<mitsolid@cs.nyu.edu> which combines {functional programming},
	{object-oriented programming} and {logic programming} ideas,
	and is suitable for {massively parallel} systems.

	Evaluating modes support serial or parallel execution, {eager
	evaluation} or {lazy evaluation}, {nondeterminism} or multiple
	solutions etc.  ALLOY is simple as it only requires 29
	primitives in all (half of which are for {object oriented
	programming} support).

	It runs on {SPARC}.

	{(ftp://cs.nyu.edu/pub/local/alloy/)}.

	["The Design and Implementation of ALLOY, a Parallel Higher
	Level Programming Language", Thanasis Mitsolides
	<mitsolid@cs2.nyu.edu>, PhD Thesis NYU 1990].

	(1991-06-11)

ALM

	1. <programming> {application lifecycle management}.

	2. <language> {Assembly Language for Multics}.

Aloha

	<networking> (From the Hawaiian greeting) A system of
	{contention resolution} devised at The {University of Hawaii}.
	{Packets} are {broadcast} when ready, the sender listens to
	see if they collide and if so re-transmits after a random
	time.  {Slotted Aloha} constrains packets to start at the
	beginning of a time slot.  Basic Aloha is appropriate to long
	propagation time nets (e.g. satellite).  For shorter
	propagation times, {carrier sense} {protocols} are possible.

	(1995-12-10)

Aloha Net

	<networking> (From the Hawaiian greeting) One of the first
	functioning {networks} in the USA, conceived and implimented
	at the {University of Hawaii} campus at Manoa.  Its purpose
	was to link the University {mainframe} computer to client
	computers located on outer islands at University campuses.
	Put in place in the early 1970s, it was dubed the Aloha Net.
	{Key punch} cards were fed through a reader, and sent over the
	commercial phone lines.

	(1995-12-10)

Alonzo Church

	<person> A twentieth century mathematician and logician, and
	one of the founders of computer science.  Church invented the
	{lambda-calculus} and posited a version of the {Church-Turing
	thesis}.

	(1995-03-25)

ALP

	<language> A {list processing} extension of {Mercury
	Autocode}.

	["ALP, An Autocode List-Processing Language", D.C. Cooper et
	al, Computer J 5:28-31, 1962].

	(1995-01-24)

ALPAK

	<library> A subroutine package used by {ALTRAN}.

	["The ALPAK System for Nonnumerical Algebra on a Digital
	Computer", W.S. Brown, Bell Sys Tech J 42:2081, 1963].

	[Sammet 1969, p. 502].

	(1995-05-10)

ALPHA

	<language> (Or "Input") An extension of {ALGOL 60} for the
	{M-20} computer developed by A.P. Ershov at Novosibirsk in
	1961.  ALPHA includes {matrix} operations, {slices}, and
	complex arithmetic.

	["The Alpha Automatic Programming System", A.P. Ershov ed.,
	A-P 1971].

	(1995-05-10)

Alpha

	1. <tool> A {compiler generator} written by Andreas Koschinsky
	<koschins@cs.tu-berlin.de> and described in his thesis at the
	{Technische Universitaet Berlin}.  Alpha takes an {attribute
	grammar} and uses {Bison} and {Flex} to generate a {parser}, a
	{scanner} and an {ASE evaluator} (Jazayeri and Walter).

	The documentation is in german.

	(1993-02-16)

	2. <processor> {DEC Alpha}.

	(1995-05-10)

Alpha AXP 21164

	<processor> A 1 {GIPS} version of the {DEC Alpha} processor.
	The first commercially available sequential 1 GIPS processor.
	Announced 1994-09-7.

	{(http://digital.com/info/semiconductor/dsc-21164.html)}.

	(1995-05-10)

alpha/beta pruning

	<games, algorithm> An optimisation of the {minimax}
	{algorithm} for choosing the next move in a two-player game.
	The position after each move is assigned a value.  The larger
	this value, the better the position is for me.  Thus, I will
	choose moves with maximum value and you will choose moves with
	minimum value (for me).

	If it is my move and I have already found one move M with
	value alpha then I am only interested in other moves with
	value greater than alpha.  I now consider another of my
	possible moves, M', to which you could reply with a move with
	value beta.  I know that you would only make a different reply
	if it had a value less than beta.  If beta is already less
	than alpha then M' is definitely worth less than M so I can
	reject it without considering any other replies you might
	make.

	The same reasoning applies when considering my replies to your
	reply.  An alpha cutoff is when your reply gives a lower value
	than the current maximum (alpha) and a beta cutoff is when my
	reply to your reply gives a higher value than the current
	minimum value of your reply (beta).

	In short, if you've found one possible move, you need not
	consider another move which your opponent can force to be
	worse than the first one.

	(1997-05-05)

alphabetic language

	<human language> A written human language in which symbols
	reflect the pronunciation of the words.  Examples are English,
	Greek, Russian, Thai, Arabic and Hebrew.  Alphabetic languages
	contrast with {ideographic languages}.

	{I18N Encyclopedia
	(http://i18ngurus.com/encyclopedia/alphabetic_language.html)}.

	(2004-08-29)

alpha conversion

	<theory> In {lambda-calculus} and {reduction}, the renaming of
	a {formal parameter} in a {lambda abstraction}.  This does not
	change the meaning of the abstraction.  For example:

		\ x . x+1  <-->  \ y . y+1

	If the {actual argument} to a lambda abstraction contains
	instances of the abstraction's formal parameter then it is
	necessary to rename the parameter before applying the
	abstraction to avoid {name capture}.

	(1995-05-10)

Alpha EV6

	{EV6}

Alpha Geek

	<job> The head {geek} or geek's geek.  When no one else knows
	the answer, or several techno-types give conflicting advise,
	or the error message says "consult your administrator" and you
	*are* the administrator, you ask the Alpha Geek.

	(1997-06-25)

alphanumeric

	<character> A decimal digit or a letter (upper or lower case).
	Typically, "letters" means only English letters ({ASCII} A-Z
	plus a-z) but it may also include non-English letters in the
	Roman alphabet, e.g., e-{acute}, c-{cedilla}, the {thorn
	letter}, and so on.  Perversely, it may also include the
	{underscore} character in some contexts.

	(1997-09-11)

alpha particle

	{bit rot}

Alphard

	<language> (Named after the brightest star in Hydra) A
	{Pascal}-like language developed by Wulf, Shaw and London of
	{CMU} in 1974.  Alphard supports {data abstraction} using the
	'form', which combines a specification and an implementation.

	["Abstraction and Verification in Alphard: Defining and
	Specifying Iteration and Generators", Mary Shaw, CACM
	20(8):553-563, Aug 1977].

	(1995-05-10)

alpha testing

	<programming> Testing of software at the developer's site by
	the customer.  The stage before {beta testing}.

	(1996-05-10)

ALPS

	<language> 1. An interpreted {algebraic language} for the
	{Bendix G15} developed by Dr. Richard V. Andree (? - 1987),
	Joel C. Ewing and others of the {University of Oklahoma} from
	Spring 1966 (possibly 1965).

	Dale Peters <dpeters@theshop.net> reports that in the summer
	of 1966 he attended the second year of an {NSF}-sponsored
	summer institute in mathematics and computing at the
	University of Oklahoma.  Dr. Andree's computing class mostly
	used the language GO-GO, later renamed ALPS.  The language
	changed frequently during the class, which was occasionally
	disorienting.  Dale believes it was also used in Summer 1965
	and that it was about this time that {John G. Kemeny} (one of
	the designers of {Dartmouth BASIC}, 1963) saw it during a
	visit.

	Dr. Andree's January 1967 class mimeo notes on ALPS begin:
	"ALPS is a new programming language designed and perfected by
	Mr. Harold Bradbury, Mr. Joel Ewing and Mr. Harold Wiebe,
	members of the O.U. Mathematics Computer Consultants Group
	under the direction of Dr. Richard V. Andree.  ALPS is
	designed to be used with a minimum of training to solve
	numerical problems on a computer with typewriter stations and
	using man-computer cooperation by persons who have little
	familiarity with advanced mathematics."

	The initial version of what evolved into ALPS was designed and
	implemented by Joel Ewing (a pre-senior undergrad) in G15
	{machine language} out of frustration with the lack of
	applications to use the G15's dual-case alphanumeric I/O
	capabilities.  Harold Wiebe also worked on the code.  Others,
	including Ralph Howenstine, a member of the O.U. Math Computer
	Consultants Group, contributed to the design of extensions and
	Dr. Andree authored all the instructional materials, made the
	outside world aware of the language and encouraged work on the
	language.

	(2006-10-10)

	2. A parallel {logic language}.

	["Synchronization and Scheduling in ALPS Objects",
	P. Vishnubhotia, Proc 8th Intl Conf Distrib Com Sys, IEEE
	1988, pp. 256-264].

	(1994-11-24)

alt

	<character> /awlt/ 1. The alt {modifier key} on many
	{keyboards}, including the {IBM PC}.  On some keyboards and
	{operating systems}, (but not the IBM PC) the alt key sets bit
	7 of the character generated.

	See {bucky bits}.

	2. The "{clover}" or "Command" key on a {Macintosh}; use of
	this term usually reveals that the speaker hacked PCs before
	coming to the Mac (see also {feature key}).  Some Mac hackers,
	confusingly, reserve "alt" for the Option key (and it is so
	labelled on some Mac II keyboards).

	3. (Obsolete {PDP-10}; often "ALT") An alternate name for the
	{ASCII} ESC character (Escape, ASCII 27), after the keycap
	labelling on some older {terminals}; also "altmode"
	(/awlt'mohd/).  This character was almost never pronounced
	"escape" on an {ITS} system, in {TECO} or under {TOPS-10},
	always alt, as in "Type alt alt to end a TECO command" or
	"alt-U onto the system" (for "log onto the [ITS] system").
	This usage probably arose because alt is easier to say.

	4. <messaging> One of the {Usenet} {newsgroup} {hierarchies}.
	It was founded by {John Gilmore} and {Brian Reid}.  The alt
	hierarchy is special in that anyone can create new groups here
	without going though the normal voting proceduers, hence the
	regular appearence of new groups with names such as
	"alt.swedish.chef.bork.bork.bork".

	[{Jargon File}]

	(1997-04-12)

ALTAC

	<language> An extended {Fortran II} for the {Philco 2000},
	built on {TAC}.

	[Sammet 1969, p.146].

	(1995-03-16)

Altair 8800

	<computer> An {Intel 8080}-based machine made by {MITS}.  The
	Altair was the first popular {microcomputer} kit.

	It appeared on the cover of the January 1975 "Popular
	Electronics" magazine with an article (probably) by Leslie
	Solomon.  Leslie Solomon was an editor at Popular Electronics
	who had a knack for spotting kits that would interest people
	and make them buy the magazine.  The Altair 8800 was one such.
	The MITS guys took the prototype Altair to New York to show
	Solomon, but couldn't get it to work after the flight.
	Nonetheless, he liked it, and it appeared on the cover as "The
	first minicomputer in a kit."

	Solomon's blessing was important enough that some MITS
	competitors named their product the "SOL" to gain his favour.
	Some wags suggested {SOL} was actually an abbreviation for the
	condition in which kit purchasers would find themselves.

	{Bill Gates} and Paul Allen saw the article on the Altair 8800
	in Popular Electronics.  They realised that the Altair, which
	was programmed via its binary front panel needed a {high level
	language}.  Legend has it that they called MITS with the claim
	that they had a {BASIC} {interpreter} for the Altair.  When
	MITS asked them to demo it in Albuquerque, they wrote one on
	the plane.  On arrival, they entered the machine code via the
	front panel and demonstrated and sold their "product."  Thus
	was born "Altair BASIC."

	The original Altair BASIC ran in less than 4K of RAM because a
	"loaded" Altair had 4K memory.  Since there was no {operating
	system} on the Altair, Altair BASIC included what we now think
	of as {BIOS}.  It was distributed on {paper tape} that could
	be read on a {Teletype}.  Later versions supported the 8K
	Altair and the 16K {diskette}-based Altair (demonstrating
	that, even in the 1970s, {Microsoft} was committed to
	{software bloat}).  Altair BASIC was ported to the {Motorola
	6800} for the Altair 680 machine, and to other 8080-based
	microcomputers produced by MITS' competitors.

	{PC-History.org Altair 8800 page
	(http://pc-history.org/altair_8800.htm)}.

	[Forrest M. Mimms, article in "Computers and Electronics",
	(formerly "Popular Electronics"), Jan 1985(?)].

	[Was there ever an "Altair 9000" microcomputer?]

	(2002-06-17)

Alta Vista

	<web> A {website} provided by {Digital}
	which features a very fast Web and {Usenet} {search engine}.

	As of April 1996 its word index is 33GB in size.  AltaVista is
	currently (June 1996) the largest Web index, with 30 million
	pages from 225,000 servers, and three million articles from
	14,000 {Usenet} news groups.  It is accessed over 12 million
	times per weekday.

	{(http://altavista.digital.com/)}.

	(1996-06-10)

alt bit

	/awlt bit/ alternate bit.  See {meta bit}.

	[{Jargon File}]

ALTER

	<database> An {SQL} {Data Definition Language} command that
	adds or removes {columns} or {indexes} to/from a {table} or
	modifies the table definition in some other way.  This differs
	from the INSERT, UPDATE and DELETE ({Data Modification
	Language}) commands in that those change the data stored in
	the table but not its definition.

	{MySQL ALTER TABLE command
	(http://dev.mysql.com/doc/refman/5.1/en/alter-table.html)}.

	(2009-11-10)

Alternating bit protocol

	<networking> (ABP) A simple {data link layer} {protocol} that
	retransmits lost or corrupted messages.

	Messages are sent from transmitter A to receiver B.  Assume
	that the channel from A to B is initialised and that there are
	no messages in transit.  Each message contains a data part, a
	{checksum}, and a one-bit {sequence number}, i.e. a value that
	is 0 or 1.

	When A sends a message, it sends it continuously, with the
	same sequence number, until it receives an acknowledgment
	({ACK}) from B that contains the same sequence number.  When
	that happens, A complements (flips) the sequence number and
	starts transmitting the next message.

	When B receives a message from A, it checks the checksum.  If
	the message is not corrupted B sends back an ACK with the same
	sequence number.  If it is the first message with that
	sequence number then it is sent for processing.  Subsequent
	messages with the same sequence bit are simply acknowledged.
	If the message is corrupted B sends back an negative/error
	acknowledgment ({NAK}).  This is optional, as A will continue
	transmitting until it receives the correct ACK.

	A treats corrupted ACK messages, and NAK messages in the same
	way.  The simplest behaviour is to ignore them all and
	continue transmitting.

	(2000-10-28)

altmode

	{alt}

ALTRAN

	<language> A {Fortran} extension for {rational algebra}
	developed by W.S. Brown of {Bell Labs} ca. 1968.

	["The ALTRAN System for Rational Function Manipulation - A
	Survey", A.D. Hall, CACM 14(8):517-521 (Aug 1971)].

	(1995-06-01)

alt.sources

	<messaging, programming> A {Usenet} {newsgroup} for posting
	program {source code}.

	{Archive (ftp://wuarchive.wustl.edu/usenet/alt.sources/)}.

	(1995-10-18)

ALU

	1. <processor> {Arithmetic and Logic Unit}.

	2. <body> {Association of Lisp Users}.

Aluminum Book

	<publication>

	["Common LISP: The Language, 2nd Edition", {Guy L. Steele
	Jr.}, Digital Press 1990, ISBN 1-55558-041-6].

	Due to a technical screwup some printings of the second
	edition are actually what the author calls "yucky green".

	{On-line version
	(http://cs.cmu.edu/Groups/AI/html/cltl/cltl2.html)}.

	See also {book titles}.

	[{Jargon File}]

	(1997-06-25)

Alvey

	<project, body> A funding programme for collaborative research
	in the UK.

	(1995-06-01)

AM

	1. <communications> {Amplitude Modulation}.

	2. <artificial intelligence> A program by {Doug Lenat} to
	discover concepts in elementary mathematics.  AM was written
	in 1976 in {Interlisp}.  From 100 fundamental concepts and
	about 250 {heuristics} it discovered several important
	mathematical concepts including subsets, disjoint sets, sets
	with the same number of elements, and numbers.  It worked by
	filling slots in {frames} maintaining an agenda of
	resource-limited prioritised tasks.

	AM's successor was {Eurisko}.

	{(http://homepages.enterprise.net/hibou/aicourse/lenat.txt)}.

	(1999-04-19)

am

	<networking> The {country code} for Armenia.

	Used for the {vanity domain} "i.am".

	(1999-01-27)

Amanda

	<language> A {functional programming language} derived mostly
	from {Miranda} with some small changes.  Amanda was written by
	Dick Bruin and implemented on {MS-DOS} and {NeXT}.  It is
	available as an {interperator} only.

	(1998-04-27)

A Manufacturing Language

	<language, robotics> (AML) A {high-level language} developed
	by {IBM} in the 1980s for industrial {robots}.

	["AML: A Manufacturing Language", R.H. Taylor et al, Inst J
	Robot Res 1(3):19-43].

	(1995-09-25)

amateur packet radio

	<communications> (PR) The use of {packet radio} by amateurs to
	communicate between computers.  PR is a complete amateur radio
	computer network with "digipeaters" (relays), mailboxes (BBS)
	and other special nodes.

	In Germany, it is on HF, say, 2m (300 and 1200 BPS), 70cm
	(1200 to 9600 BPS), 23cm (normally 9600 BPS and up, currently
	most links between digipeaters) and higher frequencies.  There
	is a KW (short wave) Packet Radio at 300 BPS, too.

	Satellites with OSCAR (Orbiting Sattelite Carring Amateur
	Radio) transponders (mostly attached to commercial satellites
	by the AMateur SATellite (AMSAT) group) carry Packet Radio
	mailboxes or {digipeaters}.

	There are both on-line and off-line services on the packet
	radio network: You can send {electronic mail}, read bulletins,
	chat, transfer files, connect to on-line DX-Clusters (DX=far
	distance) to catch notes typed in by other HAMs about the
	hottest international KW connections currently coming up (so
	you can pile up).

	PR uses {AX.25} (an {X.25} derivative) as its {transport
	layer} and sometimes even {TCP/IP} is transmitted over AX.25.
	AX.25 is like X.25 but the adressing uses HAM "calls" like
	"DG8MGV".

	There are special "wormholes" all over the world which
	"tunnel" amateur radio traffic through the {Internet} to
	forward mail.  Sometimes mails travels over satelites.
	Normally amateur satellites have strange orbits, however the
	mail forwarding or mailbox satellites have very predictable
	orbits.  Some wormholes allow HAMs to bridge from Internet to
	{AMPR-NET}, e.g. db0fho.ampr.org or
	db0fho.et-inf.fho-emden.de, but only if you are registered
	HAM.

	Because amateur radio is not for profit, it must not be
	interconnected to the {Internet} but it may be connected
	through the Internet.  All people on the (completely free)
	amateur radio net must be licensed radio amateurs and must
	have a "call" which is unique all over the world.

	There is a special {domain} AMPR.ORG (44.*.*.*) for amateur
	radio reserved in the IP space.  This domain is split between
	countries, which can further subdivide it.  For example
	44.130.*.* is Germany, 44.130.58.* is Augsburg (in Bavaria),
	and 44.130.58.20 is dg8mgv.ampr.org (you may verify this with
	{nslookup}).

	Mail transport is only one aspect of packet radio.  You can
	talk interactively (as in {chat}), read files, or play silly
	games built in the Packet Radio software.  Usually you can use
	the autorouter to let the digipeater network find a path to
	the station you want.  However there are many (sometimes
	software incompatible) digipeaters out there, which the router
	cannot use.  Paths over 1000 km are unlikely to be useable for
	{real-time} communication and long paths can introduce
	significant delay times (answer latency).

	Other uses of amateur radio for computer communication include
	{RTTY} ({baudot}), {AMTOR}, {PACTOR}, and {CLOVER}.

	{A huge hamradio archive (ftp://ftp.ucsd.edu/hamradio/)}.

	{Usenet} newsgroup: {news:rec.radio.amateur.packet}.

	(2001-05-12)

Amber

	<language> 1. A {functional programming} language which adds
	{CSP}-like {concurrency}, {multiple inheritance} and
	{persistence} to {ML} and generalises its type system.  It is
	similar to {Galileo}.  Programs must be written in two type
	faces, roman and italics!  It has both {static types} and
	{dynamic types}.

	There is an implementation for {Macintosh}.

	["Amber", L. Cardelli, TR Bell Labs, 1984].

	2.  An {object-oriented} distributed language based on a
	subset of {C++}, developed at {Washington University} in the
	late 1980s.

	(1994-12-08)

AMBIT

	<language> Algebraic Manipulation by Identity Translation
	(also claimed: "Acronym May Be Ignored Totally").

	An early {pattern-matching} language, developed by
	C. Christensen of Massachusetts Computer Assocs in 1964, aimed
	at algebraic manipulation.

	[Sammet 1969, pp. 454-457].

	(1994-12-08)

AMBIT/G

	<language> {AMBIT} for graphs.

	["An Example of the Manipulation of Directed Graphs in the
	AMBIT/G Programming Language", C. Christensen, in Interactive
	Systems for Experimental Applied Mathematics, M. Klerer et al,
	eds, Academic Press 1968, pp. 423-435].

	(1994-12-08)

AMBIT/L

	<language> {AMBIT} for lists.

	A variant of AMBIT supporting list handling and {pattern
	matching} rules based on two-dimensional diagrams.

	["An Introduction to AMBIT/L, A Diagrammatic Language for List
	Processing", Carlos Christensen, Proc 2nd ACM Symp Symb and
	Alg Manip (Mar 1971)].

	(1994-12-08)

AMBIT/S

	<language> {AMBIT} for strings.

AMBUSH

	<language> A language for {linear programming} problems in a
	materials processing and transportation network.

	["AMBUSH - An Advanced Model Builder for Linear Programming",
	T.R. White et al, National Petroleum Refiners Assoc Comp Conf
	(Nov 1971)].

	(1995-06-19)

AMD

	1. <company> {Advanced Micro Devices}.

	2. <jargon> According to Don Olivier <don@hsph.harvard.edu>,
	his system manager came in to work one morning to find his IBM
	system down with a message on the console that said "AMD
	failure".  After he and the service rep had puzzled over
	documentation for an hour or so they called headquarters and
	eventually learned that it the failure was in the cooling
	system: an AMD is an "air movement device", IBM for "fan".

	(1995-01-16)

AMD 29000

	<processor> A {RISC} {microprocessor} descended from the
	{Berkley RISC} design.  Like the {SPARC} design that was
	introduced shortly afterward, the 29000 has a large {register
	set} split into local and global sets.  But though it was
	introduced before the SPARC, it has a more elegant method of
	register management.

	The 29000 has 64 global registers, in comparison to the
	SPARC's eight.  In addition, the 29000 allows variable sized
	windows allocated from the 128 register stack {cache}.  The
	current window or stack frame is indicated by a stack pointer,
	a pointer to the caller's frame is stored in the current
	frame, like in an ordinary stack (directly supporting stack
	languages like {C}, a {CISC}-like philosophy).  Spills and
	fills occur only at the ends of the cache, and registers are
	saved/loaded from the memory stack.  This allows variable
	window sizes, from 1 to 128 registers.  This flexibility, plus
	the large set of global registers, makes {register allocation}
	easier than in SPARC.

	There is no special {condition code register} - any general
	register is used instead, allowing several condition codes to
	be retained, though this sometimes makes code more complex.
	An {instruction prefetch} buffer (using {burst mode}) ensures
	a steady instruction stream.  To reduce delays caused by a
	branch to another stream, the first four new instructions are
	cached and next time a cached branch (up to sixteen) is taken,
	the cache supplies instructions during the initial memory
	access delay.

	Registers aren't saved during interrupts, allowing the
	interrupt routine to determine whether the overhead is
	worthwhile.  In addition, a form of register access control is
	provided.  All registers can be protected, in blocks of 4,
	from access.  These features make the 29000 useful for
	embedded applications, which is where most of these processors
	are used, allowing it the claim to be "the most popular RISC
	processor".  The 29000 also includes an {MMU} and support for
	the {AMD 29027} {FPU}.

	(1995-06-19)

AMD 29027

	<processor> The {FPU} for the {AMD 29000}.

	(1995-01-16)

Amdahl

	1. <company> {Amdahl Corporation}.

	2. <person> {Gene Amdahl}.

Amdahl Corporation

	<company> A US computer manufacturer.  Amdahl is a major
	supplier of large {mainframes}, {UNIX} and {Open Systems}
	software and servers, data storage subsystems, data
	communications products, applications development software,
	and a variety of educational and consulting services.

	Amdahl products are sold in more than 30 countries for use in
	both open systems and {IBM} plug-compatible mainframe
	computing environments.

	Quarterly sales $397M, profits $13M (Aug 1994).

	In 1997 Amdahl became a division of {Fujitsu}.

	{(http://amdahl.com/)}.

	(1995-05-23)

Amdahl's Law

	<parallel> (Named after {Gene Amdahl}) If F is the fraction of
	a calculation that is sequential, and (1-F) is the fraction
	that can be parallelised, then the maximum {speedup} that can
	be achieved by using P processors is 1/(F+(1-F)/P).

	[Gene Amdahl, "Validity of the Single Processor Approach to
	Achieving Large-Scale Computing Capabilities", AFIPS
	Conference Proceedings, (30), pp. 483-485, 1967].

	(2002-10-16)

AMD Am2901

	<processor> A 4-bit {bit-slice} processor from {Advanced Micro
	Devices}.  It featured sixteen 4-bit {registers} and a 4-bit
	{ALU} and operation signals to allow carry/borrow or shift
	operations and such to operate across any number of other
	2901s.  An {address sequencer} (such as the {2910}) could
	provide control signals with the use of custom {microcode} in
	{ROM}.

	(1994-11-16)

AMD Am2903

	<processor> A {bit-slice} prcessor from {Advanced Micro
	Devices} which featured hardware multiply.

	(1994-11-16)

AMD Am2910

	<processor> An {address sequencer} from {Advanced Micro
	Devices}.

	(1994-11-16)

AMD K7

	{Athlon}

American National Standard

	<standard> (ANS) A common prefix for {ANSI} documents or
	standards, e.g.: "ANS {Forth}", or "American National Standard
	X3.215-1994".

	(1998-07-01)

American National Standards Institute

	<body, standard> (ANSI) The private, non-profit organisation
	(501(c)3) responsible for approving US {standards} in many
	areas, including computers and communications.  ANSI is a
	member of {ISO}.  ANSI sells ANSI and ISO (international)
	standards.

	{ANSI Home (http://ansi.org/)}.

	Address: New York, NY 10036, USA.  Sales: 1430 Broadway, NY NY
	10018.  Telephone: +1 (212) 642 4900.

	(2004-01-14)

American Society of Mechanical Engineers

	<body> (ASME) A group involved in {CAD} standardisation.

	(1995-04-21)

American Standard Code for Information Interchange

	The basis of character sets used in almost all present-day
	computers.  {US-ASCII} uses only the lower seven {bits}
	({character points} 0 to 127) to convey some {control codes},
	space, numbers, most basic punctuation, and unaccented letters
	a-z and A-Z.  More modern coded character sets (e.g.,
	{Latin-1}, {Unicode}) define extensions to ASCII for values
	above 127 for conveying special Latin characters (like
	accented characters, or German ess-tsett), characters from
	non-Latin writing systems (e.g., Cyrillic, or {Han
	characters}), and such desirable {glyphs} as distinct open-
	and close-quotation marks.  ASCII replaced earlier systems
	such as {EBCDIC} and {Baudot}, which used fewer bytes, but
	were each {broken} in their own way.

	Computers are much pickier about spelling than humans; thus,
	hackers need to be very precise when talking about characters,
	and have developed a considerable amount of verbal shorthand
	for them.  Every character has one or more names - some
	formal, some concise, some silly.

	Individual characters are listed in this dictionary with
	alternative names from revision 2.3 of the {Usenet} ASCII
	pronunciation guide in rough order of popularity, including
	their official {ITU-T} names and the particularly silly names
	introduced by {INTERCAL}.

	See {V} {ampersand}, {asterisk}, {back quote}, {backslash},
	{caret}, {colon}, {comma}, {commercial at}, {control-C},
	{dollar}, {dot}, {double quote}, {equals}, {exclamation mark},
	{greater than}, {hash}, {left bracket}, {left parenthesis},
	{less than}, {minus}, {parentheses}, {oblique stroke},
	{percent}, {plus}, {question mark}, {right brace}, {right
	brace}, {right bracket}, {right parenthesis}, {semicolon},
	{single quote}, {space}, {tilde}, {underscore}, {vertical
	bar}, {zero}.

	Some other common usages cause odd overlaps.  The "#", "$",
	">", and "&" characters, for example, are all pronounced "hex"
	in different communities because various assemblers use them
	as a prefix tag for {hexadecimal} constants (in particular,
	"#" in many assembler-programming cultures, "$" in the {6502}
	world, ">" at {Texas Instruments}, and "&" on the {BBC Micro},
	{Acorn Archimedes}, {Sinclair}, and some {Zilog Z80}
	machines).  See also {splat}.

	The inability of {US-ASCII} to correctly represent nearly any
	language other than English became an obvious and intolerable
	{misfeature} as computer use outside the US and UK became the
	rule rather than the exception (see {software rot}).  And so
	national extensions to US-ASCII were developed, such as
	Latin-1.

	Hardware and software from the US still tends to embody the
	assumption that US-ASCII is the universal character set and
	that words of text consist entirely of byte values 65-90 and
	97-122 (A-Z and a-z); this is a major irritant to people who
	want to use a character set suited to their own languages.
	Perversely, though, efforts to solve this problem by
	proliferating sets of national characters produced an
	evolutionary pressure (especially in protocol design, e.g.,
	the {URL} standard) to stick to {US-ASCII} as a subset common
	to all those in use, and therefore to stick to English as the
	language encodable with the common subset of all the ASCII
	dialects.  This basic problem with having a multiplicity of
	national character sets ended up being a prime justification
	for {Unicode}, which was designed, ostensibly, to be the *one*
	ASCII extension anyone will need.

	A system is described as "{eight-bit clean}" if it doesn't
	mangle text with byte values above 127, as some older systems
	did.

	See also {ASCII character table}, {Yu-Shiang Whole Fish}.

	(1995-03-06)

American Telephone and Telegraph, Inc.

	<company, telecommunications, Unix> (AT&T) One of the largest US
	telecommunications providers, also noted for being the birthplace
	of the {Unix} {operating system} and the {C} and {C++} programming
	languages.

	AT&T was incorporated in 1885, but traces its lineage to
	Alexander Graham Bell and his invention of the telephone in
	1876.  As parent company of the former {Bell System}, AT&T's
	primary mission was to provide telephone service to virtually
	everyone in the United States.  In its first 50 years, AT&T
	established subsidiaries and allied companies in more than a
	dozen other countries.  It sold these interests in 1925 and
	focused on achieving its mission in the United States.  It
	did, however, continue to provide international long distance
	service.

	The Bell System was dissolved at the end of 1983 with AT&T's
	divestiture of the Bell telephone companies.

	AT&T split into three parts in 1996, one of which is {Lucent
	Tecnologies}, the former systems and equipment portion of AT&T
	(including Bell Laboratories).

	See also {3DO}, {Advanced RISC Machine}, {Berkeley Software
	Distribution}, {Bell Laboratories}, {Concurrent C}, {Death
	Star}, {dinosaurs mating}, {InterNIC}, {System V}, {Nawk},
	{Open Look}, {rc}, {S}, {Standard ML of New Jersey}, {Unix
	International}, {Unix conspiracy}, {USG Unix}, {Unix System
	Laboratories}.

	{AT&T Home (http://att.com/)}.

	(2002-06-21)

American Wire Gauge

	<hardware, standard> (AWG, sometimes "Brown and Sharpe Wire
	Gauge") A U.S. {standard} set of non-ferrous wire conductor
	sizes.  Typical household wiring is AWG number 12 or 14.
	Telephone wire is usually 22, 24, or 26.  The higher the gauge
	number, the smaller the diameter and the thinner the wire.
	Thicker wire is better for long distances due to its lower
	resistance per unit length.

	(2001-03-26)

America On-Line, Inc.

	<company, communications> (AOL) A US on-line service provider
	based in Vienna, Virginia, USA.  AOL claims to be the largest
	and fastest growing provider of on-line services in the world,
	with the most active subscriber base.  AOL offers its three
	million subscribers {electronic mail}, interactive newspapers
	and magazines, conferencing, software libraries, computing
	support, and on-line classes.

	In October 1994 AOL made {Internet} {FTP} available to its
	members and in May 1995, full Internet access including
	{web}.

	AOL's main competitors are {Prodigy} and {Compuserve}.

	{(http://aol.com/)}.

	(1997-08-26)

America's Multimedia Online

	<company, web> (AMO) An {Internet} technologies
	company which invented {Never Offline} in 1995 and was
	officially started in 1996.

	{(http://amo.net/)}.

	E-mail: AMO <amo@amo.net>.

	Address: Albuquerque, NM, USA.

	(1999-11-03)

AMI

	{Alternate Mark Inversion}

Amiga

	<computer> A range of home computers first released by
	{Commodore Business Machines} in early 1985 (though they did
	not design the original - see below).  Amigas were popular for
	{games}, {video processing}, and {multimedia}.  One notable
	feature is a hardware {blitter} for speeding up graphics
	operations on whole areas of the screen.

	The Amiga was originally called the Lorraine, and was
	developed by a company named "Amiga" or "Amiga, Inc.", funded
	by some doctors to produce a killer game machine.  After the
	US game machine market collapsed, the Amiga company sold some
	{joysticks} but no Lorraines or any other computer.  They
	eventually floundered and looked for a buyer.

	Commodore at that time bought the (mostly complete) Amiga
	machine, infused some money, and pushed it through the final
	stages of development in a hurry.  Commodore released it
	sometime[?] in 1985.

	Most components within the machine were known by nicknames.
	The {coprocessor} commonly called the "Copper" is in fact the
	"{Video} Timing Coprocessor" and is split between two chips:
	the instruction fetch and execute units are in the "Agnus"
	chip, and the {pixel} timing circuits are in the "Denise" chip
	(A for address, D for data).

	"Agnus" and "Denise" were responsible for effects timed to the
	{real-time} position of the video scan, such as midscreen
	{palette} changes, {sprite multiplying}, and {resolution}
	changes.  Different versions (in order) were: "Agnus" (could
	only address 512K of {video RAM}), "Fat Agnus" (in a {PLCC}
	package, could access 1MB of video RAM), "Super Agnus"
	(slightly upgraded "Fat Agnus").  "Agnus" and "Fat Agnus" came
	in {PAL} and {NTSC} versions, "Super Agnus" came in one
	version, jumper selectable for PAL or NTSC.  "Agnus" was
	replaced by "Alice" in the A4000 and A1200, which allowed for
	more {DMA} channels and higher bus {bandwidth}.

	"Denise" outputs binary video data (3*4 bits) to the "Vidiot".
	The "Vidiot" is a hybrid that combines and amplifies the
	12-bit video data from "Denise" into {RGB} to the {monitor}.

	Other chips were "Amber" (a "flicker fixer", used in the A3000
	and Commodore display enhancer for the A2000), "Gary" ({I/O},
	addressing, G for {glue logic}), "Buster" (the {bus
	controller}, which replaced "Gary" in the A2000), "Buster II"
	(for handling the Zorro II/III cards in the A3000, which meant
	that "Gary" was back again), "Ramsey" (The {RAM} controller),
	"DMAC" (The DMA controller chip for the WD33C93 {SCSI adaptor}
	used in the A3000 and on the A2091/A2092 SCSI adaptor card for
	the A2000; and to control the {CD-ROM} in the {CDTV}), and
	"Paula" ({Peripheral}, Audio, {UART}, {interrupt} Lines, and
	{bus Arbiter}).

	There were several Amiga chipsets: the "Old Chipset" (OCS),
	the "Enhanced Chipset" (ECS), and {AGA}.  OCS included
	"Paula", "Gary", "Denise", and "Agnus".

	ECS had the same "Paula", "Gary", "Agnus" (could address 2MB
	of Chip RAM), "Super Denise" (upgraded to support "Agnus" so
	that a few new {screen modes} were available).  With the
	introduction of the {Amiga A600} "Gary" was replaced with
	"Gayle" (though the chipset was still called ECS).  "Gayle"
	provided a number of improvments but the main one was support
	for the A600's {PCMCIA} port.

	The AGA chipset had "Agnus" with twice the speed and a 24-bit
	palette, maximum displayable: 8 bits (256 colours), although
	the famous "{HAM}" (Hold And Modify) trick allows pictures of
	256,000 colours to be displayed.  AGA's "Paula" and "Gayle"
	were unchanged but AGA "Denise" supported AGA "Agnus"'s new
	screen modes.  Unfortunately, even AGA "Paula" did not support
	High Density {floppy disk drives}.  (The Amiga 4000, though,
	did support high density drives.)  In order to use a high
	density disk drive Amiga HD floppy drives spin at half the
	rotational speed thus halving the data rate to "Paula".

	Commodore Business Machines went bankrupt on 1994-04-29,
	the German company {Escom AG} bought the rights to the Amiga
	on 1995-04-21 and the Commodore Amiga became the Escom
	Amiga.  In April 1996 Escom were reported to be making the
	{Amiga} range again but they too fell on hard times and
	{Gateway 2000} (now called Gateway) bought the Amiga brand
	on 1997-05-15.

	Gateway licensed the Amiga operating system to a German
	hardware company called {Phase 5} on 1998-03-09.  The
	following day, Phase 5 announced the introduction of a
	four-processor {PowerPC} based Amiga {clone} called the
	"{pre\box}".  Since then, it has been announced that the
	new operating system will be a version of {QNX}.

	On 1998-06-25, a company called {Access Innovations Ltd}
	announced {plans (http://micktinker.co.uk/aaplus.html)} to
	build a new Amiga chip set, the {AA+}, based partly on the AGA
	chips but with new fully 32-bit functional core and 16-bit AGA
	{hardware register emulation} for {backward compatibility}.
	The new core promised improved memory access and video display
	DMA.

	By the end of 2000, Amiga development was under the control of
	a [new?] company called {Amiga, Inc.}.  As well as continuing
	development of AmigaOS (version 3.9 released in December
	2000), their "Digital Environment" is a {virtual machine} for
	multiple {platforms} conforming to the {ZICO} specification.
	As of 2000, it ran on {MIPS}, {ARM}, {PPC}, and {x86}
	processors.

	{(http://amiga.com/)}.

	{Amiga Web Directory (http://cucug.org/amiga.html)}.

	{amiCrawler (http://amicrawler.com/)}.

	Newsgroups: {news:comp.binaries.amiga},
	{news:comp.sources.amiga}, {news:comp.sys.amiga},
	{news:comp.sys.amiga.advocacy},
	{news:comp.sys.amiga.announce},
	{news:comp.sys.amiga.applications},
	{news:comp.sys.amiga.audio}, {news:comp.sys.amiga.datacomm},
	{news:comp.sys.amiga.emulations}, {news:comp.sys.amiga.games},
	{news:comp.sys.amiga.graphics},
	{news:comp.sys.amiga.hardware},
	{news:comp.sys.amiga.introduction},
	{news:comp.sys.amiga.marketplace}, {news:comp.sys.amiga.misc},
	{news:comp.sys.amiga.multimedia},
	{news:comp.sys.amiga.programmer},
	{news:comp.sys.amiga.reviews}, {news:comp.sys.amiga.tech},
	{news:comp.sys.amiga.telecomm}, {news:comp.Unix.amiga}.

	See {aminet}, {Amoeba}, {bomb}, {exec}, {gronk}, {guru
	meditation}, {Intuition}, {sidecar}, {slap on the side},
	{Vulcan nerve pinch}.

	(2003-07-05)

Amiga E

	<tool> An {Amiga} {E} {compiler} by Wouter van Oortmerssen.

	Amiga E compiles 20000 lines/minute on a 7 Mhz Amiga.  It
	allows {in-line} {assembly code} and has an integrated
	{linker}.  It has a large set of integrated functions and
	{modules}.  V2.04 includes as modules a flexible {type}
	system, quoted expressions, {immediate} and typed lists, low
	level {polymorphism} and {exception} handling.  It is written
	in {assembly language} and E.

	Version 2.1b

	{(ftp://ftp.wustl.edu/pub/aminet/dev/e/AmigaE21b.lha)}.
	{(ftp://amiga.physik.unizh.ch/amiga/dev/lang/AmigaE21b.lha)}.

	{Usenet} newsgroup: {news:comp.sys.amiga.programmer}.

	(1997-08-26)

Aminet

	<networking> (Amiga network) A collection of {FTP} {mirrors}
	that contain several {gigabytes} of {freely distributable
	software} for the {Amiga} range of computers.

	{Home, ftp.wustl.edu (ftp://ftp.wustl.edu)}.

	(1997-08-31)

AML

	{A Manufacturing Language}

AML/E

	<language, robotics> (AML Entry) A simple version of {AML},
	implemented on the {IBM PC}, with a graphic display of the
	robot position.

	(1995-10-03)

AMO

	{America's Multimedia Online}

Amoeba

	1. <operating system> A distributed {operating system}
	developed by {Andrew S. Tanenbaum} and others of {Vrije
	Universiteit, Amsterdam}.  Amoeba is only available under
	licence from the VUA, but is free of charge and includes all
	{source}, {binaries} and documentation.

	{(http://am.cs.vu.nl/)}.

	[Features?]

	2. <computer, abuse> A derogatory term for {Commodore}'s
	{Amiga} {personal computer}.

	[{Jargon File}]

	(1997-05-07)

AMP

	1. <mathematics, tool> {Algebraic Manipulation Package}.

	2. <networking, tool> {Active Measurement Project}.

amper

	{ampersand}

Ampere

	<unit, electronics> (Amp, A) The unit of electrical current
	flow.  One Amp is the current that will flow through a
	one-{ohm} resistance when one {Volt} {DC} is applied across
	it.

	(2004-01-18)

ampersand

	<character> "&" {ASCII} character 38.

	Common names: {ITU-T}, {INTERCAL}: ampersand; amper; and.
	Rare: address (from {C}); reference (from C++); bitand;
	background (from {sh}); pretzel; amp.

	A common symbol for "and", used as the "address of" operator
	in {C}, the "reference" operator in {C++} and a {bitwise and}
	or {logical and} operator in several programming languages.
	{Visual BASIC} uses it as the {string concatenation}
	{operator} and to prefix {octal} and {hexadecimal} numbers.

	{UNIX} {shells} use the character to indicate that a task
	should be run in the {background} (single "&" suffix) or
	(following C's {lazy and}), in a {compound command} of the
	form "a && b" to indicate that the command b should only be
	run if command a terminates successfully.

	The ampersand is a ligature (combination) of the cursive
	letters "e" and "t", invented in 63 BC by Marcus Tirus [Tiro?]
	as shorthand for the Latin word for "and", "et".

	The word ampersand is a conflation (combination) of "and, per
	se and".  Per se means "by itself", and so the phrase
	translates to "&, standing by itself, means 'and'".  This was
	at the end of the alphabet as it was recited by children in
	old English schools.  The words ran together and were
	associated with "&".  The "ampersand" spelling dates from
	1837.

	{Take our word for it
	(http://takeourword.com/Issue010.html)}.

	(2012-07-18)

AMPL

	<language> Along with {mpl}, the intrinsic parallel languages
	for {MasPar}'s computers.  AMPL and mpl are parallel variants
	of {C}.  Ampl is actually now a {gcc} port.

	["AMPL: Design, Implementation and Evaluation of a
	Multiprocessing Language", R. Dannenberg, CMU 1981].

	["Loglan Implementation of the AMPL Message Passing System",
	J. Milewski SIGPLAN Notices 19(9):21-29 (Sept 1984)].

	[Are these the same language?]

	(1995-11-01)

AMPLE

	<language, music> A {FORTH}-like language for programming the
	500/5000 series of add-on music synthesisers for the {BBC
	Microcomputer}.  AMPLE was produced by Hybrid Technologies,
	Cambridge, England in the mid 1980s.  Many AMPLE programs were
	published in Acorn User magazine.

	(1995-11-01)

Amplitude Modulation

	<communications> (AM) A method of encoding {data} by varying
	the {amplitude} of a constant {frequency} {carrier}.

	Contrast {Frequency Modulation}.

	(2001-04-30)

amp off

	<jargon> (Purdue) To run in {background}.  From the {Unix}
	{shell} "&" (ampersand) operator.

	[{Jargon File}]

	(1995-11-14)

AMPPL-II

	{Associative Memory Parallel Processing Language}

AMPS

	{Advanced Mobile Phone Service}

AMS

	{Andrew Message System}

AMTRAN

	{Automatic Mathematical TRANslation}

Amulet

	<processor> An implementation or the {Advanced RISC Machine}
	{microprocessor} architecture using the {micropipeline} design
	style.  In April 1994 the Amulet group in the Computer Science
	department of {Manchester University} took delivery of the
	AMULET1 {microprocessor}.  This was their first large scale
	asynchronous circuit and the world's first implementation of a
	commercial microprocessor architecture (ARM) in {asynchronous
	logic}.

	Work was begun at the end of 1990 and the design despatched
	for fabrication in February 1993.  The primary intent was to
	demonstrate that an asynchronous microprocessor can consume
	less power than a synchronous design.

	The design incorporates a number of concurrent units which
	cooperate to give instruction level compatibility with the
	existing synchronous part.  These include an Address unit,
	which autonomously generates instruction fetch requests and
	interleaves ({nondeterministic}ally) data requests from the
	Execution unit; a {Register} file which supplies operands,
	queues write destinations and handles data dependencies; an
	Execution unit which includes a multiplier, a shifter and an
	{ALU} with data-dependent delay; a Data interface which
	performs byte extraction and alignment and includes an
	{instruction prefetch} buffer, and a control path which
	performs {instruction decode}.  These units only synchronise
	to exchange data.

	The design demonstrates that all the usual problems of
	processor design can be solved in this asynchronous framework:
	backward {instruction set} compatibility, {interrupts} and
	exact {exceptions} for {memory faults} are all covered.  It
	also demonstrates some unusual behaviour, for instance
	{nondeterministic} prefetch depth beyond a branch instruction
	(though the instructions which actually get executed are, of
	course, deterministic).  There are some unusual problems for
	{compiler} {optimisation}, as the metric which must be used to
	compare alternative code sequences is continuous rather than
	discrete, and the {nondeterminism} in external behaviour must
	also be taken into account.

	The chip was designed using a mixture of custom {datapath} and
	compiled control logic elements, as was the synchronous ARM.
	The fabrication technology is the same as that used for one
	version of the synchronous part, reducing the number of
	variables when comparing the two parts.

	Two silicon implementations have been received and preliminary
	measurements have been taken from these.  The first is a 0.7um
	process and has achieved about 28 kDhrystones running the
	standard {benchmark} program.  The other is a 1 um
	implementation and achieves about 20 kDhrystones.  For the
	faster of the parts this is equivalent to a synchronous {ARM6}
	clocked at around 20MHz; in the case of AMULET1 it is likely
	that this speed is limited by the memory system cycle time
	(just over 50ns) rather than the processor chip itself.

	A fair comparison of devices at the same geometries gives the
	AMULET1 performance as about 70% of that of an {ARM6} running
	at 20MHz.  Its power consumption is very similar to that of
	the ARM6; the AMULET1 therefore delivers about 80 MIPS/W
	(compared with around 120 from a 20MHz ARM6).  Multiplication
	is several times faster on the AMULET1 owing to the inclusion
	of a specialised asynchronous multiplier.  This performance is
	reasonable considering that the AMULET1 is a first generation
	part, whereas the synchronous ARM has undergone several design
	iterations.  AMULET2 (currently under development) is expected
	to be three times faster than AMULET1 - 120 k{dhrystones} -
	and use less power.

	The {macrocell} size (without {pad ring}) is 5.5 mm by 4.5 mm
	on a 1 micron {CMOS} process, which is about twice the area of
	the synchronous part.  Some of the increase can be attributed
	to the more sophisticated organisation of the new part: it has
	a deeper {pipeline} than the clocked version and it supports
	multiple outstanding memory requests; there is also
	specialised circuitry to increase the multiplication speed.
	Although there is undoubtedly some overhead attributable to
	the asynchronous control logic, this is estimated to be closer
	to 20% than to the 100% suggested by the direct comparison.

	AMULET1 is code compatible with {ARM6} and is so is capable of
	running existing {binaries} without modification.  The
	implementation also includes features such as interrupts and
	memory aborts.

	The work was part of a broad {ESPRIT} funded investigation
	into low-power technologies within the European {Open
	Microprocessor systems Initiative} (OMI) programme, where
	there is interest in low-power techniques both for portable
	equipment and (in the longer term) to alleviate the problems
	of the increasingly high dissipation of high-performance
	chips.  This initial investigation into the role {asynchronous
	logic} might play has now demonstrated that asynchronous
	techniques can be applied to problems of the scale of a
	complete {microprocessor}.

	{(http://cs.man.ac.uk/amulet)}.

	(1994-12-08)

an

	<networking> The {country code} for the Netherlands Antilles
	(Dutch Antilles).

	(1999-01-27)

analog

	<spelling> American spelling of {analogue}.

	(1995-11-14)

analog computer

	{analogue computer}

Analog Hardware Design Language

	<language> (AHDL) A language under development by the US Air
	Force.

	(1995-04-09)

analogue

	<electronics> (US: "analog") A description of a continuously
	variable signal or a circuit or device designed to handle such
	signals.  The opposite is "discrete" or "{digital}".

	Analogue circuits are much harder to design and analyse than
	digital ones because the designer must take into account
	effects such as the gain, linearity and power handling of
	components, the resistance, capacitance and inductance of PCB
	tracks, wires and connectors, interference between signals,
	power supply stability and more.  A digital circuit design,
	especially for high switching speeds, must also take these
	factors into account if it is to work reliably, but they are
	usually less critical because most digital components will
	function correctly within a range of parameters whereas such
	variations will corrupt the outputs of an analogue circuit.

	See also {analogue computer}.

	(1995-11-14)

analogue computer

	<computer, hardware> A machine or electronic circuit designed
	to work on numerical data represented by some physical
	quantity (e.g. rotation or displacement) or electrical
	quantity (e.g. voltage or charge) which varies continuously,
	in contrast to {digital} signals which are either 0 or 1.

	For example, the turning of a wheel or changes in voltage can
	be used as input.  Analogue computers are said to operate in
	{real time} and are used for research in design where many
	different shapes and speeds can be tried out quickly.  A
	computer model of a car suspension allows the designer to see
	the effects of changing size, stiffness and damping.

	(1995-05-01)

Analogy Model

	<programming> A method of estimating the cost of a proposed
	software project by extrapolating from the costs and schedules
	of similar completed projects.

	(1996-05-28)

analytical CRM

	<business> Software which helps a business build customer
	relationships and analyse ways to improve them.

	[Typical functions?  Example?]

	(2007-06-11)

Analytical Engine

	<history> A design for a general-purpose digital computer
	proposed by {Charles Babbage} in 1837 as a successor to his
	earlier special-purpose {Difference Engine}.

	The Analytical Engine was to be built from brass gears powered
	by steam with input given on {punched cards}.  Babbage could
	never secure enough funding to build it, and so it was, and
	never has been, constructed.

	{(http://fourmilab.ch/babbage/)}.

	(1998-10-19)

Analytical Machine

	{Analytical Engine}

Analytical Solutions Forum

	<body, standard> (ASF) The {business intelligence} trade body
	that, in October 1999, replaced the ineffective {OLAP Council}
	intending to produce standards for {OLAP}.  The ASF managed
	the remarkably achievement of being even less effective and
	eventually disappeared, its only achievement having been the
	issuing of a press release announcing its formation.

	(2005-05-28)

anchor

	{hypertext link}

ANCP

	<language> An early system on the {Datatron 200} series.

	[Listed in CACM 2(5):16, May 1959].

	(1995-11-15)

AND

	<logic> (Or "conjunction") The {Boolean} function which is
	true only if all its arguments are true.  The {truth table}
	for the two argument AND function is:

	 A | B | A AND B
	 --+---+---------
	 F | F |    F
	 F | T |    F
	 T | F |    F
	 T | T |    T

	AND is often written as an inverted "V" in texts on logic.  In
	the {C} programming language it is represented by the &&
	(logical and) {operator}.

	(1997-11-15)

ANDF

	{Architecture Neutral Distribution Format}

Andorra-I

	<language> A {parallel} {logic programming} language with the
	{OR-parallelism} of {Aurora} and the {AND-parallelism} of
	{Parlog}.

	["Andorra-I: A Parallel Prolog System that Transparently
	Exploits both And- and Or-Parallelism", V.S Costa et al,
	SIGPLAN Notices 26(7):83-93 (July 1991)].

	[Imperial College?  Who?]

	(1995-11-24)

Andorra Kernel Language

	<language> (AKL) The successor to {KAP} by S. Janson
	<sverker@sics.se>.

	A prototype implementation is available from the author.

	["Programming Paradigms of the Andorra Kernel Language",
	S. Janson et al in Logic Programming: Proc 1991 Intl Symp, MIT
	Press 1991].

	(1994-11-24)

Andorra-Prolog

	<language>

	["Andorra-Prolog: An Integration of Prolog and Committed
	Choice Languages", S. Haridi et al, Intl Conf Fifth Gen Comp
	Sys 1988, ICOT 1988].

	(1995-11-24)

Andrei Markov

	<person> 1856-1922.  The Russian mathematician, after who
	{Markov chains} were named.

	{Biography
	(http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Markov.html)}.

	[Other contributions?]

	(1995-10-06)

Andrew File System

	<operating system, storage> (AFS) The distributed {file
	system} of the {Andrew Project}, adopted by the {OSF} as part
	of their {Distributed Computing Environment}.

	{Frequently Asked Questions
	(http://transarc.com/Product/AFS/FAQ/faq.html)}.

	(1994-11-24)

Andrew Fluegelman

	<person> A successful attorney, editor of {PC World Magazine},
	and author of the {MS-DOS} communications program {PC-TALK
	III}, written in 1982.  He once owned the trademark
	"{freeware}" but it wasn't enforced after his disappearance.

	In 1985, Fluegelman was diagnosed with cancer.  He was last
	seen a week later, on 1985-07-06, when he left his Marin
	County home to go to his office in Tiburon.  He called his
	wife later that day and has not been heard from since.  His
	car was found at Vista Point on the north end of the Golden
	Gate Bridge.

	[San Francisco Examiner Sunday Magazine, October 1985].

	{Shareware history (http://paulspicks.com/history.asp)}.

	{NEWSBYTES article
	(http://textfiles.fisher.hu/news/freeware.txt)}.

	{(http://doenetwork.bravepages.com/579dmca.html)}.

	(2003-07-25)

Andrew Message System

	<messaging> A {multimedia} interface to {electronic mail} and
	{bulletin boards}, developed as part of the {Andrew Project}.

	(1994-11-24)

Andrew Project

	<project> A distributed system project for support of
	educational and research computing at {Carnegie Mellon
	University}, named after Andrew Carnegie, an American
	philanthropist who provided money to establish CMU.

	See also {Andrew File System}, {Andrew Message System},
	{Andrew Toolkit}, {class}.

	{Home FTP (ftp://emsworth.andrew.cmu.edu)}.

	{Usenet} newsgroup: {news:comp.soft-sys.andrew}.

	[More detail?]

	(1997-11-17)

Andrew S. Tanenbaum

	{Andrew Tanenbaum}

Andrew Tanenbaum

	<person> Professor Andrew S. Tanenbaum (1941-) of the {Vrije
	Universiteit, Amsterdam} in The Netherlands.  Tanenbaum is
	famous for his work and books on computer architecture,
	{operating systems} and {networks}.

	He wrote the textbook "Computer Networks", Second Edition,
	Prentice-Hall, 1981, which describes the {International
	Standards Organisation}, {Open Systems Interconnection}
	(ISO-OSI) network model.

	See {Amoeba}, {Mac-1}, {Mic-1}, {Mic-2}, {Micro Assembly
	Language}, {MINIX}, {MicroProgramming Language}, {standard}.

	[Home page?]

	(1996-04-23)

Andrew Toolkit

	<tool> (ATK) A {portable} {user interface} toolkit developed
	as part of the {Andrew project}, running on the {X Window
	System} and distributed with {X11R5}.

	(1995-11-24)

Andy Tanenbaum

	{Andrew Tanenbaum}

An Evolutionary System for On-line Programming

	<database> (AESOP) An early interactive {query system} on the
	{IBM 1800} using a {light pen}.

	["AESOP: A Final Report: A Prototype Interactive Information
	Control System", J.K. Summers et al, in Information System
	Science and Technology, D. Walker ed, 1967].

	[Sammet 1969, p. 703].

	(1995-04-04)

Angel

	<operating system> A single {address space}, {micro-kernel}
	{operating system} for {multiprocessor} computers, developed
	at {Imperial College} and {City University}, London, UK.

	[Ariel Burton]

	(1995-11-24)

angle bracket

	<character> Either of the characters "<" (less-than, {ASCII}
	60) and ">" (greater-than, ASCII 62).  Typographers in the
	{Real World} use angle brackets which are either taller and
	slimmer (the {ISO} "{Bra}" and "{Ket}" characters), or
	significantly smaller (single or double guillemets) than the
	less-than and greater-than signs.

	See {broket}.

	(1995-11-24)

Anglo-Saxon point

	{ATA point}

angry fruit salad

	<abuse> A bad visual-interface design that uses too many
	colours.  (This term derives, of course, from the bizarre
	day-glo colours found in canned fruit salad).  Too often one
	sees similar effects from interface designers using colour
	window systems such as {X}; there is a tendency to create
	displays that are flashy and attention-getting but
	uncomfortable for long-term use.

	[{Jargon File}]

	(1995-11-24)

ANI

	{Automatic Number Identification}

Animated GIF

	<graphics, file format> (GIF89a) A variant of the {GIF}
	{image} format, often used on {web} pages to
	provide moving {icons} and banners.

	The GIF89a format supports multiple "frames" that give the
	impression of motion when displayed in sequence, much like a
	flip book.  The animation may repeat continuously or play
	once.

	Animated GIFs aren't supported by earlier {web browsers},
	however the first frame of the image is still shown.

	There are many utilities to create animated GIFs from a
	sequence of individual GIF files.  There are also utilities
	that will produce animated GIFs automatically from a piece of
	text or a single image.

	One problem with this format is the size of the files
	produced, as they are by definition a sequence of individual
	images.  Apart from minimising the number of frames, the best
	way to decrease file size is to assist the {LZW} compression
	by using blocks of solid colour, avoid {dithering}, and use
	fewer colours.  If areas of an image don't change from one
	frame to another, they don't need to be redrawn so make the
	area a transparent block in the second frame.

	(1999-08-01)

animation

	<graphics> The creation of artificial moving images.

	{Usenet} newsgroup: {news:comp.graphics.animation}.  {FAQ
	(ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics.animation)}.

	(1995-11-24)

Animus

	["Constraint-Based Animation: The Implementation of Temporal
	Constraints in the Animus System", R. Duisberg, PhD Thesis U
	Washington 1986].

	(1995-11-24)

ANL

	{Argonne National Laboratory}

Anna

	{ANNotated Ada}

annealing

	{simulated annealing}

annotate

	{annotation}

ANNotated Ada

	<language, specification> (Anna) A {specification} language
	developed at {Stanford University} ca. 1980 for formally
	specifying {Ada} programs.  It has a Specification Analyzer
	and a Consistency Checking System.  It adds semantic
	{assertions} in the form of Ada {comments}.

	{(ftp://anna.stanford.edu/pub/anna/)}.

	["ANNA - A Language for Annotating Ada Programs", David
	Luckham et al, Springer 1987].

	(1994-11-01)

annotation

	1. <programming, compiler> Extra information associated with a
	particular point in a document or program.  Annotations may be
	added either by a {compiler} or by the programmer.  They are
	not usually essential to the correct function of the program
	but give hints to improve performance.

	2. <hypertext> A new commentary {node} linked to an existing
	node.  If readers, as well as authors, can annotate nodes,
	then they can immediately provide feedback if the information
	is misleading, out of date or plain wrong.

	(1995-11-26)

annoybot

	<messaging> /*-noy-bot/ An irksome {IRC} {robot}.

	[{Jargon File}]

	(1997-12-23)

annoyware

	<software> {Shareware} that reminds you frequently that you
	are using an unregistered copy.

	(1998-04-29)

Annual Change Traffic

	<software> (ACT) The fraction of the software product's
	{source code} which changes during a year, either through
	addition or modification.  The ACT can be used to determine
	the product size in order to estimate software maintenance
	effort.

	(1996-05-29)

annulled branch

	{delayed control-transfer}

anonymous FTP

	<networking> An interactive service provided by many
	{Internet} {hosts} allowing any user to transfer documents,
	files, programs, and other archived data using {File Transfer
	Protocol}.  The user logs in using the special {user name}
	"ftp" or "anonymous" and his {e-mail address} as {password}.
	He then has access to a special directory hierarchy containing
	the publically accessible files, typically in a subdirectory
	called "pub".  This is usually a separate area from files used
	by local users.

	A reference like

		ftp: euagate.eua.ericsson.se /pub/eua/erlang/info

	means that files are available by anonymous FTP from the host
	called euagate.eua.ericsson.se in the directory (or file)
	/pub/eua/erlang/info.  Sometimes the {hostname} will be
	followed by an {Internet address} in parentheses.  The
	directory will usually be given as a path relative to the
	anonymous FTP login directory.  A reference to a file
	available by FTP may also be in the form of a {URL} starting
	"ftp:".

	See also {Archie}, {archive site}, {EFS}, {FTP by mail},
	{web}.

	(1995-11-26)

ANother Tool for Language Recognition

	<tool> (ANTLR) The {parser generator} in the {Purdue
	Compiler-Construction Tool Set}.

	(1995-10-26)

ANR

	{Automatic Network Routing}

ANS

	{American National Standard}

ANSA

	{Advanced Network Systems Architecture}

ANSI

	{American National Standards Institute}

ANSI C

	<language, standard> (American National Standards Institute C)
	A revision of {C}, adding {function prototypes}, {structure
	passing}, {structure assignment} and standardised library
	functions.  {ANSI} X3.159-1989.

	{cgram} is a {grammar} for ANSI C, written in {Scheme}.
	{unproto} is a program for removing function prototypes to
	translate ANSI C to standard C.  {lcc} is a {retargetable}
	{compiler} for ANSI C.

	(1995-11-26)

ANSI Minimal BASIC

	<language, standard> ANS X3.60-1978.

	[Details?]

	(1995-11-29)

ANSI/SPARC

	{ANSI Standards Planning And Requirments Committee}

ANSI/SPARC Architecture

	<architecture> (Or "ANSI/SPARC model") {ANSI/SPARC}'s layered
	model of {database} architecture comprising a {physical
	schema}, a {conceptual schema} and user {views}.

	[Reference?]

	(1998-12-17)

ANSI/SPARC model

	{ANSI/SPARC Architecture}

ANSI X12

	<standard> Standards defining the structure, format, and
	content of business transactions conducted through {Electronic
	Data Interchange} (EDI).  ANSI X12 is produced by the
	committee ASC X12, supported by the {Data Interchange
	Standards Association, Inc.} (DISA).

	[{(http://onlinewbc.org/Docs/procure/standard.html)}].

	(1999-09-18)

ANSI Z39.50

	<networking, standard> Information Retrieval Service
	Definition and Protocol Specification for Library
	Applications, officially known as ANSI/NISO Z39.50-1992, and
	ANSI/NISO Z39.50-1995.  This {standard}, used by {WAIS},
	specifies an {OSI} {application layer} service to allow an
	application on one computer to query a {database} on another.

	Z39.50 is used in libraries and for searching some databases
	on the {Internet}.  The US {Library of Congress
	(http://lcweb.loc.gov/z3950/agency/)} is the official
	maintanence agency for Z39.50.

	{Index Data}, a Danish company, have released a lot of Z39.50
	code.  Their {website} explains the relevant {ISO} {standards}
	and how they are amicably converging in Z39.50 version 4.0.

	{Overview (http://nlc-bnc.ca/ifla/VI/5/op/udtop3.htm)}.

	{Z39.50 resources
	(http://lamp.cs.utas.edu.au/net.html#Z3950)}.

	(1996-07-22)

antenna gain

	<radio> The factor by which a {radio antenna} of a given shape
	focusses the emitted power into a smaller beamwidth compared
	with an omnidirectional antenna.

	(2008-02-26)

Anthony Hoare

	<person> (C. Anthony R. Hoare, Tony) A computer scientist
	working on programming languages, especially {parallel} ones.
	Hoare was responsible for {Communicating Sequential Processes}
	(CSP).

	See also: {pointer}, {Simone}.

	[Did he invent the Hoare {powerdomain}?  Other details?]

	(1999-07-22)

anti-aliasing

	<graphics> A technique used on a {grey-scale} or colour
	{bitmap display} to make diagonal edges appear smoother by
	setting {pixels} near the edge to intermediate colours
	according to where the edge crosses them.

	The most common example is black characters on a white
	background.  Without anti-aliasing, diagonal edges appear
	jagged, like staircases, which may be noticeable on a low
	{resolution} display.  If the display can show intermediate
	greys then anti-aliasing can be applied.  A pixel will be
	black if it is completely within the black area, or white if
	it is completely outside the black area, or an intermediate
	shade of grey according to the proportions of it which overlap
	the black and white areas.  The technique works similarly with
	other foreground and background colours.

	"Aliasing" refers to the fact that many points (which would
	differ in the real image) are mapped or "aliased" to the same
	pixel (with a single value) in the digital representation.

	(1998-03-13)

antichain

	<mathematics> A subset S of a {partially ordered set} P is an
	antichain if,

	 for all x, y in S,  x <= y  =>  x = y

	I.e. no two different elements are related.

	("<=" is written in {LaTeX} as {\subseteq}).

	(1995-02-03)

antisymmetric

	<mathematics> A {relation} R is antisymmetric if,

	 for all x and y,  x R y and y R x  =>  x == y.

	I.e. no two different elements are mutually related.

	{Partial orders} and {total orders} are antisymmetric.  If R
	is also {symmetric}, i.e.

	 x R y  =>  y R x

	then

	 x R y  =>  x == y

	I.e. different elements are not related.

	(1995-04-18)

antivirus

	{antivirus software}

antivirus program

	{antivirus software}

antivirus software

	<tool> Programs to detect and remove computer {viruses}.  The
	simplest kind scans executable files and {boot blocks} for a
	list of known viruses.  Others are constantly active,
	attempting to detect the actions of general classes of
	viruses.  antivirus software should always include a regular
	update service allowing it to keep up with the latest viruses
	as they are released.

	(1998-02-25)

ANTLR

	{ANother Tool for Language Recognition}

ANU

	{Australian National University}

ANU ML

	<language> An implementation of {SML} by the {Australian
	National University} for {Motorola 68020}, {Vax} and
	{Pyramid}.

	(1995-11-26)

any key

	<humour, hardware> The key that particularly confused {users}
	look for on their computer keyboards when instructed to "Press
	any key to continue".  "But my keyboard doesn't have a key
	labelled 'any'!".

	{Compaq FAQ
	(http://web14.compaq.com/falco/detail.asp?FAQnum=FAQ2859)}.

	(2003-09-30)

anytime algorithm

	<algorithm> An {algorithm} that returns a sequence of
	approximations to the correct answer such that each
	approximation is no worse than the previous one, i.e. the
	algorithm can be stopped at _any time_.

	{Newton-Raphson iteration} applied to finding the {square
	root} of a number b is another example:

		x = (x + b / x) / 2

	Each new x is closer to the square root than the previous one.

	Applications might include a {real-time} control system or a
	chess program that is allowed a fixed thinking time.

	(2007-06-19)

ao

	<networking> The {country code} for Angola.

	(1999-01-27)

AOCE

	{Apple Open Collaboration Environment}

AOL

	{America On-Line}

AOP

	{aspect-oriented programming}

AOS

	1. /aws/ (East Coast), /ay-os/ (West Coast) A
	{PDP-10} instruction that took any memory location and added 1
	to it.  AOS meant "Add One and do not Skip".  Why, you may
	ask, does the "S" stand for "do not Skip" rather than for
	"Skip"?  Ah, here was a beloved piece of PDP-10 folklore.
	There were eight such instructions: AOSE added 1 and then
	skipped the next instruction if the result was Equal to zero;
	AOSG added 1 and then skipped if the result was Greater than
	0; AOSN added 1 and then skipped if the result was Not 0; AOSA
	added 1 and then skipped Always; and so on.  Just plain AOS
	didn't say when to skip, so it never skipped.

	For similar reasons, AOJ meant "Add One and do not Jump".
	Even more bizarre, SKIP meant "do not SKIP"!  If you wanted to
	skip the next instruction, you had to say "SKIPA".  Likewise,
	JUMP meant "do not JUMP"; the unconditional form was JUMPA.
	However, hackers never did this.  By some quirk of the 10's
	design, the {JRST} (Jump and ReSTore flag with no flag
	specified) was actually faster and so was invariably used.
	Such were the perverse mysteries of assembler programming.

	2. /A-O-S/ or /A-os/ A {Multics}-derived {operating system}
	supported at one time by {Data General}.

	A spoof of the standard AOS system administrator's manual
	("How to Load and Generate your AOS System") was created,
	issued a part number, and circulated as photocopy folklore; it
	was called "How to Goad and Levitate your CHAOS System".

	3. Algebraic Operating System, in reference to those
	calculators which use {infix} {operators} instead of {postfix
	notation}.

	[{Jargon File}]

	(1995-11-26)

APA

	{Application Portability Architecture}

Apache

	<web, project> A {open source} {HTTP} server for
	{Unix}, {Windows NT}, and other {platforms}.  Apache was
	developed in early 1995, based on code and ideas found in the
	most popular HTTP server of the time, {NCSA httpd} 1.3.  It
	has since evolved to rival (and probably surpass) almost any
	other {Unix} based HTTP server in terms of functionality, and
	speed.  Since April 1996 Apache has been the most popular HTTP
	server on the {Internet}, in May 1999 it was running on 57% of
	all web servers.

	It features highly configurable error messages, {DBM}-based
	{authentication} {databases}, and {content negotiation}.

	Latest version: 1.3.9, as of 1999-10-27.

	{(http://apache.org/httpd.html)}.

	{FAQ (http://apache.org/docs/misc/FAQ.html)}.

	(1999-10-27)

Apache Software Foundation

	<open source, body> (ASF) A consortium that manages the
	development of the {Apache} {web server}, dozens of {XML}- and
	{Java}-based projects (under the name {Jakarta}), the {Ant}
	build tool, the {Geronimo} {J2EE} server, the {SpamAssassin}
	anti-{SPAM} tool, and much more.

	{Apache Home (http://apache.org/)}.

	(2005-01-26)

APAL

	{Array Processor Assembly Language}

APAREL

	{A PArse REquest Language}

A PArse REquest Language

	<language> (APAREL) A {PL/I} extension to provide {BNF}
	{parsing} routines, for {IBM 360}.

	["APAREL: A Parse Request Language", R.W. Balzer et al, CACM
	12(11) (Nov 1969)].

	(1995-11-26)

APC

	{Association for Progressive Communications}

APDL

	{Algorithmic Processor Description Language}

APE

	<audio, compression> A {lossless} {audio} {compression}
	{algorithm} from {MonkeysAudio}.

	(2001-12-20)

apE

	<graphics> A graphics package from the Ohio Supercomputer
	Centre.

	(1995-11-29)

API

	{Application Program Interface}

APIC

	{Advanced Programmable Interrupt Controller}

APL

	{A Programming Language}

APL2

	<language> An {APL} extension from {IBM} with nested {arrays}.

	["APL2 Programming: Language Reference", IBM, Aug 1984.  Order
	No. SH20-9227-0].

	(1995-11-29)

APLGOL

	<language> An {APL} variant with {ALGOL}-like control
	structure, from {Hewlett-Packard}(?).

	(1995-11-29)

APLWEB

	<text, tool> A {Web} to {APL} and {Web} to {TeX} translator by
	Dr. Christoph von Basum of The University of Bielefeld,
	Germany.

	{(ftp://watserv1.uwaterloo.ca/languages/apl/aplweb/)}.

	(1992-12-27)

APM

	{Advanced Power Management}

Apollo Computer

	<company> A company making {workstations} often used for
	{CAD}.

	From 1980 to 1987, Apollo were the largest manufacturer of
	network {workstations}.  Apollo workstations ran {Aegis}, a
	proprietary {operating system} with a {Posix}-compliant {Unix}
	alternative frontend.  Apollo's networking was particularly
	elegant, among the first to allow {demand paging} over the
	network, and allowing a degree of {network transparency} and
	low {sysadmin}-to-machine ratio that is still unmatched.

	Apollo's largest customers were Mentor Graphics (electronic
	design), GM, Ford, Chrysler, and Boeing (mechanical design).
	Apollo was acquired by {Hewlett-Packard} in 1989, and
	gradually closed down over the period 1990-1997.

	(2003-07-18)

apostrophe

	{single quote}

app

	{application program}

APPC

	{Advanced Program-to-Program Communications}

AppKit

	<tool> A set of objects used by the {application builder} for
	the {NEXTSTEP} environment.

	(1995-03-13)

APPLE

	<language> A revision of {APL} for the {Illiac IV}.

	(1995-04-28)

Apple

	{Apple Computer, Inc.}

Apple Address Resolution Protocol

	<networking> (AARP) {Apple}'s system to allow {AppleTalk}
	{protocol} to work over networks other than {LocalTalk}, such
	as {Ethernet} or {Token Ring}.  {AppleTalk} {nodes} announce
	their presence to the network so that other nodes can address
	messages to them.  AARP maps between AppleTalk addresses and
	other schemes.  It is actually a general address mapping
	protocol that can be used to map between addresses at any
	protocol level.

	[G. Sidhu, R. Andrews, and A. Oppenheimer, "Inside AppleTalk",
	Addison Wesley, 1990].

	(2006-04-18)

Apple Attachment Unit Interface

	<hardware, networking> (AAUI) A 14-position, 0.050-inch-spaced
	ribbon contact connector.  Early {Power Macs} and Quadras had
	an AAUI (Apple Attachment Unit Interface) {port} (rectangular
	shaped) for {Ethernet}, which requires a {transceiver}.  To
	use {twisted pair} cabling, you would need to get a {twisted
	pair} transceiver for the computer with an AAUI port.  Some
	{Power Mac} computers had both an AAUI and {RJ-45} port; you
	can use one or the other, but not both.

	The pin-out is:

	  Pin   Signal Name     Signal Description
	  ----  --------------  ---------------------------------
	  1     FN Pwr          Power (+12V @ 2.1W or +5V @ 1.9W)
	  2     DI-A            Data In circuit A
	  3     DI-B            Data In circuit B
	  4     VCC             Voltage Common
	  5     CI-A            Control In circuit A
	  6     CI-B            Control In circuit B
	  7     +5V             +5 volts (from host)
	  8     +5V             Secondary +5 volts (from host)
	  9     DO-A            Data Out circuit A
	  10    DO-B            Data Out circuit B
	  11    VCC             Secondary Voltage Common
	  12    NC              Reserved
	  13    NC              Reserved
	  14    FN Pwr          Secondary +12V @ 2.1W or +5V @ 1.9W
	  Shell Protective Gnd  Protective Ground

	AAUI signals have the same description, function, and
	electrical requirements as the {AUI} signals of the same name,
	as detailed in {IEEE 802.3}-1990 CSMA/CD Standard, section 7.

	(2000-02-10)

Apple Computer, Inc.

	<company> Manufacturers of the {Macintosh} range of {personal
	computers} as well as the earlier {Apple I}, {Apple II} and
	{Lisa}.  Founded on 1 April 1976 by {Steve Jobs} and {Steve
	Wozniak}.

	Apples were among the first {microcomputers}.  They originally
	used the {6502} processor and are still being made (August
	1994), now using the {65816}.  The {Apple II} line, which
	includes the {Apple I}, is the longest existing line of
	microcomputers.

	Steve Jobs left Apple (involuntarily) and started {NeXT} and
	later returned when Apple bought NeXT in late 1997(?).

	Quarterly sales $2150M, profits $138M (Aug 1994).
	{(http://apple.com/)}.

	[Dates?  More?]

	(1998-03-13)

Apple II

	<computer> An 8-bit {personal computer} with a {6502}
	processor, from {Apple Computer}.  It was invented by {Steve
	Wozniak} and was very popular from about 1980 until the first
	several years of {MS-DOS} {IBM PCs}.

	(1995-01-12)

Apple Macintosh

	{Macintosh}

Apple Newton

	<computer> A {Personal Digital Assistant} produced by {Apple
	Computer}.  The Newton provides a clever, {user-friendly}
	interface and relies solely on pen-based input.  Eagerly
	anticipated, the Newton uses handwriting recognition software
	to "learn" the users handwriting and provide reliable
	{character recognition}.

	Various third-party software applications are available and
	add-on {peripherals} like wireless {modems} for {Internet}
	access are being sold by {Apple Computer, Inc.} and its
	licensees.

	{Newton Inc.}'s {NewtonOS} competes with {Microsoft
	Corporation}'s {Windows CE}, and was to be compatible with
	{DEC}'s {StrongARM} SA-1100, an embedded 200MHz
	{microprocessor}, which was due in 1998.

	{(http://newton.apple.com/)}.

	{Handwriting recognition example
	(http://www-personal.engin.umich.edu/~jxm/tablespoons.html)}.

	(1997-09-12)

Apple Open Collaboration Environment

	<tool> (AOCE) Software for {electronic mail} and directory
	services.

	(1995-03-08)

AppleScript

	<language> An {object-oriented} {shell} language for the
	{Macintosh}, approximately a superset of {HyperTalk}.

	(1995-12-10)

Applesoft BASIC

	<language> A version of {BASIC} for {Apple} computers.

	(1995-12-10)

applet

	<web> A {Java} program which can be distributed as
	an attachment in a {web} document and executed by a
	Java-enabled {web browser} such as Sun's {HotJava},
	{Netscape Navigator} version 2.0, or {Internet Explorer}.

	Navigator severely restricts the applet's file system and
	network access in order to prevent accidental or deliberate
	security violations.  Full Java applications, which run
	outside of the browser, do not have these restrictions.

	Web browsers can also be extended with {plug-ins} though these
	differ from applets in that they usually require manual
	installation and are {platform}-specific.  Various other
	languages can now be embedded within {HTML} documents, the
	most common being {JavaScript}.

	Despite Java's aim to be a "write once, run anywhere"
	language, the difficulty of accomodating the variety of
	browsers in use on the Internet has led many to abandon
	client-side processing in favour of {server}-side Java
	programs for which the term {servlet} was coined.

	Merriam Webster "Collegiate Edition" gives a 1990 definition:
	a short application program especially for performing a simple
	specific task.

	(2002-07-12)

Appletalk

	<networking, protocol> A proprietary {local area network}
	{protocol} developed by {Apple Computer, Inc.} for
	communication between Apple products (e.g. {Macintosh}) and
	other computers.  This protocol is independent of the {network
	layer} on which it runs.  Current implementations exist for
	{Localtalk}, a 235 kilobyte per second local area network and
	{Ethertalk}, a 10 megabyte per second local area network.

	(1995-03-08)

AppleTalk Data Stream Protocol

	<protocol> (ADSP) A {protocol} which provides a simple
	transport method for data accross a network.

	(1996-06-18)

AppleTalk Filing Protocol

	<networking> (AFP) A {client/server} {protocol} used in
	{AppleTalk} communications networks.  In order for non-{Apple}
	networks to access data in an {AppleShare} {server}, their
	protocols must translate into the AFP language.

	See also: {Columbia AppleTalk Package}.

	(1998-06-28)

apple-touch-icon

	<programming> (apple-touch-icon.png) {Apple}'s default {icon}
	(image) used to represent a {website}, e.g. when saved as a
	{bookmark} or on the {home screen} of an {iOS} device such as an
	{iPhone} or {iPad}.

	Apple's scheme allows a site to offer images of different sizes so
	the client can choose the most appropriate one according to its
	screen size and resolution.

	Apple devices and applications completely ignore the {favicon}.ico
	{de facto standard} which, while somewhat quirky in its use of the
	{ico} format, has been pretty much universally adopted elsewhere.
	Conversely, apple-touch-icon.png will be ignored by non-Apple
	devices, possibly because its 16x16 resolution would look pretty
	shabby on most smart phones.

	{(https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html)
	Apple documentation}.

	(2014-08-03)

appletviewer

	<web, testing> A simplified {web browser} used for
	testing {applets}.  You can't browse {HTML} with it but you
	can run applets to test them before embedding them in a {web
	page}.

	(2004-08-22)

application

	1. {application program}.

	2. {function application}.

Application Binary Interface

	<programming> (ABI) The interface by which an {application
	program} gains access to {operating system} and other
	services.  It should be possible to run the same compiled
	{binary} applications on any system with the right ABI.

	Examples are {88open}'s {Binary Compatibility Standard}, the
	{PowerOpen Environment} and {Windows sockets}.

	(1994-11-08)

Application Configuration Access Protocol

	<protocol> (ACAP) A {protocol} which enhances {IMAP} by
	allowing the user to set up {address books}, user options, and
	other data for universal access.  Currently (Feb 1997) no
	Internet proprietary products have implemented ACAP because
	the {Internet Engineering Task Force} has not yet approved the
	final specification.  This was expected early in 1997.

	["Your E-Mail Is Obsolete", Byte, Feb 1997].

	(1997-05-03)

Application Control Architecture

	<programming> (ACA) {DEC}'s implementation of {ORB}.

	(1994-11-08)

Application Developer

	<job> Someone who does {application development}.

	(2013-08-15)

application development

	<programming> Writing {computer programs} to meet specific
	{requirements}; the job of an Application Developer.  Application
	development often includes responsibility for {requirements
	capture} and/or {testing} as well as actual {programming} (the
	more limited activity implied by the term {programmer}).

	(2013-08-15)

application enablement services

	<programming> {IBM}-speak for {APIs} to services such as
	telecoms, database, etc. within and between address spaces.

	(1999-01-20)

Application environment specification

	<programming> (AES) A set of specifications from {OSF} for
	programming and {user interfaces}, aimed at providing a
	consistent application environment on different hardware.  It
	includes "O/S" for the {operating system} (user commands and
	program interfaces), "U/E" for the User Environment ({Motif}),
	and "N/S" for Network services.

	[Reference?]

	(1994-12-07)

Application Executive

	<language> (AE) An {embeddable language}, written as a {C}
	{interpreter} by Brian Bliss at UIUC.  AE is compiled with an
	{application} and thus exists in the same process and address
	space.  It includes a {dbx} {symbol table} scanner to access
	compiled variables and routines, or you can enter them
	manually by providing a type/name declaration and the address.
	When the {interpreter} is invoked, {source code} fragments are
	read from the input stream (or a string), parsed, and
	evaluated immediately.  The user can call compiled functions
	in addition to a few {built-in} intrinsics, declare new data
	types and data objects, etc.  Different input streams can be
	evaluated in parallel on {Alliant} computers.

	AE has been ported to {SunOS} (cc or {gcc}), {Alliant FX} and
	{Cray YMP} (soon).

	{(ftp://sp2.csrd.uiuc.edu/pub/at.tar.Z)}.
	{(ftp://sp2.csrd.uiuc.edu/pub/bliss/ae.tex.Z)}.

	(1992-04-21)

Application Integration Architecture

	<standard> (AIA) {DEC}'s "open standards" specifications.

application layer

	<networking> The top layer of the {OSI} seven layer model.
	This layer handles issues like {network transparency},
	resource allocation and problem partitioning.  The application
	layer is concerned with the user's view of the network
	(e.g. formatting {electronic mail} messages).  The
	{presentation layer} provides the application layer with a
	familiar local representation of data independent of the
	format used on the network.

	(1994-11-28)

application lifecycle management

	<programming> (ALM) A combination of {software engineering},
	{requirements management}, {architecture}, {coding},
	{testing}, {tracking} and {release management}.

	(2009-06-10)

Application Portability Architecture

	<programming> (APA) {DEC}'s plan for portable applications
	software.

	(1994-11-28)

application program

	<programming, operating system> (Or "application", "app") A
	complete, self-contained program that performs a specific
	function directly for the user.  This is in contrast to
	{system software} such as the {operating system} {kernel},
	{server} processes, {libraries} which exists to support
	application programs and {utility programs}.

	Editors for various kinds of documents, {spreadsheets}, and
	text formatters are common examples of applications.  Network
	applications include clients such as those for {FTP},
	{electronic mail}, {telnet} and {WWW}.

	The term is used fairly loosely, for instance, some might say
	that a client and server together form a distributed
	application, others might argue that editors and compilers
	were not applications but {utility programs} for building
	applications.

	One distinction between an application program and the
	operating system is that applications always run in {user
	mode} (or "non-privileged mode"), while operating systems and
	related utilities may run in {supervisor mode} (or "privileged
	mode").

	The term may also be used to distinguish programs which
	communicate via a {graphical user interface} from those which
	are executed from the {command line}.

	(2007-02-02)

Application Program Interface

	<programming> (API, or "application programming interface")
	The interface (calling conventions) by which an {application
	program} accesses {operating system} and other services.  An
	API is defined at {source code} level and provides a level of
	{abstraction} between the application and the {kernel} (or
	other privileged utilities) to ensure the {portability} of the
	code.

	An API can also provide an interface between a {high level
	language} and lower level utilities and services which were
	written without consideration for the {calling conventions}
	supported by compiled languages.  In this case, the API's main
	task may be the translation of parameter lists from one format
	to another and the interpretation of {call-by-value} and
	{call-by-reference} arguments in one or both directions.

	(1995-02-15)

Application Programming Interface

	{Application Program Interface}

Application Protocol Data Unit

	<networking> (APDU) A {packet} of data exchanged between two
	{application} programs across a {network}.  This is the
	highest level view of communication in the {OSI} {seven layer
	model} and a single packet exchanged at this level may
	actually be transmitted as several packets at a lower layer as
	well as having extra information (headers) added for {routing}
	etc.

	(1995-12-19)

Applications Development Manager

	<job> (Or "Director") The person in a company who plans and
	oversees multiple projects and {project managers}.  The
	Applications Development Managers works with the {CIO} and
	senior management to determine systems development strategy
	and standards.  He or she administers department budget and
	reviews project managers.

	(2004-03-06)

application server

	1.  <software> A {designer}'s or {developer}'s suite of
	{software} that helps {programmers} isolate the {business
	logic} in their {programs} from the {platform}-related code.
	{Application} {servers} can handle all of the {application}
	{logic} and {connectivity} found in {client-server}
	{applications}.  Many {application} {servers} also offer
	features such as {transaction management}, {clustering} and
	{failover}, and {load balancing}; nearly all offer {ODBC}
	support.

	{Application} {servers} range from small {footprint},
	web-based {processors} for intelligent appliances or remote
	{embedded} devices, to complete environments for assembling,
	deploying, and maintaining {scalable} {multi-tier}
	applications across an {enterprise}.

	2.  <software> Production {programs} run on a mid-sized
	computer that handle all {application} operations between
	{browser}-based computers and an organisation's back-end
	business {applications} or {databases}.  The {application}
	{server} works as a translator, allowing, for example, a
	customer with a {browser} to search an online retailer's
	{database} for pricing information.

	3.  <hardware> The device on which {application} {server}
	{software} runs.  {Application Service Providers} offer
	commercial access to such devices.

	{Citrix Application Serving White Paper
	(http://citrix.com/press/corpinfo/application_serving_wp_0700.pdf)}.

	{Application Server Sites, a list maintained by Vayda & Herzum
	(http://componentfactory.org/links/appl.htm)}.

	{The Application Server Zone at DevX,
	(http://appserver-zone.com/default.asp)}.

	{TechMetrix Research's Application Server Directory,
	(http://techmetrix.com/trendmarkers/techmetrixasd.php3)}.

	(2001-03-30)

Application Service Element

	<networking> (ASE) Software in the {presentation layer} of the
	{OSI} seven layer model which provides an abstracted interface
	layer to service {application protocol data units} (APDU).
	Because {applications} and {networks} vary, ASEs are split
	into common services and specific services.

	Examples of services provided by the {common application
	service element} (CASE) include remote operations (ROSE) and
	{database} {concurrency control and recovery} (CCR).

	The {specific application service element} (SASE) provides
	more specialised services such as file transfer, database
	access, and order entry.

	{Csico docs
	(http://cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/osi_prot.htm)}.

	(2003-09-27)

application service provider

	<business, networking> (ASP) A service (usually a business)
	that provides remote access to an {application program} across
	a {network} {protocol}, typically {HTTP}.  A common example is
	a {website} that other websites use for accepting payment by
	credit card as part of their {online ordering} systems.

	As this term is complex-sounding but vague, it is widely used
	by {marketroids} who want to avoid being specific and clear at
	all costs.

	(2001-03-26)

applications language

	{Ousterhout's dichotomy}

application software

	{application program}

Application Software Installation Server

	(ASIS) Something at {CERN}.

	[What?]

	(1999-10-21)

Application-Specific Integrated Circuit

	<hardware> (ASIC) An {integrated circuit} designed to perform
	a particular function by defining the interconnection of a set
	of basic circuit building blocks drawn from a library provided
	by the circuit manufacturer.

	(1995-02-15)

Applications Programming Interface

	{Application Programming Interface}

applications software

	{application program}

application testing

	{system testing}

Application Visualisation System

	<tool, graphics> (AVS) A portable, modular, {Unix}-based
	graphics package supported by a consortium of vendors
	including {Convex}, {DEC}, {IBM}, {HP}, {SET Technologies},
	{Stardent} and {WaveTracer}.

	(1994-11-28)

applicative language

	<language> A {functional language}.  Sometimes used loosely
	for any {declarative language} though {logic programming}
	languages are declarative but not applicative.

	(1995-12-24)

Applicative Language for Digital Signal Processing

	<language> (ALDiSP) A {functional language} with special
	features for {real-time} {I/O} and numerical processing,
	developed at the {Technical University of Berlin} in 1989.

	["An Applicative Real-Time Language for DSP - Programming
	Supporting Asynchronous Data-Flow Concepts", M. Freericks
	<mfx@cs.tu-berlin.de> in Microprocessing and Microprogramming
	32, N-H 1991].

	(1995-04-19)

applicative order reduction

	<programming> An {evaluation strategy} under which an
	expression is evaluated by repeatedly evaluating its leftmost
	innermost {redex}.  This means that a function's arguments are
	evaluated before the function is applied.  This method will
	not terminate if a function is given a non-terminating
	expression as an argument even if the function is not {strict}
	in that argument.  Also known as {call-by-value} since the
	values of arguments are passed rather than their names.  This
	is the evaluation strategy used by {ML}, {Scheme}, {Hope} and
	most {procedural languages} such as {C} and {Pascal}.

	See also {normal order reduction}, {parallel reduction}.

	(1995-01-25)

APPLOG

	<language> A language which unifies {logic programming} and
	{functional programming}.

	["The APPLOG Language", S. Cohen in Logic Programming, deGroot
	et al eds, P-H 1986, pp.39-276].

	(1995-01-25)

APPN

	{Advanced Peer-to-Peer Networking}

approximation algorithm

	<algorithm> An {algorithm} for an {optimisation} problem that
	generates {feasible} but not necessarily {optimal} solutions.

	Unlike "{heuristic}", the term "approximation algorithm" often
	implies some proven worst or average case bound on
	performance.  The terms are often used interchangeably
	however.

	(1997-10-28)

April Fool's Joke

	<humour, event> (AFJ) Elaborate April Fool's hoaxes are a
	long-established tradition on {Usenet} and {Internet}; see
	{kremvax} for an example.  In fact, April Fool's Day is the
	*only* seasonal holiday marked by customary observances on the
	hacker networks.

	(1995-01-25)

A Programming Language

	<language> (APL) A programming language designed originally by
	Ken Iverson at Harvard University in 1957-1960 as a notation
	for the concise expression of mathematical {algorithms}.  It
	went unnamed (or just called Iverson's Language) and
	unimplemented for many years.  Finally a subset, APL\360, was
	implemented in 1964.

	APL is an interactive array-oriented language and programming
	environment with many innovative features.  It was originally
	written using a non-standard {character set}.  It is
	{dynamically typed} with {dynamic scope}.  APL introduced
	several functional forms but is not {purely functional}.

	Dyalog APL/W and Visual APL are recognized .{NET} languages.

	Dyalog APL/W, APLX and APL2000 all offer {object-oriented}
	extensions to the language.

	ISO 8485 is the 1989 standard defining the language.

	Commercial versions: APL SV, VS APL, Sharp APL, Sharp APL/PC,
	APL*PLUS, APL*PLUS/PC, APL*PLUS/PC II, MCM APL, Honeyapple,
	DEC APL, {APL+Win, APL+Linux, APL+Unix and VisualAPL
	(http://www.apl2000.com/)}, {Dyalog APL
	(http://www.dyalog.com/)}, {IBM APL2
	(http://www-306.ibm.com/software/awdtools/apl/)}, {APLX
	(http://www.microapl.co.uk/apl/)}, {Sharp APL
	(http://www.soliton.com/services_sharp.html)}

	Open source version: {NARS2000 (http://www.nars2000.org/)}.

	{APL wiki (http://aplwiki.com/)}.

	See also {Kamin's interpreters}.

	{APLWEB (http://www.microapl.co.uk/apl/)} translates {WEB} to
	APL.

	["A Programming Language", Kenneth E. Iverson, Wiley, 1962].

	["APL: An Interactive Approach", 1976].

	(2009-08-11)

APSE

	{Ada Programming Support Environment}

APT

	1. <language> {Automatically Programmed Tools}.

	2. <company> {Audio Processing Technology}.

APX III

	<language> An early system on the {Datatron 200} series.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-05-04)

aq

	<networking> The {country code} for Antarctica.

	(1999-01-27)

AQL

	<language> A picture {query language}, extension of {APL}.

	["AQL: A Relational Database Management System and Its
	Geographical Applications", F. Antonacci et al, in Database
	Techniques for Pictorial Applications, A. Blaser ed,
	pp. 569-599].

	(1995-05-04)

ar

	<networking> The {country code} for Argentina.

	(1999-01-27)

arbitrary precision calculator

	<tool> An arbitrary precision {C}-like calculator.
	{Interpreter} version 1.26.4 by David I. Bell
	<dbell@canb.auug.org.au>.  Ported to {Linux}.

	{(ftp://ftp.uu.net/pub/calc)}.

	(1993-06-15)

ARC

	{Advanced RISC Computing Specification}

arc

	1. <file format, tool> An old {archive} format for {IBM PC}.
	The format is now so obscure that it is only likely to be
	supported by jack-of-all-trades decompression programs such as
	{WINZIP}.

	2. <mathematics, data> An {edge} in a {tree}.  "{branch}" is a
	generally more common synonym.

	(1998-12-29)

Arcade

	<networking> A UK {BBS} for the {Acorn} {Archimedes}.  Also
	has links with {Demon Internet}.

	Telephone: +44 (181) 654 2212 (24hrs, most speeds).

	(1994-11-08)

ArchBSD

	<operating system> 4.4 {BSD-Lite} for the {Acorn}
	{Archimedes}.

	(1994-11-08)

archie

	<tool, networking> A system to automatically gather, index and
	serve information on the {Internet}.  The initial
	implementation of archie by {McGill University} School of
	Computer Science provided an indexed directory of filenames
	from all {anonymous FTP} archives on the Internet.  Later
	versions provide other collections of information.

	See also {archive site}, {Gopher}, {Prospero}, {Wide Area
	Information Servers}.

	(1995-12-28)

Archimedes

	<computer> A family of {microcomputers} produced by {Acorn
	Computers}, Cambridge, UK.  The Archimedes, launched in June
	1987, was the first {RISC} based {personal computer}
	(predating {Apple Computer}'s {Power Mac} by some seven
	years).  It uses the {Advanced RISC Machine} (ARM) processor
	and includes Acorn's {multitasking} {operating system} and
	{graphical user interface}, {RISC OS} on {ROM}, along with an
	interpreter for Acorn's enhanced {BASIC}, {BASIC V}.

	The Archimedes was designed as the successor to Acorn's
	sucessful {BBC Microcomputer} series and includes some
	backward compatibility and a {6502} {emulator}.  Several
	utilities are included free on disk (later in ROM) such as a
	{text editor}, paint and draw programs.  Software emulators
	are also available for the {IBM PC} as well as add-on {Intel}
	processor cards.

	There have been several series of Archimedes: A300, A400,
	A3000, A5000, A4000 and {RISC PC}.

	{Usenet FAQ
	(ftp://rtfm.mit.edu/pub/usenet/news.answers/acorn/)}.
	{Archive site list
	(http://cs.vu.nl/~gerben/acorn/acorn-archives.txt)}.
	{HENSA archive (ftp://micros.hensa.ac.uk/)}.  {Stuttgart
	archive (ftp://ftp.uni-stuttgart.de/pub/systems/acorn)}.

	See also {Crisis Software}, {Warm Silence Software}.

	(1998-04-03)

architecture

	<architecture> Design, the way components fit together.  The
	term is used particularly of {processors}, both individual and
	in general.  "The {ARM} has a really clean architecture".  It
	may also be used of any complex system, e.g. "software
	architecture", "network architecture".

	(1995-05-02)

Architecture Neutral Distribution Format

	<programming, operating system> (ANDF) An emerging {OSF}
	{standard} for software distribution.  Programs are compiled
	into ANDF before distribution and {executables} are produced
	from it for the local target system.  This allows software to
	be developed and distributed in a single version then
	installed on a variety of hardware.

	See also {UNCOL}.

	["Architecture Neutral Distribution Format: A White Paper",
	Open Software Foundation, Nov 1990].

	(1995-10-20)

archive

	1. <file format> A single file containing one or (usually)
	more separate files plus information to allow them to be
	extracted (separated) by a suitable program.

	Archives are usually created for software distribution or
	{backup}.  {tar} is a common format for {Unix} archives, and
	{arc} or {PKZIP} for {MS-DOS} and {Microsoft Windows}.

	2. <operating system> To transfer files to slower, cheaper
	media (usually {magnetic tape}) to free the {hard disk} space
	they occupied.  This is now normally done for long-term
	storage but in the 1960s, when disk was much more expensive,
	files were often shuffled regularly between disk and tape.

	3. <networking> {archive site}.

	(1996-12-08)

archive site

	<networking> (Or "FTP site", "FTP archive") An {Internet} {host}
	where program source, documents, {e-mail} or {news} messages are
	stored for public access via {anonymous FTP}, {Gopher},
	{web} or other document distribution system.  There may
	be several archive sites ({mirrors}) for, e.g., a {Usenet}
	{newsgroup} though one may be recognised as the main one.

	FTP servers were common on the Internet for about ten years but
	have been largely replaced by {web servers} since the invention of
	the {World-Wide Web} and its {HTTP} protocol.

	Some well-known archive sites included {Imperial College, UK
	(ftp://src.doc.ic.ac.uk/)}, {UUNET, USA (ftp://ftp.uu.net/)}, {GNU
	archive site}.

	The {archie} service attempted to index the contents of FTP
	archives, foreshadowing the indexing of the web by {Google} and
	others.

	(2014-07-06)

ARCnet

	<networking> A {network} developed by {DataPoint}.  ARCnet was
	{proprietary} until the late 1980s and had about as large a
	marketshare as {Ethernet} among small businesses.  It was
	almost as fast and was considerably cheaper at the time.

	(1995-01-16)

ARCS

	{ARC}

Arctic

	<language, music> A {real-time} {functional language}, used
	for music synthesis.

	["Arctic: A Functional Language for Real-Time Control",
	R.B. Dannenberg, Conf Record 1984 ACM Symp on LISP and
	Functional Prog, ACM].

	(1995-01-16)

arena

	<programming> The area of memory attached to a {Unix} process
	by the {brk} and {sbrk} {system calls} and used by {malloc} as
	dynamic storage.  So named from a "malloc: corrupt arena"
	message emitted when some early versions detected an
	impossible value in the free block list.

	See {overrun screw}, {aliasing bug}, {memory leak}, {memory
	smash}, {smash the stack}.

	[{Jargon File}]

	(1995-12-28)

ARES

	<language> A pictorial {query language}.

	["A Query Manipulation System for Image Data Retrieval",
	T. Ichikawa et al, Proc IEEE Workshop Picture Data Description
	and Management, Aug 1980, pp. 61-67].

	(1995-10-10)

AREV

	{Advanced Revelation}

AREXX

	<language> {REXX} for the {Amiga}.

	{ARexxGuide
	(http://halcyon.com/robin/www/arexxguide/main.html)}.

	(1996-02-06)

arg

	{argument}

argument

	<programming> (Or "arg") A value or reference passed to a
	{function}, {procedure}, {subroutine}, command or program, by
	the caller.  For example, in the function definition

		square(x) = x * x

	x is the {formal argument} or "parameter", and in the call

		y = square(3+4)

	3+4 is the {actual argument}.  This will execute the function
	square with x having the value 7 and return the result 49.

	There are many different conventions for passing arguments to
	functions and procedures including {call-by-value},
	{call-by-name}, {call-by-reference}, {call-by-need}.  These
	affect whether the value of the argument is computed by the
	caller or the callee (the function) and whether the callee can
	modify the value of the argument as seen by the caller (if it
	is a variable).

	Arguments to functions are usually, following mathematical
	notation, written in parentheses after the function name,
	separated by commas (but see {curried function}).  Arguments
	to a program are usually given after the command name,
	separated by spaces, e.g.:

		cat myfile yourfile hisfile

	Here "cat" is the command and "myfile", "yourfile", and
	"hisfile" are the arguments.

	(2006-05-27)

Argus

	<language> A successor to {CLU}, from LCS at {MIT}.  Argus
	supports {distributed programming} through {guardians} (like
	{monitors}, but can be created dynamically) and {atomic
	actions} (indivisible activity).  It also has {cobegin} and
	coend.

	["Argus Reference Manual", B. Liskov et al., TR-400, MIT/LCS,
	1987].

	["Guardians and Actions: Linguistic Support for Robust,
	Distributed Programs", B. Liskov <liskov@lcs.mit.edu> et al,
	TOPLAS 5(3):381-404 (1983)].

	(1995-12-28)

Ariel

	<language> An {array}-oriented language for the {CDC 6400}.

	["Ariel Reference Manual", P. Devel, TR 22, CC UC Berkeley,
	Apr 1968].

	["A New Survey of the Ariel Programming Language", P. Deuel,
	TR 4, Ariel Consortium, UC Berkeley, June 1972].

	[Deuel or Devel?]

	(1995-12-29)

ARI Service

	<company> The trading name of the remnants of {AST Research,
	Inc.}.  ARI Services is a wholly owned subsidiary of {Samsung
	Electronics Co. Ltd.}, of Seoul, Korea.  They no longer
	manufacture or distribute computer hardware, but they continue
	to provide worldwide technical and service support to owners
	of systems that they manufactured.

	{AST Computers, LLC} is a separate company.

	Headquarters: 16225 Alton Parkway, POB 57005, Irvine,
	California 92619-7005, USA.

	{(http://ari-service.com/)}.

	(2000-03-28)

ARITH-MATIC

	<language> An extension of {Grace Hopper}'s {A-2} programming
	language, developed in about 1955.  ARITH-MATIC was originally
	known as A-3, but was renamed by the marketing department of
	{Remington Rand UNIVAC}.

	{(http://cispom.boisestate.edu/cis221emaxson/hophtm.htm)}.

	[How was A-2 extended?]

	(2001-01-27)

Arithmetic and Logic Unit

	<processor> (ALU or "mill") The part of the {central
	processing unit} which performs operations such as addition,
	subtraction and multiplication of integers and {bit-wise}
	{AND}, {OR}, {NOT}, {XOR} and other {Boolean} operations.  The
	CPU's instruction decode logic determines which particular
	operation the ALU should perform, the source of the {operands}
	and the destination of the result.

	The width in {bits} of the words which the ALU handles is
	usually the same as that quoted for the processor as a whole
	whereas its external busses may be narrower.  {Floating-point}
	operations are usually done by a separate "{floating-point
	unit}".  Some processors use the ALU for address calculations
	(e.g. incrementing the {program counter}), others have
	separate logic for this.

	(1995-03-24)

arithmetic mean

	<mathematics> The {mean} of a list of N numbers calculated by
	dividing their sum by N.  The arithmetic mean is appropriate
	for sets of numbers that are added together or that form an
	{arithmetic series}.  If all the numbers in the list were
	changed to their arithmetic mean then their total would stay
	the same.

	For sets of numbers that are multiplied together, the
	{geometric mean} is more appropriate.

	(2007-03-20)

arity

	<programming> The number of {arguments} a {function} or
	{operator} takes.  In some languages functions may have
	variable arity which sometimes means their last or only
	argument is actually a list of arguments.

	(1997-07-21)

arj

	<tool, file format> An archive format for the {IBM PC}.  ARJ
	files are handled by the ARJ program, created by the American
	programmer Robert Jung.

	[Available from?  Compare with PKZIP?]

	(1996-11-03)

Arjuna

	<language> An {object-oriented programming} system developed
	by a team led by Professor Santosh Shrivastava at the
	{University of Newcastle}, implemented entirely in {C++}.
	Arjuna provides a set of tools for the construction of
	{fault-tolerant} {distributed} applications.  It exploits
	features found in most object-oriented languages (such as
	{inheritance}) and only requires a limited set of system
	capabilities commonly found in conventional {operating
	systems}.  Arjuna provides the programmer with {classes} that
	implement {atomic transactions}, {object level recovery},
	{concurrency} control and {persistence}.  The system is
	{portable}, modular and flexible; the system software has been
	available via FTP since 1992.

	{(http://arjuna.ncl.ac.uk/)}.

	(1995-03-06)

ARL

	{ASSET Reuse Library}

ARM

	1. <processor> {Advanced RISC Machine}.

	Originally {Acorn} RISC Machine.

	2. <company> {Advanced RISC Machines} Ltd.

	3. <publication> ["The Annotated C++ Reference Manual",
	Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley,
	1990].

	4. <hardware> {Active Reconfiguring Message}.

	(1997-10-03)

ARM610

	<processor> A 32-bit {RISC} {microprocessor} based on the
	{ARM6} processor core designed by {Advanced RISC Machines}
	Ltd.

	The ARM610 is the successor to the {ARM3} processor and is
	produced by {VLSI Technology Inc}.  It consumes 500mW at 33MHz
	with a 5V supply.

	(1995-12-29)

ARM7

	<processor> A {RISC} {microprocessor} architecture from
	{Advanced RISC Machines} Ltd. (ARM).  Building upon the {ARM6}
	family, the goal of the ARM7 design was to offer higher levels
	of raw compute performance at even lower levels of power
	consumption.  The ARM7 architecture is now (Dec 1994) the most
	powerful low voltage {RISC} processor available on the market.

	The ARM7 offers several architectural extensions which address
	specific market needs, encompassing fast multiply and
	innovative embedded {ICE} support.  Software development tools
	are available.

	The ARM7 architecture is made up of a core CPU plus a range of
	system peripherals which can be added to a CPU core to give a
	complete system on a chip, e.g. 4K or 8K {cache}, {Memory
	Management Unit}, {Write Buffer}, {coprocessor} interface,
	{ICEbreaker} embedded {ICE} support and {JTAG} {boundary
	scan}.  The {ARM710} {microprocessor} is built around the ARM7
	core.

	{(http://systemv.com/armltd/arm7.html)}.

	(1995-01-05)

ARM710

	<processor> A 32-bit {RISC} {microprocessor} based on the
	{ARM7} processor core designed by {Advanced RISC Machines}
	Ltd.  The A710 is the successor to the {ARM610} processor.  It
	was released in July 1994 by {VLSI Technology Inc}.

	The ARM710 can run at 40MHz (fastest sample 55MHz) dissipating
	500mW with a 5V supply or 25MHz with 3.3V supply.  It has an 8
	kilobyte on-chip {cache}, {memory management unit} and {write
	buffer}.

	The ARM700 and ARM710 processors represent a significant
	improvement over the {ARM610} processors.  They have a higher
	maximum clock speed and a number of architectural improvements
	such as double the size of internal cache, this means that
	more of any process can be executed internally without
	accessing the (relatively) slow external memory.  Other
	improvements are an improved {write buffer} and an enlarged
	{Translation Lookaside Buffer} in the {MMU}.  All of these
	improvements increase the performance of the system and
	deliver more real performance than a simple comparison of
	clock speeds would indicate.

	The ARM710 has been optimised for integer performance.  The
	FPA11 {floating point} {coprocessor} has a peak throughput of
	up to 5 {MFLOPS} and achieves an average throughput in excess
	of 3 MFLOPS for a range of calculations.

	(1995-04-21)

ARM7500

	<processor> An {ARM7} core with I/O and {VIDC20} all on one
	{integrated circuit}.

	(1994-09-23)

ARM8

	<processor> A {RISC} {microprocessor} {core} designed by
	{Advanced RISC Machines} Ltd. with 50000 {transistors}.  The
	design of the ARM8 is not yet public but it is not
	{superscalar}.  The ARM8 will form the core of the {ARM800}
	{microprocessor} {integrated circuit}.

	(1995-03-03)

ARM800

	<processor> A {microprocessor} based on the {ARM8} processor
	core designed by {Advanced RISC Machines} Ltd.  Planned
	features include a 60-100Mhz {clock rate}; 0.35-0.4 micron
	silicon fabrication; an improvement on the {ARM7}'s 1.4
	cycle/instruction; a 16 Kbyte {cache}.

	Some estimates were 100 MIPS and 120 Kdhrystones at 70Mhz
	(twice the {ARM700}).  Samples of the ARM800 are expected to
	be available in late 1995.

	It may run on a voltage below 3.3V.

	{Digital Semiconductor}'s Hudson fab is 0.35 micron and they
	have announced a licensing deal for the ARM architecture (see
	{StrongARM}).

	(1995-02-07)

ARM Ltd

	{Advanced RISC Machines Ltd.}

ARMM

	{Automated Retroactive Minimal Moderation}

armour-plated

	{bulletproof}

ARP

	{Address Resolution Protocol}

ARPA

	{Defense Advanced Research Projects Agency}

ARPANET

	{Advanced Research Projects Agency Network}

ARQ

	{Automatic Repeat Request}

array

	1. <programming> A collection of identically typed data items
	distinguished by their indices (or "subscripts").  The number
	of dimensions an array can have depends on the language but is
	usually unlimited.

	An array is a kind of {aggregate} data type.  A single
	ordinary variable (a "{scalar}") could be considered as a
	zero-dimensional array.  A one-dimensional array is also known
	as a "{vector}".

	A reference to an array element is written something like
	A[i,j,k] where A is the array name and i, j and k are the
	indices.  The {C} language is peculiar in that each index is
	written in separate brackets, e.g. A[i][j][k].  This expresses
	the fact that, in C, an N-dimensional array is actually a
	vector, each of whose elements is an N-1 dimensional array.

	Elements of an array are usually stored contiguously.
	Languages differ as to whether the leftmost or rightmost index
	varies most rapidly, i.e. whether each row is stored
	contiguously or each column (for a 2D array).

	Arrays are appropriate for storing data which must be accessed
	in an unpredictable order, in contrast to {lists} which are
	best when accessed sequentially.  Array indices are
	{integers}, usually {natural numbers}, whereas the elements of
	an {associative array} are identified by strings.

	2. <architecture> A {processor array}, not to be confused with
	an {array processor}.

	(2007-10-12)

array processor

	<processor> (Or "vector processor") A {computer}, or extension
	to its {arithmetic unit}, that is capable of performing
	simultaneous computations on elements of an {array} or table
	of data in some number of dimensions.

	The {IBM AltiVec} (the "Velocity Engine" used in the {Apple
	G4} computers) is a vector processor.

	Common uses for array processors include analysis of fluid
	dynamics and rotation of {3d} objects, as well as data
	retrieval, in which elements of a {database} are scanned
	simultaneously.  Array processors are very rare now (1998).

	{Array presentation
	(http://cs.njit.edu/leon/105/c5/index.htm)}.

	(2003-09-11)

Array Processor Assembly Language

	<language> (APAL) The {assembly language} for the {DAP}
	parallel computer.

	(1994-11-28)

Array Theory

	<theory> A theory developed by Trenchard More Jr. and used as
	the basis for the {NIAL} language.

	Papers are available from the IBM Cambridge Scientific Center,
	Cambridge MA.

	(1995-01-25)

arrow key

	<hardware> One of four keys on a {keyboard} marked with arrows
	pointing up, down, left and right.  The arrow keys are used
	for such things as moving the {cursor} in a text document, for
	moving the {input focus} between the fields of a form or
	sometimes for scrolling a picture.

	(1998-06-26)

ART

	<language> A {real-time} {functional language}.  It timestamps
	each data value when it was created.

	["Applicative Real-Time Programming", M. Broy, PROC IFIP 1983,
	N-H].

	(1996-01-15)

Artemis microkernel

	<operating system> A {microkernel} currently under development
	by Dave Hudson <dave@humbug.demon.co.uk>, scheduled for
	release under {GPL} in May 1995.  It is targeted at
	{embedded} applications on {Intel 80386}, {Intel 486} and
	{Pentium} based systems.

	(1995-03-29)

Artifex

	<programming, tool> A {CASE} environment from {ARTIS} of Turin
	for the development of large {event-driven} distributed
	systems.  It has code-generation and rapid prototyping
	features.

	(1996-01-24)

artificial intelligence

	<artificial intelligence> (AI) The subfield of computer
	science concerned with the concepts and methods of {symbolic
	inference} by computer and symbolic {knowledge representation}
	for use in making inferences.  AI can be seen as an attempt to
	model aspects of human thought on computers.  It is also
	sometimes defined as trying to solve by computer any problem
	that a human can solve faster.  The term was coined by
	Stanford Professor {John McCarthy}, a leading AI researcher.

	Examples of AI problems are {computer vision} (building a
	system that can understand images as well as a human) and
	{natural language processing} (building a system that can
	understand and speak a human language as well as a human).
	These may appear to be modular, but all attempts so far (1993)
	to solve them have foundered on the amount of context
	information and "intelligence" they seem to require.

	The term is often used as a selling point, e.g. to describe
	programming that drives the behaviour of computer characters
	in a game.  This is often no more intelligent than "Kill any
	humans you see; keep walking; avoid solid objects; duck if a
	human with a gun can see you".

	See also {AI-complete}, {neats vs. scruffies}, {neural
	network}, {genetic programming}, {fuzzy computing},
	{artificial life}.

	{ACM SIGART (http://sigart.acm.org/)}.  {U Cal Davis
	(http://phobos.cs.ucdavis.edu:8001)}.  {CMU Artificial
	Intelligence Repository
	(http://cs.cmu.edu/Web/Groups/AI/html/repository.html)}.

	(2002-01-19)

Artificial Intelligence Lab

	{MIT AI Lab}

Artificial Life

	<algorithm, application> (a-life) The study of synthetic
	systems which behave like natural living systems in some way.
	Artificial Life complements the traditional biological
	sciences concerned with the analysis of living organisms by
	attempting to create lifelike behaviours within computers and
	other artificial media.  Artificial Life can contribute to
	theoretical biology by modelling forms of life other than
	those which exist in nature.  It has applications in
	environmental and financial modelling and network
	communications.

	There are some interesting implementations of artificial life
	using strangely shaped blocks.  A video, probably by the
	company Artificial Creatures who build insect-like robots in
	Cambridge, MA (USA), has several mechanical implementations of
	artificial life forms.

	See also {evolutionary computing}, {Life}.

	[Christopher G. Langton (Ed.), "Artificial Life", Proceedings
	Volume VI, Santa Fe Institute Studies in the Sciences of
	Complexity.  Addison-Wesley, 1989].

	{Yahoo! (http://yahoo.com/Science/Artificial_Life/)}.

	{Santa Fe Institute (http://alife.santafe.edu/)}.

	{The Avida Group
	(http://krl.caltech.edu/avida/Avida.html)}.

	(1995-02-21)

artificial neural network

	<artificial intelligence> (ANN, commonly just "neural network"
	or "neural net") A network of many very simple processors
	("units" or "neurons"), each possibly having a (small amount
	of) local memory.  The units are connected by unidirectional
	communication channels ("connections"), which carry numeric
	(as opposed to symbolic) data.  The units operate only on
	their local data and on the inputs they receive via the
	connections.

	A neural network is a processing device, either an
	{algorithm}, or actual hardware, whose design was inspired by
	the design and functioning of animal brains and components
	thereof.

	Most neural networks have some sort of "training" rule whereby
	the weights of connections are adjusted on the basis of
	presented patterns.  In other words, neural networks "learn"
	from examples, just like children learn to recognise dogs from
	examples of dogs, and exhibit some structural capability for
	generalisation.

	Neurons are often elementary non-linear signal processors (in
	the limit they are simple threshold discriminators).  Another
	feature of NNs which distinguishes them from other computing
	devices is a high degree of interconnection which allows a
	high degree of parallelism.  Further, there is no idle memory
	containing data and programs, but rather each neuron is
	pre-programmed and continuously active.

	The term "neural net" should logically, but in common usage
	never does, also include biological neural networks, whose
	elementary structures are far more complicated than the
	mathematical models used for ANNs.

	See {Aspirin}, {Hopfield network}, {McCulloch-Pitts neuron}.

	{Usenet} newsgroup: {news:comp.ai.neural-nets}.

	(1997-10-13)

Artisoft, Inc.

	<company, networking> A company, known for the {LANtastic}
	range of networking products.  Originally providers of
	proprietary, {peer-to-peer} network hardware and software for
	small installations, Artisoft now also sells {Ethernet} and
	{Novell}-compatible hardware and software.

	{(http://artisoft.com/)}.

	Telephone: +1 (800) 809 1257.

	Address: Tucson, Arizona, USA; Phoenix, Arizona, USA.

	(1995-04-24)

Artistic license

	<legal> The {open source license} applicable to {Perl}.

	(1999-12-29)

ARTSPEAK

	<language> An early simple language for {plotter} graphics.

	["The Art of Programming, ARTSPEAK", Henry Mullish, Courant
	Inst (Nov 1974)].

	(1995-02-21)

AS

	1. <networking> {Autonomous System}.

	2. <storage> {Address Strobe}.

as

	<networking> The {country code} for American Samoa.

	(1999-01-27)

as31

	<tool, programming> An {8031}/{8051} {assembler} by Ken
	Stauffer <stauffer@cpsc.ucalgary.ca> and Theo Deraadt which
	produces a variety of {object code} output formats.  The
	distribution includes an {assembler}, {yacc} {parser}, and
	documentation.  as31 runs on {Sun-3}, {Sun-4}, {SunOS 4.0},
	{Tandy 6000}, and {Xenix}.

	Latest version: 1, as of 1990-01-26.

	{as31 Home (http://pjrc.com/tech/8051/#as31_assembler)}.

	(2002-05-07)

AS400

	{AS/400}

AS/400

	<computer> An {IBM} {minicomputer} for small business and
	departmental users, released in 1988 and still in production
	in October 1998.

	Features include a menu-driven interface, {multi-user}
	support, terminals that are (in the grand {IBM} tradition)
	incompatible with anything else including the {IBM 3270}
	series, and an extensive library-based {operating system}.

	The machine survives because its {API} layer allows the
	{operating system} and {application programs} to take
	advantage of advances in hardware without recompilation and
	which means that a complete system that costs $9000 runs the
	exact same operating system and software as a $2 million
	system.  There is a 64-bit {RISC} processor operating system
	implementation.

	Programming languages include {RPG}, {assembly language}, {C},
	{COBOL}, {SQL}, {BASIC}, and {REXX}.  Several {CASE} tools are
	available: {Synon}, {AS/SET}, {Lansa}.

	{(http://as400.ibm.com/)}.

	(1999-07-26)

ASA

	{Adaptive Simulated Annealing}

asap

	<chat> As soon as possible.

	(1999-10-13)

asbestos

	<jargon> Used as a modifier to anything intended to protect
	one from {flames}; also in other highly {flame}-suggestive
	usages.  E.g., {asbestos longjohns}, {asbestos cork award}.

	[{Jargon File}]

	(1996-02-06)

asbestos cork award

	<humour> Once, long ago at {MIT}, there was a {flamer} so
	consistently obnoxious that another hacker designed, had made,
	and distributed posters announcing that said flamer had been
	nominated for the "asbestos cork award".  (Any reader in doubt
	as to the intended application of the cork should consult the
	etymology under {flame}.)  Since then, it is agreed that only
	a select few have risen to the heights of bombast required to
	earn this dubious dignity - but there is no agreement on
	*which* few.

	[{Jargon File}]

	(1996-02-06)

asbestos longjohns

	<humour> Notional garments donned by {Usenet} posters just
	before emitting a remark they expect will elicit {flamage}.
	This is the most common of the {asbestos} coinages.  Also
	"asbestos underwear", "asbestos overcoat", etc.

	[{Jargon File}]

	(1997-07-04)

ascender

	<text> A lowercase letter that extends above the "x-height"
	(the height of the letter "x"), such as "d", "t", or "h".
	Also used to denote the part of the letter extending above the
	x-height.

	Compare {descender}.

	(1998-03-27)

ASCI

	<spelling> Did you mean {ASCII}?

ASCII

	{American Standard Code for Information Interchange}

ASCII art

	<graphics> (Or "character graphics", "ASCII graphics") The
	fine art of drawing diagrams using the {ASCII} character set
	(mainly "|-/\+").

	See also {boxology}.  Here is a serious example:

	   o----)||(--+--|<----+   +---------o + D O
	     L  )||(  |        |   |             C U
	   A I  )||(  +-->|-+  |   +-\/\/-+--o -   T
	   C N  )||(        |  |   |      |        P
	     E  )||(  +-->|-+--)---+--)|--+-o      U
	        )||(  |        |          | GND    T
	   o----)||(--+--|<----+----------+

	   A power supply consisting of a full wave rectifier
	   circuit feeding a capacitor input filter circuit

	                         Figure 1.

	And here are some very silly examples:

	   |\/\/\/|     ____/|              ___    |\_/|    ___
	   |      |     \ o.O|   ACK!      /   \_  |` '|  _/   \
	   |      |      =(_)=  THPHTH!   /      \/     \/      \
	   | (o)(o)        U             /                       \
	   C      _)  (__)                \/\/\/\  _____  /\/\/\/
	   | ,___|    (oo)                       \/     \/
	   |   /       \/-------\         U                  (__)
	  /____\        ||     | \    /---V  `v'-            oo )
	 /      \       ||---W||  *  * |--|   || |`.         |_/\

			//-o-\\
		 ____---=======---____
	     ====___\   /.. ..\   /___====      Klingons rule OK!
	   //        ---\__O__/---        \\
	   \_\                           /_/

					    _____
				    __...---'-----`---...__
			       _===============================
	  ,----------------._/'      `---..._______...---'
	  (_______________||_) . .  ,--'
	      /    /.---'         `/
	     '--------_- - - - - _/
		       `--------'

				   Figure 2.

	There is an important subgenre of ASCII art that puns on the
	standard character names in the fashion of a rebus.

	 +--------------------------------------------------------+
	 |      ^^^^^^^^^^^^                                      |
	 | ^^^^^^^^^^^            ^^^^^^^^^                       |
	 |                 ^^^^^^^^^^^^^            ^^^^^^^^^^^^^ |
	 |        ^^^^^^^         B       ^^^^^^^^^               |
	 |  ^^^^^^^^^          ^^^            ^^^^^^^^^^^^^^      |
	 +--------------------------------------------------------+
		     "A Bee in the Carrot Patch"

	                       Figure 3.

	Within humorous ASCII art, there is, for some reason, an
	entire flourishing subgenre of pictures of silly cows.  One is
	shown in Figure 2; here are three more:

		  (__)              (__)              (__)
		  (\/)              ($$)              (**)
	   /-------\/        /-------\/        /-------\/
	  / | 666 ||        / |=====||        / |     ||
	 *  ||----||       *  ||----||       *  ||----||
	    ~~    ~~          ~~    ~~          ~~    ~~
	  Satanic cow    This cow is a Yuppie   Cow in love

				  Figure 4.

	{(http://gagme.wwa.com/~boba/scarecrow.html)}.

	(1996-02-06)

ASCIIbetical order

	<jargon, programming> /as'kee-be'-t*-kl or'dr/ Used to
	indicate that data is sorted in {ASCII} collated order rather
	than alphabetical order.  The main difference is that, in
	ASCII, all the upper case letters come before any of the lower
	case letters so, e.g., "Z" comes before "a".

	[{Jargon File}]

	(1999-04-08)

ASCIIbonics

	<chat> (From {ASCII} and Ebonics) A style of text
	communication in English which is most common on {talk}
	systems such as {irc}.  Its notable characteristics are:

	Typing all in lowercase (and occasionally all in uppercase).

	Copious use of abbreviations of the sort "u" for "you" "1" for
	"one" (and therefore "some1" for "someone", "ne1" for
	"anyone"), "2" for "to", "r" for "are", etc.

	A general lack of punctuation, except for strings of question
	marks and exclamation marks.

	Common use of the idiom "m or f?", meant to elicit a statement
	of the listener's gender.

	Typical extended discourse in ASCIIbonics: "hey wasup ne1 want
	2 {cyber}?"  "m or f?"

	ASCIIbonics is similar to the way {B1FF} talked, although B1FF
	used more punctuation (lots more), and used all uppercase,
	rather than all lowercase.  What's more, B1FF was only
	interested in {warez}, and so never asked "m or f?".

	It has been widely observed that some of the purest examples
	of ASCIIbonics come from non-native speakers of English.

	The phenomenon of ASCIIbonics predates by several years the
	use of the word "ASCIIbonics", as the word could only have
	been coined in or after late 1996, when "Ebonics" was first
	used in the US media to denote the US English dialects known
	in the linguistic literature as "Black Vernacular English".

	(1997-06-21)

ASCII character table

	<character> The following list gives the {octal}, decimal and
	{hexadecimal} {ASCII} codes for each character along with its
	printed representation and common name(s).

	  Oct Dec Hex  Name
	  000   0 0x00 NUL
	  001   1 0x01 SOH, Control-A
	  002   2 0x02 STX, Control-B
	  003   3 0x03 ETX, Control-C
	  004   4 0x04 EOT, Control-D
	  005   5 0x05 ENQ, Control-E
	  006   6 0x06 ACK, Control-F
	  007   7 0x07 BEL, Control-G
	  010   8 0x08 BS, backspace, Control-H
	  011   9 0x09 HT, tab, Control-I
	  012  10 0x0a LF, line feed, newline, Control-J
	  013  11 0x0b VT, Control-K
	  014  12 0x0c FF, form feed, NP, Control-L
	  015  13 0x0d CR, carriage return, Control-M
	  016  14 0x0e SO, Control-N
	  017  15 0x0f SI, Control-O
	  020  16 0x10 DLE, Control-P
	  021  17 0x11 DC1, XON, Control-Q
	  022  18 0x12 DC2, Control-R
	  023  19 0x13 DC3, XOFF, Control-S
	  024  20 0x14 DC4, Control-T
	  025  21 0x15 NAK, Control-U
	  026  22 0x16 SYN, Control-V
	  027  23 0x17 ETB, Control-W
	  030  24 0x18 CAN, Control-X
	  031  25 0x19 EM, Control-Y
	  032  26 0x1a SUB, Control-Z
	  033  27 0x1b ESC, escape
	  034  28 0x1c FS
	  035  29 0x1d GS
	  036  30 0x1e RS
	  037  31 0x1f US
	  040  32 0x20 space
	  041  33 0x21 !, exclamation mark
	  042  34 0x22 ", double quote
	  043  35 0x23 #, hash
	  044  36 0x24 $, dollar
	  045  37 0x25 %, percent
	  046  38 0x26 &, ampersand
	  047  39 0x27 ', quote
	  050  40 0x28 (, open parenthesis
	  051  41 0x29 ), close parenthesis
	  052  42 0x2a *, asterisk
	  053  43 0x2b +, plus
	  054  44 0x2c ,, comma
	  055  45 0x2d -, minus
	  056  46 0x2e ., full stop
	  057  47 0x2f /, oblique stroke
	  060  48 0x30 0, zero
	  061  49 0x31 1
	  062  50 0x32 2
	  063  51 0x33 3
	  064  52 0x34 4
	  065  53 0x35 5
	  066  54 0x36 6
	  067  55 0x37 7
	  070  56 0x38 8
	  071  57 0x39 9
	  072  58 0x3a :, colon
	  073  59 0x3b ;, semicolon
	  074  60 0x3c <, less than
	  075  61 0x3d =, equals
	  076  62 0x3e >, greater than
	  077  63 0x3f ?, question mark
	 0100  64 0x40 @, commercial at
	 0101  65 0x41 A
	 0102  66 0x42 B
	 0103  67 0x43 C
	 0104  68 0x44 D
	 0105  69 0x45 E
	 0106  70 0x46 F
	 0107  71 0x47 G
	 0110  72 0x48 H
	 0111  73 0x49 I
	 0112  74 0x4a J
	 0113  75 0x4b K
	 0114  76 0x4c L
	 0115  77 0x4d M
	 0116  78 0x4e N
	 0117  79 0x4f O
	 0120  80 0x50 P
	 0121  81 0x51 Q
	 0122  82 0x52 R
	 0123  83 0x53 S
	 0124  84 0x54 T
	 0125  85 0x55 U
	 0126  86 0x56 V
	 0127  87 0x57 W
	 0130  88 0x58 X
	 0131  89 0x59 Y
	 0132  90 0x5a Z
	 0133  91 0x5b [, open square bracket
	 0134  92 0x5c \, backslash
	 0135  93 0x5d ], close square bracket
	 0136  94 0x5e ^, caret
	 0137  95 0x5f _, underscore
	 0140  96 0x60 `, back quote
	 0141  97 0x61 a
	 0142  98 0x62 b
	 0143  99 0x63 c
	 0144 100 0x64 d
	 0145 101 0x65 e
	 0146 102 0x66 f
	 0147 103 0x67 g
	 0150 104 0x68 h
	 0151 105 0x69 i
	 0152 106 0x6a j
	 0153 107 0x6b k
	 0154 108 0x6c l
	 0155 109 0x6d m
	 0156 110 0x6e n
	 0157 111 0x6f o
	 0160 112 0x70 p
	 0161 113 0x71 q
	 0162 114 0x72 r
	 0163 115 0x73 s
	 0164 116 0x74 t
	 0165 117 0x75 u
	 0166 118 0x76 v
	 0167 119 0x77 w
	 0170 120 0x78 x
	 0171 121 0x79 y
	 0172 122 0x7a z
	 0173 123 0x7b {, open curly bracket
	 0174 124 0x7c |, vertical bar
	 0175 125 0x7d }, close curly bracket
	 0176 126 0x7e ~, tilde
	 0177 127 0x7f delete

	See {NUL}, {SOH}, {STX}, {ETX}, {ETX}, {EOT}, {ENQ}, {ACK},
	{BEL}, {BS}, {HT}, {line feed}, {VT}, {FF}, {CR}, {SO}, {SI},
	{DLE}, {XON}, {DC1}, {DC2}, {DC3}, {DC4}, {NAK}, {SYN}, {ETB},
	{CAN}, {EM}, {SUB}, {ESC}, {FS}, {GS}, {RS}, {US}, {space},
	{exclamation mark}, {double quote}, {hash}, {dollar},
	{percent}, {ampersand}, {quote}, {open parenthesis}, {close
	parenthesis}, {asterisk}, {plus}, {comma}, {minus}, {full
	stop}, {oblique stroke}, {colon}, {semicolon}, {less than},
	{equals}, {greater than}, {question mark}, {commercial at},
	{open square bracket}, {backslash}, {close square bracket},
	{caret}, {underscore}, {back quote}, {open curly bracket},
	{vertical bar}, {close curly bracket}, {tilde}, {delete}.

	(1996-06-24)

ASCII graphics

	{ASCII art}

ASDIMPL

	{ASDO IMPlementation Language}

ASDL

	{Abstract-Type and Scheme-Definition Language}

ASDO IMPlementation Language

	<language> (ASDIMPL) A {C}-like language, run on {Burroughs}'
	{mainframes} in the early 1980s, and {cross-compile}d to
	{x86}-based {embedded processors}.

	(1996-02-06)

ASE

	1. <programming> {Advanced Software Environment}.

	2. <networking> {Application Service Element}.

	3. <database> {Adaptive Server Enterprise}.

A* search

	<algorithm> A {graph} search {algorithm}.  A* is guaranteed to
	find a minimal solution path before any other solution paths,
	if a solution exists, in other words, it is an "{admissible}"
	search algorithm.  Each path is assigned a value based on the
	cost of the path (e.g. its length) and an (under)estimate of
	the cost of completing the path, i.e. the cost of a path from
	the end of the current path to a solution.

	(1995-03-31)

ASF

	1. <language> {Algebraic Specification Language}.

	2. <body> {Analytical Solutions Forum}.

ash

	<tool> A {Bourne Shell} clone by Kenneth Almquist.  It works
	pretty well.  For running scripts, it is sometimes better and
	sometimes worse than {Bash}.

	Ash runs under {386BSD}, {NetBSD}, {FreeBSD}, and {Linux}.

	{FTP Linux version
	(ftp://ftp.win.tue.nl/pub/linux/ports/ash-linux-0.1.tar.gz)}.

	(1995-07-20)

Ashmedai

	<tool> A {symbolic mathematics} package by Michael Levine
	<levine@cpwsca.psc.edu> that influenced {SMP} and {FORM}.
	There are versions for the {Univac 1108} and {VAX}/{VMS}.

	(1995-03-21)

Ashton-Tate Corporation

	<company> The original vendor of {dBASE} and joint developers
	of {EEMS}.  Ashton-Tate was founded by Charles Tate and Ashton
	was his pet parrot's name.  The parrot lived in the lobby of
	the company's LA headquarters.

	In the early 1990s Ashton-Tate was taken over by Borland
	International, Inc., who later became {Borland Software
	Corporation}.

	[Dates?  Address?]

	(2004-12-05)

ASIC

	{Application-Specific Integrated Circuit}

Asiliant Technologies

	<company> A company founded by a group of former {Chips and
	Technologies} employees with experience with the CHIPS
	products, suppliers, distributors and customers.  Asiliant
	offer C&T's {industry standard} {Flat Panel} and {CRT
	controller} family.

	(2006-09-19)

A Simulation Process-Oriented Language

	<language, simulation> (ASPOL) An {ALGOL}-like language for
	computer {simulation}.

	["Process and Event Control in ASPOL", M.H. MacDougall, Proc
	Symp on Simulation of Computer Systems, NBS (Aug 1975)].

	(1996-03-25)

ASIS

	1. {Application Software Installation Server}.

	2. <language> {Ada Semantic Interface Specification}.

ASK

	{Amplitude Shift Keying}

ASL

	1. <language> {Algebraic Specification Language}.

	2. <chat> A rather gruff way of asking someone their age, sex,
	and location.

	(2008-01-21)

ASL+

	<language, specification> An {algebraic specification
	language} by David Aspinall of the {University of Edinburgh}.
	ASL+ has rules for proving the satisfaction of specifications.
	It can also be viewed as a {type theory} with {subtyping},
	featuring {contravariant refinement} for {Pi-abstracted}
	specifications and a notion of {stratified equality} for
	{higher-order objects}.

	(1994-09-14)

As Low As Reasonably Practicable

	<legal> (ALARP) A term from {UK health and safety
	(http://hse.gov.uk/risk/theory/alarpglance.htm)} law that
	mandates reducting the risk to workers to the point where the
	cost of further reduction is grossly disproportionate to the
	benefit.

	(2010-10-05)

ASM

	{assembly language}

ASME

	{American Society of Mechanical Engineers}

ASN

	{Autonomous System Number}

ASN.1

	{Abstract Syntax Notation 1}

ASP

	1. <web> {Active Server Pages}.

	2. <networking> {application service provider}.

	3. <language> A {query language}(?).

	[Sammet 1969, p.702].

	4. <processor> {Attached Support Processor}.

	(2000-07-08)

ASPECT

	<tool, programming> An {IPSE} developed by an {Alvey} project,
	using {Z} to specify the {object-management system} and tool
	interface.

	(1996-03-25)

ASpecT

	<language> Algebraic specification of {abstract data types}.
	A {strict} {functional language} that compiles to {C}.

	Versions of ASpecT are available for {Sun}, {Ultrix}, {NeXT},
	{Macintosh}, {OS/2} 2.0, {Linux}, {RS/6000}, {Atari}, {Amiga}.

	{(ftp://wowbagger.uni-bremen.de/pub/programming/languages)}.

	(1996-03-25)

aspect

	<programming> In {aspect-oriented programming}, a modular unit
	of control over {emergent entities}.

	(1999-08-31)

aspect-oriented programming

	<programming> (AOP) A style of programming that attempts to
	abstract out features common to many parts of the code beyond
	simple functional modules and thereby improve the {quality} of
	software.

	Mechanisms for defining and composing {abstractions} are
	essential elements of programming languages.  The design style
	supported by the abstraction mechanisms of most current
	languages is one of breaking a system down into parameterised
	components that can be called upon to perform a function.

	But many systems have properties that don't necessarily align
	with the system's functional components, such as failure
	handling, {persistence}, communication, replication,
	coordination, {memory management}, or {real-time} constraints,
	and tend to cut across groups of functional components.

	While they can be thought about and analysed relatively
	separately from the basic functionality, programming them
	using current {component-oriented languages} tends to result
	in these aspects being spread throughout the code.  The
	{source code} becomes a tangled mess of instructions for
	different purposes.

	This "tangling" phenomenon is at the heart of much needless
	complexity in existing software systems.  A number of
	researchers have begun working on approaches to this problem
	that allow programmers to express each of a system's aspects
	of concern in a separate and natural form, and then
	automatically combine those separate descriptions into a final
	executable form.  These approaches have been called
	aspect-oriented programming.

	{Xerox AOP homepage
	(http://parc.xerox.com/csl/projects/aop/)}.

	{AspectJ (http://AspectJ.org/)}.

	{ECOOPP'99 AOP workshop
	(http://wwwtrese.cs.utwente.nl/aop-ecoop99/)}.

	(1999-11-21)

aspect ratio

	<graphics> The ratio of width to height of a {pixel}, {image},
	or {display screen}.  Square pixels (1:1) are considered
	preferable but displays are usually about 5:4.

	(1994-11-30)

ASPEN

	<language> A {toy language} for teaching {compiler}
	construction.

	["ASPEN Language Specifications", T.R. Wilcox, SIGPLAN Notices
	12(11):70-87, Nov 1977].

	(1994-11-30)

ASPI

	{Advanced SCSI Peripheral Interface}

ASPIK

	<language, specification> A multiple-style specification
	language.

	["Algebraic Specifications in an Integrated Software
	Development and Verification System", A. Voss, Diss, U
	Kaiserslautern, 1985].

	(1994-11-30)

Aspirin

	<language, tool> A {freeware} language from {MITRE
	Corporation} for the description of {neural networks}.  A
	compiler, bpmake, is included.  Aspirin is designed for use
	with the {MIGRAINES} interface.

	Version: 6.0, as of 1995-03-08.

	{(ftp://ftp.cognet.ucla.edu/alexis/)}.

	(1995-03-08)

ASPLE

	<language> A {toy language}.

	["A Sampler of Formal Definitions", M. Marcotty et al,
	Computing Surveys 8(2):191-276 (Feb 1976)].

	(1995-02-08)

ASPOL

	{A Simulation Process-Oriented Language}

ASQC

	{American Society for Quality Control}

ASR

	{Automatic Send Receive}

assembler

	<programming> A program which converts {assembly language}
	into {machine code}.

	(1996-03-25)

ASSEMBLY

	<language> An early system on the {IBM 702}.

	[Listed in CACM 2(5):1959-05-16].

	(1996-06-27)

assembly code

	{assembly language}

Assembly Language

	<language, robotics> (AL) A language for industrial {robots}
	developed at {Stanford University} in the 1970s.

	["The AL Language for an Intelligent Robot", T. Binford in
	Langages et Methods de Programation des Robots Industriels,
	pp. 73-88, IRIA Press 1979].

	["AL User's Manual", M.S. Mujtaba et al, Stanford AI Lab, Memo
	AIM-323 (Jan 1979)].

	(1994-11-24)

assembly language

	<language> (Or "assembly code") A symbolic representation of
	the {machine language} of a specific {processor}.  Assembly
	language is converted to {machine code} by an {assembler}.
	Usually, each line of assembly code produces one machine
	instruction, though the use of {macros} is common.

	Programming in assembly language is slow and error-prone but
	is the only way to squeeze every last bit of performance out
	of the hardware.

	{Filename extension}: .s ({Unix}), .asm ({CP/M} and others).

	See also {second generation language}.

	(1996-09-17)

Assembly Language Compiler

	<language> (ALC) An alternative name for {IBM 360} {assembly
	language}.

	Compare {BAL}.

	(1995-01-04)

Assembly Language for Multics

	<language> (ALM) The {assembly language} of the {GE-645} in
	which critical portions of the {Multics} {kernel} were
	written.

	(1994-11-24)

as sensible as a dictionary

	<humour> In Lewis Carroll's {Through the Looking Glass and what
	Alice found there
	(http://www.Germany.EU.net/books/carroll/alice.html)}, in the
	chapter {The Garden of Live Flowers
	(http://www.Germany.EU.net/books/carroll/alice_21.html#SEC24)},
	the Red Queen is talking to Alice about what she's been up to:

	"I only wanted to see what the garden was like, your Majesty -"

	"That's right," said the Queen, patting her on the head, which Alice
	didn't like at all, "though, when you say "garden" - I've seen
	gardens, compared with which this would be a wilderness."

	Alice didn't dare argue the point, but went on: "- and I thought I'd
	try and find my way to the top of that hill -"

	"When you say "hill"", the Queen interrupted, "I could show you hills,
	in comparison with which you'd call that a valley."

	"No, I shouldn't," said Alice, surprised into contradicting her at
	last: "a hill can't be a valley, you know.  That would be nonsense -"

	The Red Queen shook her head.  "You may call it "nonsense" if you
	like," she said, "but I've heard nonsense, compared with which that
	would be as sensible as a dictionary!"

	Alice curtseyed again, as she was a little afraid from the Queen's
	tone that she was a little offended: and they walked on in silence
	till they got to the top of the little hill.

	Thanks to Simon James for the text and to Sean Gugler for the
	URLs.

	(2014-06-22)

assertion

	<programming> 1. An expression which, if false, indicates an
	{error}.  Assertions are used for {debugging} by catching
	{can't happen} errors.

	2. In {logic programming}, a new {fact} or {rule} added to the
	database by the program at {run time}.  This is an
	{extralogical} or impure feature of logic programming
	languages.

	(1997-06-30)

ASSET

	{Asset Source for Software Engineering Technology}

asset management

	<business> The process whereby a large organisation collects
	and maintains a comprehensive list of the items it owns such
	as hardware and software.  This data is used in connection
	with the financial aspects of ownership such as calculating
	the total cost of ownership, depreciation, licensing,
	maintenance, and insurance.

	(1997-03-30)

Asset Source for Software Engineering Technology

	<project> (ASSET) A programme to promote software {reuse} by
	the US {DoD}.

	See also {ASSET Reuse Library}.

	(1996-08-19)

assigned numbers

	<standard> The {RFC} {STD 2} documenting the currently
	assigned values from several series of numbers used in network
	{protocol} implementations.  This RFC is updated periodically
	and, in any case, current information can be obtained from the
	{Internet Assigned Numbers Authority} (IANA).  If you are
	developing a protocol or application that will require the use
	of a link, {socket}, {port}, protocol, etc., you should
	contact the IANA to receive a number assignment.

	(1996-08-19)

assignment

	<programming> Storing the value of an expression in a
	{variable}.  This is commonly written in the form "v = e".  In
	{Algol} the assignment operator was ":=" (pronounced
	"becomes") to avoid mathematicians qualms about writing
	statements like x = x+1.

	Assignment is not allowed in {functional languages}, where an
	{identifier} always has the same value.

	See also {referential transparency}, {single assignment},
	{zero assignment}.

	(1996-08-19)

assignment problem

	<mathematics, algorithm> (Or "linear assignment") Any problem
	involving minimising the sum of C(a, b) over a set P of pairs
	(a, b) where a is an element of some set A and b is an element
	of set B, and C is some function, under constraints such as
	"each element of A must appear exactly once in P" or similarly
	for B, or both.

	For example, the a's could be workers and the b's projects.

	The problem is "linear" because the "cost function" C()
	depends only on the particular pairing (a, b) and is
	independent of all other pairings.

	{(http://forum.swarthmore.edu/epigone/comp.soft-sys.matlab/bringhyclu)}.
	{(http://soci.swt.edu/capps/prob.htm)}.
	{(http://mat.gsia.cmu.edu/GROUP95/0577.html)}.
	{(http://informs.org/Conf/WA96/TALKS/SB24.3.html)}.

	[Algorithms?]

	(1999-07-12)

Association Control Service Element

	<networking> (ACSE) The {OSI} method for establishing a call
	between two {application programs}.  ACSE checks the
	identities and contexts of the application entities, and could
	apply an {authentication} security check.

	Documents: {ITU} Rec. X.227 ({ISO} 8650), X.217 (ISO 8649)

	(1997-12-07)

Association for Computational Linguistics

	<body> (ACL) The international scientific and professional
	society for people working on problems involving {natural
	language} and computation.  Membership includes the ACL
	quarterly journal, "Computational Linguistics", reduced
	registration at most ACL-sponsored conferences, discounts on
	ACL-sponsored publications, and participation in ACL Special
	Interest Groups.  The ACL started in 1968; there are more
	than 2000 members worldwide.

	E-mail: <acl@aclweb.org>.

	{(http://cs.columbia.edu/~acl/)}.

	(1999-08-31)

Association for Computing

	<body> (ACM, before 1997 - "Association for Computing
	Machinery") The largest and oldest international scientific
	and educational computer society in the industry.  Founded in
	1947, only a year after the unveiling of {ENIAC}, ACM was
	established by mathematicians and electrical engineers to
	advance the science and application of {Information
	Technology}.  {John Mauchly}, co-inventor of the ENIAC, was
	one of ACM's founders.

	Since its inception ACM has provided its members and the world
	of computer science a forum for the sharing of knowledge on
	developments and achievements necessary to the fruitful
	interchange of ideas.

	ACM has 90,000 members - educators, researchers,
	practitioners, managers, and engineers - who drive the
	Association's major programs and services - publications,
	special interest groups, chapters, conferences, awards, and
	special activities.

	The ACM Press publishes journals (notably {CACM}), book
	series, conference proceedings, {CD-ROM}, {hypertext},
	{video}, and specialized publications such as curricula
	recommendations and self-assessment procedures.

	{(http://info.acm.org/)}.

	(1998-02-24)

Association for Computing Machinery

	{Association for Computing}

Association for Progressive Communications

	<body, philosophy> (APC) A world-wide organisation of
	like-minded computer networks providing a global
	communications network dedicated to the free and balanced flow
	of information.

	The APC defends and promotes non-commercial, productive online
	space for NGOs (Non-Governmental Organisations) and
	collaborates with like-minded organisations to ensure that the
	information and communication needs of civil society are
	considered in telecommunications, donor and investment policy.

	A few of APC's partner organisations include The {Institute
	for Global Communications} (USA), GreenNet (UK), Nicarao
	(Nicaragua) Enda-Tiers Monde (Senegal) and GlasNet (Ukraine).

	These organisations serve people working toward goals that
	include the prevention of warfare, elimination of militarism
	and poverty, protection of the environment, human rights,
	social and economic justice, participatory democracy,
	non-violent conflict resolution, and the promotion of
	sustainable development.

	{(http://apc.org/english/)}.

	E-mail: <apcadmin@apc.org>.

	(2000-10-08)

Association for SIMULA Users

	<body> See {SIMULA}.

	Address: Royal Institute of Technology, S-100 44 Stockholm,
	Sweden.

	[Details?]

	(1995-03-29)

Association Française des Utilisateurs d'Unix

	<body> (et des systèmes ouverts, AFUU) French Association of
	{Unix} Users.

	{(http://afuu.fr/)}.

	(1996-06-07)

Association of American Publishers

	<body, publication> <body> (AAP) A group engaged in
	standardisation efforts in document preparation.

	(2000-01-27)

Association of C and C++ Users

	<body> (ACCU) A community of people with an interest in the
	{C} family of programming languages: {K&R C}, {ANSI C}, and
	{C++}.  The community includes professional programmers, the
	suppliers of {compilers}, and those who are just interested in
	the languages.  ACCU members are using C and C++ on a wide
	range of platforms - {Unix}, {MS-DOS}, {OS/2}, {CP/M} - home
	computers, {IBM PCs}, {workstations}, and {super-computers}.
	Although the organisation is based in the UK, the membership
	is worldwide.  There are members in the US, mainland Europe,
	Russia, the Middle East, and Australia.

	E-mail: <info@accu.org>, <membership@accu.org>,
	<academic@accu.org> (Academic Liaison Officer).

	Address: The Membership Secretary, 64 Southfield Road, Oxford
	OX4 1PA, United Kingdom.

	(1996-12-02)

Association of Lisp Users

	<body> (ALU) A user group which aims to promote {Lisp}, help
	inform and educate Lisp users in general, and help represent
	Lisp users as a group to the vendors.  The ALU holds an annual
	conference and supports the formation of inter-vendor
	standards.  ALU has international membership and is
	incorporated in the US.

	{(http://cs.rochester.edu/u/miller/ALU/home.html)}.

	{Usenet} {newsgroups}: {news:comp.org.lisp-users}
	{news:comp.std.lisp}.

	Mailing list: <alu@ai.sri.com>.

	(1996-12-07)

associative array

	<programming> (Or "hash", "map", "dictionary") An {array}
	where the {indices} are not just {integers} but may be
	arbitrary strings.

	{awk} and its descendants (e.g. {Perl}) have associative
	arrays which are implemented using {hash coding} for faster
	look-up.

	(2007-10-02)

associative memory

	{content addressable memory}

Associative Memory Parallel Processing Language

	<language> (AMPPL-II) A language from the early 1970s.

	(1995-11-14)

associativity

	<programming> The property of an {operator} that says whether
	a sequence of three or more expressions combined by the
	operator will be evaluated from left to right (left
	associative) or right to left (right associative).  For
	example, in {Perl}, the {lazy and} operator && is left
	associative so in the expression:

	  $i >= 0 && $x[$i] >= 0 && $y[$x[$i]] == 0

	the left-most && is evaluated first, whereas = is right
	associative, so in

	  $a = $b = 42

	the right-most assignment is performed first.

	(2007-06-16)

AST

	<company> 1. {ARI Service}.

	2. {AST Computers, LLC}.

	(2000-03-21)

ASTAP

	{Advanced STatistical Analysis Program}

AST Computers, LLC

	<company> The private company formed in January 1999 when
	Mr. Beny Alagem, the former chairman of {Packard Bell NEC,
	Inc.}, bought the name and intellectual property of {AST
	Research, Inc.}.  AST Computers, LLC provide {hardware,
	software}, and services for small US businesses.

	{Samsung Electronics Co. Ltd.}, of Seoul, Korea, owns a
	minority stake.

	{(http://ast.com/)}.

	Address: Los Angeles, CA, USA.

	(2000-03-28)

asterisk

	<character> "*" {ASCII} code 42.  Common names include: star;
	{INTERCAL}: {splat}; {ITU-T}: asterisk.  Rare: {wild card};
	gear; dingle; mult; spider; aster; times; twinkle; {glob};
	{Nathan Hale}.

	Commonly used as the multiplication operator and as the
	{Kleene star}.  Often doubled, as in "x**2", to mean "to the
	power".  In {C} and related languages, asterisk is used as the
	{dereference} operator, "*p" meaning "the thing pointed to by
	p".

	(2006-09-10)

asterix

	<spelling> Do you mean "{asterisk}" (the star-shaped
	character), or {Asterix the Gaul
	(http://webring.org/cgi-bin/webring?ring=asterixwebring&index)},
	the popular French cartoon by Goscinny and Uderzo?

	(2000-07-26)

Astra Digital Radio

	<audio> {Digital Radio} over satellite, compatible with analog
	television transmissions.  Alternatively the normal TV
	subcarriers can be modulated by a {MPEG-1 Layer-2} 48 kHz 192
	kbps signal.  Quality is better than analog carriers and only
	needs half the {bandwidth} (analog stereo = 2 carrier, digital
	stereo = 1 carrier).  Quality is limited and the data rate
	can't be increased.

	(2001-12-13)

Astral

	<language> A programming language based on {Pascal}, never
	implemented.

	["ASTRAL: A Structured and Unified Approach to Database Design
	and Manipulation", T. Amble et al, in Proc of the Database
	Architecture Conf, Venice, June 1979].

	(2000-01-27)

AST Research, Inc.

	<company> A company, formed some time before 1980, that was a
	leading {personal computer} manufacturer.  AST developed
	{desktop computers}, {mobile computers}, and {servers} that
	were sold in more than 100 countries worldwide.  In January
	1999 the name and intellectual property were acquired by a new
	company named {AST Computers, LLC}.  As of 2000-03-02 it was
	trading as {ARI Service}.

	(2000-03-21)

asymmetrical modulation

	<communications> A scheme to maximise use of a communications
	line by giving a larger share of the {bandwidth} to the
	{modem} at the end which is transmitting the most information.

	Only one end of the connection has full bandwidth, the other
	has only a fraction of the bandwidth.  Normally, which end
	gets the full bandwidth is chosen dynamically.

	Asymmetrical modulation was made famous by the {HST} mode of
	the early high-speed modems from {US Robotics}.

	(1998-03-13)

Asymmetric Digital Subscriber Line

	<communications, protocol> (ADSL, or Asymmetric Digital
	Subscriber Loop) A form of {Digital Subscriber Line} in which
	the bandwidth available for {downstream} connection is
	significantly larger then for {upstream}.  Although designed
	to minimise the effect of {crosstalk} between the upstream and
	downstream channels this setup is well suited for {web
	browsing} and {client}-{server} applications as well as for
	some emerging applications such as {video on demand}.

	The data-rate of ADSL strongly depends on the length and
	quality of the line connecting the end-user to the telephone
	company.  Typically the upstream data flow is between 16 and
	640 {kilobits} per second while the downstream data flow is
	between 1.5 and 9 {megabits} per second.  ADSL also provides a
	voice channel.

	ADSL can carry digital data, analog voice, and broadcast
	{MPEG2} video in a variety of implementations to meet customer
	needs.

	["Data Cooks, But Will Vendors Get Burned?", "Supercomm
	Spotlight On ADSL" & "Lucent Sells Paradine", Wilson & Carol,
	Inter@ctive Week Vol. 3 #13, p1 & 6, June 24 1996].

	See also {Carrierless Amplitude/Phase Modulation}, {Discrete
	MultiTone}.

	{ADSL Forum (http://adsl.com/)}.

	(1998-05-18)

Asymmetric Digital Subscriber Loop

	{Asymmetric Digital Subscriber Line}

asynchronous

	<architecture> Not synchronised by a shared signal such as
	{clock} or {semaphore}, proceeding independently.

	Opposite: {synchronous}.

	1. <operating system> A {process} in a {multitasking} system
	whose execution can proceed independently, "in the
	{background}".  Other processes may be started before the
	asynchronous process has finished.

	2. <communications> A communications system in which data
	transmission may start at any time and is indicated by a
	{start bit}, e.g. {EIA-232}.  A data {byte} (or other element
	defined by the {protocol}) ends with a {stop bit}.  A
	continuous marking condition (identical to stop bits but not
	quantized in time), is then maintained until data resumes.

	(1995-12-08)

Asynchronous Balanced Mode

	<protocol> A communication mode of {HDLC} and derivative
	{protocols}, supporting {peer-oriented} {point-to-point}
	communications between two {nodes}, where either node can
	initiate transmission.

	(1997-05-07)

Asynchronous Communications Interface Adapter

	<communications, hardware> (ACIA) A kind of {integrated
	circuit} that provides data formatting and control to {EIA-232}
	serial interfaces.

	[Is this the same as a {UART}?]

	(1997-05-07)

asynchronous logic

	<architecture> A {data-driven} circuit design technique where,
	instead of the components sharing a common {clock} and
	exchanging data on clock edges, data is passed on as soon as
	it is available.  This removes the need to distribute a common
	clock signal throughout the circuit with acceptable {clock
	skew}.  It also helps to reduce power dissipation in {CMOS}
	circuits because {gates} only switch when they are doing
	useful work rather than on every clock edge.

	There are many kinds of asynchronous logic.  Data signals may
	use either "dual rail encoding" or "data bundling".  Each dual
	rail encoded {Boolean} is implemented as two wires.  This
	allows the value and the timing information to be communicated
	for each data bit.  Bundled data has one wire for each data
	bit and another for timing.  Level sensitive circuits
	typically represent a logic one by a high voltage and a logic
	zero by a low voltage whereas transition signalling uses a
	change in the signal level to convey information.  A speed
	independent design is tolerant to variations in gate speeds
	but not to propagation delays in wires; a delay insensitive
	circuit is tolerant to variations in wire delays as well.

	The purest form of circuit is delay-insensitive and uses
	dual-rail encoding with transition signalling.  A transition
	on one wire indicates the arrival of a zero, a transition on
	the other the arrival of a one.  The levels on the wires are
	of no significance.  Such an approach enables the design of
	fully delay-insensitive circuits and automatic layout as the
	delays introduced by the layout compiler can't affect the
	functionality (only the performance).  Level sensitive designs
	can use simpler, stateless logic gates but require a "return
	to zero" phase in each transition.

	{(http://cs.man.ac.uk/amulet/async/)}.

	(1995-01-18)

Asynchronous Transfer Mode

	<communications> (ATM, or "fast packet") A method for the
	dynamic allocation of {bandwidth} using a fixed-size {packet}
	(called a cell).

	See also {ATM Forum}, {Wideband ATM}.

	{ATM acronyms
	(http://atmforum.com/atmforum/acronym_index.html)}.

	{Indiana acronyms
	(http://cell-relay.indiana.edu/cell-relay/FAQ/ATM-Acronyms.html)}.

	[More detail?  Data rate(s)?]

	(1996-04-01)

asyncronous

	<spelling> It's spelled "{asynchronous}".

	(1996-12-13)

AT

	{IBM PC AT}

at

	1. <character> {commercial at}.

	2. <networking> The {country code} for Austria.

AT-3

	<language> The original name of {MATH-MATIC}.

	[Sammet 1969, p. 135].

	(2000-02-24)

ATA

	{Advanced Technology Attachment}

ATA-2

	{Advanced Technology Attachment Interface with Extensions}

ATA-4

	<storage> /ul'tr* D M A/ (Or "Ultra DMA", "UDMA", "Ultra-ATA",
	"Ultra-DMA/33") A development of the {Advanced Technology
	Attachment} specifications which gives nearly twice the
	maximum transfer speed of the {ATA-3} standard ({PIO} Mode 4).

	ATA-4 Extensions Ultra DMA/33 Synchronous DMA Mode maximum
	burst transfer rates:

		Mode 	Cycle Time 	Transfer Rate
			ns		MB/s
		0 	235 		16
		1 	160 		24
		2 	120 		33

	This is achieved by improving timing windows in the {protocol}
	on the ATA interface; reducing propagation delays by
	{pipelining} data transfers and transferring data in
	{synchronous} (strobed) mode.

	Developed by {Quantum Corporation}, ATA-4 has been freely
	licensed to manufacturers and is supported by {Intel
	Corporation}.

	(1998-09-30)

Atanasoff-Berry Computer

	<computer> (ABC) An early design for a binary calculator, one
	of the predecessors of the {digital computer}.  The ABC was
	partially constructed between 1937 and 1942 by Dr. {John
	Vincent Atanasoff} and Clifford Berry at {Iowa State College}.
	As well as {binary} arithmetic, it incorporated {regenerative
	memory}, {parallel processing}, and separation of memory and
	computing functions.

	The electronic parts were mounted on a rotating drum, making
	it hybrid electronic/electromechanical.  It was designed to
	handle only a single type of mathematical problem and was not
	automated.  The results of a single calculation cycle had to
	be retrieved by a human operator, and fed back into the
	machine with all new instructions, to perform complex
	operations.  It lacked any serious form of logical control or
	{conditional} statements.

	Atanasoff's patent application was denied because he never
	have a completed, working product.  Ideas from the ABC were
	used in the design of {ENIAC} (1943-1946).

	{(http://cs.iastate.edu/jva/jva-archive.shtml)}.

	(2003-09-28)

Atanasoff, John Vincent

	{John Vincent Atanasoff}

ATAPI

	{AT Attachment Packet Interface}

ATA point

	<unit, text> (Or "Anglo-Saxon point") One of the two most
	common variants of the {point}, equal to 0.3514598 mm, or
	0.0138366 inch, or 1/72.272 inch.  The ATA point is used on
	the island of the United Kingdom and on the American
	continent.

	[What point do they use in Ireland?]

	(2002-03-11)

Atari

	<company, computer> A maker of arcade games, home video game
	systems, and home computers, especially during the 1970s and
	1980s.  Atari are best known for their range of 16- and 32-bit
	{microcomputers}, notable for having a built-in {MIDI}
	interface.  As of February 1994 the range included the Atari
	520ST, 1040ST, Mega ST, STe, STacy, Mega STe, TT, and Falcon.
	There are also emulators that run on the Apple {Macintosh} and
	{IBM PC}/XT/AT.

	Atari ceased to be a separate company in 1996 when merged with
	{JTS}.  In 1998, JTS sold the Atari assets to Hasbro.  In
	2001, {Infogrames} North America operations officially changed
	their name to Atari.

	{(http://atarigames.com/)}.

	{Usenet newsgroups}: {news:comp.binaries.atari.st},
	{news:comp.sys.atari.st.tech}, {news:comp.sources.atari.st},
	{news:comp.sys.atari.st}, {news:comp.sys.atari.advocacy},
	{news:comp.sys.atari.programmer}.

	{Michigan U (ftp://atari.archive.umich.edu)}, {UK
	(ftp://micros.hensa.ac.uk/)}, {Germany
	(ftp://ftp.Germany.EU.net)} [192.76.144.75], {Netherlands
	(ftp://ftp.cs.ruu.nl/)} [131.211.80.17], {UK
	(ftp://src.doc.ic.ac.uk/computing/systems/atari/umich)}.

	(2008-07-23)

Atari ST

	<computer> A {personal computer} released by {Atari} in 1985.
	The "ST" stands for "Sixteen/Thirty-two", from the {Motorola
	68000}'s 16-bit {external bus} and 32-bit processor.  The
	original 520ST model had an external {floppy drive} and power
	supply whereas the 1040ST had them built-in.  The 520 and
	later 520STFM came with 512 KB of {RAM}, the 1040 had 1 MB.
	Several upgraded models followed, up to the 1993 {Motorola
	68030} based {Falcon}.

	The ST was the first home computer with built-in {MIDI ports}
	and plenty of MIDI software.  A wide range of other software
	from office to games was also available.

	(2006-10-30)

AT Attachment

	{Advanced Technology Attachment}

AT Attachment Packet Interface

	<storage> (ATAPI) Part of the {EIDE} interface that provides
	additional commands to control a {CD-ROM} drive or {magnetic
	tape}.

	[Winn L. Rosch "The Winn L. Rosch Hardware Bible"
	(Third Edition), Sams Publishing, 1994].

	(1998-11-01)

AT bus architecture

	{Industry Standard Architecture}

AtFS

	{Attributed File System}

Athena

	{Project Athena}

Atherton Technology

	<company> The comapny that developed the {Software BackPlane}
	{CASE} framework.  Their {Atherton Tool Integration Services}
	were the basis for the ATIS standard.

	(2000-02-24)

Athlon

	<hardware> (K7) {AMD}'s 7th generation {x86} {processor},
	released in June 1999.

	Athlon uses a {Slot A} {motherboard} and is not compatible
	with {Slot 1} motherboards.

	[Details?  Reference?]

	(1999-08-05)

ATIS

	{A Tools Integration Standard}

ATK

	{Andrew Toolkit}

ATLAS

	{Abbreviated Test Language for Avionics Systems}

Atlas Autocode

	<language> The {Autocode} for the {Ferranti} {Atlas}, which
	may have been the first commercial computer with
	{hardware-paged} {virtual memory}.  Whereas other {autocodes}
	were basically {assembly languages}, Atlas Autocode was
	high-level and {block-structured}, resembling a cross between
	{Fortran} and {ALGOL 60}.  It had {call-by value}, {loops},
	{declarations}, {complex numbers}, {pointers}, {heap} and
	{stack} storage generators, {dynamic arrays}, and extensible
	{syntax}.

	(2000-04-03)

ATM

	1. <communications> {Asynchronous Transfer Mode}.

	2. Automatic Teller Machine - a cash dispenser.

	3. <chat> At the moment.

	4. <text> {Adobe Type Manager}.

ATM Forum

	<networking, body> An international non-profit arganisation
	aiming to encourage the user of {Asynchronous Transfer
	Mode} through {interoperability} specifications and to promote
	cooperation and awareness.

	The ATM Forum consists of a worldwide Technical Committee,
	three Marketing Committees for North America, Europe and
	Asia-Pacific as well as the User Committee, through which ATM
	end-users participate.

	Worldwide Headquarters: 2570 West El Camino Real, Suite 304
	Mountain View, CA 94040-1313 USA.

	Telephone: +1 (650) 949 6700.

	E-mail: ATM Forum <info@atmforum.com>.

	{(http://atmforum.com/)}.

	(1999-06-14)

ATMP

	{Asynchronous Transfer Mode Protocol}?

	(2001-03-03)

atob

	<tool> /A too B/ {Utility software} that converts {ASCII} to
	{binary}.  The reverse process is {btoa}.

	[Algorithm?]

	(1997-08-08)

ATOLL

	{Acceptance, Test Or Launch Language}

atomic

	<jargon> (From Greek "atomos", indivisible) Indivisible;
	cannot be split up.

	For example, an instruction may be said to do several things
	"atomically", i.e. all the things are done immediately, and
	there is no chance of the instruction being half-completed or
	of another being interspersed.  Used especially to convey that
	an operation cannot be interrupted.

	An atomic {data type} has no internal structure visible to the
	program.  It can be represented by a flat {domain} (all
	elements are equally defined).  Machine {integers} and
	{Booleans} are two examples.

	An atomic {database transaction} is one which is guaranteed to
	complete successfully or not at all.  If an error prevents a
	partially-performed transaction from proceeding to completion,
	it must be "backed out" to prevent the database being left in
	an inconsistent state.

	[{Jargon File}]

	(2000-04-03)

A Tools Integration Standard

	<software, library> (ATIS) An {object-oriented} interface to a
	set of services that allows the saving, accessing and managing
	of information in a common repository.  Developed by {Atherton
	Technology} and {DEC}, based on an extended version of the
	{Software BackPlane}, proposed as an industry standard.

	(1994-10-25)

ATRAC

	{Adaptive TRansform Acoustic Coding}

ATS

	{Attribute Translation System}

at sign

	{commercial at}

AT&T

	{American Telephone and Telegraph, Inc.}

Attachment Unit Interface

	<networking> (AUI) The part of the {IEEE} {Ethernet}
	{standard} located between the {MAC}, and the {MAU}.  The AUI
	is a {transceiver} cable that provides a path between a
	{node}'s Ethernet interface and the MAU.

	(1996-12-08)

AT&T Bell Labs

	{Bell Laboratories}

attenuation

	<communications> The progressive reduction in {amplitude} of a
	signal as it travels farther from the point of origin.

	For example, an electric signal's amplitude reduces with
	distance due to electrical {impedance}.  Attenuation is
	usually measured in {decibels} [per metre?].

	Attenuation does not imply appreciable modification of the
	shape of the waveform (distortion), though as the signal
	amplitude falls the {signal-to-noise ratio} will also fall
	unless the channel itself is noise free or the signal is
	amplified at some intermediate point(s) along the channel.

	["Networking Essentials, second edition",
	Microsoft Corporation, pub. Microsoft Press 1997].

	(2003-07-29)

atto-

	{prefix}

attoparsec

	<unit, humour> About 31 mm (one inch).  "atto-" is the
	standard {SI} {prefix} for multiplication by 10^-18.  A parsec
	(parallax-second) is 3.26 light-years; an attoparsec is thus
	3.26 * 10^-18 light years.  Thus, one attoparsec per
	{microfortnight} is about one inch per second.

	This unit is reported to be in use (though probably not very
	seriously) among hackers in the UK.

	[{Jargon File}]

	(1996-12-08)

attribute

	<data> A named value or relationship that exists for some or
	all {instances} of some {entity} and is directly associated
	with that instance.

	Examples include the {href} attribute of an {HTML} {anchor}
	element, the {columns} of a {database} {table} considered as
	attributes of each row, and the {members} ({properties} and
	{methods} of an {object} in {OOP}.  This contrasts with the
	contents of some kind of container (e.g. an array), which are
	typically not named.  The contents of an {associative array},
	though they might be considered to be named by their key
	values, are not normally thought of as attributes.

	(2001-02-04)

Attributed File System

	<storage> (AtFS) The basis of the {Shape_VC} toolkit.

	Cooperative work within projects is supported by a status
	model controlling visibility of version objects, locking, and
	"long transactions" for synchronising concurrent updates.  The
	concept of object attributes provides a basis for storing
	management information with versions and passing this
	information between individual tools.  This mechanism is
	useful for building integrated environments from a set of
	unrelated tools.

	(2000-02-24)

Attribute Translation System

	<grammar, tool> (ATS) A {BNF}-based {parser generator} from
	the {University of Saskatchewan}(?).  ATS generates
	table-driven {LL1} {parsers} with full {insert-only error
	recovery}.  It also has full left-attribute semantic handling,
	which is a dream compared to using {YACC}'s parser actions.

	(2000-04-08)

ATX

	<hardware, standard> An {open} {PC} {motherboard}
	specification by {Intel}.

	ATX is a development of the {Baby AT} specification with the
	motherboard rotated 90 degrees in the chassis.  The {CPU} and
	{SIMM} sockets have been relocated away from the {expansion
	card} slots meaning that all the slots support full-length
	cards.  More {I/O} functions are integrated on the
	motherboard.  As the longer edge of the board is now at the
	back of the chassis, there is more space for connectors; also,
	the I/O opening on the back panel of the chassis has been
	defined as double the previous height, allowing vendors to add
	extra on-board I/O functions over and above the standard.

	Most {Pentium Pro} boards use this {form factor}.

	As well as the motherboard size, layout, and placement, the
	ATX specification also includes requirements for power supply
	and fan specification and location.

	The full size ATX board measures 305mm wide by 244mm deep.
	There is also a Mini-ATX form factor, 284mm by 208mm.

	{Home
	(http://developer.intel.com/design/motherbd/atx.htm)}.

	(2001-07-16)

au

	1. <networking> The two character {country code} for Australia
	used in {Internet} {domain names}.

	2. <filename extension> {audio}.

	(1995-02-15)

aubergine

	<jargon> A secret term used to refer to computers in the
	presence of computerphobic third parties.

	(1995-01-24)

audio

	<file format> Sound, one component of {multimedia}.  Computers
	(and audio compact discs and digital audio tape) work with
	{digital audio}, in contrast to vinyl disks or analogue tape.

	(1999-07-30)

audiographics

	{Audiographic Teleconferencing}

audiographic teleconferencing

	<communications> (Or "electronic whiteboarding", "screen
	sharing") A form of {teleconferencing} in {real time} using
	both an {audio} and a data connection.  The computer screen is
	shared by more than one site, and used as an electronic
	blackboard, overhead projector or still video projector.  Some
	systems allow for sharing software also.

	(1995-10-06)

Audio IFF

	<file format, music> (AIFF) A format developed by {Apple
	Computer} Inc. for storing high-quality {digital audio} and
	musical instrument information.  It is also used by {SGI} and
	several professional audio packages.

	(1994-10-10)

AudioOne

	<tool, music> Digital recording and editing software developed
	by {BizTrack Software Development} for the dance, music, and
	audio industries.  AudioOne includes a waveform recorder that
	allows signal manipulation, editing, and recording.

	(1996-09-28)

Audio Processing Technology

	<company> (APT) A company that produces {codecs} based on
	{predictive analysis} rather than {frequency coding}.

	(1996-01-15)

Audio Video Interleave

	<multimedia> (AVI) An {audio}-{video} {standard} designed by
	{Microsoft}.  Apparently proprietary and {Microsoft
	Windows}-specific.

	{(http://www2.echo.lu/oii/en/video.html#AVI)}.

	[Details?]

	(1996-09-08)

Augmented Backus-Naur Form

	<language> An extension of {Backus-Naur Form} documented in
	{RFC 2234}.

	[Summary?]

	(1997-11-23)

AUI

	1. <tool, product> {Adaptable User Interface}.

	2. <networking> {Attachment Unit Interface}.

A'UM

	<language> A {stream}-based, {concurrent}, {logic},
	{object-oriented} language by K. Yoshida and Takashi Chikayama
	<chikayama@klic.org>, built on top of {KL1}.

	["A'UM - A Stream-based Concurrent Logic Object-Oriented
	Language", K. Yoshida et al, Proc 3rd Intl Conf Fifth Gen
	Comp Sys, Springer 1988, pp. 638-649].

	(2000-07-16)

AUP

	{acceptable use policy}

Aurora

	["The Aurora Or-Parallel Prolog System", E. Lusk et al, Proc
	3rd Intl Conf on Fifth Generation Comp Systems, pp. 819-830,
	ICOT, A-W 1988].

Austin Kyoto Common Lisp

	<language> (AKCL) A collection of ports, bug fixes, and
	performance improvements to {KCL} by William Schelter
	<wfs@cli.com>, <wfs@math.utexas.edu>, University of Texas.

	Version 1-615 includes ports to {Decstation} 3100,
	{HP9000}/300, {i386}/{Sys V}, {IBM-PS2}/{AIX}, {IBM-RT}/{AIX},
	{SGI}, {Sun-3}/{Sunos} 3 or 4, {Sun-4}, {Sequent Symmetry},
	{IBM370}/{AIX}, {VAX}/{BSD VAX}/{Ultrix}, {NeXT}.

	{(ftp://rascal.ics.utexas.edu/pub/akcl-1-609.tar.Z)}.

	(1992-04-29)

authentication

	<security> The verification of the identity of a person or
	process.  In a communication system, authentication verifies
	that messages really come from their stated source, like the
	signature on a (paper) letter.  The most common form of
	authentication is typing a user name (which may be widely
	known or easily guessable) and a corresponding {password} that
	is presumed to be known only to the individual being
	authenticated.  Another form of authentication is
	{biometrics}.

	(2007-02-22)

authoring

	<hypertext> Creating a {hypertext} or {hypermedia} document.

	(1994-11-07)

autobaud

	{automatic baud rate detection}

autobogotiphobia

	{bogotify}

AutoCAD

	<product, tool> A {CAD} {software} package for mechanical
	engineering, marketed by {Autodesk, Inc.}

	(1994-11-09)

Autocode

	<language> 1. The {assembly language} accepted by {AUTOCODER}.

	2. A generic term for symbolic {assembly language}.  Versions
	of Autocode were developed for {Ferranti} {Atlas}, {Titan},
	{Mercury} and {Pegasus} and {IBM 702} and {IBM 705}.

	(2001-05-14)

AUTOCODER

	<language> Possibly the first primitive {compiler}.  AUTOCODER
	was written by Alick E. Glennie in 1952.  It translated
	symbolic statements into {machine language} for the
	{Manchester Mark I} computer.

	Autocoding later came to be a generic term for {assembly
	language} programming.

	(1994-11-07)

autoconf

	<software, tool> The {GNU project}'s tool that configures a
	source code distribution to compile and run on a different
	platform.

	Among {open source} {hackers}, a mere running {binary} of a
	program is not considered a full release; what's interesting
	is a source tree that can be built into binaries using
	standard tools.  Since the mid-1990s, autoconf, {automake},
	and {libtools} have been the standard way to make a
	distribution portable so that it can be built on multiple
	{operating systems} without change.

	(2002-09-20)

autoconfiscate

	<software, jargon> A term coined by Noah Friedman meaning to
	set up or modify a {source-code} distribution so that it
	configures and builds using the {GNU project}'s
	{autoconf}/automake/libtools suite.

	(2002-09-20)

Autodesk, Inc.

	<company> The distributors of the {AutoCAD} {CAD} package.

	Address: Sausalito, CA, USA.

	(1994-11-09)

AUTOEXEC.BAT

	<operating system> The {batch file} containing commands,
	loaded by {MS-DOS} after running {CONFIG.SYS}.  AUTOEXEC.BAT
	contains normal DOS commands and can be used for additional
	system configuration such as setting paths and variables,
	configuring network connections and running {application
	programs}.

	(1995-03-18)

AUTOGRAF

	<tool> A system for describing {bar charts}.

	["User's Manual for AUTOGRAF", Cambridge Computer Assoc, Dec
	1972].

	(2001-05-14)

AUTOGRP

	{AUTOmated GRouPing system}

Auto Idle

	A facility provided by some {Intel} {clock doubled}
	{microprocessors} where the internal clock can be slowed to
	the external {clock rate} while the processor is waiting for
	data from memory, returning to full speed as soon as the data
	arrives.

	See also {System Management Mode}.

	(1994-11-09)

Autolisp

	<language> A dialect of {Lisp} used by the {Autocad} {CAD}
	package from {Autodesk}.

	(1994-11-09)

autoloader

	{stack loader}

automagically

	<jargon> /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/
	Automatically, but in a way that, for some reason (typically
	because it is too complicated, or too ugly, or perhaps even
	too trivial), the speaker doesn't feel like explaining to you.

	E.g. "The C-INTERCAL compiler generates C, then automagically
	invokes {cc} to produce an executable."

	See {magic}.

	[{Jargon File}]

	(2001-05-18)

automata

	{automaton}

automata theory

	{automaton}

Automated Engineering Design

	<language> (AED) (Or "ALGOL Extended for Design") A systems
	language for the {IBM 7090} and {IBM 360} developed at {MIT}
	System Laboratory ca. 1965 by a team led by Douglas T. Ross
	(now at {Softech}).  AED is an extension of {ALGOL 60} with
	{records} ("plexes"), pointers, and {dynamic allocation}.
	{DYNAMO II} was written in AED, as was the first {BCPL}
	{compiler}.

	Versions: AED-0, AED-1, AED-JR.

	["The Automated Engineering Design (AED) Approach to
	Generalized Computer-Aided Design", D.T. Ross, Proc ACM 22nd
	Natl Conf, 1967].

	[Sammet 1969 and 1978].

	(1995-03-26)

AUTOmated GRouPing system

	<tool, mathematics> (AUTOGRP) An interactive statistical
	analysis system, an extension of {CML}.

	["AUTOGRP: An Interactive Computer System for the Analysis of
	Health Care Data", R.E. Mills et al, Medical Care 14(7), Jul
	1976].

	(1994-11-07)

Automated Retroactive Minimal Moderation

	<messaging> (ARMM) A {Usenet} robot created by Dick Depew of
	Munroe Falls, Ohio.  ARMM was intended to automatically cancel
	posts from anonymous-posting sites.  Unfortunately, the
	robot's recogniser for anonymous postings triggered on its own
	automatically-generated control messages!  Transformed by this
	stroke of programming ineptitude into a monster of
	Frankensteinian proportions, it broke loose on the night of
	1993-03-31 and proceeded to {spam} {news:news.admin.policy}
	with a recursive explosion of over 200 messages.

	Reactions varied from amusement to outrage.  The pathological
	messages crashed at least one mail system, and upset people
	paying line charges for their {Usenet} feeds.  One poster
	described the ARMM debacle as "instant {Usenet} history" (also
	establishing the term {despew}), and it has since been widely
	cited as a cautionary example of the havoc the combination of
	good intentions and incompetence can wreak on a network.

	Compare {Great Worm}; {sorcerer's apprentice mode}.  See also
	{software laser}, {network meltdown}.

	(1996-01-08)

automated testing

	<testing> Software testing assisted with software tools
	that require no operator input, analysis, or evaluation.

	(2001-05-20)

AUTOMATH

	<language, mathematics> A very high level language for writing
	proofs, from Eindhoven, Netherlands.

	["The Mathematical Language AUTOMATH, Its Usage and Some of
	its Extensions", N.G. deBruijn, in Symp on Automatic
	Demonstration, LNM 125, Springer 1970].

	(2001-07-09)

Automatically Programmed Tools

	<language> (APT) A language for numerically controlled machine
	tools.

	Versions: APT II (IBM 704, 1958), APT III (IBM 7090, 1961).

	["APT Part Programming", McGraw-Hill].

	[Sammet 1969, p. 605].

	(1995-05-04)

automatic baud rate detection

	<communications> (ABR, autobaud) A process by which a
	receiving device determines the speed, {code level}, and {stop
	bits} of incoming data by examining the first character,
	usually a preselected sign-on character.  ABR allows the
	receiving device to accept data from a variety of transmitting
	devices operating at different speeds without needing to
	establish data rates in advance.

	(1996-06-18)

automatic hyphenation

	<text> A feature of some {word processors} which can insert
	{hyphens} into words which would otherwise extend beyond the
	right hand margin of the page.

	More advanced word processors may have options to control the
	position of the hyphen, to restrict certain words from being
	hyphenated, and to allow custom dictionaries of hyphenation
	points to be built up.

	(1996-08-02)

Automatic Mathematical TRANslation

	<mathematics, tool> (AMTRAN) A system developed by NASA in
	Huntsville in 1966 for the {IBM 1620}, based on the
	{Culler-Fried} System.  It required a special terminal.

	["AMTRAN: An Interactive Computing System", J. Reinfelds, Proc
	FJCC 37:537- 542, AFIPS (Fall 1970)].

	(1995-11-14)

Automatic Network Routing

	<protocol> (ANR) A {source routing protocol} used to route
	{LU6.2} session and control traffic from {node} to node
	through a {High Performance Routing} network or {subnet}.  ANR
	operates at the lower end of the {SNA} {Path Control layer}.

	[Relationship to {OS/390}?]

	(1997-05-08)

Automatic Number Identification

	<communications> (ANI) A service that tells the recipient of a
	telephone call the telephone number of the person making the
	call.  This number can be passed to computer equipment to
	automatically retrieve associated information about the caller,
	i.e. account status, billing records, etc.

	See {CTI}.

	(1996-12-08)

Automatic Repeat Request

	<communications> (ARQ) A {modem} error control {protocol} in
	which the receiver asks the transmitter to resend corrupted
	data.

	(1995-11-14)

Automatic Send Receive

	<hardware> (ASR) Part of a designation for a hard-copy
	{terminal}, manufactured by {Teletype Corporation}, which
	could be commanded remotely to send the contents of its {paper
	tape} reader.  The ASR-33 was the most common {minicomputer}
	terminal in the early 1970s.

	(1995-11-23)

Automatic Sequence Controlled Calculator

	{Mark 1}

automation

	Automatic, as opposed to human, operation or control of a
	process, equipment or a system; or the techniques and
	equipment used to achieve this.  Most often applied to
	computer (or at least electronic) control of a manufacturing
	process.

	See also {design automation}, {office automation},
	{manularity}, {Manufacturing Automation Protocol}, {PEARL},
	{QBE}.

	(1994-10-21)

Automatische Rechenplanfertigung

	<language> A programming language published in 1952 by Heinz
	Rutishauser (1918-70).

	[Features?]

	(2001-07-09)

automaton

	<robotics, mathematics, algorithm> (Plural automata) A
	machine, {robot}, or {formal system} designed to follow a
	precise sequence of instructions.

	Automata theory, the invention and study of automata, includes
	the study of the capabilities and limitations of computing
	processes, the manner in which systems receive input, process
	it, and produce output, and the relationships between
	behavioural theories and the operation and use of automated
	devices.

	See also {cellular automaton}, {finite state machine}.

	(1996-04-23)

Automatrix, Inc.

	<company> The company which produced {CAM-PC}.

	Address: Ballston Spa, NY, USA.

	{(http://automatrix.com/)}.

	(1995-04-21)

Autonomous System

	<networking, routing> (AS) A collection of {routers} under a
	single administrative authority, using a common {Interior
	Gateway Protocol} for routing {packets}.

	(2001-09-16)

Autonomous System Number

	<networking, routing> (ASN) Used for {routing} on the
	{Internet}.

	[Does each ASN uniquely identify an {Autonomous System}?]

	(2001-09-16)

Autopass

	<programming>

	["Autopass: An Automatic Programming System for
	Computer-Controlled Mechanical Assembly", L.I. Lieberman et
	al, IBM J Res Dev 21(4):321-333, 1979].

	(2001-09-16)

autopilot code

	<jargon, humour> {Code} that was written by a programmer on
	"auto-pilot" who wasn't really thinking about what they were
	doing.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-08-21)

autoprojector

	<theory> A self-applicable {partial evaluator}.

	(2001-09-16)

AUTO-PROMPT

	<language> A {numerical control} language from {IBM} for {3D}
	milling.

	[Sammet 1969, p.606].

	(2001-09-25)

Autostat

	<language> A language for statistical programming.

	["Autostat: A Language for Statistical Programming",
	A.S. Douglas et al, Computer J 3:61, 1960].

	(2001-09-25)

autostereogram

	{SIRDS}

A/UX

	<operating system> (Apple's UniX) {Apple}'s first version of
	{Unix} for {Macintosh} computers.  A/UX merges the {Macintosh
	Finder} ({GUI}) with a Unix core, offering functions from both
	systems.  It will run on some late-model {Motorola 68000}
	Macs, but not on the {Power Mac}.

	A/UX is based on {AT&T} Unix {System V}.2.2 with numerous
	extensions from V.3, V.4 and {BSD} 4.2/4.3.  It also provides
	full {POSIX} compliance.

	A/UX 3.x.x incorporates {System 7} for the Macintosh, thus
	supporting the vast majority of Macintosh {applications}.
	System 7 and Unix are fully integrated under A/UX 3.x.x with
	the Unix file system being seen as a disk drive by the Finder.

	{jagubox's A/UX Home Page
	(http://jagubox.gsfc.nasa.gov/aux/Info/FAQ.auxl)}.

	(1997-12-13)

auxiliary storage

	<storage> An obsolete term for a {hard disk} {drive}.

	(1997-04-14)

av

	{avatar}

availability

	<systems> The degree to which a system suffers degradation or
	interruption in its service to the customer as a consequence of
	failures of one or more of its parts.

	One of the components of {RAS}.

	(2000-08-13)

Avalon/C++

	<language, parallel> A {concurrent} extension of {C++} with
	servers and transactions developed in 1986 for
	{fault-tolerant} {distributed} systems.  Avalon/C++ was
	influenced by {Argus}.

	["Camelot and Avalon: A Distributed Transaction Facility",
	J.L. Eppinger et al, Morgan Kaufmann 1990].

	(2002-01-13)

Avalon/Common LISP

	<language> A {LISP} dialect available as a prototype only.

	["Reliable Distributed Computing with Avalon/Common LISP",
	S.M. Clamen et al, CMU-CS-89-186 and Proc Intl Conf on
	Computer Languages, Mar 1990].

	(2002-02-03)

avatar

	1. <chat, virtual reality> An {image} representing a user in a
	multi-user {virtual reality} (or VR-like, in the case of
	{Palace}) space.

	2. (CMU, Tektronix) {root}, {superuser}.  There are quite a
	few {Unix} computers on which the name of the superuser
	account is "avatar" rather than "root".  This quirk was
	originated by a {CMU} hacker who disliked the term
	"superuser", and was propagated through an ex-CMU hacker at
	{Tektronix}.

	[{Jargon File}]

	(1997-09-14)

AVC

	{H.264}

average seek time

	<storage> The {mean} time it takes to move the {head} of a
	{disk drive} from one {track} to another, averaged over the
	source and destination cylinders.  Usually measured in
	{milliseconds} (ms).

	The average seek time gives a good measure of the speed of the
	drive in a multi-user environment where successive read/write
	request are largely uncorrelated.

	Ten ms is common for a {hard disk} and 200 ms for an
	eight-speed {CD-ROM}.

	(2007-03-16)

AverStar

	<company> The US software engineering company that developed
	{Hal}, under their former name, "Intermetrics".  Other
	products include {CS-4}, {Red}, {Mwave Developers Toolkit}
	({multimedia} for {IBM PC}), {cross-compilers} for {C} and
	{C++}; {Ada '83}, {Ada 95}, and {SAMeDL}.  AverStar also
	supply {client/server} systems; custom software applications
	and {turnkey} systems; independent verification and
	validation; {CAE} integration technology; languages and
	compilers: {Ada}, {C}, {C++}, {HDLs} ({MHDL}), {Modula},
	{SPL/1}.

	Address: Intermetrics, Inc., 733 Concord Avenue, Cambridge, MA
	02138, USA.  Telephone: +1 (617) 661 1840.  Fax: +1 (617) 868
	2843.

	Address: 7918 Jones Branch Drive, McLean, Va 22102, USA.
	Telephone: +1 (703) 827-2606.  Fax: +1 (703) 827-5560.

	Also Houston, TX, Huntington Beach, CA, Warminster, PA, and
	others.

	{AverStar Home (http://averstar.com/)}.

	(2003-02-17)

AVI

	{Audio Video Interleave}

Avon

	<language> A {dataflow} language.

	["AVON: A Dataflow Language", A. Deb, ICS 87, Second Intl Conf
	on Supercomputing, v.3, pp.9-19, ISI 1987].

	(1994-11-28)

AVS

	{Application Visualisation System}

aw

	<networking> The {country code} for Aruba.

	(1999-01-27)

AWE

	{Advanced WavEffect}

AWG

	{American Wire Gauge}

awk

	1. <tool, language> (Named from the authors' initials) An
	interpreted language included with many versions of {Unix} for
	massaging text data, developed by Alfred Aho, Peter Weinberger,
	and Brian Kernighan in 1978.  It is characterised by {C}-like
	syntax, declaration-free variables, {associative arrays}, and
	field-oriented text processing.

	There is a {GNU} version called {gawk} and other varients
	including {bawk}, {mawk}, {nawk}, {tawk}.  {Perl} was inspired
	in part by awk but is much more powerful.

	{Unix manual page}: awk(1).

	{netlib WWW
	(http://plan9.att.com/netlib/research/index.html)}.  {netlib
	FTP (ftp://netlib.att.com/netlib/research/)}.

	["The AWK Programming Language" A. Aho, B. Kernighan,
	P. Weinberger, A-W 1988].

	2. <jargon> An expression which is awkward to manipulate
	through normal {regexp} facilities, for example, one
	containing a {newline}.

	[{Jargon File}]

	(1995-10-06)

AWT

	{Abstract Window Toolkit}

aXe

	<tool> A {text editor} for the {X Window System}.  No longer
	maintained.

	(1998-03-13)

AXIOM

	<language> A commercially available subset of the
	{Scratchpad}, {symbolic mathematics} system from {IBM}.

	["Axiom - The Scientific Computing System", R. Jenks et al,
	Springer 1992].

	[Relationship with {AXIOM*}?]

	(1995-02-21)

axiom

	<logic> A {well-formed formula} which is taken to be true
	without proof in the construction of a {theory}.

	Compare: {lemma}.

	(1995-03-31)

AXIOM*

	<mathematics, tool> A {symbolic mathematics} system.

	{A#} is one component of AXIOM*.

	Version: 2.

	[Relationship with {AXIOM}?]

	(1995-02-21)

Axiomatic Architecture Description Language

	<language, architecture, parallel> (AADL) A language allowing
	concise modular specification of {multiprocessor}
	architectures from the compiler/operating-system interface
	level down to chip level.  AADL is rich enough to specify
	target architectures while providing a concise model for
	clocked {microarchitectures}.

	["AADL: A Net-Based Specification Method for Computer
	Architecture Design", W. Damm et al in Languages for Parallel
	Architectures, J.W. deBakker ed, Wiley, 1989].

	(2003-06-30)

axiomatic semantics

	<theory> A set of assertions about properties of a system and
	how they are effected by program execution.  The axiomatic
	semantics of a program could include pre- and post-conditions
	for operations.  In particular if you view the program as a
	state transformer (or collection of state transformers), the
	axiomatic semantics is a set of invariants on the state which
	the state transformer satisfies.

	E.g. for a function with the type:

		sort_list :: [T] -> [T]

	we might give the precondition that the argument of the
	function is a list, and a postcondition that the return value
	is a list that is sorted.

	One interesting use of axiomatic semantics is to have a
	language that has a {finitely computable} sublanguage that is
	used for specifying pre and post conditions, and then have the
	compiler prove that the program will satisfy those conditions.

	See also {operational semantics}, {denotational semantics}.

	(1995-11-09)

axiomatic set theory

	<theory> One of several approaches to {set theory}, consisting
	of a {formal language} for talking about sets and a collection
	of {axioms} describing how they behave.

	There are many different {axiomatisations} for set theory.
	Each takes a slightly different approach to the problem of
	finding a theory that captures as much as possible of the
	intuitive idea of what a set is, while avoiding the
	{paradoxes} that result from accepting all of it, the most
	famous being {Russell's paradox}.

	The main source of trouble in naive set theory is the idea
	that you can specify a set by saying whether each object in
	the universe is in the "set" or not.  Accordingly, the most
	important differences between different axiomatisations of set
	theory concern the restrictions they place on this idea (known
	as "comprehension").

	{Zermelo Fränkel set theory}, the most commonly used
	axiomatisation, gets round it by (in effect) saying that you can
	only use this principle to define subsets of existing sets.

	NBG (von Neumann-Bernays-Goedel) set theory sort of allows
	comprehension for all {formulae} without restriction, but
	distinguishes between two kinds of set, so that the sets
	produced by applying comprehension are only second-class sets.
	NBG is exactly as powerful as ZF, in the sense that any
	statement that can be formalised in both theories is a theorem
	of ZF if and only if it is a theorem of ZFC.

	MK (Morse-Kelley) set theory is a strengthened version of NBG,
	with a simpler axiom system.  It is strictly stronger than
	NBG, and it is possible that NBG might be consistent but MK
	inconsistent.

	{NF (http://math.boisestate.edu/~holmes/holmes/nf.html)} ("New
	Foundations"), a theory developed by Willard Van Orman Quine,
	places a very different restriction on comprehension: it only
	works when the formula describing the membership condition for
	your putative set is "stratified", which means that it could
	be made to make sense if you worked in a system where every
	set had a level attached to it, so that a level-n set could
	only be a member of sets of level n+1.  (This doesn't mean
	that there are actually levels attached to sets in NF).  NF is
	very different from ZF; for instance, in NF the universe is a
	set (which it isn't in ZF, because the whole point of ZF is
	that it forbids sets that are "too large"), and it can be
	proved that the {Axiom of Choice} is false in NF!

	ML ("Modern Logic") is to NF as NBG is to ZF.  (Its name
	derives from the title of the book in which Quine introduced
	an early, defective, form of it).  It is stronger than ZF (it
	can prove things that ZF can't), but if NF is consistent then
	ML is too.

	(2003-09-21)

Axiom of Choice

	<logic> (AC, or "Choice") An {axiom} of {set theory}:

	If X is a set of sets, and S is the union of all the elements
	of X, then there exists a function f:X -> S such that for all
	non-empty x in X, f(x) is an element of x.

	In other words, we can always choose an element from each set
	in a set of sets, simultaneously.

	Function f is a "choice function" for X - for each x in X, it
	chooses an element of x.

	Most people's reaction to AC is: "But of course that's true!
	From each set, just take the element that's biggest,
	stupidest, closest to the North Pole, or whatever".  Indeed,
	for any {finite} set of sets, we can simply consider each set
	in turn and pick an arbitrary element in some such way.  We
	can also construct a choice function for most simple {infinite
	sets} of sets if they are generated in some regular way.
	However, there are some infinite sets for which the
	construction or specification of such a choice function would
	never end because we would have to consider an infinite number
	of separate cases.

	For example, if we express the {real number} line R as the
	union of many "copies" of the {rational numbers}, Q, namely Q,
	Q+a, Q+b, and infinitely (in fact uncountably) many more,
	where a, b, etc. are {irrational numbers} no two of which
	differ by a rational, and

	  Q+a == {q+a : q in Q}

	we cannot pick an element of each of these "copies" without
	AC.

	An example of the use of AC is the theorem which states that
	the {countable} union of countable sets is countable.  I.e. if
	X is countable and every element of X is countable (including
	the possibility that they're finite), then the sumset of X is
	countable.  AC is required for this to be true in general.

	Even if one accepts the axiom, it doesn't tell you how to
	construct a choice function, only that one exists.  Most
	mathematicians are quite happy to use AC if they need it, but
	those who are careful will, at least, draw attention to the
	fact that they have used it.  There is something a little odd
	about Choice, and it has some alarming consequences, so
	results which actually "need" it are somehow a bit suspicious,
	e.g. the {Banach-Tarski paradox}.  On the other side, consider
	{Russell's Attic}.

	AC is not a {theorem} of {Zermelo Fränkel set theory} (ZF).
	Gödel and Paul Cohen proved that AC is independent of ZF,
	i.e. if ZF is consistent, then so are ZFC (ZF with AC) and
	ZF(~C) (ZF with the negation of AC).  This means that we
	cannot use ZF to prove or disprove AC.

	(2003-07-11)

Axiom of Comprehension

	<logic> An {axiom schema} of {set theory} which states:
	if P(x) is a {property} then

		{x : P}

	is a set.  I.e. all the things with some property form a set.

	Acceptance of this axiom leads to {Russell's Paradox} which is
	why {Zermelo set theory} replaces it with a restricted form.

	(1995-03-31)

axiom schema

	<logic> A {formula} in the language of an {axiomatic system},
	containing one or more.  These {metasyntactic variables} (or
	"{schematic variables}") that stand for terms or subformulae.
	An example is the {Axiom of Comprehension}.

	(2009-02-10)

AXLE

	<language> An early {string processing} language in which a
	program consists of an "assertion table" specifying patterns
	and an "imperative table" specifying replacements.

	["AXLE: An Axiomatic Language for String Transformations",
	K. Cohen et al, CACM 8(11):657-661, Nov 1965].

	(2009-02-10)

ayacc

	A {Yacc}-like {parser generator} from the {Irvine Research
	Unit in Software} written in {Ada} that produce {Ada} output.
	Comes with {aflex}.

	Version 1.2a.

	{(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)}.

	Mailing list: <irus-software-request@ics.uci.edu>.

	(1993-01-06)

AYT

	<chat> Are you there?

	(1996-03-09)

az

	<networking> The {country code} for Azerbaijan.

	(1999-01-27)

AZERTY

	{QWERTY}

B

	1. {byte}.

	2. <language> A systems language written by {Ken Thompson} in
	1970 mostly for his own use under {Unix} on the {PDP-11}.  B
	was later improved by Kerninghan(?) and Ritchie to produce
	{C}.  B was used as the systems language on {Honeywell}'s
	{GCOS-3}.

	B was, according to Ken, greatly influenced by {BCPL}, but the
	name B had nothing to do with BCPL.  B was in fact a revision
	of an earlier language, {bon}, named after Ken Thompson's
	wife, Bonnie.

	["The Programming Language B", S.C. Johnson & B.W. Kernighan,
	CS TR 8, Bell Labs (Jan 1973)].

	[Features?  Differences from C?]

	(1997-02-02)

	3. <language> A simple {interactive} {programming language}
	designed by {Lambert Meertens} and {Steven Pemberton}.  B was
	the predecessor of {ABC}.  B was the first published (and
	implemented) language to use indentation for block structure.

	{(ftp://ftp.uni-kl.de/pub/languages/B.tar.Z)}.

	["Draft Proposal for the B Language", Lambert Meertens, CWI,
	Amsterdam, 1981].

	[{(http://python-history.blogspot.com/2011/07/karin-dewar-indentation-and-colon.html)}].

	4. <language, specification> A specification language by
	Jean-Raymond Abrial of {B Core UK}, Magdalen Centre, Oxford
	Science Park, Oxford OX4 4GA.  B is related to {Z} and
	supports development of {C} code from specifications.  B has
	been used in major {safety-critical system} specifications in
	Europe, and is currently attracting increasing interest in
	industry.  It has robust, commercially available tool support
	for specification, design, proof and code generation.

	E-mail: <Ib.Sorensen@comlab.ox.ac.uk>.

	(1995-04-24)

b

	{bit} or maybe {byte} (B).

	(1996-11-03)

B-0

	<language> The original name of {FLOW-MATIC} from {Remington
	Rand}.  B-0 was used on the {UNIVAC} I or II about 1958.

	(1997-01-09)

B1FF

	{BIFF}

B1 security

	{Orange Book}

B2B

	{business to business}

B2 security

	{Orange Book}

B3 security

	{Orange Book}

b4

	<chat> before.

ba

	<networking> The {country code} for Bosnia and Herzegowina.

	(1999-01-27)

Baan

	<company> A provider of {enterprise resource planning} and
	{manufacturer resource planning} software.

	{(http://baan.com/)}.

	(1998-07-07)

Babbage

	<language> The structured {assembly language} for the {General
	Electric Company} 4xxx range of computers and their {OS4000}
	{operating system}.  It is strictly an assembler in that the
	generated code is relatively predictable but it can be written
	in a sufficiently structured manner, with indentation, control
	statements, function and procedure calls, to make the
	resultant source easy to read and manage.  Even with this
	visible structure however, it is important to remember that
	the assembly of the statement is done left to right.

	The British {videotext} system, {Prestel} is programmed in
	Babbage.

	[Datamation, 1980s].

	(2007-10-24)

Babbage, Charles

	{Charles Babbage}

babbling error

	<networking> An {Ethernet} node attempting to transmit more
	than 1518 data bytes - the largest allowed Ethernet {packet}.
	This is why the {Maximum Transmission Unit} for {IP} traffic
	on Ethernet is 1500.

	[Why 1518?]

	(1998-03-13)

BABEL

	1. A subset of {ALGOL 60}, with many {ALGOL W} extensions.

	["BABEL, A New Programming Language", R.S. Scowen, Natl Phys
	Lab UK, Report CCU7, 1969].

	2. Mentioned in The Psychology of Computer Programming,
	G.M. Weinberg, Van Nostrand 1971, p.241.

	3. A language based on {higher-order functions} and
	{first-order logic}.

	["Graph-Based Implementation of a Functional Logic Language",
	H. Kuchen et al, Proc ESOP 90, LNCS 432, Springer 1990,
	pp.271-290].

	["Logic Programming with Functions and Predicates: The
	Language BABEL", Moreno-Navarro et al, J Logic Prog 12(3) (Feb
	1992)].

	(1994-11-28)

BABT

	{British Approval Boards for Telecommunications}

Baby AT

	<hardware> The redesigned {AT} motherboard that had the same
	size as the {XT} motherboard had (8.5" x 11") and could thus
	fit into an XT case.  The original 12" x 13" AT motherboards
	are now largely forgotten.

	Compare {ATX}.

	(1997-02-20)

BABYLON

	A development environment for {expert systems}.  It includes
	{frames}, {constraints}, a {prolog}-like logic formalism, and
	a description language for diagnostic applications.  It
	requires {Common Lisp}.

	{(ftp://ftp.gmd.de/gmd/ai-research/Software/)}.

	(1995-02-08)

BACAIC

	Boeing Airplane Company Algebraic Interpreter Coding system.

	A pre-{Fortran} system on the {IBM 701} and {IBM 650}.

	(1995-02-08)

Bachman

	A proposed a style of {Entity-Relationship model} which
	differs from Chen's.

	(1995-02-08)

Bachman Information Systems

	<company> The company which merged with {CADRE} to form
	{Cayenne Software} in July 1996.

	(1998-02-06)

backbone

	<networking> The top level in a hierarchical {network}.  {Stub
	networks} and {transit networks} which connect to the same
	backbone are guaranteed to be interconnected.

	See also: {Internet backbone}.

	(1998-07-02)

backbone cabal

	<networking> A group of large-site administrators who pushed
	through the {Great Renaming} and reined in the chaos of
	{Usenet} during most of the 1980s.  The cabal {mailing list}
	disbanded in late 1988 after a bitter internal cat-fight.

	[{Jargon File}]

	(1994-11-28)

backbone site

	A key {Usenet}, {electronic mail} and/or {Internet} site; one
	that processes a large amount of third-party traffic,
	especially if it is the home site of any of the regional
	coordinators for the {Usenet} maps.  Notable backbone sites as
	of early 1993 include {uunet} and the mail machines at
	{Rutgers University}, UC Berkeley, {DEC}'s Western Research
	Laboratories, {Ohio State University} and the {University of
	Texas}.

	Compare {rib site}, {leaf site}.

	[{Jargon File}]

	(1994-11-28)

back door

	<security> (Or "{trap door}", "{wormhole}").  A hole in the
	security of a system deliberately left in place by designers
	or maintainers.  The motivation for such holes is not always
	sinister; some {operating systems}, for example, come out of
	the box with privileged accounts intended for use by field
	service technicians or the vendor's maintenance programmers.
	See also {iron box}, {cracker}, {worm}, {logic bomb}.

	Historically, back doors have often lurked in systems longer
	than anyone expected or planned, and a few have become widely
	known.  The infamous {RTM} worm of late 1988, for example,
	used a back door in the {BSD} Unix "sendmail(8)" {utility}.

	{Ken Thompson}'s 1983 Turing Award lecture to the {ACM}
	revealed the existence of a back door in early {Unix} versions
	that may have qualified as the most fiendishly clever security
	hack of all time.  The C compiler contained code that would
	recognise when the "login" command was being recompiled and
	insert some code recognizing a password chosen by Thompson,
	giving him entry to the system whether or not an account had
	been created for him.

	Normally such a back door could be removed by removing it from
	the source code for the compiler and recompiling the compiler.
	But to recompile the compiler, you have to *use* the compiler
	- so Thompson also arranged that the compiler would *recognise
	when it was compiling a version of itself*, and insert into
	the recompiled compiler the code to insert into the recompiled
	"login" the code to allow Thompson entry - and, of course, the
	code to recognise itself and do the whole thing again the next
	time around!  And having done this once, he was then able to
	recompile the compiler from the original sources; the hack
	perpetuated itself invisibly, leaving the back door in place
	and active but with no trace in the sources.

	The talk that revealed this truly moby hack was published as
	["Reflections on Trusting Trust", "Communications of the ACM
	27", 8 (August 1984), pp. 761--763].

	[{Jargon File}]

	(1995-04-25)

back-end

	<programming> Any software performing either the final stage
	in a process, or a task not apparent to the user.  A common
	usage is in a {compiler}.  A compiler's back-end generates
	{machine language} and performs optimisations specific to the
	machine's {architecture}.

	The term can also be used in the context of {network}
	applications.  E.g. "The back-end of the system handles
	{socket} protocols".

	Contrast {front end}.

	(1996-04-09)

Back End Generator

	<tool> (BEG) A {code generator} developed by H. Emmelmann et
	al at GMD, University Karlsruhe, Germany.  Its input language
	is Back End Generator Language (BEGL).

	{(ftp://gatekeeper.dec.com/pub/gmd/cocktail/beg)}.

	["BEG - A Generator for Efficient Back Ends", H. Emmelmann et
	al, SIGPLAN Notices 24(7):227-237 (Jul 1989)].

	["BEG - A Back End Generator - User Manual", H. Emmelmann,
	GMD, U Karlsruhe, 1990].

	[Summary?]

	(2000-12-16)

Back End Generator Language

	{Back End Generator}

backgammon

	See {bignum}, {moby}, {pseudoprime}.

	[{Jargon File}]

background

	1. <operating system> A task running in the background (a
	background task) is detached from the terminal where it was
	started (and often running at a lower priority); opposite of
	{foreground}.  This means that the task's input and output
	must be from/to files (or other processes).

	Nowadays this term is primarily associated with {Unix}, but it
	appears to have been first used in this sense on {OS/360}.

	Compare {amp off}, {batch}, {slopsucker}.

	2. <jargon> For a human to do a task "in the background" is to
	do it whenever {foreground} matters are not claiming your
	undivided attention, and "to background" something means to
	relegate it to a lower priority.  "For now, we'll just print a
	list of nodes and links; I'm working on the graph-printing
	problem in the background."  Note that this implies ongoing
	activity but at a reduced level or in spare time, in contrast
	to mainstream "back burner" (which connotes benign neglect
	until some future resumption of activity).  Some people prefer
	to use the term for processing that they have queued up for
	their unconscious minds (often a fruitful tack to take upon
	encountering an obstacle in creative work).

	(1996-05-28)

backing store

	1. <storage> Computer memory, usually {magnetic disks},
	storing data and programs.  Sections of this information can
	then be copied into the main memory ({RAM}) for processing.
	Backing store is cheaper but RAM is faster.  Such a hierarchy
	of memory devices allows a trade-off between performance and
	cost.

	2. <text> Character storage in memory or on disk, as opposed
	to displayed or printed characters.  This distinction is
	important where the visual ordering of characters differs from
	the order in which they are stored, e.g. bidirectional or
	non-spacing layout.

	In a {Unicode} encoding, text is stored in sequential order in
	the backing store.  Logical or backing store order corresponds
	to the order in which text is typed on the keyboard (after
	corrections such as insertions, deletions, and overtyping).  A
	text rendering process converts Unicode text in the backing
	store to readable text.

	["The Unicode Standard: Worldwide Character Encoding", Version
	1.0, Vol. 1. Addison-Wesley, 1991].

	(2001-02-25)

back link

	<hypertext> A {link} in one direction implied by the existence
	of an explicit link in the other direction.

	(1996-05-28)

backoff

	<networking> A {host} which has experienced a {collision} on a
	{network} waits for a amount of time before attempting to
	retransmit.  A random backoff minimises the probability that
	the same nodes will collide again, even if they are using the
	same backoff algorithm.  Increasing the backoff period after
	each collision also helps to prevent repeated collisions,
	especially when the network is heavily loaded.

	An example algorithm is {binary exponential backoff}.

	(1996-05-28)

BackOffice

	<software> A suite of network {server} software from
	{Microsoft} that includes {Windows NT} Server, BackOffice
	Server (for the integrated development, deployment, and
	management of BackOffice applications in departments, branch
	offices, and medium sized businesses); {Exchange Server};
	{Proxy Server}; {Site Server} for {intranet} publishing,
	management, and search; Site Server Commerce Edition For
	comprehensive {Internet commerce} transactions; {Small
	Business Server} for business operations, resource management,
	and customer relations; {SNA Server} for the integration of
	existing and new systems and data; {SQL Server} for scalable,
	reliable database and data-warehousing; {Systems Management
	Server} (SMS) for centralised change- and
	{configuration-management}.

	Latest version: 4.5, as of 2000-12-16.

	{(http://microsoft.com/backofficeserver/)}.

	(2000-12-16)

backplane

	<hardware, electronics> A {printed circuit board} with slots
	into which other cards are plugged.

	A backplane,is typically just a connector and does not usually
	have many active components on it.  This contrasts with a
	{motherboard}.

	{Designing a backplane
	(http://iec.org/online/tutorials/design_backplane/index.html)}.

	(2002-09-08)

backport

	<software> To make a feature from a later version of a piece
	of software available in an earlier version.  Backporting of
	features enables users of the older version to benefit from a
	feature without upgrading fully.

	(2003-12-18)

back-propagation

	(Or "backpropagation") A learning {algorithm} for modifying a
	{feed-forward} {neural network} which minimises a continuous
	"{error function}" or "{objective function}."
	Back-propagation is a "{gradient descent}" method of training
	in that it uses gradient information to modify the network
	weights to decrease the value of the error function on
	subsequent tests of the inputs.  Other gradient-based methods
	from {numerical analysis} can be used to train networks more
	efficiently.

	Back-propagation makes use of a mathematical trick when the
	network is simulated on a digital computer, yielding in just
	two traversals of the network (once forward, and once back)
	both the difference between the desired and actual output, and
	the derivatives of this difference with respect to the
	connection weights.

back quote

	<character> "`" {ASCII} code 96.  Common names: left quote;
	left single quote; open quote; {ITU-T}: grave accent; grave.
	Rare: backprime; {INTERCAL}: backspark; unapostrophe; birk;
	blugle; back tick; back glitch; push; {ITU-T}: opening single
	quotation mark; quasiquote.

	Back quote is used in {Unix} shells to invoke {command
	substitution}.

	(1996-11-26)

backronym

	<jargon> (Backward acronym) A word which has been turned into
	an acronym by inventing an expansion, rather than the other
	way around.  E.g. "{ping}".

	(2005-06-22)

backside cache

	<hardware, processor> An implementation of {secondary cache}
	memory that allows it to be directly accessed by the {CPU}.

	Backside cache is used by {Apple Computers, Inc.} in their
	{PowerPC G3} processor.  Previous PowerPC processors used the
	{system bus} to access both secondary cache and {main memory}.
	In the PowerPC G3 a dedicated bus handles only {CPU}/cache
	transactions.  This bus can operate faster than the system bus
	thus improving the overall performance of the processor.

	The term apparently derives from the relocation of the
	secondary cache from the {motherboard} to the processor card
	itself, i.e. on the backside of the processor card.

	(1998-09-10)

backslash

	<character> "\" {ASCII} code 92.  Common names: escape (from
	C/Unix); reverse slash; slosh; backslant; backwhack.  Rare:
	bash; {ITU-T}: reverse slant; reversed virgule; {INTERCAL}:
	backslat.

	Backslash is used to separate components in {MS-DOS}
	{pathnames}, and to introduce special character sequence in
	{C} and {Unix} strings, e.g. "\n" for newline.

	(2000-02-21)

backspace

	<character> (BS) {ASCII} code 8, Control-H.  The {control
	character} that should cause most output devices to move their
	current output position back to the previous character so that
	the next character output will replace (or overprint) it.
	Inputting a backspace (typically by pressing the backspace
	key) causes many systems to delete the character before the
	input cursor, though others use {delete} for this.

	See {twirling baton} for an imaginitive use of backspace.

	(2003-10-25)

backtick

	{back quote}

backtracking

	<algorithm> A scheme for solving a series of sub-problems each
	of which may have multiple possible solutions and where the
	solution chosen for one sub-problem may affect the possible
	solutions of later sub-problems.

	To solve the overall problem, we find a solution to the first
	sub-problem and then attempt to recursively solve the other
	sub-problems based on this first solution.  If we cannot, or
	we want all possible solutions, we backtrack and try the next
	possible solution to the first sub-problem and so on.
	Backtracking terminates when there are no more solutions to
	the first sub-problem.

	This is the algorithm used by {logic programming} languages
	such as {Prolog} to find all possible ways of proving a
	{goal}.  An optimisation known as "{intelligent backtracking}"
	keeps track of the dependencies between sub-problems and only
	re-solves those which depend on an earlier solution which has
	changed.

	Backtracking is one {algorithm} which can be used to implement
	{nondeterminism}.  It is effectively a {depth-first search} of
	a {problem space}.

	(1995-04-13)

backup

	<operating system> ("back up" when used as a verb) A spare
	copy of a file, file system, or other resource for use in the
	event of failure or loss of the original.

	The term commonly refers to a copy of the files on a
	computer's {disks}, made periodically and kept on {magnetic
	tape} or other removable medium (also called a "{dump}").

	This essential precaution is neglected by most new computer
	users until the first time they experience a {disk crash} or
	accidentally delete the only copy of the file they have been
	working on for the last six months.  Ideally the backup copies
	should be kept at a different site or in a fire safe since,
	though your hardware may be insured against fire, the data on
	it is almost certainly neither insured nor easily replaced.

	See also {backup software}, {differential backup},
	{incremental backup}, {full backup}.  Compare {archive},
	{source code management}.

	(2004-03-16)

Backup Domain Controller

	<networking> (BDC) A server in a {network} of {Microsoft
	Windows} computers that maintains a copy of the {SAM} database
	and handles access requests that the {Primary Domain
	Controller} (PDC) doesn't respond to.  There may be zero or
	more BDCs in a network.  They increase reliability and reduce
	load on the PDC.

	(2006-09-18)

backup pumpkin

	{pumpkin}

backup rotation

	<operating system> Any system for re-using {backup} media,
	e.g. {magnetic tape}.  One extreme would be to use the same
	media for every backup (e.g. copy disk A to disk B), the other
	extreme would be to use new media every time.  The trade-off
	is between the cost of buying and storing media and the
	ability to restore any version of any file.  One example is
	the {Grandfather, Father, Son} (GFS) scheme.

	(2004-10-08)

backup software

	<tool, software> {Software} for doing a {backup}, often
	included as part of the {operating system}.

	Backup software should provide ways to specify what files get
	backed up and to where.  It may include its own {scheduling}
	function to automate the procedure or, preferably, work with
	generic scheduling facilities.  It may include facilities for
	managing the backup media (e.g. maintaining an index of tapes)
	and for restoring files from backups.

	Examples are {Unix}'s {dump} command and {Windows}'s
	{ntbackup}.

	(2004-03-16)

Backus-Naur Form

	<language, grammar> (BNF, originally "Backus Normal Form") A
	formal {metasyntax} used to express {context-free grammars}.
	Backus Normal Form was renamed Backus-Naur Form at the
	suggestion of {Donald Knuth}.

	BNF is one of the most commonly used metasyntactic notations
	for specifying the {syntax} of programming languages, command
	sets, and the like.  It is widely used for language
	descriptions but seldom documented anywhere (how do you
	document a {metasyntax}?), so that it must usually be learned
	by osmosis (but see {RFC 2234}).

	Consider this BNF for a US postal address:

	 <postal-address> ::= <name-part> <street-address> <zip-part>

	 <personal-part> ::= <name> | <initial> "."

	 <name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>
		       | <personal-part> <name-part>

	 <street-address> ::= [<apt>] <house-num> <street-name> <EOL>

	 <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>

	This translates into English as: "A postal-address consists of
	a name-part, followed by a street-address part, followed by a
	zip-code part.  A personal-part consists of either a first
	name or an initial followed by a dot.  A name-part consists of
	either: a personal-part followed by a last name followed by an
	optional "jr-part" (Jr., Sr., or dynastic number) and
	end-of-line, or a personal part followed by a name part (this
	rule illustrates the use of recursion in BNFs, covering the
	case of people who use multiple first and middle names and/or
	initials).  A street address consists of an optional apartment
	specifier, followed by a street number, followed by a street
	name.  A zip-part consists of a town-name, followed by a
	comma, followed by a state code, followed by a ZIP-code
	followed by an end-of-line."

	Note that many things (such as the format of a personal-part,
	apartment specifier, or ZIP-code) are left unspecified.  These
	lexical details are presumed to be obvious from context or
	specified somewhere nearby.

	There are many variants and extensions of BNF, possibly
	containing some or all of the {regexp} {wild cards} such as
	"*" or "+".  {EBNF} is a common one.  In fact the example
	above isn't the pure form invented for the {ALGOL 60} report.
	"[]" was introduced a few years later in {IBM}'s {PL/I}
	definition but is now universally recognised.  {ABNF} is
	another extension.

	(1997-11-23)

Backus Normal Form

	{Backus-Naur Form}

backward analysis

	<theory> An analysis to determine properties of the inputs of
	a program from properties or context of the outputs.  E.g. if
	the output of this function is needed then this argument is
	needed.

	Compare {forward analysis}.

	(1997-11-23)

backward chaining

	<algorithm> An {algorithm} for proving a {goal} by recursively
	breaking it down into sub-goals and trying to prove these
	until {facts} are reached.  Facts are goals with no sub-goals
	which are therefore always true.  Backward training is the
	program execution mechanism used by most {logic programming}
	language like {Prolog}.

	Opposite: {forward chaining}.

	(2004-01-26)

backward combatability

	<humour> /bak'w*d k*m-bat'*-bil'*-tee/ (Play on "{backward
	compatibility}") A property of hardware or software revisions
	in which previous {protocols}, formats, layouts, etc. are
	irrevocably discarded in favour of "new and improved"
	protocols, formats and layouts, leaving the previous ones not
	merely deprecated but actively defeated.  (Too often, the old
	and new versions cannot definitively be distinguished, such
	that lingering instances of the previous ones yield crashes or
	other infelicitous effects, as opposed to a simple "version
	mismatch" message.)  A backward compatible change, on the
	other hand, allows old versions to coexist without crashes or
	error messages, but too many major changes incorporating
	elaborate backward compatibility processing can lead to
	extreme {software bloat}.

	See also {flag day}.

	[{Jargon File}]

	(2003-06-23)

backward compatibility

	<jargon> Able to share data or commands with older versions of
	itself, or sometimes other older systems, particularly systems
	it intends to supplant.  Sometimes backward compatibility is
	limited to being able to read old data but does not extend to
	being able to write data in a format that can be read by old
	versions.

	For example, {WordPerfect} 6.0 can read WordPerfect 5.1 files,
	so it is backward compatible.  It can be said that {Perl} is
	backward compatible with {awk}, because Perl was (among other
	things) intended to replace awk, and can, with a converter,
	run awk programs.

	See also: {backward combatability}.

	Compare: {forward compatible}.

	(2003-06-23)

backward compatible

	{backward compatibility}

backwards compatibility

	{backward compatibility}

backwards compatible

	{backward compatibility}

BAD

	/B-A-D/ Broken As Designed, a play on "{working as designed}",
	from {IBM}.  Failing because of bad design and misfeatures
	rather than because of bugs.

	[{Jargon File}]

	(2002-04-14)

Bad command or file name

	<operating system> The error message printed by {MS DOS} when
	it can't find a program or command to execute due to a typing
	error, incorrect PATH variable, or misplaced or missing
	executable.

	(1996-04-07)

Bad Thing

	<jargon> (From the 1930 Sellar & Yeatman parody "1066 And All
	That") Something that can't possibly result in improvement of
	the subject.  This term is always capitalised, as in
	"Replacing all of the 9600-baud modems with bicycle couriers
	would be a Bad Thing".

	Opposite: {Good Thing}.

	British correspondents confirm that {Bad Thing} and {Good
	Thing} (and probably therefore {Right Thing} and {Wrong
	Thing}) come from the book referenced in the etymology, which
	discusses rulers who were Good Kings but Bad Things.  This has
	apparently created a mainstream idiom on the British side of
	the pond.

	[{Jargon File}]

bag on the side

	An extension to an established hack that is supposed to add
	some functionality to the original.  Usually derogatory,
	implying that the original was being overextended and should
	have been thrown away, and the new product is ugly, inelegant,
	or bloated.  Also "to hang a bag on the side [of]".  "C++?
	That's just a bag on the side of C."  "They want me to hang a
	bag on the side of the accounting system."

baklava code

	<humour, programming> Code with too many layers.  Also known as
	Lasagne Code.

	[john-d-cook, {Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-09-14)

BAL

	{Basic Assembly Language}

balanced computing

	<jargon> Matching computer tools to job activities so that the
	computer system structure parallels the organisation structure
	and work functions.  Both {personal computers} and employees
	operate in a decentralised environment with monitoring of
	achievement of management objectives from centralised
	corporate systems.

	{(http://moultonco.com/balanced.htm)}.

	(1996-04-15)

balanced tree

	<algorithm> An optimisation of a {tree} which aims to keep
	equal numbers of items on each {subtree} of each node so as to
	minimise the maximum path from the root to any {leaf node}.
	As items are inserted and deleted, the tree is restructured to
	keep the nodes balanced and the search paths uniform.  Such an
	{algorithm} is appropriate where the overheads of the
	reorganisation on update are outweighed by the benefits of
	faster search.

	A {B-tree} is a kind of {balanced tree} that can have more
	than two subtrees at each node (i.e. one that is not
	restricted to being a {binary tree}).

	(2000-01-10)

BALGOL

	<language> {ALGOL} on {Burroughs 220}.

	[Sammet 1969, p. 174].

	(1996-04-15)

BALITAC

	Early system on IBM 650.  Listed in CACM 2(5):16 (May 1959).

BALM

	<language> (Block And List Manipulation) An extensible
	language, developed by Malcolm Harrison in 1970, with
	{LISP}-like features and {ALGOL}-like {syntax}, for {CDC
	6600}.

	["The Balm Programming Language", Malcolm Harrison, Courant
	Inst, May 1973].

	(2007-03-01)

balun

	<electronics> A transformer connected between a balanced
	source or load and an unbalanced source or load.  A balanced
	line has two conductors, with equal currents in opposite
	directions.  The unbalanced line has just one conductor; the
	current in it returns via a common ground or earth path.

	(1996-10-17)

bamf

	/bamf/ 1. [Old X-Men comics] Notional sound made by a person
	or object teleporting in or out of the hearer's vicinity.
	Often used in {virtual reality} (especially {MUD}) electronic
	{fora} when a character wishes to make a dramatic entrance or
	exit.

	2. The sound of magical transformation, used in virtual
	reality {fora}.

	[{Jargon File}]

Banach algebra

	<mathematics> An {algebra} in which the {vector space} is a
	{Banach space}.

	(1997-02-25)

Banach inverse mapping theorem

	<mathematics> In a {Banach space} the inverse to a
	{continuous} {linear mapping} is continuous.

	(1998-06-25)

Banach space

	<mathematics> A {complete} {normed} {vector space}.  Metric is
	induced by the norm: d(x,y) = ||x-y||.  Completeness means
	that every {Cauchy sequence} converges to an element of the
	space.  All finite-dimensional {real} and {complex} normed
	vector spaces are complete and thus are Banach spaces.

	Using absolute value for the norm, the real numbers are a
	Banach space whereas the rationals are not.  This is because
	there are sequences of rationals that converges to
	irrationals.

	Several theorems hold only in Banach spaces, e.g. the {Banach
	inverse mapping theorem}.  All finite-dimensional real and
	complex vector spaces are Banach spaces.  {Hilbert spaces},
	spaces of {integrable functions}, and spaces of {absolutely
	convergent series} are examples of infinite-dimensional Banach
	spaces.  Applications include {wavelets}, {signal processing},
	and radar.

	[Robert E. Megginson, "An Introduction to Banach Space
	Theory", Graduate Texts in Mathematics, 183, Springer Verlag,
	September 1998].

	(2000-03-10)

Banach-Tarski paradox

	<mathematics> It is possible to cut a solid ball into finitely
	many pieces (actually about half a dozen), and then put the
	pieces together again to get two solid balls, each the same
	size as the original.

	This {paradox} is a consequence of the {Axiom of Choice}.

	(1995-03-29)

banana label

	<jargon> The labels used on the sides of {macrotape} reels, so
	called because they were shaped roughly like blunt-ended
	bananas.  This term, like macrotapes themselves, is obsolete.

	[{Jargon File}]

	(2007-10-17)

banana phenomenon

	{banana problem}

banana problem

	<programming, humour> From the story of the little girl who
	said "I know how to spell "banana", but I don't know when to
	stop".  Not knowing where or when to bring a production to a
	close (compare {fencepost error}).  One may say "there is a
	banana problem" of an {algorithm} with poorly defined or
	incorrect termination conditions, or in discussing the
	evolution of a design that may be succumbing to {featuritis}
	(see also {creeping elegance}, {creeping featuritis}).

	{HAKMEM} item 176 describes a banana problem in a {Dissociated
	Press} implementation.  Also, see {one-banana problem} for a
	superficially similar but unrelated usage.

	(2010-03-20)

bandwidth

	<communications> The difference between the highest and lowest
	frequencies of a transmission channel (the width of its
	allocated band of frequencies).

	The term is often used erroneously to mean {data rate} or
	capacity - the amount of {data} that is, or can be, sent
	through a given communications circuit per second.

	[How is data capacity related to bandwidth?]

	[{Jargon File}]

	(2001-04-24)

bang

	1. A common spoken name for "!" (ASCII 33), especially when
	used in pronouncing a {bang path} in spoken hackish.  In
	{elder days} this was considered a {CMU}ish usage, with {MIT}
	and {Stanford} hackers preferring {excl} or {shriek}; but the
	spread of {Unix} has carried "bang" with it (especially via
	the term {bang path}) and it is now certainly the most common
	spoken name for "!".  Note that it is used exclusively for
	non-emphatic written "!"; one would not say "Congratulations
	bang" (except possibly for humorous purposes), but if one
	wanted to specify the exact characters "foo!" one would speak
	"Eff oh oh bang".

	See {pling}, {shriek}, {ASCII}.

	2. An exclamation signifying roughly "I have achieved
	enlightenment!", or "The dynamite has cleared out my brain!"
	Often used to acknowledge that one has perpetrated a {thinko}
	immediately after one has been called on it.

	[{Jargon File}]

	(1995-01-31)

bang on

	(Or "pound on").  To stress-test a piece of hardware or
	software: "I banged on the new version of the simulator all
	day yesterday and it didn't crash once.  I guess it is ready
	for release."

	[{Jargon File}]

bang path

	1. <communications> An old-style {UUCP} {electronic-mail
	address} naming a sequence of hosts through which a message
	must pass to get from some assumed-reachable location to the
	addressee (a "{source route}").  So called because each {hop}
	is signified by a {bang} sign (exclamation mark).  Thus, for
	example, the path

		...!bigsite!foovax!barbox!me

	directs people to route their mail to computer bigsite
	(presumably a well-known location accessible to everybody) and
	from there through the computer foovax to the account of user
	me on barbox.

	Before {autorouting mailers} became commonplace, people often
	published compound bang addresses using the { } convention
	(see {glob}) to give paths from *several* big computers, in
	the hope that one's correspondent might be able to get mail to
	one of them reliably. e.g.

		...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me

	Bang paths of 8 to 10 hops were not uncommon in 1981.
	Late-night dial-up UUCP links would cause week-long
	transmission times.  Bang paths were often selected by both
	transmission time and reliability, as messages would often get
	lost.

	2. <operating system> A {shebang}.

	(1998-05-06)

banner

	1. The title page added to printouts by most {print spoolers}.
	Typically includes user or account ID information in very
	large character-graphics capitals.  Also called a "burst
	page", because it indicates where to burst (tear apart)
	fanfold paper to separate one user's printout from the next.

	2. A similar printout generated (typically on multiple pages
	of fan-fold paper) from user-specified text, e.g. by a program
	such as {Unix}'s "banner".

	3. {splash screen}.

	[{Jargon File}]

	(1994-11-28)

Banyan

	<company> A {personal computer} networking company, best known
	for its "{Vines}" products for {local area networks}.

	Address: Westborough MA, USA.

	[More info?]

	(1995-03-01)

BAP

	1. <language> An early system used on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-28)

	2. <language> {Brain Aid Prolog}.

	(1995-03-07)

BAPI

	{Business Application Programming Interface}

bar

	1. <programming, convention> /bar/ The second {metasyntactic
	variable}, after {foo} and before {baz}.  E.g. "Suppose
	function FOO calls functions BAR..."

	2. Often appended to {foo} to produce {foobar}.

	[{Jargon File}]

	(1995-03-07)

Barbara Liskov

	<person> Professor Barbara Liskov was the first US woman to be
	awarded a PhD in computing, and her innovations can be found
	in every modern programming language.  She currently (2009)
	heads the Programming Methodology Group at the {Massachusetts
	Institute of Technology}.

	Professor Liskov's design innovations have, over the decades,
	made software more reliable and easier to maintain.  She has
	invented two computer progamming languages: {CLU}, an
	{object-orientated language}, and {Argus}, a {distributed
	programming language}.  Liskov's research forms the basis of
	modern programming languages such as {Java}, {C#} and {C++}.

	One of the biggest impacts of her work came from her
	contributions to the use of data abstraction, a method for
	organising complex programs.  See {Liskov substitution
	principle}.

	In June 2009 she will receive the {A. M. Turing Award}.

	{Barbara Liskov home (http://www.pmg.csail.mit.edu/~liskov/)}.

	(2009-03-11)

bar code

	<convention> A printed horizontal strip of vertical bars of
	varying widths, groups of which represent decimal digits and
	are used for identifying commercial products or parts.  Bar
	codes are read by a bar code reader and the code interpreted
	either through {software} or a {hardware} decoder.

	All products sold in open trade are numbered and bar-coded to
	a worldwide standard, which was introduced in the US in 1973
	and to the rest of the world in 1977.  The Uniform Code
	Council in the US, along with the international article
	numbering authority, EAN International, allocate blocks of
	unique 12 or 13-digit numbers to member companies through a
	national numbering authority.  In Britain this is the Article
	Number Association.  Most companies are allocated 100,000
	numbers that they can use to identify any of their products,
	services or locations.

	Each code typically contains a leading "quiet" zone, start
	character, data character, optional {check digit}, stop
	character and a trailing quiet zone.  The check digit is used
	to verify that the number has been scanned correctly.  The
	quiet zone could be white, red or yellow if viewed by a red
	scanner.  Bar code readers usually use visible red light with
	a wavelength between 632.8 and 680 nanometres.

	[Details of code?]

	(1997-07-18)

bare metal

	1. New computer hardware, unadorned with such snares and
	delusions as an {operating system}, an {HLL}, or even
	{assembler}.  Commonly used in the phrase "programming on the
	bare metal", which refers to the arduous work of {bit bashing}
	needed to create these basic tools for a new computer.  Real
	bare-metal programming involves things like building {boot
	PROMs} and {BIOS} chips, implementing basic {monitors} used to
	test {device drivers}, and writing the assemblers that will be
	used to write the compiler back ends that will give the new
	computer a real development environment.

	2. "Programming on the bare metal" is also used to describe a
	style of {hand-hacking} that relies on bit-level peculiarities
	of a particular hardware design, especially tricks for speed
	and space optimisation that rely on crocks such as overlapping
	instructions (or, as in the famous case described in {The
	Story of Mel}, interleaving of opcodes on a magnetic drum to
	minimise fetch delays due to the device's rotational latency).
	This sort of thing has become less common as the relative
	costs of programming time and computer resources have changed,
	but is still found in heavily constrained environments such as
	industrial embedded systems, and in the code of hackers who
	just can't let go of that low-level control.  See {Real
	Programmer}.

	In the world of personal computing, bare metal programming is
	often considered a {Good Thing}, or at least a necessary evil
	(because these computers have often been sufficiently slow and
	poorly designed to make it necessary; see {ill-behaved}).
	There, the term usually refers to bypassing the BIOS or OS
	interface and writing the application to directly access
	device registers and computer addresses.  "To get 19.2
	kilobaud on the serial port, you need to get down to the bare
	metal."  People who can do this sort of thing well are held in
	high regard.

	[{Jargon File}]

barf

	/barf/ [mainstream slang for "vomit"] 1.  Term of disgust.
	This is the closest hackish equivalent of the Val\-speak "gag
	me with a spoon". (Like, euwww!)  See {bletch}.

	2. To say "Barf!" or emit some similar expression of disgust.
	"I showed him my latest hack and he barfed" means only that he
	complained about it, not that he literally vomited.

	3. To fail to work because of unacceptable input, perhaps with
	a suitable error message, perhaps not.  Examples: "The
	division operation barfs if you try to divide by 0."  (That
	is, the division operation checks for an attempt to divide by
	zero, and if one is encountered it causes the operation to
	fail in some unspecified, but generally obvious, manner.) "The
	text editor barfs if you try to read in a new file before
	writing out the old one".

	See {choke}, {gag}.

	In Commonwealth Hackish, "barf" is generally replaced by
	"puke" or "vom".  {barf} is sometimes also used as a
	{metasyntactic variable}, like {foo} or {bar}.

	(1996-02-26)

barfmail

	<messaging> Multiple {bounce messages} accumulating to the
	level of serious annoyance, or worse.  The sort of thing that
	happens when an inter-network {mail gateway} goes down or
	misbehaves.

	[{Jargon File}]

	(1996-01-05)

barfulation

	/bar`fyoo-lay'sh*n/ Variation of {barf} used around the
	Stanford area.  An exclamation, expressing disgust.  On seeing
	some particularly bad code one might exclaim, "Barfulation!
	Who wrote this, Quux?"

	[{Jargon File}]

barfulous

	/bar'fyoo-l*s/ (Or "barfucious", /bar-fyoo-sh*s/) Said of
	something that would make anyone barf, if only for aesthetic
	reasons.

	(1995-02-22)

barnacle code

	<programming, humour> Any piece of {code} (usually a {static
	method}) that has been appended to a {class} where it doesn't
	logically belong, due to a lack of anywhere else to put it.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-08-10)

barney

	In Commonwealth hackish, "barney" is to {fred} as {bar} is to
	{foo}.  That is, people who commonly use "fred" as their first
	{metasyntactic variable} will often use "barney" second.  The
	reference is, of course, to Fred Flintstone and Barney Rubble
	in the Flintstones cartoons.

	[{Jargon File}]

	(1994-11-28)

Baroque

	An early {logic programming} language written by Boyer and
	Moore in 1972.

	["Computational Logic: Structure Sharing and Proof of program
	Properties", J. Moore, DCL Memo 67, U Edinburgh 1974].

	[{Jargon File}]

	(1995-02-22)

baroque

	Feature-encrusted; complex; gaudy; verging on excessive.  Said
	of hardware or (especially) software designs, this has many of
	the connotations of {elephantine} or monstrosity but is less
	extreme and not pejorative in itself.  "{Metafont} even has
	features to introduce random variations to its letterform
	output.  Now *that* is baroque!"

	See also {rococo}.

	[{Jargon File}]

	(1995-02-22)

barrel shifter

	<hardware> A hardware device that can shift or rotate a data
	word by any number of bits in a single operation.  It is
	implemented like a {multiplexor}, each output can be connected
	to any input depending on the shift distance.

	(1995-03-28)

barycentric

	<mathematics> Centre of gravity, {mean}.

	(2007-07-10)

base

	<mathematics> {radix}.

base 64

	<file format, algorithm> A file format using 64 {ASCII}
	characters to encode the six bit {binary data} values 0-63.

	To convert data to base 64, the first byte is placed in the
	most significant eight bits of a 24-bit buffer, the next in
	the middle eight, and the third in the least significant eight
	bits.  If there a fewer than three bytes to encode, the
	corresponding buffer bits will be zero.  The buffer is then
	used, six bits at a time, most significant first, as indices
	into the string
	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
	and the indicated character output.  If there were only one or
	two input bytes, the output is padded with two or one "="
	characters respectively.  This prevents extra bits being added
	to the reconstructed data.  The process then repeats on the
	remaining input data.

	Base 64 is used when transmitting binary data through
	text-only media such as {electronic mail}, and has largely
	replaced the older {uuencode} encoding.

	(2004-07-17)

baseband

	A transmission medium through which digital signals are sent
	without frequency shifting.  In general, only one
	communication channel is available at any given time.

	{Ethernet} is an example of a baseband network.

	See also {broadband}.

	(1995-02-22)

base class

	{superclass}

baseline

	{released version}

base memory

	<hardware, jargon> The lowest 640 {kilobytes} of memory in an
	{IBM PC}-compatible computer running {MS-DOS}.  Other PC
	{operating systems} can usually compensate and "ignore" the
	fact that there is a 640K limit to base memory.  This was put
	in place because the original {CPU} - the {Intel 8088} - could
	only access one {megabyte} of memory, and {IBM} wanted to
	reserve the upper 384KB for {device drivers}.  The {high
	memory area} (HMA) lies above 640KB and can be accessed on
	MS-DOS computers that have an {A20 handler}.

	(1997-05-30)

basename

	<file system> The name of a file which, in contrast to a
	{pathname}, does not mention any of the {directories}
	containing the file.  Examples:

		pathname	basename
		--------	--------
		/etc/hosts	hosts
		./alma		alma
		korte/a.a	a.a
		a.a		a.a

	See also {pathname}.

	(1996-11-23)

Base Technology

	<company> The company which developed and distributes {Liana}.

	{(http://BaseTechnology.com/)}.

	E-mail: Jack Krupansky <Jack@BaseTechnology.com> (owner).

	Address: Base Technology, Attn: Jack Krupansky, 1500 Mass. Ave. NW #114
	Washington, DC 2005, USA.
	800-786-9505

	Telephone: +1 800 876 9505.

	(1999-06-29)

bash

	Bourne Again SHell.  {GNU}'s {command interpreter} for {Unix}.
	Bash is a {Posix}-compatible {shell} with full {Bourne shell}
	syntax, and some {C shell} commands built in.  The Bourne
	Again Shell supports {Emacs}-style command-line editing, job
	control, functions, and on-line help.  Written by Brian Fox of
	{UCSB}.

	The latest version is 1.14.1.  It includes a {yacc} parser,
	the interpreter and documentation.

	{(ftp://ftp.gnu.org/bash-1.14.1.tar.gz)} or from a
	{GNU archive site}.  E-mail: <bug-bash@gnu.org>.
	{Usenet} newsgroup: {news:gnu.bash.bug}.

	(1994-07-15)

BASIC

	<language> Beginner's All-purpose Symbolic Instruction Code.
	A simple language originally designed for ease of programming
	by students and beginners.  Many dialects exist, and BASIC is
	popular on {microcomputers} with sound and graphics support.
	Most micro versions are {interactive} and {interpreted}.

	BASIC has become the leading cause of brain-damage in
	proto-hackers.  This is another case (like {Pascal}) of the
	cascading lossage that happens when a language deliberately
	designed as an educational toy gets taken too seriously.  A
	novice can write short BASIC programs (on the order of 10-20
	lines) very easily; writing anything longer is painful and
	encourages bad habits that will make it harder to use more
	powerful languages.  This wouldn't be so bad if historical
	accidents hadn't made BASIC so common on low-end micros.  As
	it is, it ruins thousands of potential wizards a year.

	Originally, all references to code, both {GOTO} and GOSUB
	(subroutine call) referred to the destination by its line
	number.  This allowed for very simple editing in the days
	before {text editors} were considered essential.  Just typing
	the line number deleted the line and to edit a line you just
	typed the new line with the same number.  Programs were
	typically numbered in steps of ten to allow for insertions.
	Later versions, such as {BASIC V}, allow {GOTO}-less
	{structured programming} with named {procedures} and
	{functions}, IF-THEN-ELSE-ENDIF constructs and {WHILE} loops
	etc.

	Early BASICs had no graphic operations except with graphic
	characters.  In the 1970s BASIC {interpreters} became standard
	features in {mainframes} and {minicomputers}.  Some versions
	included {matrix} operations as language {primitives}.

	A {public domain} {interpreter} for a mixture of {DEC}'s
	{MU-Basic} and {Microsoft Basic} is {here
	(ftp://oak.oakland.edu/pub/Unix-c/languages/basic/basic.tar-z)}.
	A {yacc} {parser} and {interpreter} were in the
	comp.sources.unix archives volume 2.

	See also {ANSI Minimal BASIC}, {bournebasic}, {bwBASIC},
	{ubasic}, {Visual Basic}.

	[{Jargon File}]

	(1995-03-15)

Basic Assembly Language

	<language> (BAL) What most people called {IBM 360} {assembly
	language}.

	See {ALC}.

	(1995-04-13)

BASIC AUTOCODER

	Early system on IBM 7070.  Listed in CACM 2(5):16 (May
	1959).

Basic COBOL

	<language> A subset of {COBOL} from {COBOL-60} standards.

	[Sammet 1969, p. 339].

	(1997-12-07)

Basic Encoding Rules

	<protocol, standard> (BER) {ASN.1} encoding rules for
	producing self-identifying and self-delimiting {transfer
	syntax} for data structures described in {ASN.1} notations.

	BER is an self-identifying and self-delimiting encoding
	scheme, which means that each data value can be identified,
	extracted and decoded individually.

	Huw Rogers once described BER as "a triumph of bloated theory
	over clean implementation".  He also criticises it as designed
	around bitstreams with arbitrary boundaries between data which
	can only be determined at a high level.

	Documents: {ITU-T} X.690, {ISO} 8825-1.

	See also {CER}, {DER}, {PER}.

	(1998-05-28)

Basic Fortran

	<language> A subset of {Fortran}.

	[Sammet 1969, p. 150].

	(1999-06-09)

Basic Input/Output System

	<operating system> (BIOS, ROM BIOS) The part of the {system
	software} of the {IBM PC} and compatibles that provides the
	lowest level interface to {peripheral} devices and controls
	the first stage of the {bootstrap} process, including
	installing the {operating system}.  The BIOS is stored in
	{ROM}, or equivalent, in every PC.  Its main task is to load
	and execute the operating system which is usually stored on
	the computer's {hard disk}, but may be loaded from {CD-ROM} or
	{floppy disk} at install time.

	In order to provide acceptable performance (e.g. for screen
	display), some software vendors access the routines in the
	BIOS directly, rather than using the higher level operating
	system calls.  Thus, the BIOS in the compatible computer must
	be 100% compatible with the IBM BIOS.

	As if that wasn't bad enough, many {application programs}
	bypass even the BIOS and address the screen hardware directly
	just as the BIOS does.  Consequently, {register} level
	compatibility is required in the compatible's display
	electronics, which means that it must provide the same storage
	locations and identification as the original IBM hardware.

	(1999-06-09)

Basic JOVIAL

	<language> A subset of {JOVIAL} written ca. 1965.

	[Sammet 1969, p.529].

	(1995-04-19)

Basic Language for Implementation of System Software

	<language> (BLISS, or allegedly, "System Software
	Implementation Language, Backwards") A language designed by
	W.A. Wulf at {CMU} around 1969.

	BLISS is an {expression language}.  It is {block-structured},
	and typeless, with {exception handling} facilities,
	{coroutines}, a {macro} system, and a highly {optimising
	compiler}.  It was one of the first non-{assembly languages}
	for {operating system} implementation.  It gained fame for its
	lack of a {goto} and also lacks implicit {dereferencing}: all
	symbols stand for addresses, not values.

	Another characteristic (and possible explanation for the
	backward acronym) was that BLISS fairly uniformly used
	backward {keywords} for closing blocks, a famous example being
	ELUDOM to close a MODULE.  An exception was BEGIN...END though
	you could use (...) instead.

	DEC introduced the NOVALUE keyword in their dialects to allow
	statements to not return a value.

	Versions: CMU {BLISS-10} for the PDP-10; CMU {BLISS-11},
	{BLISS-16}, DEC {BLISS-16C}, DEC {BLISS-32}, {BLISS-36} for
	{VAX}/{VMS}, {BLISS-36C}.

	["BLISS: A Language for Systems Programming", CACM
	14(12):780-790, Dec 1971].

	[Did the B stand for "Better"?]

	(1997-03-01)

Basic Multilingual Plane

	<text, standard> (BMP) The first plane defined in
	{Unicode}/{ISO 10646}, designed to include all {scripts} in
	active modern use.  The BMP currently includes the Latin,
	Greek, Cyrillic, Devangari, hiragana, katakana, and Cherokee
	scripts, among others, and a large body of mathematical,
	{APL}-related, and other miscellaneous {characters}.  Most of
	the {Han} {ideographs} in current use are present in the BMP,
	but due to the large number of ideographs, many were placed in
	the {Supplementary Ideographic Plane}.

	{Unicode home (http://unicode.org)}.

	(2002-03-19)

Basic Object Adapter

	<architecture> (BOA) Part of the {CORBA} architecture.

	[Details?]

	(2004-06-23)

Basic Object System

	<programming> (BOS) A {C}-callable library that implements the
	notion of {object} and which uses {Tcl} as its {interpreter}
	for interpreted {methods} (you can have "compiled" methods in
	C, and mix compiled and interpreted methods in the same
	object, plus lots more).  You can subclass and mix in existing
	objects using BOS to extend, among other things, the set of
	{tk} {widgets}.  BOS is a {class}-free object system, also
	called a prototype-based object system; it is modelled loosely
	on the {Self} system from {Stanford University}.

	Version 1.31 by Sean Levy <Sean.Levy@cs.cmu.edu>.

	{(ftp://barkley.berkeley.edu/tcl)}.

	(1992-08-21)

Basic Operating System

	<operating system> (BOS) An early [when?] {IBM} {operating
	system}.

	According to folklore, BOS was the predecessor to {TOS} on the
	{IBM 360} and it was {IPL}'d from a {card reader}.  It may
	have been intended for very small 360's with no disks and
	limited tape drives.

	BOS died out really early [when?] as disks such as the 2311
	and 2314 became common with the {IBM 360}, whereas disks had
	been a real luxury on the {IBM 7090}.

	(1999-01-29)

Basic Programming Support

	<operating system, tool> (BPS, colloquially: Barely
	Programming Support) A suite of utility routines from {IBM} to
	perform very simple procedures like formatting a disk or
	labelling a tape.  BPS was only available on {punched cards}.

	[Dates?]

	(1998-07-08)

Basic Rate Interface

	<communications> (BRI, 2B+D, 2B1D) An {Integrated Services
	Digital Network} channel consisting of two 64 {kbps} "bearer"
	(B) channels and one 16 kbps "delta" (D) channel, giving a
	total data rate of 144 kbps.  The B channels are used for
	voice or user data, and the D channel is used for control and
	signalling and/or {X.25} {packet} networking.  BRI is the kind
	of ISDN interface most likely to be found in residential
	service.

	(2002-01-13)

Basic Service Set

	<networking> (BSS) A {wireless local area network} and all the
	wireless devices (e.g. PCs and laptops) that are associated
	with it.  A BSS may or may not include an {access point} and
	is identified by a {BSSID}.

	(2009-05-12)

BASIC V

	The version of the {Basic} programming language which comes on
	{ROM} in {Acorn}'s {RISC} computers: the {Archimedes} range
	and the {RiscPC}.  It features REPEAT and WHILE loops,
	multi-line IF statements, procedures and functions, local
	variables, error handling, {system calls} and a built-in
	{assembler}.

	(1995-01-05)

Bastard Operator From Hell

	<humour> (BOFH) A rogue {network operator} character invented
	by Simon Travaglia <simontrav@hotmail.com>, regularly featured
	in "Computing" and "DATAMATION" magazine.

	See also: {Dilbert}.

	{(http://angelfire.com/bc/simont/index.html)}.

	(1999-09-17)

bastion host

	{proxy gateway}

batch

	{batch processing}

batch file

	<operating system> (Or script) A {text file} containing
	{operating system} commands which are executed automatically
	by the {command-line interpreter}.  In {Unix}, this is called
	a "{shell script}" since it is the Unix {shell} which includes
	the {command-line interpreter}.  Batch files can be used as a
	simple way to combine existing commands into new commands.

	In {Microsoft Windows}, batch files have {filename extension},
	".bat" or ".cmd".  A special example is {autoexec.bat} which
	{MS-DOS} runs when Windows starts.

	(2009-09-14)

batch processing

	<programming> A system that takes a sequence (a "batch") of
	commands or jobs, executes them and returns the results, all
	without human intervention.  This contrasts with an
	{interactive} system where the user's commands and the
	computer's responses are interleaved during a single run.

	A batch system typically takes its commands from a disk file
	(or a set of {punched cards} or {magnetic tape} in the
	{mainframe} days) and returns the results to a file (or prints
	them).  Often there is a queue of jobs which the system
	processes as resources become available.

	Since the advent of the {personal computer}, the term "batch"
	has come to mean automating frequently performed tasks that
	would otherwise be done interactively by storing those
	commands in a "{batch file}" or "{script}".  Usually this file
	is read by some kind of {command interpreter} but batch
	processing is sometimes used with GUI-based applications that
	define script equivalents for menu selections and other mouse
	actions.  Such a recorded sequence of GUI actions is sometimes
	called a "{macro}".  This may only exist in memory and may not
	be saved to disk whereas a batch normally implies something
	stored on disk.

	Unix {cron} jobs and Windows scheduled tasks are batch
	processing started at a predefined time by the system whereas
	mainframe batch jobs were typically initiated by an operator
	loading them into a queue.

	(2009-09-14)

bathtub curve

	Common term for the curve (resembling an end-to-end section of
	one of those claw-footed antique bathtubs) that describes the
	expected failure rate of electronics with time: initially
	high, dropping to near 0 for most of the system's lifetime,
	then rising again as it "tires out".  See also {burn-in
	period}, {infant mortality}.

	[{Jargon File}]

baud

	<communications, unit> /bawd/ (plural "baud") The unit in
	which the information carrying capacity or "{signalling rate}"
	of a communication channel is measured.  One baud is one
	symbol (state-transition or level-transition) per second.
	This coincides with bits per second only for two-level
	{modulation} with no {framing} or {stop bits}.

	A symbol is a unique state of the communication channel,
	distinguishable by the receiver from all other possible
	states.  For example, it may be one of two voltage levels on a
	wire for a direct digital connection or it might be the phase
	or frequency of a carrier.

	The term "baud" was originally a unit of telegraph signalling
	speed, set at one {Morse code} dot per second.  Or, more
	generally, the reciprocal of the duration of the shortest
	signalling element.  It was proposed at the International
	Telegraph Conference of 1927, and named after {J.M.E. Baudot}
	(1845-1903), the French engineer who constructed the first
	successful teleprinter.

	The UK {PSTN} will support a maximum rate of 600 baud but each
	baud may carry between 1 and 16 bits depending on the coding
	(e.g. {QAM}).

	Where data is transmitted as {packets}, e.g. characters, the
	actual "data rate" of a channel is

		R D / P

	where R is the "raw" rate in bits per second, D is the number
	of data bits in a packet and P is the total number of bits in
	a packet (including packet overhead).

	The term "baud" causes much confusion and is usually best
	avoided.  Use "bits per second" (bps), "bytes per second" or
	"characters per second" (cps) if that's what you mean.

	(1998-02-14)

baud barf

	<jargon> /bawd barf/ The garbage one gets on the {display
	screen} when using a {modem} connection with some {protocol}
	setting (especially line speed) incorrect, or when someone
	picks up a voice extension on the same line, or when really
	bad line noise disrupts the connection.  Baud barf is not
	completely {random}, by the way; hackers with a lot of
	serial-line experience can usually tell whether the device at
	the other end is expecting a higher or lower speed than the
	{terminal} is set to.  *Really* experienced ones can identify
	particular speeds.

	[{Jargon File}]

	(1996-02-22)

Baudot

	{Jean-Maurice-Émile Baudot}

Baudotbetical order

	<algorithm> /baw do bet' i k*l/ Sorted into an order where
	numerics and special characters are intermixed by sorting a 5-bit
	{Baudot code} file ignoring the numeric shift and unshift codes.

	(1997-02-11)

Baudot code

	<communications> (For etymology, see {baud}) A {character set}
	predating {EBCDIC} and used originally and primarily on {paper
	tape}.  Use of Baudot reportedly survives in {TDDs} and some
	HAM radio applications.

	In Baudot, characters are expressed using five {bits}.  Baudot
	uses two code sub-sets, the "letter set" (LTRS), and the
	"figure set" (FIGS).  The FIGS character (11011) signals that
	the following code is to be interpreted as being in the FIGS
	set, until this is reset by the LTRS (11111) character.

	 binary  hex    LTRS   FIGS
	 --------------------------
	  00011  03      A      -
	  11001  19      B      ?
	  01110  0E      C      :
	  01001  09      D      $
	  00001  01      E      3
	  01101  0D      F      !
	  11010  1A      G      &
	  10100  14      H      #
	  00110  06      I      8
	  01011  0B      J      BELL
	  01111  0F      K      (
	  10010  12      L      )
	  11100  1C      M      .
	  01100  0C      N      ,
	  11000  18      O      9
	  10110  16      P      0
	  10111  17      Q      1
	  01010  0A      R      4
	  00101  05      S      '
	  10000  10      T      5
	  00111  07      U      7
	  11110  1E      V      ;
	  10011  13      W      2
	  11101  1D      X      /
	  10101  15      Y      6
	  10001  11      Z      "
	  01000  08      CR     CR
	  00010  02      LF     LF
	  00100  04      SP     SP
	  11111  1F      LTRS   LTRS
	  11011  1B      FIGS   FIGS
	  00000  00      [..unused..]

	Where CR is {carriage return}, LF is {linefeed}, BELL is the
	{bell}, SP is space, and STOP is the stop character.

	Note: these bit values are often shown in inverse order,
	depending (presumably) which side of the {paper tape} you were
	looking at.

	Local implementations of Baudot may differ in the use of #,
	STOP, BELL, and '.

	(1997-01-30)

baud rate

	{baud}

bawk

	An {Awk}-like pattern-matching language by Bob Brodt,
	distributed with {MINIX}.

	(1994-11-28)

bay

	<hardware> (As in an aeroplane "cargo bay") A space in a
	cabinet into which a device of a certain size can be
	physically mounted and connected to power and data.

	Common examples are a "drive bay" into which a {disk drive}
	(usually either 3.5 inch or 5.25 inch) can be inserted or the
	space in a {docking station} where you insert a {notebook
	computer} or {laptop computer} to work as a {desktop computer}
	or to charge their batteries, print or connect to the office
	network, etc.

	(1999-01-11)

baz

	/baz/ The third {metasyntactic variable} "Suppose we have
	three functions: FOO, BAR, and BAZ.  FOO calls BAR, which
	calls BAZ..." (See also {fum}).  Occasionally appended to
	{foo} to produce "foobaz".

	Early versions of the Hacker Jargon dictionary derived "baz"
	as a Stanford corruption of {bar}.  However, Pete Samson
	(compiler of the {TMRC} lexicon) reports it was already
	current when he joined TMRC in 1958.  He says "It came from
	"Pogo".  Albert the Alligator, when vexed or outraged, would
	shout "Bazz Fazz!" or "Rowrbazzle!"  The club layout was said
	to model the (mythical) New England counties of Rowrfolk and
	Bassex (Rowrbazzle mingled with Norfolk/Suffolk/Middlesex/
	Essex)."

	[{Jargon File}]

	(2008-06-30)

bb

	<networking> The {country code} for Barbados.

	(1999-01-27)

BBC

	{British Broadcasting Corporation}

BBC Micro

	{BBC Microcomputer}

BBC Microcomputer

	A series of {6502}-based personal computers launched by {Acorn
	Computers} Ltd. in January 1982, for use in the British
	Broadcasting Corporation's educational programmes on
	computing.  The computers are noted for their reliability (many
	are still in active service in 1994) and both hardware and
	software were designed for easy expansion.  The 6502-based
	computers were succeeded in 1987 by the Acorn {Archimedes}
	family.

	{xbeeb} is a BBC Micro {emulator} for {Unix} and {X11}.

BBC Networking Club

	<body> A {bulletin board} run by the {British Broadcasting
	Corporation} Education department from April 1994 to 30 Nov
	1995.

	(1997-01-20)

BBL

	<chat> (I will) be back later.

BBN Butterfly

	<computer> A {supercomputer} developed at {BBN Technologies},
	named after the "butterfly" multi-stage switching network
	around which it was built.  It could have up to 512 {CPUs}
	connected to allow every CPU access to every other CPU's
	memory, albeit with about 15 times the latency than for its
	own.  The earlier GP-1000 models used up to 256 {Motorola
	68020s}.  The later TC-2000 models used up to 512 {Motorola
	88100s}.

	Language developed for, or ported to, the BBN Butterfly were
	{Butterfly Common LISP}, {Butterfly Scheme}, {Delirium}, and
	{MultiScheme}.

	{(http://paralogos.com/DeadSuper/Misc/BBN.html)}.

	(2003-11-10)

BBN Technologies

	<company> A company, originally known as Bolt, Beranek and
	Newman, Inc. (BBN), based in Cambridge, Massachusetts, USA.

	BBN were awarded the original contract to build the {ARPANET}
	and have been extensively involved in {Internet} development.
	They are responsible for managing {NNSC}, {CSNET}, and
	{NEARnet}.

	The language {LOGO} was developed at BBN, as was the {BBN
	Butterfly} supercomputer.

	{BBN Home (http://bbn.com/)}.

	(2003-11-10)

bboard

	{bulletin board system}

BBS

	{bulletin board system}

BC

	An {arbitrary precision} numeric processing language with
	{C}-like {syntax}.  Traditionally implemented as a front-end
	to {DC}.  There is a {GNU} version called {GNU BC}.

	{Unix manual page}: bc(1).

BCBF

	{Branch on Chip Box Full}

BCC

	1. {Blind Carbon Copy}.

	2. {Block Check Character}.

	3. {Blocked Call Cleared}.

BCD

	{binary coded decimal}

BCL

	The successor to {Atlas Commercial Language}.

	["The Provisional BCL Manual", D. Hendry, U London 1966].

BC NELIAC

	Version of NELIAC, post 1962.  Sammet 1969, p.197.

BCNU

	Be seein' you.

BCPL

	<language> (Basic CPL) A British systems language developed by
	Richards in 1969 and descended from {CPL} (Combined
	Programming Language).  BCPL is low-level, typeless and
	block-structured, and provides only one-dimensional {arrays}.
	Case is not significant, but conventionally reserved words
	begin with a capital.  Flow control constructs include:
	If-Then, Test-Then-Else, Unless-Do, While-Do, Until-Do,
	Repeat, Repeatwhile, Repeatuntil, For-to-By-Do, Loop, Break
	and Switchon-Into-Case-Default-Endcase.  BCPL has conditional
	expressions, pointers, and manifest constants.  It has both
	procedures: 'Let foo(bar) Be command' and functions: 'Let
	foo(bar) = expression'.  'Valof $(..Resultis..$)' causes a
	compound command to produce a value.  Parameters are
	{call-by-value}.

	Program segments communicate via the global vector where
	system and user variables are stored in fixed numerical
	locations in a single array.

	The first BCPL {compiler} was written in {AED}.  BCPL was used
	to implement the {TRIPOS} {operating system}, which was
	subsequently reincarnated as {AmigaDOS}.

	["BCPL - The Language and its Compiler", Martin Richards &
	Colin Whitby-Stevens, Cambridge U Press 1979].

	See {OCODE}, {INTCODE}.

	Oxford BCPL differed slightly: Test-Ifso-Ifnot, and section
	brackets in place of $( $).

	The original {INTCODE} {interpreter} for BCPL is available for
	{Amiga}, {Unix}, {MS-DOS}
	{(ftp://wuarchive.wustl.edu/systems/amiga/programming/languages/BCPL/)}.

	A BCPL compiler {bootstrap} kit with an {INTCODE}
	{interpreter} in {C} was written by Ken Yap
	<ken@syd.dit.csiro.au>.

	(1995-03-26)

BCS

	1. {British Computer Society}.

	2. {Binary Compatibility Standard}.

bd

	<networking> The {country code} for Bangladesh.

	(1999-01-27)

BDC

	{Backup Domain Controller}

BDL

	{Block Diagram Compiler}

BDPA

	{Black Data Processing Associates}

be

	<networking> The {country code} for Belgium.

	(1999-01-27)

BEA

	Basic programming Environment for interactive-graphical
	Applications, from Siemens-Nixdorf.

beam

	<jargon> (From Star Trek Classic's "Beam me up, Scotty!") To
	transfer {softcopy} of a file electronically; most often in
	combining forms such as "beam me a copy" or "beam that over to
	his site".  Compare {blast}, {snarf}, {BLT}.

	[{Jargon File}]

	(2009-06-09)

beamer

	<video, hardware, communications> A personal video station
	(PVS) that adds video to standard telephone lines at no
	additional cost.

	(1999-10-24)

beam search

	<algorithm> An optimisation of the {best first search} {graph
	search algorithm} where only a predetermined number of paths
	are kept as candidates.  The number of paths is the "width of
	the beam".  If more paths than this are generated, the worst
	paths are discarded.  This reduces the space requirements of
	best first search.

	(2007-11-03)

bean

	{JavaBeans}

beanie key

	{feature key}

bearer channel

	<communications> Originally, a channel suited for carrying one
	voice-grade connection.  Typically a {DS0} channel.

	Compare {data channel}.

	(1997-03-7)

bear paw

	<jargon> The {Vulcan nerve pinch} for {SGI} computers.  The
	five key keyboard combination <left Ctrl><left Alt><left
	Shift><{numeric keypad} /><F12> resets the graphics subsystem,
	including the {window manager}.

	(1996-10-28)

Beats the shit outa me

	<exclamation> (BSOM) "I don't understand it".  The last thing
	you say as you walk out on someone whose system you can't fix.

	(1998-06-15)

Bebo

	<web> A {social networking} website based in
	California, USA.

	{Bebo Home (http://bebo.com/)}.

	(2006-11-20)

BeBOP

	<language> A language combining sequential and parallel {logic
	programming}, {object-oriented} and {meta-level programming}.
	Both {don't know nondeterminism} and {stream AND-parallelism}.
	{Prolog} {theories} are first order entities and may be
	updated or passed in messages.  BeBOP is implemented by
	translation to {NU-Prolog} and {PNU-Prolog}.

	{(ftp://munnari.oz.au/pub/bebop.tar.Z)}.

	E-mail: Andrew Davidson <ad@cs.mu.oz.au>.

	(1996-10-27)

BeBox

	<computer> A {microcomputer} produced by {Be Inc}, containing
	between two and eight {PowerPCs} (the initial model has two
	{PPC} 603s). The BeBox can take standard {IBM PC}
	{peripherals}, such as {ISA} and {PCI} cards, {IDE} and {SCSI}
	disks, and a standard {PS/2} keyboard.

	Newsgroup: {news:comp.sys.be}.

	{(http://be.com/)}.

	[Dates?]

	(1996-10-05)

BEDO

	{Burst Extended Data Out DRAM}

Bedrock

	A {C++} {class} library for {Macintosh} user interface
	portability.

beep

	{bell}

beeper

	{pager}

BEG

	{Back End Generator}

@Begin

	<text> The {Scribe} equivalent of {\begin}.

	[{Jargon File}]

\begin

	<text, chat> The {LaTeX} command used with \end to delimit an
	environment within which the text is formatted in a certain
	way.  E.g. \begin{table}...\end{table}.

	Used humorously in writing to indicate a context or to remark
	on the surrounded text.  For example:

	 \begin{flame}
	 Predicate logic is the only good programming
	 language.  Anyone who would use anything else
	 is an idiot.  Also, all computers should be
	 tredecimal instead of binary.
	 \end{flame}

	{Scribe} users at {CMU} and elsewhere used to use @Begin/@End
	in an identical way (LaTeX was built to resemble Scribe).  On
	{Usenet}, this construct would more frequently be rendered as
	"<FLAME ON>" and "<FLAME OFF>" (a la {HTML}), or "#ifdef
	FLAME" and "#endif FLAME" (a la {C preprocessor}).

	(1998-09-21)

BEGL

	{Back End Generator}

beige toaster

	{Macintosh}

Be Inc

	<company> The company that produced the {BeBox}, founded by
	Jean-Louis Gassee, former product chief at {Apple}.

	(1996-10-05)

BEL

	{bell}

belief revision

	<artificial intelligence> The area of {theory change} in which
	preservation of the information in the theory to be changed
	plays a key role.

	A fundamental issue in belief revision is how to decide what
	information to retract in order to maintain consistency, when
	the addition of a new belief to a theory would make it
	inconsistent.  Usually, an ordering on the sentences of the
	theory is used to determine priorities among sentences, so
	that those with lower priority can be retracted.  This
	ordering can be difficult to generate and maintain.

	The postulates of the {AGM Theory for Belief Revision}
	describe minimal properties a revision process should have.

	[Better definition?]

	(1995-03-20)

BELL

	An early system on the {IBM 650} and {Datatron 200} series.

	Versions: BELL L2, BELL L3.

	[Listed in CACM 2(5):16 (May 1959)].

	[Is Datatron version the same?]

	(1994-12-06)

Bell

	<company> {Bell Telephone} or {Bell Laboratories}.

	(1997-04-07)

bell

	<character> {ASCII} 7, ASCII {mnemonic} "BEL", the {character
	code} which prodces a standard audibile warning from the
	computer or {terminal}.  In the {teletype} days it really was a
	bell, since the advent of the {VDU} it is more likely to be a
	sound sample (e.g. the sound of a bell) played through a
	loudspeaker.

	Also called "G-bell", because it is typed as Control-G.

	The term "beep" is preferred among some {microcomputer}
	hobbyists.

	Compare {feep}, {visible bell}.

	(1997-04-08)

Bell 103

	<protocol> The original variant of {V.21} created by {AT&T}
	when they had a telephone system monopoly in the USA.

	(1995-02-02)

Bell Communications Research, Inc

	(Bellcore) The research laboratory for the seven regional
	{Bell Telephone} companies in the USA that were created by the
	divestiture of {AT&T} in 1984.

	It can be compared to {Bell Laboratories}, for which many
	Bellcore employees used to work.  Currently jointly owned by
	the seven baby bells (as they are called), there are rumours
	that it is to be sold by its current owners to become an
	independent research laboratory

	Its headquarters are in Livingstone, New Jersey.  It has
	offices in Morristown, Lincroft, and Piscataway, all in
	New Jersey, USA.

	Telephone: +1 (201) 74 3000, +1 (800) 521 CORE.

	(1994-12-06)

Bellcore

	{Bell Communications Research, Inc.}

bell curve

	{normal distribution}

Bell Laboratories

	One of {AT&T}'s research sites, in Murray Hill, New Jersey,
	USA.  It was the birthplace of the {transistor}, {Unix}, {C}
	and {C++} and the current home of research on {Plan 9} and
	{ODE}.

	{AT&T Research (http://research.att.com/)}.

	{(ftp://ftp.research.att.com/)}.

	{netlib} sources {(ftp://netlib.att.com)}.

	(1994-11-17)

Bell Labs

	{Bell Laboratories}

bells and whistles

	<jargon> (By analogy with the "toyboxes" on theatre organs).
	Features added to a program or system to make it more
	{flavourful} from a hacker's point of view, without
	necessarily adding to its utility for its primary function.
	Distinguished from {chrome}, which is intended to attract
	users.  "Now that we've got the basic program working, let's
	go back and add some bells and whistles."  No one seems to
	know what distinguishes a bell from a whistle.

	[{Jargon File}]

	(2007-04-03)

bells, whistles, and gongs

	A standard elaborated form of {bells and whistles}; typically
	said with a pronounced and ironic accent on the "gongs".

benchmark

	<benchmark> A standard program or set of programs which can be
	run on different computers to give an inaccurate measure of
	their performance.

	"In the computer industry, there are three kinds of lies:
	lies, damn lies, and benchmarks."

	A benchmark may attempt to indicate the overall power of a
	system by including a "typical" mixture of programs or it may
	attempt to measure more specific aspects of performance, like
	graphics, I/O or computation (integer or {floating-point}).
	Others measure specific tasks like {rendering} polygons,
	reading and writing files or performing operations on
	matrices.  The most useful kind of benchmark is one which is
	tailored to a user's own typical tasks.  While no one
	benchmark can fully characterise overall system performance,
	the results of a variety of realistic benchmarks can give
	valuable insight into expected real performance.

	Benchmarks should be carefully interpreted, you should know
	exactly which benchmark was run (name, version); exactly what
	configuration was it run on (CPU, memory, compiler options,
	single user/multi-user, peripherals, network); how does the
	benchmark relate to your workload?

	Well-known benchmarks include {Whetstone}, {Dhrystone},
	{Rhealstone} (see {h}), the {Gabriel benchmarks} for {Lisp},
	the {SPECmark} suite, and {LINPACK}.

	See also {machoflops}, {MIPS}, {smoke and mirrors}.

	{Usenet} newsgroup: {news:comp.benchmarks}.

	{Tennessee BenchWeb (http://netlib.org/benchweb/)}.

	[{Jargon File}]

	(2002-03-26)

Bend Over, Here It Comes Again

	<humour> (BOHICA) An utterance of frustration by computer
	support personnel who anticipate being told (usually via
	phone) to do something that can't be done, by a boss who
	doesn't know his ass from deep center field about what he's
	asking his minions to do.

	(1995-09-20)

Benoit B. Mandelbrot

	{Benoit Mandelbrot}

Benoit Mandelbrot

	<person> /ben'wa man'dl-bro/ Benoit B. Mandelbrot.  The {IBM}
	scientist who wrote several original books on {fractals} and
	gave his name to the set he was discovered, the {Mandelbrot
	set} and coined the term "fractal" in 1975 from the Latin
	fractus or "to break".

	(1997-07-02)

Bentley Systems, Inc.

	<company> The company that sells {MicroStation}.

	Address: Exton, PA, USA.

	{(http://bentley.com/)}.

	(2001-05-18)

BeOS

	<operating system> The {operating system} originally designed
	to run on the {BeBox} {microcomputer}.  BeOS is good at both
	{multitasking} and {real-time} operation.  It has a {bash}
	command shell, with ports of many {GNU} programs by Be, Inc.
	It has a {GUI} front end (not {X}).  A {C++} {compiler} is
	supplied with the machine, and there are rumours of other
	languages being ported in the future.

	BeOs eventually became used on the {x86} and
	standard {PPC}.

	Be, Inc. went bankrupt in 1999, after releasing the last
	upgrade of BeOS (R5.0.3), and was sold to {Palm}.

	Several groups are currently (2003) attempting to create an R6
	version of the OS.  The most likely to succeed are {Yellowtab}
	and {OpenBeOS}, which is likely to be renamed.

	(2003-05-30)

BER

	1. <protocol, standard> {Basic Encoding Rules}.

	2. <communications> {Bit Error Rate}.

Berkeley

	{University of California at Berkeley}

Berkeley 4.2

	{Berkeley Software Distribution}

Berkeley EDIF200

	translator-building toolkit

	Wendell C. Baker and Prof A. Richard Newton of the Electronics
	Research Laboratory, Department of Electrical Engineering and
	Computer Sciences at the {University of California, Berkeley}.

	Version 7.6.  Restriction: no-profit without permission.

	{(ftp://ic.berkeley.edu/pub/edif)}.

	(1990-07-01)

Berkeley FP

	<language> A version of {Backus}'s {FP} distributed with
	{4.2BSD} {Unix}.

	{(ftp://apple.com/ArchiveVol1/Unix_lang)}.

	(1997-12-15)

Berkeley Internet Name Domain

	<networking> (BIND) An implementation of a {DNS} {server}
	developed and distributed by the {University of California at
	Berkeley}.

	Many {Internet} {hosts} run BIND, and it is the ancestor of
	many commercial implementations.

	(1997-12-15)

Berkeley Logo

	<language> A {Logo} {interpreter} by Brian Harvey
	<bh@cs.berkeley.edu>.  Berkeley Logo programs will run on
	{Unix}, {IBM PC}, or {Macintosh}.  It doesn't do anything
	fancy about graphics and only allows one {turtle}.

	Version: 4.6, as of 2000-03-21.

	{MswLogo} is a {Microsoft Windows} {front end}.

	{(ftp://anarres.cs.berkeley.edu/pub/ucblogo)}.

	(2000-03-28)

Berkeley Network

	(B-NET) Top level {Unix} {Ethernet} software developed at the
	{University of California at Berkeley}.  There are no formal
	specifications but UCB's {4.2BSD} {Unix} implementation on the
	{VAX} is the de facto standard.  Distributed by {Unisoft}.
	Includes net.o driver routines for specific hardware, {pseudo
	ttys}, {daemons}, hostname command to set/get name, /etc/hosts
	database of names and {Internet address}es of other hosts,
	/etc/hosts.equiv host-wide database to control remote access,
	.rhosts per user version of hosts.equiv.

	UCB's implementation of the {Internet Protocol} includes
	trailers to improve performance on paged memory management
	systems such as {VAXen}.  These trailers are an exception to
	the Internet Protocol specification.

Berkeley Quality Software

	<abuse> (Often abbreviated "BQS") Term used in a pejorative
	sense to refer to software that was apparently created by
	rather spaced-out hackers late at night to solve some unique
	problem.  It usually has nonexistent, incomplete, or incorrect
	documentation, has been tested on at least two examples, and
	core dumps when anyone else attempts to use it.  This term was
	frequently applied to early versions of the "dbx(1)" debugger.

	See also {Berzerkeley}.

	[{Jargon File}]

	(1996-01-15)

Berkeley Software Design, Inc

	<company> (BSDI) A company that sells {BSD/OS}, a commercial
	version of {Berkeley Standard Distribution} {Unix},
	networking, and Internet technologies originally developed by
	the {Computer Systems Research Group} (CSRG) at the
	{University of California at Berkeley}.

	Leading CSRG computer scientists founded BSDI in 1991.  BSDI's
	BSD/OS represents over 20 years of development by the
	worldwide BSD technical community.  BSD technology is known
	worldwide for its powerful, flexible and portable architecture
	and advanced development environments.

	BSDI designs, develops, markets, and supports the {BSD/OS}
	{operating system}, {Internet} server software for {IBM PCs},
	and other products.  BSDI planned to release an Internet
	gateway product for {Novell} {IPX} networks in 1995.

	{(http://bsdi.com/)}.

	E-mail: <bsdi-info@bsdi.com>.

	Address: 5575 Tech Center Drive, #110, Colorado Springs, CO
	80918, USA.  Telephone: +1 (719) 593 9445.  Fax: +1 (719) 598
	4238.

	(1996-01-13)

Berkeley Software Distribution

	<operating system> (BSD) A family of {Unix} versions developed
	by {Bill Joy} and others at the {University of California at
	Berkeley}, originally for the {DEC} {VAX} and {PDP-11}
	computers, and subsequently ported to almost all modern
	general-purpose computers.  BSD Unix incorporates {paged}
	{virtual memory}, {TCP/IP} networking enhancements and many
	other features.

	BSD UNIX 4.0 was released on 1980-10-19.  The BSD versions
	(4.1, 4.2, and 4.3) and the commercial versions derived from
	them ({SunOS}, {ULTRIX}, {Mt. Xinu}, {Dynix}) held the
	technical lead in the Unix world until {AT&T}'s successful
	standardisation efforts after about 1986, and are still widely
	popular.

	See also {Berzerkeley}, {USG Unix}.

	(2005-01-20)

Berkeley Softworks

	<company> The company that wrote {Graffiti} and a similar
	scheme for the {Commodore 64} (made it very {Macintosh}-like)
	and the {Commodore 128} (which could {multitask}).

	(1995-01-24)

Berkeley Unix

	{Berkeley Software Distribution}

Berkeley Yacc

	<tool> (byacc, previously Zeus, then Zoo) Probably the best
	variant of the {Yacc} {parser generator}.  Written by Robert
	Corbett <Robert.Corbett@eng.sun.com>.

	Latest version: 1.9, as of 2000-06-09.

	{(ftp://ftp.cs.berkeley.edu/pub/4bsd/byacc.1.9.tar.Z)}.

	(2000-07-16)

berklix

	/berk'liks/ (From {Berkeley Unix}) {Berkeley Software
	Distribution}.  Not used at {Berkeley} itself.  May be more
	common among {suits} attempting to sound like cognoscenti than
	among hackers, who usually just say "BSD".

	[{Jargon File}]

	(1995-02-23)

Berners-Lee, Tim

	{Tim Berners-Lee}

Bernoulli Box

	<storage> A high capacity storage device, {Iomega
	Corporation}'s first popular product, that spins a mylar disk
	over a read-write head using the {Bernoulli principle}.

	(1997-04-15)

Bernoulli principle

	(Or "air foil principle", after Swiss mathematician Daniel
	Bernoulli, 1700-1782) The law that pressure in a fluid
	decreases with the rate of flow.  It has been applied to a
	class of {hard disk} drives.

	See {Bernoulli Box}.

	(1997-04-15)

Bernstein condition

	<parallel> Processes cannot execute in parallel if one effects
	values used by the other.  Nor can they execute in parallel if
	any subsequent process uses data effected by both, i.e. whose
	value might depend on the order of execution.

	(1995-02-23)

BERR

	{bus error}

Bertrand

	(Named after the British mathematician Bertrand Russell
	(1872-1970)).  Wm. Leler.  Rule-based specification language
	based on augmented term rewriting.  Used to implement
	constraint languages.  The user must explicitly specify the
	tree-search and the constraint propagation.

	{(ftp://nexus.yorku.ca/pub/scheme/scm/bevan.shar)}.

	["Constraint Programming Languages - Their Specification and
	Generation", W. Leler, A-W 1988, ISBN 0-201-06243-7].

Bertrand Meyer

	The author of the {Eiffel} Language and many articles on
	{object-oriented} software techniques.

	(1995-03-01)

Bertrand Russell

	<person> (1872-1970) A British mathematician, the discoverer
	of {Russell's paradox}.

	(1995-03-27)

Berzerkeley

	<humour> /b*r-zer'klee/ (From "berserk", via the name of a
	now-deceased record label) A humorous distortion of "Berkeley"
	used especially to refer to the practices or products of the
	{BSD Unix} hackers.

	See {software bloat}, {Missed'em-five}, {Berkeley Quality
	Software}.

	Mainstream use of this term in reference to the cultural and
	political peculiarities of UC Berkeley as a whole has been
	reported from as far back as the 1960s.

	[{Jargon File}]

	(1996-06-01)

Berzerkley

	{Berzerkeley}

bespoke

	{custom}

best effort

	<networking> A classification of low priority network traffic,
	used especially the {Internet}.

	Different kinds of traffic have different priorities.
	{Videoconferencing} and other types of {real-time}
	communication, for example, require a certain minimum
	guaranteed {bandwidth} and {latency} and so must be given a
	high priority.  {Electronic mail}, on the other hand, can
	tolerate an arbitrarily long delay and is classified as a
	"best-effort" service.

	[Scientific American, Nov. 1994, pp. 83-84].

	(1995-04-04)

best first search

	<algorithm> A {graph} search {algorithm} which optimises
	{breadth first search} by ordering all current paths according
	to some {heuristic}.  The heuristic attempts to predict how
	close the end of a path is to a solution.  Paths which are
	judged to be closer to a solution are extended first.

	See also {beam search}, {hill climbing}.

	(1995-12-09)

Best Fit

	<algorithm> A {resource} allocation scheme (usually for
	{memory}).  Best Fit tries to determine the best place to put
	the new data.  The definition of 'best' may differ between
	implementations, but one example might be to try and minimise
	the wasted space at the end of the block being allocated -
	i.e. use the smallest space which is big enough.

	By minimising wasted space, more data can be allocated
	overall, at the expense of a more time-consuming allocation
	{routine}.

	Compare {First Fit}.

	(1997-06-02)

BETA

	Kristensen, Madsen <olmadsen@daimi.aau.dk>, Moller-Pedersen &
	Nygaard, 1983.  Object-oriented language with block structure,
	coroutines, concurrency, {strong typing}, part objects,
	separate objects and classless objects.  Central feature is a
	single abstraction mechanism called "patterns", a
	generalisation of classes, providing instantiation and
	hierarchical inheritance for all objects including procedures
	and processes.

	Mjolner Informatics ApS, Aarhus, implementations for Mac, Sun,
	HP, Apollo.

	E-mail: <info@mjolner.dk>.

	Mailing list: <usergroup@mjolner.dk>.

	["Object-Oriented Programming in the BETA Programming
	Language", Ole Lehrmann et al, A-W June 1993, ISBN
	0-201-62430-3].

	[{Jargon File}]

	(1995-10-31)

beta

	/bay't*/, /be't*/ or (Commonwealth) /bee't*/

	See {beta conversion}, {beta test}.

	[{Jargon File}]

beta abstraction

	[{lambda-calculus}] The conversion of an expression to an
	{application} of a {lambda abstraction} to an argument
	expression.  Some subterm of the original expression becomes
	the argument of the abstraction and the rest becomes its
	body. E.g.

		4+1 --> (\ x . x+1) 4

	The opposite of beta abstraction is {beta reduction}.  These
	are the two kinds of {beta conversion}.

beta conversion

	<theory> A term from {lambda-calculus} for {beta reduction} or
	{beta abstraction}.

	(1999-01-15)

Betamaxed

	<jargon> When a technology is overtaken in the market by
	inferior but better marketed competition.  E.g. "Microsoft
	betamaxed Apple right out of the market".  The Betamex
	videotape standard lost to VHS.

	(1999-01-15)

beta reduction

	[{lambda-calculus}] The {application} of a {lambda
	abstraction} to an argument expression.  A copy of the body of
	the lambda abstraction is made and occurrences of the {bound
	variable} being replaced by the argument.  E.g.

		(\ x . x+1) 4  -->  4+1

	Beta reduction is the only kind of {reduction} in the {pure
	lambda-calculus}.  The opposite of beta reduction is {beta
	abstraction}.  These are the two kinds of {beta conversion}.

	See also {name capture}.

beta test

	{beta testing}

beta testing

	<programming> Evaluation of a pre-release (potentially unreliable)
	version of a piece of {software} (or possibly {hardware}) by
	making it available to selected users ("beta testers") before it
	goes on general distribution.

	Beta testign aims to discover {bugs} that only occur in certain
	environments or under certain patterns of use, while reducing the
	volume of feedback to a manageable level.  The testers benefit by
	having earlier access to new products, features and fixes.

	Beta testing may be preceded by "alpha testing", performed
	in-house by a handful of users (e.g. other developers or friends),
	who can be expected to give rapid, high quality feedback on design
	and {usability}.  Once the product is considered to be usable for
	its intended purpose it then moves on to "beta testing" by a
	larger, but typically still limited, number of ordinary users, who
	may include external customers.

	Some companies such as {Google} or {Degree Jungle
	(http://www.degreejungle.com/rankings/best-online-colleges)}
	stretch the definition, claiming their products are "in beta" for
	many months by millions of users.

	The term derives from early 1960s terminology for {product cycle}
	checkpoints, first used at {IBM} but later standard throughout the
	industry.  "{Alpha test}" was the {unit test}, {module test} or
	{component test} phase; "Beta Test" was initial {system test}.
	These themselves came from earlier A- and B-tests for hardware.
	The A-test was a feasibility and manufacturability evaluation done
	before any commitment to design and development.  The B-test was a
	demonstration that the engineering model functioned as specified.
	The C-test (corresponding to today's beta) was the B-test
	performed on early samples of the production design.

	(2013-06-09)

beta version

	{beta testing}

Bezier

	<graphics> (After Frenchman Pierre Bézier from Regie Renault)
	A collection of formulae for describing curved lines ({Bezier
	curve}) and surfaces ({Bezier surface}), first used in 1972 to
	model automobile surfaces.

	Curves and surfaces are defined by a set of "control points"
	which can be moved interactively making Bezier curves and
	surfaces convenient for interactive graphic design.

	["Principles of interactive computer graphics", William
	M. Newman, Graw-Hill].

	(1995-04-04)

Bezier curve

	<graphics> A type of curve defined by mathematical formulae,
	used in {computer graphics}.  A curve with coordinates P(u),
	where u varies from 0 at one end of the curve to 1 at the
	other, is defined by a set of n+1 "control points" (X(i),
	Y(i), Z(i)) for i = 0 to n.

		P(u) = Sum i=0..n [(X(i), Y(i), Z(i)) * B(i, n, u)]

		B(i, n, u) = C(n, i) * u^i * (1-u)^(n-i)

		C(n, i) = n!/i!/(n-i)!

	A Bezier curve (or surface) is defined by its control points,
	which makes it invariant under any {affine mapping}
	(translation, rotation, parallel projection), and thus even
	under a change in the axis system.  You need only to transform
	the control points and then compute the new curve.  The
	control polygon defined by the points is itself affine
	invariant.

	Bezier curves also have the variation-diminishing property.
	This makes them easier to split compared to other types of
	curve such as {Hermite} or {B-spline}.

	Other important properties are multiple values, global and
	local control, versatility, and order of continuity.

	[What do these properties mean?]

	(1996-06-12)

Bezier surface

	<graphics> A surface defined by mathematical formulae, used in
	{computer graphics}.  A surface P(u, v), where u and v vary
	orthogonally from 0 to 1 from one edge of the surface to the
	other, is defined by a set of (n+1)*(m+1) "control points"
	(X(i, j), Y(i, j), Z(i, j)) for i = 0 to n, j = 0 to m.

		P(u, v) = Sum i=0..n {Sum j=0..m [
			(X(i, j), Y(i, j), Z(i, j))
			* B(i, n, u) * B(j, m, v)]}

		B(i, n, u) = C(n, i) * u^i * (1-u)^(n-i)

		C(n, i) = n!/i!/(n-i)!

	Bezier surfaces are an extension of the idea of {Bezier
	curves}, and share many of their properties.

	(1996-06-12)

bf

	<networking> The {country code} for Burkina Faso.

	(1999-01-27)

BFI

	{brute force and ignorance}

bg

	<networking> The {country code} for Bulgaria.

	(1999-01-27)

BGA

	{Ball Grid Array}

bgh

	<chat> Be Good Humans.

	(2001-03-28)

BGP

	{Border Gateway Protocol}

bh

	<networking> The {country code} for Bahrain.

	(1999-01-27)

BHC Code

	{Bose-Chaudhuri-Hocquenghem Code}

bi

	<networking> The {country code} for Burundi.

	(1999-01-27)

bib

	{BibTeX}

bible

	<publication> The most detailed and authoritative reference
	for a particular language, {operating system} or other complex
	software system.  It is also used to denote one of a small
	number of such books such as {Knuth} and {K&R}.

	[{Jargon File}]

	(1996-12-03)

BIBOP

	{Big bag of pages}

BibTeX

	<text, tool> A {Tex} extension package for bibliographic
	citations, distributed with {LaTeX}.  BibTeX uses a
	style-independent bibliography database (.bib file) to produce
	a list of sources, in a customisable style, from citations in
	a Latex document.  It also supports some other formats.

	BibTeX is a separate program from LaTeX.  LaTeX writes
	information about citations and which .bib files to use in a
	".aux" file.  BibTeX reads this file and outputs a ".bbl" file
	containing LaTeX commands to produce the source list.  You
	must then run LaTeX again to incorporate the source list in
	your document.  In typeset documents, "BibTeX" is written in
	upper case, with the "IB" slightly smaller and with the "E" as
	a subscript.  BibTeX is described in the {LaTeX} book by
	Lamport.

BiCapitalisation

	The act said to have been performed on trademarks (such as
	{PostScript}, {NeXT}, {NeWS}, {VisiCalc}, {FrameMaker},
	{TK!solver}, {EasyWriter}) that have been raised above the
	ruck of common coinage by nonstandard capitalisation.  Too
	many {marketroid} types think this sort of thing is really
	cute, even the 2,317th time they do it.

	Compare {studlycaps}.

	(1995-02-23)

BiCMOS

	<hardware> A manufacturing process for semiconductor devices
	that combines {bipolar} and {CMOS} to give the best balance
	between available output current and power consumption.

	(1995-03-28)

bidirectional printing

	<hardware> A feature of a printer whose printer head can print
	both when moving left to right and when moving right to left.

	Also known as "{boustrophedonic}".

	(1995-04-13)

Bidouilleurs Sans Argent

	<body> (BSA, French for "Moneyless Hackers") An association
	which aim is to help computer users who can't afford to buy
	commercial software.  The main purpose of the association is
	the promotion of {free software}, and distribution of
	ex-commercial software.  This is clearly an answer to the
	repressive attitude of the "other" {BSA}.

	Among BSA members are {Richard Stallman}, creator of the {GNU}
	project.

	{(http://bsa.lu/)}.

	(1998-10-27)

bi-endian

	Silicon schizophrenia.  Processors and other chips that have
	can be switched to work in {big-endian} or {little-endian}
	mode.

	The {PowerPC} chip has this ability, which allows it to run
	the little-endian {Windows NT}, or the big-endian {Mac OS/PPC}.

	(1995-02-23)

BIFF

	/bif/ (Or "B1FF", from {Usenet}) The most famous {pseudo}, and
	the prototypical {newbie}.  Articles from BIFF are
	characterised by all uppercase letters sprinkled liberally
	with bangs, typos, "cute" misspellings (EVRY BUDY LUVS GOOD
	OLD BIFF CUZ HE'S A K00L DOOD AN HE RITES REEL AWESUM THINGZ
	IN CAPITULL LETTRS LIKE THIS!!!), use (and often misuse) of
	fragments of {chat} abbreviations, a long {sig block}
	(sometimes even a {doubled sig}), and unbounded naivete.  BIFF
	posts articles using his elder brother's VIC-20.  BIFF's
	location is a mystery, as his articles appear to come from a
	variety of sites.  However, {BITNET} seems to be the most
	frequent origin.  The theory that BIFF is a denizen of BITNET
	is supported by BIFF's (unfortunately invalid) {electronic
	mail address}: <BIFF@BIT.NET>.

	[1993: Now It Can Be Told!  My spies inform me that BIFF was
	originally created by Joe Talmadge <jat@cup.hp.com>, also the
	author of the infamous and much-plagiarised "Flamer's Bible".
	The BIFF filter he wrote was later passed to Richard Sexton,
	who posted BIFFisms much more widely.  Versions have since
	been posted for the amusement of the net at large. - ESR]

	[{Jargon File}]

	(1997-09-22)

biff

	/bif/ To notify someone of incoming mail.  From the {BSD}
	utility "biff(1)", which was in turn named after a friendly
	golden Labrador who used to chase frisbees in the halls at UCB
	while {4.2BSD} was in development (it had a well-known habit
	of barking whenever the mailman came).  No relation to {BIFF}.

	[{Jargon File}]

\big

	<text> Prefix of several {LaTeX} commands implying a larger
	symbol.  See the command without "big".  Often used to convert
	a {dyadic} operator into a function which operates on a set.
	E.g. \sqcup, \bigsqcup.

	(1995-02-03)

Big bag of pages

	(BIBOP) Where data objects are tagged with some kind of
	descriptor (giving their size or type for example) memory can
	be saved by storing objects with the same descriptor in one
	"page" of memory.  The most significant bits of an object's
	address are used as the BIBOP page number.  This is looked up
	in a BIBOP table to find the descriptor for all objects in
	that page.

	This idea is similar to the "zones" used in some {Lisp}
	systems (e.g. {LeLisp}).

	[David R. Hanson.  "A portable storage management system for
	the Icon programming language".  Software - Practise and
	Experience, 10:489-500 1980].

	(1994-11-29)

big blue

	{International Business Machines}

big-endian

	1. <data, architecture> A computer {architecture} in which,
	within a given multi-{byte} numeric representation, the most
	significant byte has the lowest address (the word is stored
	"big-end-first").

	Most processors, including the {IBM 370} family, the {PDP-10},
	the {Motorola} {microprocessor} families, and most of the
	various {RISC} designs current in mid-1993, are big-endian.

	See {-endian}.

	2. <networking, standard> A backward {electronic mail
	address}.  The world now follows the {Internet} {hostname}
	{standard} (see {FQDN}) and writes e-mail addresses starting
	with the name of the computer and ending up with the {country
	code} (e.g. fred@doc.acme.ac.uk).  In the United Kingdom the
	{Joint Networking Team} decided to do it the other way round
	(e.g. me@uk.ac.wigan.cs) before the {Internet} {domain}
	standard was established.  Most {gateway sites} required
	{ad-hockery} in their {mailers} to handle this.

	By July 1994 this parochial idiosyncracy was on the way out
	and mailers started to reject big-endian addresses.  By about
	1996, people would look at you strangely if you suggested such
	a bizarre thing might ever have existed.

	[{Jargon File}]

	(1998-08-09)

Big Gray Wall

	<jargon> What faces a {VMS} user searching for documentation.
	A full VMS kit comes on a pallet, the documentation taking up
	around 15 feet of shelf space before the addition of layered
	products such as {compilers}, {databases}, multi-vendor
	networking, and programming tools.  Recent (since VMS version
	5) DEC documentation comes with grey binders; under VMS
	version 4 the binders were orange and under version 3 they
	were blue.  Often contracted to "Gray Wall".

	[{Jargon File}]

	(1995-03-07)

big iron

	<jargon> (Or "heavy metal [Cambridge]) Large, expensive,
	ultra-fast computers.  Used generally of {number crunching}
	{supercomputers} such as {Crays}, but can include more
	conventional big commercial {IBM}ish {mainframes}.  The term
	implies approval, in contrast to "{dinosaur}".

	[{Jargon File}]

	(2000-11-09)

BIG-LAN

	["BIG-LAN Frequently Asked Questions Memo", BIG-LAN DIGEST
	V4:I8, February 14, 1992.]

Bigloo

	<language> A {Scheme} {interpreter}, {compiler} and {run-time
	system} by Manuel Serrano <Manuel.Serrano@inria.fr> which aims
	to deliver small, fast stand-alone {applications}.  It
	supports {modules} and {optimisation}.  Bigloo's features
	enable Scheme programs to be used where {C} or {C++} might
	usually be required.

	The Bigloo compiler produces {ANSI C} which is compiled into
	{stand-alone executables}, {JVM} {bytecode}, or .{NET
	bytecode}.  Hence Bigloo enables Scheme programs to interwork
	with C, {Java} and {C#} programs.

	Bigloo conforms to the {IEEE Scheme} {standard} with some
	extensions for {regular expression} handling.  It runs on
	{Sun}, {Sony} {News}, {SGI}, {Linux}, {HP-UX} and is easy to
	port to any {Unix} system.

	Latest version: 2.6f, as of 2005-03-29.

	{Bigloo Home (http://www-sop.inria.fr/mimosa/fp/Bigloo/)}.

	(2005-04-05)

bignum

	<programming> /big'nuhm/ (Originally from {MIT} {MacLISP}) A
	{multiple-precision} computer representation for very large
	integers.

	Most computer languages provide a type of data called
	"integer", but such computer integers are usually limited in
	size; usually they must be smaller than 2^31 (2,147,483,648)
	or (on a {bitty box}) 2^15 (32,768).  If you want to work with
	numbers larger than that, you have to use {floating-point}
	numbers, which are usually accurate to only six or seven
	decimal places.  Computer languages that provide bignums can
	perform exact calculations on very large numbers, such as
	1000! (the factorial of 1000, which is 1000 times 999 times
	998 times ... times 2 times 1).  For example, this value for
	1000! was computed by the {MacLISP} system using bignums:

	40238726007709377354370243392300398571937486421071
	46325437999104299385123986290205920442084869694048
	00479988610197196058631666872994808558901323829669
	94459099742450408707375991882362772718873251977950
	59509952761208749754624970436014182780946464962910
	56393887437886487337119181045825783647849977012476
	63288983595573543251318532395846307555740911426241
	74743493475534286465766116677973966688202912073791
	43853719588249808126867838374559731746136085379534
	52422158659320192809087829730843139284440328123155
	86110369768013573042161687476096758713483120254785
	89320767169132448426236131412508780208000261683151
	02734182797770478463586817016436502415369139828126
	48102130927612448963599287051149649754199093422215
	66832572080821333186116811553615836546984046708975
	60290095053761647584772842188967964624494516076535
	34081989013854424879849599533191017233555566021394
	50399736280750137837615307127761926849034352625200
	01588853514733161170210396817592151090778801939317
	81141945452572238655414610628921879602238389714760
	88506276862967146674697562911234082439208160153780
	88989396451826324367161676217916890977991190375403
	12746222899880051954444142820121873617459926429565
	81746628302955570299024324153181617210465832036786
	90611726015878352075151628422554026517048330422614
	39742869330616908979684825901254583271682264580665
	26769958652682272807075781391858178889652208164348
	34482599326604336766017699961283186078838615027946
	59551311565520360939881806121385586003014356945272
	24206344631797460594682573103790084024432438465657
	24501440282188525247093519062092902313649327349756
	55139587205596542287497740114133469627154228458623
	77387538230483865688976461927383814900140767310446
	64025989949022222176590433990188601856652648506179
	97023561938970178600408118897299183110211712298459
	01641921068884387121855646124960798722908519296819
	37238864261483965738229112312502418664935314397013
	74285319266498753372189406942814341185201580141233
	44828015051399694290153483077644569099073152433278
	28826986460278986432113908350621709500259738986355
	42771967428222487575867657523442202075736305694988
	25087968928162753848863396909959826280956121450994
	87170124451646126037902930912088908694202851064018
	21543994571568059418727489980942547421735824010636
	77404595741785160829230135358081840096996372524230
	56085590370062427124341690900415369010593398383577
	79394109700277534720000000000000000000000000000000
	00000000000000000000000000000000000000000000000000
	00000000000000000000000000000000000000000000000000
	00000000000000000000000000000000000000000000000000
	00000000000000000000000000000000000000000000000000
	000000000000000000.

	[{Jargon File}]

	(1996-06-27)

bigot

	A person who is religiously attached to a particular computer,
	language, operating system, editor, or other tool (see
	{religious issues}).  Usually found with a specifier; thus,
	"Cray bigot", "ITS bigot", "APL bigot", "VMS bigot", "Berkeley
	bigot".  Real bigots can be distinguished from mere partisans
	or zealots by the fact that they refuse to learn alternatives
	even when the march of time and/or technology is threatening
	to obsolete the favoured tool.  It is truly said "You can tell
	a bigot, but you can't tell him much."  Compare {weenie}.

	[{Jargon File}]

Big Red Switch

	<jargon> (BRS) IBM jargon for the {power switch} on a computer,
	especially the "Emergency Pull" switch on an IBM {mainframe} or
	the power switch on an IBM PC where it really is large and red.

	"This !@%$% {bitty box} is hung again; time to hit the Big Red
	Switch."

	It is alleged that the emergency pull switch on an {IBM 360}/91
	actually fired a non-conducting bolt into the main power feed; the
	BRSes on more recent mainframes physically drop a block into place
	so that they can't be pushed back in.  People get fired for
	pulling them, especially inappropriately (see also {molly-guard}).

	Compare {power cycle}, {three-finger salute}, {120 reset}; see
	also {scram switch}.

	[{Jargon File}]

	(2014-08-10)

Big Room

	<jargon, humour> The extremely large room with the blue
	ceiling and intensely bright light (during the day) or black
	ceiling with lots of tiny night-lights (during the night)
	found outside all computer installations.  "He can't come to
	the phone right now, he's somewhere out in the Big Room."

	(1996-03-04)

big win

	<jargon> An {MIT} term for a {Good Thing} or a lucky accident.

	[{Jargon File}]

	(1996-03-06)

bijection

	<mathematics> A {function} is bijective or a bijection or a
	one-to-one correspondence if it is both {injective} (no two
	values map to the same value) and {surjective} (for every
	element of the {codomain} there is some element of the
	{domain} which maps to it).  I.e. there is exactly one element
	of the domain which maps to each element of the codomain.

	For a general bijection f from the set A to the set B:

	f'(f(a)) = a where a is in A and f(f'(b)) = b where b is in B.

	A and B could be disjoint sets.

	See also {injection}, {surjection}, {isomorphism},
	{permutation}.

	(2001-05-10)

Bill Gates

	<person> William Henry Gates III, Chief Executive Officer of
	{Microsoft}, which he co-founded in 1975 with {Paul Allen}.
	In 1994 Gates is a billionaire, worth $9.35b and {Microsoft}
	is worth about $27b.  He was a {computer nerd} who dropped out
	of Harvard and one of the first programmers to oppose
	{software piracy} ("Open Letter to Hobbyists," Computer Notes,
	February 3, 1976).

	(1995-03-02)

Bill Joy

	{William Joy}

binaries

	{binary file}

binary

	1. <mathematics> {Base} two.  A number representation
	consisting of zeros and ones used by practically all computers
	because of its ease of implementation using digital
	electronics and {Boolean algebra}.

	2. <file format> {binary file}.

	3. <programming> A description of an {operator} which takes
	two {arguments}.  See also {unary}, {ternary}.

	(2005-02-21)

binary coded decimal

	<data> (BCD, packed decimal) A number representation where a
	number is expressed as a sequence of decimal digits and then
	each decimal digit is encoded as a four-bit binary number (a
	{nibble}).  E.g. decimal 92 would be encoded as the eight-bit
	sequence 1001 0010.

	In some cases, the right-most nibble contains the sign
	(positive or negative).

	It is easier to convert decimal numbers to and from BCD than
	binary and, though BCD is often converted to binary for
	arithmetic processing, it is possible to build {hardware} that
	operates directly on BCD.

	[Do calculators use BCD?]

	(2001-01-27)

Binary Compatibility Standard

	<programming, standard> (BCS) The {ABI} of {88open}.

	(1997-07-03)

binary counter

	<electronics, hardware> A digital circuit which has a clock
	input and a number of count outputs which give the number of
	clock cycles.  The output may change either on rising or
	falling clock edges.  The circuit may also have a reset input
	which sets all outputs to zero when asserted.  The counter may
	be either a {synchronous counter} or a {ripple counter}.

	(1997-07-03)

binary data

	{binary file}

binary exponential backoff

	An {algorithm} for dealing with contention in the use of a
	network.  To transmit a {packet} the {host} sets a local
	parameter, L to 1 and transmits in one of the next L {slots}.
	If a {collision} occurs, it doubles L and repeats.

binary file

	<file format> Any {file format} for {digital} {data} that does
	not consist of a sequence of printable {characters} ({text}).
	The term is often used for executable {machine code}.

	All digital data, including characters, is actually binary
	data (unless it uses some (rare) system with more than two
	discrete levels) but the distinction between binary and text
	is well established.  On modern {operating systems} a text
	file is simply a binary file that happens to contain only
	printable characters, but some older systems distinguish the
	two file types, requiring programs to handle them differently.

	A common class of binary files is programs in {machine
	language} ("{executable} files") ready to load into memory and
	execute.  Binary files may also be used to store data output
	by a program, and intended to be read by that or another
	program but not by humans.  Binary files are more efficient
	for this purpose because the data (e.g. numerical data) does
	not need to be converted between the binary form used by the
	{CPU} and a printable (ASCII) representation.  The
	disadvantage is that it is usually necessary to write special
	purpose programs to manipulate such files since most general
	purpose utilities operate on text files.  There is also a
	problem sharing binary numerical data between processors with
	different {endian}ness.

	Some communications {protocols} handle only text files,
	e.g. most {electronic mail} systems before {MIME} became
	widespread in about 1995.  The {FTP} utility must be put into
	"binary" mode in order to copy a binary file since in its
	default "ascii" mode translates between the different
	{newline} characters used on the sending and receiving
	computers.

	Confusingly, some {word processor} files, and {rich text}
	files, are actually binary files because they contain
	non-printable characters and require special programs to view,
	edit and print them.

	(2005-02-21)

binary large object

	<database> (BLOB) A large block of data stored in a
	{database}, such as an {image} or {sound} file.  A BLOB has no
	structure which can be interpreted by the {database management
	system} but is known only by its size and location.

	(1997-11-04)

binary package

	<software> An {archive} file that contains all files and
	directories that must be installed in order to make a working
	installation of the program(s) included in the package, and
	the {maintainer scripts} necessary for the installation.  A
	binary package is usually specific to a certain {platform}, in
	contrast to a {source package}.

	(2001-01-27)

binary prefix

	<unit> (Or "IEC prefix") A prefix used with a {unit} of {data} to
	mean multiplication by a power of 1024.  Binary prefixes are most
	often used with "{byte}" (e.g. "{kilobyte}") but also with {bit}
	(e.g. "{megabit}").

	For example, the term {kilobyte} has historically been used to
	mean 1024 {bytes}, and {megabyte} to mean 1,048,576 bytes.  The
	multipliers 1024 and 1,048,576 are powers of 1024, which is itself
	a power of two (1024 = 2^10).  It is this factor of two that gives
	the name "binary prefix".

	This is in contrast to a {decimal prefix} denoting a power of
	1000, which is itself a power of ten (1000 = 10^3).  Decimal
	prefixes are used in science and engineering and are specified in
	widely adopted {SI} standards.  Note that the actual prefix - kilo
	or mega - is the same, it is the interpretation that differs.

	The difference between the two interpretations increases with each
	multiplication, so while 1000 and 1024 differ by only 2.4%, 1000^6
	and 1024^6 differ by 15%.

	The 1024-based interpretation of prefixes is often still used
	informally and especially when discussing the storage capacity of
	{random-access memory}.  This has lead to storage device
	manufacturers being accused of false marketing for using the
	decimal interpretation where customers might assume the larger,
	historical, binary interpretation.

	In an attempt to clarify the distinction, in 1998 the {IEC}
	specified that kilobyte, megabyte, etc. should only be used for
	powers of 1000 (following SI).  They specified new prefixes for
	powers of 1024 containing "bi" for "binary": {kibibyte},
	{mebibyte}, etc.; an idea originally propsed by {IUPAC}.  IEC also
	specified new abbreviations Ki, Mi, etc. for the new prefixes.
	Many other standards bodies such as {NIST}, {IEEE} and {BIPM}
	support this proposal but as of 2013 its use is rare in
	non-technical circles.

	Specific units of IEC 60027-2 A.2 and ISO/IEC 80000

	 IEC prefix	   Representations				Customary prefix
	 Name  Symbol  Base 2  Base		Base 10		Name	Symbol
						   1024		(approx)
	 kibi  Ki	   2^10	   1024^1	1.02x10^3	kilo	k, K
	 mebi  Mi	   2^20	   1024^2	1.05x10^6	mega	M
	 gibi  Gi	   2^30	   1024^3	1.07x10^9	giga	G
	 tebi  Ti	   2^40	   1024^4	1.10x10^12	tera	T
	 pebi  Pi	   2^50	   1024^5	1.13x10^15	peta	P
	 exbi  Ei	   2^60	   1024^6	1.15x10^18	exa     E
	 zebi  Zi	   2^70	   1024^7	1.18x10^21	zetta	Z
	 yobi  Yi	   2^80	   1024^8	1.21x10^24	yotta	Y

	(2013-11-04)

binary search

	<algorithm> A search {algorithm} which repeatedly divides an
	ordered {search space} in half according to how the required
	(key) value compares with the middle element.

	The following pseudo-{C} routine performs a binary search
	return the index of the element of vector "thing[first..last]"
	equal to "target":

	 if (target < thing[first] || target > thing[last])
	   return NOT_FOUND;
	 while (first < last)
	 {
	   mid = (first+last)/2;	/* truncate to integer */
	   if (target == thing[mid])
	     return mid;
	   if (target < thing[mid])
	     last = mid-1;
	   else
	     first = mid+1;
	 }
	 if (target == thing[last])
	   return last;
	 return NOT_FOUND;

	(2003-01-14)

Binary Synchronous Transmission

	<protocol> (Bisynch) An {IBM} link {protocol}, developed in
	the 1960 and popular in the 1970s and 1980s.

	Binary Synchronous Transmission has been largely replaced in
	IBM environments with {SDLC}.  Bisync was developed for
	{batch} communications between a {System 360} computer and the
	IBM 2780 and 3780 {Remote Job Entry} (RJE) {terminals}.  It
	supports RJE and on-line terminals in the {CICS}/{VSE}
	environment.  It operates with {EBCDIC} or {ASCII} {character
	sets}.  It requires that every message be acknowledged ({ACK})
	or negatively acknowledged ({NACK}) so it has high
	transmission overhead.  It is typically character oriented and
	{half-duplex}, although some of the bisync protocol flavours
	or dialects support binary transmission and {full-duplex}
	operation.

	(1997-01-07)

binary tree

	(btree) A {tree} in which each node has at most two successors
	or child nodes.  In {Haskell} this could be represented as

		data BTree a = NilTree
			     | Node a (BTree a) (BTree a)

	See also {balanced tree}.

	(1994-11-29)

BIND

	{Berkeley Internet Name Domain}

bindery

	<networking> A {Novell Netware} database that contains
	definitions for entities such as users, groups, and
	{workgroups}.  The bindery allows the network supervisor to
	design an organised and secure operating environment based on
	the individual requirements of each of these entities.

	The bindery has three components: objects, properties, and
	property data sets.  Objects represent any physical or logical
	entity, including users, user groups, file servers.
	Properties are characteristics of each object (e.g.
	passwords, account restrictions, {internetwork addresses}).
	Property data sets are the values assigned to an entity's
	bindery properties.

	[Netware Version 3.11 "Concepts" documentation (a glossary of
	Netware-related terms)].

	(1996-03-07)

binding handle

	<networking> An identifier representing the connection between
	a {client} and {server}.  An association between client/server
	end-points and {protocols}.

	(1997-03-18)

binding-time analysis

	<compiler> An analysis to identify sub-expressions which can
	be evaluated at {compile-time} or where versions of a function
	can be generated and called which are specialised to certain
	values of one or more arguments.

	See {partial evaluation}.

	(1995-03-28)

BinHex

	<file format> A {Macintosh} format for representing a {binary
	file} using only {printable characters}.  The file is
	converted to lines of letters, numbers and punctuation.
	Because BinHex files are simply text they can be sent through
	most {electronic mail} systems and stored on most computers.
	However the conversion to text makes the file larger, so it
	takes longer to transmit a file in BinHex format than if the
	file was represented some other way.

	{Filename extension}: .hqx.

	See also {BinHex 4.0}, {uuencode}.

	[Encoding algorithm?]

	(1994-11-30)

Binhex 4.0

	<file format> A seven bit wide representation of a {Macintosh}
	file with {CRC} error checking.  Binhex 4.0 files are designed
	for communication of Mac files over long distance, possibly
	noisy, seven bit wide paths.

	[Difference from other binhex formats?]

	(1996-09-17)

BinProlog

	<language> Probably the fastest freely available {C}-emulated
	{Prolog}.  BinProlog features:

	logical and permanent {global variables}; backtrackable
	{destructive assignment}; circular term {unification};
	extended {DCGs} (now built into the {engine} as "invisible
	grammars"); {intuitionistic} and {linear implication} based
	{hypothetical reasoning}; a {Tcl}/{Tk} interface.

	Version 3.30 runs on {SPARC}/{Solaris} 2.x, {SunOS} 4.x; {DEC
	Alpha} 64-bit version; {DEC} {MIPS}; {SGI} {MIPS}; {68k} -
	{NeXT}, {Sun-3}; {IBM RS6000}; {HP PA-RISC} (two variants);
	{Intel 80386}, {Intel 486}/{Linux}, {MS-DOS}, {Microsoft
	Windows 3.1} (with DOS-extender {go32} v1.10).

	{Multi-BinProlog} is a {multi-threaded} {Linda}-style parallel
	extension to BinProlog for {Solaris} 2.3.

	{(ftp://clement.info.umoncton.ca/BinProlog/)}.

	E-mail: Paul Tarau <tarau@info.umoncton.ca>.

	(1995-04-04)

bioinformatics

	<application> The field of science concerning the application
	of {computer science} and {information technology} to biology;
	using computers to handle biological information, especially
	{computational molecular biology}.

	(2005-01-07)

BioMeDical Package

	<language, library, statistics> (BMDP) A statistical language
	and library of over forty statistical routines developed in
	1961 at {UCLA}, Health Sciences Computing Facility under
	Dr. Wilford Dixon.  BMDP was first implemented in {Fortran}
	for the {IBM 7090}.  Tapes of the original source were
	distributed for free all over the world.

	BMDP is the second iteration of the original {BIMED} programs.
	It was developed at {UCLA} Health Sciences Computing facility,
	with NIH funding.  The "P" in BMDP originally stood for
	"parameter" but was later changed to "package".  BMDP used
	keyword parameters to defined what was to be done rather than
	the fixed card format used by original BIMED programs.

	BMDP supports many statistical funtions: simple data
	description, {survival analysis}, {ANOVA}, {multivariate
	analyses}, {regression analysis}, and {time series} analysis.

	BMDP Professional combines the full suite of BMDP Classic
	(Dynamic) release 7.0 with the BMDP New System 2.0 {Windows}
	front-end.

	{BMDP from Statistical Solutions
	(http://statsol.ie/bmdp/bmdp.htm)}.

	(2004-01-14)

biometric device

	{biometrics}

biometrics

	<security, hardware> The use of special input devices to
	analyse some physical parameter assumed to be unique to an
	individual, in order to confirm their identity as part of an
	{authentication} procedure.

	Examples include {fingerprint scanning}, {iris recognition},
	{facial recognition}, voice recognition ({speaker
	recognition}), {signature}, {vascular pattern recognition}.

	{(http://www.findbiometrics.com/Pages/guide2.html)}.

	(2007-02-22)

BIOR

	An early system on {UNIVAC} I or II.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-04-01)

BIOS

	{Basic Input/Output System}

BIP

	An incorrect singular of {BIPS}.  One billion instructions per
	second is 1 BIPS, not 1 BIP.

bipartite graph

	{complete graph}

BIPM

	{Bureau International des Poids et Mesures}

bipolar

	1. <electronics> See {bipolar transistor}.

	2. <communications> In digital transmission, an electrical
	line signalling method where the mark value alternates between
	positive and negative polarities.

	See also {AMI}.

	(1995-03-02)

bipolar transistor

	<electronics> A {transistor} made from a sandwich of n- and
	p-type {semiconductor} material: either npn or pnp.  The
	middle section is known as the "base" and the other two as the
	"collector" and "emitter".  When used as an amplifying
	element, the base to emitter junction is in a "forward-biased"
	(conducting) condition, and the base to collector junction is
	"reverse-biased" or non-conducting.  Small changes in the base
	to emitter current (the input signal) cause either {holes}
	(for pnp devices) or free {electrons} (for npn) to enter the
	base from the emitter.  The attracting voltage of the
	collector causes the majority of these charges to cross into
	and be collected by the collector, resulting in amplification.

	Contrast {field effect transistor}.

	(1995-10-04)

BIPS

	Billion (10^9) instructions per second.  Same as {GIPS}.

Bird-Meertens Formalism

	<theory, programming> (BMF) (Or "Squiggol") A calculus for
	derivation of {functional programs} from a specification.  It
	consists of a set of {higher-order functions} that operate on
	lists including {map}, {fold}, {scan}, {filter}, inits, tails,
	{cross product} and {function composition}.

	["A Calculus of Functions for Program Derivation", R.S. Bird,
	in Res Topics in Fnl Prog, D. Turner ed, A-W 1990].

	["The Squiggolist", ed Johan Jeuring, published irregularly by
	CWI Amsterdam].

	(1995-05-01)

Birds Of a Feather

	(BOF) (From the saying "Birds of a feather flock together") An
	informal discussion group, scheduled on a conference program
	or formed ad hoc, to consider a specific issue or subject.  It
	is not clear where or when this term originated, but it is now
	associated with the {USENIX} conferences for {Unix} techies
	and was already established there by 1984.  It was used
	earlier than that at {DECUS} conferences and is reported to
	have been common at {SHARE} meetings as far back as the early
	1960s.

	(1994-10-11)

BISDN

	Broadband {Integrated Services Digital Network}.

Bison

	<tool> {GNU}'s replacement for the {yacc} {parser generator}.
	Bison runs under {Unix} and on {Atari} computers.  It was
	written by Robert Corbett.

	Latest version: 1.28, as of 2000-05-22.

	As of version 1.24, Bison will no longer apply the {GNU}
	{General Public License} to your code.  You can use the output
	files without restriction.

	{FTP GNU.org (ftp://ftp.gnu.org/gnu/bison/)} or your nearest
	{GNU archive site}.

	E-mail: <bug-bison@gnu.org>.

	{Bison++} is a version which produces {C++} output.

	(2000-07-05)

Bison++

	GNU's Yacc parser generator retargeted to C++ by Alain
	Coetmeur <coetmeur@icdc.fr>.  Version 1.04.

	{(ftp://iecc.com/pub/file/bison++.tar.gz)}.
	{(ftp://iecc.com/pub/file/misc++.tar.gz)}.
	{(ftp://psuvax1.cs.psu.edu/pub/src/gnu/bison++-1.04.tar.Z)}.

	(1993-07-08)

BIST

	{Built-in Self Test}

bisync

	{Binary Synchronous Transmission}

bit

	<unit> (b) {binary} digit.

	The unit of information; the amount of information obtained by
	asking a yes-or-no question; a computational quantity that can
	take on one of two values, such as false and true or 0 and 1;
	the smallest unit of storage - sufficient to hold one bit.

	A bit is said to be "set" if its value is true or 1, and
	"reset" or "clear" if its value is false or 0.  One speaks of
	setting and clearing bits.  To {toggle} or "invert" a bit is
	to change it, either from 0 to 1 or from 1 to 0.

	The term "bit" first appeared in print in the computer-science
	sense in 1949, and seems to have been coined by the eminent
	statistician, {John Tukey}.  Tukey records that it evolved
	over a lunch table as a handier alternative to "bigit" or
	"binit".

	See also {flag}, {trit}, {mode bit}, {byte}, {word}.

	[{Jargon File}]

	(2002-01-22)

bit bang

	Transmission of data on a {serial line} accomplished by
	rapidly changing a single output bit, in software, at the
	appropriate times.  The technique is a simple loop with eight
	OUT and SHIFT instruction pairs for each byte.  Input is more
	interesting.  And {full-duplex} (doing input and output at the
	same time) is one way to separate the real hackers from the
	{wannabees}.

	Bit bang was used on certain early models of {Prime}
	computers, presumably when {UARTs} were too expensive, and on
	archaic {Zilog Z80} micros with a {Zilog} PIO but no SIO.  In
	an interesting instance of the {cycle of reincarnation}, this
	technique is now (1991) coming back into use on some {RISC}
	architectures because it consumes such an infinitesimal part
	of the processor that it actually makes sense not to have a
	{UART}.

	[{Jargon File}]

bit bashing

	(Also "bit diddling" or {bit twiddling}).  Any of several
	kinds of low-level programming characterised by manipulation
	of {bit}, {flag}, {nibble}, and other
	smaller-than-character-sized pieces of data.  These include
	low-level device control, encryption algorithms, checksum and
	error-correcting codes, hash functions, some flavours of
	graphics programming (see {bitblt}), and assembler/compiler
	code generation.  May connote either tedium or a real
	technical challenge (more usually the former).  "The command
	decoding for the new tape driver looks pretty solid but the
	bit-bashing for the control registers still has bugs."  See
	also {bit bang}, {mode bit}.

bitblt

	/bit'blit/ [{BLT}] 1. Any of a family of closely related
	algorithms for moving and copying rectangles of bits between
	main and display memory on a {bit-mapped} device, or between
	two areas of either main or display memory (the requirement to
	do the {Right Thing} in the case of overlapping source and
	destination rectangles is what makes BitBlt tricky).

	2. {blit}, {BLT}.

	[{Jargon File}]

bit bucket

	<jargon> 1. (Or "{write-only memory}", "WOM") The universal
	data sink (originally, the mythical receptacle used to catch
	bits when they fall off the end of a {register} during a
	{shift} instruction).  Discarded, lost, or destroyed data is
	said to have "gone to the bit bucket".  On {Unix}, often used
	for {/dev/null}.  Sometimes amplified as "the Great Bit Bucket
	in the Sky".

	2. The place where all lost mail and news messages eventually
	go.  The selection is performed according to {Finagle's Law};
	important mail is much more likely to end up in the bit bucket
	than junk mail, which has an almost 100% probability of
	getting delivered.  Routing to the bit bucket is automatically
	performed by mail-transfer agents, news systems, and the lower
	layers of the network.

	3. The ideal location for all unwanted mail responses: "Flames
	about this article to the bit bucket."  Such a request is
	guaranteed to overflow one's mailbox with flames.

	4. Excuse for all mail that has not been sent.  "I mailed you
	those figures last week; they must have landed in the bit
	bucket."  Compare {black hole}.

	This term is used purely in jest.  It is based on the fanciful
	notion that bits are objects that are not destroyed but only
	misplaced.  This appears to have been a mutation of an earlier
	term "bit box", about which the same legend was current;
	old-time hackers also report that trainees used to be told
	that when the CPU stored bits into memory it was actually
	pulling them "out of the bit box".

	Another variant of this legend has it that, as a consequence
	of the "parity preservation law", the number of 1 bits that go
	to the bit bucket must equal the number of 0 bits.  Any
	imbalance results in bits filling up the bit bucket.  A
	qualified computer technician can empty a full bit bucket as
	part of scheduled maintenance.

	In contrast, a "{chad box}" is a real container used to catch
	{chad}.  This may be related to the origin of the term "bit
	bucket" [Comments ?].

	(1996-11-20)

bit decay

	{bit rot}

bit diddling

	{bit bashing}

bite

	{byte}

Bit Error Rate

	<data, communications> (BER) The fraction of a message or block of
	{data} that is wrong.

	(2003-03-25)

bit field

	<data> Part of an item of data, storage location or message,
	identified as a certain number of contiguous {bits} starting
	at a certain bit position within the data.  Bit position zero
	is usually the least significant bit.

	For example, in an {ARM} {machine code} instruction the
	four-bit field at bits 28 to 31 (the four most significant
	bits in the 32-bit word) is the "condition code".

	(2007-03-26)

bitmap

	<graphics, file format> A data file or structure which
	corresponds {bit} for bit with an {image} displayed on a
	screen, probably in the same format as it would be stored in
	the display's {video memory} or maybe as a {device independent
	bitmap}.  A bitmap is characterised by the width and height of
	the image in {pixels} and the number of bits per pixel which
	determines the number of shades of grey or colours it can
	represent.  A bitmap representing a coloured image (a
	"{pixmap}") will usually have pixels with between one and
	eight bits for each of the red, green, and blue components,
	though other colour encodings are also used.  The green
	component sometimes has more bits that the other two to cater
	for the human eye's greater discrimination in this component.

	See also {vector graphics}, {image formats}.

	(1996-09-21)

bitmap display

	<hardware> A computer output device where each {pixel}
	displayed on the {monitor} screen corresponds directly to one
	or more {bits} in the computer's {video memory}.  Such a
	display can be updated extremely rapidly since changing a
	pixel involves only a single processor write to memory
	compared with a {terminal} or {VDU} connected via a serial
	line where the speed of the serial line limits the speed at
	which the display can be changed.

	Most modern {personal computers} and {workstations} have
	bitmap displays, allowing the efficient use of {graphical user
	interfaces}, interactive graphics and a choice of on-screen
	{fonts}.  Some more expensive systems still delegate graphics
	operations to dedicated hardware such as {graphics
	accelerators}.

	The bitmap display might be traced back to the earliest days
	of computing when the Manchester University Mark I(?)
	computer, developed by F.C. Williams and T. Kilburn shortly
	after the Second World War.  This used a {storage tube} as its
	{working memory}.  Phosphor dots were used to store single
	bits of data which could be read by the user and interpreted
	as binary numbers.

	[Is this history correct?  Was it ever used to display
	"graphics"?  What was the resolution?]

	(2002-05-15)

bitmap font

	<text> A {font} where each character is stored as an {array}
	of {pixels} (a {bitmap}).  Such fonts are not easily scalable,
	in contrast to {vectored fonts} (like those used in
	{PostScript}).

	[Examples?]

	(1995-02-16)

bitmapped display

	{bitmap display}

bit mask

	<programming> A pattern of {binary} values which is combined
	with some value using {bitwise} AND with the result that bits
	in the value in positions where the mask is zero are also set
	to zero.  For example, if, in {C}, we want to test if bits 0
	or 2 of x are set, we can write

		int mask = 5;	/* binary 101 */

		if (x & mask) ...

	A bit mask might also be used to set certain bits using
	bitwise OR, or to invert them using bitwise {exclusive OR}.

	(1995-05-12)

BITNET

	<networking> /bit'net/ (Because It's Time NETwork) An academic
	and research computer network connecting approximately 2500
	computers.  BITNET provides interactive, {electronic mail} and
	file transfer services, using a {store and forward}
	{protocol}, based on {IBM} {Network Job Entry} protocols.

	Bitnet-II encapsulates the Bitnet protocol within {IP}
	{packets} and depends on the {Internet} to route them.  BITNET
	traffic and Internet traffic are exchanged via several
	{gateway} hosts.

	BITNET is now operated by {CREN}.

	BITNET is everybody's least favourite piece of the network.
	The BITNET hosts are a collection of {IBM} {dinosaurs},
	{VAXen} (with lobotomised communications hardware), and {Prime
	Computer} supermini computers.  They communicate using
	80-character {EBCDIC} card images (see {eighty-column mind});
	thus, they tend to mangle the {headers} and text of
	third-party traffic from the rest of the {ASCII}/{RFC 822}
	world with annoying regularity.  BITNET is also notorious as
	the apparent home of {BIFF}.

	[{Jargon File}]

	(2002-09-02)

bitonal image

	<graphics> An {image} consisting only of a foreground colour
	and a background colour.

	Compare {monochrome}.

	(1998-03-14)

bit-paired keyboard

	<hardware> (Obsolete, or "bit-shift keyboard") A non-standard
	keyboard layout that seems to have originated with the
	{Teletype} {ASR-33} and remained common for several years on
	early computer equipment.  The ASR-33 was a mechanical device
	(see {EOU}), so the only way to generate the character codes
	from keystrokes was by some physical linkage.  The design of
	the ASR-33 assigned each character key a basic pattern that
	could be modified by flipping bits if the SHIFT or the CTRL
	key was pressed.  In order to avoid making the thing more of a
	Rube Goldberg {kluge} than it already was, the design had to
	group characters that shared the same basic bit pattern on one
	key.

	Looking at the {ASCII} chart, we find:

	 high  low bits
	 bits  0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
	 010        !    "    #    $    %    &    '    (    )
	 011   0    1    2    3    4    5    6    7    8    9

	This is why the characters !"#$%&'() appear where they do on a
	Teletype (thankfully, they didn't use shift-0 for space).
	This was *not* the weirdest variant of the {QWERTY} layout
	widely seen, by the way; that prize should probably go to one
	of several (differing) arrangements on {IBM}'s even clunkier
	026 and 029 card punches.

	When electronic {terminals} became popular, in the early
	1970s, there was no agreement in the industry over how the
	keyboards should be laid out.  Some vendors opted to emulate
	the Teletype keyboard, while others used the flexibility of
	electronic circuitry to make their product look like an office
	typewriter.  These alternatives became known as "bit-paired"
	and "typewriter-paired" keyboards.  To a hacker, the
	bit-paired keyboard seemed far more logical - and because most
	hackers in those days had never learned to touch-type, there
	was little pressure from the pioneering users to adapt
	keyboards to the typewriter standard.

	The doom of the bit-paired keyboard was the large-scale
	introduction of the computer terminal into the normal office
	environment, where out-and-out technophobes were expected to
	use the equipment.  The "typewriter-paired" standard became
	universal, "bit-paired" hardware was quickly junked or
	relegated to dusty corners, and both terms passed into disuse.

	[{Jargon File}]

	(1995-02-20)

bit pattern

	<data> A sequence of {bits}, in a memory, a communications
	channel or some other device.  The term is used to contrast
	this with some higher level interpretation of the bits such as
	an integer or an {image}.  A {bit string} is similar but
	suggests an arbitrary, as opposed to predetermined, length.

	(1998-09-27)

bit plane

	<graphics> (Or "bitplane") The memory in a graphic display
	device which holds a complete one-bit-per-{pixel} image.
	Several bit planes may be used in conjunction to give more
	bits per pixel or to overlay several images or mask one with
	another.

	"Bit plane" may be used as a synonym for "{bitmap}", though
	the latter suggests the data itself rather than the memory and
	also suggests a graphics file format.

	(1997-03-16)

bit rate

	<communications, digital signal processing> (Or "bitrate") A
	{data rate} expressed in bits per second.  This is a similar
	to {baud} but the latter is more applicable to channels with
	more than two states.

	The common units of bit rate are {kilobits per second} (Kbps)
	and {megabits per second} (Mbps).  In data rates, the
	multipliers "k", "M", etc. stand for powers of 1000 not powers
	of 1024.

	The term is also commonly used when discussing digital
	{sampling} and {sample rates}.  For example, the {MP3} audio
	{compaction} algorithm is often set to ouput files with a
	bitrate of 120 kbps.  This means that the file contains an
	average of 120 kilobits for each second of audio (900 KB per
	minute).  This compares with {CD audio} which is encoded at
	44100 16-bit stereo samples per second or 1408 kbps.

	(2003-05-19)

bit-robbing

	{in-band signalling}

bit rot

	<jargon> A hypothetical disease the existence of which has
	been deduced from the observation that unused programs or
	features will often stop working after sufficient time has
	passed, even if "nothing has changed".  The theory explains
	that bits decay as if they were radioactive.  As time passes,
	the contents of a file or the code in a program will become
	increasingly garbled.

	People with a physics background tend to prefer the variant
	"bit decay" for the analogy with particle decay.

	There actually are physical processes that produce such
	effects (alpha particles generated by trace radionuclides in
	ceramic chip packages, for example, can change the contents of
	a computer memory unpredictably, and various kinds of subtle
	media failures can corrupt files in mass storage), but they
	are quite rare (and computers are built with {error detection}
	circuitry to compensate for them).  The notion long favoured
	among hackers that {cosmic rays} are among the causes of such
	events turns out to be a myth.

	Bit rot is the notional cause of {software rot}.

	See also {computron}, {quantum bogodynamics}.

	[{Jargon File}]

	(1998-03-15)

bit slice

	<architecture> A technique for constructing a {processor} from
	modules, each of which processes one {bit-field} or "slice" of
	an {operand}.  Bit slice processors usually consist of an
	{ALU} of 1, 2, 4 or 8 bits and control lines (including
	{carry} or {overflow} signals usually internal to the {CPU}).
	For example, two 4-bit ALUs could be arranged side by side,
	with control lines between them, to form an 8-bit ALU.  A
	{sequencer} executes a program to provide data and control
	signals.

	The {AMD Am2901} is an example.

	(1994-11-15)

bits per inch

	<unit> (BPI) A measure of the recording density of a {magnetic
	tape} or {disk}.

	(1995-04-13)

bits per pixel

	<hardware, graphics> (bpp) The number of {bits} of information
	stored per {pixel} of an {image} or displayed by a {graphics
	adapter}.  The more bits there are, the more colours can be
	represented, but the more memory is required to store or
	display the image.

	A colour can be described by the intensities of red, green and
	blue ({RGB}) components.  Allowing 8 {bits} (1 {byte}) per
	component (24 bits per pixel) gives 256 levels for each
	component and over 16 million different colours - more than
	the human eye can distinguish.  {Microsoft Windows} [and
	others?] calls this {truecolour}.  An image of 1024x768 with
	24 bpp requires over 2 MB of memory.

	"High colour" uses 16 bpp (or 15 bpp), 5 bits for blue, 5 bits
	for red and 6 bits for green.  This reduced colour precision
	gives a slight loss of image quality at a 1/3 saving on
	memory.

	Standard {VGA} uses a {palette} of 16 colours (4 bpp), each
	colour in the palette is 24 bit.  Standard {SVGA} uses a
	{palette} of 256 colours (8 bpp).

	Some graphics hardware and software support 32-bit colour
	depths, including an 8-bit "{alpha channel}" for transparency
	effects.

	(1999-08-01)

bits per second

	<communications, unit> (bps, b/s) The unit in which {data
	rate} is measured.

	For example, a {modem}'s data rate is usually measured in
	{kilobits} per second.  In 1996, the maximum modem speed for
	use on the {PSTN} was 33.6 kbps, rising to 56 kbps in 1997.

	Note that kilo- (k), mega- (M), etc. in data rates denote
	powers of 1000, not 1024.

	(2002-03-23)

bit string

	<programming, data> An ordered sequence of {bits}.  This is
	very similar to a {bit pattern} except that the term "string"
	suggests an arbitrary length sequence as opposed to a
	pre-determined length "pattern".

bit stuffing

	<protocol> A {protocol} which guarantees the receiver of
	{synchronous} data can recover the sender's clock.  When the
	data stream sent contains a large number of adjacent bits
	which cause no transition of the signal, the receiver cannot
	adjust its clock to maintain proper synchronised reception.
	To eliminate the possibility of such a pathological case, when
	a preset number of transitionless bits have been transmitted,
	a bit which does cause a transition is "stuffed" (transmitted)
	by the sender.  The receiver follows the same protocol and
	removes the stuffed bit after the specified number of
	transitionless bits, but can use the stuffed bit to recover
	the sender's clock.

	The advantage of bit stuffing is that only a bit (not a
	{byte}) is inserted in the data stream, and that only when the
	content of the data stream fails to provide a timing signal to
	the receiver.  Thus very nearly 100% of the bits transported
	are useful data.  In contrast, {asynchronous} transmission of
	data "throws away" a start bit and one or more stop bits for
	each data byte sent.

	(1996-04-23)

BitTorrent

	<networking> A popular, distributed form of {peer-to-peer}
	{file sharing} that enables a {client} program to fetch
	different parts of a file (a "torrent") from different sources
	in parallel.  The system is designed to encourage users to
	make downloaded data available for others to upload.  This is
	aided by a scheme for exchanging unique identifiers, commonly
	stored in ".torrent" files.  A downloader who does not serve
	data to others is called a "leech".  A "seed" is a computer
	that has a complete copy of a file, possibly the original.

	The bittorrent.com site claims there are over 100 million
	users as of 2007-03-24.

	Most of the data is copyright material like films or
	commercial software.

	{(http://www.bittorrent.com/what-is-bittorrent)}.

	(2007-03-27)

bit twiddling

	1. (pejorative) An exercise in tuning (see {tune}) in which
	incredible amounts of time and effort go to produce little
	noticeable improvement, often with the result that the code
	becomes incomprehensible.

	2. Aimless small modification to a program, especially for
	some pointless goal.

	3. {bit bashing}, especially used for the act of frobbing the
	device control register of a peripheral in an attempt to get
	it back to a known state.

	[{Jargon File}]

bitty box

	<abuse> (Or "calculator") /bit'ee boks/ A computer
	sufficiently small, primitive, or incapable as to cause a
	hacker acute claustrophobia at the thought of developing
	software on or for it.  The term is especially used of small,
	obsolescent, {single-tasking}-only {personal computers} such
	as the {Atari 800}, {Osborne}, {Sinclair}, {VIC-20}, {TRS-80}
	or {IBM PC}, but the term is a general pejorative opposite of
	"real computer" (see {Get a real computer!}).

	See also {mess-dos}, {toaster}, {toy}.

	(1994-11-29)

bitwise

	<programming> A bitwise operator treats its operands as a
	{vector} of {bits} rather than a single number.  {Boolean}
	bitwise operators combine bit N of each operand using a
	{Boolean} function ({NOT}, {AND}, {OR}, {XOR}) to produce bit
	N of the result.

	For example, a bitwise AND operator ("&" in {C}) would
	evaluate 13 & 9 as (binary) 1101 & 1001 = 1001 = 9, whereas,
	the logical AND, ({C} "&&") would evaluate 13 && 9 as TRUE &&
	TRUE = TRUE = 1.

	In some languages, e.g. {Acorn}'s {BASIC V}, the same operators
	are used for both bitwise and logical operations.  This
	usually works except when applying NOT to a value x which is
	neither 0 (false) nor -1 (true), in which case both x and (NOT
	x) will be non-zero and thus treated as TRUE.

	Other operations at the bit level, which are not normally
	described as "bitwise" include shift and rotate.

	(1995-05-12)

bitwise complement

	The bitwise complement of a {bit field} is a bit field of the
	same length but with each zero changed to a one and vice
	versa.  This is the same as the {ones complement} of a binary
	integer.

	(1994-11-14)

bixie

	/bik'see/ Variant {emoticons} used on {Byte Information
	eXchange}.  The {smiley} bixie is <@_@>, apparently intending
	to represent two cartoon eyes and a mouth.  A few others have
	been reported.

	[{Jargon File}]

	(1994-11-29)

biz-core stability

	<security> {Internet} security products which secure the
	{business core}.

	[Examples?]

	(2003-03-09)

bj

	<networking> The {country code} for Benin.

	(1999-01-27)

Bjarne Stroustrup

	<person> The father of {C++} and author of the C++ {bible}.

	["The C++ Programming Language", Bjarne Stroustrup,
	Addison-Wesley, 1986].

	[Details?]

	(2000-05-12)

BJC4000

	A colour {bubble jet} printer from {Canon}.  Released in
	September 1994.  It features 720 x 360 dots per inch in black
	and white mode and 360 x 360 in colour.  It has two
	cartridges: one for black and one for the three primary
	colours so it prints true black when printing in colour.

	(1994-11-29)

black art

	A collection of arcane, unpublished, and (by implication)
	mostly ad-hoc techniques developed for a particular
	application or systems area (compare {black magic}).  VLSI
	design and compiler code optimisation were (in their
	beginnings) considered classic examples of black art; as
	theory developed they became {deep magic}, and once standard
	textbooks had been written, became merely {heavy wizardry}.
	The huge proliferation of formal and informal channels for
	spreading around new computer-related technologies during the
	last twenty years has made both the term "black art" and what
	it describes less common than formerly.  See also {voodoo
	programming}.

	[{Jargon File}]

black box

	<jargon> An {abstraction} of a device or system in which only
	its externally visible behaviour is considered and not its
	implementation or "inner workings".

	See also {functional testing}.

	(1997-07-03)

black-box testing

	{functional testing}

Black Data Processing Associates

	<body> (BDPA) A non-profit professional association, founded
	in 1975 to promote positive influence in the {information
	technology} (IT) industry and how it affects African
	Americans.  The BDPA facilitates African American professional
	participation in local and national activities keeping up with
	developing IT trends.

	BDPA offers a forum for exchanging information and ideas about
	the computer industry.  It provides numerous networking
	opportunities through monthly program meetings, seminars, and
	workshops and the annual national conference.  Membership is
	open to anyone interested in IT.

	The Foundation provides scholarships to students who compete
	in an annual {Visual Basic} competition.

	{(http://bdpa.org/conf96)}.

	E-mail: <nbdpa@ix.netcom.com>.

	Telephone: Ms. Pat Drumming, +1 (800) 727-BDPA.

	(1996-04-07)

black hole

	1. An expression which depends on its own value or a technique
	to detect such expressions.  In graph reduction, when the
	reduction of an expression is begun, the root of the
	expression can be overwritten with a black hole.  If the
	expression depends on its own value, e.g.

		x = x + 1

	then it will try to evaluate the black hole which will usually
	print an error message and abort the program.  A secondary
	effect is that, once the root of the expression has been
	black-holed, parts of the expression which are no longer
	required may be freed for garbage collection.

	Without black holes the usual result of attempting to evaluate
	an expression which depends on itself would be a stack
	overflow.  If the expression is evaluated successfully then
	the black hole will be updated with the value.

	Expressions such as

		ones = 1 : ones

	are not black holes because the list constructor, : is lazy so
	the reference to ones is not evaluated when evaluating ones to
	WHNF.

	2. Where an {electronic mail} message or {news} aritcle has
	gone if it disappears mysteriously between its origin and
	destination sites without returning a {bounce message}.
	Compare {bit bucket}.

	[{Jargon File}]

BlackIce

	<software, security> A commercial {firewall} and {intrusion
	detection} system.

	{BlackIce Home (http://blackice.iss.net/)}.

	(2003-09-13)

black magic

	<jargon> (Or "{FM}") A technique that works, though nobody
	really understands why.  More obscure than {voodoo
	programming}, which may be done by {cookbook}.

	Compare {black art}, {deep magic}, and {magic number}.

	(2001-04-30)

blargh

	/blarg/ [MIT] The opposite of {ping}.  An exclamation
	indicating that one has absorbed or is emitting a quantum of
	unhappiness.  Less common than {ping}.

	[{Jargon File}]

blast

	1. {BLT}, used especially for large data sends over a network
	or comm line.  Opposite of {snarf}.  Usage: uncommon.  The
	variant "blat" has been reported.

	2. [HP/Apollo] Synonymous with {nuke}.  Sometimes the message
	"Unable to kill all processes.  Blast them (y/n)?"  would
	appear in the command window upon logout.

blat

	1. {blast}.

	2. See {thud}.

	[{Jargon File}]

BLAZE

	A {single assignment} language for {parallel processing}.

	["The BLAZE Language: A Parallel Language for Scientific
	Programming", P. Mehrotra <mehrotra@csrd.uiuc.edu> et al, J
	Parallel Comp 5(3):339-361 (Nov 1987)].

BLAZE 2

	An {object-oriented} successor to {BLAZE}.

	["Concurrent Object Access in BLAZE 2", P. Mehrotra et al,
	SIGPLAN Notices 24(4):40-42 (Apr 1989)].

bleam

	<jargon> To transmit or send data.

	"Bleam that binary to me in an e-mail".

	[Origin?  Used where?]

	(1997-05-14)

bleeper

	{pager}

bletcherous

	/blech'*-r*s/ Disgusting in design or function; aesthetically
	unappealing.  This word is seldom used of people.  "This
	keyboard is bletcherous!" (Perhaps the keys don't work very
	well, or are misplaced.)  The term {bletcherous} applies to
	the esthetics of the thing so described; similarly for
	cretinous.  By contrast, something that is "losing" or
	"bagbiting" may be failing to meet objective criteria.

	[{Jargon File}]

Bletchley Park

	<body, history> A country house and grounds some 50 miles
	North of London, England, where highly secret work deciphering
	intercepted German military radio messages was carried out
	during World War Two.  Thousands of people were working there
	at the end of the war, including a number of early computer
	pioneers such as {Alan Turing}.

	The nature and scale of the work has only emerged recently,
	with total secrecy having been observed by all the people
	involved.  Throughout the war, Bletchley Park produced highly
	important strategic and tactical intelligence used by the
	Allies, (Churchill's "golden eggs"), and it has been claimed
	that the war in Europe was probably shortened by two years as
	a result.

	An exhibition of wartime code-breaking memorabilia, including
	an entire working {Colossus}, restored by Tony Sale, can be
	seen at Bletchley Park on alternate weekends.

	The {Computer Conservation Society} (CCS), a specialist group
	of the {British Computer Society} runs a museum on the site
	that includes a working {Elliot} {mainframe} computer and many
	early {minicomputers} and {microcomputers}.  The CCS hope to
	have substantial facilities for storage and restoration of old
	artifacts, as well as archive, library and research
	facilities.

	Telephone: Bletchley Park Trust office +44 (908) 640 404
	(office hours and open weekends).

	(1998-12-18)

Blind Carbon Copy

	<messaging> (BCC) An {electronic mail} {header} which lists
	addresses to which a message should be sent, but which will
	not be seen by the recipients.

	Bcc is defined in {RFC 822} and supported by most e-mail
	systems.  A normal, non-blind "CC" header would be visible to
	all recipients, thus allowing them to reply to each other as
	well as to the sender.  According to RFC 822, the addresses
	listed in a BCC header are not included in the copies of the
	message sent to the recipients.  RFC 822 says BCC addresses
	may appear in the copy sent to "BCC" recipients themselves
	(though this would be unusual).

	(1998-03-14)

B-LINE

	An early {CAD} language.

	["B-LINE, Bell Line Drawing Language", A.J. Frank, Proc Fall
	JCC 33 1968].

	(1994-11-17)

blinkenlights

	/blink'*n-li:tz/ Front-panel diagnostic lights on a computer,
	especially a {dinosaur}.  Derives from the last word of the
	famous blackletter-Gothic sign in mangled pseudo-German that
	once graced about half the computer rooms in the
	English-speaking world.  One version ran in its entirety as
	follows:

			ACHTUNG!  ALLES LOOKENSPEEPERS!

	  Das computermachine ist nicht fuer gefingerpoken und
	  mittengrabben.  Ist easy schnappen der springenwerk,
	  blowenfusen und poppencorken mit spitzensparken.  Ist nicht
	  fuer gewerken bei das dumpkopfen.  Das rubbernecken
	  sichtseeren keepen das cotten-pickenen hans in das pockets
	  muss; relaxen und watchen das blinkenlichten.

	This silliness dates back at least as far as 1959 at Stanford
	University and had already gone international by the early
	1960s, when it was reported at London University's ATLAS
	computing site.  There are several variants of it in
	circulation, some of which actually do end with the word
	"blinkenlights".

	In an amusing example of turnabout-is-fair-play, German
	hackers have developed their own versions of the blinkenlights
	poster in fractured English, one of which is reproduced here:

	                         ATTENTION

	  This room is fullfilled mit special electronische
	  equippment.  Fingergrabbing and pressing the cnoeppkes from
	  the computers is allowed for die experts only!  So all the
	  "lefthanders" stay away and do not disturben the
	  brainstorming von here working intelligencies.  Otherwise
	  you will be out thrown and kicked anderswhere!  Also: please
	  keep still and only watchen astaunished the blinkenlights.

	See also {geef}.

	[{Jargon File}]

BLISS

	{Basic Language for Implementation of System Software}

BLISS-10

	<language> A version of {BLISS} from {CMU} for the {PDP-10}.

	(2002-02-01)

BLISS-11

	<language> A {cross-compiler} for the {PDP-11} running on a
	{PDP-10}.  Written at {CMU} to support the {C.mmp}/{Hydra}
	project.

	(2002-02-01)

BLISS-16C

	<language> {DEC}'s {cross-compiler} equivalent of {BLISS-11}.

	(2002-02-01)

BLISS-32

	<language> A version of {BLISS} from DEC for {VAX}/{VMS}.

	(2002-02-01)

BLISS-36

	<language> {DEC}'s equivalent of {BLISS-10}.

	(2002-02-01)

blit

	/blit/ 1. To copy a large array of bits from one part of a
	computer's memory to another part, particularly when the
	memory is being used to determine what is shown on a display
	screen.  "The storage allocator picks through the table and
	copies the good parts up into high memory, and then blits it
	all back down again."  See {bitblt}, {BLT}, {dd}, {cat},
	{blast}, {snarf}.  More generally, to perform some operation
	(such as toggling) on a large array of bits while moving them.

	2. Sometimes all-capitalised as "BLIT": an early experimental
	{bit-mapped} {terminal} designed by Rob Pike at {Bell Labs},
	later commercialised as the {AT&T 5620}.  (The folk etymology
	from "Bell Labs Intelligent Terminal" is incorrect.  Its
	creators liked to claim that "Blit" stood for the Bacon,
	Lettuce, and Interactive Tomato).

	[{Jargon File}]

	(1994-11-16)

blitter

	<hardware, graphics> /blit'r/ (Or "{raster blaster}").  A
	special-purpose {integrated circuit} or hardware system built
	to perform {blit} (or "{bit bang}") operations, especially
	used for fast implementation of {bit-mapped} graphics.

	The {Commodore} {Amiga} and a few other {microcomputers} have
	these, but in 1991 the trend is away from them (however, see
	{cycle of reincarnation}).

	[{Jargon File}]

	(1996-04-30)

blivet

	/bliv'*t/ [allegedly from a World War II military term meaning
	"ten pounds of manure in a five-pound bag"] 1. An intractable
	problem.

	2. A crucial piece of hardware that can't be fixed or replaced
	if it breaks.

	3. A tool that has been hacked over by so many incompetent
	programmers that it has become an unmaintainable tissue of
	hacks.

	4. An out-of-control but unkillable development effort.

	5. An embarrassing bug that pops up during a customer demo.

	6. In the subjargon of computer security specialists, a
	denial-of-service attack performed by hogging limited
	resources that have no access controls (for example, shared
	spool space on a multi-user system).

	This term has other meanings in other technical cultures;
	among experimental physicists and hardware engineers of
	various kinds it seems to mean any random object of unknown
	purpose (similar to hackish use of {frob}).  It has also been
	used to describe an amusing trick-the-eye drawing resembling a
	three-pronged fork that appears to depict a three-dimensional
	object until one realises that the parts fit together in an
	impossible way.

	[{Jargon File}]

bloat

	{software bloat}

bloatware

	<jargon, abuse> {Software} suffering from {software bloat}.

	(1995-10-14)

BLOB

	1. {binary large object}.

	2. <architecture> {blitter object}.

	[{Jargon File}]

block

	1. <unit> A unit of data or memory, often, but not
	exclusively, on a {magnetic disk} or {magnetic tape}.

	Compare {record}, {sector}.

	(2000-07-17)

	2. <operating system> To delay or sit idle while waiting for
	something.

	Compare {busy-wait}.

	(2000-07-17)

	3. <programming> A delimited section of {source code} in a
	{block-structured} language.

	(2004-09-29)

Block And List Manipulation

	{BALM}

Block Diagram Compiler

	<simulation, language> (BDL) A {block diagram} simulation tool,
	with associated language.

	["A Software Environment for Digital Signal-Processing
	Simulations," D.H. Johnson & R.E. Vaughan, Circuits Systems
	and Signal Processing 6(1):31-43, 1987].

	(2000-07-17)

blocked records

	<storage> Several {records} written as a contiguous block on
	{magnetic tape} so that they may be accessed in a single I/O
	operation.  Blocking increases the amount of data that may be
	stored on a tape because there are fewer {inter-block gaps}.
	It requires that the tape drive or processor have a
	sufficiently large buffer to store the whole block.

	(1995-04-13)

Block Redundancy Check

	{Longitudinal Redundancy Check}

Block Started by Symbol

	<memory> (BSS) The uninitialised data segment produced by
	{Unix} {linkers}.  Objects in the bss segment have only a name
	and a size but no value.

	Executable code is located in the {code segment} and
	initialised data in the {data segment}.

	(2004-02-24)

block-structured

	<language> Any programming language in which sections of
	{source code} contained within pairs of matching {delimiters}
	such as "{" and "}" (e.g. in {C}) or "begin" and "end"
	(e.g. {Algol}) are executed as a single unit.  A block of code
	may be the body of a {subroutine} or {function}, or it may be
	controlled by conditional execution ({if statement}) or
	repeated execution ({while statement}, {for statement}, etc.).

	In all but the most primitive block structured languages a
	{variable}'s {scope} can be limited to the block in which it
	is declared.

	Block-structured languages support {structured programming}
	where each block can be written without detailed knowledge of
	the inner workings of other blocks, thus allowing a {top-down
	design} approach.

	See also {abstract data type}, {module}.

	(2004-09-29)

block transfer computations

	<algorithm, humour> (From the UK television series "Dr. Who")
	Computations so fiendishly subtle and complex that they could
	not be performed by machines.  Used to refer to any task that
	should be expressible as an {algorithm} in theory, but isn't.

	[{Jargon File}]

	(2004-09-28)

blog

	<web> (From "web log") Any kind of diary published on
	the {web}, usually written by an individual (a
	"blogger") but also by corporate bodies.

	Blogging is regarded by some as an important social phenomenon as
	it contributes to the easy exchange of ideas among a large and
	growing international community ("the blogosphere").

	A blog is just a special kind of {website}.  The {home page}
	usually shows the most recent article and links to earlier
	articles, the owner's profile and web logs written by the owner's
	friends.  There is usually a facility for readers to add comments
	to the bottom of articles.  Blogs usually provide an {RSS feed} of
	current articles, allowing readers to subscribe by adding the feed
	to their favourite RSS reader.

	Many sites, e.g. {(http://blogger.com/)}, let you create a blog
	for free.  Many blogs consist almost entirely of links to other
	web logs, some publish original content, a few are worth reading.

	(2013-08-15)

blog-driven development

	{cut-and-waste code}

Bloggs Family, the

	An imaginary family consisting of Fred and Mary Bloggs and
	their children.  Used as a standard example in knowledge
	representation to show the difference between extensional and
	intensional objects.  For example, every occurrence of "Fred
	Bloggs" is the same unique person, whereas occurrences of
	"person" may refer to different people.  Members of the Bloggs
	family have been known to pop up in bizarre places such as the
	DEC Telephone Directory.  Compare {Mbogo, Dr. Fred}.

Bloombug

	<humour> A {bug} that accidentally generates money.

	[After "Bloomberg"?]

	(2012-11-10)

Blosim

	Block-Diagram Simulator.  A block-diagram simulator. "A Tool
	for Structured Functional Simulation", D.G. Messerschmitt,
	IEEE J on Selected Areas in Comm, SAC-2(1):137-147, 1984.

blow an EPROM

	/bloh *n ee'prom/ (Or "blast", "burn") To program a {read-only
	memory}, e.g. for use with an {embedded system}.  This term
	arose because the programming process for the {Programmable
	Read-Only Memory} (PROM) that preceded present-day {Erasable
	Programmable Read-Only Memory} (EPROM) involved intentionally
	blowing tiny electrical fuses on the chip.  The usage lives on
	(it's too vivid and expressive to discard) even though the
	write process on EPROMs is nondestructive.

	[{Jargon File}]

	(1994-11-29)

blow away

	<operating system, jargon> To remove (files and directories)
	from permanent storage, generally by accident.  "He
	reformatted the wrong partition and blew away last night's
	netnews".

	Compare: {nuke}.

	[{Jargon File}]

	(1996-01-05)

blowing your buffer

	<jargon> Losing your train of thought.  A reference to {buffer
	overflow}.

	(1999-01-15)

blow out

	<jargon> (Probably from mining and tunnelling jargon) Of
	{software}, to fail spectacularly; almost as serious as {crash
	and burn}.

	See {blow past}, {blow up}, {die horribly}.

	[{Jargon File}]

	(1994-11-29)

blow past

	To {blow out} despite a safeguard.  "The server blew past the
	5K reserve buffer."

	[{Jargon File}]

	(1994-11-29)

blow up

	1. Of a scientific computation: to become unstable.  It
	suggests that the computation is diverging so rapidly that it
	will soon overflow or at least go {nonlinear}.

	2. {blow out}.

	[{Jargon File}]

BLOX

	A {visual language}.

BLT

	1. /B-L-T/, /bl*t/ or (rarely) /belt/ Synonym for {blit}.
	This is the original form of {blit} and the ancestor of
	{bitblt}.  It refers to any large bit-field copy or move
	operation (one resource-intensive memory-shuffling operation
	done on pre-paged versions of {ITS}, {WAITS} and {TOPS-10} was
	sardonically referred to as "The Big BLT").  The jargon usage
	has outlasted the {PDP-10} BLock Transfer instruction from
	which {BLT} derives; nowadays, the {assembly language}
	{mnemonic} {BLT} almost always means "Branch if Less Than
	zero".

	2. bacon, lettuce and tomato (sandwich).

	[{Jargon File}]

Blue

	A language proposed by Softech to meet the {DoD} {Ironman}
	requirements which led to {Ada}.  ["On the BLUE Language
	Submitted to the DoD", E.W. Dijkstra, SIGPLAN Notices
	13(10):10-15 (Oct 1978)].

Blue Book

	1. <publication> Informal name for one of the four standard
	references on the page-layout and graphics-control language
	{PostScript}.  The other three official guides are known as
	the {Green Book}, the {Red Book}, and the {White Book}.

	["PostScript Language Tutorial and Cookbook", Adobe Systems,
	Addison-Wesley 1985, (ISBN 0-201-10179-3)].

	2. <publication> Informal name for one of the three standard
	references on Smalltalk.  This book also has green and red
	siblings.

	["Smalltalk-80: The Language and its Implementation", David
	Robson, Addison-Wesley 1983, (ISBN 0-201-11371-63)].

	3. <publication> Any of the 1988 standards issued by the
	{ITU-T}'s ninth plenary assembly.  These include, among other
	things, the {X.400} {electronic mail} specification and the
	Group 1 through 4 fax standards.

	See also {book titles}.

	[{Jargon File}]

	(1995-10-12)

Blue Box

	<operating system> The complete implementation of the {Mac OS}
	run-time environment on the more modern {Rhapsody} operating
	system.  {Blue Box} is not an {emulation} layer; at any given
	time it will be based on the same source code and ROM image as
	the current version of Mac OS and will thus incorporate future
	Mac OS improvements.

	(1997-10-15)

blue dot syndrome

	<graphics, jargon> The inability to display an {image} {file}
	or {text} embedded in an image file on your monitor.

	[Why?]

	(2002-05-28)

Blue Glue

	{Systems Network Architecture}

Blue Screen of Death

	<humour> (BSOD) The infamous white-on-blue text screen which
	appears when {Microsoft Windows} crashes.  BSOD is mostly seen
	on the 16-bit systems such as {Windows 3.1}, but also on
	{Windows 95} and apparently even under {Windows NT 4}.  It is
	most likely to be caused by a {GPF}, although Windows 95 can
	do it if you've removed a required {CD-ROM} from the drive.
	It is often impossible to recover cleanly from a BSOD.

	The acronym BSOD is sometimes used as a verb, e.g. "{Windoze}
	just keeps BSODing on me today".

	(1998-09-08)

Blue Screen of Life

	<operating system> (BSOL, by analogy with "{Blue Screen of
	Death}") The opening screen of {Microsoft} {Windows NT}.

	This screen shows the {file system} loading, and any problems
	such as conversions from {FAT} to {NTFS} or a scan of a {hard
	drive}.

	The Blue Screen of Life occurs in one way, as opposed to the
	{Blue Screen of Death}, which can occur in many different ways
	and times.

	[Is this term ever used in connection with {Windows 3.x} or
	{Windows 9x}?]

	(1999-04-18)

Blue Sky Software

	{eHelp Corporation}

Bluetooth

	<protocol, standard> A specification for short-range radio
	links between mobile computers, mobile phones, digital
	cameras, and other portable devices.

	{(http://bluetooth.com)}.

	(2001-03-16)

blue wire

	(IBM) Patch wires added to circuit boards at the factory to
	correct design or fabrication problems.  These may be
	necessary if there hasn't been time to design and qualify
	another board version.

	Compare {purple wire}, {red wire}, {yellow wire}.

	[{Jargon File}]

	(1994-11-29)

blurgle

	/bler'gl/ [Great Britain] Spoken {metasyntactic variable}, to
	indicate some text that is obvious from context, or which is
	already known.  If several words are to be replaced, blurgle
	may well be doubled or trebled.  "To look for something in
	several files use "{grep} string blurgle blurgle"."  In each
	case, "blurgle blurgle" would be understood to be replaced by
	the file you wished to search.  Compare {mumble}.

	[{Jargon File}]

bm

	<networking> The {country code} for Bermuda.

	(1999-01-27)

BMAN

	{Broadband Metropolitan Area Network}

BMASF

	Basic Module Algebra Specification Language?  "Design of a
	Specification Language by Abstract Syntax Engineering",
	J.C.M. Baeten et al, in LNCS 490, pp.363-394.

BMDP

	{BioMeDical Package}

B-Method

	<programming, tool> A system for rigorous or formal
	development of software using the notion of {Abstract
	Machines} to specify and design software systems.  The
	B-Method is supported by the {B-Toolkit}.

	Abstract Machines are specified using the Abstract Machine
	Notation (AMN) which is in turn based on the mathematical
	theory of {Generalised Substitutions}.

	(1995-03-13)

BMF

	{Bird-Meertens Formalism}

BMP

	{Basic Multilingual Plane}

bmp

	<file format, graphics> {Microsoft Windows} {bitmap} format.
	Bmp files may use {run-length encoding}.

	This is the only graphics format where {compression} actually
	enlarges the file.  The format is widely used nonetheless.

	[Format?]

	(1998-03-14)

BMWF

	<body> The Austrian, German and Swiss(?) Ministries of
	Science.

	[Expansion?]

	(1998-12-09)

bn

	<networking> The {country code} for Brunei Darussalam.

	(1999-01-27)

BNC

	<hardware> A connector for {coaxial cable} such as that used
	for some video connections and {RG58} "{cheapernet}"
	connections.  A BNC connector has a bayonet-type shell with
	two small knobs on the female connector which lock into spiral
	slots in the male connector when it is twisted on.

	Different sources expand BNC as Bayonet Navy Connector,
	British Naval Connector, Bayonet Neill Concelman, or Bayonet
	Nut Connection.

	(1995-09-18)

BNF

	{Backus-Naur Form}.  Originally Backus Normal Form.

	[{Jargon File}]

BNR Pascal

	["Remote Rendezvous", N. Gammage et al, Soft Prac & Exp
	17(10):741-755 (Oct 1987)].

	(1994-12-21)

BNR Prolog

	A {constraint logic} language.

	[Details?]

	(1994-12-21)

bo

	<networking> The {country code} for Bolivia.

	(1999-01-27)

BOA

	{Basic Object Adapter}

boa

	[IBM] Any one of the fat cables that lurk under the floor in a
	{dinosaur pen}.  Possibly so called because they display a
	ferocious life of their own when you try to lay them straight
	and flat after they have been coiled for some time.  It is
	rumored within IBM that channel cables for the 370 are limited
	to 200 feet because beyond that length the boas get dangerous
	--- and it is worth noting that one of the major cable makers
	uses the trademark "Anaconda".

	[{Jargon File}]

board

	1. In-context synonym for {bboard}; sometimes used even for
	{Usenet} newsgroups.

	2. An electronic circuit board.

boat anchor

	1. Like {doorstop} but more severe; implies that the offending
	hardware is irreversibly dead or useless.  "That was a working
	motherboard once.  One lightning strike later, instant boat
	anchor!"

	2. A person who just takes up space.

	3. Obsolete but still working hardware, especially when used
	of an old S100-bus hobbyist system; originally a term of
	annoyance, but became more and more affectionate as the
	hardware became more and more obsolete.

	[{Jargon File}]

Bob

	David Betz.  A tiny object-oriented language.

	{(ftp://ftp.mv.com/pub/ddj/packages/bob15.arc)}.

	[Dr Dobbs J, Sep 1991, p.26].

Bobo the Webmonkey

	<web> What {B1FF} was to {BITNET} users, Bobo the
	Webmonkey is to {webmonkeys} - the mythical prototype of
	incompetent web designers everywhere.  In fact, Bobo may be
	what B1FF became when he grew up.

	Bobo knows about {HTML} only what he has learned from viewing
	the source of other people's Web pages.

	Bobo doesn't know what a {MIME type} is, even though someone
	gave him a hardcopy of the {FOLDOC} entry for it.

	Bobo may have used an HTML code validator
	{(http://validator.w3.org/)} before, but isn't sure.

	Bobo doesn't know what the difference between {GIF} and {JPEG}
	is.  He thinks {PNG} is a foreign country.

	All the pages Bobo has designed say "Welcome to [organisation]
	online!" at the top, and say "click here!" at least three
	times per page.

	Bobo has used {Photoshop} before; he doesn't understand why
	people keep asking if he's ever been tested for
	color-blindness.

	Bobo never got that "its" / "it's" distinction real clear, as
	you can tell from his pages.

	Bobo likes <BLINK>.

	(1998-04-04)

BOCS

	Berard Object and Class Specifier, an Object-oriented CASE
	tool from Berard Software Engineering.

Boehm B.

	Proposed the COCOMO technique for evaluating the cost of a
	software project.

BOEING

	<language> An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(2004-09-14)

BOF

	/B-O-F/ or /bof/ 1. {Birds Of a Feather}.

	2. Boring Old Fart.

	[{Jargon File}]

BOFH

	{Bastard Operator From Hell}

bogometer

	<humour> /boh-gom'-*t-er/ A notional instrument for measuring
	{bogosity}.

	Compare the "wankometer" described in the {wank} entry.

	[{Jargon File}]

	(1999-06-10)

BogoMips

	<unit> (From "bogus", "{MIPS}") The timing unit of the {Linux}
	{kernel}.

	A BogoMips is an unscientific measurement of {processor} speed
	made by the {Linux} {kernel} when it {boots}, to calibrate an
	internal {busy-loop}.

	{BogoMips MiniHowto
	(http://metalab.unc.edu/LDP/HOWTO/mini/BogoMips.html)}.

	(1999-05-06)

bogon

	/boh'gon/ (By analogy with proton/electron/neutron, but
	doubtless reinforced after 1980 by the similarity to Douglas
	Adams's "Vogons")

	1. The elementary particle of bogosity (see {quantum
	bogodynamics}).  For instance, "the Ethernet is emitting
	bogons again" means that it is broken or acting in an erratic
	or bogus fashion.

	2. A query {packet} sent from a {TCP/IP} {domain resolver} to
	a root server, having the reply bit set instead of the query
	bit.

	3. Any bogus or incorrectly formed packet sent on a network.

	4. A person who is bogus or who says bogus things.  This was
	historically the original usage, but has been overtaken by its
	derivative senses.  See also {bogosity}; compare {psyton},
	{fat electrons}, {magic smoke}.

	The bogon has become the type case for a whole bestiary of
	nonce particle names, including the "clutron" or "cluon"
	(indivisible particle of cluefulness, obviously the
	antiparticle of the bogon) and the futon (elementary particle
	of {randomness}, or sometimes of lameness).  These are not so
	much live usages in themselves as examples of a live
	meta-usage: that is, it has become a standard joke or
	linguistic maneuver to "explain" otherwise mysterious
	circumstances by inventing nonce particle names.  And these
	imply nonce particle theories, with all their dignity or lack
	thereof (we might note parenthetically that this is a
	generalisation from "(bogus particle) theories" to "bogus
	(particle theories)"!).  Perhaps such particles are the
	modern-day equivalents of trolls and wood-nymphs as standard
	starting-points around which to construct explanatory myths.
	Of course, playing on an existing word (as in the "futon")
	yields additional flavour.

	[{Jargon File}]

bogon filter

	/boh'gon fil'tr/ Any device, software or hardware, that limits
	or suppresses the flow and/or emission of bogons.
	"Engineering hacked a bogon filter between the {Cray} and the
	{VAXen}, and now we're getting fewer dropped packets."  See
	also {bogosity}.

bogon flux

	/boh'gon fluhks/ A measure of a supposed field of {bogosity}
	emitted by a speaker, measured by a {bogometer}; as a speaker
	starts to wander into increasing bogosity a listener might say
	"Warning, warning, bogon flux is rising".  See {quantum
	bogodynamics}.

	[{Jargon File}]

bogosity

	/boh-go's*-tee/ The degree to which something is "bogus" in
	the hackish sense of "bad".  At CMU, bogosity is measured with
	a {bogometer}; in a seminar, when a speaker says something
	bogus, a listener might raise his hand and say "My bogometer
	just triggered".  More extremely, "You just pinned my
	bogometer" means you just said or did something so
	outrageously bogus that it is off the scale, pinning the
	bogometer needle at the highest possible reading (one might
	also say "You just redlined my bogometer").  The agreed-upon
	unit of bogosity is the {microLenat}.

	Also, the potential field generated by a {bogon flux}; see
	{quantum bogodynamics}.  See also {bogon flux}, {bogon
	filter}.

	(2002-04-14)

bogo-sort

	<algorithm, humour> /boh"goh-sort"/ (Or "stupid-sort") The
	archetypical perversely awful {algorithm} (as opposed to
	{bubble sort}, which is merely the generic *bad* algorithm).
	Bogo-sort is equivalent to repeatedly throwing a deck of cards
	in the air, picking them up at random, and then testing
	whether they are in order.  It serves as a sort of canonical
	example of awfulness.  Looking at a program and seeing a dumb
	algorithm, one might say "Oh, I see, this program uses
	bogo-sort."

	Also known as "monkey sort" after the {Infinite Monkey
	Theorem}.

	Compare {brute force}, {Lasherism}.

	{An implementation (http://stdout.org/~adam/psort)}.

	[{Jargon File}]

	(2002-04-07)

bogotify

	<jargon> /boh-go't*-fi:/ To make or become bad.  A program
	that has been changed so many times as to become completely
	disorganised has become bogotified.  If you tighten a nut too
	hard and strip the threads on the bolt, the bolt has become
	bogotified.

	See also {bogosity}.

	(2003-01-25)

bogue out

	/bohg owt/ To become bogus, suddenly and unexpectedly.  "His
	talk was relatively sane until somebody asked him a trick
	question; then he bogued out and did nothing but {flame}
	afterward."  See also {bogosity}.

	[{Jargon File}]

BOHICA

	<humour> /bo-hee-ka/ {Bend Over, Here It Comes
	Again}.

Bohr bug

	<jargon, programming> /bohr buhg/ (From Quantum physics) A
	repeatable {bug}; one that manifests reliably under a possibly
	unknown but well-defined set of conditions.

	Compare {heisenbug}.  See also {mandelbug}, {schroedinbug}.

	[{Jargon File}]

	(1995-02-28)

boink

	/boynk/ [{Usenet}: variously ascribed to the TV series
	"Cheers" "Moonlighting", and "Soap"] 1. To have sex with;
	compare {bounce}. (This is mainstream slang.) In Commonwealth
	hackish the variant "bonk" is more common.

	2. After the original Peter Korn "Boinkon" {Usenet} parties,
	used for almost any net social gathering, e.g. Miniboink, a
	small boink held by Nancy Gillett in 1988; Minniboink, a
	Boinkcon in Minnesota in 1989; Humpdayboinks, Wednesday
	get-togethers held in the San Francisco Bay Area.

	Compare {@-party}.

	3. Variant of "bonk"; see {bonk/oif}.

	[{Jargon File}]

BOLERO

	<programming> {Software AG}'s {object-oriented} development
	environment and {application server} for Electronic Business
	applications.

	(1999-03-06)

Bolt, Beranek and Newman, Inc.

	{BBN Technologies}

bomb

	1. <software> General synonym for {crash} except that it is
	not used as a noun.  Especially used of software or {OS}
	failures.  "Don't run Empire with less than 32K stack, it'll
	bomb".

	2. <operating system> {Atari ST} and {Macintosh} equivalents
	of a {Unix} "{panic}" or {Amiga} {guru}, in which {icons} of
	little black-powder bombs or mushroom clouds are displayed,
	indicating that the system has died.  On the {Macintosh}, this
	may be accompanied by a decimal (or occasionally
	{hexadecimal}) number indicating what went wrong, similar to
	the {Amiga} {guru meditation} number.  {MS-DOS} computers tend
	to {lock up} in this situation.

	3. <software> A piece of code embedded in a program that
	remains dormant until it is triggered.  Logic bombs are
	triggered by an event whereas time bombs are triggered either
	after a set amount of time has elapsed, or when a specific
	date is reached.

	[{Jargon File}]

	(1996-12-08)

bon

	<language> (From "Bonnie", {Ken Thompson}'s wife) A language
	designed by {Ken Thompson} and later revised by him to produce
	{B}.

	[When?  Features?]

	(1997-02-04)

bondage-and-discipline language

	A language (such as {Pascal}, {Ada}, APL, or Prolog) that,
	though ostensibly general-purpose, is designed so as to
	enforce an author's theory of "right programming" even though
	said theory is demonstrably inadequate for systems hacking or
	even vanilla general-purpose programming.  Often abbreviated
	"B&D"; thus, one may speak of things "having the B&D nature".

	See {Pascal}.  Compare {languages of choice}.

	[{Jargon File}]

	(1996-01-05)

bonk/oif

	/bonk/, /oyf/ In the {MUD} community, it has become
	traditional to express pique or censure by "bonking" the
	offending person.  Convention holds that one should
	acknowledge a bonk by saying "oif!" and there is a myth to the
	effect that failing to do so upsets the cosmic bonk/oif
	balance, causing much trouble in the universe.  Some MUDs have
	implemented special commands for bonking and oifing.

	[{Jargon File}]

	(1998-01-18)

Booch method

	<programming> A widely used {object-oriented analysis} and
	{object-oriented design} method.

	{(http://hsr.ch/div/Booch/BoochReference/)}.

	[Grady Booch, "Object-oriented Analysis and Design with
	Applications", 2nd edition. Benjamin Cummings, Redwood City,
	ISBN 0-8053-5340-2, 1993]

	(2000-05-23)

book

	1. <text> {e-book}.

	2. {book titles}.

	3. <computer> {MacBook}.

	4. {O'Reilly and Associates}.

bookmark

	<web> A user's reference to a document on the
	{web} or other hypermedia system, usually in the
	form of a {URL} and a title or comment string.

	Most web and {Gopher} {browsers} can save and load
	a file of bookmarks to allow you to quickly locate documents
	to which you want to refer again.

	(1997-06-09)

Bookreader

	{DEC}'s {CD-ROM}-based on-line documentation browser.

book titles

	<publication> There is a tradition in hackerdom of informally
	tagging important textbooks and standards documents with the
	dominant colour of their covers or with some other conspicuous
	feature of the cover.  Many of these are described in {this
	dictionary} under their own entries.  See {Aluminum Book},
	{Blue Book}, {Cinderella Book}, {Devil Book}, {Dragon Book},
	{Green Book}, {Orange Book}, {Pink-Shirt Book}, {Purple Book},
	{Red Book}, {Silver Book}, {White Book}, {Wizard Book},
	{Yellow Book}, {bible}, {rainbow series}.

	[{Jargon File}]

	(1996-12-03)

Bookviewer

	A hypertext documentation system from Oracle based on Oracle
	Toolkit.  It allows the user to create private links and
	bookmarks, and to make multimedia annotations.

bool

	{Boolean}

Boolean

	<logic> 1. {Boolean algebra}.

	<programming> 2. (bool) The type of an expression with two
	possible values, "true" and "false".  Also, a variable of
	Boolean type or a function with Boolean arguments or result.
	The most common Boolean functions are {AND}, {OR} and {NOT}.

	(1997-12-01)

Boolean algebra

	<logic> (After the logician {George Boole})

	1. Commonly, and especially in computer science and digital
	electronics, this term is used to mean {two-valued logic}.

	2. This is in stark contrast with the definition used by pure
	mathematicians who in the 1960s introduced "Boolean-valued
	{models}" into logic precisely because a "Boolean-valued
	model" is an interpretation of a {theory} that allows more
	than two possible truth values!

	Strangely, a Boolean algebra (in the mathematical sense) is
	not strictly an {algebra}, but is in fact a {lattice}.  A
	Boolean algebra is sometimes defined as a "complemented
	{distributive lattice}".

	Boole's work which inspired the mathematical definition
	concerned {algebras} of {sets}, involving the operations of
	intersection, union and complement on sets.  Such algebras
	obey the following identities where the operators ^, V, - and
	constants 1 and 0 can be thought of either as set
	intersection, union, complement, universal, empty; or as
	two-valued logic AND, OR, NOT, TRUE, FALSE; or any other
	conforming system.

	 a ^ b = b ^ a    a V b  =  b V a     (commutative laws)
	 (a ^ b) ^ c  =  a ^ (b ^ c)
	 (a V b) V c  =  a V (b V c)          (associative laws)
	 a ^ (b V c)  =  (a ^ b) V (a ^ c)
	 a V (b ^ c)  =  (a V b) ^ (a V c)    (distributive laws)
	 a ^ a  =  a    a V a  =  a           (idempotence laws)
	 --a  =  a
	 -(a ^ b)  =  (-a) V (-b)
	 -(a V b)  =  (-a) ^ (-b)             (de Morgan's laws)
	 a ^ -a  =  0    a V -a  =  1
	 a ^ 1  =  a    a V 0  =  a
	 a ^ 0  =  0    a V 1  =  1
	 -1  =  0    -0  =  1

	There are several common alternative notations for the "-" or
	{logical complement} operator.

	If a and b are elements of a Boolean algebra, we define a <= b
	to mean that a ^ b = a, or equivalently a V b = b.  Thus, for
	example, if ^, V and - denote set intersection, union and
	complement then <= is the inclusive subset relation.  The
	relation <= is a {partial ordering}, though it is not
	necessarily a {linear ordering} since some Boolean algebras
	contain incomparable values.

	Note that these laws only refer explicitly to the two
	distinguished constants 1 and 0 (sometimes written as {LaTeX}
	\top and \bot), and in {two-valued logic} there are no others,
	but according to the more general mathematical definition, in
	some systems variables a, b and c may take on other values as
	well.

	(1997-02-27)

Boolean logic

	<logic> A {logic} based on {Boolean algebra}.

	(1995-03-25)

Boolean search

	<information science> (Or "Boolean query") A query using the
	{Boolean} operators, {AND}, {OR}, and {NOT}, and parentheses
	to construct a complex condition from simpler criteria.  A
	typical example is searching for combinatons of keywords on a
	{web} {search engine}.

	Examples:

		car or automobile

		"New York" and not "New York state"

	The term is sometimes stretched to include searches using
	other operators, e.g. "near".

	Not to be confused with {binary search}.

	See also: {weighted search}.

	(1999-10-23)

Boole, George

	{George Boole}

Booster

	A {data-parallel} language.

	"The Booster Language", E. Paalvast, TR PL 89-ITI-B-18, Inst
	voor Toegepaste Informatica TNO, Delft, 1989.

boot

	{bootstrap}

boot block

	<operating system> A program on a {hard disk}, {floppy disk}
	or other media, which is loaded when the computer is turned on
	or rebooted and which controls the next phase of loading the
	actual {operating system}.  The loading and execution of the
	boot block is usually controlled by {firmware} in {ROM} or
	{PROM}.  It may be at some fixed location possibly or may be
	pointed to by the {master boot record}.

	(2009-05-19)

boot disk

	<operating system> The {magnetic disk} (usually a {hard disk})
	from which an {operating system} {kernel} is loaded (or
	"bootstrapped").  This second phase in system start-up is
	performed by a simple bootstrap loader program held in {ROM},
	possibly configured by data stored in some form of writable
	{non-volatile storage}.

	{MS-DOS} and {Microsoft Windows} can be configured (in the
	{BIOS}) to try to boot off either {floppy disk} or {hard
	disk}, in either order.  By default they first check for the
	presence of a {floppy disk} in the drive at start-up and try
	to use that as a boot disk if present.  If no disk is in the
	drive they then try to boot off the hard disk.

	Some {operating systems}, notably {SunOS} and {Solaris}, can
	be configured to boot from a network rather than from disk.
	Such a system can thus run as a {diskless workstation}.

	(1997-06-09)

booting

	{bootstrap}

BOOTP

	The Bootstrap Protocol.

	A {protocol} described in {RFCs} 951 and 1084 and used for
	booting {diskless workstations}.

	See also {Reverse Address Resolution Protocol}.

	(1995-02-16)

bootstrap

	<operating system, compiler> To load and initialise the
	{operating system} on a computer.  Normally abbreviated to
	"{boot}".  From the curious expression "to pull oneself up by
	one's bootstraps", one of the legendary feats of Baron von
	Munchhausen.  The {bootstrap loader} is the program that runs
	on the computer before any (normal) program can run.  Derived
	terms include {reboot}, {cold boot}, {warm boot}, {soft boot}
	and {hard boot}.

	The term also applies to the use of a {compiler} to compile
	itself.  The usual process is to write an {interpreter} for a
	language, L, in some other existing language.  The compiler is
	then written in L and the interpreter is used to run it.  This
	produces an {executable} for compiling programs in L from the
	source of the compiler in L.  This technique is often used to
	verify the correctness of a compiler.  It was first used in
	the {LISP} community.

	See also {My Favourite Toy Language}.

	[{Jargon File}]

	(2005-04-12)

bootstrap loader

	<operating system> A short {program} loaded from {non-volatile
	storage} and used to {bootstrap} a computer.

	On early computers great efforts were expended on making the
	bootstrap loader short, in order to make it easy to {toggle}
	in via the {front panel} switches.  It was just clever enough
	to read in a slightly more complex {program} (usually from
	{punched cards} or {paper tape}), to which it handed control.
	This {program} in turn read the {application} or {operating
	system} from a {magnetic tape} drive or {disk drive}.  Thus,
	in successive steps, the {computer} "pulled itself up by its
	bootstraps" to a useful operating state.

	Nowadays the bootstrap loader is usually found in {ROM} or
	{EPROM}, and reads the first stage in from a fixed location on
	the {disk}, called the "{boot block}".  When this {program}
	gains control, it is powerful enough to load the actual {OS}
	and hand control over to it.  A {diskless workstation} can use
	{bootp} to load its OS from the network.

	(2005-04-12)

boot virus

	An {MS-DOS} {virus} that infects the {boot record} program on
	{hard disks} and {floppy disks} or the {master boot record} on
	hard disks.  The virus gets loaded into memory before {MS-DOS}
	and takes control of the computer, infecting any floppy disks
	subsequently accessed.  An infected {boot disk} may stop the
	computer starting up at all.

	(1995-02-16)

Border Gateway Protocol

	(BGP) An {Exterior Gateway Protocol} defined in {RFC 1267} and
	{RFC 1268}.  Its design is based on experience gained with
	{Exterior Gateway Protocol} (EGP), as defined in {STD} 18,
	{RFC 904} and EGP usage in the {NSFNet} {backbone}, as
	described in RFCs 1092 and 1093.

	(1994-11-29)

borf

	<jargon> To uncerimoniously disconnect someone from a system
	without prior warning.  {BBS} {Sysops} routinely "borf" pest
	users by turning off the modem or by hitting the "auto-borf"
	key sequence.

	You can also be "borfed" by software dropping {carrier} due to
	a {bug}.

	The origin of the term is unknown but it has been in use since
	at least 1982.

	(1997-03-21)

Borland International, Inc.

	{Borland Software Corporation}

Borland Software Corporation

	<company> A company that sells a variety of {PC} software
	development and {database} systems.  Borland was founded in
	1983 and initially became famous for their low-cost software,
	particularly {Turbo Pascal}, {Turbo C}, and {Turbo Prolog}.

	Current and past products include the {Borland C++} C++ and C
	developement environment, the {Paradox} and {dBASE}
	{databases}, {Delphi}, {JBuilder}, and {InterBase}.

	Borland has approximately 1000 employees worldwide and has
	operations in Australia, Canada, France, Germany, Japan,
	Netherlands, and the United Kingdom.

	Borland sold {Quattro} Pro to {Novell} in 1994 for $100M.
	Novell later sold the product to {Corel Corporation}, who also
	bought {Paradox}.  dBASE was sold in March(?) 1999 to {dBase
	Inc.}

	In Febuary 1998 Borland bought {Visigenic Software, Inc.}.

	The company changed its name to Inprise Corporation on
	1998-04-29 and then on 2000-11-14 they announced they were
	changing it back to Borland from the first quarter of 2001.

	Quarterly sales $69M, profits $61M (Aug 1994).
	$56M, $6.4M (July 2001)

	{(http://borland.com/)}.

	Headquarters: 100 Borland Way, Scotts Valley, CA, 95066, USA.
	Telephone: +1 (408) 431 1000.

	(2002-03-16)

BOS

	1. <operating system> {Basic Operating System}.

	2. <tool> A data management system written at {DESY} and used
	in some high energy physics programs.

	3. <programming> The {Basic Object System}.

	(1999-01-20)

Bose-Chaudhuri-Hocquenghem Code

	<data, communications> (BHC Code) An {error detection and
	correction} technique based on {Cyclic Redundancy Code}, used
	in telecommunications applications.

	(1995-01-16)

BOSS

	Bridgport Operating System Software.  A derivative of the {ISO
	1054} numerical machine control language for milling, etc.

bot

	<networking, chat, web> (From "{robot}") Any type
	of autonomous {software} that operates as an {agent} for a
	user or a {program} or simulates a human activity.  On the
	{Internet}, the most popular bots are programs (called
	{spiders} or crawlers) used for searching.  They access {web
	sites}, retrieve documents and follow all the {hypertext
	links} in them; then they generate catalogs that are accessed
	by {search engines}.

	A {chatbot} converses with humans (or other bots).  A
	{shopbot} searches the Web to find the best price for a
	product.  Other bots (such as {OpenSesame}) observe a user's
	patterns in navigating a website and customises the site for
	that user.

	{Knowbots} collect specific information from {websites}.

	(1999-05-20)

botmaster

	<chat> The owner of a {bot}.

	(1997-04-07)

bottom

	<theory> The least defined element in a given {domain}.

	Often used to represent a non-terminating computation.

	(In {LaTeX}, bottom is written as {\perp}, sometimes with the
	domain as a subscript).

	(1997-01-07)

BottomFeeder

	<networking> An {RSS} {aggregator}.

	{BottomFeeder Home
	(http://cincomsmalltalk.com/BottomFeeder)}.

	(2003-09-29)

bottom feeder

	{slopsucker}

bottom-unique

	In {domain theory}, a function f is bottom-unique if

		f x = bottom  <=>  x = bottom

	A bottom-unique function is also {strict}.

bottom-up implementation

	<programming> The opposite of {top-down design}.  It is now
	received wisdom in most programming cultures that it is best
	to design from higher levels of abstraction down to lower,
	specifying sequences of action in increasing detail until you
	get to actual code.  Hackers often find (especially in
	exploratory designs that cannot be closely specified in
	advance) that it works best to *build* things in the opposite
	order, by writing and testing a clean set of primitive
	operations and then knitting them together.

	[{Jargon File}]

	(1996-05-10)

bottom-up model

	<programming> A method for estimating the cost of a complete
	software project by combining estimates for each component.

	(1996-05-28)

bottom-up testing

	<programming> An integration testing technique that tests the
	low-level components first using test drivers for those
	components that have not yet been developed to call the
	low-level components for test.

	Compare {bottom-up implementation}.

	(1996-05-10)

botwar

	<chat> The epic struggle of {bots} vying for dominance.

	Botwars are generally (and quite inappropriately) carried out
	on {talk} systems, typically {IRC}, where botwar crossfire
	(such as {pingflood}ing) absorbs scarce server resources and
	obstructs human conversation.

	The wisdom of experience indicates that {Core Wars}, not
	{talk} systems, are the appropriate venue for aggressive bots
	and their {botmasters}.

	Compare {penis war}.

	(1997-04-08)

bounce

	1. (Perhaps by analogy to a bouncing check) An {electronic
	mail} message that is undeliverable and returns an error
	notification (a "{bounce message}") to the sender is said to
	"bounce".

	2. To play volleyball.  The now-demolished {D. C. Power Lab}
	building used by the {Stanford AI Lab} in the 1970s had a
	volleyball court on the front lawn.  From 5 PM to 7 PM was the
	scheduled maintenance time for the computer, so every
	afternoon at 5 would come over the intercom the cry: "Now hear
	this: bounce, bounce!", followed by Brian McCune loudly
	bouncing a volleyball on the floor outside the offices of
	known volleyballers.

	3. To engage in sexual intercourse; probably from the
	expression "bouncing the mattress", but influenced by Roo's
	psychosexually loaded "Try bouncing me, Tigger!" from the
	"Winnie-the-Pooh" books.

	Compare {boink}.

	4. To casually reboot a system in order to clear up a
	transient problem.  Reported primarily among {VMS} users.

	5. (VM/CMS programmers) Automatic warm-start of a computer
	after an error.  "I logged on this morning and found it had
	bounced 7 times during the night"

	6. (IBM) To {power cycle} a peripheral in order to reset it.

	[{Jargon File}]

	(1994-11-29)

bounce message

	A notification message returned to the sender by a site unable
	to relay {e-mail} to the intended recipient or the next link
	in a {bang path}.  Reasons might include a nonexistent or
	misspelled user name or a {down} relay site.  Bounce messages
	can themselves fail, with occasionally ugly results; see
	{sorcerer's apprentice mode} and {software laser}.  The terms
	"bounce mail" and "barfmail" are also common.

	[{Jargon File}]

	(1994-11-29)

boundary scan

	The use of {scan registers} to capture state from device input
	and output pins.  {IEEE} Standard 1149.1-1990 describes the
	international standard implementation (sometimes called JTAG
	after the Joint Test Action Group which began the
	standardisation work).

	(1995-02-14)

boundary value

	{boundary value analysis}

boundary value analysis

	<programming> A test data selection technique in which values
	are chosen to lie along data extremes.  Boundary values
	include maximum, minimum, just inside/outside boundaries,
	typical values, and error values.  The hope is that, if a
	systems works correctly for these special values then it will
	work correctly for all values in between.

	(1996-05-10)

bounded

	<theory> In {domain theory}, a subset S of a {cpo} X is
	bounded if there exists x in X such that for all s in S, s <=
	x.  In other words, there is some element above all of S.  If
	every bounded subset of X has a least upper bound then X is
	boundedly {complete}.

	("<=" is written in {LaTeX} as {\subseteq}).

	(1995-02-03)

boundedly complete

	<theory> (Or "consistently complete") In {domain theory}, a
	{complete partial order} is boundedly complete if every {bounded}
	{subset} has a {least upper bound}.

	(2014-07-01)

bound variable

	1. A bound variable or {formal argument} in a function
	definition is replaced by the {actual argument} when the
	function is applied.  In the {lambda abstraction}

		\ x . M

	x is the bound variable.  However, x is a {free variable} of
	the term M when M is considered on its own.  M is the {scope}
	of the binding of x.

	2. In logic a bound variable is a quantified variable.  See
	{quantifier}.

bournebasic

	A {BASIC} {interpreter}.

	comp.sources.misc archives volume 1.

Bourne shell

	(sh, Shellish).  The original {command-line interpreter}
	{shell} and script language for {Unix} written by S.R. Bourne
	of {Bell Laboratories} in 1978.  sh has been superseded for
	interactive use by the {Berkeley} {C shell}, {csh} but still
	widely used for writing {shell scripts}.

	There were even earlier shells, see {glob}.  [Details?]

	{ash} is a Bourne Shell clone.

	["Unix {Time-Sharing} System: The Unix Shell", S.R. Bourne,
	Bell Sys Tech J 57(6):1971-1990 (Jul 1978)].

boustrophedonic

	<hardware> (From the Greek "boustrophe-don": turning like oxen
	in plowing; from "bous": ox, cow; "strephein": to turn) An
	ancient method of writing using alternate left-to-right and
	right-to-left lines.  It used for an optimisation performed by
	some computer typesetting software and moving-head printers to
	reduce physical movement of the print head.  The adverbial
	form "boustrophedonically" is also found.

	(1994-11-29)

box

	<computer> 1. A computer; especially in the construction "foo
	box" where foo is some functional qualifier, like "graphics",
	or the name of an {operating system} (thus, "{Unix} box",
	"{MS-DOS} box", etc.)  "We preprocess the data on Unix boxes
	before handing it up to the {mainframe}."  The plural
	"{boxen}" is sometimes seen.

	2. Without qualification in an {IBM} {SNA} site, "box" refers
	specifically to an {IBM} {front-end processor}.

	[{Jargon File}]

	(1994-11-29)

boxed comments

	<programming> {Comments} that occupy several lines by
	themselves; so called because in {assembler} and {C} code they
	are often surrounded by a box in a style similar to this:

	 /*************************************************
	 *
	 * This is a boxed comment in C style
	 *
	 *************************************************/

	Common variants of this style omit the asterisks in column 2
	or add a matching row of asterisks closing the right side of
	the box.  The sparest variant omits all but the comment
	{delimiters} themselves; the "box" is implied.

	Opposite of {winged comments}.

	[{Jargon File}]

	(1997-07-21)

boxen

	/bok'sn/ (By analogy with {VAXen}) A fanciful plural of {box}
	often encountered in the phrase "Unix boxen", used to describe
	commodity {Unix} hardware.  The connotation is that any two
	Unix boxen are interchangeable.

	[{Jargon File}]

	(1994-11-29)

Boxer

	1. <language> A {visual language} by Hal Abelson and Andy
	diSessa of Berkeley which claims to be the successor to
	{Logo}.  Boxes are used to represent {scope}.

	2. <tool> A {text editor} for {MS-DOS} and {Microsoft
	Windows}.

	{(http://boxersoftware.com/users/dhamel)}.

	(2001-04-30)

boxology

	<graphics> /bok-sol'*-jee/ {ASCII art}.

	This term implies a more restricted domain, that of
	box-and-arrow drawings.  "His report has a lot of boxology in
	it."

	Compare {macrology}.

	[{Jargon File}]

	(1994-12-02)

Boycott Apple

	Some time before 1989, {Apple Computer, Inc.} started a
	lawsuit against {Hewlett-Packard} and {Microsoft}, claiming
	they had breeched Apple's {copyright} on the {look and feel}
	of the {Macintosh user interface}.  In December 1989, {Xerox}
	failed to sue {Apple Computer}, claiming that the software for
	Apple's {Lisa} computer and {Macintosh} {Finder}, both
	copyrighted in 1987, were derived from two {Xerox} programs:
	{Smalltalk}, developed in the mid-1970s and {Star},
	copyrighted in 1981.

	Apple wanted to stop people from writing any program that
	worked even vaguely like a {Macintosh}.  If such {look and
	feel} lawsuits succeed they could put an end to {free
	software} that could substitute for commercial software.

	In the weeks after the suit was filed, {Usenet} reverberated
	with condemnation for Apple.  {GNU} supporters {Richard
	Stallman}, {John Gilmore}, and Paul Rubin decided to take
	action against Apple.  Apple's reputation as a force for
	progress came from having made better computers; but The
	{League for Programming Freedom} believed that Apple wanted to
	make all non-Apple computers worse.  They therefore campaigned
	to discourage people from using Apple products or working for
	Apple or any other company threatening similar obstructionist
	tactics (e.g. {Lotus} and {Xerox}).

	Because of this boycott the {Free Software Foundation} for a
	long time didn't support {Macintosh} {Unix} in their software.
	In 1995, the LPF and the FSF decided to end the boycott.

	[Dates?  Other events?  Why did Xerox's case against Apple
	fail?]

	(1995-04-18)

bozotic

	<abuse> (From Bozo the Clown, a famous circus personality, via
	"bozo" - a clod, idiot or generally silly person) any form of
	clown-like or ludicrous behaviour.  The word also has echoes
	of "robotic", so bozotic behaviour is mindless, automaton-like
	stupidity.

	[{Jargon File}]

	(1996-01-05)

BPEL

	{Web Services Business Process Execution Language}

BPI

	{bits per inch}

bpmake

	{Aspirin}

bpp

	{bits per pixel}

BPR

	{Business Process Re-engineering}

BPS

	{Basic Programming Support}

bps

	{bits per second}

BQS

	{Berkeley Quality Software}

br

	<networking> The {country code} for Brazil.

	(1999-01-27)

brace

	<character> {left brace} or {right brace}.

bracket

	<character> (Or square bracket) A {left bracket} or {right
	bracket}.

	Often used loosely for {parentheses}, {square brackets},
	{braces}, {angle brackets}, or any other kind of unequal
	paired {delimiters}.

	(1996-09-08)

bracket abstraction

	<compiler> An {algorithm} which turns a term into a function
	of some variable.  The result of using bracket abstraction on
	T with respect to variable v, written as [v]T, is a term
	containing no occurrences of v and denoting a function f such
	that f v = T.  This defines the function f = (\ v . T).  Using
	bracket abstraction and {currying} we can define a language
	without {bound variables} in which the only operation is
	{monadic} function application.

	See {combinator}.

	(1995-03-07)

braille

	<human language> /breyl/ (Often capitalised) A class of
	{writing systems}, intended for use by blind and low-vision
	users, which express {glyphs} as raised dots.  Currently
	employed braille standards use eight dots per cell, where a
	cell is a glyph-space two dots across by four dots high; most
	glyphs use only the top six dots.

	Braille was developed by Louis Braille (pronounced /looy
	bray/) in France in the 1820s.  Braille systems for most
	languages can be fairly trivially converted to and from the
	usual script.

	Braille has several totally coincidental parallels with
	digital computing: it is {binary}, it is based on groups of
	eight bits/dots and its development began in the 1820s, at the
	same time {Charles Babbage} proposed the {Difference Engine}.

	Computers output Braille on {braille displays} and {braille
	printers} for hard copy.

	{British Royal National Institute for the Blind
	(http://rnib.org.uk/wesupply/fctsheet/braille.htm)}.

	(1998-10-19)

braille display

	<hardware> (Or "refreshable braille display", "refreshable
	display") An electromechanical device that renders {braille}
	with tiny, independently controlled pins used to represent the
	state of dots in braille cells.  Each pin, in its "on" state,
	raises above the top of its hole in the screen; in its "off"
	state, it drops below the top of its hole.  Older systems used
	tiny solenoids to control the state of the pins; modern
	systems are {piezoelectric}.

	Typical dimensions of a braille display are 1 line of 40
	cells, each cell of two-by-eight dots.

	(1998-10-19)

Braille embosser

	{Braille printer}

Braille printer

	<printer> (Or "(Braille) embosser") A {printer}, necessarily
	an {impact printer}, that renders text as {Braille}.  Blind
	users call other printers {ink printers}.

	(1999-02-26)

Brain Aid Prolog

	<language> (BAP) A parallel {Prolog} environment for
	{transputer} systems by Frank Bergmann <fraber@fraber.de>,
	Martin Ostermann <ost@xan.dfv.rwth-aachen.de>, and Guido von
	Walter <guido@parsytec.de> of {Brain Aid Systems} GbR.  BAP is
	based on a model of communicating sequential Prolog processes.
	The {run-time system} consists of a multi-process {operating
	system} with support for several applications running
	concurrently.

	{(http://fraber.de/bap/)}.

	(2002-11-12)

brain-damaged

	1. [generalisation of "Honeywell Brain Damage" (HBD), a
	theoretical disease invented to explain certain utter
	cretinisms in Honeywell {Multics}] Obviously wrong; cretinous;
	{demented}.

	There is an implication that the person responsible must have
	suffered brain damage, because he should have known better.
	Calling something brain-damaged is really bad; it also implies
	it is unusable, and that its failure to work is due to poor
	design rather than some accident.  "Only six monocase
	characters per file name?  Now *that's* brain-damaged!"

	2. [especially in the Mac world] May refer to free
	demonstration software that has been deliberately crippled in
	some way so as not to compete with the commercial product it
	is intended to sell.  Synonym {crippleware}.

	[{Jargon File}]

	(2011-01-04)

brain-dead

	Brain-damaged in the extreme.  It tends to imply terminal
	design failure rather than malfunction or simple stupidity.

brain dump

	(The act of telling someone) everything one knows about a
	particular topic.  Typically used when someone is going to let
	a new party maintain a piece of code.  Conceptually analogous
	to an operating system {core dump} in that it saves a lot of
	useful {state} before an exit.  "You'll have to give me a
	brain dump on FOOBAR before you start your new job at
	HackerCorp."  At Sun, this is also known as "TOI" (transfer of
	information).

	[{Jargon File}]

brain fart

	<jargon, humour> 1. The actual result of a {braino}, as
	opposed to the mental {glitch} that is the braino itself.
	E.g. typing "dir" on a {Unix box} after a session with
	{MS-DOS}.

	2. A biproduct of a bloated mind producing information
	effortlessly.  A burst of useful information. "I know you're
	busy on the Microsoft story, but can you give us a brain fart
	on the Mitnik bust?"

	(1997-04-29)

Brainfuck

	<language> An eight-instruction programming language created
	by Urban Müller.  His goal was apparently to create a
	{Turing-complete} language with the smallest {compiler} ever,
	for the {Amiga OS} 2.0.  He eventually reduced his compiler to
	under 200 bytes.

	A Brainfuck program has a pointer that moves within an array
	of 30000 bytes, initially all set to zero.  The pointer
	initially points to the beginning of this array.  The language
	has eight commands, each of which is represented as a single
	character, and which can be expressed in terms of {C} as
	follows:

	 >   ==>    ++p;
	 <   ==>    --p;
	 +   ==>    ++*p;
	 -   ==>    --*p;
	 .   ==>    putchar(*p);
	 ,   ==>    *p = getchar();
	 [   ==>    while (*p) {
	 ]   ==>    }

	{Brian Raiter's Brainfuck page
	(http://muppetlabs.com/~breadbox/bf/)}.

	(2003-11-18)

braino

	{thinko}

branch

	1. <mathematics> An {edge} in a {tree}.

	2. <programming> A {jump}.

Branch and Hang

	<humour> (BRH) Originally a mythical instruction for the {IBM
	1130} at {Indiana University}.

	Later some real examples were discovered.  The {Texas
	Instruments} {TI-980} allowed all {addressing modes} with all
	instructions, including Store Immediate Extended (stores the
	value into the extension word of the instruction) and Branch
	and Link Immediate (makes a subroutine call to the same
	instruction -- Branch and Hang).

	Compare {HCF}.

	(1997-02-12)

branch coverage testing

	<programming> A test method which aims to ensure that each
	possible branch from each decision point (e.g. "if" statement)
	is executed at least once, thus ensuring that all reachable
	code is executed.

	(1996-05-10)

branch delay slot

	{delayed control-transfer}

Branch on Chip Box Full

	<humour> (BCBF) A mythical {IBM 1130} instruction whose action
	depended on the contents of the {chip box}.  This was one of a
	long list of fake {assembly language} instructions that went
	around {Indiana University} in the 1970s.

	(1997-02-12)

branch prediction

	<processor, algorithm> A technique used in some processors
	with {instruction prefetch} to guess whether a {conditional
	branch} will be taken or not and prefetch code from the
	appropriate location.

	When a branch instruction is executed, its address and that of
	the next instruction executed (the chosen destination of the
	branch) are stored in the {Branch Target Buffer}.  This
	information is used to predict which way the instruction will
	branch the next time it is executed so that instruction
	prefetch can continue.  When the prediction is correct (and it
	is over 90% of the time), executing a branch does not cause a
	{pipeline break}.

	Some later {CPUs} simply prefetch both paths instead of trying
	to predict which way the branch will go.

	An extension of the idea of branch prediction is {speculative
	execution}.

	(1998-03-14)

Branch Target Buffer

	<processor> (BTB) A {register} used to store the predicted
	destination of a branch in a processor using {branch
	prediction}?

	[Is this correct?  Examples?]

	(1995-05-05)

branch to Fishkill

	(IBM: from the location of one of the corporation's
	facilities) Any unexpected jump in a program that produces
	catastrophic or just plain weird results.

	See {jump off into never-never land}, {hyperspace}.

	[{Jargon File}]

Brazil

	An {operating system} from {Acorn Computers} used on an {ARM}
	card which could be fitted to an {IBM PC}.  There was also an
	{ARM} second processor for the {BBC Microcomputer} which used
	Brazil.  Never used on the {Archimedes}(?).

	(1994-12-05)

BRB

	<chat> (I will) be right back.

	(1998-01-18)

breadcrumbs

	(After the story "Hansel and Gretel" by the Brothers Grimm).

	1. <web> {Links} displayed across the top of a {web
	page} listing the most recently visited pages so the reader
	can quickly jump back to one.  Since this function is provided
	by the {web browser}, breadcrumbs are a waste of space.

	A better use of the space is to display links to the page's
	logical parent pages in the information hierarchy.

	2. <programming> Information output by statements inserted
	into a program for {debugging by printf}.

	[{Jargon File}]

	(2007-03-07)

breadth-first search

	<algorithm> A {graph search algorithm} which tries all
	one-step extensions of current paths before trying larger
	extensions.  This requires all current paths to be kept in
	memory simultaneously, or at least their end points.

	Opposite of {depth-first search}.  See also {best first
	search}.

	(1996-01-05)

break

	1. To cause to be {broken}.  "Your latest patch
	to the editor broke the paragraph commands."

	2. (Of a program) To stop temporarily, so that it may
	debugged.  The place where it stops is a "{breakpoint}".

	3. To send an {EIA-232} break (two character widths of line
	high) over a {serial line}.

	4. [Unix] To strike whatever key currently causes the tty
	driver to send SIGINT to the current process.  Normally,
	break, delete or {control-C} does this.

	5. "break break" may be said to interrupt a conversation (this
	is an example of verb doubling).  This usage comes from radio
	communications, which in turn probably came from landline
	telegraph/teleprinter usage, as badly abused in the Citizen's
	Band craze.

	6. {pipeline break}.

	7. {break statement}.

	[{Jargon File}]

	(2004-03-24)

break-even point

	In the process of implementing a new computer language, the
	point at which the language is sufficiently effective that one
	can implement the language in itself.  That is, for a new
	language called, hypothetically, FOOGOL, one has reached
	break-even when one can write a demonstration compiler for
	FOOGOL in FOOGOL, discard the original implementation
	language, and thereafter use working versions of FOOGOL to
	develop newer ones.  This is an important milestone.  See {My
	Favourite Toy Language}.

	[There actually is a language called {Foogol}].

breakpoint

	<programming> A point in a {program} that, when reached, triggers
	some special behavior useful to the process of {debugging};
	generally, breakpoints are used to either pause program
	{execution}, and/or {dump} the values of some or all of the
	program {variables}.  Breakpoints may be part of the program
	itself; or they may be set by the programmer as part of an
	{interactive} session with a {debugging tool} for scrutinizing the
	program's execution.

	(1999-06-07)

break statement

	<programming> A {statement} in the {C} programming language
	that transfers control out of the innermost enclosing
	{switch}, {while}, {do}, or {for} statement.  The statement
	also exists in languages derived from C, such as {C++} and
	{Java}.

	(2004-03-24)

breath-of-life packet

	({XEROX PARC}) An {Ethernet} {packet} that contains
	{bootstrap} code, periodically sent out from a working
	computer to infuse the "breath of life" into any computer on
	the network that has crashed.  Computers depending on such
	packets have sufficient hardware or firmware code to wait for
	(or request) such a packet during the reboot process.

	See also {dickless workstation}.

	The notional "kiss-of-death packet", with a function
	complementary to that of a breath-of-life packet, is
	recommended for dealing with hosts that consume too many
	network resources.  Though "kiss-of-death packet" is usually
	used in jest, there is at least one documented instance of an
	{Internet} subnet with limited address-table slots in a
	gateway computer in which such packets were routinely used to
	compete for slots, rather like Christmas shoppers competing
	for scarce parking spaces.

	[{Jargon File}]

	(1995-01-26)

breedle

	{feep}

BRH

	{Branch and Hang}

BRI

	{Basic Rate Interface}

Brian Reid

	<person> The person who cofounded {Usenet}'s anarchic alt.*
	{newsgroup} {hierarchy} with {John Gilmore}.

	(1997-04-12)

BRIDGE

	A component of {ICES} for civil engineers.

	[Sammet 1969, p. 616].

bridge

	<networking, hardware> A device which forwards traffic between
	{network segments} based on {data link layer} information.
	These segments would have a common {network layer} address.

	Every network should only have one {root bridge}.

	See also {gateway}, {router}.

	(2001-03-04)

Bridgetalk

	<language> A {visual language}.

	(2001-03-04)

briefcase

	<tool> A {Win95}/{WinNT} utility for keeping files on two
	computers without permanent connection in sync.

	The scenario briefcase was designed for is the combination of
	an office computer and a {portable} one.  You connect the two
	before leaving your office, create a briefcase on the portable
	(if you don't already have one on it), then copy the files you
	want to work on while away into the briefcase.  You can at
	this point disconnect the two computers, take the portable
	with you and work on the files in the briefcase at home or on
	the road.  When you get back to your office the briefcase
	utility can automatically update the files you changed on the
	office computer.

	(1998-05-18)

brightness

	<graphics> (Or "tone", "luminance", "value", "luminosity",
	"lightness") The coordinate in the {HSB} {colour model} that
	determines the total amount of light in the colour.  Zero
	brightness is black and 100% is white, intermediate values are
	"light" or "dark" colours.

	The other coordinates are {hue} and {saturation}.

	(1999-07-05)

Brilliant

	One of five pedagogical languages based on {Markov}
	{algorithms}, used in ["Nonpareil, a Machine Level Machine
	Independent Language for the Study of Semantics", B. Higman,
	ULICS Intl Report No ICSI 170, U London (1968)].

	See also {Diamond}, {Nonpareil}, {Pearl}, {Ruby}.

bring X to its knees

	To present a computer, operating system, piece of software, or
	algorithm with a load so extreme or {pathological} that it
	grinds to a halt.  "To bring a MicroVAX to its knees, try
	twenty users running {vi} - or four running {Emacs}."
	Compare {hog}.

	[{Jargon File}]

British Broadcasting Corporation

	<company> (BBC) The non-commercial UK organisation that
	commissions, produces and broadcasts television and radio
	programmes.

	The BBC commissioned the "{BBC Micro}" from {Acorn Computers}
	for use in a television series about using computers.  They
	also have one of the world's most respected news websites (on
	which I work!).

	{BBC Home (http://bbc.co.uk/)}.

	{BBC News (http://news.bbc.co.uk/)}.

	(2003-07-02)

British Library Method

	<algorithm> {Brute force} searching.

	According to legends circulating in the 1970s, in the British
	Library books are searched for by examining each book
	sequentially in the first shelf, then the next shelf,
	continuing until the book is found or the entire library has
	been searched.

	The term was referred to in a Dutch coursebook, "Inleiding In
	De Informatica" (Introduction to Informatics) from a course
	given by C.H.A. Koster and Th.A. Zoethout.  This was based on
	a course given at the TU Berlin.

	[Reference?]

	(1999-04-14)

British Standards Institute

	<body, standard> (BSI) The British member of {ISO}.

	(1996-06-12)

British Telecom

	<company> (BT) The largest telecommunications provider in the
	UK.

	Due to regulatory issues, BT had to sell off its interest in
	McCaw Cellular.  BT sold it to {AT&T} for something like 4B$.
	BT then invested that in {MCI}.  As a part of the deal, MCI
	was given BT North America, which was the old {Tymnet}.  MCI
	laid off about 40% of the Tymnet staff.

	{(http://intervid.co.uk/)}.

	(1995-05-09)

British Telecom Research Laboratories

	<company> (BTRL) The laboratories where {British Telecom}
	develops many of its new Network services.

	{(http://labs.bt.com/)}.

	Address: Martlesham Heath, near Ipswich, Suffolk, UK.

	(1995-04-25)

brittle

	<jargon> Said of {software} that is functional but easily
	broken by changes in operating environment or configuration,
	or by any minor tweak to the software itself.  Also, any
	system that responds inappropriately and disastrously to
	abnormal but expected external stimuli; e.g. a {file system}
	that is usually totally scrambled by a power failure is said
	to be brittle.  This term is often used to describe the
	results of a research effort that were never intended to be
	robust, but it can be applied to commercially developed
	software, which displays the quality far more often than it
	ought to.

	Opposite of {robust}.

	[{Jargon File}]

	(1995-05-09)

broadband

	<communications> A class of communication channel capable of
	supporting a wide range of frequencies, typically from audio
	up to video frequencies.  A broadband channel can carry
	multiple signals by dividing the total capacity into multiple,
	independent bandwidth channels, where each channel operates
	only on a specific range of frequencies.

	The term has come to be used for any kind of {Internet}
	connection with a {download} speed of more than 56 {kbps},
	usually some kind of {Digital Subscriber Line}, e.g. {ADSL}.
	A broadband connection is typically always connected, in
	contrast to a {dial-up} connection, and a fixed monthly rate
	is charged, often with a cap on the total amount of data that
	can be transferred.  Domestic broadband connections typically
	share a telephone line with normal voice calls and the two
	uses can occur simultaneously without interference.

	See also {baseband}, {narrowband}.

	(2006-03-30)

broadcast

	A transmission to multiple, unspecified recipients.  On
	Ethernet, a broadcast packet is a special type of multicast
	packet which all nodes on the network are always willing to
	receive.

broadcast quality video

	<communications, multimedia> Roughly, {video} with more than
	30 frames per second at a {resolution} of 800 x 640 {pixels}.

	The quality of moving pictures and sound is determined by the
	complete chain from camera to receiver.  Relevant factors are
	the colour temperature of the lighting, the balance of the
	red, green and blue vision pick-up tubes to produce the
	correct display colour temperature (which will be different)
	and the {gamma} pre-correction to cancel the non-linear
	characteristic of {cathode-ray tubes} in television receivers.
	The {resolution} of the camera tube and video coding system
	will determine the maximum number of {pixels} in the picture.

	Different colour coding systems have different defects.  The
	NTSC system (National Television Systems Committee) can
	produce {hue} errors.  The PAL system (Phase Alternation by
	Line) can produce {saturation} errors.

	Television modulation systems are specified by ITU CCIR Report
	624.  Low-resolution systems have {bandwidths} of 4.2 MHz with
	525 to 625 lines per frame as used in the Americas and Japan.
	Medium resolution of 5 to 6.5 MHz with 625 lines is used in
	Europe, Asia, Africa and Australasia.  {High-Definition
	Television} (HDTV) will require 8 MHz or more of bandwidth.

	A medium resolution (5.5 MHz in UK) picture can be represented
	by 572 lines of 402 pixels.  Note the ratio of pixels to lines
	is not the same as the {aspect ratio}.  A {VGA} display (480n
	lines of 640 pixels) could thus display 84% of the height of
	one picture frame.

	Most compression techniques reduce quality as they assume a
	restricted range of detail and motion and discard details to
	which the human eye is not sensitive.

	Broadcast quality implies something better than amateur or
	domestic video and therefore can't be retained on a domestic
	video recorder.  Broadcasts use quadriplex or U-matic
	recorders.

	The lowest frame rate used for commercial entertainment is the
	24Hz of the 35mm cinema camera.  When broadcast on a 50Hz
	television system, the pictures are screened at 25Hz reducing
	the running times by 4%.  On a 60Hz system every five movie
	frames are screened as six TV frames, still at the 4%
	increased rate.  The six frames are made by mixing adjacent
	frames, with some degradation of the picture.

	A computer system to meet international standard reproduction
	would at least VGA resolution, an interlaced frame rate of
	24Hz and 8 bits to represent the luminance (Y) component.  For
	a component display system using red, green and blue (RGB)
	electron guns and phosphor dots each will require 7 bits.
	Transmission and recording is different as various coding
	schemes need less bits if other representations are used
	instead of RGB.  Broadcasts use YUV and compression can reduce
	this to about 3.5 bits per pixel without perceptible
	degradation.  High-quality video and sound can be carried on a
	34 Mbaud channel after being compressed with {ADPCM} and
	{variable length coding}, potentially in real time.

	(1997-07-04)

broadcast storm

	<networking> A {broadcast} on a {network} that causes multiple
	{hosts} to respond by broadcasting themselves, causing the
	storm to grow exponentially in severity.

	See {network meltdown}.

	[{Jargon File}]

	(1995-02-07)

Broadway

	<standard, operating system> A standard which the {X
	Consortium} is currently (January 1997) developing and plans
	to release soon as an {open standard}.  A prime goal is to be
	more {bandwidth}-efficient and easier to develop for (and to
	{port}) than the {X Window System}, which has been widely
	described as over-sized, over-featured, over-engineered and
	incredibly over-complicated.

	{(http://x.org/consortium/broadway.html)}.

	(1997-05-15)

brochureware

	<jargon, business> A planned, but non-existent, product, like
	{vaporware} but with the added implication that marketing is
	actively selling and promoting it (they've printed brochures).
	Brochureware is often deployed to con customers into not
	committing to a competing existing product.

	The term is now especially applicable to new {websites}, website
	revisions, and ancillary services such as customer support and
	product return.

	Owing to the explosion of {database}-driven, {cookie}-using
	{dot-coms} (of the sort that can now deduce that you are, in
	fact, a dog), the term is now also used to describe sites made
	up of {static HTML} pages that contain not much more than
	contact info and mission statements.  The term suggests that
	the company is small, irrelevant to the web, local in scope,
	clueless, broke, just starting out, or some combination
	thereof.

	Many new companies without product, funding, or even staff,
	post brochureware with investor info and press releases to
	help publicise their ventures.  As of December 1999, examples
	include pop.com and cdradio.com.

	Small-timers that really have no business on the web such as
	lawncare companies and divorce laywers inexplicably have
	brochureware made that stays unchanged for years.

	[{Jargon File}]

	(2001-05-10)

broken

	Not working properly (of programs).

broken arrow

	<communications> The error code displayed on line 25 of a {IBM
	3270} {terminal} (or a {terminal emulator} emulating a 3270)
	for various kinds of {protocol} violations and "unexpected"
	error conditions (including connection to a {down} computer).
	On a PC, simulated with "->/_", with the two centre characters
	overstruck.

	"Broken arrow" is also military jargon for an accident
	involving nuclear weapons.

	[{Jargon File}]

	(1995-02-07)

broker

	{object request broker}

broket

	<character> /broh'k*t/ or /broh'ket/ (From broken bracket)
	Either of the characters "<" or ">" when used as paired
	enclosing {delimiters} ({angle brackets}).

	[{Jargon File}]

	(1997-07-21)

brontobyte

	<unit, data> A proposed unit of {data} equal to 10^27 {bytes}.  A
	brontobyte is 1000^9 bytes or 1000 {yottabytes}.

	"Bronto-" is not an official prefix and the term brontobyte is
	generally attributed to the IBM Dictionary of Computing.

	One brontobyte would be enough data to store a three-dimensional
	map of the Earth with one byte for each {voxel} of a
	one-centimetre grid.

	See {prefix}.

	[Where did IBM get it from?]

	(2013-11-04)

Brooks's Law

	<programming> "Adding manpower to a late software project
	makes it later" - a result of the fact that the expected
	advantage from splitting work among N programmers is O(N)
	(that is, proportional to N), but the complexity and
	communications cost associated with coordinating and then
	merging their work is O(N^2) (that is, proportional to the
	square of N).

	The quote is from Fred Brooks, a manager of {IBM}'s {OS/360}
	project and author of "{The Mythical Man-Month}".

	The myth in question has been most tersely expressed as
	"Programmer time is fungible" and Brooks established
	conclusively that it is not.  Hackers have never forgotten his
	advice; too often, {management} still does.

	See also {creationism}, {second-system effect}, {optimism}.

	[{Jargon File}]

	(1996-09-17)

brouter

	A device which bridges some {packets} (i.e. forwards based on
	{data link layer} information) and routes other packets (i.e.
	forwards based on {network layer} information).  The
	{bridge}/{route} decision is based on configuration
	information.

Brouwer Fixed-Point Theorem

	<topology> A well-known result in {topology} stating that any
	{continuous transformation} of an n-dimensional disk must have
	at least one {fixed point}.

	[Is this correct?]

	(2001-03-29)

Brown and Sharpe Wire Gauge

	{American Wire Gauge}

brown paper bag bug

	<programming> A programming {bug} that is so stupid that it
	makes the programmer want to put a brown paper bag over his
	head.

	(2001-01-16)

browser

	<hypertext> A program which allows a person to read
	{hypertext}.  The browser gives some means of viewing the
	contents of {nodes} (or "pages") and of {navigating} from one
	node to another.

	{Netscape Navigator}, {NCSA} {Mosaic}, {Lynx}, and {W3} are
	examples for browsers for the {web}.  They act as
	{clients} to remote {web servers}.

	(1996-05-31)

browserconfig.xml

	<web> A {Microsoft} configuration file used to
	customise the appearance and behaviour of {website} links
	{pinned} to the {Windows} {start screen} or {desktop} {taskbar}.
	browserconfig.xml allows the site owner to specify things like
	{badges} and tile images.

	{browserconfig.xml reference
	(http://msdn.microsoft.com/en-us/library/ie/dn320426%28v=vs.85%29.aspx)}.

	(2014-07-24)

BRS

	{Big Red Switch}

BRUIN

	Brown University Interactive Language.

	A simple interactive language with {PL/I}-like {syntax}, for
	{IBM 360}.

	["Meeting the Computational Requirements of the University,
	Brown University Interactive Language", R.G. Munck, Proc 24th
	ACM Conf, 1969].

	(1995-02-14)

brute force

	<programming> A primitive programming style in which the
	programmer relies on the computer's processing power instead
	of using his own intelligence to simplify the problem, often
	ignoring problems of scale and applying naive methods suited
	to small problems directly to large ones.  The term can also
	be used in reference to programming style: brute-force
	programs are written in a heavy-handed, tedious way, full of
	repetition and devoid of any elegance or useful abstraction
	(see also {brute force and ignorance}).

	The {canonical} example of a brute-force algorithm is
	associated with the "{travelling salesman problem}" (TSP), a
	classical {NP-hard} problem:

	Suppose a person is in, say, Boston, and wishes to drive to N
	other cities.  In what order should the cities be visited in
	order to minimise the distance travelled?

	The brute-force method is to simply generate all possible
	routes and compare the distances; while guaranteed to work and
	simple to implement, this algorithm is clearly very stupid in
	that it considers even obviously absurd routes (like going
	from Boston to Houston via San Francisco and New York, in that
	order).  For very small N it works well, but it rapidly
	becomes absurdly inefficient when N increases (for N = 15,
	there are already 1,307,674,368,000 possible routes to
	consider, and for N = 1000 - well, see {bignum}).  Sometimes,
	unfortunately, there is no better general solution than brute
	force.  See also {NP-complete}.

	A more simple-minded example of brute-force programming is
	finding the smallest number in a large list by first using an
	existing program to sort the list in ascending order, and then
	picking the first number off the front.

	Whether brute-force programming should actually be considered
	stupid or not depends on the context; if the problem is not
	terribly big, the extra CPU time spent on a brute-force
	solution may cost less than the programmer time it would take
	to develop a more "intelligent" algorithm.  Additionally, a
	more intelligent algorithm may imply more long-term complexity
	cost and bug-chasing than are justified by the speed
	improvement.

	When applied to {cryptography}, it is usually known as {brute
	force attack}.

	{Ken Thompson}, co-inventor of {Unix}, is reported to have
	uttered the epigram "When in doubt, use brute force".  He
	probably intended this as a {ha ha only serious}, but the
	original {Unix} {kernel}'s preference for simple, robust and
	portable {algorithms} over {brittle} "smart" ones does seem to
	have been a significant factor in the success of that
	{operating system}.  Like so many other tradeoffs in software
	design, the choice between brute force and complex,
	finely-tuned cleverness is often a difficult one that requires
	both engineering savvy and delicate aesthetic judgment.

	[{Jargon File}]

	(1995-02-14)

brute force and ignorance

	<jargon> (BFI) A popular design technique at many software
	houses - {brute force} coding unrelieved by any knowledge of
	how problems have been previously solved in elegant ways.
	Dogmatic adherence to design methods tends to encourage this
	sort of thing.  Characteristic of early {larval stage}
	programming; unfortunately, many never outgrow it.

	Also encountered in the variants BFMI - brute force and
	massive ignorance, and BFBI - brute force and bloody
	ignorance.

	"Gak, they used a {bubble sort}!  That's strictly BFI."

	Compare {bogosity}.

	[{Jargon File}]

	(1996-06-12)

brute force attack

	<cryptography> A method of breaking a cipher (that is, to
	decrypt a specific encrypted text) by trying every possible
	{key}.  The quicker the brute force attack, the weaker the
	cipher.  Feasibility of brute force attack depends on the key
	length of the cipher, and on the amount of computational power
	available to the attacker.  Brute force attack is impossible
	against the ciphers with variable-size key, such as a
	{one-time pad} cipher.

	{Breaking ciphers with many workstations
	(http://distributed.net/projects.html.en)}.

	(2000-01-16)

BS

	{backspace}

bs

	<networking> The {country code} for the Bahamas.

	(1999-01-27)

BS2000

	<operating system> An {operating system} from {SNI} for
	{mainframes}.

	{(http://mch.sni.de.public/bs2000/server.htm)}.

	(1997-06-13)

BSA

	1. {Business Software Alliance}.

	2. {Bidouilleurs Sans Argent}.

BSD

	{Berkeley Software Distribution}

BSD386

	{386BSD}

BSDI

	{Berkeley Software Design, Inc.}

BSD/OS

	<operating system> {BSDI}'s commercial version of {Berkeley
	Standard Distribution} {Unix}.  BSD/OS is a
	{POSIX}-compatible, {Unix}-like system for the {80386}, {486},
	and {Pentium}.  It is based on the {BSD} software from {UCB},
	a number of other sources, and components engineered by BSDI.
	The initial production release of BSD/OS shipped in March,
	1993.

	(1996-01-13)

BSD Unix

	{Berkeley Software Distribution}

BSI

	{British Standards Institute}

BSL

	<language> A variant of {IBM}'s {PL/S} systems language.
	Versions: BSL1, BSL2.

	(1998-06-15)

BSOD

	{Blue Screen of Death}

BSOL

	{Blue Screen of Life}

BSOM

	{Beats the shit outa me}

BSP method

	<programming> A {CASE} method from {IBM}.

	(1998-02-24)

BSRAM

	{Burst Static Random Access Memory}

BSS

	1. <programming> {Block Started by Symbol}.

	2. <networking> {Basic Service Set}

BSS segment

	{Block Started by Symbol}

BST

	<convention> British Summer Time.  The name for
	daylight-saving time in the UK {GMT} time zone.

	(2000-03-28)

bt

	<networking> The {country code} for Bhutan.

	(1999-01-27)

BTB

	{Branch Target Buffer}

btoa

	<tool, messaging, algorithm, file format> /B too A/ A {binary}
	to {ASCII} conversion utility.

	btoa is a {uuencode} or {base 64} equivalent which addresses
	some of the problems with the uuencode standard but not as
	many as the base 64 standard.  It avoids problems that some
	{hosts} have with spaces (e.g. conversion of groups of spaces
	to tabs) by not including them in its character set, but may
	still have problems on non-ASCII systems (e.g. {EBCDIC}).

	btoa is primarily used to transfer {binary files} between
	systems across connections which are not {eight-bit clean},
	e.g. {electronic mail}.

	btoa takes adjacent sets of four binary {octets} and encodes
	them as five ASCII {octets} using ASCII characters '!' through
	to 'u'.  Special characters are also used: 'x' marks the
	beginning or end of the archive; 'z' marks four consecutive
	zeros and 'y' (version 5.2) four consecutive spaces.

	Each group of four octets is processed as a 32-bit integer.
	Call this 'I'.  Let 'D' = 85^4.  Divide I by D.  Call this
	result 'R'.  Make I = I - (R * D) to avoid {overflow} on the
	next step.  Repeat, for values of D = 85^3, 85^2, 85 and 1.
	At each step, to convert R to the output character add decimal
	33 (output octet = R + ASCII value for '!').  Five output
	octets are produced.

	btoa provides some {integrity checking} in the form of a line
	{checksum}, and facilities for patching corrupted downloads.

	The {algorithm} used by btoa is more efficient than uuencode
	or base 64.  ASCII files are encoded to about 120% the size of
	their binary sources.  This compares with 135% for uuencode or
	base 64.

	{C source (ftp://hpux.csc.liv.ac.uk/hpux/Misc/btoa-5.2/)}.
	(version 5.2 - ~1994).

	Pre-compiled {MS-DOS} versions are also available.

	(1997-08-08)

B-Toolkit

	<tool, programming, product> A set of software tools designed
	to support a rigorous or formal development of software
	systems using the {B-Method}.

	The Toolkit also provides a development environment automating
	the management of all associated files, ensuring that the
	entire development, including code and documentation, is
	always in a consistent state.

	The Toolkit includes: a specification, design and code
	configuration management system, including integrity and
	dependency management and source file editing facilities; a
	set of software specification and design analysis tools, which
	includes {syntax} checkers, type checkers and a specification
	animator; a set of verification tools, which includes a
	proof-obligation generator and automatic and interactive
	provers; a set of coding tools, which includes a translator,
	linker, rapid prototyping facilities and a reusable
	specification/code module library; a documentation tool for
	automatically producing fully cross-referenced and indexed
	type-set documents from source files; a re-making tool for
	automatically re-checking and re-generating specifications,
	designs, code and documentation after modifications to source
	files.

	A normal licence costs 25,000 pounds, academic 6,250 pounds.

	(1995-03-13)

BTOS

	{Convergent Technologies Operating System}

B-tree

	<algorithm> A multi-way {balanced tree}.

	The "B" in B-tree has never been officially defined.  It could
	stand for "balanced" or "Bayer", after one of the original
	designers of the algorithms and structure.  A B-tree is _not_
	(necessarily?) a "{binary tree}".

	A B+-tree (as used by {IBM}'s {VSAM}) is a B-tree where the
	leaves are also linked sequentially, thus allowing both fast
	{random access} and sequential access to data.

	[Knuth's Art of Computer Programming].

	[Example algorithm?]

	(2000-01-10)

BTRIEVE

	1. <company> {BTRIEVE Technologies, Inc.}.

	2. <tool> A trademark of {BTRIEVE Technologies, Inc.} for
	their {ISAM} {index file} manager for {IBM PCs}.

	(1995-03-28)

BTRIEVE Technologies, Inc.

	<company, database> /bee-treev/ (BTI) A provider of
	{client-server} {database engines}.  BTI was founded by former
	{Novell, Inc.} employees, including the original developers of
	the Btrieve database engine.  BTI acquired the database
	product line from Novell in April, 1994.

	{(http://btrieve.com/)}.

	Address: Austin, Texas, USA.

	(1995-12-14)

BTRL

	<company> {British Telecom Research Laboratories}.

BTS

	{Bug Tracking System}

BTW

	<chat> By the way.

	(2002-06-12)

BUAF

	[alt.fan.warlord] Big Ugly ASCII Font.  A special form of
	{ASCII art}.  Various programs exist for rendering text
	strings into block, {bloob}, and pseudo-script fonts in cells
	between four and six character cells on a side; this is
	smaller than the letters generated by older {banner} programs.
	These are sometimes used to render one's name in a {sig
	block}, and are critically referred to as "BUAF"s.  See
	{warlording}.

	[{Jargon File}]

BUAG

	[alt.fan.warlord] Big Ugly ASCII Graphic.  Pejorative term for
	ugly {ASCII ART}, especially as found in {sig blocks}.  For
	some reason, mutations of the head of Bart Simpson are
	particularly common in the least imaginative {sig blocks}.

	See {warlording}.

bubble memory

	A storage device built using materials such as gadolinium
	gallium garnet which are can be magnetised easily in only one
	direction.  A film of these materials can be created so that
	it is magnetisable in an up-down direction.  The magnetic
	fields tend to join together, some with the north pole facing
	up, some with the south.

	When a veritcal magnetic field is imposed on this, the areas
	in opposite alignment to the field shrink to circles, or
	'bubbles'.  A bubble can be formed by reversing the field in a
	small spot, and can be destroyed by increasing the field.

	Bubble memory is a kind of {non-volatile storage} but
	{EEPROM}, {Flash Erasable Programmable Read-Only Memory} and
	ferroelectric technologies, which are also non-volatile, are
	faster.

	["Great Microprocessors of the Past and Present", V 4.0.0,
	John Bayko <bayko@hercules.cs.uregina.ca>, Appendix C]

	(1995-02-03)

bubble sort

	A sorting technique in which pairs of adjacent values in the
	list to be sorted are compared and interchanged if they are
	out of order; thus, list entries "bubble upward" in the list
	until they bump into one with a lower sort value.  Because it
	is not very good relative to other methods and is the one
	typically stumbled on by {naive} and untutored programmers,
	hackers consider it the {canonical} example of a naive
	algorithm.  The canonical example of a really *bad* algorithm
	is {bogo-sort}.  A bubble sort might be used out of ignorance,
	but any use of bogo-sort could issue only from brain damage or
	willful perversity.

	[{Jargon File}]

bucky bits

	/buh'kee bits/ 1. Obsolete.  The bits produced by the CONTROL
	and META shift keys on a SAIL keyboard ({octal} 200 and 400
	respectively), resulting in a 9-bit keyboard character set.
	The MIT AI TV (Knight) keyboards extended this with TOP and
	separate left and right CONTROL and META keys, resulting in a
	12-bit character set; later, LISP Machines added such keys as
	SUPER, HYPER, and GREEK (see {space-cadet keyboard}).

	2. By extension, bits associated with "extra" shift keys on
	any keyboard, e.g.  the ALT on an IBM PC or command and option
	keys on a Macintosh.

	It has long been rumored that "bucky bits" were named after
	Buckminster Fuller during a period when he was consulting at
	Stanford.  Actually, bucky bits were invented by Niklaus Wirth
	when *he* was at Stanford in 1964--65; he first suggested the
	idea of an EDIT key to set the 8th bit of an otherwise 7 bit
	ASCII character.  It seems that, unknown to Wirth, certain
	Stanford hackers had privately nicknamed him "Bucky" after a
	prominent portion of his dental anatomy, and this nickname
	transferred to the bit.  Bucky-bit commands were used in a
	number of editors written at Stanford, including most notably
	TV-EDIT and NLS.

	The term spread to MIT and CMU early and is now in general
	use.  Ironically, Wirth himself remained unaware of its
	derivation for nearly 30 years, until {GLS} dug up this
	history in early 1993!  See {double bucky}, {quadruple bucky}.

	(2001-06-22)

buffer

	1. An area of memory used for storing messages.  Typically, a
	buffer will have other attributes such as an input pointer
	(where new data will be written into the buffer), and output
	pointer (where the next item will be read from) and/or a count
	of the space used or free.  Buffers are used to decouple
	processes so that the reader and writer may operate at
	different speeds or on different sized blocks of data.

	There are many different algorithms for using buffers, e.g.
	first-in first-out (FIFO or shelf), last-in first-out (LIFO or
	stack), double buffering (allowing one buffer to be read while
	the other is being written), cyclic buffer (reading or writing
	past the end wraps around to the beginning).

	2. An electronic device to provide compatibility between two
	signals, e.g. changing voltage levels or current capability.

buffered write-through

	<memory management> A variation of {write-through} where the
	{cache} uses a "write buffer" to hold data being written back
	to {main memory}.  This frees the cache to service read
	requests while the write is taking place.  There is usually
	only one stage of buffering so subsequent writes must wait
	until the first is complete.  Most accesses are reads so
	buffered write-through is only useful for very slow main
	memory.

	(1998-04-24)

buffer overflow

	<programming> What happens when you try to store more data in
	a {buffer} than it can handle.  This may be due to a mismatch
	in the processing rates of the producing and consuming
	processes (see {overrun} and {firehose syndrome}), or because
	the buffer is simply too small to hold all the data that must
	accumulate before a piece of it can be processed.  For
	example, in a text-processing tool that {crunch}es a line at a
	time, a short line buffer can result in {lossage} as input
	from a long line overflows the buffer and overwrites data
	beyond it.  Good defensive programming would check for
	overflow on each character and stop accepting data when the
	buffer is full.

	See also {spam}, {overrun screw}.

	[{Jargon File}]

	(1996-05-13)

buffer overrun

	{buffer overflow}

bug

	<programming> An unwanted and unintended property of a
	{program} or piece of {hardware}, especially one that causes
	it to malfunction.  Antonym of {feature}.  E.g. "There's a bug
	in the editor: it writes things out backward."  The
	identification and removal of bugs in a program is called
	"{debugging}".

	Admiral {Grace Hopper} (an early computing pioneer better
	known for inventing {COBOL}) liked to tell a story in which a
	technician solved a {glitch} in the {Harvard Mark II machine}
	by pulling an actual insect out from between the contacts of
	one of its relays, and she subsequently promulgated {bug} in
	its hackish sense as a joke about the incident (though, as she
	was careful to admit, she was not there when it happened).
	For many years the logbook associated with the incident and
	the actual bug in question (a moth) sat in a display case at
	the Naval Surface Warfare Center (NSWC).  The entire story,
	with a picture of the logbook and the moth taped into it, is
	recorded in the "Annals of the History of Computing", Vol. 3,
	No. 3 (July 1981), pp. 285--286.

	The text of the log entry (from September 9, 1947), reads
	"1545 Relay #70 Panel F (moth) in relay.  First actual case of
	bug being found".  This wording establishes that the term was
	already in use at the time in its current specific sense - and
	Hopper herself reports that the term "bug" was regularly
	applied to problems in radar electronics during WWII.

	Indeed, the use of "bug" to mean an industrial defect was
	already established in Thomas Edison's time, and a more
	specific and rather modern use can be found in an electrical
	handbook from 1896 ("Hawkin's New Catechism of Electricity",
	Theo. Audel & Co.)  which says: "The term "bug" is used to a
	limited extent to designate any fault or trouble in the
	connections or working of electric apparatus."  It further
	notes that the term is "said to have originated in
	{quadruplex} telegraphy and have been transferred to all
	electric apparatus."

	The latter observation may explain a common folk etymology of
	the term; that it came from telephone company usage, in which
	"bugs in a telephone cable" were blamed for noisy lines.
	Though this derivation seems to be mistaken, it may well be a
	distorted memory of a joke first current among *telegraph*
	operators more than a century ago!

	Actually, use of "bug" in the general sense of a disruptive
	event goes back to Shakespeare!  In the first edition of
	Samuel Johnson's dictionary one meaning of "bug" is "A
	frightful object; a walking spectre"; this is traced to
	"bugbear", a Welsh term for a variety of mythological monster
	which (to complete the circle) has recently been reintroduced
	into the popular lexicon through fantasy {role-playing games}.

	In any case, in jargon the word almost never refers to
	insects.  Here is a plausible conversation that never actually
	happened:

	"There is a bug in this ant farm!"

	"What do you mean?  I don't see any ants in it."

	"That's the bug."

	[There has been a widespread myth that the original bug was
	moved to the Smithsonian, and an earlier version of this entry
	so asserted.  A correspondent who thought to check discovered
	that the bug was not there.  While investigating this in late
	1990, your editor discovered that the NSWC still had the bug,
	but had unsuccessfully tried to get the Smithsonian to accept
	it - and that the present curator of their History of
	American Technology Museum didn't know this and agreed that it
	would make a worthwhile exhibit.  It was moved to the
	Smithsonian in mid-1991, but due to space and money
	constraints has not yet been exhibited.  Thus, the process of
	investigating the original-computer-bug bug fixed it in an
	entirely unexpected way, by making the myth true!  - ESR]

	[{Jargon File}]

	(1999-06-29)

bug-compatible

	Said of a design or revision that has been badly compromised
	by a requirement to be compatible with {fossils} or
	{misfeatures} in other programs or (especially) previous
	releases of itself. "{MS-DOS} 2.0 used \ as a path separator
	to be bug-compatible with some cretin's choice of / as an
	option character in 1.0."

	[{Jargon File}]

bug fix

	<programming> A change to a program or system intended to
	permanently cure a {bug}.  Often a fix for one bug
	inadvertantly introduces new bugs, hence the need for careful
	forethought and testing.

	Compare: {workaround}.

	(1998-06-25)

bug fix release

	<programming> A {release} which introduces no new {features},
	but which merely aims to fix bugs in previous releases.  All
	too commonly new bugs are introduced at the same time.

	(1996-08-04)

Bugfoot

	{Loch Ness Monster Bug}

bug-for-bug compatible

	Same as {bug-compatible}, with the additional implication that
	much tedious effort went into ensuring that each (known) bug
	was replicated.

	[{Jargon File}]

buglix

	/buhg'liks/ Pejorative term referring to {DEC}'s {ULTRIX}
	{operating system} in its earlier *severely* buggy versions.
	Still used to describe ULTRIX, but without nearly so much
	venom.  Compare {AIDX}, {HP-SUX}, {Nominal Semidestructor},
	{Telerat}, {sun-stools}.

bugs

	{bug}

BUGSYS

	<programming> A programming system for {pattern recognition}
	and preparing animated films, for {IBM 7094} and {IBM 360}.

	["BUGSYS: A Programming System for Picture Processing - Not
	for Debugging", R.A. Ledley et al, CACM 9(2) (Feb 1966)].

	(1995-02-14)

bug tracking system

	<programming> (BTS) A system for receiving and filing {bugs}
	reported against a {software} project, and tracking those bugs
	until they are fixed.  Most major software projects have their
	own BTS, the {source code} of which is often available for use
	by other projects.

	Well known BTSs include {GNATS}, {Bugzilla}, and {Debbugs}.

	(2002-06-12)

Bugzilla

	<programming> The web-based {bug tracking system} used by the
	{Mozilla} project.

	{Bugzilla home (http://bugzilla.mozilla.org/)}.

	(2002-06-12)

build

	<programming, systems> To process all of a project's {source
	code} and other digital assets or resources in order to
	produce a deployable product.  In the simplest case this might
	mean compiling one file of {C} source to produce an
	{executable} file.  More complex builds would typically
	involve compiling multiple source files, building library
	modules, packaging intermediate build products (e.g. {Java}
	{class files} in a {jar file}), adding or updating version
	information and other data about the product (e.g. intended
	deployment {platform}), running tests and interacting with a
	{source code control} system.

	The build process is normally automated using tools such as
	{Unix} {make}, {Apache} {ant} or as part of an {integrated
	development environment}.  This is taken one step further by
	{continuous integration} set-ups which periodically build the
	system while you are working on it.

	(2011-12-16)

built-in

	(Or "primitive") A built-in function or operator is one
	provided by the lowest level of a language implementation.
	This usually means it is not possible (or efficient) to
	express it in the language itself.  Typical examples are the
	basic arithmetic and {Boolean} operators (in {C} syntax: +, -,
	*, /, %, !, &&, ||), bit manipulation operators (~, &, |, ^)
	and I/O primitives.  Other common functions may be provided in
	libraries but are not built-in if they are written in the
	language being implemented.

	(1995-02-14)

Built-in Self Test

	(BIST) The technique of designing circuits with additional
	logic which can be used to test proper operation of the
	primary (functional) logic.

	(1995-02-14)

Bull

	{Bull Information Systems}

bulletin board

	{bulletin board system}

bulletin board system

	<communications, application> (BBS, bboard /bee'bord/, message
	board, forum; plural: BBSes) A computer and associated
	software which typically provides an electronic message
	database where people can log in and leave messages.  Messages
	are typically split into {topic groups} similar to the
	{newsgroups} on {Usenet} (which is like a distributed BBS).
	Any user may submit or read any message in these public areas.

	The term comes from physical pieces of board on which people
	can pin messages written on paper for general consumption - a
	"physical bulletin board".  {Ward Christensen}, the programmer
	and operator of the first BBS (on-line 1978-02-16) called it a
	CBBS for "computer bulletin board system".  Since the rise of
	the {World-Wide Web}, the term has become antiquated, though
	the concept is more popular than ever, with many {websites}
	featuring discussion areas where users can post messages for
	public consumption.

	Apart from public message areas, some BBSes provided archives
	of files, personal {electronic mail} and other services of
	interest to the system operator ({sysop}).

	Thousands of BBSes around the world were run from amateurs'
	homes on {MS-DOS} boxes with a single {modem} line each.
	Although BBSes were traditionally the domain of hobbyists,
	many connected directly to the {Internet} (accessed via
	{telnet}), others were operated by government, educational,
	and research institutions.

	Fans of {Usenet} or the big commercial {time-sharing} bboards
	such as {CompuServe}, {CIX} and {GEnie} tended to consider
	local BBSes the low-rent district of the hacker culture, but
	they helped connect hackers and users in the personal-{micro}
	and let them exchange code.

	Use of this term for a {Usenet} newsgroup generally marks one
	either as a {newbie} fresh in from the BBS world or as a real
	old-timer predating {Usenet}.

	(2005-09-20)

bulletproof

	Used of an algorithm or implementation considered extremely
	{robust}; lossage-resistant; capable of correctly recovering
	from any imaginable exception condition - a rare and valued
	quality.  Synonym {armor-plated}.

	[{Jargon File}]

Bull Information Systems

	<company> A multinational I.T. group based in Europe with
	21,000 people and operations in more than 85 countries.  In
	1997, Bull earned revenues of over $4 billion, including over
	65% outside of France, its country of origin.  The company is
	ranked as the third largest {systems integrator} in Europe.

	{(http://bull.com/)}.

	(1998-07-02)

bum

	1. To make highly efficient, either in time or space, often at
	the expense of clarity.  "I managed to bum three more
	instructions out of that code."  "I spent half the night
	bumming the interrupt code."  In {elder days}, {John McCarthy}
	(inventor of {Lisp}) used to compare some efficiency-obsessed
	hackers among his students to "ski bums"; thus, optimisation
	became "program bumming", and eventually just "bumming".

	2. To squeeze out excess; to remove something in order to
	improve whatever it was removed from (without changing
	function; this distinguishes the process from a
	{featurectomy}).

	3.  A small change to an algorithm, program, or hardware
	device to make it more efficient.  "This hardware bum makes
	the jump instruction faster."

	Usage: now uncommon, largely superseded by v. {tune} (and
	{tweak}, {hack}), though none of these exactly capture sense
	2.  All these uses are rare in Commonwealth hackish, because
	in the parent dialects of English "bum" is a rude synonym for
	"buttocks".

	[{Jargon File}]

bump

	Increment.  E.g. {C}'s {++} operator.  It is used especially of
	counter variables, pointers and index dummies in "for",
	"while", and "do-while" loops.

	(1994-11-29)

burble

	[Lewis Carroll's "Jabberwocky"] Like {flame}, but connotes
	that the source is truly clueless and ineffectual (mere
	flamers can be competent).  A term of deep contempt.  "There's
	some guy on the phone burbling about how he got a DISK FULL
	error and it's all our comm software's fault."  This is
	mainstream slang in some parts of England.

	[{Jargon File}]

Bureau International des Poids et Mesures

	<body, standard> (BIPM) The standards body that ensures
	world-wide uniformity of measurements and their traceability
	to the {International System of Units} (SI).  The BIPM is
	based in France and operates with the authority of the
	Convention of the Metre, a diplomatic treaty between fifty-one
	nations.  It operates through a series of committees, whose
	members are the national metrology laboratories of the member
	states of the convention, and through its own laboratory work.

	The BIPM carries out measurement-related research.  It takes
	part in, and organises, international comparisons of national
	measurement standards, and it carries out calibrations for
	member states.

	{BIPM Home (http://www.bipm.org/)}.

	(2014-07-08)

Burge's Language

	Unnamed functional language based on lambda-calculus.
	Recursive Programming techniques", W.H. Burge, A-W 1975.

buried treasure

	A surprising piece of code found in some program.  While
	usually not wrong, it tends to vary from {crufty} to
	bletcherous, and has lain undiscovered only because it was
	functionally correct, however horrible it is.  Used
	sarcastically, because what is found is anything *but*
	treasure.  Buried treasure almost always needs to be dug up
	and removed.  "I just found that the scheduler sorts its queue
	using {bubble sort}!  Buried treasure!"

	[{Jargon File}]

burn-in

	1. <hardware> {screen saver}.

	2. <hardware, testing> {burn-in period}.

burn-in period

	1. <testing> A factory {soak test} intended to increase the
	chance that components that fail early due to {infant
	mortality} will fail before the system leaves the factory.

	2. <jargon> When one is so intensely involved in a new project
	that one forgets basic needs such as food, drink and sleep.
	Excessive burn-in can lead to burn-out.  See {hack mode},
	{larval stage}.

	[{Jargon File}]

	(2007-01-17)

Burroughs Corporation

	<company> A company which merged with {Sperry Univac} to form
	{Unisys Corporation}.  They produced the {Datatron 200 series}
	among other computers.

	(2007-01-16)

Burst EDO

	{Burst Extended Data Out DRAM}

Burst Extended Data Out DRAM

	<storage> (Burst EDO, BEDO) A variant on {EDO DRAM} in which
	read or write cycles are batched in bursts of four.  The
	bursts wrap around on a four byte boundary which means that
	only the two least significant bits of the {CAS} address are
	modified internally to produce each address of the burst
	sequence.  Consequently, burst EDO bus speeds will range from
	40MHz to 66MHz, well above the 33MHz bus speeds that can be
	accomplished using {Fast Page Mode} or EDO DRAM.

	Burst EDO was introduced sometime before May 1995.

	(1996-06-25)

burst page

	{banner}

Burst Static Random Access Memory

	<storage> (BSRAM) A kind of {SRAM} used primarily for external
	{Level 2 cache} memory.

	[How does it work?]

	(1998-02-24)

bus

	<architecture, networking> A set of electrical conductors
	(wires, PCB tracks or connections in an {integrated circuit})
	connecting various "stations", which can be {functional units}
	in a computer or {nodes} in a {network}.  A bus is a
	{broadcast} channel, meaning that each station receives every
	other station's transmissions and all stations have equal
	access to the bus.

	Various schemes have been invented to solve the problem of
	collisions: multiple stations trying to transmit
	at once, e.g. {CSMA/CD}, {bus master}.

	The term is almost certainly derived from the electrical
	engineering term "bus bar" - a substantial, rigid power supply
	conductor to which several connections are made.  This was
	once written "'bus bar" as it was a contraction of "omnibus
	bar" - a connection bar "for all", by analogy with the
	passenger omnibus - a conveyance "for all".

	{More on derivation (/pub/misc/omnibus.html)}.

	There are busses both within the {CPU} and connecting it to
	external {memory} and {peripheral} devices.  The data bus,
	address bus and control signals, despite their names, really
	constitute a single bus since each is useless without the
	others.

	The width of the data bus is usually specified in {bits} and
	is the number of parallel connectors.  This and the {clock
	rate} determine the bus's data rate (the number of {bytes} per
	second which it can carry).  This is one of the factors
	limiting a computer's performance.  Most current
	{microprocessors} have 32-bit busses both internally and
	externally.  100 or 133 {megahertz} bus clock rates are
	common.  The bus clock is typically slower than the processor
	clock.

	Some processors have internal busses which are wider than
	their external busses (usually twice the width) since the
	width of the internal bus affects the speed of all operations
	and has less effect on the overall system cost than the width
	of the external bus.

	Various bus designs have been used in the {PC}, including
	{ISA}, {EISA}, {Micro Channel}, {VL-bus} and {PCI}.  Other
	peripheral busses are NuBus, TURBOchannel, VMEbus, MULTIBUS and
	STD bus.

	See also {bus network}.

	{Ukranian (http://open-taxi.com/mynews/~adrian/10)}.

	(2010-07-10)

bus error

	<processor> A fatal failure in the execution of a {machine
	language} instruction resulting from the {processor} detecting
	an anomalous condition on its {bus}.  Such conditions include
	invalid address alignment (accessing a multi-byte number at an
	odd address), accessing a {physical address} that does not
	correspond to any device, or some other device-specific
	hardware error.  A bus error triggers a processor-level
	{exception} which {Unix} translates into a "SIGBUS" {signal}
	which, if not caught, will terminate the current process.

	(2000-04-04)

Bush, Vannevar

	{Vannevar Bush}

Business Analyst

	<job> A person who analyses the operations of a department or
	functional unit to develop a general systems solution to the
	problem.  The solution will typically involve a combination of
	manual and automated processes.  The business analyst can
	provide insights into an operation for an {information systems
	analyst}.

	(2004-03-09)

Business Application Programming Interface

	<business, application, programming> (BAPI) /bap'ee/ A set of
	{methods} provided by an {SAP} business {object}.

	Release 4.0 of {SAP AG}'s {R/3} system supports
	{object-oriented programming} via an interface defined in
	terms of {objects} and {methods} called BAPIs.  For example if
	a material object provides a function to check availability,
	the corresponding SAP business object type "Material" might
	provide a BAPI called "Material.CheckAvailability".

	The definitions of SAP business objects and their BAPIs are
	kept in an SAP business object repository.  SAP provide
	{classes} and {libraries} to enable a programming team to
	build SAP applications that use business objects and BAPIs.
	Supported environments include {COM} and {Java}.

	The {Open BAPI Network
	(http://sap.com/solutions/technology/bapis/index.htm)}.
	gives background information and lists objects and BAPIs.

	(2002-08-30)

Business Process Re-engineering

	<business> (BPR) Any radical change in the way in which an
	organisation performs its business activities.  BPR involves a
	fundamental re-think of the business processes followed by a
	redesign of business activities to enhance all or most of its
	critical measures - costs, quality of service, staff dynamics,
	etc.

	(1999-09-27)

Business Software Alliance

	<company> The BSA was created by {Microsoft} in 1988 in an
	attempt to combat {software theft}.  The alliance includes the
	majority of leading software publishers including {Novell},
	{Symantec}, and {Autodesk} and is actively campaigning in over
	65 countries.

	The BSA operates a three-pronged approach: 1. Lobbying to
	strengthen copyright laws and co-operation with law
	enforcement agencies.  2. Educating the public through
	marketing, roadshows, etc.  3. Bringing legal actions against
	counterfeiters.  BSA's aims are the same as the {Federation
	Against Software Theft} but it is not limited to the UK.

	In December 1990 the BSA obtained the first legal order in the
	UK which allowed a surprise search on a company's offices for
	suspected copyright infringement.

	{(http://bsa.org/bsa)}.

	UK Office: Business Software Alliance, 1st Floor, Leaconfield
	House, Curzon Street, London W1Y 8AS, United Kingdom.

	See also {software audit}.

	(1996-05-19)

Business Systems Analyst

	<job> A person who works directly with management and users to
	analyse, specify, and design {business applications}.  The
	Business Systems Analyst develops detailed functional, system,
	and program specifications using {structured design
	methodologies} and {CASE} tools.  He must have strong business
	sense and communications skills.  He works with both the
	{information systems} team and the strategic planning business
	group.

	(2004-03-09)

business to business

	<business> (B2B) {Electronic commerce} between businesses, as
	opposed to between a consumer and a business (B2C).

	While derived from "business to business", "B2B" is narrower
	in meaning.

	(2001-03-26)

bus master

	<architecture> The device in a computer which is driving the
	{address bus} and bus control signals at some point in time.
	In a simple architecture only the (single) {CPU} can be bus
	master but this means that all communications between
	("slave") I/O devices must involve the CPU.  More
	sophisticated architectures allow other capable devices (or
	multiple CPUs) to take turns at controling the bus.  This
	allows, for example, a {network controller} card to access a
	{disk controller} directly while the CPU performs other tasks
	which do not require the bus, e.g. fetching code from its
	{cache}.

	Note that any device can drive data onto the {data bus} when
	the CPU reads from that device, but only the bus master drives
	the {address bus} and control signals.

	{Direct Memory Access} is a simple form of bus mastering where
	the I/O device is set up by the CPU to read from or write to
	one or more contiguous blocks of memory and then signal to the
	CPU when it has done so.  Full bus mastering (or "First Party
	DMA", "bus mastering DMA") implies that the I/O device is
	capable of performing more complex sequences of operations
	without CPU intervention (e.g. servicing a complete {NFS}
	request).  This will normally mean that the I/O device
	contains its own processor or {microcontroller}.

	See also {distributed kernel}.

	(1996-08-26)

bus mastering

	{bus master}

bus network

	<networking> A {network topology} in which all {nodes} are
	connected to a single wire or set of wires (the bus).  Bus
	networks typically use {CSMA/CD} techniques to determine which
	node should transmit data at any given time.

	Some {networks} are implemented as a {bus}, e.g. {Ethernet} -
	a one-bit bus operating at 10, 100, 1000 or 10,000 {megabits
	per second}.  Originally Ethernet was a {physical layer} bus
	consisting of a wire (with {terminators} at each end) to which
	each node was attached.  {Switched Ethernet}, while no longer
	physically a bus still acts as one at the logical layers.

bus topology

	{bus}

Busy Beaver

	<theory> (BB) One of a series of sets of {Turing Machine}
	programs.  The BBs in the Nth set are programs of N states
	that produce a larger finite number of ones on an initially
	blank tape than any other program of N states.  There is no
	program that, given input N, can deduce the productivity
	(number of ones output) of the BB of size N.

	The productivity of the BB of size 1 is 1.  Some work has been
	done to figure out productivities of bigger Busy Beavers - the
	7th is in the thousands.

	(1994-10-24)

busy-loop

	{tight loop}

busy-wait

	<programming> To wait for an {event} by {spinning} through a
	{tight loop} or timed-delay loop that {polls} for the event on
	each pass, as opposed to setting up an {interrupt handler} and
	continuing execution on another part of the task.  This is a
	wasteful technique, best avoided on {time-sharing} systems
	where a busy-waiting program may {hog} the processor.

	[{Jargon File}]

	(1999-06-10)

Butterfly Common LISP

	A parallel version of {Common LISP} for the {BBN Butterfly}
	computer.

Butterfly Scheme

	A parallel version of {Scheme} for the {BBN Butterfly}
	computer.

button

	1. <electronics> {push-button}.

	2. <operating system> A graphical representation of an
	electrical {push-button} appearing as part of a {graphical
	user interface}.  Moving the {mouse pointer} over the
	graphical button and pressing one of the physical mouse
	buttons starts some software action such as closing a window
	or deleting a file.

	See also {radio button}.

	(1997-07-07)

buzz

	1. Of a program, to run with no indication of progress and
	perhaps without guarantee of ever finishing; especially said
	of programs thought to be executing a {tight loop} of code.  A
	program that is buzzing appears to be {catatonic}, but never
	gets out of catatonia, while a buzzing loop may eventually end
	of its own accord.  "The program buzzes for about 10 seconds
	trying to sort all the names into order."  See {spin}; see
	also {grovel}.

	2. [ETA Systems] To test a wire or printed circuit trace for
	continuity by applying an AC rather than DC signal.  Some wire
	faults will pass DC tests but fail a buzz test.

	3. To process an {array} or list in sequence, doing the same
	thing to each element.  "This loop buzzes through the tz array
	looking for a terminator type."

	[{Jargon File}]

bv

	<networking> The {country code} for Bouvet Island.

	(1999-01-27)

bw

	<networking> The {country code} for Botswana.

	(1999-01-27)

bwBASIC

	Bywater BASIC interpreter.

	A {BASIC} {interpreter} by Ted A. Campbell <tcamp@delphi.com>
	which implements a large superset of the {ANSI Standard for
	Minimal BASIC} (X3.60-1978) in {ANSI C}, and offers a simple
	interactive environment including some {shell} program
	facilities as an extension of BASIC.  The interpreter source
	has been compiled successfully on a range of {ANSI C}
	{compilers} on varying {platforms} including {MS-DOS}, {Unix},
	and {Acorn} {RISC OS}.

	Version 2.10 was posted to {news:comp.sources.misc}, volume
	40.

	(1993-10-29)

BWQ

	[IBM] Buzz Word Quotient.  The percentage of buzzwords in a
	speech or documents.  Usually roughly proportional to
	{bogosity}.  See {TLA}.

	[{Jargon File}]

by

	<networking> The {country code} for Belarus.

	(1999-01-27)

byacc

	{Berkeley Yacc}

by hand

	1. Said of an operation (especially a repetitive, trivial,
	and/or tedious one) that ought to be performed automatically
	by the computer, but which a hacker instead has to step
	tediously through.  "My mailer doesn't have a command to
	include the text of the message I'm replying to, so I have to
	do it by hand."  This does not necessarily mean the speaker
	has to retype a copy of the message; it might refer to, say,
	dropping into a subshell from the mailer, making a copy of
	one's mailbox file, reading that into an editor, locating the
	top and bottom of the message in question, deleting the rest
	of the file, inserting ">" characters on each line, writing
	the file, leaving the editor, returning to the mailer, reading
	the file in, and later remembering to delete the file.
	Compare {eyeball search}.

	2. By extension, writing code which does something in an
	explicit or low-level way for which a presupplied library
	routine ought to have been available.  "This cretinous
	{B-tree} library doesn't supply a decent iterator, so I'm
	having to walk the trees by hand."

	[{Jargon File}]

Byte

	<publication> A popular computing magazine.

	{(http://byte.com)}.

	(1997-03-27)

byte

	<unit> /bi:t/ (B) A component in the machine {data hierarchy}
	larger than a {bit} and usually smaller than a {word}; now
	nearly always eight bits and the smallest addressable unit of
	storage.  A byte typically holds one {character}.

	A byte may be 9 bits on 36-bit computers.  Some older
	architectures used "byte" for quantities of 6 or 7 bits, and
	the PDP-10 and IBM 7030 supported "bytes" that were actually
	{bit-fields} of 1 to 36 (or 64) bits!  These usages are now
	obsolete, and even 9-bit bytes have become rare in the general
	trend toward power-of-2 word sizes.

	The term was coined by Werner Buchholz in 1956 during the
	early design phase for the {IBM} {Stretch} computer.  It was a
	mutation of the word "bite" intended to avoid confusion with
	"bit".  In 1962 he described it as "a group of bits used to
	encode a character, or the number of bits transmitted in
	parallel to and from input-output units".  The move to an
	8-bit byte happened in late 1956, and this size was later
	adopted and promulgated as a standard by the {System/360}
	{operating system} (announced April 1964).

	James S. Jones <jsjones@graceland.edu> adds:

	I am sure I read in a mid-1970's brochure by IBM that outlined
	the history of computers that BYTE was an acronym that stood
	for "Bit asYnchronous Transmission E..?" which related to
	width of the bus between the Stretch CPU and its CRT-memory
	(prior to Core).

	Terry Carr <bear@mich.com> says:

	In the early days IBM taught that a series of bits transferred
	together (like so many yoked oxen) formed a Binary Yoked
	Transfer Element (BYTE).

	[True origin?  First 8-bit byte architecture?]

	See also {nibble}, {octet}.

	[{Jargon File}]

	(2003-09-21)

byte-code

	<file format, software> A {binary} file containing an
	{executable} program, consisting of a sequence of ({op code},
	data) pairs.

	Byte-code op codes are most often fixed size binary patterns,
	but can be variable size.  The data portion consists of zero
	or more {bits} whose format typically depends on the op code.

	A byte-code program is interpreted by a {byte-code
	interpreter}.  The advantage of this technique compared with
	outputing {machine code} for some particular processor is that
	the same byte-code can be executed on any processor on which
	the byte-code interpreter runs.  The byte-code may be compiled
	to machine code ("native code") for speed of execution but
	this usually requires significantly greater effort for each
	new taraget architecture than simply porting the interpreter.

	For example, {Java} is compiled to byte-code which runs on the
	{Java Virtual Machine}.

	(2006-05-29)

byte-code compiler

	<programming, tool> A {compiler} which outputs a program in
	some kind of {byte-code}.

	Compare: {byte-code interpreter}.

	(1995-11-04)

byte-code interpreter

	<software> A program that {executes} a {byte code} program.

	An example is the {Java Virtual Machine}.

	(1999-11-28)

byte compiler

	{byte-code compiler}

bytesexual

	<jargon> /bi:t" sek"shu-*l/ An adjective used to describe
	hardware, denotes willingness to compute or pass data in
	either {big-endian} or {little-endian} format (depending,
	presumably, on a {mode bit} somewhere).  See also {NUXI
	problem}.

	[{Jargon File}]

	(2009-05-28)

Byzantine

	<jargon, architecture> A term describing any system that has
	so many labyrinthine internal interconnections that it would
	be impossible to simplify by separation into loosely coupled
	or linked components.

	The city of Byzantium, later renamed Constantinople and then
	Istanbul, and the Byzantine Empire were vitiated by a
	bureaucratic overelaboration bordering on lunacy: quadruple
	banked agencies, dozens or even scores of superfluous levels
	and officials with high flown titles unrelated to their actual
	function, if any.

	Access to the Emperor and his council was controlled by
	powerful and inscrutable eunuchs and by rival sports factions.

	[Edward Gibbon, "Decline and Fall of the Roman Empire"].

	(1999-01-15)

bz

	<networking> The {country code} for Belize.

	(1999-01-27)

bzzzt, wrong

	<jargon> /bzt rong/ ({Usenet}, {Internet}) From the flim "Dead
	Poets Society", spoofing quiz shows such as "Truth or
	Consequences" where an incorrect answer earns a blast from the
	buzzer.

	An expression of mock-rude disagreement, often following a
	quote from another poster in a {forum}.  The less abbreviated
	"*Bzzzzt*, wrong, but thank you for playing" is also common.

	[{Jargon File}]

	(2009-10-28)

C

	<language> A programming language designed by {Dennis Ritchie}
	at {AT&T} {Bell Labs} ca. 1972 for systems programming on the
	{PDP-11} and immediately used to reimplement {Unix}.

	It was called "C" because many features derived from an
	earlier compiler named "{B}".  In fact, C was briefly named
	"NB".  B was itself strongly influenced by {BCPL}.  Before
	{Bjarne Stroustrup} settled the question by designing {C++},
	there was a humorous debate over whether C's successor should
	be named "D" or "P" (following B and C in "BCPL").

	C is terse, low-level and permissive.  It has a {macro
	preprocessor}, {cpp}.

	Partly due to its distribution with {Unix}, C became immensely
	popular outside {Bell Labs} after about 1980 and is now the
	dominant language in systems and {microcomputer} applications
	programming.  It has grown popular due to its simplicity,
	efficiency, and flexibility.  C programs are often easily
	adapted to new environments.

	C is often described, with a mixture of fondness and disdain,
	as "a language that combines all the elegance and power of
	{assembly language} with all the readability and
	maintainability of assembly language".

	Ritchie's original C, known as {K&R C} after Kernighan and
	Ritchie's book, has been {standard}ised (and simultaneously
	modified) as {ANSI C}.

	See also {ACCU}, {ae}, {c68}, {c386}, {C-Interp}, {cxref},
	{dbx}, {dsp56k-gcc}, {dsp56165-gcc}, {gc}, {GCT}, {GNU C},
	{GNU superoptimiser}, {Harvest C}, {malloc}, {mpl},
	{Pthreads}, {ups}.

	[{Jargon File}]

	(1996-06-01)

C#

	<language> /see sharp/ An {object-oriented} language devised
	and promoted by {Microsoft}, intended to replace {Java}, which
	it strongly resembles.

	{(http://csharpindex.com/)}.

	(2001-10-04)

(c)

	<character, legal> An {ASCII} rendition of the encircled "c"
	{copyright} symbol.  Unfortunately, this rendition is not
	legally valid: the circle must be complete.  The word
	"copyright" in full is perfectly adequate though.

	(In {LaTeX} the copyright symbol is written as \copyright).

	[{Jargon File}]

	(2004-08-20)

C*

	<language, parallel> An {object-oriented}, {data-parallel}
	superset of {ANSI C} with synchronous {semantics}, for the
	{Connection Machine}, designed by {Thinking Machines}, 1987.
	C* adds a "domain" data type and a selection statement for
	parallel execution in domains.

	An unimplemented language called "{Parallel C}" [which one?]
	influenced the design of {C*}.  {Dataparallel-C} was based on
	{C*}.

	Latest version: 6.x, as of 1993-07-27.

	["C*: An Extended C Language for Data Parallel Programming",
	J.R. Rose et al, Proc Second Intl Conf on Supercomputing,
	L.P. Kartashev et al eds, May 1987, pp 2-16].

	["C* Programming Manual", Thinking Machines Corp, 1986].

	[{Jargon File}]

	(2000-11-14)

C++

	<language> One of the most used {object-oriented} languages, a
	superset of {C} developed primarily by {Bjarne Stroustrup}
	<bs@alice.att.com> at {AT&T} {Bell Laboratories} in 1986.

	In C++ a {class} is a user-defined {type}, syntactically a
	{struct} with {member functions}.  {Constructors} and
	{destructors} are member functions called to create or destroy
	{instances}.  A {friend} is a nonmember function that is
	allowed to access the private portion of a class.  C++ allows
	{implicit type conversion}, {function inlining}, {overloading}
	of operators and function names, and {default function
	arguments}.  It has {streams} for I/O and {references}.

	C++ 2.0 (May 1989) introduced {multiple inheritance},
	{type-safe linkage}, pointers to members, and {abstract
	classes}.

	C++ 2.1 was introduced in ["Annotated C++ Reference Manual",
	B. Stroustrup et al, A-W 1990].

	{MS-DOS
	(ftp://grape.ecs.clarkson.edu/pub/msdos/djgpp/djgpp.zip)},
	{Unix ANSI C++
	(ftp://gnu.org/pub/gnu/g++-1.39.0.tar.Z)} - X3J16
	committee. (They're workin' on it).

	See also {cfront}, {LEDA}, {uC++}.

	{Usenet} newsgroup: {news:comp.lang.c++}.

	["The C++ Programming Language", Bjarne Stroustrup, A-W,
	1986].

	(1996-06-06)

C+-

	<language> (C More or Less) A subject-oriented language (SOL).
	Each C+- {class} instance, known as a subject, holds hidden
	{members}, known as prejudices, agendas or undeclared
	preferences, which are impervious to outside messages; as well
	as public members, known as boasts or claims.

	The following {C} {operators} are overridden as shown:

	 >    better than
	 <    worse than
	 >>   way better than
	 <<   forget it
	 !    not on your life
	 ==   comparable, other things being equal
	 !==  get a life, guy!

	C+- is {strongly typed}, based on stereotyping and
	self-righteous logic.  The {Boolean} {variables} TRUE and
	FALSE (known as constants in other, less realistic languages)
	are supplemented with CREDIBLE and DUBIOUS, which are fuzzier
	than Zadeh's traditional fuzzy categories.  All Booleans can
	be declared with the modifiers strong and weak.  Weak
	implication is said to "preserve deniability" and was added at
	the request of the DoD to ensure compatibility with future
	versions of {Ada}.  Well-formed falsehoods (WFFs) are
	{assignment}-compatible with all Booleans.  What-if and
	why-not interactions are aided by the special conditional
	EVENIFNOT X THEN Y.

	C+- supports {information hiding} and, among {friend classes}
	only, rumor sharing.  Borrowing from the {Eiffel} lexicon,
	non-friend classes can be killed by arranging contracts.  Note
	that friendships are {intransitive}, {volatile} and
	non-{Abelian}.

	{Operator precedence} rules can be suspended with the
	directive #pragma dwim, known as the "{Do what I mean}"
	{pragma}.

	{ANSIfication} will be firmly resisted. C+-'s slogan is "Be
	Your Own Standard."

	[{Jargon File}]

	(1999-06-15)

C+@

	<language> (Formerly "Calico").  An {object-oriented language}
	from {Bell Laboratories} which uniformly represents all data
	as pointers to self-described objects.  C+@ provides {multiple
	inheritance} with {delegation} and with control over which
	{methods} come from which delegated object; and {default
	methodologies}.  It has a simple {syntax} with emphasis on
	graphics.  It was originally used for prototyping of
	telecommunication services.

	The language is patented by AT&T and {Unir Tech} has the
	exclusive license from Bell Labs to distribute C+@.
	Unfortunately Unir is owned and operated by well-known
	anti-{IETF} ranter, Jim Fleming, which may have had something
	to do with the language's rapid disappearence from the radar
	screen.

	It runs under {SunOS} and compiles to {Vcode}.

	E-mail: Jim Vandendorpe <jimvan@iexist.att.com>.

	["A Dynamic C-Based Object-Oriented System for Unix", S.
	Engelstad et al, IEEE Software 8(3):73-85 (May 1991)].

	["The C+@ Programming Language", J. Fleming, Dr Dobbs J, Oct
	1993, pp.24-32].

	[{Jargon File}]

	(2005-01-05)

C-10

	<language> An improved version of {COLINGO}.

	[Sammet 1969, p.702].

	(1994-10-28)

C1 security

	{Orange Book}

c2man

	<tool> An automatic {documentation} extraction tool by Graham
	Stoney.  c2man extracts comments from {C} source code to
	generate functional interface documentation in the same format
	as sections 2 and 3 of the {Unix} Programmer's Manual.  It
	looks for comments near the objects they document, rather than
	imposing a rigid {syntax} or requiring the programmer to use a
	typesetting language.  Acceptable documentation can often be
	generated from existing code with no modifications.

	c2man supports both {K&R} and {ISO}/{ANSI C} coding styles.
	Output can be in {nroff} -man, {Texinfo} or {LaTeX} format.
	It {automagically} documents {enum} parameter and return
	values, it handles both {C} (/* */) and {C++} (//) style
	comments, but not C++ grammar (yet).  It requires {yacc},
	{byacc} or {bison} for syntax analysis; {lex} or {flex} for
	{lexical analysis} and {nroff}, {groff}, {texinfo} or {LaTeX}
	to format the output.  It runs under {Unix}, {OS/2} and
	{MS-DOS}.

	Version 2.0 patchlevel 25 (1995-10-25).

	{Washington FTP
	(ftp://ftp.wustl.edu/usenet/comp.sources.reviewed/volume03/)}.
	{Stuttgart FTP
	(ftp://ftp.informatik.uni-stuttgart.de/pub/archive/comp.sources/reviewed/)}.
	{Patches
	(ftp://lth.se/pub/netnews/sources.bugs/volume93/sep/)}.

	Patches posted to {Usenet} newsgroups {news:comp.sources.bugs}
	and {news:comp.sources.reviewed}.

	(2003-05-02)

C2 security

	{Orange Book}

c386

	<tool> A {compiler} for {K&R C} plus {prototypes} and other
	{ANSI C} features by Matthew Brandt, Christoph van Wuellen,
	Keith and Dave Walker.  c386 is targetted to several {68000}
	and {Intel 80386} {assemblers}, including {gas}.
	{floating-point} support is by {inline code} or {emulation}.
	It can produce lots of warnings and generates better code than
	{ACK}.

	{Version 4.2a
	(ftp://bugs.nosc.mil/pub/Minix/common-pkgs/c386-4.2.tar.Z)}.

	(2009-11-11)

C5

	<language> An {OPS5} implementation in {C}.

	(2009-11-13)

C64

	{Commodore 64}

c68

	{c386}

CA

	1. <theory, architecture> {cellular automaton}.

	2. <company> {Computer Associates}.

	3. <cryptography> {Certificate Authority}.

ca

	<networking> The {country code} for Canada.

	(1995-04-19)

cable modem

	<communications, hardware> A type of {modem} that allows
	people to access the {Internet} via their cable television
	service.

	A cable modem can transfer data at 500 {kbps} or higher,
	compared with 28.8 kbps for common telephone line modems, but
	the actual transfer rates may be lower depending on the number
	of other simultaneous users on the same cable.

	Industry pundits often point out that the cable system still
	does not have the {bandwidth} or service level in many areas
	to make this feasible.  For example, it has to be capable of
	two-way communication.

	See also: {DOCSIS}.

	(2000-12-19)

cache

	<memory management> /kash/ A small fast memory holding
	recently accessed data, designed to speed up subsequent access
	to the same data.  Most often applied to processor-memory
	access but also used for a local copy of data accessible over
	a network etc.

	When data is read from, or written to, {main memory} a copy is
	also saved in the cache, along with the associated main memory
	address.  The cache monitors addresses of subsequent reads to
	see if the required data is already in the cache.  If it is (a
	{cache hit}) then it is returned immediately and the main
	memory read is aborted (or not started).  If the data is not
	cached (a {cache miss}) then it is fetched from main memory
	and also saved in the cache.

	The cache is built from faster memory chips than main memory
	so a cache hit takes much less time to complete than a normal
	memory access.  The cache may be located on the same
	{integrated circuit} as the {CPU}, in order to further reduce
	the access time.  In this case it is often known as {primary
	cache} since there may be a larger, slower {secondary cache}
	outside the CPU chip.

	The most important characteristic of a cache is its {hit rate}
	- the fraction of all memory accesses which are satisfied from
	the cache.  This in turn depends on the cache design but
	mostly on its size relative to the main memory.  The size is
	limited by the cost of fast memory chips.

	The hit rate also depends on the access pattern of the
	particular program being run (the sequence of addresses being
	read and written).  Caches rely on two properties of the
	access patterns of most programs: temporal locality - if
	something is accessed once, it is likely to be accessed again
	soon, and spatial locality - if one memory location is
	accessed then nearby memory locations are also likely to be
	accessed.  In order to exploit spatial locality, caches often
	operate on several words at a time, a "{cache line}" or "cache
	block".  Main memory reads and writes are whole {cache lines}.

	When the processor wants to write to main memory, the data is
	first written to the cache on the assumption that the
	processor will probably read it again soon.  Various different
	policies are used.  In a {write-through} cache, data is
	written to main memory at the same time as it is cached.  In a
	{write-back} cache it is only written to main memory when it
	is forced out of the cache.

	If all accesses were writes then, with a write-through policy,
	every write to the cache would necessitate a main memory
	write, thus slowing the system down to main memory speed.
	However, statistically, most accesses are reads and most of
	these will be satisfied from the cache.  Write-through is
	simpler than write-back because an entry that is to be
	replaced can just be overwritten in the cache as it will
	already have been copied to main memory whereas write-back
	requires the cache to initiate a main memory write of the
	flushed entry followed (for a processor read) by a main memory
	read.  However, write-back is more efficient because an entry
	may be written many times in the cache without a main memory
	access.

	When the cache is full and it is desired to cache another line
	of data then a cache entry is selected to be written back to
	main memory or "flushed".  The new line is then put in its
	place.  Which entry is chosen to be flushed is determined by a
	"{replacement algorithm}".

	Some processors have separate instruction and data caches.
	Both can be active at the same time, allowing an instruction
	fetch to overlap with a data read or write.  This separation
	also avoids the possibility of bad {cache conflict} between
	say the instructions in a loop and some data in an array which
	is accessed by that loop.

	See also {direct mapped cache}, {fully associative cache},
	{sector mapping}, {set associative cache}.

	(1997-06-25)

cache block

	{cache line}

cache coherency

	<storage> (Or "cache consistency") /kash koh-heer'n-see/ The
	synchronisation of data in multiple {caches} such that reading
	a memory location via any cache will return the most recent
	data written to that location via any (other) cache.

	Some {parallel processors} do not cache accesses to {shared
	memory} to avoid the issue of cache coherency.  If caches are
	used with shared memory then some system is required to detect
	when data in one processor's cache should be discarded or
	replaced because another processor has updated that memory
	location.  Several such schemes have been devised.

	(1998-11-10)

cache conflict

	<storage> A sequence of accesses to memory repeatedly
	overwriting the same {cache} entry.  This can happen if two
	blocks of data, which are mapped to the same set of cache
	locations, are needed simultaneously.

	For example, in the case of a {direct mapped cache}, if
	{arrays} A, B, and C map to the same range of cache locations,
	thrashing will occur when the following loop is executed:

		for (i=1; i<n; i++)
			C[i] = A[i] + B[i];

	Cache conflict can also occur between a program loop and the
	data it is accessing.

	See also {ping-pong}.

	(1997-01-21)

cache consistency

	{cache coherency}

cache hit

	<storage> A request to read from memory which can satisfied
	from the {cache} without using the {main memory}.

	Opposite: {cache miss}.

	(1997-01-21)

cache line

	<storage> (Or cache block) The smallest unit of memory than
	can be transferred between the {main memory} and the {cache}.

	Rather than reading a single word or byte from main memory at
	a time, each cache entry is usually holds a certain number of
	words, known as a "cache line" or "cache block" and a whole
	line is read and cached at once.  This takes advantage of the
	principle of locality of reference: if one location is read
	then nearby locations (particularly following locations) are
	likely to be read soon afterward.  It can also take advantage
	of {page-mode} {DRAM} which allows faster access to
	consecutive locations.

	(1997-01-21)

cache memory

	{cache}

cache miss

	<storage> A request to read from memory which cannot be
	satisfied from the {cache}, for which the {main memory} has to
	be consulted.

	Opposite: {cache hit}.

	(1997-01-21)

Cache On A STick

	<architecture> (COAST) {Intel Corporation} attempt to's
	standardise the modular {L2 cache} subsystem in
	{Pentium}-based computers.

	A COAST module should be about 4.35" wide by 1.14" high.
	According to earlier specifications from {Motorola}, a module
	between 4.33" and 4.36" wide, and between 1.12" and 1.16" high
	is within the COAST standard.  Some module vendors, including
	some major motherboard suppliers, greatly violate the height
	specification.

	Another COAST specification violated by many suppliers
	concerns clock distribution in synchronous modules.  The
	specification requires that the clock tree to each synchronous
	chip be balanced, i.e. equal length from edge of the connector
	to individual chips.  An unbalanced clock tree increases
	reflections and noise.

	For a 256 {kilobyte} cache module the standard requires the
	same clock be used for both chips but some vendors use
	separate clocks to reduce loading on the clock driver and
	hence increase the clock speed.  However, this creates
	unbalanced loading in other motherboard configurations, such
	as motherboards with soldered caches in the system.

	(1996-06-10)

caching

	{cache}

CACI

	<company> A company developing and marketing {SIMSCRIPT},
	{MODSIM} and other {simulation} software products.

	Telephone: +1 (619) 457-9681.

	(1994-09-22)

CACM

	{Communications of the ACM}

CAD

	{Computer Aided Design}

CAD/CAM

	{Computer Aided Design}/Computer Aided Manufacturing.

CADD

	{Computer Aided Detector Design}

Cadence Design Systems

	<company> A company that sells {electronic design automation}
	software and services.

	{(http://cadence.com/)}.

	See also {Verilog}.

	(1999-04-16)

CADET

	Computer Aided Design Experimental Translator.

	[Sammet 1969, p. 683].

	(1994-11-29)

CADRE

	<company> The US {software engineering} vendor which merged
	with {Bachman Information Systems} to form {Cayenne Software}
	in July 1996.

	(1998-02-08)

CAE

	1. <operating system> {Common Applications Environment}.

	2. <application> {Computer Aided Engineering}.

CAF

	{constant applicative form}

CAFE

	["Job Control Languages: MAXIMOP and CAFE", J. Brandon, Proc
	BCS Symp on Job Control Languages--Past Present and Future,
	NCC, Manchester, England 1974].

	(1994-10-28)

CAGE

	Early system on IBM 704.  Listed in CACM 2(5):16 (May 1959).

CAI

	{Computer-Aided Instruction}

Cairo

	{Windows NT 4}

CAIS

	{Common APSE Interface Specification}

CAIS-A

	Common APSE Interface Set A

	DoD-STD-1838A.

CAiSE

	Conference on Advanced Information Systems Engineering.

CAJOLE

	<language> (Chris And John's Own LanguagE) A {dataflow}
	language developed by Chris Hankin <clh@doc.ic.ac.uk> and John
	Sharp at {Westfield College}.

	["The Data Flow Programming Language CAJOLE: An Informal
	Introduction", C.L. Hankin et al, SIGPLAN Notices 16(7):35-44
	(Jul 1981)].

	(1994-11-08)

CAL

	1. {Computer Assisted Learning}.

	2. {Course Author Language}.

Calc

	<tool, mathematics> An extensible, advanced desk calculator
	and mathematical tool written in {Emacs Lisp} by Dave
	Gillespie <daveg@synaptics.com>.  Calc runs as part of {GNU
	Emacs}.  You can use Calc as only a simple four-function
	calculator, but it also provides additional features including
	choice of algebraic or {RPN} ({stack}-based) entry,
	logarithms, trigonometric and financial functions, {arbitrary
	precision}, complex numbers, vectors, matrices, dates, times,
	infinities, sets, algebraic simplification, differentiation,
	and integration.

	Latest version: 2.02, as of 1994-11-08.

	FTP calc-2.02.tar.z from your nearest {GNU archive site}.

	(2000-10-20)

calculator

	{bitty box}

Calculus of Communicating Systems

	(CCS) A mathematical model (a formal language) for describing
	processes, mostly used in the study of {parallelism}.  A CCS
	program, written in {behaviour expressions syntax} denotes a
	process behaviour.  Programs can be compared using the notion
	of {observational equivalence}.

	["A Calculus of Communicating Systems", LNCS 92, Springer
	1980].

	["Communication and Concurrency", R. Milner, P-H 1989].

	(1994-11-29)

Calendar API

	{Calendar Application Programming Interface}

Calendar Application Programming Interface

	(CAPI, Calendar API) An {API} for calendar {software}.

	{Microsoft} has defined a CAPI for their {Schedule+}
	application.

	(1995-01-11)

Caliban

	A {declarative} annotation language for controlling the
	partitioning and placement of the evaluation of expressions in
	a distributed {functional language}.  Designed by Paul Kelly
	<phjk@doc.ic.ac.uk>, {Imperial College}.

	["Functional Programming for Loosely-coupled Multiprocessors",
	P. Kelly, Pitman/MIT Press, 1989].

	(1995-01-11)

Calico

	{C+@}

California State University San Marcos

	(CSUSM)

	{(http://coyote.csusm.edu/)}.

	(1994-12-21)

callback

	1. <programming> A scheme used in {event-driven} programs
	where the program registers a {subroutine} (a "callback
	handler") to handle a certain {event}.  The program does not
	call the handler directly but when the event occurs, the
	{run-time system} calls the handler, usually passing it
	arguments to describe the event.

	2. <communications, security> A {user authentication} scheme
	used by some computers running {dial-up} services.  The user
	dials in to the computer and gives his {user name} and
	{password}.  The computer then hangs up the connection and
	uses an {auto-dial} {modem} to call back to the user's
	registered telephone number.  Thus, if an unauthorised person
	discovers a user's password, the callback will go, not to him,
	but to the owner of that login who will then know that his
	account is under attack.

	However, some {PABXs} can be fooled into thinking that the
	caller has hung up by sending them a dial tone.  When the
	computer tries to call out on the same line it is not actually
	dialing through to the authorised user but is still connected
	to the original caller.

	3. <communications> {cost control callback}.

	(2003-07-13)

call-by-name

	<reduction> (CBN) (Normal order reduction, leftmost, outermost
	reduction).  An {argument} passing convention (first provided
	by {ALGOL 60}?)  where argument expressions are passed
	unevaluated.  This is usually implemented by passing a pointer
	to a {thunk} - some code which will return the value of the
	argument and an environment giving the values of its {free
	variables}.

	This {evaluation strategy} is guaranteed to reach a {normal
	form} if one exists.

	When used to implement {functional programming} languages,
	call-by-name is usually combined with {graph reduction} to
	avoid repeated evaluation of the same expression.  This is
	then known as {call-by-need}.

	The opposite of call-by-name is {call-by-value} where
	arguments are evaluated before they are passed to a function.
	This is more efficient but is less likely to terminate in the
	presence of infinite data structures and {recursive}
	functions.

	Arguments to {macros} are usually passed using call-by-name.

	(2006-05-27)

call-by-need

	<reduction> A {reduction strategy} which delays evaluation of
	{function} {arguments} until their values are needed.  A value
	is needed if it is an argument to a {primitive} function or it
	is the condition in a {conditional}.  Call-by-need is one
	aspect of {lazy evaluation}.

	The term first appears in Chris Wadsworth's thesis "Semantics
	and Pragmatics of the Lambda calculus" (Oxford, 1971, p. 183).
	It was used later, by J. Vuillemin in his thesis (Stanford,
	1973).

	(1995-05-27)

call-by-reference

	<programming> An {argument} passing convention where the
	address of an argument {variable} is passed to a {function} or
	{procedure}, as opposed to passing the value of the argument
	expression.  Execution of the function or procedure may have
	{side-effects} on the actual argument as seen by the caller.
	The {C} language's "&" (address of) and "*" (dereference)
	operators allow the programmer to code explicit
	call-by-reference.  Other languages provide special syntax to
	declare reference arguments (e.g. {ALGOL 60}).

	See also {call-by-name}, {call-by-value},
	{call-by-value-result}.

	(2006-05-27)

call-by-value

	(CBV) An {evaluation strategy} where arguments are evaluated
	before the function or procedure is entered.  Only the values
	of the arguments are passed and changes to the arguments
	within the called procedure have no effect on the actual
	arguments as seen by the caller.  See {applicative order
	reduction}, {call-by-value-result}, {strict evaluation},
	{call-by-name}, {lazy evaluation}.

call-by-value-result

	An argument passing convention where the {actual argument} is
	a variable V whose value is copied to a local variable L
	inside the called function or procedure.  If the procedure
	modifies L, these changes will not affect V, which may also be
	in scope inside the procedure, until the procedure returns
	when the final value of L is copied to V.  Under
	{call-by-reference} changes to L would affect V immediately.
	Used, for example, by {BBC BASIC V} on the {Acorn}
	{Archimedes}.

call/cc

	{call-with-current-continuation}

Call Data Record

	<telecommunications> (CDR) A data record that contains
	information related to a telephone call, including the
	origination and destination addresses of the call, the time
	the call started and ended, the duration of the call, the time
	of day the call was made, toll charges that were added through
	the network, or charges for operator services.

	[Context?]

	(2010-03-21)

callee

	<programming> The {function} or {subroutine} being called by
	the {caller}.

	(2001-05-09)

Caller ID

	<communications> (CID) A short piece of text transmitted by
	some telephone systems describing the origin of a call,
	e.g. the name of the caller.  Some telephone handsets can
	display this.  A {computer telephony integration} system might
	use it to trigger actions on the callee's computer such as
	looking up the caller in a database and displaying their
	details on screen.

	There may also be a separate "caller id number" giving the
	telephone number of the originator of the call.

	(2008-04-30)

calling convention

	<programming> The arrangement of {arguments} for a procedure
	or function call.  Different programming languages may require
	arguments to be pushed onto a {stack} or entered in
	{registers} in left-to-right or right-to left order, and
	either the caller or the callee can be responsible for
	removing the arguments.  The calling convention also
	determines if a variable number of arguments is allowed.

	(1995-11-11)

Call-Level Interface

	<database, standard> (SQL/CLI) A programming interface
	designed to support {SQL} access to {databases} from
	shrink-wrapped {application programs}.

	CLI was originally created by a subcommittee of the {SQL
	Access Group} (SAG).  The SAG/CLI specification was published
	as the {Microsoft} {Open DataBase Connectivity} (ODBC)
	specification in 1992.  In 1993, SAG submitted the CLI to the
	{ANSI} and {ISO} SQL committees.

	SQL/CLI provides an international standard
	implementation-independent CLI to access SQL databases.
	{Client-server} tools can easily access databases through
	{dynamic link libraries}.  It supports and encourages a rich
	set of client-server tools.

	SQL/CLI is an addendum to 1992 SQL standard (SQL-92).  It was
	completed as ISO standard ISO/IEC 9075-3:1995 Information
	technology -- Database languages -- SQL -- Part 3: Call-Level
	Interface (SQL/CLI).  The current SQL/CLI effort is adding
	support for {SQL3}.

	{(http://jcc.com/sql_cli.html)}.

	(1996-10-27)

Call Unix

	<communications, tool> (cu) The original {Unix} {virtual
	terminal} utility.  cu allows a user on one computer to log in
	to another connected via {Ethernet}, direct {serial line} or
	{modem}.  It shares some configuration files with {UUCP} in
	order to be able to use the same connections without conflict.

	{Unix manual page}: cu(1).

	(1997-12-01)

Callware

	<company> The developers of {Phonetastic}.

	(1996-12-08)

call-with-current-continuation

	<Lisp, programming> (call/cc) A {Lisp} control function that
	takes a function f as its argument and calls f, passing it the
	current {continuation}, which is itself a function, k.  k,
	which represents the context of the call to call/cc, takes the
	result of call/cc (which is the result of f) and returns the
	final result of the whole program.  Thus if, for example, the
	final result is to print the value returned by call/cc then
	anything passed to k will also be printed.

	E.g, in {Scheme}:

	 (define (f k)
		 (k 1)
		 (k 2)
		 3)

	 (display (call-with-current-continuation f))

	Will display 1.

	(2001-04-27)

CALS

	Computer-Aided Acquisition and Logistics Support: a DoD
	standard for electronic exchange of data with commercial
	suppliers.

Caltech Intermediate Form

	<language> (CIF) A geometry language for {VLSI} design, in
	which the primitives are coloured rectangles.

	["Introduction to VLSI Systems", Mead & Conway, A-W 1980,
	Section 4.5].

	(1995-01-25)

CAM

	1. <storage, architecture> {content addressable memory}.

	2. <application> {computer aided manufacturing}.

CAM-6

	Software for running {cellular automata}.  CAM-6 has been
	implemented in hardware as {CAM-PC}.

	(1995-04-21)

CAMAL

	<tool> CAMbridge ALgebra system.

	A {symbolic mathematics} system used in Celestial Mechanics
	and General Relativity.  CAMAL was implemented in {BCPL} on
	{Titan}.

	["CAMAL User's Manual", John P. Fitch, Cambridge U, England
	(1975)].

	["The Design of the Cambridge Algebra System", S.R. Bourne et
	al, Proc 2nd Symp of Symb & Alg Manip, SIGSAM 1971].

	(1995-02-16)

Cambridge Lisp

	A flavour of Lisp using BCPL.  Sources owned by Fitznorman
	partners.

Camelot Library

	<library>

	["The Camelot Library", J. Bloch, in "Guide to the Camelot
	Distributed Transaction Facility: Release I", A.Z. Spector et
	al eds, CMU 1988, pp. 29-62].

	[What is it?]

	(1995-04-19)

camera ready

	<publication> A final edition of a document or graphic (e.g. a
	newspaper advertisement or a technical paper for a journal)
	that is of suitable quality for mass reproduction by making
	printing plates from the negatives by photoengraving.

	(1996-11-15)

CAMIL

	Computer Assisted/Managed Instructional Language.

	A language used for {CAI} at Lowry AFB, CO.

	["The CAMIL Programming Language", David Pflasterer, SIGPLAN
	Notices 13(11):43 (Nov 1978)].

	(1994-11-09)

CAML

	<language>

	1. A language for preparation of animated movies.  1976.

	(1994-11-09)

	2. {Categorical Abstract Machine Language}.

	(2000-07-06)

Caml Light

	A small portable implementation of a version of {CAML} by
	Xavier Leroy <Xavier.Leroy@inria.fr> and Damien Doligez of
	{INRIA}.  Caml Light uses a {bytecode interpreter} written in
	{C}.  It adds a {Modula-2}-like {module} system, {separate
	compilation}, {lazy streams} for parsing and printing,
	graphics primitives and an interface with {C}.

	Version 0.6 runs on {Unix}, {MS-DOS}, {Macintosh}, {Atari ST}
	and {Amiga}.  It includes an {interpreter}, {compiler},
	{Emacs} mode, libraries, {scanner generator}, {parser
	generator}, {run-time support} and an interactive development
	environment.

	The latest version, as of April 2003, is 0.75 and runs on
	{Unix}, {Macintosh} and {Windows}.

	The development of Caml Light has been stopped; current
	development is on {Objective Caml}.

	{(http://caml.inria.fr/distrib-caml-light-eng.html)}.
	{(ftp://ftp.inria.fr/lang/caml-light/)}.

	E-mail: <caml@inria.fr>.

	Mailing list: <caml-list@inria.fr>.

	{Usenet} newsgroup: {news:comp.lang.ml}.

	(2003-04-12)

CAM-PC

	<hardware> A {cellular automata} circuit board which is a
	hardware implementation from {Automatrix} of the {MIT} {CAM-6}
	machine.  It comes with dozens of experiments and
	applications.

	{(http://automatrix.com/campc/index.html)}.

	(1995-04-21)

Campus Wide Information System

	(CWIS) Information and services made publicly available at
	university sites via {kiosks} running interactive computing
	systems, possibly via campus networks.  Services routinely
	include directory information, calendars, {bulletin boards}
	and {databases}.

	(1994-11-09)

CAN

	{Cancel}

Canada

	Country with {domain} "ca".

	(1995-04-06)

Cancel

	<character> (CAN, Control-X) {ASCII} character 24.

	(1996-06-28)

Cancelbunny

	{Cancelpoodle}

Cancelm00se

	{Cancelmoose}

Cancelmoose

	<messaging> A semi-mythical being that cancels {Usenet}
	{articles} posted by others.  (In general, an article can only
	be cancelled by its original author.)

	The Cancelmoose's usual target is {spam} or extremely
	excessive {cross-post}ing.

	Some believe that the Cancelmoose exists only in the same
	mythic sense that {B1FF}, the {NSA line eater} and {Shub
	Internet} exist; others consider Cancelmoose's historicity to
	be closer to that of {Kibo}.  The latter group assume that the
	real Cancelmoose is not one person (or moose), but instead is
	a cabal of {NNTP} wonks.  However, the Cancelmoose is probably
	real, seeing as how it has its own {website}.

	{(http://nocem.org/)}.

	(1999-01-14)

Cancelpoodle

	<messaging> (Or Cancelbunny) A manifestation of the
	{Cancelmoose} in the form of a more selective (and probably
	not automated) way to cancel {Usenet} articles.

	The term became common during the alt.religion.scientology
	wars of the mid-90s, during which Cancelpoodles were used.
	The "poodle" part is an allusion to one of the parties
	obliquely involved in the fray, who an earlier well-known
	witticism had compared to "a psychotic poodle".

	(1999-01-14)

candidate key

	<database> One of several possible attributes or combinations
	of attributes which can be used to uniquely identify a body of
	information (a "{record}").  The chosen candidate key is
	called the {primary key}.

	(2006-05-29)

Candle

	Part of the {Scorpion} environment development system.

	(1994-11-09)

candygrammar

	<language> A programming-language grammar that is mostly
	{syntactic sugar}; a play on "candygram".  {COBOL}, {Apple
	Computer}'s {Hypertalk} language, and many {4GLs} share this
	property.  The intent is to be as English-like as possible and
	thus easier for unskilled people to program.  However,
	{syntax} isn't what makes programming hard; it's the mental
	effort and organisation required to specify an {algorithm}
	precisely.  Thus "candygrammar" languages are just as
	difficult to program in, and far more painful for the
	experienced hacker.

	{GLS} notes: The overtones from the 1977 Chevy Chase "Jaws"
	parody on Saturday Night Live should not be overlooked.
	Someone lurking outside an apartment door tries to get the
	occupant to open up, while ominous music plays in the
	background.  The last attempt is a half-hearted "Candygram!"
	When the door is opened, a shark bursts in and chomps the poor
	occupant.  There is a moral here for those attracted to
	candygrammars.

	[{Jargon File}]

	(2004-09-23)

canonical

	(Historically, "according to religious law")

	1. <mathematics> A standard way of writing a formula.  Two
	formulas such as 9 + x and x + 9 are said to be equivalent
	because they mean the same thing, but the second one is in
	"canonical form" because it is written in the usual way, with
	the highest power of x first.  Usually there are fixed rules
	you can use to decide whether something is in canonical form.
	Things in canonical form are easier to compare.

	2. <jargon> The usual or standard state or manner of
	something.  The term acquired this meaning in computer-science
	culture largely through its prominence in {Alonzo Church}'s
	work in computation theory and {mathematical logic} (see
	{Knights of the Lambda-Calculus}).

	Compare {vanilla}.

	This word has an interesting history.  Non-technical academics
	do not use the adjective "canonical" in any of the senses
	defined above with any regularity; they do however use the
	nouns "canon" and "canonicity" (not "canonicalness"* or
	"canonicality"*). The "canon" of a given author is the
	complete body of authentic works by that author (this usage is
	familiar to Sherlock Holmes fans as well as to literary
	scholars).  "The canon" is the body of works in a given field
	(e.g. works of literature, or of art, or of music) deemed
	worthwhile for students to study and for scholars to
	investigate.

	The word "canon" derives ultimately from the Greek "kanon"
	(akin to the English "cane") referring to a reed.  Reeds were
	used for measurement, and in Latin and later Greek the word
	"canon" meant a rule or a standard.  The establishment of a
	canon of scriptures within Christianity was meant to define a
	standard or a rule for the religion.  The above non-technical
	academic usages stem from this instance of a defined and
	accepted body of work.  Alongside this usage was the
	promulgation of "canons" ("rules") for the government of the
	Catholic Church.  The usages relating to religious law derive
	from this use of the Latin "canon".  It may also be related to
	arabic "qanun" (law).

	Hackers invest this term with a playfulness that makes an
	ironic contrast with its historical meaning.  A true story:
	One Bob Sjoberg, new at the {MIT AI Lab}, expressed some
	annoyance at the incessant use of jargon.  Over his loud
	objections, {GLS} and {RMS} made a point of using as much of
	it as possible in his presence, and eventually it began to
	sink in.  Finally, in one conversation, he used the word
	"canonical" in jargon-like fashion without thinking.  Steele:
	"Aha!  We've finally got you talking jargon too!"  Stallman:
	"What did he say?"  Steele: "Bob just used "canonical" in the
	canonical way."

	Of course, canonicality depends on context, but it is
	implicitly defined as the way *hackers* normally expect things
	to be.  Thus, a hacker may claim with a straight face that
	"according to religious law" is *not* the canonical meaning of
	"canonical".

	(2002-02-06)

Canonical Encoding Rules

	<protocol, standard> (CER) A restricted variant of {BER} for
	producing unequivocal {transfer syntax} for data structures
	described by {ASN.1}.

	Whereas {BER} gives choices as to how data values may be
	encoded, CER and {DER} select just one encoding from those
	allowed by the basic encoding rules, eliminating all of the
	options.  They are useful when the encodings must be
	preserved, e.g. in security exchanges.

	CER and {DER} differ in the set of restrictions that they
	place on the encoder.  The basic difference between CER and
	{DER} is that {DER} uses definitive length form and CER uses
	indefinite length form.

	Documents: {ITU-T} X.690, {ISO} 8825-1.

	See also {PER}.

	(1998-05-19)

canonical name

	(CNAME) A host's official name as opposed to an alias.  The
	official name is the first hostname listed for its {Internet
	address} in the hostname database, {/etc/hosts} or the
	{Network Information Service} (NIS) map hosts.byaddr ("hosts"
	for short).  A host with multiple network interfaces may have
	more than one Internet address, each with its own canonical
	name (and zero or more aliases).

	You can find a host's canonical name using {nslookup} if you
	say

		set querytype=CNAME

	and then type a hostname.

	(1994-11-29)

canonicity

	<theory, jargon> The extent to which something is {canonical}.

	(1995-03-03)

C (ANSI)

	{ANSI C}

can't happen

	<programming> The traditional program comment for code
	executed under a condition that should never be true, for
	example a file size computed as negative.  Often, such a
	condition being true indicates data corruption or a faulty
	{algorithm}; it is almost always handled by emitting a fatal
	error message and terminating or crashing, since there is
	little else that can be done.

	Some case variant of "can't happen" is also often the text
	emitted if the "impossible" error actually happens.  Although
	"can't happen" events are genuinely infrequent in production
	code, programmers wise enough to check for them habitually are
	often surprised at how frequently they are triggered during
	development and how many headaches checking for them turns out
	to head off.

	See also {firewall code}, {professional programming}.

	[{Jargon File}]

	(1996-05-10)

Cantor

	1. <person, mathematics> A mathematician.

	Cantor devised the diagonal proof of the uncountability of the
	{real numbers}:

	Given a function, f, from the {natural numbers} to the {real
	numbers}, consider the real number r whose binary expansion is
	given as follows: for each natural number i, r's i-th digit is
	the complement of the i-th digit of f(i).

	Thus, since r and f(i) differ in their i-th digits, r differs
	from any value taken by f.  Therefore, f is not {surjective}
	(there are values of its result type which it cannot return).

	Consequently, no function from the natural numbers to the
	reals is surjective.  A further theorem dependent on the
	{axiom of choice} turns this result into the statement that
	the reals are uncountable.

	This is just a special case of a diagonal proof that a
	function from a set to its {power set} cannot be surjective:

	Let f be a function from a set S to its power set, P(S) and
	let U = { x in S: x not in f(x) }.  Now, observe that any x in
	U is not in f(x), so U != f(x); and any x not in U is in f(x),
	so U != f(x): whence U is not in { f(x) : x in S }.  But U is
	in P(S).  Therefore, no function from a set to its power-set
	can be surjective.

	2. <language> An {object-oriented language} with {fine-grained
	concurrency}.

	[Athas, Caltech 1987.  "Multicomputers: Message Passing
	Concurrent Computers", W. Athas et al, Computer 21(8):9-24
	(Aug 1988)].

	(1997-03-14)

CAP

	1. <networking> {Columbia AppleTalk Package}.

	2. <communications> {Carrierless Amplitude/Phase Modulation}.

	3. <networking> {Competitive Access Provider}

Capabilities Maturity Model

	{Capability Maturity Model}

capability

	<operating system, security> An {operating system} security or
	access control model where specific types of access to a
	specific object are granted by giving a process this data
	structure or {token}.

	The token may be unforgeable (typically by using {encryption}
	or hardware "tagged" memory).  Capabilities are used in OSes
	such as {Hydra}, {KeyKOS}, {EROS}, {Chorus}/{Mix}, and the
	{Stanford V system}.  Similar to {Kerberos}, but in an OS
	context.

	Compare {access control list}.

	(1998-03-08)

Capability Maturity Model

	<software> (CMM) The {Software Engineering Institute}'s model
	of {software engineering} that specifies five levels of
	maturity of the processes of a software organisation.  CMM
	offers a framework for evolutionary process improvement.
	Originally applied to software development (SE-CMM), it has
	been expanded to cover other areas including Human Resources
	and Software Acquitition.

	The levels - focii - and key process areas are:

	Level 1 Initial - Heroes - None.

	Level 2 Repeatable - Project Management - Software Project
	Planning, Software Project Tracking and Oversight, Software
	Subcontract Management, Software Quality Assurance, Software
	Configuration Management, Requirements Management.

	Level 3 Defined - Engineering Process - Organisation Process
	Focus, Organisation Process Definition, Peer Reviews, Training
	Program, Inter-group Coordination, Software Product
	Engineering, Integrated Software Management.

	Level 4 Managed - Product and Process Quality - Software
	Quality Management, Quantitative Process Management.

	Level 5 Optimising - Continuous Improvement - Process Change
	Management, Technology Change Management, Defect Prevention.

	{(http://www.sei.cmu.edu/cmm/cmm.html)}.

	(2001-04-28)

capacitor

	<electronics> An electronic device that can store electrical
	charge.  The charge stored Q in Coulombs is related to the
	capacitance C in Farads and the voltage V across the capacitor
	in Volts by Q = CV.

	The basis of a {dynamic RAM} cell is a capacitor.  They are
	also used for power-supply smoothing (or "decoupling").  This
	is especially important in digital circuits where a digital
	device switching between states causes a sudden demand for
	current.  Without sufficient local power supply decoupling,
	this current "spike" cannot be supplied directly from the
	power supply due to the inductance of the connectors and so
	will cause a sharp drop in the power supply voltage near the
	switching device.  This can cause other devices to malfunction
	resulting in hard to trace {glitch}es.

	(1995-04-12)

capacity

	<communications> The maximum possible {data transfer rate} of
	a communications channel under ideal conditions.  The total
	capacity of a channel may be shared between several
	independent data streams using some kind of {multiplexing}, in
	which case, each stream's data rate may be limited to a fixed
	fraction of the total capacity.

	(2001-05-22)

CAPI

	1. {Calendar Application Programming Interface}.

	2. <cryptography> {Cryptographic Application Programming
	Interface}.

	3. <networking> {Common ISDN Application Programming
	Interface}.

Cap'n Crunch

	{Captain Crunch}

Captain Abstraction

	The champion of the principles of {abstraction} and
	modularity, who protects unwary students on {MIT}'s course
	{6.001} from the nefarious designs of Sergeant Spaghetticode
	and his vile {concrete} programming practices.

	See also {spaghetti code}.

	(1994-11-22)

Captain Crunch

	1. <person> ("Cap'n Crunch") An early 1970s
	{hacker}/{phreaker}/{phacker} who used a free whistle included
	with "Cap'n Crunch" breakfast cereal to fake pay phone system
	tones and make large quantities of free phone calls.  Also
	alludes to "{crunch}".

	{(http://well.com/user/crunch/)}.

	2. (After the above) {wardialer}.

	3. Reportedly, a program which {crash}es a computer by
	overloading the {interrupt} {stack}.

	(1998-08-25)

CAPTCHA

	<security> A type of test used to determine whether a request
	to a {website} comes from a human or a computer program,
	typically by asking the user to perform some kind of {image
	recognition} task such as reading distorted text.  The term
	was coined in 2000 by Luis von Ahn, Manuel Blum, Nicholas
	J. Hopper (all of {Carnegie Mellon University}) and John
	Langford (of {IBM}) as a contrived acronym for "Completely
	Automated Public Turing test to tell Computers and Humans
	Apart".  CAPTCHA aims to prevent software tools from
	performing actions which might degrade the service, such as
	registering user accounts or automating the playing of a game.

	(2009-01-02)

CAR

	{Contents of Address Part of Register}

card

	1. <hardware> A circuit board.

	2. <storage> {SD card}.

	3. <history> A {punched card}.

	4. <hypertext> An alternative term for a {node} in a system
	(e.g. {HyperCard}, {Notecards}) in which the node size is
	limited.

Cardbox for Windows

	<database> A database handling program, especially useful for
	scholars and librarians.

	[Details?  Features?  Developer?  URL?]

	(1997-05-14)

Cardbus

	<hardware> The 32-bit version of the {PCMCIA} (PC Card) {bus}.

	[Spec?]

	(1996-08-20)

card creep

	{chip creep}

cardinality

	<mathematics> The number of elements in a set.  If two sets
	have the same number of elements (i.e. there is a {bijection}
	between them) then they have the same cardinality.  A
	cardinality is thus an {isomorphism class} in the {category}
	of sets.

	{aleph 0} is defined as the cardinality of the first
	{infinite} {ordinal}, {omega} (the number of {natural
	numbers}).

	(1995-03-29)

cardinal number

	The {cardinality} of some set.

CARDS

	Central Archive for Reusable Defense Software of the DoD.

card walloper

	<jargon> An {EDP} programmer who grinds out {batch programs}
	that do things like print people's paychecks.  Compare {code
	grinder}.

	See also {punched card}, {eighty-column mind}.

	[{Jargon File}]

	(2003-09-20)

Career Limiting Move

	<jargon> (CLM, Sun) Any action endangering one's future
	prospects of getting plum projects and raises, and possibly
	one's job.  E.g. "His Halloween costume was a parody of his
	manager.  He won the prize for "best CLM"."  A severe bug
	discovered by a customer might be a "CLM bug".

	(2000-08-09)

caret

	^

	Common: hat; control; uparrow; caret; {ITU-T}: circumflex.
	Rare: chevron; {INTERCAL}: shark (or shark-fin); to the ("to
	the power of"); fang; pointer (in Pascal).

careware

	/keir'weir/ (Or "{charityware}") {Shareware} for which either
	the author suggests that some payment be made to a nominated
	charity or a levy directed to charity is included on top of
	the distribution charge.

	Compare {crippleware}.

	[{Jargon File}]

	(1994-12-16)

cargo cult programming

	<programming, humour> A style of (incompetent) programming
	dominated by ritual inclusion of code or program structures
	that serve no real purpose.  A cargo cult programmer will
	usually explain the extra code as a way of working around some
	bug encountered in the past, but usually neither the bug nor
	the reason the code apparently avoided the bug was ever fully
	understood (compare {shotgun debugging}, {voodoo
	programming}).

	The term "cargo cult" is a reference to aboriginal religions
	that grew up in the South Pacific after World War II.  The
	practices of these cults centre on building elaborate mockups
	of aeroplanes and military style landing strips in the hope of
	bringing the return of the god-like aeroplanes that brought
	such marvelous cargo during the war.  Hackish usage probably
	derives from Richard Feynman's characterisation of certain
	practices as "cargo cult science" in his book "Surely You're
	Joking, Mr. Feynman" (W. W. Norton & Co, New York 1985, ISBN
	0-393-01921-7).

	[{Jargon File}]

	(2002-05-28)

Caribou CodeWorks

	<company> The company which sells {QTRADER}.

	Director of Marketing: Norm Larsen <wwcoinc@winternet.com>.

	(1995-11-05)

Carl Friedrich Gauss

	<person> A German mathematician (1777 - 1855), one of all time
	greatest.  Gauss discovered the {method of least squares} and
	{Gaussian elimination}.

	Gauss was something of a child prodigy; the most commonly told
	story relates that when he was 10 his teacher, wanting a rest,
	told his class to add up all the numbers from 1 to 100.  Gauss
	did it in seconds, having noticed that 1+...+100 = 100+...+1 =
	(101+...+101)/2.

	He did important work in almost every area of mathematics.
	Such eclecticism is probably impossible today, since further
	progress in most areas of mathematics requires much hard
	background study.

	Some idea of the range of his work can be obtained by noting
	the many mathematical terms with "Gauss" in their names.  E.g.
	{Gaussian elimination} ({linear algebra}); {Gaussian primes}
	(number theory); {Gaussian distribution} (statistics); {Gauss}
	[unit] (electromagnetism); {Gaussian curvature} (differential
	geometry); {Gaussian quadrature} (numerical analysis);
	{Gauss-Bonnet formula} (differential geometry); {Gauss's
	identity} ({hypergeometric functions}); {Gauss sums} ({number
	theory}).

	His favourite area of mathematics was {number theory}.  He
	conjectured the {Prime Number Theorem}, pioneered the {theory
	of quadratic forms}, proved the {quadratic reciprocity
	theorem}, and much more.

	He was "the first mathematician to use {complex numbers} in a
	really confident and scientific way" (Hardy & Wright, chapter
	12).

	He nearly went into architecture rather than mathematics; what
	decided him on mathematics was his proof, at age 18, of the
	startling theorem that a regular N-sided polygon can be
	constructed with ruler and compasses if and only if N is a
	power of 2 times a product of distinct {Fermat primes}.

	(1995-04-10)

Carnegie Mellon University

	<body, education> (CMU) A university in Pittsburgh,
	Pennsylvania.  {School of Computer Science
	(http://cs.cmu.edu/Web/FrontDoor.html)}.

	(1997-06-23)

carpal tunnel syndrome

	{overuse strain injury}

Carriage Return

	<character> (CR, Control-M, {ASCII} 13) The character which
	causes the {cursor} to move to the left margin, often used
	with {line feed} to start a new line of output.

	Encoded in {C} and {Unix} as "\r".

	(1996-06-24)

Carrierless Amplitude/Phase Modulation

	<communications> (CAP) A design of {Asymmetric Digital
	Subscriber Line} {transceiver} developed by {Bell Labs}.  CAP
	was the first ADSL design to be commercially deployed and, as
	of August 1996, was installed on more lines than any other.

	CAP is a variation of {Quadrature Amplitude Modulation}, the
	modulation used by most existing {modems} in 1997.  With CAP,
	the three channels ({POTS}, downstream data and upstream data)
	are supported by splitting the frequency spectrum.  Voice
	occupies the standard 0-4 Khz frequency band, followed by the
	upstream channel and the high-speed downstream channel.

	(1997-10-08)

carrier scanner

	<security> (Or "wardialer") A program which uses a {modem} to
	dial a series of phone numbers (say, from 770-0000 to
	770-9999), and keeps a log of what phone numbers answer with a
	modem {carrier}.  The results of such a search were generally
	used by people looking to engage in {random} mischief in
	{random} machines.

	Since the 1980s, wardialers have generally fallen into disuse,
	partly because of easily available "{caller ID}" technology,
	partly because fax machines are now in wide use and would
	often be logged as a {carrier} by a wardialer, and partly
	because there are so many new and more interesting venues for
	computerised mischief these days.

	(1997-03-16)

carrier signal

	<communications> A continuous signal of a single frequency
	capable of being modulated by a second, data-carrying signal.
	In radio communication, the two common kinds of modulation are
	{amplitude modulation} and {frequency modulation}.

	(1995-03-01)

Cartesian coordinates

	<mathematics, graphics> (After Renee Descartes, French
	philosopher and mathematician) A pair of numbers, (x, y),
	defining the position of a point in a two-dimensional space by
	its perpendicular projection onto two axes which are at right
	angles to each other.  x and y are also known as the
	{abscissa} and {ordinate}.

	The idea can be generalised to any number of independent axes.

	Compare {polar coordinates}.

	(1997-07-08)

Cartesian product

	<mathematics> (After Renee Descartes, French philosper and
	mathematician) The Cartesian product of two sets A and B is
	the set

		A x B = {(a, b) | a in A, b in B}.

	I.e. the product set contains all possible combinations of one
	element from each set.  The idea can be extended to products
	of any number of sets.

	If we consider the elements in sets A and B as points along
	perpendicular axes in a two-dimensional space then the
	elements of the product are the "{Cartesian coordinates}" of
	points in that space.

	See also {tuple}.

	(1995-03-01)

CAS

	1. <hardware> {Column Address Strobe}.

	2. <communications> (channel associated signaling) {in-band
	signalling}.

CAS 8051 Assembler

	An experimental one-pass {assembler} for the 8051 with
	{C}-like syntax by Mark Hopkins.  Most features of a modern
	assembler included except {macros} (soon to be added).
	Requires an {ANSI-C} compiler.  Ported to {MS-DOS}, {Ultrix},
	{Sun-4}.  (July 1993).

	Version 1.2.  Assembler/linker, disassembler, documentation,
	examples.

	{(ftp://lyman.pppl.gov/pub/8051/assem)},
	{(ftp://nic.funet.fi/pub/microprocs/MCS-51/csd4-archive/assem)}.
	{Other software tools and applications
	(ftp://nic.funet.fi/pub/compilers/8051/)}.

	(1995-01-26)

cascade

	1. <compiler> A huge volume of spurious error-messages output
	by a {compiler} with poor {error recovery}.  Too frequently,
	one trivial {syntax} error (such as a missing ")" or "}")
	throws the {parser} out of synch so that much of the remaining
	program text, whether correct or not, is interpreted as
	garbaged or ill-formed.

	2. <messaging> A chain of {Usenet} followups, each adding some
	trivial variation or riposte to the text of the previous one,
	all of which is reproduced in the new message; an {include
	war} in which the object is to create a sort of communal
	graffito.

	3. <networking> A collection of interconneced networking
	devices, typically {hubs}, that allows those devices to act
	together as a {logical} {repeater}.

	[{Jargon File}]

	(1997-07-17)

Cascading Style Sheets

	<web> (CSS) An extension to {HTML} to allow styles,
	e.g. colour, {font}, size to be specified for certain elements
	of a {hypertext} document.  Style information can be included
	in-line in the HTML file or in a separate CSS file (which can
	then be easily shared by multiple HTML files).  Multiple
	levels of CSS can be used to allow selective overriding of
	styles.

	{(http://w3.org/Style/CSS/)}.

	(2000-07-26)

CASE

	1. {Computer Aided Software Engineering}.

	2. {Common Application Service Element}.

case

	1. <programming> {switch statement}.

	2. <character> Whether a character is a capital letter ("upper
	case" - ABC..Z) or a small letter ("lower case" - abc..z).

	The term case comes from the printing trade when the use of
	moving type was invented in the early Middle Ages (Caxton or
	Gutenberg?) and the letters for each {font} were stored in a
	box with two sections (or "cases"), the upper case was for the
	capital letters and the lower case was for the small letters.
	The Oxford Universal Dictionary of Historical Principles (Feb
	1993, reprinted 1952) indicates that this usage of "case" (as
	the box or frame used by a compositor in the printing trade)
	was first used in 1588.

	(1996-03-01)

case and paste

	<programming> (From "{cut and paste}") The addition of a new
	{feature} to an existing system by selecting the code from an
	existing feature and pasting it in with minor changes.  This
	usually results in gross violation of the fundamental
	programming tenet, {Don't Repeat Yourself}.

	Common in telephony circles because most operations in a
	telephone switch are selected using "case" statements.  Leads
	to {software bloat}.

	In some circles of {Emacs} users this is called "programming
	by Meta-W", because Meta-W is the Emacs command for copying a
	block of text to a {kill buffer} in preparation to pasting it
	in elsewhere.  The term is condescending, implying that the
	programmer is acting mindlessly rather than thinking carefully
	about what is required to integrate the code for two similar
	cases.

	At {DEC}, this is sometimes called "clone-and-hack" coding.

	[{Jargon File}]

	(1996-03-01)

case based reasoning

	<artificial intelligence> (CBR) A technique for problem
	solving which looks for previous examples which are similar to
	the current problem.  This is useful where {heuristic}
	{knowledge} is not available.

	There are many situations where experts are not happy to be
	questioned about their knowledge by people who want to write
	the knowledge in rules, for use in {expert systems}.  In most
	of these situations, the natural way for an expert to describe
	his or her knowledge is through examples, stories or cases
	(which are all basically the same thing).  Such an expert will
	teach trainees about the expertise by apprenticeship, i.e. by
	giving examples and by asking the trainees to remember them,
	copy them and adapt them in solving new problems if they
	describe situations that are similar to the new problems.  CBR
	aims to exploit such knowledge.

	Some key research areas are efficient indexing, how to define
	"similarity" between cases and how to use temporal
	information.

	(1996-05-28)

CASE Data Interchange Format

	(CDIF) An emerging standard for interchange of data between
	{CASE} tools.

	(1994-11-03)

CASE framework

	A set of products and conventions that allow CASE tools to be
	integrated into a coherent environment.

case insensitive

	{case sensitivity}

Case Integration Services

	<standard, programming> (CIS) A committee formed to discuss
	{CASE} tool integration standards related to {ATIS}.

	(1994-10-25)

CASE*Method

	An analysis and design method from {Oracle} targeted at
	information management applications.

	(1994-10-28)

case sensitive

	{case sensitivity}

case sensitivity

	<text> Whether a text matching operation distinguishes
	upper-{case} (capital) letters from lower case (is "case
	sensitive") or not ("case insensitive").

	Case in file names should be preserved (for readability) but
	ignored when matching (so the user doesn't have to get it
	right).  {MS-DOS} does not preserve case in file names, {Unix}
	preserves case and matches are case sensitive.

	Any decent {text editor} will allow the user to specify
	whether or not text searches should be {case sensitive}.

	Case sensitivity is also relevant in programming (most
	programming languages distiguish between case in the names of
	{identifiers}), and addressing ({Internet} {domain names} are
	case insensitive but {RFC 822} local {mailbox} names are case
	sensitive).

	Case insensitive operations are sometimes said to "fold case",
	from the idea of folding the character code table so that
	upper and lower case letters coincide.  The alternative "smash
	case" is more likely to be used by someone who considers this
	behaviour a {misfeature} or in cases where one case is
	actually permanently converted to the other.

	"{MS-DOS} will automatically smash case in the names of all
	the files you create".

	(1997-07-09)

CASE SOAP III

	Version of SOAP assembly language for IBM 650.  Listed in
	CACM 2(5):16 (May 1959).

case statement

	{switch statement}

CASE tools

	Software tools to help in the application of CASE methods to a
	software project.

cashe

	<spelling> It's spelled "{cache}".

	(1996-12-13)

CAST

	{Computer Aided Software Testing}

cast

	{explicit type conversion}

casters-up mode

	[IBM, probably from slang belly up] Yet another synonym for
	"broken" or "down".  Usually connotes a major failure.  A
	system (hardware or software) which is "down" may be already
	being restarted before the failure is noticed, whereas one
	which is "casters up" is usually a good excuse to take the
	rest of the day off (as long as you're not responsible for
	fixing it).

	[{Jargon File}]

casting the runes

	<jargon> What a {guru} does when you ask him or her to run a
	particular program because it never works for anyone else;
	especially used when nobody can ever see what the guru is
	doing different from what J. Random Luser does.

	Compare {incantation}, {runes}, {examining the entrails}; also
	see the {AI koan} about Tom Knight.

	(1997-12-26)

CAT

	Common Abstract Tree Language.  R. Voeller & Uwe Schmidt, U
	Kiel, Germany 1983.  Universal intermediate language, used by
	Norsk Data in their family of compilers.  "A Multi-Language
	Compiler System with Automatically Generated Codegenerators,
	U. Schmidt et al, SIGPLAN Notices 19(6):202-2121 (June 1984).

	[{Jargon File}]

cat

	<tool> (From "catenate") {Unix}'s command which copies one or
	more entire files to the screen or some other output sink
	without pause.

	See also {dd}, {BLT}.

	Among {Unix} fans, cat is considered an excellent example of
	user-interface design, because it delivers the file contents
	without such verbosity as spacing or headers between the files
	(the {pr} command can be used to do this), and because it does
	not require the files to consist of lines of text, but works
	with any sort of data.

	Among Unix haters, cat is considered the {canonical} example
	of *bad* user-interface design, because of its woefully
	unobvious name.  It is far more often used to {blast} a file
	to standard output than to concatenate files.  The name "cat"
	for the former operation is just as unintuitive as, say,
	LISP's {cdr}.

	Of such oppositions are {holy wars} made.

	(1994-11-29)

Cat 3

	{Category 3}

Cat 5

	{Category 5}

catatonic

	<jargon> A description of a system that gives no indication
	that it is still working.  This might be because it has
	crashed without being able to give any error message or
	because it is busy but not designed to give any feedback.

	Compare {buzz}.

	[{Jargon File}]

	(2004-08-19)

CATE

	{Computer Aided Test Engineering}.

Categorical Abstract Machine Language

	<language> (Originally "CAML" - Categorical Abstract Machine
	Language) A version of {ML} by G. Huet, G. Cousineau, Ascander
	Suarez, Pierre Weis, Michel Mauny and others of {INRIA} and
	{ENS}.  CAML is intermediate between {LCF ML} and {SML} [in
	what sense?].  It has {first-class} functions, {static type
	inference} with {polymorphic} types, user-defined {variant
	types} and {product types}, and {pattern matching}.  It is
	built on a proprietary run-time system.

	The CAML V3.1 implementation added {lazy} and {mutable} data
	structures, a "{grammar}" mechanism for interfacing with the
	{Yacc} {parser generator}, {pretty-printing} tools,
	high-performance {arbitrary-precision} arithmetic, and a
	complete library. CAML V3 is often nicknamed "heavy CAML",
	because of its heavy memory and CPU requirements compared to
	{Caml Light}.

	in 1990 Xavier Leroy and Damien Doligez designed a new
	implementation called {Caml Light}, freeing the previous
	implementation from too many experimental high-level features,
	and more importantly, from the old Le_Lisp back-end.

	Following the addition of a {native-code} compiler and a
	powerful {module} system in 1995 and of the {object} and
	{class} layer in 1996, the project's name was changed to
	{Objective Caml}.

	["The CAML Reference Manual", P. Weis et al, TR INRIA-ENS,
	1989].

	(2003-04-12)

category

	<theory> A category K is a collection of objects, obj(K), and
	a collection of {morphisms} (or "{arrows}"), mor(K) such that

	1. Each morphism f has a "typing" on a pair of objects A, B
	written f:A->B.  This is read 'f is a morphism from A to B'.
	A is the "source" or "{domain}" of f and B is its "target" or
	"{co-domain}".

	2. There is a {partial function} on morphisms called
	{composition} and denoted by an {infix} ring symbol, o.  We
	may form the "composite" g o f : A -> C if we have g:B->C and
	f:A->B.

	3. This composition is associative: h o (g o f) = (h o g) o f.

	4. Each object A has an identity morphism id_A:A->A associated
	with it.  This is the identity under composition, shown by the
	equations

	 id__B o f = f = f o id__A.

	In general, the morphisms between two objects need not form a
	{set} (to avoid problems with {Russell's paradox}).  An
	example of a category is the collection of sets where the
	objects are sets and the morphisms are functions.

	Sometimes the composition ring is omitted.  The use of
	capitals for objects and lower case letters for morphisms is
	widespread but not universal.  Variables which refer to
	categories themselves are usually written in a script font.

	(1997-10-06)

Category 3

	<hardware> (Cat 3, or "voice grade") An American Standards
	Institute standard for {UTP} cables.  Used, e.g., for
	{100BaseVG} network cabling.

	(1998-06-30)

Category 5

	<hardware> (Cat 5) An American Standards Institute standard
	for {UTP} cables.  Used, e.g., for {100BaseTX} cabling.

	(1998-06-30)

CA-Telon

	<application> A {Computer Aided Software Engineering} (CASE)
	tool for designing, generating and maintaining {COBOL} and
	{PL/I} {application programs}.  Telon was developed by
	{Pansophic} Systems who were bought by {Computer Associates}
	in 1991, whereupon it was renamed CA-Telon.

	It supports high-level, non-{prodedural} design and
	prototyping, combined with automatic {code generation}.  There
	are {mainframe} and {PC} versions.  The generated COBOL
	applications can execute in {AIX}, {HP-UX}, {VSE}, {OS/400}
	for the {AS/400}, {PC-DOS}, or {OS/2}.

	(2000-01-19)

cathode ray tube

	<hardware> (CRT) An electrical device for displaying images by
	exciting phosphor dots with a scanned electron beam.  CRTs are
	found in computer {VDUs} and {monitors}, televisions and
	oscilloscopes.  The first commercially practical CRT was
	perfected on 29 January 1901 by Allen B DuMont.

	A large glass envelope containing a negative electrode (the
	cathode) emits electrons (formerly called "cathode rays") when
	heated, as in a {vacuum tube}.  The electrons are accelerated
	across a large voltage gradient toward the flat surface of
	the tube (the screen) which is covered with phosphor.  When an
	electron strikes the phosphor, light is emitted.  The electron
	beam is deflected by electromagnetic coils around the outside
	of the tube so that it scans across the screen, usually in
	horizontal stripes.  This scan pattern is known as a {raster}.
	By controlling the current in the beam, the brightness at any
	particular point (roughly a "{pixel}") can be varied.

	Different phosphors have different "{persistence}" - the
	length of time for which they glow after being struck by
	electrons.  If the scanning is done fast enough, the eye sees
	a steady image, due to both the persistence of the phospor and
	of the eye itself.  CRTs also differ in their {dot pitch},
	which determines their spatial {resolution}, and in whether
	they use {interlace} or not.

	(1994-11-17)

CATIA

	<tool, product> A {CAD}/CAM system produced by Dassault
	Systemes and sold by {IBM}.  CATIA is used heavily in the car
	and aerospace industries.  It runs on various {Unix} platforms
	and {Windows NT}.

	{(http://catia.ibm.com/catmain.html)}.

	(2002-06-12)

cationic cocktail

	<hardware> (Or "Downy cocktail") Diluted fabric softener
	sprayed on computer room carpets to prevent static electricity
	from being built up by feet shuffling on carpet.

	The {canonical} cationic cocktail is one part unscented liquid
	fabric softener (in the US, usually "Downy" brand) to five
	parts water.

	"Cationic" is the chemical term for the most common active
	ingredient in fabric softeners.  The use of the term
	"cocktail" may be influenced by its use in other jargons,
	especially pharmacological and chemical, to denote a mixture
	which, like cationic cocktail, typically contains no alcohol
	and would be unwise to drink.

	(1998-04-04)

C/ATLAS

	<language> A DoD test language.  It is a variant of {ATLAS}.

	(1995-05-01)

CATNIP

	{Common Architecture for Next Generation Internet Protocol}

CATO

	Fortran-like CAI language for PLATO system on CDC 1604.  "CSL
	PLATO System Manual", L.A. Fillman, U Illinois, June 1966.

Cauchy sequence

	<mathematics> A sequence of elements from some {vector space}
	that converge and stay arbitrarily close to each other (using
	the {norm} definied for the space).

	(2000-03-10)

cause-effect graphing

	<programming> A testing technique that aids in selecting, in a
	systematic way, a high-yield set of test cases that logically
	relates causes to effects to produce test cases.  It has a
	beneficial side effect in pointing out incompleteness and
	ambiguities in specifications.

	(1996-05-10)

CAV

	{Constant Angular Velocity}

Cayenne Software

	<company> The company formed when {CADRE} merged with {Bachman
	Information Systems} in July 1996.

	{(http://cayennesoft.com/)}.

	[Details?]

	(2001-04-30)

CAYLEY

	<symbolic mathematics, tool> A {symbolic mathematics} system
	for {group theory} written by John Cannon of the {University
	of Sydney}, Australia in 1976.

	Cayley was used at about 100 sites but has been superseded by
	a much more general system, {Magma}.

	["An Introduction to the Group Theory Language CAYLEY", J.
	Cannon, Computational Group Theory, M.D. Atkinson ed, Academic
	Press 1984, pp. 148-183].

	Latest version: V3.7, for {Sun}, {Apollo}, {VAX}/{VMS}.

	(2000-09-03)

cb

	{C Beautifier}

CBASIC

	A {BASIC} compiler by Gordon Eubanks, now at {Symantec}.  It
	evolved from/into {EBASIC}.

	(1994-11-29)

CBBS

	{bulletin board system}

C-BC

	<language> A {strongly typed} version of {BC} by Mark Hopkins,
	with expanded {C}-like {syntax}, more base types and the
	ability to form {array} and {pointer} types of any dimension
	and to allocate/free arrays at {run time}.

	Most {POSIX-BC} features are supported, except that
	{functions} must be declared consistently and declared before
	first use.  {String} handling is slightly different.  It
	requires an {ANSI-C} compiler and runs under {MS-DOS} or
	{Unix}.

	Version: 1.1.

	Posted to {alt.sources} 1993-04-10.

	(1993-08-23)

CBD

	{component based development}

C Beautifier

	(cb) A {Unix} tool for reformatting {C} {source} code.

	{Unix manual page}: cb(1).

CBIR

	<image> {content-based information retrieval}.

	(1995-11-23)

CBN

	{call-by-name}

CBR

	{case based reasoning}

CBT

	{Computer-Based Training}

CBV

	{call-by-value}

cbw

	{Crypt Breakers Workbench}

cc

	<networking> The {country code} for the Cocos (Keeling)
	Islands.

	(1999-01-27)

CC++

	{Compositional C++}

C/C++

	1. {Borland C/C++}.

	2. {Watcom C/C++}.

	3. Either {C} or {C++}.

CCalc

	A {symbolic mathematics} system for {MS-DOS}, available from
	{Simtel}.

	(1995-04-12)

CCD

	{Charge-Coupled Device}

CCIRN

	Coordinating Committee for Intercontinental Research Networks.

CCITT

	Commite' Consultatif International de Telegraphique et
	Telephonique.  (International consultative committee on
	telecommunications and Telegraphy).

	CCITT changed its name to {ITU-T} on 1 March 1993.

	(1994-11-03)

CCITT HIgh-Level Language

	<language> (CHILL) A {real-time} language widely used in
	telecommunications.  CHILL was developed in the 1970s and
	improved in 1984, 1988, 1992, and 1996.  It is used in several
	countries including Germany, Norway, Brasil, and South Korea.

	{Cygnus} are developing a compiler based on {gcc}.

	{(http://www1.informatik.uni-jena.de/languages/chill/chill.htm)}.

	["An Analytical Description of CHILL, the CCITT High Level
	Language", P. Branquart, LNCS 128, Springer 1982].

	["CHILL User's Manual", ITU, 1986, ISBN 92-61-02601-X.
	ISO-9496 (1988?)].

	(1997-01-20)

CCL

	1. Coral Common LISP.

	2. Computer Control Language.  English-like query language
	based on COLINGO, for IBM 1401 and IBM 1410.

CCLU

	Cambridge CLU.  {CLU} extended to support {concurrency},
	distributed programming and {remote procedure call}, by
	G. Hamilton et al at {CUCL}.

	E-mail: Jean Bacon <jmb@cl.cam.ac.uk>.

	(1994-10-13)

ccmail

	It's written {cc:mail}.

cc:mail

	<tool, product> Commercial {electronic mail} software by
	{Lotus Corporation} for {Microsoft Windows}.

	(1995-03-14)

CCP

	1. <language> {Concurrent Constraint Programming}.

	2. {Command Control Processor}.

CCR

	1. {condition code register}.

	2. (Database) {concurrency control and recovery}.

CCS

	1. <networking> {Common Communication Services}.

	2. <language, parallel> {Calculus of Communicating Systems}.

	3. <history> {Computer Conservation Society}.

	4. <storage, standard> {Common Command Set}.

	5. <communications> {centum call second}.

CCSP

	{Contextually Communicating Sequential Processes}

CCTA

	The Government Centre for Information Systems.

	(Originally "Central Computer and Telecommunications Agency").

	CCTA is part of the Office of Public Service and Science,
	which works to improve government's services to the public.
	They are responsible for stimulating and promoting the
	effective use of Information Systems in support of the
	efficient delivery of business objectives and improved quality
	of services by the public sector.

	CCTA had to change its name as it was not an agency in the
	"Next Steps" sense.  The letters were retained as customers
	were familiar with them.

	{(http://open.gov.uk/)}.

	E-mail: <info@open.gov.uk>.

	Address: Norwich, UK.

	(1995-01-18)

CD

	{Compact Disc}

cd

	1. <operating system> {change directory}.

	2. <networking> The {country code} for the Democratic Republic
	of the Congo (formerly Zaire, {zr}).

	(1999-01-27)

CDA

	1. <file format> {Compound Document Architecture}.

	2. <legal> {Communications Decency Act}.

CD burner

	{Compact Disc writer}

CDC

	{Control Data Corporation}

CDC 6600

	<computer> A {mainframe} computer from {Control Data
	Corporation}, first delivered in 1964.  It is generally
	considered to be the first successful {supercomputer}, about
	three times faster than {STRETCH}.  Its successor was the {CDC
	7600}.

	(2007-03-01)

CDDI

	{Copper Distributed Data Interface}

CDD/Plus

	{DEC}'s {CASE} {repository}.

CDE

	1. C Development environment from {IDE}.

	2. {Common Desktop Environment}.

	3. {Co-operative Development Environment}.

	(1996-07-11)

CDF

	Common Data Format.  A library and toolkit for
	multi-dimensional data sets.

CD-i

	{Compact Disc interactive}

CDIF

	{CASE Data Interchange Format}

CDL

	1. Computer Definition [Design?] Language.  A hardware
	description language.  "Computer Organisation and
	Microprogramming", Yaohan Chu, P-H 1970.

	2. Command Definition Language.  Portion of ICES used to
	implement commands.  Sammet 1969, p.618-620.

	3. Compiler Description Language.  C.H.A. Koster, 1969.
	Intended for implementation of the rules of an affix grammar
	by recursive procedures.  A procedure may be a set of
	tree-structured alternatives, each alternative is executed
	until one successfully exits.  Used in a portable COBOL-74
	compiler from MPB, mprolog system from SzKI, and the Mephisto
	chess computer.  "CDL: A Compiler Implementation Language", in
	Methods of Algorithmic Language Implementation, C.H.A. Koster,
	LNCS 47, Springer 1977, pp.341-351.  "Using the CDL Compiler
	Compiler", C.H.A. Koster, 1974.  Versions: CDL2, CDLM used at
	Manchester.

	4. Common Design Language.  "Common Design Language", IBM,
	Software Engineering Inst, Sept 1983.

	5. Control Definition Language.  Ideas which contributed to
	Smalltalk.

	["Control Structures for Programming Languges", David
	A. Fisher, PhD Thesis, CMU 1970].

CDM

	1. {Content Data Model}

	2. {Code Division Multiplexing}

CDMA

	{Code Division Multiple Access}

CDP1802

	{RCA 1802}

CDPD

	{Cellular Digital Packet Data}

CDR

	1. <networking> {Committed Data Rate}.

	2. <programming> {Contents of Decrement part of Register}.

	3. <storage> {Compact Disc Recordable} (CD-R).

	4. <telecommunications> {Call Data Record}.

CD-Read-Write

	{Compact Disc Rewritable}

CD-Rewritable

	{Compact Disc Rewritable}

CD-ROM

	{Compact Disc Read-Only Memory}

CD-ROM drive

	{Compact Disc Read-Only Memory}

CD-RW

	{Compact Disc Rewritable}

CDS

	{Concrete Data Structure}

cd tilde

	/C-D til-d*/ To go home.  From the {Unix} {C shell} and
	Korn-shell command "cd ~", which takes one to one's "$HOME"
	directory.  "cd" with no arguments does the same thing.

	[{Jargon File}]

	(1994-10-28)

CDW

	{data warehouse}

CE

	{IBM Customer Engineer}

Cecil

	AN {object-oriented} language combining {multi-methods} with a
	classless object model, object-based {encapsulation} and
	optional {static type checking}.  It distinguishes between
	{subtyping} and {code inheritance}.  Includes both explicit
	and implicit parameterisation of objects, types, and methods.

	{(ftp://cs.washington.edu/pub/chambers/cecil-spec.ps.Z)}.

	["The Cecil Language: Specification and Rationale",
	C. Chambers, TR 93-03-05, U Wash (Mar 1993)].

	(1994-10-28)

Cedar

	A superset of {Mesa}, from {Xerox PARC}, adding {garbage
	collection}, {dynamic types} and a universal pointer type (REF
	ANY).  Cedar is a large complex language designed for custom
	Xerox hardware and the Cedar {operating system}/environment.
	Data types are {atoms}, lists, ropes ("industrial strength"
	strings), conditions.  Multi-processing features include
	{threads}, {monitors}, {signals} and catch phrases.  It was
	used to develop the Cedar integrated programming environment.

	["A Description of the Cedar Language", Butler Lampson, Xerox
	PARC, CSL-83-15 (Dec 1983)].

	["The Structure of Cedar", D. Swinehart et al, SIGPLAN Notices
	20(7):230-244 (July 1985)].

	(1995-01-26)

CEEMAC+

	Graphics language for DOS 3.3 on {Apple II}.

CEI-PACT

	Central European Initiative on Parallel Computation.

Celeron

	<processor> {Intel Corporation}'s trade name for its family of
	{Pentium II} {microprocessors} meant for use in low-end
	computers.

	The Celeron is constructed on the 0.25 micron Deschutes base.
	{Clock rates} of 266, 300 and 333 {MHz} are supported.  It is
	built on the same {daughterboard} as the Pentium II without
	the black plastic case and {heat sink}.  Four Celeron models
	are in production as of October 1998.  The 266 and 300 MHz
	models are essentially Pentium II {CPUs} without the Level 2
	{cache} {RAM}.  The 300A and 333 MHz Celerons include 128k of
	Level 2 cache.

	A special mounting bracket on the motherboard is used to
	secure the Celeron in place in its standard 242-pin Slot 1
	socket.  Intel calls the caseless design SEPP (Single Edge
	Processor Package) to differentiate it from the Pentium II SEC
	(Single Edge Cartridge).  Some believe that the real purpose
	for the different mounting configurations is to prevent users
	from placing lower cost processors onto Pentium II
	motherboards.

	A Celeron is about one third the cost of a similar speed
	Pentium II.  Hardware {hackers} claim that the Celeron 300
	without Level 2 cache could be {overclocked} to perform as
	well as a Pentium II at a fraction of the price.

	{(http://intel.com/Celeron/)}.

	{Tom's Hardware (http://www2.tomshardware.com/cpuslot1.html)}.

	(1998-10-06)

CELIP

	A cellular language for {image processing}.

	["CELIP: A cellular Language for Image Processing",
	W. Hasselbring <willi@informatik.uni-essen.de>, Parallel
	Computing 14:99-109 (1990)].

	(1994-12-05)

cell

	1. <spreadsheet> In a {spreadsheet}, the intersection of a row
	a column and a sheet, the smallest addressable unit of data.
	A cell contains either a constant value or a {formula} that is
	used to calculate a value.  The cell has a {format} that
	determines how to display the value.  A cell can be part of a
	{range}.  A cell is usually referred to by its column
	(labelled by one or more letters from the sequence A, B, ...,
	Z, AA, AB, ..., AZ, BA, BB, ..., BZ, ... ) and its row number
	counting up from one, e.g. cell B3 is in the second column
	across and the third row down.  A cell also belongs to a
	particular sheet, e.g. "Sheet 1".

	2. <networking> {ATM}'s term for a {packet}.

	(2007-10-22)

Cellang

	See {Cellular}.

CELLAS

	CELLular ASsemblies.

	A {concurrent} {block-structured} language.

	[Mentioned in "Attribute Grammars", LNCS 323, p.97].

	(1994-12-05)

Cello

	<web> A {web browser} {client} for {IBM PCs}.  Runs under
	{Microsoft Windows}.

	(2014-08-23)

cell reference

	<spreadsheet> A string identifying a particular {cell} in a
	{spreadsheet}, possibly relative to the cell containing the
	reference.  A cell reference may be absolute (denoted by a "$"
	prefix in {Excel}) or relative (no prefix) in each dimension,
	thus, e.g. B$6 refers to the second cell across in the sixth
	row.  The distinction between absolute and relative is only
	significant when the referring cell is copied, e.g. if cell
	A1, which refers to B$6, is copied to cell B1, then B1 will
	refer to C6.

	If the reference is to a cell in a different sheet then it is
	prefixed with the target sheet's name and an exclamation
	mark.  E.g. "Sheet 1!B3".

	(2007-10-22)

CELLSIM

	<application> A program for modelling populations of
	biological cells.

	["CELLSIM II User's Manual", C.E. Donaghey, U Houston. Sep
	1975].

	(1994-12-05)

CEll Space Simulation Language

	<language> (CESSL) A language for simulating {cellular space
	models}.

	["The CESSL Programming Language", D.R. Frantz, 012520-6-T, CS
	Dept, U Michigan, Sept 1971].

	(1994-12-14)

Cellular

	<language> A system for {cellular automaton} programming by J Dana
	Eckart <dana@faculty.cs.runet.edu>.  Cellular includes a
	{byte-code compiler}, {run-time system}, and a viewer.

	Latest version: 2.0, as of 1993-04-03.

	Posted to comp.sources.unix, volume 26.

	See also {Cellang}.

	(2000-10-07)

cellular automata

	{cellular automaton}

cellular automaton

	<algorithm, parallel> (CA, plural "- automata") A regular
	spatial lattice of "cells", each of which can have any one of
	a finite number of states.  The state of all cells in the
	lattice are updated simultaneously and the state of the entire
	lattice advances in discrete time steps.  The state of each
	cell in the lattice is updated according to a local rule which
	may depend on the state of the cell and its neighbors at the
	previous time step.

	Each cell in a cellular automaton could be considered to be a
	{finite state machine} which takes its neighbours' states as
	input and outputs its own state.

	The best known example is J.H. Conway's game of {Life}.

	{FAQ
	(http://alife.santafe.edu/alife/topics/cas/ca-faq/ca-faq.html)}.

	{Usenet} newsgroups: {news:comp.theory.cell-automata},
	{news:comp.theory.self-org-sys}.

	(1995-03-03)

Cellular Digital Packet Data

	<communications, protocol> (CDPD) A wireless standard
	providing two-way, 19.2 kbps {packet} data transmission over
	exisiting {cellular telephone} channels.

	[Reference?]

	(1994-12-05)

cellular multiprocessing

	<architecture, parallel> (CMP) The partitioning of
	{processors} into separate computing environments running
	different {operating systems}.

	The term cellular multiprocessing appears to have been coined
	by {Unisys}, who are developing a system where computers
	communicate as clustered machines through a high speed {bus},
	rather than through communication {protocols} such as
	{TCP/IP}.

	The Unisys system is based on {Intel} processors, initially
	the {Pentium II Xeon} and moving on to the 64-bit {Merced}
	processors later in 1999.  It will be scalable from four up to
	32 processors, which can be clustered or partitioned in
	various ways.  For example a sixteen processor system could be
	configured as four {Windows NT} systems (each functioning as a
	four-processor {symmetric multiprocessing} system), or an
	8-way NT and 8-way {Unix} system.

	Supported operating systems will be {Windows NT}, {SCO}'s
	{Unixware} 7.0, Unisys' {SVR4} {Unix} and possibly the OS2200
	and MCP-AS {mainframe} operating systems (with the assistance
	of Unisys' own dedicated {chipset}).

	{(http://marketplace.unisys.com/ent/cmp.html)}.

	(1998-09-09)

Cellular Neural Network

	<architecture> (CNN) The CNN Universal Machine is a low cost,
	low power, extremely high speed {supercomputer} on a chip.  It
	is at least 1000 times faster than equivalent {DSP} solutions
	of many complex {image processing} tasks.  It is a stored
	program supercomputer where a complex sequence of image
	processing {algorithms} is programmed and downloaded into the
	chip, just like any digital computer.  Because the entire
	computer is integrated into a chip, no signal leaves the chip
	until the image processing task is completed.

	Although the CNN universal chip is based on analogue and logic
	operating principles, it has an on-chip analog-to-digital
	input-output interface so that at the system design and
	application perspective, it can be used as a digital
	component, just like a DSP.  In particular, a development
	system is available for rapid design and prototyping.
	Moreover, a {compiler}, an {operating system}, and a
	{user-friendly} CNN {high-level language}, like the {C}
	language, have been developed which makes it easy to implement
	any image processing algorithm.

	[Professor Leon Chua, University of California at Berkeley].

	(1995-04-27)

CELP

	<language> Computationally Extended Logic
	Programming.

	["Computationally Extended Logic Programming", M.C. Rubenstein
	et al, Comp Langs 12(1):1-7 (1987)].

	(1995-04-27)

CEN

	Conseil Européen pour la Normalisation.

	A body coordinating {standard}isation activities in the EEC
	and EFTA countries.

	(1994-12-14)

CENELEC

	<body, standard> The European Committee for Electrotechnical
	Standardization.  A body developing electrotechnical standards for
	the Single European Market / European Economic Area in order to
	reduce internal frontiers and trade barriers for electrotechnical
	products, systems and services.  CENELEC's 19 member countries and
	11 affiliate countries aim to adopt and implement the required
	standards, which are mostly identical to the {International
	Electrotechnical Commission} (IEC) standards.  CENELEC works in
	co-operation with {Comité Européen de Normalisation} (CEN) and
	{European Telecommunications Standards Institute} (ETSI).

	(1999-09-28)

centi-call second

	<spelling> No, it's {centum call second}.

	(2002-03-25)

central office

	<communications> The place where telephone companies terminate
	customer lines and locate switching equipment to interconnect
	those lines with other networks.

	(1995-03-20)

Central office exchange service

	<communications> (Centrex) A {PBX} service providing
	{switching} at the {central office} instead of at the company
	premises.  Typically, the telephone company owns and manages
	all the communications equipment necessary to implement the
	PBX and then sells various services to the company.

	(1999-10-27)

central processing unit

	<architecture, processor> (CPU, processor) The part of a
	computer which controls all the other parts.  Designs vary
	widely but the CPU generally consists of the {control unit},
	the {arithmetic and logic unit} (ALU), {registers}, temporary
	{buffers} and various other logic.

	The control unit fetches {instructions} from memory and
	decodes them to produce signals which control the other parts
	of the computer.  These signals cause it to transfer data
	between memory and ALU or to activate {peripherals} to perform
	input or output.

	Various types of memory, including {cache}, {RAM} and {ROM},
	are often considered to be part of the CPU, particularly in
	modern {microprocessors} where a single {integrated circuit}
	may contain one or more processors as well as any or all of
	the above types of memory.  The CPU, and any of these
	components that are in separate chips, are usually all located
	on the same {printed circuit board}, known as the
	{motherboard}.  This in turn is located in the {system unit}
	(sometimes incorrectly referred to as the "CPU").

	A {parallel computer} has several CPUs which may share other
	resources such as memory and peripherals.

	The term "processor" has to some extent replaced "CPU", though
	RAM and ROM are not logically part of the processor.

	{List of processors
	(http://lldn.timesys.com/complete_list_of_processors)}.

	(2007-04-02)

Centrex

	{Central office exchange service}

Centronics

	<company, hardware, printer> A company in Hudson N.H., USA,
	best known for designing the {parallel interface} for printers
	with the same name, found on many {microcomputers}.

	[Pin-out?]

	(1998-03-15)

Centrum voor Wiskunde en Informatica

	(CWI, Centre for Mathematics and Computer Science) An
	independent research institute active in the fields of
	mathematics and computer science.  CWI also aims to transfer
	new knowledge in these fields to society, trade and industry

	CWI is funded for 70 percent by NWO, the National Organisation
	for Scientific Research.  The remaining 30 percent is obtained
	through national and international programmes and contract
	research commissioned by industry.

	Address: Kruislaan 413, 1098 SJ Amsterdam, The Netherlands;
	P.O.Box 94079, 1090 GB Amsterdam, The Netherlands.

	Telephone: +31 (20) 5929 333.

	{(http://cwi.nl/)}.

	{(ftp://ftp.cwi.nl/pub/)}.

centum call second

	<unit> (CCS) A unit used (in North America) to quantify the
	total traffic running in a network.  1 CCS is 100
	call-seconds.  That means 1 CCS could be 2 calls of 50 seconds
	duration or 20 calls of 5 seconds duration.

	(2002-03-25)

century meltdown

	{Year 2000}

CEN/XFS

	{Extensions for Financial Services}

cepstra

	{cepstrum}

cepstrum

	<mathematics> (Coined in a 1963 paper by Bogert, Healey, and
	Tukey) The {Fourier transform} of the log-magnitude spectrum:

		fFt(ln( | fFt(window . signal) | ))

	This function is used in {speech recognition} and possibly
	elsewhere.  Note that the outer transform is NOT an inverse
	Fourier transform (as reported in many respectable DSP texts).

	[What's it for?]

	(1997-01-07)

CEPT

	{Comite Europeen des Postes et Telecommunications}

CER

	{Canonical Encoding Rules}

Ceramic Pin Grid Array

	<hardware, processor> (CPGA) A form of {Pin Grid Array}
	package used by {Cyrix III} {processors}.

	Compare {PPGA} and {FC-PGA}.

	[Other uses?]

	(2000-08-26)

Ceres workstation Oberon System

	<language, tool> A complete {Oberon} {compiler} written in
	{Oberon}.  Source to most of the complete Ceres workstation
	Oberon System, including the {National Semiconductor 32032}
	{code generator} is available.  Less of the low level system
	specific code is available.

	{(ftp://neptune.ethz.ch/Oberon/)}.

	(1994-12-14)

Cerf, Vint

	{Vint Cerf}

CERN

	<body> The European Laboratory for Particle Physics in
	Swizerland.

	{Tim Berners-Lee} invented the {World-Wide Web} while working
	at CERN.

	Other notable computing developments at CERN include {ADAMO},
	{Application Software Installation Server}, {CERNLIB},
	{cfortran.h}, {CHEOPS}, {CICERO}, {Cortex}, {EMDIR}, {HBOOK},
	{LIGHT}, {NFT}, {PATCHY}, {PL-11}, {Schoonschip}, {SHIFT},
	and {ZEBRA}.

	{CERN Home (http://cern.ch/)}.

	(2004-10-24)

CERNLIB

	<library> The {CERN} Program Library.

	(2004-09-01)

CERT

	{Computer Emergency Response Team}

Certificate Authority

	<cryptography, body> (CA or "Trusted Third Party") An entity
	(typically a company) that issues {digital certificates} to
	other entities (organisations or individuals) to allow them to
	prove their identity to others.  A Certificate Authority might
	be an external company such as {VeriSign} that offers digital
	certificate services or they might be an internal organisation
	such as a corporate {MIS} department.  The Certificate
	Authority's chief function is to verify the identity of
	entities and issue digital certificates attesting to that
	identity.

	The process uses {public key cryptography} to create a
	"network of trust".  If I want to prove my identity to you, I
	ask a CA (who you trust to have verified my identity) to
	encrypt a {hash} of my signed key with their {private key}.
	Then you can use the CA's {public key} to decrypt the hash and
	compare it with a hash you calculate yourself.  Hashes are
	used to decrease the amount of data that needs to be
	transmitted.  The hash function must be {cryptographically
	strong}, e.g. {MD5}.

	{(http://home.netscape.com/comprod/server_central/support/faq/certificate_faq.html#11)}.

	(1998-03-30)

CESP

	{Common ESP}

CESSL

	{CEll Space Simulation Language}

cextract

	<programming, tool> A {C} {prototype} extractor by Adam Bryant
	<adb@cs.bu.edu>.  cextract can generate {header files} for
	large multi-file C programs, and will automatically generate
	prototypes for all of the functions in such a program.  It can
	also generate a sorted list of all functions and their
	locations.  cextract version 1.7 works with both {ANSI C} and
	{K&R C} and runs under {Unix} and {VMS}.

	Posted to comp.sources.reviewed.

	(1992-11-03)

cf

	<networking> The {country code} for the Central African
	Republic.

	(1999-01-27)

CFD

	{Computational Fluid Dynamics}

CFML

	{ColdFusion Markup Language}

cforth

	A {Forth} {interpreter}.

	Posted to comp.sources.unix volume 1.

	(1994-11-29)

cfortran.h

	<library> A {transparent}, machine independent interface
	between {C} and {Fortran} routines and {global data},
	developed by Burkhard Burow at CERN.  It provides {macros}
	which allow the {C} {preprocessor} to translate a simple
	description of a C (Fortran) routine or global data into a
	Fortran (C) interface.

	Version 2.6 runs on {VAX}/{VMS}/{Ultrix}, {DECstation},
	{Silicon Graphics}, {IBM} {RS/6000}, {Sun}, {Cray}, {Apollo},
	{HP9000}, {LynxOS}, {f2c}, {NAG f90}.

	{(ftp://zebra.desy.de/cfortran/)}.

	cfortran.h was reviewed in RS/Magazine November 1992 and a
	user's experiences with cfortran.h are described in the Jan 93
	issue of Computers in Physics.

	(1992-04-12)

CFP

	1. {Constraint Functional Programming}.

	2. {Communicating Functional Processes}.

	3. Call For Papers (for a conference).

CFP92

	{SPEC CFP92}

cg

	<networking> The {country code} for Congo.

	(1999-01-27)

CGA

	{Color Graphics Adapter}

CGGL

	{Code-Generator Generator Language}

CGI

	1. <web> {Common Gateway Interface}.

	2. <graphics> {computer-generated imagery}.

	3. <company> A French {software engineering} vendor in the US.

	4. <company> {Computer Generation Incorporated}.

cgi-bin

	{Common Gateway Interface}

CGI Joe

	<job, abuse> (From "GI Joe") A hard-core {CGI} script
	programmer with all the social skills and charisma of a
	plastic action figure.

	(1997-03-30)

CGI program

	{Common Gateway Interface}

CGI script

	{Common Gateway Interface}

CGM

	{Computer Graphics Metafile}

CGOL

	<language> A package providing {ALGOL}-like {surface syntax}
	for {MACLISP}, written by V.R. Pratt in 1977.

	{(ftp://mc.lcs.mit.edu/its/ai/lisp/cgol.fasl)}.

	["CGOL - An Alternative Exetrnal Representation for LISP
	Users", V.  Pratt, MIT AI Lab, Working Paper 89, 1976].

	(2005-01-07)

cgram

	<language> An {ANSI C} {LL1} or {LL2} {grammar} written in
	{Scheme} by Mohd Hanafiah Abdullah <napi@cs.indiana.edu>.  A
	program (f-f-d.s) extracts the FIRST/FOLLOW/DIRECTOR sets.

	{(ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z)}.

	(2005-01-07)

Ch

	<language> An {interpreted} programming language sold by {Soft
	Integration} and marketed for {scripting}, {shell programming}
	and graph plotting, it is a superset of {C++}.  Ch is also the
	name of Soft Integration's {interpreter} for the language.
	Currently the Ch interpreter is available for {Windows},
	{Solaris}, {HP-UX}, {Linux} and {Mac} platforms.

	{Soft Integration (http://softintegration.com/)}.

	(2003-08-15)

ch

	<networking> The {country code} for Switzerland.

	(1999-01-27)

chad

	<jargon, printer> /chad/ (Or "selvage" /sel'v*j/ (sewing and
	weaving), "{perf}", "perfory", "snaf").  1. The perforated
	edge strips on paper for {sprocket feed} printers, after they
	have been separated from the printed portion.

	The term {perf} may also refer to the perforations themselves,
	rather than the chad they produce when torn.

	[Why "snaf"?]

	2. (Or "chaff", "computer confetti", "keypunch droppings") The
	confetti-like bits punched out of {punched cards} or {paper
	tape} which collected in the {chad box}.

	One of the {Jargon File}'s correspondents believed that "chad"
	derived from the {chadless keypunch}.

	[{Jargon File}]

	(1997-07-18)

chad box

	<hardware> ({IBM} called this a "chip box") A metal box about
	the size of a lunchbox (or in some models a large
	wastebasket), for collecting the {chad} that accumulated in
	{Iron Age} {card punches}.  You had to open the covers of the
	card punch periodically and empty the chad box.

	The {bit bucket} was notionally the equivalent device in the
	{CPU} enclosure, which was typically across the room in
	another great grey-and-blue box.

	[{Jargon File}]

	(1996-11-20)

Chadless keypunch

	<hardware> A {card punch} which cut little U-shapes in
	{punched cards}, rather than punching out a circle or
	rectangle.  The U's made a hole when folded back.

	One of the {Jargon File}'s correspondents believed that the
	term "chad" derived from the {Chadless keypunch}.  Obviously,
	if the Chadless keypunch didn't make them, then the stuff that
	other keypunches made had to be "{chad}".  The assertion that
	the keypunch was named after its inventor is not supported by
	any record in US or UK patents or surname references.

	(2000-11-22)

chain

	1. <operating system> (From {BASIC}'s "CHAIN" statement) To
	pass control to a child or successor without going through the
	{operating system} {command interpreter} that invoked you.
	The state of the parent program is lost and there is no
	returning to it.  Though this facility used to be common on
	memory-limited {microcomputers} and is still widely supported
	for {backward compatibility}, the jargon usage is
	semi-obsolescent; in particular, {Unix} calls this {exec}.

	Compare with the more modern "{subshell}".

	2. <programming> A series of linked data areas within an
	{operating system} or {application program}.  "Chain rattling"
	is the process of repeatedly running through the linked data
	areas searching for one which is of interest.  The implication
	is that there are many links in the chain.

	3. <theory> A possibly infinite, non-decreasing sequence of
	elements of some {total ordering}, S

		x0 <= x1 <= x2 ...

	A chain satisfies:

		for all x,y in S, x <= y \/ y <= x.

	I.e. any two elements of a chain are related.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	[{Jargon File}]

	(1995-02-03)

Challenge-Handshake Authentication Protocol

	<networking, security, standard, protocol> (CHAP) An
	{authentication} scheme used by {PPP} servers to validate the
	identity of the originator of the connection upon connection
	or any time later.

	CHAP applies a three-way {handshaking} procedure.  After the
	link is established, the server sends a "challenge" message to
	the originator.  The originator responds with a value
	calculated using a {one-way hash function}.  The server checks
	the response against its own calculation of the expected hash
	value.  If the values match, the authentication is
	acknowledged; otherwise the connection is usually terminated.

	CHAP provides protection against {playback} attack through the
	use of an incrementally changing identifier and a variable
	challenge value.  The authentication can be repeated any time
	while the connection is open limiting the time of exposure to
	any single attack, and the server is in control of the
	frequency and timing of the challenges.  As a result, CHAP
	provides greater security then {PAP}.

	CHAP is defined in {RFC} 1334.

	(1996-03-05)

Chalmers University of Technology

	<body, education> A Swedish university founded in 1829
	offering master of science and doctoral degrees.  Research is
	carried out in the main engineering sciences as well as in
	technology related mathematical and natural sciences.  Five
	hundred faculty members work in more than 100 departments
	organised in nine schools.  Chalmers collaborates with the
	University of Göteborg.

	Around 8500 people work and study on the Chalmers campus,
	including around 500 faculty members and some 600 teachers and
	doctoral students.  About 4800 students follow the master
	degree programs.  Every year 700 Masters of Science in
	Engineering and in Architecture graduate from Chalmers, and
	about 190 PhDs and licentiates are awarded.  Some 40% of
	Sweden's engineers and architects are Chalmers graduates.

	About a thousand research projects are in progress and more
	than 1500 scientific articles and research reports are
	published every year.  Chalmers is a partner in 80 EC research
	projects.

	{(http://chalmers.se/Home-E.html)}.

	Address: S-412 96 Göteborg, Sweden.

	(1995-02-16)

change management

	<system management> Techniques that aid in evolution,
	composition and policy management of the design and
	implementation of an object or system.

	(1995-02-16)

changeover

	<programming> The time when a new system has been tested
	successfully and replaces the old system.

	(2003-11-12)

channel

	<chat> (Or "chat room", "room", depending on the system in
	question) The basic unit of group discussion in {chat} systems
	like {IRC}.  Once one joins a channel, everything one types is
	read by others on that channel.  Channels can either be named
	with numbers or with strings that begin with a "#" sign and
	can have topic descriptions (which are generally irrelevant to
	the actual subject of discussion).

	Some notable channels are "#initgame", "#hottub" and
	"#report".  At times of international crisis, "#report" has
	hundreds of members, some of whom take turns listening to
	various news services and typing in summaries of the news, or
	in some cases, giving first-hand accounts of the action
	(e.g. Scud missile attacks in Tel Aviv during the Gulf War in
	1991).

	[{Jargon File}]

	(1998-01-25)

channel associated signaling

	{in-band signalling}

channel hopping

	<chat> To rapidly switch channels on {IRC}, or a {GEnie} chat
	board.  This term may derive from the TV idiom, "channel
	surfing".

	[{Jargon File}]

	(1994-11-29)

channel op

	<messaging> /chan'l op/ (Or "{op}", "chan op", "chop") Someone
	who is endowed with privileges on a particular {IRC}
	{channel}.  These privileges include the right to {kick}
	users, to change various status bits and to make others into
	CHOPs.

	The full form, "channel operator", is almost never used.

	[{Jargon File}]

	(1998-01-08)

channel service unit

	<communications> (CSU) A type of {interface} used to connect a
	{terminal} or computer to a digital medium in the same way
	that a {modem} is used for connection to an analogue medium.

	A CSU is provided by the {communication carrier} to customers
	who wish to use their own equipment to retime and regenerate
	the incoming signals.  The customer must supply all of the
	transmit logic, receive logic and timing recovery in order to
	use the CSU, whereas a {digital service unit} DSU performs
	these functions.

	(1995-01-30)

channel service unit/data service unit

	<communications, hardware> (CSU/DSU, or "..digital..") A
	device that performs both the {channel service unit} (CSU) and
	{data service unit} (DSU) functions.  The Channel Service Unit
	(CSU) is used to terminate a {DS1} or {DS0} (56/64 kb/s)
	digital circuit.  It peforms {line conditioning}, protection,
	{loop-back} and timing functions.  The Data Service Unit (DSU)
	terminates the data circuit to the {Data Terminal Equipment}
	(DTE) and converts the customer's data stream into a bi-polar
	format for transmission.

	(2001-10-19)

chan op

	{channel op}

chaos

	<mathematics> A property of some {non-linear dynamic systems}
	which exhibit sensitive dependence on initial conditions.
	This means that there are initial states which evolve within
	some finite time to states whose separation in one or more
	dimensions of {state space} depends, in an average sense,
	exponentially on their initial separation.

	Such systems may still be completely {deterministic} in that
	any future state of the system depends only on the initial
	conditions and the equations describing the change of the
	system with time.  It may, however, require arbitrarily high
	precision to actually calculate a future state to within some
	finite precision.

	["On defining chaos", R. Glynn Holt
	<rgholt@voyager.jpl.nasa.gov> and D. Lynn Holt
	<lholt@seraph1.sewanee.edu>.
	{(ftp://mrcnext.cso.uiuc.edu/pub/etext/ippe/preprints/Phil_of_Science/Holt_and_Holt.On_Defining_Chaos)}]

	Fixed precision {floating-point} arithmetic, as used by most
	computers, may actually introduce chaotic dependence on
	initial conditions due to the accumulation of rounding errors
	(which constitutes a non-linear system).

	(1995-02-07)

CHAP

	{Challenge-Handshake Authentication Protocol}

char

	<programming> /keir/ or /char/; rarely, /kar/ character.
	Especially used by {C} programmers, as "char" is {C}'s
	typename for character data.

	[{Jargon File}]

	(1994-11-29)

character

	<character> An {atom} in a {character repertoire}.

	Compare with {glyph}.

	(1998-10-18)

character encoding

	<character> (Or "character encoding scheme") A mapping of
	{binary} values to {code positions} and back; generally a 1:1
	({bijective}) mapping.

	In the case of {ASCII}, this is generally a f(x)=x mapping:
	code point 65 maps to the byte value 65, and vice versa.  This
	is possible because ASCII uses only code positions
	representable as single bytes, i.e., values between 0 and 255,
	at most.  ({US-ASCII} only uses values 0 to 127, in fact.)

	{Unicode} and many {CJK} {coded character sets} use many more
	than 255 positions, requiring more complex mappings: sometimes
	the characters are mapped onto pairs of bytes (see {DBCS}).
	In many cases, this breaks programs that assume a one-to-one
	mapping of bytes to characters, and so, for example, treat any
	occurrance of the byte value 13 as a {carriage return}.  To
	avoid this problem, character encodings such as {UTF-8} were
	devised.

	(1998-10-18)

character encoding scheme

	{character encoding}

character graphics

	{ASCII art}

characteristic function

	<mathematics> The characteristic function of set returns True
	if its argument is an element of the set and False otherwise.

	(1995-04-13)

character key

	{key}

character repertoire

	<character> The set of all {characters} onto which a {coded
	character set} maps {integers} ({code positions}).

	For example, consider these two simple coded character sets:

	 Coded Character Set One:
	  integer 0  ->  the character "A"
	  integer 1  ->  the character "B"

	 Coded Character Set Two:
	  integer 0  ->  the character "B"
	  integer 1  ->  the character "A"

	Both of these coded character sets map to the characters "A"
	and "B", so they have the same character repertoire.  But
	since the mapping is different (and obviously incompatible),
	these are different coded character sets.

	(1998-12-17)

character set

	<character> 1. A particular mapping between {characters} and
	{byte strings}, i.e. the combination of a particular
	{character encoding} (which maps between byte strings and
	{integers}) and a particular {coded character set} (which maps
	between integers and characters).

	For example: {ASCII} (the ASCII coded character set, encoded
	directly as single-byte values), or {UTF-8} (the Unicode coded
	character set, encoded with an 8-bit transformation method).

	2. Occasionally: a {character repertoire}; or a {coded
	character set}.

	(1998-12-17)

character set identifier

	<character> (CSID) (IBM) A number that identifies a {character
	set}.

	(1995-03-21)

charge-coupled device

	<electronics> (CCD) A semiconductor technology used to build
	light-sensitive electronic devices such as cameras and image
	scanners.  CCDs can be made to detect either colour or
	black-and-white.  Each CCD chip consists of an array of
	light-sensitive photocells.  The photocell is sensitised by
	giving it an electrical charge prior to exposure.

	(2006-04-29)

CHARITY

	<language> A {functional language} based purely on {category
	theory} by Cockett, Spencer, and Fukushima, 1990-1991.

	A version for {Sun-4} is available from Tom Fukushima
	<fukushim@ucalgary.ca>.

	["About Charity", J.R.B. Cockett, U. Calgary, Canada, et al].

	(2000-10-30)

charityware

	{careware}

Charles Babbage

	<person> The british inventor known to some as the "Father of
	Computing" for his contributions to the basic design of the
	computer through his {Analytical Engine}.  His previous
	{Difference Engine} was a special purpose device intended for
	the production of mathematical tables.

	Babbage was born on December 26, 1791 in Teignmouth,
	Devonshire UK.  He entered Trinity College, Cambridge in 1814
	and graduated from Peterhouse.  In 1817 he received an MA from
	Cambridge and in 1823 started work on the Difference Engine
	through funding from the British Government.  In 1827 he
	published a table of {logarithms} from 1 to 108000.  In 1828
	he was appointed to the Lucasian Chair of Mathematics at
	Cambridge (though he never presented a lecture).  In 1831 he
	founded the British Association for the Advancement of Science
	and in 1832 he published "Economy of Manufactures and
	Machinery".  In 1833 he began work on the Analytical
	Engine. In 1834 he founded the Statistical Society of London.
	He died in 1871 in London.

	Babbage also invented the cowcatcher, the dynamometer,
	standard railroad gauge, uniform postal rates, occulting
	lights for lighthouses, Greenwich time signals, and the
	heliograph opthalmoscope.  He also had an interest in cyphers
	and lock-picking.

	[Adapted from the text by J. A. N. Lee, Copyright September
	1994].

	Babbage, as (necessarily) the first person to work with
	machines that can attack problems at arbitrary levels of
	{abstraction}, fell into a trap familiar to {toolsmiths}
	since, as described here by the English ethicist, Lord
	Moulton:

	"One of the sad memories of my life is a visit to the
	celebrated mathematician and inventor, Mr Babbage.  He was far
	advanced in age, but his mind was still as vigorous as ever.
	He took me through his work-rooms.  In the first room I saw
	parts of the original Calculating Machine, which had been
	shown in an incomplete state many years before and had even
	been put to some use.  I asked him about its present form.  'I
	have not finished it because in working at it I came on the
	idea of my {Analytical Machine}, which would do all that it
	was capable of doing and much more.  Indeed, the idea was so
	much simpler that it would have taken more work to complete
	the Calculating Machine than to design and construct the other
	in its entirety, so I turned my attention to the Analytical
	Machine.'"

	"After a few minutes' talk, we went into the next work-room,
	where he showed and explained to me the working of the
	elements of the Analytical Machine.  I asked if I could see
	it.  'I have never completed it,' he said, 'because I hit upon
	an idea of doing the same thing by a different and far more
	effective method, and this rendered it useless to proceed on
	the old lines.'  Then we went into the third room.  There lay
	scattered bits of mechanism, but I saw no trace of any working
	machine.  Very cautiously I approached the subject, and
	received the dreaded answer, 'It is not constructed yet, but I
	am working on it, and it will take less time to construct it
	altogether than it would have token to complete the Analytical
	Machine from the stage in which I left it.'  I took leave of
	the old man with a heavy heart."

	"When he died a few years later, not only had he constructed
	no machine, but the verdict of a jury of kind and sympathetic
	scientific men who were deputed to pronounce upon what he had
	left behind him, either in papers or in mechanism, was that
	everything was too incomplete of be capable of being put to
	any useful purpose."

	[Lord Moulton, "The invention of algorithms, its genesis, and
	growth", in G. C. Knott, ed., "Napier tercentenary memorial
	volume" (London, 1915), p.  1-24; quoted in Charles Babbage
	"Passage from the Life of a Philosopher", Martin
	Campbell-Kelly, ed. (Rutgers U. Press and IEEE Press, 1994),
	p. 34].

	Compare: {uninteresting}, {Ninety-Ninety Rule}.

	(1996-02-22)

Charles Simonyi

	<person> {Microsoft} {programmer}, most famously responsible
	for {Hungarian Notation}.

	Simonyi was born in Budapest in 1948, and for more than a
	decade was senior {programmer} at {Microsoft} in Redmond.

	(1999-05-25)

CHARM

	<language> An explicitly {parallel programming language} based
	on {C}, for both shared and nonshared {MIMD} computers.

	{(ftp://a.cs.uiuc.edu/pub/CHARM)}.

	Mailing list: <charm@cs.uiuc.edu>.

	["The CHARM(3.2) Programming Language Manual", UIUC, Dec
	1992].

	(2006-04-29)

CHARM++

	<language> An {object-oriented} {parallel programming} system,
	similar to {CHARM} but based on {C++}.

	{(ftp://a.cs.uiuc.edu/pub/CHARM/Charm++)}.

	E-mail: Sanjeev Krishnan <sanjeev@cs.uiuc.edu>.

	[TR 1796, UIUC].

	(1994-11-29)

Charme

	<language, logic, nondeterminism> A language with {discrete
	combinatorial constraint logic} aimed at industrial problems such
	as planning and {scheduling}.  Implemented in {C} at {Bull} in
	1989.

	Charme is an outgrowth of ideas from {CHIP}.  It is
	semantically {nondeterministic}, with choice and
	{backtracking}, similar to {Prolog}.

	["Charme Reference Manual", AI Development Centre, Bull,
	France 1990].

	(1994-11-15)

CHARYBDIS

	<mathematics, tool> A {Lisp} program to display
	mathematical expressions.  It is related to {MATHLAB}.

	[Sammet 1969, p. 522].

	(1994-11-15)

chase pointers

	<programming> To determine a chain of memory locations where
	each location holds a pointer to the next, starting from some
	initial pointer, e.g.  traversing a {linked list} or other
	{graph} structure.  This may be performed by a computer
	executing a program or by a programmer going through a {core
	dump} or using a debugger.

	[{Jargon File}]

	(2006-05-06)

CHASM

	{CHeap ASseMbler}

chat

	<chat, messaging> Any system that allows any number of
	logged-in users to have a typed, real-time, on-line
	conversation via a {network}.

	The medium of {chat} is descended from {talk}, but the terms
	(and the media) have been distinct since at least the early
	1990s.  {talk} is prototypically for a small number of people,
	generally with no provision for {channels}.  In {chat}
	systems, however, there are many {channels} in which any
	number of people can talk; and users may send private
	(one-to-one) messages.

	Some early chat systems (in use 1998) include {IRC}, {ICQ} and
	{Palace}.  More recent alternatives include {MSN Messenger}
	and {Google Talk}.

	Chat systems have given rise to a distinctive style combining
	the immediacy of talking with all the precision (and
	verbosity) that written language entails.  It is difficult to
	communicate inflection, though conventions have arisen to help
	with this.

	The conventions of chat systems include special items of
	jargon, generally abbreviations meant to save typing, which
	are not used orally.  E.g. {BCNU}, {BBL}, {BTW}, {CUL},
	{FWIW}, {FYA}, {FYI}, {IMHO}, {OT}, {OTT}, {TNX}, {WRT},
	{WTF}, {WTH}, {<g>}, {<gr&d>}, {BBL}, {HHOK}, {NHOH}, {ROTFL},
	{AFK}, {b4}, {TTFN}, {TTYL}, {OIC}, {re}.

	Much of the chat style is identical to (and probably derived
	from) {Morse code} jargon used by ham-radio amateurs since the
	1920s, and there is, not surprisingly, some overlap with {TDD}
	jargon.  Most of the jargon was in use in {talk} systems.
	Many of these expressions are also common in {Usenet} {news}
	and {electronic mail} and some have seeped into popular
	culture, as with {emoticons}.

	The {MUD} community uses a mixture of {emoticons}, a few of
	the more natural of the old-style {talk mode} abbreviations,
	and some of the "social" list above.  In general, though,
	MUDders express a preference for typing things out in full
	rather than using abbreviations; this may be due to the
	relative youth of the MUD cultures, which tend to include many
	touch typists.  Abbreviations specific to MUDs include:
	{FOAD}, ppl (people), THX (thanks), UOK? (are you OK?).

	Some {BIFF}isms (notably the variant spelling "d00d") and
	aspects of {ASCIIbonics} appear to be passing into wider use
	among some subgroups of MUDders and are already pandemic on
	{chat} systems in general.

	See also {hakspek}.

	{Suck article "Screaming in a Vacuum"
	(http://suck.com/daily/96/10/23/)}.

	(2006-05-31)

chatbot

	<chat> (Or "chatterbot") A {bot} meant to be able to interact
	conversationally with humans.  A chatbot is either an exercise
	in {AI} or merely an interface as in an {infobot}.

	One of the first and most famous chatterbots (prior to the
	Web) was {Eliza}.

	(1999-06-19)

chat room

	{channel}

chatterbot

	{chatbot}

CHeap ASseMbler

	<tool> (CHASM) A {shareware} {assembler} for {MS-DOS}.

	(1994-11-15)

cheapernet

	<networking> (Or "thinnet") A colloquial term for thin-wire
	{Ethernet} ({10base2}) that uses {RG58} {coaxial cable}
	instead of the full-spec "Yellow Cable".

	(1995-03-28)

checkdigit

	<data> A one-digit {checksum}.

Checkout Test language

	<language> (CTL)

	["Checkout Test Language: An Interpretive Language Designed
	for Aerospace Checkout Tasks", G.S. Metsker, Proc FJCC 33(2)
	1968].

	(1994-11-14)

checkpoint

	<programming> Saving the current state of a program and its
	data, including intermediate results, to disk or other
	{non-volatile storage}, so that if interrupted the program
	could be restarted at the point at which the last checkpoint
	occurred.

	This facility came into popular use in {mainframe} {operating
	systemss} such as {OS/360} in which programs frequently ran
	for longer than the mean time between system failures.  If a
	program run fails because of some event beyond the program's
	control (e.g. hardware or {operating system} failure) then the
	processor time invested before the checkpoint will not have
	been wasted.

	(1995-02-07)

checksum

	<storage, communications> A computed value which depends on
	the contents of a block of data and which is transmitted or
	stored along with the data in order to detect corruption of
	the data.  The receiving system recomputes the checksum based
	upon the received data and compares this value with the one
	sent with the data.  If the two values are the same, the
	receiver has some confidence that the data was received
	correctly.

	The checksum may be 8 bits (modulo 256 sum), 16, 32, or some
	other size.  It is computed by summing the bytes or words of
	the data block ignoring {overflow}.  The checksum may be
	negated so that the total of the data words plus the checksum
	is zero.

	{Internet} {packets} use a 32-bit checksum.

	See also {digital signature}, {cyclic redundancy check}.

	(1996-03-01)

chemist

	<jargon> (Cambridge) Someone who wastes computer time on
	{number crunching} when you'd far rather the computer were
	working out anagrams of your name or printing Snoopy calendars
	or running {life} patterns.  May or may not refer to someone
	who actually studies chemistry.

	[{Jargon File}]

	(1995-02-07)

Chen

	{Peter Chen}

CHEOPS

	<communications> A satellite-based batch data dissemination
	project between {CERN} and member state institutes.

	(2006-06-21)

Chernobyl packet

	<networking> /cher-noh'b*l pak'*t/ A {network} {packet} that
	induces a {broadcast storm} and/or {network meltdown}, named
	in memory of the April 1986 nuclear accident at Chernobyl in
	Ukraine.

	The typical scenario involves an {IP} {Ethernet} {datagram}
	that passes through a {gateway} with both source and
	destination {Ethernet address} and {IP address} set as the
	respective broadcast addresses for the subnetworks being gated
	between.

	Compare {Christmas tree packet}.

	[{Jargon File}]

	(2004-02-17)

chess

	<games> A two-player {game} with {perfect information}.

	{Usenet} newsgroup: {news:rec.games.chess}.

	See also {Internet Chess Server}.

	(1995-03-25)

CHI

	<language> A {wide spectrum language}, the forerunner of
	{Refine}.

	["Research on Knowledge-Based Software Environments at Kestrel
	Institute", D.R. Smith et al, IEEE Trans Soft Eng, SE-11(11)
	1985]

	(2006-07-11)

Chicago

	{Windows 95}

chicken head

	<graphics, abuse> The {Commodore} Business Machines logo,
	which strongly resembles a poultry part.  Rendered in {ASCII}
	as "C=".

	With the arguable exception of the {Amiga}, Commodore's
	computers are notoriously crocky little {bitty box}es (see
	also {PETSCII}).  Thus, this usage may owe something to Philip
	K. Dick's novel "Do Androids Dream of Electric Sheep?"  (the
	basis for the movie "Blade Runner"; the novel is now sold
	under that title), in which a "chickenhead" is a mutant with
	below-average intelligence.

	[{Jargon File}]

	(2006-07-12)

chicklet keyboard

	<spelling> It's spelled "{chiclet keyboard}".

	(1997-05-16)

chiclet keyboard

	<hardware, abuse> A {keyboard} with a small, flat rectangular
	or lozenge-shaped rubber or plastic keys that look like pieces
	of Chiclets chewing gum.  Used especially to describe the
	original {IBM PCjr} keyboard.  Vendors unanimously liked these
	because they were cheap, and a lot of early {portable} and
	{laptop computers} were launched with them.  Customers
	rejected the idea with almost equal unanimity, and chiclets
	are not often seen on anything larger than a digital watch any
	more.

	[{Jargon File}]

	(1997-05-16)

Chief Information Officer

	<job> (CIO) The person who determines the overall strategic
	direction and business contribution of the {information
	systems} function in a business.

	(2004-03-18)

child

	{daughter}

child process

	<operating system> A {process} created by another process (the
	{parent process}).  Each process may create many child
	processes but will have only one parent process, except for
	the very first process which has no parent.  The first
	process, called {init} in {Unix}, is started by the {kernel}
	at {boot time} and never terminates.  A child process inherits
	most of its attributes, such as open files, from its parent.
	In fact in Unix, a child process is created (using {fork}) as
	a copy of the parent.  The chid process can then overlay
	itself with a different program (using {exec}) as required.

	(1997-11-22)

child record

	<database> A {record} lower in the hierarchical tree than a
	parent record; it is also directly liked to the parent and
	hierarchical {databases}.

	(1995-04-13)

child version

	<system management> In {change management}, a {configuration item}
	derived by altering another item (its parent version).

	(2006-07-12)

CHILI

	<language> D.L. Abt. A language for {systems programming},
	based on {ALGOL 60} with extensions for {structures} and {type
	declarations}.

	["CHILI, An Algorithmic Language for Systems Programming",
	CHI-1014, Chi Corp, Sep 1975]

	(2006-07-12)

CHILL

	{CCITT HIgh-Level Language}

Chimera

	<web> A modular, {X Window System}-based
	{web browser} for {Unix}.  Chimera uses the
	{Athena} {widget} set so {Motif} is not needed.  It supports
	forms, inline images, {TERM}, {SOCKS}, {proxy servers},
	{Gopher}, {FTP}, {HTTP} and local file accesses.  Chimera can
	be extended using external programs.  New {protocols} can
	easily be added and alternate image formats can be used for
	inline images (e.g. {PostScript}).

	Version 1.60 is available for
	{(ftp://ftp.cs.unlv.edu/pub/chimera)}.

	{(http://unlv.edu/chimera/)}.

	Chimera runs on {Sun} {SPARC} {SunOS} 4.1.x, {IBM} {RS/6000}
	{AIX} 3.2.5, {Linux} 1.1.x.  It should run on anything with
	{X11}R[3-6], {imake} and a {C} compiler.

	(1994-11-08)

chine nual

	<documentation> /sheen'yu-*l/ (MIT) The {LISP Machine} Manual,
	so called because the title was wrapped around the cover so
	only those letters showed on the front.

	[{Jargon File}]

	(1994-12-02)

Chinese Army technique

	{Mongolian Hordes technique}

CHIP

	<language>

	1. An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(2004-09-14)

	2. {Constraint Handling In Prolog}.

chip

	{integrated circuit}

CHIP-48

	A reimplementation of {CHIP-8} for the {HP-48} calculator by
	Andreas Gustafson <gson@niksula.hut.fi>.

	Posted to {news:comp.sys.handhelds} in Sep 1990.

	{(ftp://vega.hut.fi/pub/misc/hp48sx/asap)}.

	(1994-12-02)

CHIP-8

	<language, games> A low-level {interpretive language} (really
	a high-level {machine code}) developed at {RCA} in the late
	1970s for {video games} on computers using {RCA}'s {CDP1802}
	processor.  It could also be used on the {DREAM 6800}.

	{Amiga interpreter
	(ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f5/ff537/CHIP8.lzh)}.

	(2002-04-09)

chip art

	{microchip art}

chip box

	{chad box}

chip creep

	<hardware> Gradual loosening of an {integrated circuit}
	("chip") in its {socket} as a result of expansion and
	contraction during the normal heating and cooling cycles of an
	electronic system, combined with vibration, e.g. due to
	cooling fans.  The chip can loosen to the point that poor
	electrical contact between chip and socket reduces the signal
	quality, causing failure.  Pushing chips back into their
	sockets can cure such symptoms temporarily.  Permanent
	solutions include soldering chips directly to the {PCB} and
	clipping the component into the socket (as on some {in-line
	memory modules}).

	The same phenomenon can affect anything plugged into a socket
	but not held securely in place, e.g. a {circuit board} plugged
	into an {edge connector} on a {motherboard} or {backplane} can
	suffer "card creep".

	(2007-06-19)

chip graffiti

	{microchip art}

Chip Jewelry

	<jargon> A euphamism for old computers destined to be scrapped
	or turned into decorative ornaments.  "I paid three grand for
	that {Mac SE}, and now it's nothing but chip jewelry."

	(1997-03-30)

Chip Scale Packaging

	<hardware> (CSP) A type of {surface mount} {integrated
	circuit} packaging that provides pre-speed-sorted, pre-tested
	and pre-packaged {die} without requiring special testing.  An
	example is {Motorola}'s {Micro SMT} packaging.

	See also: {chip-on-board}, {flip chip}, {multichip module},
	{known good die}, {ball grid array}.

	["Chip scale packaging gains at SMI. (Surface Mount
	International)", Bernard Levine, Electronic News (1991), Sept
	4, 1995 v41 n2081 p1(2)].

	(2006-08-14)

chip set

	<hardware> A collection of {integrated circuits} that are
	designed to be used together for some specific purpose.
	E.g. control circuitry in an {IBM PC}.

	(1995-03-27)

Chips & Technologies

	<company> A former leading distributor and supplier of
	{integrated circuits} and {software} to {personal computer}
	manufacturers.  As well as semiconductors they also made {flat
	panel displays}, {video controllers} and other computer
	related products.

	In 1998, {Intel Corporation} bought Chips and Technologies for
	their flat panel controllers.  In January 2000, {Asiliant
	Technologies} licensed the rights from Intel to continue to
	manufacturer and sell Chips and Technologies components.

	Address: 2950 Zanker Road, San Jose, California 95134, USA.

	(2006-09-19)

CHISEL

	<language> An extension of {C} for {VLSI} design, implemented
	as a C {preprocessor}.  It produces {CIF} as output.

	["CHISEL - An Extension to the Programming language C for VLSI
	Layout", K. Karplus, PHD Thesis, Stanford U, 1982].

	(2006-09-19)

chm

	{Compiled HTML}

chmod

	<file system> ("Change mode") The {Unix} command and {system
	call} to change the access {permissions} of a named file.
	Each file (directory, device, etc.) has nine kinds of access
	which can be allowed or denied.  Different permissions apply
	to the owner of the file, the members of the group the file
	belongs to, and all users.  Each of these classes of user
	(owner, group and other) can have permission to read, write or
	execute the file.  Chmod can also set various other mode bits
	for a file or directory such as the {sticky bit} and the {set
	user id} bit.

	Unix {man} page: chmod

	(1995-01-31)

CHOCS

	<language> A generalisation of {CCS}.

	["A Calculus of Higher-Order Communicating Systems",
	B. Thomsen, 16th POPL pp. 143-154, 1989].

	(2006-09-20)

choke

	<jargon> To fail to process input or, more generally, to fail
	at any endeavor.

	E.g. "NULs make System V's "lpr(1)" choke."  See {barf},
	{gag}.

	[{Jargon File}]

	(2006-09-20)

chomp

	<jargon> To fail.

	(1996-06-01)

CHOP

	{channel op}

Chop

	<language, tool> A {code generator} by Alan L. Wendt
	<wendt@CS.ColoState.EDU> for the {lcc} {C} compiler {front
	end}.  Version 0.6 is interfaced with Fraser and Hanson's
	{lcc} {front end}.  The result is a {C} compiler with good
	code selection but no {global optimisation}.  In 1993, Chop
	could compile and run small test programs on the {VAX}.  The
	{National Semiconductor 32000} and {Motorola 68000} code
	generators are being upgraded for {lcc} compatibility.

	{(ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z)}.

	["Fast Code Generation Using Automatically-Generated Decision
	Trees", ACM SIGPLAN '90 PLDI].

	(1993-04-28)

Chorus

	<operating system> A distributed {operating system} developed
	at {INRIA}.

	(2006-09-20)

Christmas tree

	<hardware, jargon> A kind of {EIA-232} {line tester} or
	{breakout box} featuring rows of blinking red and green {LEDs}
	suggestive of Christmas lights.

	[{Jargon File}]

	(2006-09-20)

Christmas tree packet

	<networking> (Or kamikaze packet) A {packet} with every single
	option set for whatever {protocol} is in use.  The term
	doubtless derives from a fanciful image of each little option
	bit being represented by a different-coloured light bulb, all
	turned on.

	{RFC 1025}, "TCP and IP Bake Off" says:

	10 points for correctly being able to process a "Kamikaze"
	packet (AKA {nastygram}, Christmas tree packet, lamp test
	segment, et al.).  That is, correctly handle a segment with
	the maximum combination of features at once (e.g. a SYN URG
	PUSH FIN segment with options and data).

	Compare: {Chernobyl packet}.

	[{Jargon File}]

	(1994-11-09)

Christopher Strachey

	<person> Professor of Computation at Oxford, England, born
	1916, died May 1975.  He invented the term "{currying}".

	See also: {General Purpose Macro-generator}.

	(1998-06-29)

chromatic number

	<mathematics> The smallest number of colours necessary to
	colour the nodes of a {graph} so that no two adjacent nodes
	have the same colour.

	See also: {four colour map theorem}.

	{Graph Theory Lessons
	(http://utc.edu/~cpmawata/petersen/lesson8.htm)}.

	{Eric Weisstein's World Of Mathematics
	(http://mathworld.wolfram.com/ChromaticNumber.html)}.

	{The Geometry Center
	(http://geom.umn.edu/~zarembe/grapht1.html)}.

	(2000-03-18)

chrome

	<jargon> (From automotive slang via wargaming) Showy
	{features} added to attract users but contributing little or
	nothing to the power of a system.

	"The 3D icons in {Motif} are just chrome, but they certainly
	are *pretty* chrome!"

	Chrome is distinguished from {bells and whistles} by the fact
	that the latter are usually added to gratify developers' own
	desires for featurefulness.  Often used as a term of contempt
	and sometimes used in conjunction with 'fluff', "all the fluff
	and chrome that comes with Motif".

	[{Jargon File}]

	(1997-09-19)

chroot

	<operating system> The {UNIX} command to make the {root
	directory} (/) become something other than its default for the
	lifetime of the current process.  It can only be run by
	privileged users and is used to give a process (commonly a
	network server such as {FTP} or {HTTP}) access to a restricted
	portion of the {file system}.

	The new root contains copies of all the essential files and
	directories, e.g. /lib, /dev/tty, /tmp.

	(1996-12-08)

CHRP

	{PowerPC Platform}

chug

	<jargon> To run slowly; to {grind} or {grovel}.  "The disk is
	chugging like crazy."

	[{Jargon File}]

	(1995-03-25)

chug report

	<humour> From "chug" - to drink heavily.  A {bug report} whose
	the submitter is thought to have had one too many.  Not as bad
	as a {drug report}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2011-12-03)

chunker

	<programming> A program like {Unix}'s "split" which breaks an
	input file into parts, usually of a pre-set size, e.g. the
	maximum size that can fit on a {floppy}.  The parts can then
	be assembled with a {dechunker}, which is usually just the
	chunker in a different mode.

	(1998-12-15)

Church, Alonzo

	{Alonzo Church}

Church integer

	<theory> A representation of integers as functions invented by
	{Alonzo Church}, inventor of {lambda-calculus}.  The integer N
	is represented as a {higher-order function} which applies a
	given function N times to a given expression.  In the {pure
	lambda-calculus} there are no constants but numbers can be
	represented by Church integers.

	A {Haskell} function to return a given Church integer could be
	written:

		church n = c
			   where
			   c f x = if n == 0 then x else c' f (f x)
				   where
				   c' = church (n-1)

	A function to turn a Church integer into an ordinary integer:

		unchurch c = c (+1) 0

	See also {von Neumann integer}.

	(1994-11-29)

Church of the SubGenius

	<body, humour> A mutant offshoot of {Discordianism} launched
	in 1981 as a spoof of fundamentalist Christianity by the
	"Reverend" Ivan Stang, a brilliant satirist with a gift for
	promotion.  Popular among hackers as a rich source of bizarre
	imagery and references such as "Bob" the divine
	drilling-equipment salesman, the Benevolent Space Xists, and
	the Stark Fist of Removal.  Much SubGenius theory is concerned
	with the acquisition of the mystical substance or quality of
	{slack}.

	{(http://sunsite.unc.edu/subgenius/slack.html)}.

	(1996-01-02)

Church-Rosser Theorem

	<theory> A property of a {reduction} system that states that
	if an expression can be reduced by zero or more reduction
	steps to either expression M or expression N then there exists
	some other expression to which both M and N can be reduced.
	This implies that there is a unique {normal form} for any
	expression since M and N cannot be different normal forms
	because the theorem says they can be reduced to some other
	expression and normal forms are irreducible by definition.  It
	does not imply that a normal form is reachable, only that if
	reduction terminates it will reach a unique normal form.

	(1995-01-25)

ci

	<networking> The {country code} for Cote d'Ivoire (the Ivory
	Coast).

	[{Jargon File}]

	(1999-01-27)

CI$

	{CompuServe Information Service}

CICERO

	<project> Control Information system Concepts based on
	Encapsulated Real-time Objects.

	A {CERN} {DRDC} proposal.

	(1995-01-25)

Cichlid

	<graphics, tool> A tool for rapidly visualising arbitrary data
	in high-quality 3D, while allowing the viewer to explore and
	interact with the data in {real time}.  Cichlid was designed
	with remote data generation and machine independence in mind;
	data is transmitted via {TCP} from any number of sources (data
	servers) to the visualisation code (the client), which
	displays them concurrently.

	[Who?  URL?]

	(2004-01-22)

CICS

	{Customer Information Control System}

CID

	{Caller ID}

CIDR

	{Classless Inter-Domain Routing}

CIEL

	<language> An {object-oriented} {Prolog}-like language.

	["CIEL: Classes et Instances En Logique", M. Gandriau, Thesis
	ENSEEIHT, 1988].

	(1995-01-25)

CIF

	{Caltech Intermediate Form}

CIFS

	{Common Internet File System}

Cigale

	<language, tool> A {parser generator} language with extensible
	{syntax}.

	["CIGALE: A Tool for Interactive Grammar Construction and
	Expression Parsing", F. Voisin, Sci Comp Prog 7:61-86, 1986].

	(1999-01-14)

CIL

	1. <project> {Component Integration Laboratories}.

	2. <language> {Common Intermediate Language}.

CIM

	1. <application> {Computer Integrated Manufacturing}.

	2. <standard> {Common Information Model}.

CIMS PL/I

	<language> A {PL/I} subset from the Courant Institute of
	Mathematical Sciences.

	["CIMS PL/I", P.W. Abrahams, Courant Inst].

	(1997-12-15)

Cinderella Book

	<publication> "Introduction to Automata Theory, Languages, and
	Computation", by John Hopcroft and Jeffrey Ullman,
	(Addison-Wesley, 1979).  So called because the cover depicts a
	girl (putatively Cinderella) sitting in front of a Rube
	Goldberg device and holding a rope coming out of it.  On the
	back cover, the device is in shambles after she has
	(inevitably) pulled on the rope.

	See also {book titles}.

	[{Jargon File}]

	(1996-12-03)

CINT92

	{SPEC CINT92}

C-Interp

	An {interpreter} for a small subset of {C}, originally part of
	a communications package.

	{(ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit)}.  E-mail:
	Chuck Shotton <cshotton@oac.hsc.uth.tmc.edu>.

	(1993-05-14)

CIO

	{Chief Information Officer}

ciphertext

	<cryptography> Text which has been encrypted by some
	{encryption} system.

	Opposite: {plaintext}.

	(1994-10-27)

CIP-L

	{CIP Language}

CIP Language

	language> (CIP-L, Computer-aided Intuition-guided Programming
	Language) A {wide-spectrum language} for incremental {program
	transformation}.  There are {ALGOL}- and {Pascal}-like
	variants.

	["The Munich Project CIP, v.I: The Wide Spectrum Language
	CIP-L", LNCS 183, Springer 1984.  Version: CIP85].

	(2006-09-20)

CIR

	{Committed Information Rate}

CIRCAL

	{CIRcuit CALculus}

circuit

	1. <communications> A communications path in a {circuit
	switching} network.

	2. <electronics> A complete path through which an electric
	current can flow.

	The term is used loosely for any device or subsystem using
	electrical or electronic components.  E.g. "That lightning
	bolt fried the circuits in my GPS receiver".  An {integrated
	circuit} (IC) contains components built on a Silicon {die}.

	(2002-07-15)

CIRcuit CALculus

	(CIRCAL) A {process algebra} used to model and verify the
	design correctness of {concurrent} systems such as {digital
	logic}.

	["CIRCAL and the Representation of Communication, Concurrency
	and Time", G.J. Milne <milne@cis.unisa.edu.au>, ACM TOPLAS
	7(2):270-298, 1985].

	(2001-03-25)

circuit switch

	{circuit switching}

circuit switched

	{circuit switching}

circuit switching

	<communications> Communication via a single dedicated path
	between the sender and receiver.  The telephone system is an
	example of a circuit switched network.

	The term {connection-oriented} is used in {packet}-based
	networks in contrast to {connectionless} communication or
	{packet switching}.

	(2006-09-20)

circular buffer

	<programming> An area of {memory} used to store a continuous
	stream of data by starting again at the beginning of the
	buffer after reaching the end.  A circular buffer is usually
	written by one process and read by another.  Separate read and
	write {pointers} are maintained.  These are not allowed to
	pass each other otherwise either unread data would be
	overwritten or invalid data would be read.

	A circuit may implement a {hardware circular buffer}.

	(2000-06-17)

Cirrus Logic

	<company> A manufacturer of {integrated circuits} including
	the {Advanced RISC Machine} and display interface processors
	and cards for use as {Windows accelerators} (requiring
	dedicated driver software).

	{(http://cirrus.com/)}.

	[Other products?]

	(1996-10-13)

CIS

	1. <standard, programming> {Case Integration Services}.

	2. <networking> {Cooperative Information System}.

	3. <business> {Customer Interaction Software},
	{Customer Information Systems}.

CISC

	{Complex Instruction Set Computer}

Cisco Systems, Inc.

	<company> {Ethernet} hardware manufacturers.

	{(http://cisco.com/)}.

	Address: 170 West Tasman Drive, San Jose, CA 95134-1706, USA.
	Telephone: +1 408 526 4000, +1 800 553 6387.  Fax: +1 408 526
	4100.

	(1995-04-19)

CISI

	<company> A French software producer.

	(2006-09-20)

CITRAN

	<language> {Caltech}'s answer to {MIT}'s {JOSS}.

	[Sammet 1969, p. 217].

	(2006-09-20)

CityScape

	<company> A re-seller of {Internet} connections to the {PIPEX}
	{backbone}.

	E-Mail: <sales@cityscape.co.uk>.

	Address: CityScape Internet Services, 59 Wycliffe Rd.,
	Cambridge, CB1 3JE, England.  Telephone: +44 (1223) 566 950.

	(1994-11-08)

CIX

	1. <networking> {Commercial Internet Exchange}.

	2. <messaging> {Compulink Information eXchange}.

CJK

	<character> In {internationalisation}, a collective term for
	Chinese, Japanese, and Korean.

	The characters of these languages are all partly based on {Han
	characters} (i.e., "hanzi" or "{kanji}"), which require 16-bit
	{character encodings}.  CJK character encodings should consist
	minimally of {Han characters} plus language-specific phonetic
	scripts such as pinyin, bopomofo, hiragana, hangul, etc.

	{CJKV} is CJK plus {Vietnamese}.

	{(ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf)}.

	(2001-01-01)

CJKV

	<character> {CJK} plus {Vietnamese}.  Vietnamese, like the
	other three CJK languages, requires 16-bit {character
	encodings} but it does not use {Han characters}.

	["CJKV Information Processing: Chinese, Japanese, Korean &
	Vietnamese Computing", Ken Lunde, pub. O'Reilly 1998,
	{(http://oreilly.com/catalog/cjkvinfo/)}].

	(2001-03-18)

ck

	<networking> The {country code} for the Cook Islands.

	(1999-01-27)

CL

	<language>

	1. {Control Language}.

	2. {Clausal Language}.

cl

	<networking> The {country code} for Chile.

	(1999-01-27)

CLAM

	<mathematics, tool> A system for {symbolic mathematics},
	especially General Relativity.  It was first implemented in
	{ATLAS} {assembly language} and later {Lisp}.

	See also {ALAM}.

	["CLAM Programmer's Manual", Ray d'Inverno & Russell-Clark,
	King's College London, 1971].

	(1994-11-08)

C Language Integrated Production System

	<language> (CLIPS) A language produced by Gary Riley of NASA
	{JSC} in Houston, Texas, for developing {expert systems}, with
	the inferencing and representation capabilities of {OPS5} and
	support for {forward chaining} rule-based, {object-oriented}
	and {procedural} programming.  CLIPS has a {Lisp}-like
	{syntax}.  It is available for {MS-DOS} and comes with source
	code in {C}.

	COSMIC, U Georgia, (404) 542-3265.  Austin Code Works
	<info@acw.com> (512) 258-0785.

	Versions include CLIPS 5.1, CLIPS/Ada 4.3 and CLIPS6.0 (see
	{PCLIPS}).

	{(http://jsc.nasa.gov/~clips/CLIPS.html)}.

	E-mail: <service@cossack.cosmic.uga.edu>.

	Telnet: cosmic.uga.edu, user: cosline.

	{U. Michigan
	(ftp://earth.rs.itd.umich.edu/mac.bin/etc/compsci/Clips/)},
	{ENSMP, France (ftp://ftp.ensmp.fr/pub/clips/)}.

	["Expert Systems: Principles and Programming", Joseph
	Giarratano and Gary Riley, PWS Publ 1994, ISBN 0-534-93744-6].

	(1994-12-16)

Clarify

	<company> A software vendor, specialising in {Customer
	Relationship Management} software.  {Nortel Networks} sold
	Clarify to {Amdocs} in 2002.

	{(http://amdocsclarify.com/)}.

	(2003-06-20)

Clarion

	<language> A family of systems from {SoftVelocity, Inc.} for
	building {database} applications on {Microsoft Windows}.
	Clarion products include Clarion 4GL language with a {C++} and
	{Modula-2} {compiler}.  Clarion products support fast,
	efficient database application development.  Clarion was
	originally developed by Clarion Software Corporation, later to
	become TopSpeed Corporation.  In 2000, the Clarion product
	line was acquired by SoftVelocity Inc.

	(2003-10-15)

Claris

	<company> A subsidiary company of {Apple Computer, Inc.}.  In
	January 1998, Apple restructured Claris to concentrate on
	their {FileMaker} line of {database} {software} and changed
	the company's name to {FileMaker, Inc.}.

	(1998-02-18)

CLASP

	{Computer Language for AeronauticS and Programming}

class

	1. <programming> The prototype for an {object} in an
	{object-oriented language}; analogous to a {derived type} in a
	{procedural language}.  A class may also be considered to be a
	set of objects which share a common structure and behaviour.
	The structure of a class is determined by the {class
	variables} which represent the {state} of an object of that
	class and the behaviour is given by a set of {methods}
	associated with the class.

	Classes are related in a {class hierarchy}.  One class may be
	a specialisation (a "{subclass}") of another (one of its
	"{superclasses}") or it may be composed of other classes or it
	may use other classes in a {client-server} relationship.  A
	class may be an {abstract class} or a {concrete class}.

	See also {signature}.

	2. <programming> See {type class}.

	3. <networking> One of three types of {Internet addresses}
	distinguished by their most significant bits.

	3. <language> A language developed by the {Andrew Project}.
	It was one of the first attempts to add {object-oriented}
	features to {C}.

	(1995-05-01)

Class 5 switch

	<communications> The lowest designation used in {AT&T}'s
	hierarchical {General Toll Switching Plan}, developed in 1929.

	(2013-09-14)

class hierarchy

	<programming> In {object-oriented programming}, a set of {classes}
	related by {inheritance}.  Each class is a "subclass" of another
	class - its "superclass".  The subclass contains all the features
	of its superclass, but may add new features or redefine existing
	features.  The features of a class are the set of {attributes} (or
	"properties") that an object of that class has and the {methods}
	that can be invoked on it.

	If each class has a just one superclass, this is called {single
	inheritance}.  The opposite is {multiple inheritance}, under which
	a class may have multiple superclasses.  Single inheritance gives
	the class hierarchy a {tree} structure whereas multiple
	inheritance gives a {directed graph}.  Typically there is one
	class at the top of the hierarchy which is the "object" class, the
	most general class that is an ancestor of all others and which has
	no superclass.

	In computing, as in genealogy, trees grow downwards, which is why
	subclasses are considered to be "below" their superclasses.

	When {invoking a method} on an {object}, the method is first
	looked for in the object's class, then the superclass of that
	class, and so on up the hierarchy until it is found.  Thus a class
	need only define those methods which are specific to it and it
	will inherit all other methods from all its superclasses.  An
	object of the subclass can do everything that an object of the
	superclass can and possible more.

	{C++} calls the superclass the "base class" and the subclass the
	"derived class" (not to be confused with a {derived type}).

	(2014-09-06)

classic

	<jargon> An adjective used before or after a noun to describe
	the original version of something, especially if the original
	is considered to be better.

	Examples include "Star Trek Classic" - the original TV series
	as opposed to the films, ST The Next Generation or any of the
	other spin-offs and follow-ups; or "PC Classic" - {IBM}'s
	{ISA}-bus computers as opposed to the {PS/2} series.

	(1996-10-27)

Classic-Ada

	<language> An {object-oriented} extension to {Ada}, said to be
	like {Smalltalk}.  It is implemented as an {Ada}
	{preprocessor}.

	(1994-12-05)

classical logic

	<logic> Non-{intuitionistic logic}.

	(1995-04-13)

Classic C

	{K&R C}

Classless Inter-Domain Routing

	<networking> (CIDR) /sid*r/ A technique that summarises a
	block of {Internet addresses} in a {routing table} as an
	address in {dotted decimal notation} followed by a {forward
	slash} and a two-digit decimal number giving the number of
	leading one bits in the subnet mask.  For example,
	123.123.123.0/24 specifies a subnet mask of
	11111111.11111111.11111111.00000000 (binary), implying the
	block of addresses 123.123.123.0 through 123.123.123.255.

	CIDR is "classless" because it is not limited to the subnet
	masks specified by {Internet address} classes A, B and C.

	According to {RFC 1519}, CIDR was implemented to distribute
	Internet address space more efficiently and to provide a
	mechanism for {IP route aggregation}.  This in turn reduces
	the number of entries in IP routing tables, enabling faster,
	more efficient routing, e.g. using {routing} {protocols} such
	as {OSPF}.  CIDR is supported by {BGP4}.

	See also {RFC 1467}, {RFC 1518}, {RFC 1520}.

	(2006-01-26)

class library

	<programming> A {library} of reusable {class}es for use with
	an {object-oriented programming} system.

	(1994-12-05)

class method

	<programming> 1. A {method} that operates on a {class object} (an
	{object} of {class} "class").  A class method is really just an
	ordinary {object method} that happens to operate on class objects.

	A class method might, for example, return a list of objects
	representing the methods and attributes of the given class.

	2. A {static method}.

	(2014-09-06)

class object

	<programming> In {object-oriented programming}, an {object} of
	{class} "class" that represents a {class} at {run time}.  The
	existence of class objects allows {introspection} - the ability
	for a program to discover and modify attributes of its own code.
	(See {self-modifying code}).

	A class object may also be used for "housekeeping" tasks like
	keeping count of how many objects of the class have been created,
	though this may also be done by some kind of {collection} object.

	A {class method} is a {method} that operates on class objects.

	(2014-09-06)

Class Oriented Ring Associated Language

	<language> (CORAL) A language developed by L.G. Roberts at
	{MIT} in 1964 for graphical display and systems programming on
	the {TX-2}.  It used "rings" (circular lists) from
	{Sketchpad}.

	["Graphical Communication and Control Languages",
	L.B. Roberts, Information System Sciences: Proc Second
	Congress, 1965].

	[Sammet 1969, p.462].

	(1994-11-30)

Class-Relation Method

	<programming> A design technique based on the concepts of
	{object-oriented programming} and the {Entity-Relationship
	model} from the French company {Softeam}.

	(1994-12-05)

Clausal Language

	<language> (CL) A programming language and {proof system}
	developed by Paul Voda and a colleague since 1997, written in
	{Trilogy} II.

	{Paul Voda Home (http://fmph.uniba.sk/~voda)}.

	(2002-05-28)

clause

	1. <logic> A {logical formula} in {conjunctive normal form},
	which has the {schema}

	 p1 ^ ...^ pm => q1 V ... V qn.

	or, equivalently,

	 ~p1 V ... V ~pn V q1 V ... V qn,

	where pi and qi are {atoms}.

	The operators ~, ^, V, => are {connectives}, where ~ stands
	for {negation}, ^ for {conjunction}, V for {disjunction} and
	=> for {implication}.

	2. <grammar> A part of a sentence (or programming language
	statement) that does not constitute a full sentence, e.g. an
	adjectival clause in human language or a WHERE clause in a
	{SQL} statement.

	(2004-05-28)

Clean

	<language> A {lazy} {higher-order} {purely functional
	language} from the {University of Nijmegen}.  Clean was
	originally a subset of {Lean}, designed to be an experimental
	{intermediate language} and used to study the {graph
	rewriting} model.  To help focus on the essential
	implementation issues it deliberately lacked all {syntactic
	sugar}, even {infix} expressions or {complex lists},

	As it was used more and more to construct all kinds of
	applications it was eventually turned into a general purpose
	functional programming language, first released in May 1995.
	The new language is {strongly typed} (Milner/Mycroft type
	system), provides {modules} and {functional I/O} (including a
	{WIMP} interface), and supports {parallel processing} and
	{distributed processing} on {loosely coupled} parallel
	architectures.  Parallel execution was originally based on the
	{PABC} {abstract machine}.

	It is one of the fastest implementations of functional
	languages available, partly aided by programmer {annotations}
	to influence evaluation order.

	Although the two variants of Clean are rather different, the
	name Clean can be used to denote either of them.  To
	distinguish, the old version can be referred to as Clean 0.8,
	and the new as Clean 1.0 or Concurrent Clean.

	The current release of Clean (1.0) includes a compiler,
	producing code for the {ABC} {abstract machine}, a {code
	generator}, compiling the ABC code into either {object-code}
	or {assembly language} (depending on the {platform}), I/O
	libraries, a {development environment} (not all platforms),
	and {documentation}.  It is supported (or will soon be
	supported) under {Mac OS}, {Linux}, {OS/2}, {Windows 95},
	{SunOS}, and {Solaris}.

	{(http://cs.kun.nl/~clean/)}.  E-mail:
	<clean@cs.kun.nl>.  Mailing list: <clean-request@cs.kun.nl>.

	["Clean - A Language for Functional Graph Rewriting", T. Brus
	et al, IR 95, U Nijmegen, Feb 1987].

	["Concurrent Clean", M.C. van Eekelen et al, TR 89-18, U
	Nijmegen, Netherlands, 1989].

	[{Jargon File}]

	(1995-11-08)

clean

	<jargon>

	1. Used of hardware or software designs, implies "elegance in
	the small", that is, a design or implementation that may not
	hold any surprises but does things in a way that is reasonably
	intuitive and relatively easy to comprehend from the outside.
	The antonym is "grungy" or {crufty}.

	2. To remove unneeded or undesired files in a effort to reduce
	clutter: "I'm cleaning up my account."  "I cleaned up the
	garbage and now have 100 Meg free on that partition."

	[{Jargon File}]

	(1994-12-12)

cleanroom

	<programming> A software development approach aimed at
	producing software with the minimum number of {errors}.

	(1994-12-12)

CLEAR

	<language> A {specification language} based on {initial
	algebras}.

	["An Informal Introduction to Specification Using CLEAR",
	R.M. Burstall in The Correctness Problem in Computer Science,
	R.S. Boyer et al eds, Academic Press 1981, pp. 185-213].

	(1994-11-03)

clear box testing

	{white box testing}

Clear Language for Expressing Orders

	<language> (CLEO) A language developed by {ICL} in the 1960s
	and used until early 1972 on {Leo} III {mainframes}.

	(1994-11-03)

CLEO

	{Clear Language for Expressing Orders}

CLHEP

	<library> A {C++} {class library} for high energy physics
	{applications}.

	(1994-12-12)

CLI

	1. <operating system> {Command Line Interface}.

	2. <database, standard> {Call-Level Interface}.

CLiCC

	<language> A {Common Lisp} to {C} compiler by Heinz Knutzen
	<hk@informatik.uni-kiel.de>, Ulrich Hoffman
	<uho@informatik.uni-kiel.de> and Wolfgang Goerigk
	<wg@informatik.uni-kiel.de>.  CLiCC is meant to be used as a
	supplement to existing {CLISP} systems for generating
	{portable} {applications}.  Target {C} code must be linked
	with the CLiCC {run-time library} to produce an {executable}.

	Version 0.6.2 conforms to a subset of {Common Lisp} and {CLOS}
	called {CL_0} or {CommonLisp_0} and based on {CLtL1}.  It runs
	with {Lucid Lisp}, {AKCL} or {CLISP}.  Work on {CLtL2} and
	{ANSI-CL} conformance is in progress.

	{(ftp://ftp.informatik.uni-kiel.de/pub/kiel/apply/)}.

	(1994-01-04)

click

	<hardware> To press and release a {button} on a {mouse} or
	other {pointing device}.  This generates an {event}, also
	specifying the screen position, which is processed by the
	{window manager} or {application program}.

	On a mouse with more than one button, the unqualified term
	usually implies pressing the left-most button (with the right
	index finger), other buttons would be qualified,
	e.g. "{right-click}".  Multiple clicks in quick succession,
	e.g. a double-click, often have a different meaning from slow
	single clicks.  {Keyboard} modifiers may also be used,
	e.g. "shift-click", meaning to hold down the shift key on the
	keyboard while clicking the mouse button.

	If the mouse moves while the button is pressed then this is a
	{drag}.

	(1995-03-14)

client

	<programming> A computer system or process that requests a
	service of another computer system or process (a "{server}")
	using some kind of {protocol} and accepts the server's
	responses.  A client is part of a {client-server} software
	architecture.

	For example, a {workstation} requesting the contents of a file
	from a {file server} is a client of the file server.

	(1997-10-27)

client-server

	<programming> A common form of {distributed system} in which
	software is split between {server} tasks and {client} tasks.
	A client sends requests to a server, according to some
	{protocol}, asking for information or action, and the server
	responds.

	This is analogous to a customer (client) who sends an order
	(request) on an order form to a supplier (server) who
	despatches the goods and an invoice (response).  The order
	form and invoice are part of the "protocol" used to
	communicate in this case.

	There may be either one centralised server or several
	distributed ones.  This model allows clients and servers to be
	placed independently on {nodes} in a {network}, possibly on
	different {hardware} and {operating systems} appropriate to
	their function, e.g. fast server/cheap client.

	Examples are the name-server/name-resolver relationship in
	{DNS}, the file-server/file-client relationship in {NFS} and
	the screen server/client application split in the {X Window
	System}.

	{Usenet} newsgroup: {news:comp.client-server}.

	["The Essential Client/Server Survival Guide", 2nd edition,
	1996].

	(1998-01-25)

client/server

	{client-server}

Client-Server Analyst Programmer

	<job> A person who analyses and designs {application programs}
	for a {client-server architecture}.  Typical skills include
	{ODBC}, {Windows 95}, {Windows NT}, {Macintosh}, {Novell},
	{OS/2}, {Unix}, and {RPC}.

	(2004-03-09)

client-server model

	{client-server}

Client To Client Protocol

	<networking> (CTCP) A type of {protocol} created to allow
	structured data such as {font} information to be exchanged
	between users on {IRC}.  It is also used to send a query to a
	user.  The available CTCP commands include VERSION, FINGER,
	DCC CHAT, DCC SEND, TIME, PING, ECHO, CLIENTINFO.  Some
	commands are not available on some IRC {client} software.

	(1995-04-12)

C++Linda

	<language>

	["The AUC C++Linda System", C. Callsen et al, U Aalborg, in
	Linda-Like Systems and Their Implementation, G. Wilson ed, U
	Edinburgh TR 91-13, 1991].

	(1994-12-12)

C-Linda

	<language> The most widely used variant of {Linda}, with {C}
	as the base language.  It is available from Sci Comp Assocs
	<linda@sca.com>.

	(1994-12-12)

CLIP

	1. {Compiler Language for Information Processing}.

	2. {Common LISP in Parallel}.

CLiP

	<programming, tool> A {documentation} extractor by Eric W. van
	Ammers that recognises a particular style of {comments}.  This
	style can be adjusted to suit virtually any programming
	language and target documentation language.  CLiP was designed
	to be compatible with {hypertext} systems.

	Version 2.1 runs on {MS-DOS}, {VAX}/{VMS} and {Unix}

	{(ftp://sun01.info.wau.nl/clip/)}.

	(1993-11-18)

clipboard

	<operating system> A temporary memory area, used to transfer
	information within a document being edited or between
	documents or between programs.  The fundamental operations are
	"cut" which moves data from a document to the clipboard,
	"copy" which copies it to the clipboard, and "paste" which
	inserts the clipboard contents into the current document in
	place of the current selection.

	Different {Graphical User Interfaces} vary in how they handle
	the different types of data which a user might want to
	transfer via the clipboard, some (e.g. the {X Window System})
	support only plain text, others (e.g. {NEXTSTEP}) support
	arbitrarily typed data such as images.

	(1996-08-23)

Clipper

	1. <hardware, cryptography> An {integrated circuit} which
	implements the {SkipJack} {algorithm}.  The Clipper is
	manufactured by the US government to encrypt telephone data.
	It has the added feature that it can be decrypted by the US
	government, which has tried to make the chip compulsory in the
	United States.  Phil Zimmerman (inventor of {PGP}) remarked,
	"This doesn't even pass the sniff test" (i.e. it stinks).

	{(http://wired.com/clipper/)}.

	{news:alt.privacy.clipper}

	2. A compiled {dBASE} dialect from Nantucket Corp, LA.
	Versions: Winter 85, Spring 86, Autumn 86, Summer 87, 4.5
	(Japanese Kanji), 5.0.  It uses the {Xbase} programming
	language.

	(2004-09-01)

CLIPS

	{C Language Integrated Production System}

clique

	<mathematics> A {maximal} {totally connected} {subgraph}.
	Given a {graph} with {nodes} N, a clique C is a {subset} of N
	where every node in C is directly connected to every other
	node in C (i.e. C is totally connected), and C contains all
	such nodes (C is maximal).  In other words, a clique contains
	all, and only, those nodes which are directly connected to all
	other nodes in the clique.

	[Is this correct?]

	(1996-09-22)

CLISP

	<language>

	1. {Conversational LISP}.

	2. A {Common Lisp} implementation by {Bruno Haible
	(http://haible.de/bruno/)} of {Karlsruhe University} and
	{Michael Stoll (http://math.uni-duesseldorf.de/~stoll/)}.
	of {Munich University}, both in Germany.  CLISP includes an
	{interpreter}, {bytecode compiler}, almost all of the {CLOS}
	{object system}, a {foreign language interface} and a {socket
	interface}.  An {X11} interface is available through {CLX} and
	{Garnet}.  Command line editing is provided by the {GNU}
	readline library.  CLISP requires only 2 MB of {RAM}.  The
	{user interface} comes in German, English, French, Spanish,
	Dutch, and Russian and can be changed at {run time}.

	CLISP is {Free Software} and distributed under the {GPL}.  It
	runs on {microcomputers} ({OS/2}, {Microsoft Windows},
	{Amiga}, {Acorn}) as well as on {Unix} workstations ({Linux},
	{BSD}, {SVR4}, {Sun4}, {Alpha}, {HP-UX}, {NeXTstep}, {SGI},
	{AIX}, {Sun3}, and others).

	{Official web page (http://clisp.cons.org)}.  {Mailing list
	(http://lists.sourceforge.net/lists/listinfo/clisp-list)}.

	(2003-08-04)

Clive Sinclair

	<person> Sir Clive Sinclair (1939- ) The British inventor who
	pioneered the home {microcomputer} market in the early 1980s,
	with the introduction of low-cost, easy to use, {8-bit}
	computers produced by his company, {Sinclair Research}.

	Sir Clive also invented and produced a variety of electronic
	devices from the 1960s to 1990s, including pocket calculators
	(he marketed the first pocket calculator in the world),
	radios and televisions.  Perhaps he is most famous (or some
	might say notorious) for his range electric vehicles,
	especially the Sinclair C5, introduced in 1985.  He has been a
	member of MENSA, the high IQ society, since 1962.

	{Planet Sinclair (http://nvg.ntnu.no/sinclair/)}.

	["The Sinclair Story", Rodney Dale, pub. Duckworth 1985]

	(1998-11-09)

CLIX

	<language> ["Overview of a Parallel Object-Oriented Language
	CLIX", J. Hur et al, in ECOOP '87, LNCS 276, Springer 1987,
	pp. 265-273].

	(1994-12-16)

CLM

	{Career Limiting Move}

CLNP

	{ConnectionLess Network Protocol}

clobber

	<jargon> To overwrite, usually unintentionally: "I walked off
	the end of the array and clobbered the stack."

	Compare {mung}, {scribble}, {trash}, {smash the stack}.

	[{Jargon File}]

	(1994-12-16)

clock

	<processor> A circuit in a {processor} that generates a
	regular sequence of electronic pulses used to synchronise
	operations of the processor's components.  The time between
	pulses is the {cycle time} and the number of pulses per second
	is the {clock rate} (or frequency).

	The execution times of instructions on a computer are usually
	measured by a number of clock cycles rather than seconds.
	{Clock rates} for various models of the computer may increase
	as technology improves, and it is usually the relative times
	one is interested in when discussing the {instruction set}.

	(1994-12-16)

clock frequency

	{clock rate}

clock rate

	<processor, benchmark> The fundamental rate in {cycles} per
	second at which a computer performs its most basic operations
	such as adding two numbers or transfering a value from one
	{register} to another.

	The clock rate of a computer is normally determined by the
	frequency of a crystal.  The original {IBM PC}, circa 1981,
	had a clock rate of 4.77 MHz (almost five million
	cycles/second).  As of 1995, {Intel}'s Pentium chip runs at
	100 MHz (100 million cycles/second).  The clock rate of a
	computer is only useful for providing comparisons between
	computer chips in the same {processor family}.  An {IBM PC}
	with an {Intel 486} {CPU} running at 50 MHz will be about
	twice as fast as one with the same CPU, memory and display
	running at 25 MHz.  However, there are many other factors to
	consider when comparing different computers.  Clock rate
	should not be used when comparing different computers or
	different processor families.  Rather, some {benchmark} should
	be used.  Clock rate can be very misleading, since the amount
	of work different computer chips can do in one cycle varies.
	For example, {RISC} CPUs tend to have simpler instructions
	than {CISC} CPUs (but higher clock rates) and {pipelined}
	processors execute more than one instruction per cycle.

	(1995-01-12)

clock speed

	{clock rate}

clone

	<jargon> 1. An exact copy of a product, made legally or
	illegally, from {documentation} or by {reverse engineering},
	and usually cheaper.

	E.g. "PC clone": a PC-BUS/{ISA}, {EISA}, {VESA}, or {PCI}
	compatible {x86}-based {microcomputer} (this use is sometimes
	misspelled "klone" or "PClone").  These invariably have much more
	bang per buck than the {IB PCM} they resemble.

	E.g. "Unix clone": An {operating system} designed to deliver a
	{Unix}-like environment without Unix licence fees or with
	additional "mission-critical" features such as support for
	{real-time} programming.

	2. <chat> A {clonebot}.

	[{Jargon File}]

	(2000-06-15)

clone-and-hack coding

	{case and paste}

clonebot

	<chat> (Or "clone") A {bot} meant to replicate itself en masse
	on a {talk} network (generally {IRC}).  A bot appears on the
	network as several {agents}, and then carries out some task,
	typically that of {flood}ing another user.

	Compare {ghost}.

	(1997-04-07)

CLOS

	{Common LISP Object System}

closed-box testing

	{functional testing}

closed set

	<mathematics> A set S is closed under an operator * if x*y is
	in S for all x, y in S.

	(1994-12-16)

closed term

	<theory> A term with no {free variables}.

	(1994-12-16)

Clos network

	<networking> A type of {network} topology that can connect N
	inputs to N outputs with less that N^2 crosspoint switches.

	(2006-10-07)

closure

	1. <programming> In a {reduction system}, a closure is a data
	structure that holds an expression and an environment of
	variable bindings in which that expression is to be evaluated.
	The variables may be local or global.  Closures are used to
	represent unevaluated expressions when implementing
	{functional programming languages} with {lazy evaluation}.  In
	a real implementation, both expression and environment are
	represented by pointers.

	A {suspension} is a closure which includes a flag to say
	whether or not it has been evaluated.  The term "{thunk}" has
	come to be synonymous with "closure" but originated outside
	{functional programming}.

	2. <theory> In {domain theory}, given a {partially ordered
	set}, D and a subset, X of D, the upward closure of X in D is
	the union over all x in X of the sets of all d in D such that
	x <= d.  Thus the upward closure of X in D contains the
	elements of X and any greater element of D.  A set is "upward
	closed" if it is the same as its upward closure, i.e. any d
	greater than an element is also an element.  The downward
	closure (or "left closure") is similar but with d <= x.  A
	downward closed set is one for which any d less than an
	element is also an element.

	("<=" is written in {LaTeX} as {\subseteq} and the upward
	closure of X in D is written \uparrow_\{D} X).

	(1994-12-16)

closure conversion

	<theory> The transformation of {continuation passing style}
	code so that the only {free variables} of {functions} are
	names of other functions.

	See also {Lambda lifting}.

	(1994-12-16)

cloud

	{cloud computing}

cloud computing

	<architecture> A loosely defined term for any system providing
	access via the {Internet} to processing power, storage,
	software or other computing services, often via a {web
	browser}.  Typically these services will be rented from an
	external company that hosts and manages them.

	(2009-04-21)

Clover

	<communications, protocol> A {protocoll} similar to {packet
	radio} or {AMTOR}.

	(1995-03-03)

clover key

	{feature key}

CLP

	1. {Cornell List Processor}.

	2. {Constraint Logic Programming}.

CLP*

	<language, logic programming> A derivative of {Constraint
	Logic Programming} (CLP).

	["CLP* and Constraint Abstraction", T. Hickey, 16th POPL,
	pp. 125-133, 1989].

	[Difference?]

	(1994-11-01)

CLP(R)

	<language> Constraint Logic Programming (Real) A {constraint
	logic programming} language with {real} arithmetic
	{constraints} developed by Joxan Jaffar <joxan@watson.ibm.com>
	of {IBM} {TJWRC} and S. Michaylov of {Monash University} in
	1986.

	The implementation contains a {byte-code compiler} and a
	built-in {constraint} solver which deals with {linear
	arithmetic} and contains a mechanism for delaying {nonlinear}
	constraints until they become linear.  Since CLP(R) is a
	superset of {PROLOG}, the system is also usable as a
	general-purpose {logic programming} language.  There are also
	powerful facilities for {meta programming} with constraints.

	Significant CLP(R) applications have been published in diverse
	areas such as molecular biology, finance and physical
	modelling.

	Version 1.2 for {Unix}, {MS-DOS} and {OS/2} is available from
	the authors.  It is free for academic and research purposes.

	E-mail: Roland Yap <roland@bruce.cs.monash.edu.au>.

	["The CLP(R) Language and System", J. Jaffar et al, IBM RR
	RC16292 (#72336), Nov 1990].

	(1992-10-14)

CLP(sigma*)

	<language> A {constraint logic programming} language with
	{regular sets}.

	["CLP(sigma*): Constraint Logic Programming with Regular
	Sets", C. Walinsky, Proc ICLP, 1989, pp.181-190].

	(1994-12-16)

CLR

	{Consortium for Lexical Research}

CLtL1

	<publication> A report on {Common LISP}:

	["Common LISP: The Language", Guy L. Steele, Digital Press
	1984, ISBN 0-932376-41-X].

	(1994-12-16)

CLtL2

	{Aluminum Book}

CLU

	<language> (CLUster) An {object-oriented} programming language
	developed at {MIT} by {Liskov} et al in 1974-1975.

	CLU is an {object-oriented} language of the {Pascal} family
	designed to support {data abstraction}, similar to {Alphard}.
	It introduced the {iterator}: a {coroutine} yielding the
	elements of a data object, to be used as the sequence of
	values in a {for loop}.

	A CLU program consists of separately compilable {procedures},
	{clusters} and iterators, no nesting.  A cluster is a module
	naming an {abstract type} and its operations, its internal
	representation and implementation.  Clusters and iterators may
	be generic.  Supplying actual constant values for the
	{parameters} instantiates the {module}.

	There are no {implicit type conversions}.  In a cluster, the
	explicit type conversions 'up' and 'down' change between the
	abstract type and the representation.  There is a universal
	type 'any', and a procedure force[] to check that an object is
	a certain type.  Objects may be mutable or {immutable}.

	{Exceptions} are raised using 'signal' and handled with
	'except'.  {Assignment} is by sharing, similar to the sharing
	of data objects in {Lisp}.  Arguments are passed by
	{call-by-sharing}, similar to {call-by-value}, except that the
	arguments are objects and can be changed only if they are
	mutable.  CLU has {own variables} and multiple assignment.

	CLU was one of {Kamin's interpreters}.  {clu2c} compiled CLU to
	{C}.  {Concurrent CLU} was an extension designed to support
	parallel proceses.

	["CLU Reference Manual", Barbara Liskov et al, LNCS 114,
	Springer 1981].

	E-mail: Paul R. Johnson <prj@pm-prj.lcs.mit.edu>.

	{Versions for Sun and VAX/VMS
	(ftp://pion.lcs.mit.edu/pub/clu/)}.  {Portable version
	(ftp://mintaka.lcs.mit.edu/pub/dcurtis/)}.

	(1994-12-16)

clu2c

	<tool> A {CLU} to {C} {compiler}.

	{(ftp://ftp.is.titech.ac.jp/pub/clu2c/)}.

	(2000-08-06)

cluster

	1. <architecture> Multiple {servers} providing the same
	service.  The term may imply {resilience} to failure and/or
	some kind of {load balancing} between the servers.  Compare
	{RAIS}.

	2. <file system> An elementary unit of allocation of a {disk}
	made up of one or more physical {blocks}.

	A {file} is made up of a whole number of possibly
	non-contiguous clusters.  The cluster size is a tradeoff
	between space efficiency (the bigger is the cluster, the
	bigger is on the average the wasted space at the end of each
	file) and the length of the {FAT}.

	(1996-11-04)

Cluster 86

	<language> A {distributed} {object-oriented} language by
	L. Shang <lshang@inf.ethz.ch> of {Nanjing University},
	ca. 1986.  A cluster is a {metatype}.

	There are versions for {MS-DOS} and {Unix}.

	["Cluster: An Informal Report", L. Shang, SIGPLAN Notices
	26(1):57-76, Jan 1991].

	(1994-12-21)

clustergeeking

	<jargon> /kluh'st*r-gee"king/ ({CMU}) Spending more time at a
	computer cluster doing CS homework than most people spend
	breathing.

	[{Jargon File}]

	(1994-12-21)

clustering

	{cluster}

CLUT

	{colour palette}

CLV

	{Constant Linear Velocity}

CLX

	<library, graphics> The {Common Lisp} library providing a
	low-level interface to the {X Window System}, equivalent to
	{Xlib}.  {Graphics toolkits} can be built on top of CLX,
	e.g. {McCLIM}, {Garnet}, {CLUE} and {CLIO}.  Various LISP
	implementors have independently ported CLX to their own
	{platforms}, fixing {bugs} and, in some cases, adding features
	in the process.

	{CLX Wiki (http://cliki.net/CLX)}.

	(2004-08-27)

CM

	{Configuration Management}

cm

	<networking> The {country code} for Cameroon.

	(1999-01-27)

CMA

	{Concert Multithread Architecture} from {DEC}.

CMAY

	<operating system> A {microkernel}.

	["A Microkernel for Distributed Applications", R. Bagrodia et
	al, Proc 5th Intl Conf Distrib Comp Sys IEEE 1985,
	pp. 140-149].

	(1994-12-21)

CMC

	1. <messaging> {Computer Mediated Communication}.

	2. <hardware> {Common Mezzanine Card}.

cmd

	<operating system> The {command interpreter} of {Microsoft
	Disk Operating System}.  cmd.exe appears as the interactive
	"Command Prompt" window in later versions of {Microsoft
	Windows} and is also responsible for executing .bat {batch
	files}.

	(2009-11-30)

CMGA

	1. <body> {Computer Management Group of Australia}

	2. <body> {Community of Massive Gaming Agency}.

CMIP

	{Common Management Information Protocol}

CMIS

	{Common Management Information Services}

CML

	1. A {query language}.

	["Towards a Knowledge Description Language", A. Borgida et al,
	in On Knowledge Base Management Systems, J. Mylopoulos et al
	eds, Springer 1986].

	2. {Concurrent ML}.

	(1994-12-21)

CMM

	{Capability Maturity Model}

CMOS

	{Complementary Metal Oxide Semiconductor}

CMP

	1. {cellular multiprocessing}.

	2. {Container Managed Persistance}.

	3. {Configuration Management Plan}.

CMS

	<programming> A {code management} system from {DEC}.

	(1994-12-21)

CMS-2

	<language> A general purpose language used for command and
	control applications in the US Navy.  Variants: CMS-2M and
	CMS-2Y.

	["CMS-2Y Programmers Reference Manual", M-5049, PDCSSA, San
	Diego CA, Oct 1976].

	(1994-12-21)

CMU

	{Carnegie Mellon University}

CMU CL

	{CMU Common Lisp}

CMU Common Lisp

	<language> (CMU CL) A {public domain} "industrial strength"
	{Common Lisp} programming environment.  Many of the {X3J13}
	changes have been incorporated into CMU CL.  Wherever
	possible, this has been done so as to transparently allow use
	of either {CLtL1} or proposed {ANSI CL}.  Probably the new
	features most interesting to users are {SETF} functions,
	{LOOP} and the {WITH-COMPILATION-UNIT} {macro}.

	The new CMU CL compiler is called {Python}.

	Version 17c includes an {incremental compiler}, profiler,
	run-time support, documentation, an editor and a debugger.  It
	runs under {Mach} on {SPARC}, {MIPS} and {IBM PC RT} and under
	{SunOS} on {SPARC}.

	{(ftp://lisp-sun1.slisp.cs.cmu.edu/pub/)}.

	E-mail: <slisp@cs.cmu.edu>.

	(1993-11-18)

CMVC

	{Configuration Management Version Control} from {IBM}.

CMYK

	<graphics> cyan, magenta, yellow, key.

	A {colour model} that describes each {colour} in terms of the
	quantity of each secondary colour (cyan, magenta, yellow), and
	"key" (black) it contains.  The CMYK system is used for
	printing.  For mixing of pigments, it is better to use the
	secondary colours, since they mix subtractively instead of
	additively.  The secondary colours of light are cyan, magenta
	and yellow, which correspond to the primary colours of pigment
	(blue, red and yellow). In addition, although black could be
	obtained by mixing these three in equal proportions, in
	four-colour printing it always has its own ink.  This gives
	the CMYK model.  The K stands for "Key' or 'blacK,' so as not
	to cause confusion with the B in {RGB}.

	Alternative colour models are {RGB} and {HSB}.

	(1994-12-22)

CMZ

	<programming> A {portable} {interactive} {code management}
	system from {CodeME} S.A.R.L in use in the high-energy physics
	community.

	(1994-12-22)

cn

	<networking> The {country code} for China.

	(1999-01-27)

CNAME

	<networking> The {canonical name} query type for {Domain Name
	System}.  This query asks a DNS {server} for a {host}'s
	official {hostname}.

	(1994-12-22)

CNC

	{Collaborative Networked Communication}

CNET

	<body> Centre national d'Etudes des Telecommunications.  The
	French national telecommunications research centre at Lannion.

	(1994-12-22)

CNI

	{Coalition for Networked Information}

CNN

	<architecture> {Cellular Neural Network}.

CNR

	{Communication and Network Riser}

CNRI

	{Corporation for National Research Initiatives}

co

	<networking> The {country code} for Colombia.

	(1999-01-27)

CO2

	<language, database> An {object-oriented} {database} language
	combining {C} and {O2}, from GIP Altair, Versailles, France.

	[Francois Bancilon et al, in Advances in Object-Oriented
	Database Systems, K.R. Dittrich ed, LNCS 334, Springer 1988].

	(1994-12-22)

Coad/Yourdon

	<programming> An {object-oriented analysis} and design
	{methodology}, developed by {edward Yourdon} and Peter Coad.

	(1995-04-07)

COALA

	<language>

	["COALA: The Object Code of the Compiler Producing System", S.
	Kruszewski et al, MERA, Warsaw 1974].

	(1994-12-22)

coalesced sum

	<theory> (Or "smash sum") In {domain theory}, the coalesced
	sum of {domains} A and B, A (+) B, contains all the
	non-{bottom} elements of both domains, tagged to show which
	part of the sum they come from, and a new {bottom} element.

	 D (+) E = { bottom(D(+)E) }
		   U { (0,d) | d in D, d /= bottom(D) }
		   U { (1,e) | e in E, e /= bottom(E) }

	The bottoms of the constituent domains are coalesced into a
	single bottom in the sum.  This may be generalised to any
	number of domains.

	The ordering is

		bottom(D(+)E) <= v  For all v in D(+)E

		(i,v1) <= (j,v2)    iff i = j & v1 <= v2

	"<=" is usually written as {LaTeX} \sqsubseteq and "(+)" as
	{LaTeX} \oplus - a "+" in a circle.

	(1994-12-22)

Coalition for Networked Information

	<body> (CNI) A consortium formed by American Research
	Libraries, {CAUSE} and {EDUCOM} to promote the creation of,
	and access to, information resources in networked environments
	in order to enrich scholarship and enhance intellectual
	productivity.

	(1994-12-22)

coarse grain

	{granularity}

COAST

	{Cache On A STick}

coax

	{coaxial cable}

coaxial cable

	<hardware> A kind of cable with a solid central conductor
	surrounded by insulator, in turn surrounded by a cylindrical
	shield woven from fine wires.  It is used to carry high
	frequency signals such as {video} or {radio}.  The shield is
	usually connected to electrical ground to reduce electrical
	interference.

	(1995-03-28)

COBOL

	{COmmon Business Oriented Language}

COBOL-1961 Extended

	<language> A short-lived separation of {COBOL} specifications.

	[Sammet 1969, p. 339].

	(1994-10-28)

COBOL fingers

	<jargon> /koh'bol fing'grz/ Reported from Sweden, a
	hypothetical disease one might get from coding in {COBOL}.
	The language requires code verbose beyond all reason (see
	{candygrammar}); thus it is alleged that programming too much
	in COBOL causes one's fingers to wear down to stubs by the
	endless typing.

	[{Jargon File}]

	(1994-12-22)

COBRA

	<spelling> Do you mean {CORBA}?  Or is there a COBRA?

	(1996-05-10)

cobwebsite

	<jargon, web> A {website} that hasn't been updated for
	a long time.  A dead {web page}.

	(1997-04-29)

Cocktail

	{GMD Toolbox for Compiler Construction}

cocktail shaker sort

	<algorithm> A bi-directional {bubble sort}.  Passes alternate
	between ascending through array indexes, pushing the largest
	item to the bottom; and descending through array indexes,
	pushing the smallest item to the top.

	[Performace vs plain bubble?]

	(2001-03-26)

CoCo

	<computer> The {Tandy} Color Computer with a Motorola
	{MC6809E} {CPU}.  The {Dragon} is a CoCo clone.  The CoCo was
	as powerful as the {IBM XT} at the time it was made, and could
	run {OS-9}.

	(1997-02-12)

Cocol

	{Coco Language}

Coco Language

	<language> (Cocol) A language for writing left-attributed {LL1
	grammars}, used as the input language for the {Coco} LL1
	{parser generator}, which produces {Modula-2 table-driven
	parsers} as output.

	Cocol-2 is a version for the Coco-2 generator.  {Cocol/R} is
	an improvement over the original Cocol and Cocol-2.

	{(ftp://neptune.inf.ethz.ch/)}.

	["A Compiler Generator for Microcomputers", P. Rechenberg et
	al, P-H 1989].

	(1997-12-09)

Cocol/R

	<language> (Coco Language) A language for writing
	left-attributed {LL1 grammars}, used as the input language for
	the {Coco/R} LL1 {parser generators}, which produce {C++},
	{Pascal}, {Modula-2}, {Java} or {Oberon} {recursive-descent
	parsers} and associated {scanners} as output.

	Cocol/R is an improvement over the original {Cocol} and
	Cocol-2.

	[Moessenboeck, H., "A Generator for Fast Compiler Front-Ends",
	Report 127, Dept. Informatik, ETH Zurich, 1990].

	(1997-12-09)

COCOMO

	{Constructive Cost Model}

Coco/R

	<tool> A program by Hanspeter Moessenboeck
	<moessenboeck@ssw.uni-linz.ac.at> which generates {recursive
	descent parsers} and their associated {scanners} from
	{attributed grammars} (LL1).  Coco/R can {bootstrap} itself to
	generate its own driver, {parser}, scanner and {semantic
	evaluator} from an attributed grammar included in the
	distribution.

	Versions exist for generating {Oberon}, {Modula-2}, {Pascal},
	{C}, and {C++} source for {MS-DOS} and {Unix}.  A {Java}
	implementation was planned.

	Latest version: 1.34, as gf 1994-10-13.

	Coco/R was ported to {Modula-2} by Marc Brandis, Christof
	Brass, and Pat Terry.

	{(ftp://ftp.ssw.uni-linz.ac.at/pub/Coco)}.

	Mail server: <server@ftp.psg.com> (Subject: send
	pub/modula-2/coco/).

	E-mail: Pat Terry <p.terry@ru.ac.za> (Modula/Pascal versions),
	Hanspeter Moessenboeck <moessenboeck@ssw.uni-linz.ac.at>
	(Oberon, Java versions), Frankie Arzu <farzu@uvg.edu.gt> (C,
	C++ versions).

	["A compiler generator for microcomputers", by Rechenberg and
	Mossenbock, Prentice Hall, 1989, 0-13-155136-1].

	[Moessenboeck, H., "A Generator for Fast Compiler Front-Ends",
	Report 127, Dept. Informatik, ETH Zurich, 1990].

	[Terry, P.D., "Compilers and Compiler Generators: An
	Introduction with C++", ITCP: ISBN 1-85032-298-8].

	(1997-12-09)

CODASYL

	{Conference On DAta SYstems Languages}

Codd's First Normal Form

	{database normalisation}

Codd's reduction algorithm

	<database> An {algorithm} to convert an arbitrary expression
	of the {relational calculus} to an equivalent expression of
	the {relational algebra}.  This can be used as the basis of an
	implementation of the relational calculus.

	(1998-10-05)

code

	1. <software> Instructions for a computer in some programming
	language, often {machine language} (machine code).

	The word "code" is often used to distinguish instructions from
	{data} (e.g. "The code is marked 'read-only'") whereas the
	word "{software}" is used in contrast with "{hardware}" and
	may consist of more than just code.

	(2000-04-08)

	2. <cryptography> Some method of {encryption} or the resulting
	encrypted message.

	(2006-11-10)

Code 2.0

	<language> A {coarse-grain} {dataflow} language with a graphical
	interface for users to draw communication structure.

	{(http://cs.utexas.edu/users/code)}.

	E-mail: Emery Berger <emery@cs.utexas.edu>.

	["The CODE 2.0 Parallel Programming Language", P. Newton et
	al, Proc ACM Intl Conf on Supercomput, Jul 1992].

	(1996-01-13)

codebook

	{data dictionary}

CODEC

	{coder/decoder}

CodeCenter

	<programming> (Formerly {Saber-C}) A proprietary {software
	development environment} for {C} programs, offering an
	integrated toolkit for developing, testing, debugging and
	maintainance.

	(1994-12-23)

coded character set

	<character, standard> A mapping, generally 1:1, from a set of
	{integers}, known as {character codes} or {code positions}, to
	a set of {characters} that may include letters, digits,
	punctuation, {control codes}, mathematical and typographic
	symbols.

	There are several {standard} coded character sets, the most
	widely used is {ASCII}, generally in its {Latin-1} dialect,
	with {Unicode} becoming slowly more common; while {EBCDIC} and
	{Baudot} are extinct except in {legacy systems}.

	(2009-01-06)

Code Division Multiple Access

	<communications> (CDMA) (Or "spread spectrum") A form of
	{multiplexing} where the transmitter encodes the signal using
	a {pseudorandom} sequence which the receiver also knows and
	can use to decode the received signal.  Each different random
	sequence corresponds to a different communication channel.

	{Motorola} uses CDMA for digital cellular phones.  Qualcomm
	pioneered the introduction of CDMA into wireless telephone
	services.

	(2001-03-28)

code division multiplexing

	{Code Division Multiple Access}

Code-Generator Generator Language

	<language> ("seagull") (CGGL) A {machine description language}
	based on modelling the computer as a {finite-state machine}.

	["A Code Generator Generator Language", M.K. Donegan et al,
	SIGPLAN Notices 14(8):58-64, Aug 1979].

	(1994-10-24)

code grinder

	<jargon, abuse> A {suit}-wearing minion of the sort hired in
	legion strength by banks and insurance companies in the {Real
	World} to implement payroll packages in {RPG} and other such
	unspeakable horrors.  In its native habitat, the code grinder
	often removes the suit jacket to reveal an underplumage
	consisting of button-down shirt (starch optional) and a tie.
	In times of dire stress, the sleeves (if long) may be rolled
	up and the tie loosened about half an inch.  It seldom helps.
	The {code grinder}'s milieu is about as far from hackerdom as
	one can get and still touch a computer; the term connotes
	pity.

	Used of or to a {hacker}, this term is a really serious slur
	on the person's creative ability; it connotes a design style
	characterised by primitive technique, rule-boundedness, {brute
	force} and utter lack of imagination.

	Compare {card walloper}.  Contrast {real programmer}.

	[{Jargon File}]

	(1994-11-11)

code management

	{source code management}

code police

	<humour> (By analogy with George Orwell's "Thought Police" in
	"1984") A mythical team of Gestapo-like storm troopers that
	enforce programming style rules.  Used ironically, to suggest
	that the practice under discussion is condemned mainly by
	anal-retentive {weenies}.  "Dike out that {goto} or the code
	police will get you!"  The ironic usage is perhaps more
	common.

	[{Jargon File}]

	(1994-12-08)

code position

	<character> An {integer} that a {coded character set} maps to
	a {character}.  A code position is normally stored or
	transmitted by applying a {character encoding} to turn it into
	a {byte string}.

	(2002-03-03)

coder/decoder

	<communications> (CODEC) An electronic device or component
	combining the circuits needed to convert digital signals to
	and from analog ({Pulse Code Modulation}) form.

	(1997-07-22)

codes

	1. <jargon> Programs.  This usage is common among scientific
	computing people who use {supercumputers} for heavy-duty
	{number crunching}.

	2. <cryptography> Something to do with {cryptography}.

	[{Jargon File}]

	(1994-10-28)

C-odeScript

	<language> A {Liana} interpreter, embeddable in {C} and {C++}
	programs.

	(1995-03-09)

code segment

	<memory> ({Intel 8086} CS) The area of memory containing the
	{machine code} instructions of a {program}.  The code segment
	of a program may be shared between multiple processes running
	that code so long as none of them tries to modify it.

	{Unix}, confusingly, calls this the "text segment" and the
	area for uninitialied data, the {bss segment}.

	Initialised data is located in the {data segment}.

	(1996-12-21)

code walk

	<programming> Stepping through {source code} as part of a
	{code review}.

	Where a code walk probably only follows the potential {control
	flow} of a program, a {dry run} is a more detailed manual
	execution of a program that also keeps track of the value of
	every {variable} involved.

	(2006-11-27)

codewalker

	<programming, tool> A program component that analyses other
	programs.  {Compilers} have codewalkers in their front ends;
	so do {cross-reference generators} and some database front
	ends.  Other utility programs that try to do too much with
	source code may turn into codewalkers.  As in "This new
	'vgrind' feature would require a codewalker to implement."

	[{Jargon File}]

	(1994-12-23)

CODIL

	{COntext Dependent Information Language}

codomain

	<theory> The set of values or {type} containing all possible
	results of a {function}.  The codomain of a function f of type
	D -> C is C.  A function's {image} is a subset of its
	codomain.

	(1994-12-23)

coercion

	{implicit type conversion}

COFF

	{Common Object File Format}

COGENT

	{COmpiler and GENeralized Translator}

Cogent Prolog

	<language> A full {Edinburgh standard Prolog} with {debugger},
	{listener}, {DCG}, many {built-ins}, text windows, support for
	{modules}, and support for both 16-bit and 32-bit {protected
	mode}.

	Contact: Dennis C. Merritt.

	(1999-11-24)

Cognitech

	<company> A French software company specialising in
	{artificial intelligence}.

	(1995-01-04)

cognitive architecture

	<architecture> A computer architecure involving
	{non-deterministic}, multiple {inference} processes, as found
	in {neural networks}.  Cognitive architectures model the human
	brain and contrast with single processor computers.

	The term might also refer to software architectures,
	e.g. {fuzzy logic}.

	[Origin?  Better definition?  Reference?]

	(1995-11-29)

COGO

	<application> A subsystem of {ICES} aimed at {coordinate geometry}
	problems in civil engineering.

	["Engineer's Guide to ICES COGO I", R67-46, CE Dept MIT, Aug
	1967].

	(1995-01-04)

Coherent Parallel C

	<language> A {data parallel} version of {C}.

	["Coherent Parallel C", E. Felten et al in Third Conf on
	Hypercube Concurrent Computers and Appls, ACM, 1988,
	pp. 440-450].

	(1995-01-04)

COHESION

	<programming> {DEC}'s {CASE} environment.

	[Details?].

	(1995-01-04)

COIF

	<language> {Fortran} with {interactive} graphic extensions for
	{circuit design}, on {UNIVAC 1108}.

	["An Interactive Software System for Computer-Aided Design: An
	Application to Circuit Projects", CACM 9(13), Sep 1970].

	(1995-01-04)

CoIP

	{Conferencing over IP}

cokebottle

	<character, humour> /kohk'bot-l/ Any unusual character,
	particularly one you can't type because it isn't on your
	keyboard.  {MIT} people used to complain about the
	"control-meta-cokebottle" commands at {SAIL}, and {SAIL}
	people complained about the "{altmode}-altmode-cokebottle"
	commands at {MIT}.  After the demise of the {space-cadet
	keyboard}, "cokebottle" was used less, but was often used to
	describe weird or non-intuitive keystrokes.

	The {OSF}/{Motif} {window manager}, "{mwm}" keystroke for
	switching to the default keybindings and behaviour is
	control-meta-{bang}.  Since {exclamation mark} might be
	thought to look like a Coke bottle, {Motif} hackers referred
	to this keystroke as "cokebottle".

	See also {quadruple bucky}.

	[{Jargon File}]

	(1995-01-04)

COLASL

	<mathematics, application> An early system for numerical
	problems on the {IBM 7030}.  It used a special {character set}
	for input of natural mathematical expressions.

	[Sammet 1969, pp. 265-271].

	(1995-01-04)

COLD

	1. <language> A {sugar}ed version of {COLD-K}.

	2. <storage> Computer Output to Laser Disk - see {Enterprise
	Report Management}.

	(2007-07-24)

cold boot

	<operating system> A {boot} from {power off}.

	Contrast {warm boot}.

	[{Jargon File}]

	(1995-11-27)

ColdFusion

	<web, database, tool> {Allaire Corporation}'s commercial
	{database} application development tool that allows {databases} to
	have a {web interface}, so a database can be queried and updated
	using a {web browser}.

	The ColdFusion Server application runs on the {web server} and
	has access to a {database}.  ColdFusion files on the web
	server are {HTML} pages with additional ColdFusion commands to
	{query} or {update} the database, written in {CFML}.  When the
	page is requested by the user, the {web server} passes the
	page to the Cold Fusion application, which executes the {CFML}
	commands, places the results of the {CFML} commands in the
	{HTML} file, and returns the page to the {web server}.  The
	page returned to the {web server} is now an ordinary {HTML}
	file, and it is sent to the user.

	Examples of ColdFusion applications include order entry, event
	registration, catalogue search, directories, calendars, and
	interactive training.  ColdFusion applications are robust
	because all database interactions are encapsulated in a single
	industrial-strength {CGI} script.  The formatting and
	presentation can be modified and revised at any time (as
	opposed to having to edit and recompile {source code}).

	ColdFusion Server can connect with any database that supports
	{ODBC} or {OLE DB} or one that has a native database driver.
	Native database drivers are available for {Oracle} and
	{Sybase} databases.

	ColdFusion is available for {Windows}, {Solaris}, and {HP-UX}.
	A {development environment} for creating ColdFusion files,
	called ColdFusion Studio, is also available for {Windows}.

	Latest version: MX(6), as of 2003-07-11.

	The {filename extension} for ColdFusion files is .cfm

	{(http://coldfusion.com/)}.

	(2003-07-27)

ColdFusion Markup Language

	<language, web> (CFML) A {tag} based {markup}
	language used to create {ColdFusion} {web applications} by
	embedding ColdFusion commands in {HTML} files.

	(1999-08-01)

COLD-K

	<language> A formal design {kernel language} for describing
	(sequential) software systems in intermediate stages of their
	design.

	["An Introduction to COLD-K", H.B.M. Jonkers in Algebraic
	Methods: Theory, Tools and Applications, M. Wirsing et al eds,
	LNCS 394, Springer 1989, pp. 139-205].

	(1995-01-04)

COLINGO

	<language> Compile On-LINe and GO.  An english-like {query}
	system from {MITRE Corporation} for the {IBM 1401}.

	["The COLINGO System Design Philosophy", Information System
	Sciences, Proc Second Congress, 1965].

	[Sammet 1969, p. 664].

	(1995-01-04)

collision

	1. <networking> When two {hosts} transmit on a {network} at
	once causing their {packets} to corrupt each other.

	See {collision detection}.

	2. <programming> {hash collision}.

	(1995-01-06)

collision detection

	<networking> A class of methods for sharing a data
	transmission medium in which {hosts} transmit as soon as they
	have data to send and then check to see whether their
	transmission has suffered a {collision} with another host's.

	If a collision is detected then the data must be resent.  The
	resending algorithm should try to minimise the chance that two
	hosts's data will repeatedly collide.  For example, the
	{CSMA/CD} protocol used on {Ethernet} specifies that they
	should then wait for a random time before re-transmitting.

	See also {backoff}.

	This contrasts with {slotted protocols} and {token passing}.

	(1997-03-18)

collocation

	{co-location}

co-location

	<networking> /koh'loh-kay`sh*n/ or /koh`loh-kay'sh*n/ (Or
	"colocation") Providing network connections such as {Internet}
	{leased lines} to several {servers} housed together in a
	{server room}.  This is typically provided as a commercial
	service.

	The hyphenated form is correct and the most common on the web,
	followed by "colocation".  "collocation" (/ko`loh-kay'sh*n/,
	not /koh'-/), is an old word with a similar meaning.  It is
	common in dictionaries and follows the pattern of other
	Latin-derived words like collect, college, and collate, but is
	least common on the web.

	The verbal form is "to colocate" or "co-locate" (commonly
	/koh'loh`kayt/, also (US) /koh`loh'kayt/).

	(2000-10-03)

colon

	<character> ":" {ASCII} character 58.  Common names: {ITU-T}:
	colon.  Rare: dots; {INTERCAL}: two-spot.

	(1995-09-25)

color

	{colour}

Color Graphics Adapter

	<hardware, graphics> (CGA) One of {IBM}'s earliest hardware
	video {display standards} for use in {IBM PCs}.  CGA can
	display 80*25 or 40*25 text in 16 colors, 640*200 {pixels} of
	graphics in two colors or 320*200 in four colors (IBM PC video
	modes 0-6).  It is now obsolete.

	(1995-11-11)

color model

	{colour model}

Colossus

	(A huge and ancient statue on the Greek island of Rhodes).

	1. <computer> The Colossus and Colossus Mark II computers used
	by {Alan Turing} at {Bletchley Park}, UK during the Second
	World War to crack the "Tunny" cipher produced by the Lorenz
	SZ 40 and SZ 42 machines.  Colossus was a semi-fixed-program
	{vacuum tube} calculator (unlike its near-contemporary, the
	freely programmable {Z3}).

	["Breaking the enemy's code", Glenn Zorpette, IEEE Spectrum,
	September 1987, pp. 47-51.]

	2. The computer in the 1970 film, "Colossus: The Forbin
	Project".  Forbin is the designer of a computer that will run
	all of America's nuclear defences.  Shortly after being turned
	on, it detects the existence of Goliath, the Soviet
	counterpart, previously unknown to US Planners.  Both
	computers insist that they be linked, whereupon the two become
	a new super computer and threaten the world with the immediate
	launch of nuclear weapons if they are detached.  Colossus
	begins to give its plans for the management of the world under
	its guidance.  Forbin and the other scientists form a
	technological resistance to Colossus which must operate
	underground.

	{The Internet Movie Database
	(http://www.imdb.com/title/tt0064177)}.

	(2007-01-04)

colour

	<graphics> (US "color") Colours are usually represented as
	{RGB} triples in a {digital} {image} because this corresponds
	most closely to the electronic signals needed to drive a
	{CRT}.  Several equivalent systems ("{colour models}") exist,
	e.g. {HSB}.  A colour {image} may be stored as three separate
	images, one for each of red, green, and blue, or each {pixel}
	may encode the colour using separate {bit-fields} for each
	colour component, or each pixel may store a logical colour
	number which is looked up in a hardware {colour palette} to
	find the colour to display.

	Printers may use the {CMYK} or {Pantone} representations of
	colours as well as RGB.

	(1999-08-02)

colour depth

	{bits per pixel}

colour look-up table

	{colour palette}

colour model

	<graphics> Any system for representing {colours} as {ordered
	sets} of numbers.  The most common colour models are {RGB},
	{CMYK}, and {HSB}.  There are several others, e.g. {CMY}, and
	the "Lab" system(?).

	See also: {Pantone}.

	(1999-10-21)

colour palette

	<graphics, hardware> (colour look-up table, CLUT) A device
	which converts the {logical} colour numbers stored in each
	{pixel} of {video} memory into {physical} colours, normally
	represented as {RGB} triplets, that can be displayed on the
	{monitor}.  The palette is simply a block of fast {RAM} which
	is addressed by the logical colour and whose output is split
	into the red, green and blue levels which drive the actual
	display (e.g. {CRT}).

	The number of entries (logical colours) in the palette is the
	total number of colours which can appear on screen
	simultaneously.  The width of each entry determines the number
	of colours which the palette can be set to produce.

	A common example would be a palette of 256 colours
	(i.e. addressed by eight-bit pixel values) where each colour
	can be chosen from a total of 16.7 million colours (i.e. eight
	bits output for each of red, green and blue).

	Changes to the palette affect the whole screen at once and can
	be used to produce special effects which would be much slower
	to produce by updating pixels.

	(1997-06-03)

Columbia AppleTalk Package

	<networking> (CAP) An implementation of {Apple Computer}'s
	{AppleTalk} {protocols} for {Unix} {4.2BSD} and its
	derivatives, from {Columbia University}.  There are two
	different {LAP} delivery mechanisms for: {IPTalk} and
	{Ethertalk} (possibly using {UAB}).

	CAP supports the following {AppleTalk} {protocols}: {AppleTalk
	Transaction Protocol} (ATP), {Name Binding Protocol} (NBP),
	{Printer Access Protocol} (PAP), {AppleTalk Session Protocol}
	(ASP), {AppleTalk Filing Protocol} (AFP) client side.  In
	addition, the {Datagram Delivery Protocol} (DDP) and {Zone
	Information Protocol} (ZIP) are partially available.  The
	structure of the {Internet Appletalk Bridge} software makes it
	impossible to provide full DDP service.  Only the Get Zone
	List ATP ZIP command is implemented for ZIP.

	(1995-01-10)

column

	1. <database> A named slice through a {database} {table} that
	includes the same field of each {row}.  For example, a
	telephone directory table might have a row for each person
	with a name column and a telephone number column.

	2. <storage> A line of memory cells in a {dynamic
	random-access memory}, that is selected by a particular column
	address.

	(2007-10-12)

Column Address Strobe

	<hardware> (CAS) A signal sent from a processor (or {memory
	controller}) to a {dynamic random-access memory} (DRAM) (qv)
	circuit to indicate that the column {address lines} are valid.

	(1996-10-17)

COM

	1. <programming> {Component Object Model}.

	2. <storage> Computer Output on Microfilm - see {Enterprise
	Report Management}.

com

	<networking> (.com, "commercial") The {top-level domain}
	originally for American companies but, since the explosion of
	the {web}, used by most companies and for {vanity
	domains} of all types, whether in the US or not, often in
	addition to {country code} domains like amazon.co.uk.

	The term "dot com" is now widely used to refer to any Internet
	business as in "My dot com turned into a dot bomb".

	(2007-02-18)

.com

	{com}

COMAL

	{COMmon Algorithmic Language}

combination

	1. <mathematics> A {set} containing a certain number of
	objects selected from another set.

	The number of combinations of r objects chosen from a set of n
	is

		n C r = n! / ((n-r)! r!)

	where "n C r" is normally with n and r as subscripts or as n
	above r in parentheses.

	See also {permutation}.

	2. <reduction> In the theory of {combinators}, a combination
	denotes an expression in which {function application} is the
	only operation.

	(1995-04-10)

combinator

	<theory> A function with no {free variables}.  A term is
	either a constant, a variable or of the form A B denoting the
	{application} of term A (a function of one argument) to term
	B.  {Juxtaposition} associates to the left in the absence of
	parentheses.  All combinators can be defined from two basic
	combinators - S and K.  These two and a third, I, are defined
	thus:

		S f g x	= f x (g x)
		K x y	= x
		I x	= x		= S K K x

	There is a simple translation between {combinatory logic} and
	{lambda-calculus}.  The size of equivalent expressions in the
	two languages are of the same order.

	Other combinators were added by {David Turner} in 1979 when he
	used combinators to implement {SASL}:

		B f g x = f (g x)
		C f g x = f x g
		S' c f g x = c (f x) (g x)
		B* c f g x = c (f (g x))
		C' c f g x = c (f x) g

	See {fixed point combinator}, {curried function},
	{supercombinators}.

	(2002-11-03)

combinatory logic

	<logic> A system for reducing the operational notation of
	{logic}, mathematics or a {functional language} to a sequence
	of modifications to the input data structure.  First
	introduced in the 1920's by {Schoenfinkel}.  Re-introduced
	independently by {Haskell Curry} in the late 1920's (who
	quickly learned of Schoenfinkel's work after he had the idea).
	Curry is really responsible for most of the development, at
	least up until work with Feys in 1958.

	See {combinator}.

	(1995-01-05)

Comdex

	<business> A computer show that is held twice yearly, once in
	the spring (in Atlanta) and once in autumn (in Las Vegas).
	Comdex is a major show during which new releases of software
	and hardware are made.  {Microsoft}, for example, often
	annouces its products at Comdex.

	(1995-01-11)

COME FROM

	<programming, humour> A semi-mythical language construct dual
	to the "go to"; "COME FROM" <label> would cause the referenced
	label to act as a sort of {trapdoor}, so that if the program
	ever reached it, control would quietly and {automagically} be
	transferred to the statement following the "COME FROM".

	"COME FROM" was first proposed in R.L. Clark's "A Linguistic
	Contribution to GOTO-less programming", which appeared in a
	1973 {Datamation} issue (and was reprinted in the April 1984
	issue of "{Communications of the ACM}").  This parodied the
	then-raging "{structured programming}" {holy wars} (see
	{considered harmful}).

	Mythically, some variants are the "assigned COME FROM" and the
	"computed COME FROM" (parodying some nasty control constructs
	in {Fortran} and some extended {BASICs}).  Of course,
	{multitasking} (or {nondeterminism}) could be implemented by
	having more than one "COME FROM" statement coming from the
	same label.

	In some ways the {Fortran} "DO" looks like a "COME FROM"
	statement.  After the terminating statement number/"CONTINUE"
	is reached, control continues at the statement following the
	DO.  Some generous Fortrans would allow arbitrary statements
	(other than "CONTINUE") for the statement, leading to examples
	like:

	      DO 10 I=1,LIMIT
	 C imagine many lines of code here, leaving the
	 C original DO statement lost in the spaghetti...
	      WRITE(6,10) I,FROB(I)
	 10   FORMAT(1X,I5,G10.4)

	in which the trapdoor is just after the statement labelled 10.
	(This is particularly surprising because the label doesn't
	appear to have anything to do with the flow of control at
	all!)

	While sufficiently astonishing to the unsuspecting reader,
	this form of "COME FROM" statement isn't completely general.
	After all, control will eventually pass to the following
	statement.  The implementation of the general form was left to
	{Univac Fortran}, ca. 1975 (though a roughly similar feature
	existed on the {IBM 7040} ten years earlier).  The statement
	"AT 100" would perform a "COME FROM 100".  It was intended
	strictly as a debugging aid, with dire consequences promised
	to anyone so deranged as to use it in production code.  More
	horrible things had already been perpetrated in production
	languages, however; doubters need only contemplate the
	"{ALTER}" verb in {COBOL}.

	{SCL} on {VME} {mainframes} has a similar language construct
	called "whenever", used like this:

		 whenever x=123345 then S;

	Meaning whenever variable x reached the value 123345 then
	execute statement S.

	"COME FROM" was supported under its own name for the first
	time 15 years later, in {C-INTERCAL} (see {INTERCAL},
	{retrocomputing}); knowledgeable observers are still reeling
	from the shock.

	[{Jargon File}]

	(1998-04-19)

COMIS

	<language> A COMpilation and Interpretation System.

	A {Fortran} {interpreter} use by the {PAW} system.

	(1994-11-30)

COMIT

	<language> The first string-handling and {pattern-matching}
	language, designed in 1957-8 for applications in {natural
	language} translation.  The user has a workspace organised
	into shelves.  Strings are made of constituents (words),
	accessed by {subscript}.  A program is a set of rules, each of
	which has a pattern, a replacement and goto another rule.

	["COMIT Programmer's Reference Manual", V.H. Yngve, MIT Press
	1961].

	[Sammet 1969, pp. 416-436].

	(1994-11-30)

Comite Europeen des Postes et Telecommunications

	<body> (CEPT, European Conference of Post and
	Telecommunications) The committee that defined the CEPT speech
	{compression} scheme.

	[Details of compression scheme?]

	(1998-03-16)

COMIT II

	<language> ["Computer Programming with COMIT II", Victor
	H. Yngve, MIT Press, 1963].

	(1995-01-11)

Comma

	<project> COMputable MAthematics.

	An {ESPRIT} project at KU {Nijmegen}.

	(1994-11-30)

comma

	<character> "," {ASCII} character 44.  Common names: {ITU-T}:
	comma.  Rare: {ITU-T}: cedilla; {INTERCAL}: tail.

	In the {C} programming language, "," is an operator which
	evaluates its first argument (which presumably has
	{side-effects}) and then returns the value of its second
	argument.  This is useful in "for" statements and {macros}.

	(1995-03-10)

command

	<operating system> A character string which tells a program to
	perform a specific action.  Most commands take {arguments}
	which either modify the action performed or supply it with
	input.  Commands may be typed by the user or read from a file
	by a {command interpreter}.  It is also common to refer to
	menu items as commands.

	(1997-06-21)

Command Control Processor

	<operating system> (CCP) {CP/M}'s {command-line interpreter}.

	(2001-11-01)

command interpreter

	<operating system> A program which reads textual commands from
	the user or from a file and executes them.  Some commands may
	be executed directly within the interpreter itself
	(e.g. setting variables or control constructs), others may
	cause it to load and execute other files.

	{Unix}'s command interpreters are known as {shells}.

	When an {IBM PC} is {boot}ed {BIOS} loads and runs the
	{MS-DOS} command interpreter into memory from file COMMAND.COM
	found on a {floppy disk} or {hard disk} drive.  The commands
	that COMMAND.COM recognizes (e.g. COPY, DIR, PRN) are called
	internal commands, in contrast to external commands which are
	executable files.

	(1995-03-16)

command key

	{feature key}

command line interface

	<operating system> A means of communication between a
	{program} and its {user}, based solely on textual input and
	output.  Commands are input with the help of a {keyboard} or
	similar device and are interpreted and executed by the
	program.  Results are output as text or graphics to the
	{terminal}.

	Command line interfaces usually provide greater flexibility
	than {graphical user interfaces}, at the cost of being harder
	for the novice to use.  Consequently, some {hackers} look down
	on GUIs as designed {For The Rest Of Them}.

	(1996-01-12)

command-line interpreter

	{command interpreter}

command line option

	<software> (Or "option", "flag", "switch", "option switch") An
	argument to a command that modifies its function rather than
	providing data.  Options generally start with "-" in {Unix} or
	"/" in {MS-DOS}.  This is usually followed by a single letter
	or occasionally a digit.  More recently, {GNU} software
	adopted the --longoptionname style, usually in addition to
	traditional, single-character, -x style equivalents.

	Some commands require each option to be a separate argument,
	introduced by a new "-" or "/", others allow multiple option
	letters to be concatenated into a single argument with a
	single "-" or "/", e.g. "ls -al".  A few Unix commands
	(e.g. {ar}, {tar}) allow the "-" to be omitted.  Some options
	may or must be followed by a value, e.g. "cc prog.c -o prog",
	sometimes with and sometimes without an intervening space.

	{getopt} and {getopts} are commands for parsing command line
	options.  There is also a {C} library routine called getopt
	for the same purpose.

	(2007-02-18)

comma separated values

	<file format> (CSV) A {file format} used as a portable
	representation of a {database}.  Each line is one entry or
	record and the fields in a record are separated by {commas}.
	Commas may be followed by arbitrary space and/or tab
	characters which are ignored.  If field includes a comma, the
	whole field must be surrounded with {double quotes}.

	(1995-05-06)

COMMEN

	[L.J. Cohen.  Proc SJCC 30:671-676, AFIPS (Spring 1967)].

	(1994-11-30)

comment

	<programming> (Or "remark") Explanatory text embedded in
	program {source} (or less often data) intended to help human
	readers understand it.

	Code completely without comments is often hard to read, but
	code with too many comments is also bad, especially if the
	comments are not kept up-to-date with changes to the code.
	Too much commenting may mean that the code is
	over-complicated.  A good rule is to comment everything that
	needs it but write code that doesn't need much of it.
	Comments that explain __why__ something is done and how the code
	relates to its environment are useful.

	A particularly irksome form of over-commenting explains
	exactly what each statement does, even when it is obvious to
	any reasonably competant programmer, e.g.

		/* Open the input file */
		infd = open(input_file, O_RDONLY);

	(2007-02-19)

commented out

	{comment out}

comment out

	<programming> To surround a section of code with {comment}
	{delimiters} or to prefix every line in the section with a
	comment marker.  This prevents it from being compiled or
	interpreted.  It is often done to temporarily disable the
	code, e.g. during {debugging} or when the code is redundant or
	obsolete, but is being left in the source to make the intent
	of the active code clearer.

	The word "comment" is sometimes replaced with whatever
	{syntax} is used to mark comments in the language in question,
	e.g. "hash out" ({shell script}, {Perl}), "REM out" ({BASIC}),
	etc.

	Compare {condition out}.

	[{Jargon File}]

	(1998-04-28)

commercial at

	<character> "@".  {ASCII} code 64.  Common names: at sign, at,
	strudel.  Rare: each, vortex, whorl, {INTERCAL}: whirlpool,
	cyclone, snail, ape, cat, rose, cabbage, amphora.  {ITU-T}:
	commercial at.

	The @ sign is used in an {electronic mail address} to separate
	the local part from the {hostname}.  This dates back to July
	1972 when {Ray Tomlinson} was designing the first[?] {e-mail}
	program.

	It is ironic that @ has become a trendy mark of Internet
	awareness since it is a very old symbol, derived from the
	latin preposition "ad" (at).

	Giorgio Stabile, a professor of history in Rome, has traced
	the symbol back to the Italian Renaissance in a Roman
	mercantile document signed by Francesco Lapi on 1536-05-04.

	In Dutch it is called "apestaartje" (little ape-tail), in
	German "affenschwanz" (ape tail).  The French name is
	"arobase".  In Spain and Portugal it denotes a weight of about
	25 pounds, the weight and the symbol are called "arroba".
	Italians call it "chiocciola" (snail).

	See {@-party}.

	(2003-04-28)

Commercial Internet eXchange

	<networking, body> (CIX) The CIX is a non-profit, 501(c)6,
	trade association coordinating {Internet} services.  Its
	member organisations provide {TCP/IP} or {OSI} data
	{internetwork} services to the general public.  The CIX gives
	them unrestricted access to other worldwide networks.  It also
	takes an interest in the development and future direction of
	the {Internet}.

	The CIX provides a neutral forum to exchange ideas,
	information, and experimental projects among suppliers of
	internetworking services.  The CIX broadens the base of
	national and international cooperation and coordination among
	member networks.  Together, the membership may develop
	consensus positions on legislative and policy issues of mutual
	interest.

	The CIX encourages technical research and development for the
	mutual benefit of suppliers and customers of data
	communications internetworking services.  It assists its
	member networks in the establishment of, and adherence to,
	operational, technical, and administrative policies and
	standards necessary to ensure fair, open, and competitive
	operations and communication among member networks.  CIX
	policies are formulated by a member-elected board of
	directors.

	{(http://cix.org/)}.

	(1995-01-13)

commercial off-the-shelf software

	{commercial software}

commercial software

	<software> (Or "commercial off-the-shelf software", COTS)
	{Software} that is produced for sale.  This contrasts with
	{free software}, which is produced for free distribution,
	meaning without charge and/or without restriction on further
	distribution.

	Some companies that sell software distribute some (versions)
	of products free of charge (but usually with restricted
	distribution rights), this would probably still be called
	commercial software.  Conversely, software that an individual
	distributes for free, but for which he accepts donations,
	would still be called free software.

	(2007-02-07)

Commercial Translator

	<language> An English-like pre-{COBOL} language for business
	{data processing}.

	[Sammet 1969, p. 378].

	(1994-11-08)

Committed Data Rate

	<communications> (CDR) The data transfer rate that an {ISP}
	guarantees a {virtual circuit} will carry.  The CDR is the
	data portion of {Committed Information Rate} (CIR).

	(2007-02-28)

Committed Information Rate

	<networking> (CIR) The guaranteed average {data rate} of a
	{virtual circuit} in a {frame relay} network.  The CIR plus
	the Excess Information Rate (EIR, burst rate) is equal to or
	less than the speed of the access port into the network.

	The term CIR includes voice and non-data packets that are not
	included in the {Committed Data Rate} (CDR).  CIR is generally
	used in reference to {leased lines} and similar classes of
	network services, not {dial-up}.

	(2010-05-07)

comm mode

	<chat> (Or "com mode") An {ITS} feature supporting interactive
	on-line {chat}.

	[{Jargon File}]

	(1998-01-18)

Commodore

	<company, computer> {Commodore Business Machines} or one of
	their computers such as the {Commodore 64}.

	(2010-09-14)

Commodore 1010

	<storage> A 3.5-inch floppy {disk drive} for the {Amiga}.

	(1998-12-23)

Commodore 128

	<computer> (C128) An expanded {Commodore 64}, {Commodore
	Business Machines}' last commercially released 8-bit computer.
	However, they did prototype the {Commodore 65} and {Commodore
	SX64}.

	(1996-06-05)

Commodore 1541

	<storage> The best known {floppy disk} drive for the
	{Commodore 64}.  The 1541 was a single-sided 160 Kb drive but
	converting to {flippy disks} would give another 160 Kb.

	The disk drive used {Group Code Recording} and contained a
	{6502} processor as a {disk controller}.  Some people wrote
	code for it to vibrate the head at different frequencies to
	play tunes.

	The transfer rate was about 300 bytes per second.  The 1541
	used a {bit-serial} version of the {IEEE 488} parallel
	protocol.  Some third-party speed-ups could transfer about 4
	kilobytes per second over the interface, and some "fast
	loaders" managed up to 10 kbps.

	The {Commodore 1570} was an upgraded 1541 for use with the
	{Commodore 128}.

	(2000-03-07)

Commodore 1570

	<storage> {Commodore Business Machines}'s allegedly "advanced"
	disk drive for use with the {C128}.  It is basically a {1541}
	with the capability to use "burst loading" (like the
	{Commodore 1571}), and lots of new {bugs}.

	The {Commodore 1571} was a double-sided version of the 1570.

	(1996-04-07)

Commodore 1571

	<storage> {Commodore Business Machines}'s "advanced" {disk
	drive} for the {C128}.  It was the double-sided version of the
	{Commodore 1570} disk drive but, unlike the 1570, worked quite
	well.

	The 1571 supported "{burst mode}" loading when used on a C128
	in native mode, which increased the transfer speed from 1541
	speed to about three kilobytes per second (about a 10-fold
	increase).  The 1571 could be told to emulate a {1541} for use
	with a {C64} or 1541 disks.

	Bugs in early releases of the 1571 {ROM} affected access to
	the second side of the disk.

	(1996-04-07)

Commodore 1581

	<storage> {Commodore Business Machines}'s 3.5 inch {disk
	drive} for the {Commodore 64} and {Commodore 128}.  The drive
	stores 800 {kilobytes} using an {MFM} format which is
	different from both {messy-dos} 720 kb, and the {Amiga} 880 kb
	formats.

	The 1581 supports a poor imitation of {directories} which are
	really just {partitions} and largely unused.  It also supports
	burst loading like the {Commodore 1571}, but is actually
	faster as it is better designed.  It has 3160 {blocks} free
	when formatted.

	The 1581 is the highest density C64 serial bus drive made by
	Commodore.  However Creative Micro Designs (CMD) make the
	{FD2000} (1.6MB) and (until recently) the {FD4000} (3.2MB)
	3.5" disk drives.  {GEOS} users like 1581s as they are very
	fast when used with GEOS.

	See also {Commodore 1541}, {Commodore 1571}.

	(1998-12-23)

Commodore 64

	<computer> (C64) An 8-bit {Commodore Business Machines}
	{personal computer} released around September 1981.
	Prototypes were (apparently) made before Christmas 1980 (and
	shown at some computer fair).

	The {CPU} was a {6510} from {MOS Technology} (who were a
	wholly owned subsiduary of Commodore at this time(?)).  The
	C64 had 64 {kilobytes} of {RAM} as standard and a 40-column
	text, 320x200 {pixel} display generating {composite video},
	usually connected to a television.

	{DMA}-based memory expanders for the C64 (and C128) allowed
	128, 256, and 512 kb of RAM.  Several third party
	manufacturers produce accelerators and RAM expanders for the
	C64 and C128.  (Some, risking a {holy war}, compare this to
	putting a brick on roller-skates).  Such accelerators come in
	speeds up to 20MHz (20 times the original) and RAM expanders
	to 16MB.

	The C64's {1541} 5.25 {floppy disk} drive had a {6502}
	processor as a {disk controller}.

	See also {Commodore 65}.

	["Assembly language programming with the Commodore 64", Marvin
	L. De Jong].

	(1996-06-05)

Commodore 64DX

	{Commodore 65}

Commodore 65

	<computer> (Or Commodore 64DX, C65, C64DX) The last 8-bit
	computer designed by {Commodore Business Machines}, about
	1989-1991.  The C65 boasts an {ugly} collection of {custom}
	{integrated circuits} which makes even the {Amiga} hardware
	look standard.

	The core of the C65 {chipset} is the {CSG 4510} and {CSG
	4569}.  The 4510 is a {65CE02} with two {6526} {CIAs}.  The
	4569 is equivalent to a combination of the {6569} VIC-II and
	the {MMU} of the {Commodore 64}.  The C65 also has a {DMA
	controller} (Commodore's purpose built {DMAgic}) which also
	functions as a simple {blitter}, and a {floppy controller} for
	the internal {Commodore 1581}-like disk drive.  The floppy
	controller, known as the {F011}, supports seven drives (though
	the {DOS} only supports 2).  The {4510} supports all the {C64}
	{video modes}, plus an 80 column text mode, and {bitplane}
	modes.  The bitplane modes can use up to eight bitplanes, and
	{resolutions} of up to 1280 x 400.  The {palette} is 12-bit
	like the {Amiga 500}.  It also has two SID's (MOS 8580/6581)
	for stereo audio.

	The C65 has two busses, D and E, with 64 {kilobytes} of {RAM}
	on each.  The VIC-III can access the D-bus while the CPU
	accesses the E-bus, and then they can swap around.  This
	effectively makes the whole 8MB {address space} both {chip
	ram} and {fast ram}.  {RAM} expansion is accomplished through
	a {trap door} slot in the bottom which uses a {grock} of a
	connector.  The C65 has a {C128}-like native mode, where all
	of the new features are enabled, and the CPU runs at 3.5
	megahertz with its {pipeline} enabled.  It also has a C64
	{incompatibility mode} which offers approx 50-80%
	compatibility with C64 software by turning off all its {bells
	and whistles}.  The {bells and whistles} can still be accessed
	from the C64 mode, which is dissimilar to the C128's
	inescapable C64 mode.

	Production of the C65 was dropped only a few weeks before it
	moved from the Alpha stage, possibly due to Commodore's cash
	shortage.  Commodore estimate that "between 50 and 10000"
	exist.  There are at least three in Australia, about 30 in
	Germany and "some" in the USA and Canada.

	(1996-04-07)

Commodore Business Machines

	<company> (CBM) Makers of the {PET}, {Commodore 64},
	{Commodore 16}, {Commodore 128}, and {Amiga} {personal
	computers}.  Their logo is a {chicken head}.

	The Commodore name is controlled by Commodore Licensing BV,
	now a subsidiary of Asiarim.  Commodore USA signed an
	agreement with Commodore Licensing BV.

	On 1994-04-29, Commodore International announced that it had
	been unable to renegotiate terms of outstanding loans and was
	closing down the business.  Commodore US was expected to go
	into liquidation.  Commodore US, France, Spain, and Belgium
	were liquidated for various reasons.  The names Commodore and
	Amiga were maintained after the liquidation.

	After 1994, the rights to the Commodore name bounced across
	several European companies.

	On 1995-04-21, German retailer {Escom AG} bought Commodore
	International for $14m and production of the Amiga resumed.
	Netherlands-based {Tulip Computers} took over the brand.

	Production of the 8-bit range alledgedly never stopped during
	the time in liquidation because a Chinese company were
	producing the {C64} in large numbers for the local market
	there.

	In 2004, Tulip sold the Commodore name to another Dutch firm,
	Yeahronimo, that eventually changed its name to Commodore
	International.

	In April 2008 three creditors took the company to court
	demanding a bankruptcy ruling.

	On 2010-03-17, Commodore USA announced that it was to release
	a new PC in June 2010 which looks very similar to the old
	Commodore 64 but comes with a {Core 2 Duo}, {Core 2 Quad},
	{Pentium D} or {Celeron D} processor and with {Ubuntu} {Linux}
	or {Windows 7} installed.  {PC World article
	(http://pcworld.com/article/192415)}.

	(2010-09-14)

Commodore SX64

	<computer> A "portable" {Commodore 64}.  Shaped vaguely like a
	seat cushion, this cumbersome experiment in transportable
	computers had a detachable keyboard on one end which, when
	removed, revealed a 6" {monitor} and a 5 1/4" {floppy disk}
	drive.  The curious combination of a bulky design and
	microscopic display are the most likely cause for the SX64's
	discontinuation.

	[Processor?  RAM?  Dates?]

	(1997-10-25)

COMmon Algorithmic Language

	<language> (COMAL) A language for beginners developed by
	Benedict Loefstedt and Borge Christensen in 1973 and popular
	in Europe and Scandinavia.  It has a {Pascal}-like structure
	added to {BASIC}.  COMAL-80 has been adopted as an
	introductory language in Denmark.

	There is a version for the {Amiga} and a well-supported
	version for the {PC}, running under {MS-DOS} and {Microsoft
	Windows}, called UniCOMAL.  Recently, it has been developed as
	a web-scripting language called WebCOMAL.

	{macharsoft (http://macharsoft.demon.co.uk/)}.

	There is a COMAL User's Group at 5501 Groveland Terr, Madison
	WI 53716, USA.

	["Beginning COMAL", B. Christensen, Ellis Harwood 1982].

	(2000-11-14)

Common Applications Environment

	<operating system> (CAE) Part of {X/Open}, based on {POSIX}
	and {C}.

	[Details?]

	(2007-03-01)

Common Applications Service Element

	{Common Application Service Element}

Common Architecture for Next Generation Internet Protocol

	<networking> (CATNIP, originally Common Architecture
	Technology for Next-generation Internet Protocol)

	A network architecture designed to provide a compressed form
	of the existing {network layer} {protocols} and to integrate
	{CLNP}, {IP}, and {IPX}.  It provides for any of the
	{transport layer} {protocols} in use, including {TP4}, {CLTP},
	{TCP}, {UDP}, {IPX}, and {SPX}, to run over any of the network
	layer protocol formats: CLNP, IP (version 4), IPX and CATNIP.

	CATNIP was originally proposed by Robert L. Ullmann of {Lotus
	Development Corporation} on 1993-12-22.  It was published as
	{RFC 1707} in October 1994 but it is not an {Internet}
	standard of any kind.

	(1996-03-23)

COmmon Business Oriented Language

	<language, business> /koh'bol/ (COBOL) A programming language
	for simple computations on large amounts of data, designed by
	the {CODASYL} Committee in April 1960.  COBOL's {natural
	language} style is intended to be largely self-documenting.
	It introduced the {record} structure.

	COBOL was probably the most widely used programming language
	during the 1960s and 1970s.  Many of the major programs that
	required repair or replacement due to {Year 2000} {software
	rot} issues were originally written in COBOL, and this was
	responsible for a short-lived increased demand for COBOL
	programmers.  Even in 2002 though, new COBOL programs are
	still being written in some organisations and many old COBOL
	programs are still running in {dinosaur} shops.

	Major revisions in 1968 (ANS X3.23-1968), 1974 (ANS
	X3.23-1974) and 1985.

	{Usenet} newsgroup: {news:comp.lang.cobol}.

	["Initial Specifications for a Common Business Oriented
	Language" DoD, US GPO, Apr 1960].

	(2002-02-21)

common carrier

	<communications, company> (Or "phone company") A private
	company that offers telecommunications services to the public.

	(1995-03-20)

Common Command Set

	<storage, standard> (CCS) Additional requirements and features
	for direct-access {SCSI} devices.

	In 1985 when the first {SCSI} standard was being finalised as
	an {American National Standard}, the {X3T9.2} Task Group was
	approached by some manufacturers who wanted changes.  Rather
	than delay the SCSI standard, X3T9.2 formed an ad hoc group to
	define CCS.

	[Spec?  Status?  "direct-access"?]

	(1997-03-23)

Common Communication Services

	<networking, IBM> (CCS) The standard program interface to
	networks in {IBM}'s {SAA}.

	(2007-05-14)

Common Desktop Environment

	<graphics, operating system> (CDE) A {desktop manager} from
	{COSE}.

	(1994-10-31)

Common ESP

	<language> (CESP) A {Unix}-based version of ESP ({Extended
	Self-containing Prolog}) from {Mitsubishi}'s {AI Language
	Institute}.

	(2000-07-11)

Common Gateway Interface

	<web> (CGI) A {standard} for running external
	{programs} from a {web} {HTTP} {server}.  CGI
	specifies how to pass {arguments} to the program as part of
	the HTTP request.  It also defines a set of {environment
	variables} that are made available to the program.  The
	program generates output, typically {HTML}, which the web
	server processes and passes back to the {browser}.
	Alternatively, the program can request {URL redirection}.  CGI
	allows the returned output to depend in any arbitrary way on
	the request.

	The CGI program can, for example, access information in a
	{database} and format the results as HTML.  The program can
	access any data that a normal application program can, however
	the facilities available to CGI programs are usually limited
	for security reasons.

	Although CGI programs can be compiled programs, they are more
	often written in a (semi) {interpreted language} such as
	{Perl}, or as {Unix} {shell scripts}, hence the common name
	"CGI script".

	Here is a trivial CGI script written in Perl.  (It requires
	the "CGI" module available from {CPAN}).

	 #!/usr/bin/perl
	 use CGI qw(:standard);

	 print header, start_html,
	   h1("CGI Test"),
	   "Your IP address is: ", remote_host(),
	   end_html;

	When run it produces an {HTTP} header and then a simple HTML
	page containing the {IP address} or {hostname} of the machine
	that generated the initial request.  If run from a command
	prompt it outputs:

	  Content-Type: text/html; charset=ISO-8859-1

	  <!DOCTYPE html
		  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
		   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	  <html xmlns="http://www.w3.org/1999/xhtml"
	    lang="en-US" xml:lang="en-US">
	  <head>
	  <title>Untitled Document</title>
	  <meta http-equiv="Content-Type"
	    content="text/html; charset=iso-8859-1" />
	  </head>
	  <body>
	  <h1>CGI Test</h1>Your IP address is: localhost
	  </body>
	  </html>

	The CGI program might be saved as the file "test.pl" in the
	appropriate directory on a web server,
	e.g. "/home/httpd/test".

	Accessing the appropriate {URL}, e.g.
	http://acme.com/test/test.pl, would cause the program to
	run and a custom page produced and returned.

	Early web servers required all CGI programs to be installed in
	one directory called cgi-bin but it is better to keep them
	with the HTML files to which they relate unless they are truly
	global to the site.  Similarly, it is neither necessary nor
	desirable for all CGI programs to have the extension ".cgi".

	Each CGI request is handled by a new process.  If the process
	fails to terminate for some reason, or if requests are
	received faster than the server can respond to them, the
	server may become swamped with processes.  In order to improve
	performance, {Netscape} devised {NSAPI} and {Microsoft}
	developed the {ISAPI} standard which allow CGI-like tasks to
	run as part of the main server process, thus avoiding the
	overhead of creating a new process to handle each CGI
	invocation.  Other solutions include {mod_perl} and {FastCGI}.

	Latest version: CGI/1.1.

	{(http://hoohoo.ncsa.uiuc.edu/cgi)}.

	(2007-05-22)

Common Hardware Reference Platform

	{PowerPC Platform}

Common Information Model

	<standard> (CIM) An {open systems} management {standard}
	driven by the {Distributed Management Task Force} (DMTF).

	(2003-06-07)

Common Intermediate Format

	<communications, standard> (CIF) A {video} format used in
	{videoconferencing} systems, which supports both {NTSC} and
	{PAL} signals, with a {data rate} of 30 {frames per second}
	(fps), with each {frame} containing 288 lines and 352
	{luminance} {pixels} per line.  CIF is part of the {ITU}
	{H.261} videoconferencing standard.

	CIF is also known as Full CIF (FCIF) to distinguish it from
	{Quarter CIF} (QCIF), a related video format standard that
	transfers one fourth as much data as CIF.

	(2007-05-14)

Common Intermediate Language

	<language> (CIL)

	[Details?]

	["Construction of a Transportable, Milti-Pass Compiler for
	Extended Pascal", G.J. Hansen et al, SIGPLAN Notices
	14(8):117-126, Aug 1979].

	(1994-10-24)

Common Internet File System

	<protocol> (CIFS) An {Internet} {file system} {protocol},
	based on {Microsoft}'s {SMB}.  Microsoft has given CIFS to the
	{Internet Engineering Task Force} (IETF) as an Internet Draft.
	CIFS is intended to complement existing protocols such as
	{HTTP}, {FTP}, and {NFS}.

	CIFS runs on top of {TCP/IP} and uses the Internet's {Domain
	Name Service} (DNS).  It is optimised to support the slower
	speed {dial-up} connections common on the Internet.

	CIFS is more flexible than FTP.  FTP operations are carried
	out on entire files whereas CIFS is aimed at routine data
	access and incorporates high-performance multi-user read and
	write operations, {locking}, and file-sharing semantics.

	CIFS is probably closest in functionality to NFS.  NFS gives
	random access to files and directories, but is {stateless}.
	With CIFS, once a file is open, state about the current access
	to that file is stored on both the client and the server.
	This allows changes on the server side to be notified to the
	clients	that are interested.

	{Microsoft Overview
	(http://msdn.microsoft.com/library/en-us/fileio/base/cifs_smb_protocol_overview.asp)}.

	{SNIA page (http://snia.org/tech_activities/CIFS/)}.

	{CIFS: A Common Internet File System, Paul Leach and Dan Perry
	(http://microsoft.com/Mind/1196/CIFS.htm)}.

	{IETF Specification. CIFS version 1
	(ftp://ietf.org/internet-drafts/draft-leach-cifs-v1-spec-01.txt)}.

	(2003-03-12)

Common-ISDN-API

	{Common ISDN Application Programming Interface}

Common ISDN Application Programming Interface

	<networking> (CAPI, Common-ISDN-API) A programming interface
	standard for an application program to communicate with an
	{ISDN} card.

	Work on CAPI began in 1989, focussing on the German ISDN
	protocol, and was finished in 1990 by a CAPI working group
	consisting of application providers, ISDN equipment
	manufacturers, large customers, user groups and DBP Telekom,
	resulting in COMMON-ISDN-API Version 1.1.  Following
	completion of the international protocol specification, almost
	every telecommunication provider offers {BRI} and {PRI} with
	{protocols} based on {Q.931} / ETS 3009 102.  Common-ISDN-API
	Version 2.0 was developed to support all Q.931 protocols.

	Latest version: 2.0, as of 1998-09-07.

	{(http://capi.org/)}.

	[Why not CIAPI?]

	(1998-09-07)

Common Lisp

	<language> A dialect of {Lisp} defined by a consortium of
	companies brought together in 1981 by the {Defence Advanced
	Research Projects Agency} (DARPA).  Companies included
	{Symbolics}, {Lisp Machines, Inc.}, {Digital Equipment
	Corporation}, {Bell Labs}., {Xerox}, {Hewlett-Packard},
	{Lawrence Livermore Labs}., {Carnegie-Mellon University},
	{Stanford University}, {Yale}, {MIT} and {USC Berkeley}.
	Common Lisp is {lexically scoped} by default but can be
	{dynamically scoped}.

	Common Lisp is a large and complex language, fairly close to a
	superset of {MacLisp}.  It features {lexical binding}, data
	structures using defstruct and setf, {closures}, multiple
	values, types using declare and a variety of numerical types.
	Function calls allow "&optional", keyword and "&rest"
	arguments.  Generic sequence can either be a list or an
	{array}.  It provides formatted printing using escape
	characters.  Common LISP now includes {CLOS}, an extended LOOP
	{macro}, condition system, {pretty printing} and logical
	pathnames.

	Implementations include {AKCL}, {CCL}, {CLiCC}, {CLISP},
	{CLX}, {CMU Common Lisp}, {DCL}, {KCL}, {MCL} and {WCL}.

	Mailing list: <common-lisp@ai.sri.com>.

	{ANSI Common Lisp draft proposal
	(ftp://ftp.think.com/public/think/lisp:public-review.text)}.

	["Common LISP: The Language", Guy L. Steele, Digital Press
	1984, ISBN 0-932376-41-X].

	["Common LISP: The Language, 2nd Edition", Guy L. Steele,
	Digital Press 1990, ISBN 1-55558-041-6].

	(1994-09-29)

Common LISP in Parallel

	<language, parallel> (CLIP) A version of {Common LISP} from
	{Allegro} for the {Sequent Symmetry}.

	(1994-12-12)

Common LISP Object System

	<language> (CLOS) An {object-oriented} extension to {Common
	LISP}, based on {generic functions}, {multiple inheritance},
	{declarative method combination} and a {meta-object protocol}.
	A descendant of {CommonLoops} and based on {Symbolics}
	{FLAVORS} and {Xerox} {LOOPS}, among others.

	See also {PCL}.

	["Common LISP Object System Specification X3J13 Document
	88-002R", D.G.  Bobrow et al, SIGPLAN Notices 23, Sep 1988].

	(1994-11-30)

CommonLoops

	<language> {Xerox}'s {object-oriented} {Lisp} which led to
	{CLOS}.

	See also {Portable CommonLoops}.

	{(ftp://arisia.xerox.com/pub/pcl/September-16-92-PCL-c.tar.Z)}.

	["CommonLoops: Merging Lisp and Object-Oriented Programming",
	D.G. Bobrow et al, SIGPLAN Notices 21(11):17-29, Nov 1986].

	(1999-07-02)

Common Management Information Protocol

	<protocol> (CMIP) Part of the {OSI} body of {standards}
	specifying {protocol} elements that may be used to provide the
	operation and notification services described in the related
	standard, CMIS ({Common Management Information Services}).

	Document: {ISO}/{IEC} 9596, or equivalent {ITU} X.711.

	(1997-12-07)

Common Management Information Services

	<networking> (CMIS) Part of the {OSI} body of network
	{standards}.

	Network management information services are used by {peer
	process}es to exchange information and commands for the
	purpose of {network management}.  CMIS defines a message set
	(GET, CANCEL-GET, SET, CREATE, DELETE, EVENT-REPORT and
	ACTION), and the structure and content of the messages such
	that they might be used by "open" systems.  In concept, it is
	similar to {SNMP}, but more powerful (and hence more complex).

	{ISO}/{IEC} 9595.

	(2007-08-07)

Common Object File Format

	<file format> (COFF) The {executable file} and {object file}
	format used by {Unix System V} Release 3 and later.

	{Unix manual page}: coff(5).

	(2007-08-15)

Common Object Model

	{Component Object Model}

Common Object Request Broker Architecture

	<standard, programming> (CORBA) An {Object Management Group}
	specification which provides a standard messaging interface
	between distributed {objects}.

	The original CORBA specification (1.1) has been revised
	through version 2 (CORBA 2) with the latest specification
	being version 3 (CORBA 3).  In its most basic form CORBA
	consists of the {Interface Definition Language} (IDL) and the
	Dynamic Invocation Interface (DII).

	The IDL definition is complied into a Stub (client) and
	Skeleton (server) component that communicate through an
	{Object Request Broker} (ORB).  When an ORB determines that a
	request is to a remote object, it may execute the request by
	communicating with the remote ORB.

	The Corba IDL can be mapped to a number of languages including
	{C}, {C++}, {Java}, {COBOL}, {Smalltalk}, {Ada}, {Lisp},
	{Python}, and {IDLscript}.  CORBA ORBs are widely available
	for a number of platforms.  The OMG standard for inter-ORB
	communication is {IIOP}, this ensures that all CORBA 2
	compliant ORBS are able to interoperate.

	Latest version: Corba 3.0.3 2004-03-12, as of 2007-09-04.

	See also {COSS}, {Component Object Model}, {RMI}.

	{OMG CORBA specs
	(http://www.omg.org/technology/documents/corba_spec_catalog.htm)}.

	(2007-09-04)

Common Objects

	<language> An {object-oriented} {Lisp} from {Hewlett-Packard}.

	["Inheritance and the Development of Encapsulated Software
	Components", A. Snyder, Proc 20th Hawaii Conf on Sys Sci,
	pp. 227-238, 1987].

	(1995-01-18)

Common Program Interface

	<programming> (CPI) The {API} of {SAA}.

	(1997-12-01)

Common User Access

	<programming> (CUA) The {user interface} standard of {SAA}.

	(1997-12-01)

Commonwealth Hackish

	<jargon> Hacker jargon as spoken outside the US, especially in
	the British Commonwealth.  It is reported that Commonwealth
	speakers are more likely to pronounce truncations like "char"
	and "soc", etc., as spelled (/char/, /sok/), as opposed to
	American /keir/ and /sohsh/.  Dots in {newsgroup} names
	(especially two-component names) tend to be pronounced more
	often (so soc.wibble is /sok dot wib'l/ rather than /sohsh
	wib'l/).  The prefix {meta} may be pronounced /mee't*/;
	similarly, Greek letter beta is usually /bee't*/, zeta is
	usually /zee't*/, and so forth.  Preferred {metasyntactic
	variables} include {blurgle}, "eek", "ook", "frodo", and
	"bilbo"; "wibble", "wobble", and in emergencies "wubble";
	"banana", "tom", "dick", "harry", "wombat", "frog", {fish},
	and so on and on (see {foo}).

	Alternatives to verb doubling include suffixes "-o-rama",
	"frenzy" (as in feeding frenzy), and "city" (examples: "barf
	city!"  "hack-o-rama!"  "core dump frenzy!").  Finally, note
	that the American terms "parens", "brackets", and "braces" for
	(), [], and {} are uncommon; Commonwealth hackish prefers
	"brackets", "square brackets", and "curly brackets".  Also,
	the use of "pling" for {bang} is common outside the United
	States.

	See also {attoparsec}, {calculator}, {chemist}, {console
	jockey}, {fish}, {go-faster stripes}, {grunge}, {hakspek},
	{heavy metal}, {leaky heap}, {lord high fixer}, {loose bytes},
	{muddie}, {nadger}, {noddy}, {psychedelicware}, {plingnet},
	{raster blaster}, {RTBM}, {seggie}, {spod}, {sun lounge},
	{terminal junkie}, {tick-list features}, {weeble}, {weasel},
	{YABA}, and notes or definitions under {Bad Thing}, {barf},
	{bum}, {chase pointers}, {cosmic rays}, {crippleware},
	{crunch}, {dodgy}, {gonk}, {hamster}, {hardwarily},
	{mess-dos}, {nibble}, {proglet}, {root}, {SEX}, {tweak} and
	{xyzzy}.

	[{Jargon File}]

	(1995-01-18)

Communicating Functional Processes

	<language> (CFP) A parallel {functional programming} language.

	["Communicating Functional Processes", M.C. van Eekelen et al,
	TR 89-3, U Nijmegen, Netherlands, 1989].

	(1994-11-30)

Communicating Sequential Processes

	<language, parallel> (CSP) A notation for {concurrency} based
	on {synchronous message passing} and selective communications
	designed by {Anthony Hoare} in 1978.  It features {cobegin}
	and coend and was a precursor to {occam}.

	See also {Contextually Communicating Sequential Processes}.

	["Communicating Sequential Processes", A.R. Hoare, P-H 1985].

	(1994-11-01)

Communication and Network Riser

	<hardware, standard> (CNR) A specification for {audio},
	{modem}, {USB} and {Local Area Networking} interfaces of core
	computer logic {chip sets}.  {Intel} introduced CNR on
	2000-02-07.  It was mainly developed by hardware and software
	developers who helped release AMR ({Audio/Modem Riser}) and is
	used by several computer manufacturers.

	{(http://www.computerhope.com/jargon/c/cnr.htm)}.

	(2007-03-15)

Communications Decency Act

	<legal> (CDA) An amendment to the U.S. 1996 Telecommunications
	Bill that went into effect on 1996-02-08.  The law, originally
	proposed by Senator James Exon to protect children from
	obscenity on the Internet, ended up making it punishable by
	fines of up to $250,000 to post indecent language on the
	Internet anywhere that a minor could read it.

	Thousands of outraged {Internet} users turned their {web
	pages} black in protest or displayed the {Electronic Frontier
	Foundation}'s special {icons}.

	On 1996-06-12, a three-judge panel in Philadelphia ruled the
	CDA unconstitutional and issued an injunction against the
	United States Justice Department forbidding them to enforce
	the "indecency" provisions of the law.  Internet users
	celebrated by displaying an animated "Free Speech" fireworks
	icon to their web pages, courtesy of the {Voters
	Telecommunications Watch}.  The Justice Department appealed
	the decision to the U.S. Supreme Court.

	(1996-11-03)

Communications of the ACM

	<publication> (CACM) A monthly publication by the {Association
	for Computing Machinery} sent to all members.  CACM is an
	influential publication that keeps computer science
	professionals up to date on developments.  Each issue includes
	articles, case studies, practitioner oriented pieces, regular
	columns, commentary, departments, the ACM Forum, technical
	correspondence and advertisements.

	{(http://acm.org/cacm/)}.

	(1995-01-18)

communications port

	<hardware, communications> A connector for a communications
	interface, usually, a {serial port}.

	(1996-08-04)

Communications Server

	<operating system> {IBM}'s rebranding of {ACF}.

	(1999-01-20)

communications software

	<communications, software> {Application programs}, {operating
	system} components, and probably {firmware}, forming part of a
	{communication system}.  These different software components
	might be classified according to the functions within the
	{Open Systems Interconnect} model which they provide.

	Typical applications include a {web browser}, {Mail User
	Agent}, {chat} and {telnet}.

	(2001-03-18)

communication system

	<communications> A system or facility for transfering data
	between persons and equipment.  The system usually consists of
	a collection of individual communication {networks},
	transmission systems, relay stations, tributary stations and
	{terminal} equipment capable of interconnection and
	interoperation so as to form an integrated whole.  These
	individual components must serve a common purpose, be
	technically compatible, employ common procedures, respond to
	some form of control and generally operate in unison.

	["Communications Standard Dictionary", 2nd Edition, Martin
	H. Weik].

	(1995-02-06)

Community of Massive Gaming Agency

	<body> (CMGA) An online {gaming portal} introduced by German Telekom.

	(2003-06-15)

COMNET

	<simulation, networking> A {simulation} tool from {CACI} for
	analysing wide-area voice or data networks, based on
	{SIMSCRIPT}.

	(2008-10-13)

compact

	1. <theory> (Or "finite", "isolated") In {domain theory}, an
	element d of a {cpo} D is compact if and only if, for any
	{chain} S, a subset of D,

		d <= lub S  =>  there exists s in S such that d <= s.

	I.e. you always reach d (or better) after a finite number of
	steps up the chain.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	[{Jargon File}]

	(1995-01-13)

	2. <jargon> Of a design, describes the valuable property that
	it can all be apprehended at once in one's head.  This
	generally means the thing created from the design can be used
	with greater facility and fewer errors than an equivalent tool
	that is not compact.  Compactness does not imply triviality or
	lack of power; for example, {C} is compact and {Fortran} is
	not, but C is more powerful than Fortran.  Designs become
	non-compact through accreting {features} and {cruft} that
	don't merge cleanly into the overall design scheme (thus, some
	fans of {Classic C} maintain that {ANSI C} is no longer
	compact).

	(2008-10-13)

Compact COBOL

	<language> A subset of {COBOL} defined, but not published,
	ca. 1961.

	[Sammet 1969, p. 339].

	(2008-10-13)

Compact Disc

	<storage> (CD) (Not "disk", this spelling is part of the
	standard).

	A 4.72 inch disc developed by {Sony} and {Philips} that can
	store, on the same disc, still and/or moving images in
	monochrome and/or color; stereo or two separate sound tracks
	integrated with and/or separate from the images; and digital
	program and information files.

	The same fabrication process is used to make both audio CDs
	and {CD-ROMs} for storing computer data, the only difference
	is in the device used to read the CD (the player or drive).

	{CD Information Center
	(http://cd-info.com/cd-info/CDInfoCenter.html)}.

	(1999-06-23)

Compact Disc interactive

	<storage> (CD-i) An embedded application of {CD-ROM} allowing
	the user limited interaction with films, games and educational
	applications via a special {controller}.

	(1994-11-02)

Compact Disc Read-Only Memory

	<storage> (CD-ROM) A {non-volatile} optical data storage
	medium using the same physical format as audio {compact
	discs}, readable by a computer with a CD-ROM drive.

	CD-ROM is popular for distribution of large databases,
	software and especially {multimedia} {applications}.  The
	maximum capacity is about 600 megabytes.  A CD can store
	around 640 {megabytes} of data - about 12 billion bytes per
	pound weight.

	CD-ROM drives are rated with a speed factor relative to music
	CDs (1x or 1-speed which gives a data transfer rate of 150
	{kilobytes} per second).  12x drives were common in April
	1997.  Above 12x speed, there are problems with vibration and
	heat.  {Constant angular velocity} (CAV) drives give speeds up
	to 20x but due to the nature of CAV the actual throughput
	increase over 12x is less than 20/12.

	20x was thought to be the maximum speed due to mechanical
	constraints but on 1998-02-24, {Samsung Electronics}
	introduced the SCR-3230, a 32x CD-ROM drive which uses a ball
	bearing system to balance the spinning CD-ROM in the drive to
	reduce noise.

	CD-ROM drives may connect to an {IDE} interface, a {SCSI}
	interface or a propritary interface, of which there are three
	- Sony, Panasonic, and Mitsumi.  Most CD-ROM drives can also
	play audio CDs.

	There are several formats used for CD-ROM data, including
	{Green Book CD-ROM}, {White Book CD-ROM} and {Yellow Book
	CD-ROM}.  {ISO 9660} defines a standard {file system}, later
	extended by {Joliet}.

	See also {Compact Disc Recordable}, {Digital Versatile Disc}.

	{Byte, February 1997
	(http://byte.com/art/9702/sec17/art5.htm)}.

	(2006-09-25)

Compact Disc Read-Write

	{Compact Disc Rewritable}

Compact Disc Recordable

	<storage> (CD-R) A write-once version of {CD-ROM}.  CD-Rs can
	hold about 650 {megabytes} of data.  They are very durable and
	can be read by normal CD-ROM drives, but once data has been
	written it cannot be altered.

	Standard prerecorded CDs have their information permanently
	stamped into an aluminium reflecting layer.  CD-R discs have a
	dye-based recording layer and an additional golden reflecting
	layer.

	Digital information is written to the disc by burning
	(forming) pits in the recording layer in a pattern
	corresponding to that of a conventional CD.

	The laser beam heats the substrate and recording layer to
	approximately 250 C.  The recording layer melts and the
	substrate expands into the space that becomes available.

	{Phillips: New Technologies
	(http://www-us.sv.philips.com/newtech/cdrewritable.html)}.

	See also {CD-RW} and {DVD-RAM}.

	(1999-08-01)

Compact Disc Rewritable

	<storage> (CD-RW) A rewritable version of {CD-ROM}.  A CD-RW
	drive can write about 650 {megabytes} of data to CD-RW media
	an unlimited number of times.  Most CD-RW drives can also
	write once to {CD-R} media.

	CD-RW media cannot be read by CD-ROM drives built prior to
	1997 due to the reduced reflectivity (15% compared to 70%) of
	CD-RW media.

	CD-RW drives and media are currently (1999) more expensive
	than {CD-R} drives and media.  CD-R is sometimes considered a
	better technology for archival purposes as the data cannot be
	accidentally modified or tampered with, and encourages better
	archival practices.

	Standard prerecorded CDs have their information permanently
	stamped into an aluminium reflecting layer.  CD-WR discs have
	a phase-change recording layer and an additional silver
	(aluminium) reflecting layer.

	A laser beam can melt crystals in the recording layer into a
	non-crystalline amorphous phase or anneal them slowly at a
	lower temperature back to the crystalline state.  The different
	reflectance of the areas make them appear as the 'pits' and
	'lands' of a standard CD.

	{Phillips: New Technologies
	(http://www-us.sv.philips.com/newtech/cdrewritable.html)}.

	See also {CD-R} and {DVD-RAM}.

	(1999-08-01)

Compact Disc writer

	<storage> (CD burner) A device that can write data to {Compact
	Disc Recordable} (CD-R) or {Compact Disc Rewritable} (CD-RW)
	discs.  Now both these CD formats are often combined with a
	{DVD writer}.

	(2008-09-16)

compaction

	{compression}

compactness preserving

	<theory> In {domain theory}, a {function} f is compactness
	preserving if f c is {compact} whenever c is.

	(1995-01-13)

Compaq Computer Corporation

	<company> A US manufacturer and vendor of {IBM PC compatible}
	{personal computers} and servers.  Compaq was started in 1982
	by three ex-{Texas Instruments} employees and by 1995 had
	become the largest PC manufacturer.

	Quarterly sales $2499M, profits $210M (Aug 1994).

	Compaq was acquired by {Hewlett-Packard} in 2004.

	{(http://compaq.com/)}.

	(1995-10-24)

Compas Pascal

	The predecessor of {Turbo Pascal}, sol by {POLY Data} of
	Denmark.  It was later renamed POLY Pascal, and afterward
	sold to {Borland}.

	(1995-01-19)

COMPASS

	COMPrehensive ASSembler.

	The {assembly language} on {CDC} computers.

	(1995-01-19)

compatibility

	{compatible}

compatible

	<jargon> Different systems (e.g., {programs}, {file formats},
	{protocols}, even {programming languages}) that can work
	together or exchange data are said to be compatible.

	See also {backward compatible}, {forward compatible}.

	(1998-01-15)

Compatible Timesharing System

	<operating system> (CTSS) One of the earliest (1963)
	experiments in the design of interactive {time-sharing}
	{operating systems}.  CTSS was ancestral to {Multics}, {Unix},
	and {ITS}.  It was developed at the {MIT} Computation Center
	by a team led by Fernando J. Corbato.  CTSS ran on a modified
	{IBM 7094} with a second 32K-word bank of memory, using two
	{2301 drums} for swapping.  {Remote access} was provided to up
	to 30 users via an {IBM 7750} {communications controller}
	connected to {dial-up} {modems}.

	The name {ITS} (Incompatible {time-sharing} System) was a hack
	on CTSS, meant both as a joke and to express some basic
	differences in philosophy about the way I/O services should be
	presented to user programs.

	(1997-01-29)

Compel

	{COMpute ParallEL}

Competitive Access Provider

	<networking> (CAP, or "Bypass Carrier") A company which
	provides network links between the customer and the
	{IntereXchange Carrier} or even directly to the {Internet
	Service Provider}.  CAPs operate private networks independent
	of {Local Exchange Carriers}.

	["Getting Connected The Internet at 56k and Up", Kevin Dowd,
	First Edition, p. 49, O'Reilly & Associates, Inc., June 1996,
	ISBN 1-56592-154-2 (US), ISBN 1-56592-203-4 (international)].

	(1997-07-23)

Compiled HTML

	<filename extension> A {Microsoft} file format for
	distributing a collection of {HTML} files, along with their
	associated images, sounds, etc., as a single compressed
	archive file.

	Microsoft use this format for {Windows} {HTML Help} files.
	Most chms include a project (.hhp) file listing the included
	files and basic settings, a contents (.hhc) file, an index
	(.hhk) file, html files, and, optionally, image files.

	Users view chms with hh.exe, the HTML Help viewer installed
	with {Internet Explorer}.

	Filename extension: .chm.

	{(http://msdn.microsoft.com/library/en-us/htmlhelp/html/vsconHH1Start.asp)}.

	(2003-05-17)

compiler

	<programming, tool> A program that converts another program
	from some {source language} (or {programming language}) to
	{machine language} (object code).  Some compilers output
	{assembly language} which is then converted to {machine
	language} by a separate {assembler}.

	A compiler is distinguished from an assembler by the fact that
	each input statement does not, in general, correspond to a
	single machine instruction or fixed sequence of instructions.
	A compiler may support such features as automatic allocation
	of variables, arbitrary arithmetic expressions, control
	structures such as FOR and WHILE loops, variable {scope},
	input/ouput operations, {higher-order functions} and
	{portability} of source code.

	{AUTOCODER}, written in 1952, was possibly the first primitive
	compiler.  {Laning and Zierler}'s compiler, written in
	1953-1954, was possibly the first true working algebraic
	compiler.

	See also {byte-code compiler}, {native compiler}, {optimising
	compiler}.

	(1994-11-07)

COmpiler and GENeralized Translator

	<language> (COGENT) A {compiler} writing language with
	pattern-directed string and list processing features, for {CDC
	3600} and {CDC} 3800.  A COGENT program consists of
	{productions} defining a {context-free} language, plus
	analysis and synthesis function generators.

	["COGENT Programming Manual", J.C. Reynolds, ANL-7022, Argonne,
	Mar 1965].

	[Sammet 1969, p.638].

	["An Introduction to the COGENT System", J.C. Reynolds, Proc
	ACM 20th Natl Conf, 1965].

	(1994-12-23)

compiler compiler

	{compiler-compiler}

Compiler-Compiler

	An early {compiler generator} for the {Atlas}, with its own
	distinctive input language.

	["The Compiler-Compiler", R.A. Brooker et al, Ann Rev
	Automatic Programming 3:229-275, Pergamon 1963].

	(1994-10-24)

compiler-compiler

	A utility to generate the {source code} of a {parser},
	{interpreter} or {compiler} from an annotated language
	description (usually in {BNF}).  Most so called
	compiler-compilers are really just {parser generators}.

	Examples are {Bison}, {Eli}, {FSL}, {META 5}, {MUG2},
	{Parsley}, {Pre-cc}, {Yacc}.

	(1995-01-23)

compiler jock

	A programmer who specialises in writing {compilers}.

	[{Jargon File}]

	(1995-01-19)

Compiler Language for Information Processing

	(CLIP) A language written in 1958-1959, based on {IAL}, which
	led to {JOVIAL}.  CLIP was one of the first languages used to
	write its own {compiler}.

	[Sammet 1969, p. 635].

	(1994-12-12)

Compiler Target Language

	(CTL) The intermediate language used by the {ALICE} parallel
	machine.

	["The Design and Implementation of ALICE: A Parallel Graph
	Reduction Machine", M.D. Cripps et al, Proc Workshop on Graph
	Reduction, Springer 1987].

	(1994-11-14)

compile time

	<programming> The period of time during which a program's
	{source code} is being translated into {machine code}, as
	opposed to {run time} when the program is being executed.  As
	well as the work done by the {compiler}, this may include
	macro preprocessing as done by {cpp} for example.  The final
	stage of program construction, performed by the {linker},
	would generally also be classed as compile time but might be
	distinguished as {link time}.

	For example, {static data} in a {C} program is allocated at
	compile time whereas non-static data is allocated at {run
	time}, typically on the {stack}.

	(2004-09-28)

COMPL

	<language, operating system>

	["The COMPL Language and Operating System", A.G. Fraser et al,
	Computer J 9(2):144-156, 1966].

	(1995-01-24)

complement

	<logic> The other value or values in the set of possible
	values.

	See {logical complement}, {bitwise complement}, {set
	complement}.

	(1995-01-24)

Complementary Metal Oxide Semiconductor

	<integrated circuit> (CMOS) A {semiconductor} fabrication
	technology using a combination of n- and p-doped semiconductor
	material to achieve low {power dissipation}.  Any path through
	a {gate} through which {current} can flow includes both n and
	p type {transistors}.  Only one type is turned on in any
	{stable state} so there is no {static power dissipation} and
	current only flows when a gate switches in order to charge the
	{parasitic capacitance}.

	(1999-06-04)

complementary nondeterministic polynomial

	<complexity> (Co-NP) The set (or property) of problems with a
	yes/no answer where the complementary no/yes problem takes
	{nondeterministic polynomial time} ({NP}).

	For example, "Is n prime" is Co-NP and "Is n not prime" is NP,
	since it is only necessary to find one {factor} to prove that
	n is not {prime} whereas to prove that it is prime all possible
	factors must be eliminated.

	(2009-05-21)

complete

	See also {complete graph}, {complete inference system},
	{complete lattice}, {complete metric space}, {complete partial
	ordering}, {complete theory}.

	[1. or 2. or both?]

	(1996-04-24)

complete graph

	A {graph} which has a link between every pair of nodes.  A
	complete {bipartite graph} can be partitioned into two subsets
	of nodes such that each node is joined to every node in the
	other subset.

	(1995-01-24)

complete inference system

	<logic> An {inference} system A is complete with respect to
	another system B if A can reach every conclusion which is true
	in B.  The dual to completeness is {soundness}.

	(1998-07-05)

complete lattice

	A {lattice} is a {partial ordering} of a set under a relation
	where all finite subsets have a {least upper bound} and a
	{greatest lower bound}.  A complete lattice also has these for
	infinite subsets.  Every finite lattice is complete.  Some
	authors drop the requirement for {greatest lower bounds}.

	(1994-12-02)

complete metric space

	<theory> A {metric space} in which every sequence that
	converges in itself has a limit.  For example, the space of
	{real numbers} is complete by {Dedekind's axiom}, whereas the
	space of {rational numbers} is not - e.g. the sequence a[0]=1;
	a[n_+1]:=a[n]/2+1/a[n].

	(1998-07-05)

completeness

	{complete}

complete partial ordering

	<theory> (cpo) A {partial ordering} of a {set} under a
	{relation}, where all {directed} {subsets} have a {least upper
	bound}.  A cpo is usually defined to include a least element,
	{bottom} (David Schmidt calls this a {pointed cpo}).  A cpo
	which is {algebraic} and {boundedly complete} is a (Scott)
	{domain}.

	(1994-11-30)

complete theory

	<logic> An abstract logical {theory} in which all true
	statements have formal {proofs} within the theory.

	(1998-07-05)

complete unification

	<programming> W.P. Weijland's name for {unification} without
	{occur check}.

	(1996-01-11)

Complex Instruction Set Computer

	(CISC) A processor where each instruction can perform several
	low-level operations such as memory access, arithmetic
	operations or address calculations.  The term was coined in
	contrast to {Reduced Instruction Set Computer}.

	Before the first RISC processors were designed, many computer
	architects were trying to bridge the "{semantic gap}" - to
	design {instruction sets} to support {high-level languages} by
	providing "high-level" instructions such as procedure call and
	return, loop instructions such as "decrement and branch if
	non-zero" and complex {addressing modes} to allow data
	structure and {array} accesses to be compiled into single
	instructions.

	While these architectures achieved their aim of allowing
	high-level language constructs to be expressed in fewer
	instructions, it was observed that they did not always result
	in improved performance.  For example, on one processor it was
	discovered that it was possible to improve the performance by
	NOT using the procedure call instruction but using a sequence
	of simpler instructions instead.  Furthermore, the more
	complex the instruction set, the greater the overhead of
	decoding an instruction, both in execution time and silicon
	area.  This is particularly true for processors which used
	{microcode} to decode the (macro) instruction.  It is easier
	to debug a complex instruction set implemented in microcode
	than one whose decoding is "{hard-wired}" in silicon.

	Examples of CISC processors are the {Motorola} {680x0} family
	and the {Intel 80186} through {Intel 486} and {Pentium}.

	(1994-10-10)

complexity

	<algorithm> The level in difficulty in solving mathematically
	posed problems as measured by the time, number of steps or
	arithmetic operations, or memory space required (called time
	complexity, computational complexity, and space complexity,
	respectively).

	The interesting aspect is usually how complexity scales with
	the size of the input (the "{scalability}"), where the size of
	the input is described by some number N.  Thus an {algorithm}
	may have computational complexity O(N^2) (of the order of the
	square of the size of the input), in which case if the input
	doubles in size, the computation will take four times as many
	steps.  The ideal is a constant time algorithm (O(1)) or
	failing that, O(N).

	See also {NP-complete}.

	(1994-10-20)

complexity analysis

	In sructured program design, a quality-control operation that
	counts the number of "compares" in the logic implementing a
	function; a value of less than 10 is considered acceptable.

complexity class

	<algorithm> A collection of {algorithms} or {computable
	functions} with the same {complexity}.

	(1996-04-24)

complexity measure

	<algorithm> A quantity describing the {complexity} of a
	computation.

	(1996-04-24)

complex number

	<mathematics> A number of the form x+iy where i is the square
	root of -1, and x and y are {real numbers}, known as the
	"real" and "imaginary" part.  Complex numbers can be plotted
	as points on a two-dimensional plane, known as an {Argand
	diagram}, where x and y are the {Cartesian coordinates}.

	An alternative, {polar} notation, expresses a complex number
	as (r e^it) where e is the base of {natural logarithms}, and r
	and t are real numbers, known as the magnitude and phase.  The
	two forms are related:

		r e^it = r cos(t) + i r sin(t)
		       = x + i y
	where
		x = r cos(t)
		y = r sin(t)

	All solutions of any {polynomial equation} can be expressed as
	complex numbers.  This is the so-called {Fundamental Theorem
	of Algebra}, first proved by Cauchy.

	Complex numbers are useful in many fields of physics, such as
	electromagnetism because they are a useful way of representing
	a magnitude and phase as a single quantity.

	(1995-04-10)

complex programmable logic device

	<hardware> (CPLD) A programmable circuit similar to an {FPGA},
	but generally on a smaller scale, invented by {Xilinx, Inc}.

	(1998-09-26)

component

	<programming> An {object} adhering to a {component
	architecture}.

	(1997-11-20)

component architecture

	<programming> A notion in {object-oriented} programming where
	"components" of a program are completely generic.  Instead of
	having a specialised set of {methods} and {fields} they have
	generic methods through which the component can advertise the
	functionality it supports to the system into which it is
	loaded.  This enables completely {dynamic loading} of
	{objects}.  {JavaBeans} is an example of a component
	architecture.

	See also {design pattern}.

	(1997-11-20)

component based development

	<programming> (CBD) The creation, integration, and {re-use} of
	{components} of program code, each of which has a common
	interface for use by multiple systems.

	(1999-08-23)

Component Integration Laboratories

	<project> (CIL) An effort to create a common framework for
	interoperability between {application programs} on {desktop}
	{platforms}, formed by {Apple Computer, Inc.}, {IBM},
	{Novell}, {Oracle}, {Taligent}, {WordPerfect} and {Xerox}.

	[When?  What happened?]

	(1994-10-24)

Component Object Model

	<programming> (COM) An open software architecture from {DEC}
	and {Microsoft}, allowing interoperation between
	{ObjectBroker} and {OLE}.  Microsoft evolved COM into {DCOM}.

	On page XV of Box's book in the foreword by Charlie Kindel he
	says, "It is Mark Ryland's fault that some people call COM the
	'Common Object Model.'  He deeply regrets it and apologizes
	profusely."

	["Essential COM", Don Box].

	[Details?  URL?]

	(1999-06-12)

com port

	{communications port}

composite

	{aggregate}

composition

	1. {function composition}.

	2. {typesetting}.

Compositional C++

	<language, parallel> (CC++) Extensions to {C++} for
	{compositional parallel programming}.

	{FTP Caltech (ftp://csvax.cs.caltech.edu/pub/comp)}.

	[Did Carl Kesselman at Cal Tech develop it?]

	(2000-08-16)

Compound Document Architecture

	<file format> (CDA) {DEC}'s set of {standards} for compound
	document creation, storage, retrieval, interchange and
	manipulation.

	(1996-11-03)

compound key

	<database> (Or "multi-part key", "concatenated key") A {key}
	which consists of more than one {attribute} of the body of
	information (e.g. database "{record}") it identifies.

	(1997-04-26)

COMPREHENSIVE

	An early system on {MIT}'s {Whirlwind}.

	[Listed in CACM 2(5):16, May 1959].

	(2002-06-03)

Comprehensive Perl Archive Network

	<tool> (CPAN) A collection of {Internet} {archives} containing
	material related to the {Perl} programming language.

	{(http://perl.com/CPAN)}.

	(1999-12-04)

Comprehensive TeX Archive Network

	<text> (CTAN) An {archive site} for the {TeX} text formatting
	package.

	{(http://tex.ac.uk)}.  {Gopher
	(gopher://gopher.tex.ac.uk/)}.  {(ftp://ftp.tex.ac.uk/)}.
	NFS: nfs.tex.ac.uk.

	(1995-01-18)

compress

	1. To feed data through any {compression} {algorithm}.

	2. <tool> The {Unix} program "compress", now largely
	supplanted by {gzip}.

	Unix compress was written in {C} by Joseph M. Orost, James
	A. Woods et al., and was widely circulated via {Usenet}.  It
	uses the {Lempel-Ziv Welch} {algorithm} and normally produces
	files with the suffix ".Z".

	Compress uses variable length codes.  Initially, nine-bit
	codes are output until they are all used.  When this occurs,
	ten-bit codes are used and so on, until an
	implementation-dependent maximum is reached.

	After every 10 {kilobytes} of input the compression ratio is
	checked.  If it is decreasing then the entire string table is
	discarded and information is collected from scratch.

Compressed SLIP

	<networking> (CSLIP) {VanJacobsen TCP header compression}.  A
	version of {SLIP} using {compression}.  CSLIP has no effect on
	the data portion of the {packet} and has nothing to do with
	compression by {modem}.  It does reduce the {TCP} header from
	40 bytes to 7 bytes, a noticeable difference when doing
	{telnet} with lots of little packets.  CSLIP has no effect on
	UDP, only TCP.

	(1995-05-28)

compressed video

	{video compression}

compression

	1. <application> (Or "compaction") The coding of data to save
	storage space or transmission time.  Although data is already
	coded in digital form for computer processing, it can often be
	coded more efficiently (using fewer bits).  For example,
	{run-length encoding} replaces strings of repeated characters
	(or other units of data) with a single character and a count.
	There are many compression {algorithms} and utilities.
	Compressed data must be decompressed before it can be used.

	The standard {Unix} compression utilty is called {compress}
	though {GNU}'s superior {gzip} has largely replaced it.  Other
	compression utilties include {pack}, {zip} and {PKZIP}.

	When compressing several similar files, it is usually better
	to join the files together into an {archive} of some kind
	(using {tar} for example) and then compress them, rather than
	to join together individually compressed files.  This is
	because some common compression {algorithms} build up tables
	based on the data from their current input which they have
	already compressed.  They then use this table to compress
	subsequent data more efficiently.

	See also {TIFF}, {JPEG}, {MPEG}, {Lempel-Ziv Welch},
	"{lossy}", "{lossless}".

	{Compression FAQ
	(ftp://rtfm.mit.edu/pub/usenet/news.answers/compression-faq/)}.

	{Web Content Compression FAQ
	(http://perl.apache.org/docs/tutorials/client/compression/compression.html)}.

	{Usenet} newsgroups: {news:comp.compression},
	{news:comp.compression.research}.

	2. <multimedia> Reducing the dynamic range of an audio signal,
	making quiet sounds louder and loud sounds quieter.  Thus,
	when discussing digital audio, the preferred term for reducing
	the total amount of data is "compaction".  Some advocate this
	term in all contexts.

	(2004-04-26)

COMPROSL

	COMpound PROcedural Scientific Language.

	A language for scientists and engineers.

	[Sammet 1969, pp. 299-300].

Compu$erve

	(Or "CompuSpend", "Compu$pend") A pejorative name for
	{CompuServe Information Service} ({CI$}) drawing attention to
	perceived high charges.

	[{Jargon File}]

	(1994-11-08)

Compulink Information eXchange

	(CIX) A London-based conferencing system, also providing
	{electronic mail}, {FTP}, {telnet}, {IRC}, {Gopher} and
	{web}.  Includes conferences "archimedes" or "bbc"
	for users of {Acorn} computers.

	E-mail: <cixadmin@cix.compulink.co.uk>.

	Telephone: +44 (181) 390 8446.

	(1994-11-08)

CompuServe

	{CompuServe Information Service}

CompuServe Corporation

	<company> The parent organisation of {CompuServe Information
	Service}, CompuServe Network Services and CompuServe Remote
	Computing Services.  CompuServe was owned by H.R. Block but is
	now (1999) owned by {America On-Line}.

	{(http://compuserve.com/)}.

	(1995-09-12)

CompuServe Information Service

	<company> (CIS, CompuServe Interactive Services).  An ISP and
	on-line service {portal} based in Columbus, Ohio, USA; part of
	{AOL} since February 1998.

	CIS was founded in 1969 as a computer {time-sharing service}.
	Along with {AOL} and {Prodigy}, CIS was one of the first
	pre-Internet, on-line services for consumers, providing
	{bulletin boards}, on-line conferencing, business news, sports
	and weather, financial transactions, {electronic mail},
	{Usenet} news, travel and entertainment data and on-line
	editions of computer publications.  CIS was originally run by
	{CompuServe Corporation}.

	In 1979, CompuServe was the first service to offer {electronic
	mail} and technical support to personal computer users.  In
	1980 they were the first to offer {real-time} {chat} with its
	CB Simulator.  By 1982, the company had formed its Network
	Services Division to provide wide-area networking to corporate
	clients.

	Initially mostly serving the USA, in 1986 they developed a
	Japanese version called NIFTYSERVE.  In 1989, they expanded
	into Europe and became a leading {Internet service provider}.

	In 2001 they released version 7.0 of their client program.

	{CompuServe home (http://compuserve.com/)}.

	(2009-04-02)

CompuServe Interactive Services

	{CompuServe Information Service}

Compusult Ltd.

	A computer consulting firm (in Newfoundland, Canada?) that
	provides a public access {Unix}.

	(1994-10-20)

computability theory

	<mathematics> The area of theoretical computer science
	concerning what problems can be solved by any computer.

	A function is computable if an {algorithm} can be implemented
	which will give the correct output for any valid input.

	Since computer programs are {countable} but {real numbers} are
	not, it follows that there must exist real numbers that
	cannot be calculated by any program.  Unfortunately, by
	definition, there isn't an easy way of describing any of them!

	In fact, there are many tasks (not just calculating real
	numbers) that computers cannot perform.  The most well-known
	is the {halting problem}, the {busy beaver} problem is less
	famous but just as fascinating.

	["Computability", N.J. Cutland. (A well written
	undergraduate-level introduction to the subject)].

	["The Turing Omnibus", A.K. Dewdeney].

	(1995-01-13)

computable

	{computability theory}

Computational Adequacy Theorem

	This states that for any program (a non-function typed term in
	the {typed lambda-calculus} with constants) {normal order
	reduction} (outermost first) fails to terminate if and only if
	the {standard semantics} of the term is {bottom}.  Moreover,
	if the reduction of program e1 terminates with some {head
	normal form} e2 then the standard semantics of e1 and e2 will
	be equal.  This theorem is significant because it relates the
	operational notion of a reduction sequence and the
	{denotational semantics} of the input and output of a
	reduction sequence.

computational complexity

	<algorithm> The number of steps or arithmetic operations
	required to solve a computational problem.  One of the three
	kinds of {complexity}.

	(1996-04-24)

Computational Fluid Dynamics

	<language> (CFD) A {Fortran}-based parallel language for the
	{Illiac IV}.

	(1994-11-29)

computational geometry

	<mathematics> The study of {algorithms} for combinatorial,
	topological, and metric problems concerning sets of points,
	typically in {Euclidean space}.  Representative areas of
	research include geometric search, convexity, proximity,
	intersection, and {linear programming}.

	(1997-08-03)

computational learning

	{grammatical inference}

computational molecular biology

	<application> The area of {bioinformatics} concerning the use
	of computers to characterise the molecular components of
	living things.

	(2005-01-07)

COMpute ParallEL

	<language> (Compel) The first {single-assignment} language.

	["A Language Design for Concurrent Processes", L.G. Tesler et
	al, Proc SJCC 32:403-408, AFIPS (Spring 1968)].

	(1995-01-19)

Computer

	<publication> A journal of the {IEEE Computer Society}.

	(1995-03-10)

computer

	<computer> A machine that can be programmed to manipulate
	symbols.  Computers can perform complex and repetitive
	procedures quickly, precisely and reliably and can quickly
	store and retrieve large amounts of data.

	The physical components from which a computer is constructed
	(electronic circuits and input/output devices) are known as
	"{hardware}".  Most computers have four types of hardware
	component: CPU, input, output and memory.  The CPU ({central
	processing unit}) executes programs ("{software}") which tell
	the computer what to do.  Input and output (I/O) devices allow
	the computer to communicate with the user and the outside
	world.  There are several kinds of memory - fast, expensive,
	short term memory (e.g. {RAM}) to hold intermediate results,
	and slower, cheaper, long-term memory (e.g. {magnetic disk} and
	{magnetic tape}) to hold programs and data between jobs.

	See also {analogue computer}.

	(1995-03-10)

Computer Aided Design

	<application> (CAD) The part of {CAE} concerning the drawing
	or physical layout steps of engineering design.  Often found
	in the phrase "CAD/CAM" for ".. manufacturing".

	(1994-11-30)

Computer Aided Detector Design

	<project, standard> (CADD) A project to standardise {HEP}
	detector designer.

	(2011-02-18)

Computer Aided Engineering

	<application> (CAE) The use of {software} to help with all
	phases of engineering design work.  Like {computer aided
	design}, but also involving the conceptual and analytical
	design steps and extending into {Computer-Integrated
	Manufacturing} (CIM).

	(1994-10-28)

Computer-Aided Instruction

	<application, education> (CAI, or "- assisted", "- learning",
	CAL, Computer-Based Training CBT, "e-learning") The use of
	computers for education and training.

	The programs and data used in CAI, known as "courseware", may
	be supplied on media such as {CD-ROM} or delivered via a
	{network} which also enables centralised logging of student
	progress.  CAI may constitute the whole or part of a course,
	may be done individually or in groups ("Computer Supported
	Collaborative Learning", CSCL), with or without human
	guidance.

	(2011-11-25)

Computer-Aided Learning

	{Computer-Aided Instruction}

Computer Aided Software Engineering

	<programming> (CASE, or "- assisted -") A technique for using
	computers to help with one or more phases of the {software
	life-cycle}, including the systematic analysis, design,
	implementation and maintenance of software.  Adopting the CASE
	approach to building and maintaining systems involves software
	tools and training for the developers who will use them.

	(1996-05-10)

Computer-Aided Software Testing

	<programming> (CAST) Automated software testing in one or more
	phases of the {software life-cycle}.

	(1996-05-10)

Computer Aided Test Engineering

	<testing, electronics> (CATE) {CASE} methods applied to
	electronics testing and linked to {CAE}.

	(2007-05-03)

Computer Animation Movie Language

	<language> A programming language for generating {animation}.

	["A Computer Animation Movie Language for Educational Motion
	Pictures", D.D. Weiner et al, Proc FJCC 33(2), AFIPS, Fall
	1968].

	(2012-01-30)

Computer-Assisted Learning

	{Computer-Aided Instruction}

Computer-Assisted Software Engineering

	{Computer-Aided Software Engineering}

Computer Associates International, Inc.

	<company> (CA) A US software development company, founded in
	1976.  CA have purchased many other software companies,
	including {Spectrum Software, Inc.}, {Cheyenne Software},
	{Platinum Technology, Inc.}, {ASK Corporation}.  They produce
	a number of popular software packages, including {Unicenter
	TNG} and {Ingres}.

	They had an {Initial Public Offering} in 1981 valued at more
	than US$3.2M, had more than US$6B in revenue in 2000, and
	employ more than 17,000 people.

	{(http://ca.com/)}.

	(20002-04-20)

Computer-Based Training

	{Computer-Aided Instruction}

computer bus

	{bus}

Computer Compiler

	1. <language> A proposed language for {compiler} design.

	[Sammet 1969, p. 695].

	2. A discussion of various applications of computers to the
	design and production of computers.

	{ACM
	(http://dl.acm.org/citation.cfm?id=1464213&CFID=83216609&CFTOKEN=42516197)}.

	["A proposal for a computer compiler", Gernot Metze
	(University of Illinois), Sundaram Seshu (University of
	Illinois), AFIPS '66 (Spring) Proceedings of the 1966-04-26 -
	28, Spring joint computer conference].

	(2007-02-13)

computer confetti

	<jargon> (Or "{chad}") A common term for {punched-card}
	{chad}, which, however, does not make good confetti, as the
	pieces are stiff and have sharp corners that could injure the
	eyes.

	{GLS} reports that he once attended a wedding at {MIT} during
	which he and a few other guests enthusiastically threw chad
	instead of rice.  The groom later grumbled that he and his
	bride had spent most of the evening trying to get the stuff
	out of their hair.

	[{Jargon File}]

	(2001-06-22)

Computer Conservation Society

	<body> (CCS) A british group that aims to promote the
	conservation and study of historic computers, past and future.
	The CCS is a co-operative venture between the {British
	Computer Society}, the Science Museum of London and the Museum
	of Science and Industry in Manchester.  The CCS was
	constituted in September 1989 as a Specialist Group of the
	BCS.

	A number of active projects and working groups focus on
	specific computer restorations, early computer technologies
	and software.  Membership is open to anyone interested.

	{Home (http://computerconservationsociety.org)}.

	See also {Bletchley Park}.

	(2012-03-22)

computer cookie

	{HTTP cookie}

computer crime

	<legal> Breaking the criminal law by use of a computer.

	See also {computer ethics}, {software law}.

	(1997-07-09)

Computer Design Language

	<language> An {ALGOL}-like language for computer design.

	["An ALGOL-like Computer Design Language", Y. Chu, CACM 8(10)
	(Oct 1965)].

	(1994-11-17)

computer dictionary

	{Free On-line Dictionary of Computing}

Computer Emergency Response Team

	<security, body> (CERT) An organisation formed by {DARPA} in
	November 1988 in response to the {Internet worm} incident.
	The CERT charter is to work with the {Internet} community to
	help it responf to computer security events involving Internet
	{hosts}, to raise awareness of computer security issues and to
	conduct research targeted at improving the security of
	existing systems.  CERT products and services include 24-hour
	technical assistance for responding to computer security
	incidents, product vulnerability assistance, technical
	documents and tutorials.

	{CERT Home (http://cert.org/)}.

	E-mail: <cert@cert.org> (incident reports).

	Telephone +1 (412) 268 7090 (24-hour hotline).

	(2012-05-18)

computer ethics

	<philosophy> Ethics is the field of study that is concerned
	with questions of value, that is, judgments about what human
	behaviour is "good" or "bad".  Ethical judgments are no
	different in the area of computing from those in any other
	area.  Computers raise problems of privacy, ownership, theft,
	and power, to name but a few.

	Computer ethics can be grounded in one of four basic
	world-views: Idealism, Realism, Pragmatism, or Existentialism.
	Idealists believe that reality is basically ideas and that
	ethics therefore involves conforming to ideals.  Realists
	believe that reality is basically nature and that ethics
	therefore involves acting according to what is natural.
	Pragmatists believe that reality is not fixed but is in
	process and that ethics therefore is practical (that is,
	concerned with what will produce socially-desired results).
	Existentialists believe reality is self-defined and that
	ethics therefore is individual (that is, concerned only with
	one's own conscience).  Idealism and Realism can be considered
	ABSOLUTIST worldviews because they are based on something
	fixed (that is, ideas or nature, respectively).  Pragmatism
	and Existentialism can be considered RELATIVIST worldviews
	because they are based or something relational (that is,
	society or the individual, respectively).

	Thus ethical judgments will vary, depending on the judge's
	world-view.  Some examples:

	First consider theft.  Suppose a university's computer is used
	for sending an e-mail message to a friend or for conducting a
	full-blown private business (billing, payroll, inventory,
	etc.).  The absolutist would say that both activities are
	unethical (while recognising a difference in the amount of
	wrong being done).  A relativist might say that the latter
	activities were wrong because they tied up too much memory and
	slowed down the machine, but the e-mail message wasn't wrong
	because it had no significant effect on operations.

	Next consider privacy.  An instructor uses her account to
	acquire the cumulative grade point average of a student who is
	in a class which she instructs.  She obtained the password for
	this restricted information from someone in the Records Office
	who erroneously thought that she was the student's advisor.
	The absolutist would probably say that the instructor acted
	wrongly, since the only person who is entitled to this
	information is the student and his or her advisor.  The
	relativist would probably ask why the instructor wanted the
	information.  If she replied that she wanted it to be sure
	that her grading of the student was consistent with the
	student's overall academic performance record, the relativist
	might agree that such use was acceptable.

	Finally, consider power.  At a particular university, if a
	professor wants a computer account, all she or he need do is
	request one but a student must obtain faculty sponsorship in
	order to receive an account.  An absolutist (because of a
	proclivity for hierarchical thinking) might not have a problem
	with this divergence in procedure.  A relativist, on the other
	hand, might question what makes the two situations essentially
	different (e.g. are faculty assumed to have more need for
	computers than students?  Are students more likely to cause
	problems than faculty?  Is this a hold-over from the days of
	"in loco parentis"?).

	{"Philosophical Bases of Computer Ethics", Professor Robert
	N. Barger (http://nd.edu/~rbarger/metaethics.html)}.

	{Usenet} newsgroups: {news:bit.listserv.ethics-l},
	{news:alt.soc.ethics}.

	(1995-10-25)

computer file

	{file}

computer geek

	<jargon> (Or "turbo nerd", "turbo geek") One who eats
	(computer) {bugs} for a living.  One who fulfils all the
	dreariest negative stereotypes about {hackers}: an asocial,
	malodourous, pasty-faced monomaniac with all the personality
	of a cheese grater.  The term cannot be used by outsiders
	without implied insult to all {hackers}; compare
	black-on-black usage of "nigger".  A computer geek may be
	either a fundamentally clueless individual or a proto-hacker
	in {larval stage}.

	See also {Alpha Geek}, {propeller head}, {clustergeeking},
	{geek out}, {wannabee}, {terminal junkie}, {spod}, {weenie}.

	[{Jargon File}]

	(1997-06-26)

computer-generated imagery

	<graphics> (CGI) Animatied graphics produced by computer and
	used in film or television.

	(1998-10-13)

Computer Generation Incorporated

	<company> (CGI) A US software development company and systems
	integrator.

	{(http://compgen.com/)}.

	E-mail: Paul G. Smith <pauls@compgen.com>

	Telephone: +1 (404) 705 2800

	Address: Bldg. G, 4th Floor, 5775 Peachtree-Dunwoody Rd.,
	Atlanta, GA 30342, USA.

	(1997-02-11)

Computer Graphics Metafile

	<graphics, file format> (CGM) A standard file format for
	storage and communication of graphical information, widely
	used on {personal computers} and accepted by {desktop
	publishing} and technical illustration systems.

	{MIME type}: image/cgm.

	{ANSI}/{ISO} 8632-1987.  Worked on by the {ISO}/{IEC} group
	{JTC1/SC24}.

	{CGM Open Consortium (http://cgmopen.org/)}.

	See also: {WebCGM}.

	(1999-02-16)

Computer Integrated Manufacturing

	<application> (CIM) Use of computers to control multiple
	aspects of a production process in a factory.  A CIM system
	may control and/or monitor areas such as design, analysis,
	planning, purchasing, cost accounting, inventory control,
	distribution, materials handling and management.

	(2003-06-07)

computer language

	{programming language}

Computer Language for AeronauticS and Programming

	<language> (CLASP) A {real-time} language from NASA, focussing
	on {fixed-point} mathematics.  CLASP is a near subset of
	{SPL}, with some ideas from {PL/I}.

	["Flight Computer and Language Processor Study", Raymond
	J. Rubey, Management Information Services, Detroit, 1971].

	(1994-10-13)

computer law

	<legal> Legal aspects of the production, sale and use of
	computers; including areas such as {software law},
	{copyright}, patents, sale of goods, communication law and
	general media issues such as free speech.

	(2012-08-30)

computer literacy

	<education> Basic skill in use of computers, from the
	perspective of such skill being a necessary societal skill.

	The term was coined by Andrew Molnar, while director of the
	Office of Computing Activities at the {National Science
	Foundation}.

	"We started computer literacy in '72 [...] We coined that
	phrase.  It's sort of ironic.  Nobody knows what computer
	literacy is.  Nobody can define it.  And the reason we
	selected [it] was because nobody could define it, and [...] it
	was a broad enough term that you could get all of these
	programs together under one roof" (cited in Aspray, W.,
	(September 25, 1991) "Interview with Andrew Molnar," OH 234.
	Center for the History of Information Processing, Charles
	Babbage Institute, University of Minnesota).

	The term, as a coinage, is similar to earlier coinages, such
	as "visual literacy", which {Merriam-Webster
	(http://m-w.com/)} dates to 1971, and the more recent
	"media literacy".

	A more useful definition from
	{(http://www.computerliteracyusa.com/)} is:

	Computer literacy is an understanding of the concepts,
	terminology and operations that relate to general computer
	use.  It is the essential knowledge needed to function
	independently with a computer.  This functionality includes
	being able to solve and avoid problems, adapt to new
	situations, keep information organized and communicate
	effectively with other computer literate people.

	(2007-03-23)

Computer Management Group of Australia

	<body> (CMGA) An Australian group that organises conferences,
	exhibitions, meetings and seminars about IT management for its
	corporate and individual members.

	{CMGA Home (http://cmga.org.au/)}.

	(2012-10-25)

Computer Mediated Communication

	<messaging> (CMC) Communication that takes place through, or
	is facilitated by, computers.  Examples include {e-mail}, the
	{web}, real-time {chat} tools like {IRC}, {Windows
	Live Messenger} and {video conferencing}.

	(2012-10-25)

computer nerd

	{computer geek}

computer network

	{network}

Computer Output on Microfilm

	{Enterprise Report Management}

Computer Output to Laser Disc

	{Enterprise Report Management}

Computer Output to Laser Disk

	{Enterprise Report Management}

Computer Professionals for Social Responsibility

	<body> (CPSR) A non-profit organisation whose mission is to
	provide the public and policymakers with realistic assessments of
	the power, promise and problems of {Information Technology} and
	the effects of computers on society.

	CPSR was founded in the USA in 1981 but has spread to many other
	countries.  CPSR is supported by its membership.  CPSR sponsors
	conferences such as their Annual Meeting, Directions and
	Implications in Advanced Computing (DIAC), the Participatory
	Design Conference (PDC) and the Computers, Freedom and Privacy
	(CFP) conference.

	{CPSR Home (http://cpsr.org/)}.

	(2012-11-04)

computer program

	{software}

Computer + Science NETwork

	<body> (CSNET) The networking organisation which combined with
	{BITNET} to form {CREN}.

	(1994-11-30)

computer security

	{security}

computer sex

	<jargon> Two computers interfaced with each other.

	(1996-02-22)

Computer Software Configuration Item

	<jargon, software> (CSCI) A {configuration item} consisting of
	{software}.

	(2012-11-07)

Computer-Supported Collaborative Learning

	<education> (CSCL) Any form of {Computer-Aided Instruction}
	that emphasises group learning as opposed to working alone.

	(2011-11-25)

Computer Supported Cooperative Work

	<tool> (CSCW) (Or "groupware") Software tools and technology
	to support groups of people working together on a project,
	often at different sites.

	See also {Lotus Notes}.

	(1994-11-30)

Computer Telephone Integration

	<communications> (CTI or "- Telephony -") Enabling computers to
	know about and control telephony functions such as making and
	receiving voice, {fax} and data calls, telephone directory
	services and {caller identification}.

	CTI is used in call centres to link incoming calls to computer
	software functions such as database look-up of the caller's
	number, supported by services such as {Automatic Number
	Identification} and {Dialled Number Identification Service}.

	Application software ({middleware}) can link {personal computers}
	and servers with telephones and/or a {PBX}.  Telephony and
	{software} vendors such as {AT&T}, {British Telecom}, {IBM},
	{Novell}, {Microsoft} and {Intel} have developed CTI services.

	The main {CTI} functions are integrating {messaging} with
	{databases}, {word processors} etc.; controlling voice, {fax},
	and {e-mail} messaging systems from a single {application
	program}; graphical call control - using a {graphical user
	interface} to perform functions such as making and receiving
	calls, forwarding and conferencing; call and {data}
	association - provision of information about the caller from
	databases or other applications automatically before the call
	is answered or transferred; {speech synthesis} and {speech
	recognition}; automatic logging of call related information
	for invoicing purposes or callback.

	CTI can improve customer service, increase productivity, reduce
	costs and enhance workflow automation.

	IBM were one of the first with workable CTI, now sold as
	"CallPath".  {Callware}'s {Phonetastic} is another {middleware}
	product.

	CTI came out of the 1980s call centre boom, where it linked
	central servers and {IVRs} with {PBX}es to provide call
	transfer and {screen popping}.  In the 1990s, efforts were
	made by several vendors, such as IBM, Novell {TSAPI} and
	Microsoft {TAPI}, to provide a version for {desktop computers}
	that would allow control of a desktop telephone and assist in
	{hot desking}.

	See also {Telephony Application Programming Interface}.

	(2012-11-18)

Computer Telephony

	{Computer Telephone Integration}

Computer Telephony Integration

	{Computer Telephone Integration}

computer virus

	{virus}

computer vision

	<application> A branch of {artificial intelligence} and {image
	processing} concerned with computer processing of images from the
	real world.  Computer vision typically requires a combination of
	low level {image processing} to enhance the image quality
	(e.g. remove noise, increase contrast), {pattern recognition} to
	recognise features such as lines, areas and colours and {image
	understanding} to translate these features into knowledge about
	the objects in the scene.

	{Usenet} newsgroup: {news:comp.ai.vision}.

	(2012-12-25)

compute server

	<computer, parallel> A kind of {parallel processor} where the
	parallel processors have no I/O except via a bus or other
	connection to a {front-end processor} which handles all I/O to
	disks, {terminals} and network.

	In some antiquated {IBM} {mainframes}, a second CPU was
	provided that could not access I/O devices, known as the slave
	or attached processor, while the CPU having access to all
	devices was known as the master processor.

	(1995-03-19)

computing

	{computer}

Computing Devices Canada Ltd.

	{General Dynamics Canada Ltd.}

computing dictionary

	{Free On-line Dictionary of Computing}

computron

	<jargon> /kom'pyoo-tron"/ 1. A notional unit of computing power
	combining execution speed and storage capacity.  E.g. "That
	machine can't run GNU Emacs, it doesn't have enough computrons!"

	2. A mythical subatomic particle that carries computation or
	information, in much the same way that an electron carries
	electric charge (see also {bogon}).

	[{Jargon File}]

	(2013-03-02)

Compuware Corporation

	<company> A US {software} and service company established in 1973.
	Since 1973, Compuware focused on optimising business software
	development, testing and operation.  In 1999 the company had grown
	to over 15,000 employees worldwide and revenues of more than
	$1.6B.  By 2013 it had shrunk to less than 5000.

	Current (2013) products and services include performance
	optimisation, availability and quality of web, non-web, mobile,
	streaming and cloud applications; project portfolio management,
	professional services automation; mainframe applications and
	developer tools; rapid application development and professional
	services.

	{(http://compuware.com/)}.

	(2013-03-08)

COMSL

	<language> ["COMSL - A Communication System Simulation Language",
	R.L. Granger, Proc FJCC 37 (1970)].

	(2013-03-08)

COMTRAN

	["Communications Computer Language COMTRAN", D.W. Clark et al,
	RADC-TR-69-190, Rose Air Development Center, Griffiss AFB, NY,
	July 1969].

	[Sammet 1969, p.324, 331].

ConC

	<language> A {concurrent} extension of {C} based on {decomposed
	Petri nets}.  It uses the 'handshake' and 'unit' constructs.

	["ConC: A Language for Distributed Real-Time Programming",
	V.K. Garg et al, Computer Langs 16(1):5-18 (1991)].

	(1995-03-02)

concatenate

	<programming> To join together two or more files or lists to form
	one big one.

	The {Unix} {cat} command can be used to concatenate files.

	(1995-12-22)

concatenated key

	{compound key}

concentrator

	<communications> A device that combines the data streams from
	many simultaneously active inputs into one shared channel in
	such a way that the streams can be separated after
	transmission.  The concentrator's output bandwidth must be at
	least as great as the total bandwidth of all simultaneously
	active inputs.  A concentrator is one kind of {multiplexing}
	device.

	For example, a concentrator may be used to connect 24 2400 bps
	TTYs to a host via a 57600 bps channel.

	(2000-03-01)

conceptualisation

	<artificial intelligence> The process or result of listing the
	types of objects, concepts and other entities that are assumed to
	exist in some area of interest and the relationships that hold
	among them.  A conceptualisation is an {abstract}, simplified view
	of the world that we wish to represent.  For example, we may
	conceptualise a family as the set of names, sexes and the
	relationships of the family members.  Choosing a
	conceptualisation is the first stage of {knowledge
	representation}.  A conceptualisation is a high-level {data model}.

	Every {knowledge base}, {knowledge-based system}, or
	{knowledge-level agent} is committed to some
	conceptualisation, explicitly or implicitly.

	(2013-04-17)

Concert/C

	<language, parallel> A {parallel} extension of {ANSI C} with
	{asynchronous} {message passing}, developed at the {IBM} {TJWRC}
	in July 1993.  Concert/C provides {primitives} to create and
	terminate {processes} and communicate between them.  The programmer
	explicitly expresses parallelization and distribution.

	{1994 Announcement
	(http://www.cs.bu.edu/~best/courses/cs551/projects/concert.txt)}.

	(2013-05-05)

ConCoord

	<programming, parallel> An environment for programming networks of
	{sequential} and {parallel} computers.  ConCoord supports
	{explicit parallelism} with different {granularity}.

	(2013-05-22)

concrete class

	<programming> In {object-oriented programming}, a {class}
	suitable to be instantiated, as opposed to an {abstract
	class}.

	(1995-05-01)

Concrete Data Structure

	<theory> (CDS) A model of programming language terms developed in
	the context of constructing fully {abstract semantics} for
	{sequential} languages.  A CDS is a 4-tuple (C,V,E,|-) where C is
	a cell, V is a value, E is an event and |- is an "enabling
	relation".  An event is a cell and a value.  A cell C is "enabled"
	by a set of events S if S |- C.  A state is a set of events which
	are consistent in that the values they give for any cell are all
	equal.  Every cell in a state is enabled.

	[G. Berry, P.-L. Curien, "Theory and practice of sequential
	algorithms: the kernel of applicative language CDS", Algebraic
	methods in semantics, CUP 1985].

	(1994-11-30)

concrete syntax

	<language, data> The {syntax} of a language including all the
	features visible in the {source code} such as {parentheses}
	and {delimiters}.  The concrete syntax is used when {parsing}
	the program or other input, during which it is usually
	converted into some kind of {abstract syntax tree} (conforming
	to an {abstract syntax}).

	In communications, concrete syntax is called {transfer
	syntax}.

	(1997-07-21)

CONCUR

	<language> A proposal for a language for programming with
	{concurrent} processes.  CONCUR was inspired by {Modula} but
	removes Modula's restrictions on the placement of process
	declarations and invocations in order to study the implications of
	process support more fully.  Anderson presents a {compiler} which
	translates CONCUR into the {object language} for a hypothetical
	machine.

	["CONCUR, A Language for Continuous Concurrent
	Processes", R.M. Salter et al, Comp Langs 5(3):163-189, 1981].

	{["Concur: a High-Level Language for Concurrent Programming",
	Karen Anderson Thesis, B. Thomas Golisano College of Computing and
	Information Sciences, 1979]
	(https://ritdml.rit.edu/handle/1850/15968?show=full)}

	(2013-06-05)

concurrency

	{multitasking}

Concurrent C

	1. <language> An extension of {C} with {rendezvous}-based
	{concurrency}.  Versions for most {Unix} systems were available
	commercially from {AT&T}.

	["Concurrent C", N.H. Gehani et al, Soft Prac & Exp
	16(9):821-844 (1986)].

	["The Concurrent C Programming Language", N. Gehani et al,
	Silicon Press 1989].

	(1994-11-11)

	2. <language> An extension of {C} with {asynchronous} {message
	passing}.

	["Concurrent C: A Language for Distributed Systems",
	Y. Tsujino et al, Soft Prac & Exp 14(11):1061-1078 (Nov
	1984)].

	(1994-11-11)

Concurrent C++

	<language> A {programming language} developed by Gehani and Roome
	at {Bell Labs} by merging their earlier {Concurrent C} language
	with {C++}.

	["Concurrent C++: Concurrent Programming with Class(es)",
	N. Gehani, W.D. Roome, Bell Labs, 1986].

	(2013-06-26)

Concurrent Clean

	<language> An alternative name for {Clean} 1.0.

	(1995-11-08)

Concurrent CLU

	<language> A {programming language} extending {CLU} for
	{concurrent} processes, developed by by Hamilton in 1984.

	["Preserving Abstraction in Concurrent
	Programming", R.C.B.  Cooper, K.G. Hamilton, IEEE
	Trans Soft Eng SE-14(2):258-263, Feb 1988].1

	(2013-09-28)

Concurrent Constraint Programming

	<language> (CCP) Not a language, but a general approach.

	[Details?]

	(2001-11-01)

Concurrent Euclid

	<language, parallel> A {concurrent} extension of a subset of
	{Euclid} ("{Simple Euclid}") developed by J.R. Cordy and
	R.C. Holt of the {University of Toronto} in 1980.

	Concurrent Euclid features {separate compilation}, {modules},
	processes and {monitors}, {signal} and {wait} on {condition
	variables}, 'converters' to defeat {strong type checking},
	absolute addresses.  All procedures and functions are
	{re-entrant}.  {TUNIS} (a {Unix}-like {operating system}) is
	written in Concurrent Euclid.

	["Specification of Concurrent Euclid", J.R. Cordy & R.C. Holt,
	Reports CSRI-115 & CSRI-133, CSRI, U Toronto, Jul 1980,
	rev. Aug 1981].

	["Concurrent Euclid, The Unix System, and Tunis," R.C. Holt,
	A-W, 1983].

	(2005-02-19)

Concurrent LISP

	<language> A {concurrent} version of {Lisp}.  Sugimoto et al
	implemented an {interpreter} on a "large scale computer" and were
	planning to implement it on multiple {microprocessors}.

	["A Multi-Processor System for Concurrent Lisp", S. Sugimoto et
	al, Proc 1983 Intl Conf parallel Proc, 1983 pp.135-143].

	(2013-10-18)

Concurrent Massey Hope

	<language, functional programming> An extension of {Massey
	Hope}, by Peter Burgess, Robert Pointon, and Nigel Perry
	<N.Perry@massey.ac.nz> of {Massey University}, NZ, that
	provides {multithreading} and {type}d inter-{thread}
	communication.  It uses {C} for {intermediate code} rather
	than {assembly language}.

	(1999-08-04)

Concurrent ML

	<language> (CML) A {concurrent} extension of {SML/NJ} written
	by J. Reppy at {Cornell University} in 1990.  CML supports
	dynamic {thread} creation and synchronous {message passing} on
	typed channels.  Threads are implemented using first-class
	{continuations}.  First-class synchronous operations allow
	users to tailor their synchronisation abstractions for their
	application.  CML also supports both {stream I/O} and
	low-level I/O in an integrated fashion.

	Latest version 0.9.8, as of 1994-12-21, requires SML/NJ 0.75
	or later.

	{(ftp://ftp.cs.cornell.edu/pub/)}.

	E-mail: <sml-bugs@research.att.com> (bugs).

	["CML: A Higher-Order Concurrent Language", John H. Reppy,
	SIGPLAN Notices 26(6):293-305, June 1991].

	(2000-08-09)

Concurrent Oberon

	<language> A {concurrent} version of {Oberon}.  There is an
	implementation the {Ceres} {workstation}.

	["Adding Concurrency to the Oberon System", S. Lalis et al,
	ETH Zurich, 1993].

	(1994-11-11)

Concurrent Object-Oriented C

	<language> (cooC) A language with {concurrent} {object} execution
	from {Toshiba}.  It has {synchronous} and {asynchronous} {message
	passing}.  It has been implemented for {SunOS}.

	{(ftp://tsbgw.isl.rdc.toshiba.co.jp/pub/toshiba/cooc-beta.1.1.tar.Z)}.

	[SIGPLAN Notices 28(2)].

	(2000-08-13)

Concurrent Object-Oriented Language

	<language> (COOL) An extension of {C++} with {task-level
	parallelism} for {shared-memory} {multi-processors}.

	["COOL: A Language for Parallel Programming", R. Chandra
	<rohit@seagull.stanford.edu> et al in Languages and Compilers
	for Parallel Computing, D. Gelernter et al eds, MIT Press
	1990, pp. 126-148].

	E-mail: Rohit Chandra <rohit@cool.stanford.edu>.

	(1994-11-30)

Concurrent Pascal

	<language> An extension of a {Pascal} subset, {Sequential Pascal},
	developed by Brinch Hansen in 1972-75.  Concurrent Pascal was the
	first language to support {monitors}.  It provided access to
	hardware devices through monitor calls and also supported
	processes and {class}es.

	["The Programming Language Concurrent Pascal", Per Brinch
	Hansen, IEEE Trans Soft Eng 1(2):199-207 (Jun 1975)].

	(1994-11-30)

concurrent processing

	{multitasking}

Concurrent Prolog

	<language> A {Prolog} variant with {guarded clauses} and
	{committed-choice nondeterminism} ({don't-care nondeterminism}) by
	Ehud "Udi" Shapiro, Yale <shapiro-ehud@yale.edu>.  A subset has
	been implemented, but not the full language.

	See also {Mandala}.

	["Concurrent Prolog: Collected Papers", E. Shapiro, V.1-2, MIT
	Press 1987].

	(1994-11-30)

Concurrent Scheme

	<language> A parallel {Lisp}, for the {Mayfly} by M. Swanson
	<swanson%teewinot@cs.utah.edu>.

	["Concurrent Scheme", R.R. Kessler et al, in Parallel Lisp:
	Languages and Systems, T. Ito et al eds, LNCS 441, Springer
	1989].

	(1994-11-30)

ConcurrentSmalltalk

	<language> A {concurrent} variant of {Smalltalk}.

	["Concurrent Programming in ConcurrentSmalltalk", Y. Yokote et
	al in Object-Oriented Concurrent Programming, A. Yonezawa et
	al eds, MIT Press 1987, pp. 129-158].

	(1994-11-30)

Concurrent SP/k

	<language> (CSP/k) A {PL/I}-like {concurrent} language.

	["Structured Concurrent Programming with Operating System
	Applications", R.C. Holt et al, A-W 1978].

	(1997-12-15)

Concurrent Versions System

	<programming> (CVS) A {cross-platform} {code management
	system} originally based on {RCS}.

	CVS tracks all revisions to a file in an associated file with
	the same name as the original file but with the string ",v"
	(for version) appended to the filename.  These files are
	stored in a (possibly centralised) repository.

	Changes are checked in or "committed" along with a comment (which
	appears in the the "commit log").  CVS has the notions of
	projects, {branches}, file locking and many others needed to
	provide a full-functioned repository.

	It is commonly accessed over over its own "anonCVS" {protocol} for
	read-only access (many {open source} projects are available by
	anonymous CVS) and over the {SSH} protocol by those with commit
	privileges ("committers").

	CVS has been rewritten several times and does not depend on
	RCS.  However, files are still largely compatible; one can
	easily migrate a project from RCS to CVS by copying the
	history files into a CVS repository.  A sub-project of the
	{OpenBSD} project is building a complete new implementation of
	CVS, to be called OpenCVS.

	{CVS Home (http://cvshome.org/)}.  {OpenCVS
	(http://opencvs.org/)}.

	(2005-01-17)

condela

	{Connection Definition Language}

condition out

	<programming> A programming technique that prevents a section of
	{code} from being executed by putting it in an {if statement}
	whose condition is always false.

	It is often easier to do this than to {comment out} the code
	because you don't need to modify the code itself (as you would if
	commenting out each line individually) or worry about {nested
	comments} within the code (as you would if putting nesting comment
	delimiters around it).

	For example, in {Perl} you could write:

	 if (0) {
	 ...code to be ignored...
	 }

	In a compiled language, the {compiler} could simply generate no
	code for the whole if statement.  Some compiled languages such as
	C provide {compile-time directives} that achieve the same effect,
	e.g.:

	 #if 0
	 ...code to be ignored...
	 #endif

	(or "#ifdef notdef").

	[{Jargon File}]

	(2013-12-08)

condom

	<jargon> 1. The protective plastic bag that accompanies {3.5-inch
	microfloppy diskettes}.  Rarely, also used of (paper) disk
	envelopes.  Unlike the {write protect tab}, the condom (when left
	on) not only impedes the practice of {SEX} but has also been shown
	to have a high failure rate as drive mechanisms attempt to access
	the disk - and can even fatally frustrate insertion.

	2. The protective cladding on a {light pipe}.

	3. "keyboard condom": A flexible, transparent plastic cover
	for a keyboard, designed to provide some protection against
	dust and {programming fluid} without impeding typing.

	4. "elephant condom": the plastic shipping bags used inside
	cardboard boxes to protect hardware in transit.

	[{Jargon File}]

	(1995-03-14)

Conference On DAta SYstems Languages

	<body> (CODASYL) A consortium that developed {database models} and
	standard {database} extensions for {COBOL}.

	CODASYL was formed in 1959 to guide the development of a
	{standard} {programming language} that could be used on many
	computers.  Members came from industry and government data
	processing departments.  Its goal was to promote more effective
	data {systems analysis}, design and implementation.  It published
	specifications for various languages over the years, handing these
	over to official standards bodies ({ISO}, {ANSI} or their
	predecessors) for formal standardisation.

	The 1965 List Processing Task Force worked on the {IDS/I} database
	extension.  It later renamed itself to the Data Base Task Group
	(DBTG) and publishing the Codasyl Data Model, the first to allow
	one-to-many {relations}.  This work also introduced {data
	definition languages} (DDLs) to define the {database schema} and a
	{data manipulation language} (DML) to be embedded in COBOL
	programs to request and update data in the database.

	Interest in CODASYL declined with the rise of {relational
	databases} beginning in the early 1980s.

	(2013-12-29)

Conferencing over IP

	<communications, standard> (CoIP) Standards for the transmission
	of {multimedia} over the {Internet}.  CoIP extends {VoIP} (voice
	over Internet Protocol) with {text}, {images}, {video}.  The main
	CoIP standard is based on {H.323}.

	The VoIP forum of the {IMTC} merged with the {H.323} Activity
	Group in January 1999 to form the Conferencing over IP (CoIP)
	Activity Group.

	VoIP uses "VoIP Devices" as {gateways} to {route} voice data
	{packets} over the Internet or {PSTN}.  {Protocols} such as {SGCP}
	and its successor {MGCP} extend VoIP to handle media other than
	voice data.

	(2013-12-29)

confidence test

	<testing> Tests to confirm that the results of a program lie
	within certain ranges according to the expected probability
	distribution.

	(1997-10-27)

CONFIG.SYS

	<operating system> A {text file} containing special system
	configuration commands, found in the {root directory} on an
	{MS-DOS} computer, typically on {drive} C (the {hard disk}).  It
	is read by {MS-DOS} at {boot time}, after the setup has been read
	from {CMOS RAM} and before running {AUTOEXEC.BAT}.  It can be
	modified by the user.

	Some example commands which CONFIG.SYS might contain are:

		DEVICE=C:\DOS\HIMEM.SYS /testmem:off

	Load the {extended memory} manager.

		DEVICE=C:\DOS\EMM386.EXE RAM

	Load the {expanded memory} manager.

		BUFFERS=10,0

	Specify memory for {disk buffers}.

		FILES=70

	Set the number of files that can be open at once.

		DOS=UMB

	DOS is located in {UppeMemoryBlock}.

		LASTDRIVE=Z

	Disk drives are A: to Z:.

		FCBS=16,0

	Set the number of {file control blocks}.

		DEVICEHIGH /L:1,12048 =C:\DOS\SETVER.EXE

	Report the DOS version to older programs.

		DOS=HIGH

	DOS should maintain a link to {UMB}.

		COUNTRY=358,437 C:\DOS\COUNTRY.SYS

	Set the {country code} for some programs.

		STACKS=9,256

	Set {dynamic stacks} for hardware control.

		SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /p

	Set the location of the {command interpreter}.

	(1995-03-16)

configuraholic

	<jargon> A {luser} who twiddles with computer settings until
	it no longer works and must be fixed by the {system
	administror}.

	(2007-03-20)

configuration item

	<jargon> Hardware or software, or an aggregate of both, which
	is designated by the project configuration manager (or
	contracting agency) for {configuration management}.

	(1996-05-29)

configuration management

	<job, system management> A discipline applying technical and
	administrative controls to identifying, documentating and
	reporting on {configuration items}, their physical and functional
	characteristics and changes to characteristics of those
	configuration items.

	{Change management} is one aspect of configuration management but
	may also refer to the softer, human side of getting people to
	adapt to changing processes and organisation.

	{Source code management} or "code management" is configuration
	management applied to {code} through the various stages of the
	{software life-cycle}.

	(2014-01-21)

configuration programming

	<programming> An approach that advocates the use of a separate
	configuration language to specify the {coarse-grain} structure
	of programs.  Configuration programming is particularly
	attractive for {concurrent}, parallel and distributed systems
	that have inherently complex program structures.

	{Darwin} is an example of a configuration language.

	(1995-03-14)

configure

	<software> A program by {Richard Stallman} to discover
	properties of the current {platform} and to set up {make} to
	compile and install {gcc}.

	{Cygnus configure} was a similar system developed by
	K. Richard Pixley in collaboration with Richard Stallman.
	In 1994, David MacKenzie and others modified {autoconf} to
	incorporate all the features of Cygnus configure and many
	{GNU} programs, including gcc now use autoconf.

	{Metaconfig} is a similar program used in building {Perl}.

	{(http://airs.com/ian/configure)}.

	(2005-04-15)

conflation

	<database> Combining or blending of two or more versions of a
	text; confusion or mixing up.  Conflation {algorithms} are
	used in {databases}.

	[Any specific technical meaning?]

	(1996-04-14)

congestion

	<communications> The condition that arises when the amount of data
	senders want to send down a communication path exceeds its
	{capacity}.  Typically this will result in some {packets} being
	delayed, thus increasing the average {latency}.

	(2014-05-04)

CONIC

	<systems> A {distributed system} language and {operating system}
	developed at {Imperial College} to support {dynamic
	configuration}.

	{Paper (http://spiral.imperial.ac.uk/bitstream/10044/1/452/1/Dynamic%20Configuration%20for%20Distributed.pdf)}.

	["Dynamic Configuration for Distributed Systems", J. Kramer et
	al, IEEE Trans Soft Eng SE-11(4):424-436, Apr 1985].

	(2014-05-04)

conjunction

	{AND}

Conjunctive Normal Form

	<logic> (CNF) A {logical formula} consisting of a
	{conjunction} of {disjunctions} of terms where no disjunction
	contains a conjunction.  Such a formula might also be
	described as a product of sums.  E.g. the CNF of

		(A and B) or C
	is
		(A or C) and (B or C).

	Contrast {Disjunctive Normal Form}.

	(1995-12-10)

connect

	<library, networking> {Unix} socket library routine to connect
	a socket that has been created on the local hosts to one at a
	specified socket address on the remote host.

	{Unix manual pages}: connect(2), accept(2).

	(1995-03-21)

connected graph

	<mathematics> A {graph} such that there is a path between any
	pair of nodes (via zero or more other nodes).

	Thus if we start from any node and visit all nodes connected
	to it by a single edge, then all nodes connected to any of
	them, and so on, then we will eventually have visited every
	node in the connected graph.

	(1996-09-22)

connected subgraph

	<mathematics> A {connected graph} consisting of a {subset} of
	the {nodes} and {edges} of some other graph.

	(1996-09-22)

Connection Definition Language

	<language> (condela) A {procedural}, parallel language for
	defining {neural networks}.

	{(ftp://tut.cis.ohio-state.edu/pub/condela)}.

	(1994-11-30)

connectionless protocol

	<protocol> The data communication method in which communication
	occurs between {hosts} with no previous setup.  {Packets} sent
	between two hosts may take different routes.

	{UDP} is a connectionless protocol.  Also called {packet
	switching}.  Contrast {circuit switching}, {connection-oriented}.

	(2014-05-04)

Connection Machine LISP

	<language> {Lisp} with a parallel data structure, the
	'xapping', an array of values assigned to an {array} of sites.

	[G.L. Steele et al, "Connection Machine LISP: Fine-Grained
	Parallel Symbolic Processing", in Proc 1986 ACM Conf on LISP
	and Functional Prog, Aug 1986, pp.279-297].

	["Connection Machine LISP Reference Manual", Thinking Machines
	Corp, Feb 1987].

	(1995-02-28)

connection-oriented

	<networking> (Or connection-based, stream-oriented).  A type
	of {transport layer} data communication service that allows a
	{host} to send data in a continuous stream to another host.
	The transport service will guarantee that all data will be
	delivered to the other end in the same order as sent and
	without duplication.  Communication proceeds through three
	well-defined phases: connection establishment, data transfer,
	connection release.  The most common example is {Transmission
	Control Protocol} (TCP).

	Opposite of {connectionless}, {datagram}.  See also {circuit
	switching}, {packet switching}, {virtual circuit}.

connection-oriented network service

	<networking> (CONS) Because of the relatively long transit
	delays and inferior bit error rate of {WANs}, a more
	sophisticated {connection-oriented} {protocol} is normally
	used.

	(1997-11-08)

connective

	<logic> An operator used in {first order logic} to combine two
	logical formulas.

	(2014-05-04)

connector conspiracy

	<business, standard> The tendency of manufacturers (or, by
	extension, other designers) to come up with products that
	don't fit with the old stuff, thereby making you buy either
	all new stuff or expensive interface devices.

	The term probably came into prominence with the appearance of
	the DEC {KL-10}, none of whose connectors matched anything
	else.  The KL-10 {Massbus} connector was actually *patented*
	by {DEC}, who reputedly refused to licence the design, thus
	effectively locking out competition for the lucrative Massbus
	peripherals market.  This policy was a source of frustration
	for the owners of dying, obsolescent disk and tape drives.

	A related phenomenon is the invention of new screw heads so
	that only Designated Persons, possessing the magic
	screwdrivers, can remove covers and make repairs or install
	options.  Older Apple {Macintosh}es took this one step
	further, requiring not only a hex wrench but a specialised
	case-cracking tool to open the box.

	With the advent of more open-systems computing this term has
	fallen somewhat into disuse.

	Compare {backward combatability}.

	[{Jargon File}]

	(2010-02-04)

CONNIVER

	<language> An {artificial intelligence} {programming language} for
	{automatic theorem proving} from {MIT}.  CONNIVER grew out of
	{PLANNER} and was based on {coroutines} rather than
	{backtracking}.  It allowed multiple database contexts with
	hypothetical assertions.

	["The CONNIVER Reference Manual", D. McDermott & G.J. Sussman
	<gjs@zurich.ai.mit.edu>, AI Memo 259, MIT AI Lab, 1973].

	(1995-01-10)

Co-NP

	{complementary nondeterministic polynomial}

CONS

	{connection-oriented network service}

cons

	<programming> /konz/ or /kons/ A {Lisp} function which takes an
	element H and a {list} T and returns a new list whose {head} is H
	and whose {tail} is T.

	In {Lisp}, "cons" (short for "construct") is the fundamental
	operation for building structures.  It actually takes any two
	objects and returns them in a "cons cell" or pair object.  This is
	sometimes called a {dotted-pair} because an application of cons:

		(cons H T)

	can also be input and output using an {infix} dot operator:

		(H . T)

	(with suitable quoting of arguments).

	A cons cell can also be used as two-branched tree node object with
	one object hanging from each branch.  Because the result of a cons
	is itself an object, it can be used to build {binary trees} of any
	shape and complexity.

	Typically, a cons would be represented in memory as a two
	consecutive {pointers}.

	For historical reasons, the functions to return the objects in a
	cons are called {car} and {cdr}.

	[{Jargon File}]

	(2014-06-11)

conservative evaluation

	<programming> Under this {parallel evaluation strategy}, no
	evaluation is started unless it is known to be needed.  The
	opposite of conservative evaluation is {speculative evaluation}.

	(2014-06-21)

considered harmful

	<programming, humour> A type of phrase based on the title of
	{Edsger W. Dijkstra}'s famous note in the March 1968
	{Communications of the ACM}, "Goto Statement Considered Harmful",
	which fired the first salvo in the {structured programming wars}.

	Amusingly, the {ACM} considered the resulting acrimony
	sufficiently harmful that it will (by policy) no longer print
	articles taking so assertive a position against a coding practice.

	In the ensuing decades, a large number of both serious papers and
	parodies bore titles of the form "X considered Y".  The
	structured-programming wars eventually blew over with the
	realisation that both sides were wrong, but use of such titles has
	remained as a persistent minor in-joke.

	[{Jargon File}]

	(2014-06-21)

consistently complete

	{boundedly complete}

console

	1. <hardware, operating system, history> The {operator}'s station
	of a {mainframe} as opposed to an ordinary user's {terminal}.  In
	times past, the console was a privileged location that conveyed
	godlike powers to anyone with fingers on its keys.  Under {Unix}
	and other modern {time-sharing} {operating systems}, such
	privileges are guarded by {passwords} instead, and the console is
	just the {tty} the system was booted from.  On Unix the device is
	called /dev/console.

	On a {microcomputer} {Unix} box, the console is the main screen
	and keyboard.  Other, character-only, terminals may be connected
	to {serial ports}.  Typically only the console can do real
	{graphics} or run {X}.  See also {CTY}.

	2. <games> A self-contained {microcomputer} optimised for gaming,
	with powerful graphical output designed to be displayed on a
	television; equipped with one or more {joystick} controllers for
	input and an {optical drive} to load software.  Later generations
	also feature {Internet} connection via {wireless} or wired
	{Ethernet} for downloading games and multiplayer networked play.
	Typically such devices have no keyboard so text must be input
	using the controller to operate an on-screen keyboard, e.g. to
	enter player names.

	The most successful recent examples are the {Sony Playstation} and
	{Microsoft Xbox} families.

	[{Jargon File}]

	(2014-07-01)

console jockey

	{terminal junkie}

consortium

	<body> A group of two or more companies, educational
	institutions, governments or other bodies with some shared
	purpose.

	Examples from computing include the {World Wide Web
	Consortium} (W3C), {Apache Software Foundation}, {The Open
	Group}, {X Consortium}.

	(2009-06-05)

Consortium for Lexical Research

	<body> (CLR) A repository for {natural language processing}
	software, {lexical} data, tools and resources; set up in July 1991
	in the Computing Research Laboratory of {New Mexico State
	University}, Las Cruces, New Mexico, USA.

	CLR maintained a public {FTP} {archive site} and a separate
	members-only library.  As of 1994-02-01, CLR had about 60 members,
	mostly academic institutions, including most US natural language
	processing centres.  Materials could be contributed in exchange
	for membership.

	In 2006, the CRL closed down due to lack of funding.  The CLR
	FTP server and e-mail address seems to have disappeared with it.

	[{The Consortium for Lexical Research, Y. Wilks, Principal
	Investigator, Computing Research Laboratory, New Mexico State
	University
	(http://clair.eecs.umich.edu/aan/paper.php?paper_id=H92-1114)}].

	(2014-07-06)

constant angular velocity

	<storage> (CAV) One of the two schemes for controlling the rate of
	rotation of the disk in a {disk drive}.  Constant {angular
	velocity} keeps the rate of rotation constant.  This means that
	the {linear velocity} of the disk under the head is larger when
	reading or writing the outer {tracks}.  This in turn implies
	either a variation in the data rate to and from the heads or the
	bits per unit length along the track.

	The alternative, {constant linear velocity}, requires the rate of
	rotation of the disk to accelerate and decelerate according to the
	radial postion of the heads, increasing the energy use and
	vibration.

	(2014-07-16)

constant applicative form

	<functional programming> (CAF) A {supercombinator} which is
	not a {lambda abstraction}.  This includes truly constant
	expressions such as 12, (+ 1 2), [1, 2, 3] as well as partially
	applied functions such as (+ 4).  Note that this last example
	is equivalent under {eta abstraction} to \ x . + 4 x which is
	not a CAF.

	Since a CAF is a supercombinator, it contains no free
	variables.  Moreover, since it is not a lambda abstraction it
	contains no variables at all.  It may however contain
	identifiers which refer to other CAFs, e.g.

		c 3 where c = (* 2).

	A CAF can always be lifted to the top level of the program.
	It can either be compiled to a piece of graph which will be
	shared by all uses or to some shared code which will overwrite
	itself with some graph the first time it is evaluated.  A CAF
	such as

		ints = from 1  where  from n = n : from (n+1)

	can grow without bound but may only be accessible from within
	the code of one or more functions.  In order for the {garbage
	collector} to be able to reclaim such structures, we associate
	with each function a list of the CAFs to which it refers.
	When garbage collecting a reference to the function we collect
	the CAFs on its list.

	[{The Implementation of Functional Programming Languages, Simon
	Peyton Jones (http://research.microsoft.com/%7Esimonpj/papers/slpj-book-1987/PAGES/224.HTM)}].

	(2006-10-12)

constant folding

	<compiler> A {compiler} {optimisation} technique where
	constant subexpressions are evaluated at {compile time}.  This
	is usually only applied to built-in numerical and {boolean}
	operators whereas {partial evaluation} is more general in that
	expressions involving user-defined functions may also be
	evaluated at compile time.

	(1997-02-20)

Constantine/Yourdon

	{Yourdon/Constantine}

constant linear velocity

	<storage> (CLV) A way of controlling the rotation of the {disks}
	in a {disk drive} in which the {linear velocity} of the disk
	surface relative to the {read/write heads} is kept constant.

	In order to achieve constant linear velocity, the disk must rotate
	faster (at a higher {angular velocity}) when reading or writing
	tracks closer to the centre.

	Having a constant linear read/write speed along the track means
	that the electrical signal to and from the heads has a constant
	{data rate} (bits per second), thus simplifying the timing of the
	drive electronics somewhat.  However, rotating at less than the
	maximum possible rate sacrifices some potential performance
	compared to the alternative, {constant angular velocity}.  Also,
	varying the rate causes more vibration and consumes more energy.

	(2014-07-27)

constant mapping

	<networking> A precursor to {ARP} used by some {TCP} software in
	which the destination {Ethernet address} is constructed from the
	top 24 {bits} of the source Ethernet address followed by the low
	24 bits of the (class A) destination {Internet address}.  For this
	scheme the top 24 bits of the Ethernet address must be the same on
	all hosts on the network.

	(2014-08-06)

constraint

	<programming, mathematics> A {Boolean} {relation}, often an
	equality or {ineqality} relation, between the values of one or
	more mathematical {variables}.  E.g. x>3 is a constraint on x.
	The process of {constraint satisfaction} attempts to assign values
	to variables so that all constraints are true.

	{Usenet} newsgroup: {news:comp.constraints}.  {FAQ
	(http://cs.unh.edu/ccc/archive/)}.

	(2002-06-08)

constraint functional programming

	<programming> (CFP) {functional programming} plus {constraints}.

	(2002-06-08)

Constraint Handling In Prolog

	<language> (CHIP) A {constraint logic programming} language
	developed by M. Dincbas at {ECRC}, Munich, Germany in 1985 which
	includes {Boolean unification} and a symbolic {simplex}-like
	{algorithm}.  CHIP introduced the {domain-variable model}.

	["The Constraint Logic Programming Language CHIP", M. Dincbas
	et al, Proc 2nd Intl Conf on Fifth Generation Computer Sys,
	Tokyo (Nov 1988), pp.249-264].

	["Constraint Satisfaction in Logic Programming", Van
	Hentenryck.  Available from COSYTEC, 4 rue Jean Rostand,
	F91893 Orsay, France].

	(1994-11-15)

ConstraintLisp

	<language> An {object-oriented} {constraint} language based on
	{CSP}.  An extension of {Common Lisp} and {CLOS}.

	["ConstraintLisp: An Object-Oriented Constraint Programming
	Language", Bing Liu (ex bing@iti.gov.sg) et al, SIGPLAN
	Notices 27(11):17-26, Nov 1992].

	(2000-04-02)

Constraint Logic Programming

	<programming> (CLP) A programming framework based (like {Prolog})
	on {LUSH} (or {SLD}) {resolution}, but in which {unification} has
	been replaced by a {constraint solver}.  A CLP {interpreter}
	contains a Prolog-like {inference engine} and an {incremental
	constraint solver}.  The engine sends constraints to the solver
	one at a time.  If the new constraint is consistent with the
	collected constraints it will be added to the set.  If it is
	inconsistent, it will cause the engine to {backtrack}.

	{CLP*} is a variant.

	["Constraint Logic Programming", J. Jaffar et al, 14th POPL,
	ACM 1987].

	(1994-11-01)

CONSTRAINTS

	<programming> A {programming language} for solving {constraints}
	using {value inference}.

	["CONSTRAINTS: A Language for Expressing Almost-Hierarchical
	Descriptions", G.J. Sussman et al, Artif Intell 14(1):1-39, Aug
	1980].

	(1994-11-01)

constraint satisfaction

	<application> The process of assigning values to {variables} while
	meeting certain requirements or "{constraints}".  For example, in
	{graph colouring}, a node is a variable, the colour assigned to it
	is its value and a link between two nodes represents the
	constraint that those two nodes must not be assigned the same
	colour.  In {scheduling}, constraints apply to such variables as
	the starting and ending times for tasks.

	The {Simplex} method is one well known technique for solving
	numerical constraints.

	The search difficulty of constraint satisfaction problems can be
	determined on average from knowledge of easily computed structural
	properties of the problems.  In fact, hard instances of
	{NP-complete} problems are concentrated near an abrupt transition
	between under- and over-constrained problems.  This transition is
	analogous to phase transitions in physical systems and offers a
	way to estimate the likely difficulty of a constraint problem
	before attempting to solve it with search.

	{Phase transitions in search
	(ftp://parcftp.xerox.com/pub/dynamics/constraints.html)} (Tad
	Hogg, {XEROX PARC}).

	(1995-02-15)

constructed type

	<types> A {type} formed by applying some {type constructor
	function} to one or more other types.  The usual constructions are
	functions: t1 -> t2, products: (t1, t2), sums: t1 + t2 and
	lifting: lift(t1).

	(In {LaTeX}, the lifted type is written with a subscript
	{\perp}).

	See also {algebraic data type}, {primitive type}.

	(1995-02-03)

Constructive Cost Model

	<programming> (COCOMO) A method for estimating the cost of a
	{software} package, proposed by Dr Barry Boehm.

	The Basic COCOMO Model estimates the effort required to develop
	software in three modes of development ({Organic Mode},
	{Semidetached Mode}, or {Embedded Mode}) using only {DSIs} as an
	input.  The Basic model is good for quick estimates.

	The Intermediate Model extends the Basic Model with an {Effort
	Adjustment Factor} (EAF) and different coefficients for the effort
	equation.  The user supplies settings for cost drivers that
	determine the effort and duration of the software projects.  It
	also allows DSI values and cost drivers to be chosen for
	individual components instead of for the system as a whole.

	The Detailed COCOMO Model uses effort multipliers for each phase
	of the project and provides a three-level product hierarchy and
	has some other capabilities such as a procedure for adjusting the
	phase distribution of the development schedule.

	["Software Engineering Economics", B. Boehm, Prentice-Hall,
	1981].

	(1996-05-29)

constructive proof

	<mathematics> A proof that something exists that provides an
	example or a method for actually constructing it.

	For example, for any pair of finite real numbers n < 0 and p > 0,
	there exists a real number 0 < k < 1 such that

		f(k) = (1-k)*n + k*p = 0.

	A constructive proof would proceed by rearranging the above to
	derive an equation for k:

		k = 1/(1-n/p)

	From this and the constraints on n and p, we can show that 0 < k <
	1.

	A few mathematicians actually reject *all* non-constructive
	arguments as invalid; this means, for instance, that the law of
	the {excluded middle} (either P or not-P must hold, whatever P is)
	has to go; this makes {proof by contradiction} invalid.  See
	{intuitionistic logic}.

	Constructive proofs are popular in theoretical computer science,
	both because computer scientists are less given to abstraction
	than mathematicians and because {intuitionistic logic} turns out
	to be an appropriate theoretical treatment of the foundations of
	computer science.

	(2014-08-24)

constructive solid geometry

	<graphics> (CSG) A method for describing the geometry of
	complex scenes by applying set operations to primitive
	objects.

	See also {CSG-tree}.

	[What operations?  What objects?]

	(1998-06-09)

constructor

	<programming> 1. In {functional programming} and {type
	theory}, one of the symbols used to create an object with an
	{algebraic data type}.

	2. A function provided by a {class} in {C++} and some other
	{object-oriented languages} to {instantiate} an object,
	i.e. to name it and initialise it.  The constructor function
	has the same name as the class.  A class may also have a
	{destructor} function to destroy objects of that class.

	(1994-10-20)

Consul

	<language> A {constraint}-based [{future}-based?] language
	with {Lisp}-like {syntax}.

	["Consul: A Parallel Constraint Language", D. Baldwin, IEEE
	Software 6(4):62-71].

	(1994-11-30)

consultant

	<job> A person who facilitates organisational change and/or
	provides subject matter expertise on technical, functional and
	business topics during development or implementation.
	Consultants perform {business requirements analysis},
	recommends selection of packaged software, develop proposals
	for consulting services and manage implementation projects at
	client sites.  They provides expert knowledge of products such
	as {SAP R/3}, {PeopleSoft}, {HRMS/Financials}, and
	{SmartStream}.

	(2004-03-09)

container class

	A {class} whose instances are collections of other objects.
	Examples include {stacks}, {queues}, {lists} and {arrays}.

content addressable memory

	(CAM, or "associative memory") A kind of storage device which
	includes comparison logic with each bit of storage.  A data
	value is broadcast to all words of storage and compared with
	the values there.  Words which match are flagged in some way.
	Subsequent operations can then work on flagged words, e.g. read
	them out one at a time or write to certain bit positions in
	all of them.  A CAM can thus operate as a {data parallel}
	({SIMD}) processor.

	CAMs are often used in {caches} and {memory management units}.

	(1995-02-16)

content-based information retrieval

	<image, algorithm> (CBIR) A general term for methods for using
	information stored in image archives.

	[Details?]

	[IEEE Computer, September 1995].

	(1995-11-23)

Content Data Model

	(CDM) An {SGML}-based {DoD} specification for interactive
	manuals.

	(1995-02-15)

content-free

	1. (By analogy with "context-free") Used of a message that
	adds nothing to the recipient's knowledge.  Though this
	adjective is sometimes applied to {flamage}, it more usually
	connotes derision for communication styles that exalt form
	over substance or are centred on concerns irrelevant to the
	subject ostensibly at hand.  Perhaps most used with reference
	to speeches by company presidents and other professional
	manipulators.

	See also {four-colour glossies}.

	2. Within British schools the term refers to general-purpose
	software such as a {word processor}, a {spreadsheet} or a
	program that tests spelling of words supplied by the teacher.
	This is in contrast to software designed to teach a particular
	topic, e.g. a plant growth simulation, an interactive periodic
	table or a program that tests spelling of a predetermined list
	of words.  Content-free software can be more cost-effective as
	it can be reused for many lessons throughout the syllabus.

	[{Jargon File}]

	(1998-08-26)

contention slot

	(Or contention period).  Minimum time a {host} must transmit
	for before it can be sure that no other host's {packet} has
	collided with its transmission.  If the maximum propagation
	delay from one host to any other is T, then a host that starts
	to transmit at time t0 may collide with a host that starts
	just before t0 + T.  The first host will not detect the
	collision until time t0 + 2T.

Contents of Decrement part of Register

	<programming> (cdr) /ku'dr/ or /kuh'dr/ The {LISP} operation
	that returns the right-hand node of a {binary tree} structure.
	In the typical case where the tree is used to store a list,
	the cdr is the tail of the list, i.e. all but the first
	element.

	The instruction format of the {IBM 7090} that hosted the
	original LISP implementation featured two 15-bit fields called
	the "address" and "decrement" parts.  The term "cdr" was
	originally "Contents of Decrement part of Register".
	Similarly, "car" stood for "Contents of Address part of
	Register".

	[{Jargon File}]

	(2007-02-28)

context

	That which surrounds, and gives meaning to, something else.

	<grammar> In a {grammar} it refers to the symbols before and
	after the symbol under consideration.  If the syntax of a
	symbol is independent of its context, the grammar is said to
	be {context-free}.

context clash

	<grammar> When a {parser} cannot tell which alternative
	{production} of a {syntax} applies by looking at the next
	input {token} ("lexeme").

	E.g. given syntax

		C -> A | b c

		A -> d | b e

	If you're parsing non-terminal C and the next token is 'b',
	you don't know whether it's the first or second alternative of
	C since they both can start with b.

	To discover whether a grammar has a context clash:

	For each non-terminal, N, with multiple alternatives, look at
	the first symbol of each alternative's right-hand side, call
	it s.  If s is the empty string, then find the set FOLLOWER(N)
	otherwise find the set FIRST*(s).  If any of the sets for N's
	alternatives intersect then there will be a context clash when
	parsing N.  If the next input symbol is one of those in the
	intersection of two sets then you won't know which of the
	alternatives applies.

	FIRST(s) is the set of symbols with which s can start,
	including s itself.  If s is a non-terminal then FIRST(s) also
	includes the first symbol of each alternative right-hand side
	of s.  The '*' in FIRST*(s) means the "{transitive closure}"
	of FIRST which means keep applying FIRST to each element of
	the result until the result doesn't change.  I.e. start with
	just the set R = {s}, then for each non-terminal x in R, add
	FIRST(x) to R.  Keep doing this until nothing new is added.
	(We are really only interested in the terminals in FIRST*(s)
	but some definitions include the non-terminals).

	FOLLOWER(N) is the set of symbols which can come after N in a
	sentence.  Find each occurrence of N on the right-hand side of
	a rule, e.g.

		M -> ... | ... N ... | ...

	If there is a symbol s immediately following N then add
	FIRST*(s) to the result (again, we're only interested in the
	terminal symbols in FIRST*(s)) if there is no symbol after N
	in the alternative then add FOLLOWER(M) to the result (i.e. if
	N can be the last symbol in an M then anything that can follow
	M can also follow N).

	If a grammar can generate the same sentence in multiple
	different ways (with different parse tress) then it is
	ambiguous.  An ambiguity must start with a context clash (but
	not all context clashes imply ambiguity).  The context clash
	occurs when trying to parse the first token of the phrase with
	multiple parses - you will not be able to tell which
	alternative to take.  To see if a context clash is also a case
	of ambiguity you would need to follow the alternatives
	involved in each context clash to see if they can generate the
	same complete sequence of tokens.

	(1995-04-05)

COntext Dependent Information Language

	<language> (CODIL) An early language for non-numerical
	business problems.

	["CODIL, Part1.  The Importance of Flexibility", C.F. Reynolds
	et al, Computer J 14(3):217-220, May 1971].

	(1994-12-23)

context-free

	Said of a {grammar} where the syntax of each constituent is
	independent of the symbols occuring before and after it in a
	sentence.  {Parsers} for such grammars are simpler than those
	for context-dependent grammars because the parser need only
	know the current symbol.

context-sensitive menu

	<operating system> A {menu} which appears in response to a
	user action (typically a {mouse} click) and whose contents are
	determined by which {application window} was clicked or has
	the {input focus}.

	Most {GUIs} use a secondary mouse button (right or middle) to
	call up a context-sensitive menu as the {primary mouse button}
	is normally used to interact with objects which are already
	visible.

	The context-sensitive menu often contains functions that are
	also available in a {menu bar} but the context-sensitive menu
	provides quick access to a subset of functions that are
	particularly relevant to the window area clicked on.

	The {RISC OS} {WIMP} uses only context-sensitive menus (always
	invoked using the middle mouse button).  This saves screen
	space and reduces mouse movement compared to a {menu bar}.

	(1999-09-22)

context switch

	<operating system> When a {multitasking} {operating system}
	stops running one {process} and starts running another.  Many
	operating systems implement concurrency by maintaining
	separate environments or "contexts" for each process.  The
	amount of separation between processes, and the amount of
	information in a context, depends on the operating system but
	generally the OS should prevent processes interfering with each
	other, e.g. by modifying each other's memory.

	A context switch can be as simple as changing the value of the
	{program counter} and {stack pointer} or it might involve
	resetting the {MMU} to make a different set of memory {pages}
	available.

	In order to present the user with an impression of parallism,
	and to allow processes to respond quickly to external events,
	many systems will context switch tens or hundreds of times per
	second.

	(1996-12-18)

Contextually Communicating Sequential Processes

	(CCSP) A notation based on {CSP}.

	["Contextually Communicating Sequential Processes - A Software
	Engineering Approach", M. Hull et al, Software Prac & Exp
	16(9):845-864 (Sept 1986)].

	(1994-11-01)

continental drift

	In 1980 {David Turner} remarked that {KRC} ran "at the speed
	of the continental drift".

	(1994-12-06)

continuation

	{continuation passing style}

Continuation Passing Style

	(CPS) A semantically clean language with continuations used as
	an intermediate language for {Scheme} and the {SML/NJ}
	{compiler}.

	["Rabbit: A Compiler for Scheme", G.L. Steele, AI-TR-474, MIT
	(May 1978)].

	["Compiling With Continuations", A. Appel, Cambridge U Press
	1992].

continuation passing style

	<programming> (CPS) A style of programming in which every user
	function f takes an extra argument c known as a continuation.
	Whenever f would normally return a result r to its caller, it
	instead returns the result of applying the continuation to r.
	The continuation thus represents the whole of the rest of the
	computation.  Some examples:

	 normal (direct style)    -->	continuation passing

	 square x = x * x		square x k = k (x*x)

	 g (square 23)			square 23 g

	 (square 3) + 1			square 3 ( \ s . s+1 )

	(1995-04-04)

continuations

	{continuation passing style}

continuous function

	A function f : D -> E, where D and E are {cpos}, is continuous
	if it is {monotonic} and

		f (lub Z) = lub { f z | z in Z }

	for all {directed} sets Z in D.  In other words, the image of
	the lub is the lub of any directed image.

	All {additive} functions (functions which preserve all lubs)
	are continuous.  A continuous function has a {least fixed
	point} if its {domain} has a least element, {bottom} (i.e. it
	is a cpo or a "pointed cpo" depending on your definition of a
	cpo).  The {least fixed point} is

		fix f = lub {f^n bottom | n = 0..infinity}

	(1994-11-30)

Continuous System Modeling Program

	<simulation> (CSMP) A program for {simulation} of dynamics of
	{continuous systems}.  CSMP is similar to {CSSL}.

	["A Guide to Using CSMP - The Continuous System Modeling
	Program", Frank H. Speckhart et al, P-H 1976].

	(1995-02-23)

Continuous System Simulation Language

	<simulation> (CSSL) Versions include {ACSL}, {HYTRAN}, {SL-I},
	{S/360} and {CSMP}.

	CSSL(Continuous System Simulation Language) versions I, II,
	III, IV and V have been commercially available since 1968.
	CSSL-I was developed for {Jet Propulsion Labs} in 1968.
	CSSL-III was widely distributed from 1969-1975.  CSSL-IV
	(interactive version) was developed by R. Nilsen and ran on
	over 30 different computers.  Currently CSSL-V is marketed by
	{Simulation Services International} and available on {PCs} and
	{workstations}.

	["The SCi Continuous System Simulation Language (CSSL)",
	Simulation, 9(6), Dec 1967].

	[URL?]

	(2003-04-15)

continuous wave

	<communications, history> (CW) A term from early radio history
	for a transmitter using an {electron tube} (valve) oscillator
	to constantly add energy to a tuned circuit connected to an
	antenna.

	The term is used in contrast with the use of a {spark gap} to
	initiate a damped {sinusoidal wave} in a {tuned circuit}
	consisting of an {inductor} and {capacitor}.  The energy in
	this circuit constantly changes between the capacitor's
	electrostatic field and the inductor's magnetic field.  The
	energy is then coupled to the radiating antenna, loosely (so
	as not to dampen the wave too quickly).

	Some radio amateurs understand "CW" to mean transmission by
	means a single frequency signal which is either on or off
	(e.g. {Morse code}), as opposed to a carrier which varies
	continuously in amplitude, frequency or phase.  Some would
	even call the former "unmodulated" even though turning on and
	off is actually the most extreme form of amplitude modulation.

	(2009-11-24)

contraction

	{reduction}

contract programmer

	<job> A programmer who works on a fixed-length/temporary
	contract, and is often specialised in writing certain types of
	code.

	A contract programmer may be independent or they may work in a
	supplier's {professional services} department, providing
	consultancy and programming services for the supplier's
	products.

	(2004-03-09)

control

	<character> (Or "ctrl", "^") One (or a pair) of {modifier
	keys} found on all modern {keyboards}.  If the control key is
	held down while pressing and releasing certain other keys then
	a "{control character}" is generated, e.g. holding control and
	hitting "A" generates control-A ({ASCII} code 1).  The ASCII
	code for the control character is generally 64 less than that
	for the unmodified character.

	The control key does not generate any character on its own but
	most modern keyboards and {operating systems} allow a program
	to tell whether each of the individual keys on the keyboard
	(including modifier keys) is pressed at any time.

	Control characters mostly have some kind of "non-printing"
	effect on the output such as ringing the bell (Control-G) or
	advancing to the next line (Control-J).  Most have alternative
	names suggesting these functions (Bell, Line Feed, etc.).

	See {ASCII character table}.

	(1997-07-10)

Control and Status Register

	<hardware> (CSR) A {register} in most {CPUs} which stores
	additional information about the results of machine
	instructions, e.g. comparisons.  It usually consists of
	several independent flags such as {carry}, {overflow} and
	zero.  The CSR is chiefly used to determine the outcome of
	{conditional branch} instructions or other forms of
	conditional execution.

	(1998-06-26)

control bus

	<architecture> In a {digital computer}, the signal paths that
	carry commands from the {instruction decode} logic to various
	different functional units such as the {ALU}, {memory address
	register}, {memory data register} and other {buffers}.

	Named by analogy with the {address bus} and {data bus}, each
	of which carries a set of related signals, the signals carried
	by the control bus are more independant.

	Some might include other signals such as timing ({clock}) and
	status under the term, further reducing its similarity to
	other busses.

	(2007-07-25)

control-C

	<character> (Or ETX, End of Text) The {ASCII} character with
	code 3.

	Control-C is the interrupt character used on many {operating
	systems}, including {Unix} and {MS-DOS} to abort a running
	program.

	Among {BSD} {Unix} hackers, the canonical humorous response
	to "Give me a break!" is "Control C".

	[{Jargon File}]

	(1995-03-16)

control code

	<character> A character which is input or output to cause some
	special action rather than to appear as part of the data.

	Most control characters are input by holding down (either of)
	the "Control" key(s) on the keyboard and simultaneously
	pressing another key which may be a letter or (depending on
	the keyboard and {operating system}) certain punctuation
	characters.  Some control codes usually have their own special
	keys: {escape}, {tab}, {delete}, {backspace}, {return} and can
	thus be entered with a single keypress.

	Different {operating systems} and programs have different
	conventions for what effect typing certain control codes will
	have, such as interrupting the current process or suspending
	output.

	Control codes may be output for their effect on the output
	device, e.g. moving the cursor or print head to the start of a
	new line.

	See {control-O}, {control-Q}, {control-S}.

	(1995-03-23)

control flow

	<programming> (Or "flow of control") The sequence of execution
	of instructions in a program.  This is determined at run time
	by the input data and by the {control structures} (e.g. "if"
	statements) used in the program.

	Not to be confused with "{flow control}".

	(1997-09-14)

control-G

	{bell}

Control Language

	<language> (CL) The {batch} language for {IBM RPG}/38, used in
	conjunction with {RPG III}.

	See also {OCL}.

	(2000-04-08)

controller

	<hardware> Part of a computer, typically a separate circuit
	board, which allows the computer to use certain kinds of
	{peripheral} devices.  A {disk controller} is used to connect
	{hard disks} and {floppy disks}, a {network controller} is
	used for {Ethernet}.  Other controllers are: {keyboard
	controller}, {interrupt controller} and {graphics controller}.

	(1998-03-16)

control-O

	<character> {ASCII} character 15 (SI).

	The character used on some {operating systems} to abort output
	but allow the program to keep on running.  The name "SI" comes
	from its use on some terminals to "shift in" an alternative
	character set.  "SO" is {Control-N}.

	Compare {control-S}.

	[{Jargon File}]

	(1995-03-16)

Control Program

	<operating system> (CP) The component of {IBM}'s {Virtual
	Machine} (VM) that provides "guest support" for {operating
	systems} that run on IBM {mainframe} compatible processors.
	Cp does this by providing a seamless {emulation} of privileged
	functions in the problem program environment.

	(1999-01-19)

Control Program for Microcomputers

	<operating system> (CP/M) An early {microcomputer} {operating
	system} written by Gary Kildall of {Digital Research} for
	{8080} and {Zilog Z80}-based 8-bit computers.  CP/M was very
	popular in the late 1970s but was virtually wiped out by
	{MS-DOS} after the release of the {IBM PC} in 1981.

	Many of CP/M's features and conventions strongly resemble
	those of early {DEC} operating systems such as {TOPS-10},
	{OS/8}, {RSTS} and {RSX-11}.

	CP/M might have been the {OS} for the {IBM PC} instead of
	{MS-DOS} but Kildall wanted to keep control of his creation
	and only license it to IBM.  Big Blue however wanted to own
	and control it completely.  Kildall spent the day IBM's reps
	wanted to meet him enjoying the perfect flying weather in his
	private plane.

	[Did CP/M use the same {FAT} file system as MS-DOS?]

	(1996-01-07)

control-Q

	<character> (Or XON, DC1, {Device Control} 1) The character
	with {ASCII} code 17, used in {software handshaking} to resume
	output after a previous {control-S}.

	[{Jargon File}]

	(1996-06-28)

control-S

	<character> (Or XOFF, DC3, {Device Control} 3) The character
	with {ASCII} code 19, used in {software handshaking} to
	temporarily suspend output until a {control-Q} is received.

	[{Jargon File}]

	(1996-06-28)

control structure

	<programming> One of the instructions, statements or groups of
	statements in a programming language which determines the
	sequence of execution of other instructions or statements (the
	{control flow}).

	In {assembly language} this typically consists of {jumps} and
	{conditional jumps} along with {procedure} call and return
	though some architectures include other constructs such as an
	instruction which skips the following instruction depending on
	some condition ({PDP}?), various kinds of {loop} instructions
	(later {Motorola 680x0}) or conditional execution of all
	instructions (Advanced RISC Machine).

	Basic control structures (whatever their names in particular
	languages) include "if CONDITION then EXPRESSION else
	EXPRESSION", the {switch statement}, "while CONDITION do
	EXPRESSION", "gosub", the suspect "{goto}" and the much-feared
	"{come from}".  Other constructs handle errors and
	{exceptions} such as {traps} and {interrupts}.

	(1997-09-14)

control tty

	(/dev/ptyp*) The network side of a {pseudo-tty}.

control unit

	1. <processor> The part of a {CPU} that sends control signals
	to other components to cause them to execute the {machine
	cycle} - fetch, decode, execute, store.

	2. <architecture> Any device that controls the I/O operations
	of one or more {peripheral} devices, e.g. a {disk controller}.

	(2008-05-21)

conventional memory

	<storage> The first 640 {kilobytes} of an {IBM PC}'s memory.
	Prior to {EMS}, {XMS}, and {HMA}, {real mode} application
	could use only this part of the memory.

	(1996-01-10)

converged network

	<networking> A single {network} that can carry {voice},
	{video} and {data}.

	(2007-06-07)

Convergent Technologies

	<company> A company formed by a small group of people who left
	{Intel Corporation} in 1979.  Convergent Technologies' first
	product was the IWS (Integrated Workstation) based on the
	{Intel 8086}, which ran {Convergent Technologies Operating
	System} - their first {operating system}.

	Unisys bought {Convergent Technologies} in 1988.

	[Who bought/merged with who and when?]

	(1998-04-03)

Convergent Technologies Operating System

	<operating system> (CTOS, BTOS, STARSYS) /see-toss/ A modular,
	{message-passing}, {multi-process} based {operating system}.

	{Convergent Technologies}' first product was the IWS
	(Integrated Workstation) based on the {Intel 8086}, which had
	CTOS as its operating system.  It is a modular operating
	system with built in {local area networking}.  CTOS supports
	multiple processes or {threads}, and message-based
	{inter-process communication}.

	Companies which have licensed CTOS include {Burroughs} (BTOS)
	and {Bull} (STARSYS).  The largest customer was {Unisys}, with
	whom Convergent Technologies merged to become one company in
	1988.  CTOS now has over 800,000 users worldwide.

	CTOS runs on Intel {Pentium} computers, and can run
	concurrently with {Microsoft} {Windows NT}.

	For some reason, CTOS is no longer marketted to new customers,
	although there is a support comittment for existing customers
	until 2001.  Major customers include Police Forces, Banks, and
	Airlines.

	Latest version: CTOS III 1.3.2.

	["Exploring CTOS", Miller E., Crook J., Loy J. - Prentice
	Hall, ISBN 0-13-297342-1, 1991].

	(1996-09-24)

Conversational LISP

	<language> (CLISP) A mixed English-like, {ALGOL}-like surface
	{syntax} for {Interlisp}.

	["CLISP: Conversational LISP", W. Teitelman, in Proc Third
	Intl Joint Conf on AI, Stanford, Aug 1973, pp.686-690].

	(1994-11-01)

Conversational Monitor System

	{Virtual Machine/Conversational Monitor System}

converse

	<logic> The truth of a {proposition} of the form A => B and
	its converse B => A are shown in the following truth table:

		A   B | A => B   B => A
		------+----------------
		f   f |	  t	   t
		f   t |	  t	   f
		t   f |	  f	   t
		t   t |	  t	   t

	(2002-07-12)

conversion to iteration

	A transformation applied to functional programs to replace
	recursion with iteration.  A tail-recursive function can be
	compiled to an iterative loop where the recursive call becomes
	a jump back to the start and the parameters are held in
	registers which are updated with new values each time around
	the loop.  See Iteration, Tail recursion optimisation.

CONVERT

	<language> 1. (Or "REC", "Regular Expression Converter") A
	{string processing} language that combined the {pattern
	matching} and transformation operations of {COMIT} with the
	{recursive data structures} of {Lisp}.

	["Convert", A. Guzman et al, CACM 9(8):604-615, Aug 1966].

	2. An early language to convert programs and data from one
	language to another.

	["CONVERT Manual", OLI Systems Inc, Oct 1976].

	(2007-02-05)

convert.f90

	A {Fortran77} to {Fortran90} translator by Michael Metcalf
	<metcalf@cernvm.cern.ch>.  The significant differences between
	the two Fortrans make this package useful.

	{(ftp://jkr.cc.rl.ac.uk/pub/MandR/convert.f90)}.

	(1993-07-17)

Convex Computer Corporation

	<company> A mini-super-computer manufacturer.

	Address: Richardson, Texas, USA.

	(1995-03-01)

convex hull

	<mathematics, graphics> For a {set} S in space, the smallest
	{convex set} containing S.  In the plane, the convex hull can
	be visualized as the shape assumed by a rubber band that has
	been stretched around the set S and released to conform as
	closely as possible to S.

	(1997-08-03)

Conway, John Horton

	{John Horton Conway}

Conway's Law

	<project, humour> The rule that the organisation of the
	software and the organisation of the software team will be
	congruent; originally stated as "If you have four groups
	working on a compiler, you'll get a 4-pass compiler".

	Melvin Conway, an early proto-hacker, wrote an {assembler} for
	the {Burroughs 220} called SAVE.  The name "SAVE" didn't stand
	for anything; it was just that you lost fewer card decks and
	listings because they all had SAVE written on them.

	[{Jargon File}]

Conway's Life

	{Life}

cooC

	{Concurrent Object-Oriented C}.

cooccurrence matrix

	<mathematics> Given a position operator P(i,j), let A be a nxn
	matrix whose element A[i][j] is the number of times that
	points with grey level (intensity) g[i] occur, in the position
	specified by P, relative to points with grey level g[j].  Let
	C be the nxn matrix that is produced by dividing A with the
	total number of point pairs that satisfy P.  C[i][j] is a
	measure of the joint probability that a pair of points
	satisfying P will have values g[i], g[j].  C is called a
	cooccurrence matrix defined by P.  Examples for the operator P
	are: "i above j", "i one position to the right and two below
	j", etc.

	(1995-05-11)

cookbook

	<programming> (From amateur electronics and radio) A book of
	small code segments that the reader can use to do various
	{magic} things in programs.

	One current example is the "{PostScript} Language Tutorial and
	Cookbook" by Adobe Systems, Inc (Addison-Wesley, ISBN
	0-201-10179-3), also known as the {Blue Book} which has
	recipes for things like wrapping text around arbitrary curves
	and making 3D fonts.

	Cookbooks, slavishly followed, can lead one into {voodoo
	programming}, but are useful for hackers trying to {monkey up}
	small programs in unknown languages.  This function is
	analogous to the role of phrasebooks in human languages.

	[{Jargon File}]

	(1994-11-04)

cooked mode

	The normal{Unix} character-input mode, with interrupts enabled
	and with erase, kill and other special-character
	interpretations performed directly by the tty driver.
	Opposite of {raw mode}.  See also {rare mode}.  Other
	operating systems often have similar mode distinctions, and
	the raw/rare/cooked way of describing them has spread widely
	along with the {C} language and other Unix exports.  Most
	generally, "cooked mode" may refer to any mode of a system
	that does extensive preprocessing before presenting data to a
	program.

	[{Jargon File}]

cookie

	1. <web> {HTTP cookie}.

	2. <protocol> A handle, transaction ID, or other token of
	agreement between cooperating programs.  "I give him a packet,
	he gives me back a cookie".

	The ticket you get from a dry-cleaning shop is an example of a
	cookie; the only thing it's useful for is to relate a later
	transaction to this one (so you get the same clothes back).

	Compare {magic cookie}; see also {fortune cookie}.

	3. <security, jargon> A {cracker} term for the {password} list
	on a {multi-user} computer.

	4. <jargon> An adjective describing a computer that just
	became {toast}.

	(1997-04-14)

cookie bear

	{cookie monster}

cookie file

	<operating system> A collection of {fortune cookies} in a
	format that facilitates retrieval by a {fortune} program.
	There are many cookie files in public distribution, and site
	admins often assemble their own from various sources.

	[{Jargon File}]

	(1997-01-07)

cookie jar

	1. <programming> An area of memory set aside for storing
	{cookies}.  Most commonly heard in the {Atari ST} community;
	many useful ST programs record their presence by storing a
	distinctive {magic number} in the jar.  Programs can inquire
	after the presence or otherwise of other programs by searching
	the contents of the jar.

	2. <security> A {cracker} term for the password file of a
	multi-user computer.

	[{Jargon File}]

	(1997-02-12)

cookie monster

	<recreation> (From the children's TV program "Sesame Street")
	Any of a family of early (1970s) hacks reported on {TOPS-10},
	{ITS}, {Multics} and elsewhere that would lock up either the
	victim's terminal (on a {time-sharing} machine) or the
	{console} (on a batch {mainframe}), repeatedly demanding "I
	WANT A COOKIE".  The required responses ranged in complexity
	from "COOKIE" through "HAVE A COOKIE" and upward.

	See also {wabbit}.

	[{Jargon File}]

	(1997-02-12)

cooky

	{cookie}

COOL

	1. {Concurrent Object-Oriented Language}.

	2. CLIPS Object-Oriented Language?

	3. A C++ class library developed at {Texas Instruments} that
	defines {containers} like {Vectors}, {List}, {Hash_Table},
	etc.  It uses a shallow hierarchy with no common {base class}.
	The functionality is close to {Common Lisp} data structures
	(like {libg++}).  The {template} {syntax} is very close to
	{Cfront} 3.x and {g++} 2.x.

	JCOOL's main difference from COOL and GECOOL is that it uses
	real C++ templates instead of a similar syntax that is
	preprocessed by a special 'cpp' distributed with COOL and
	GECOOL.

	{(ftp://csc.ti.com/pub/COOL.tar.Z)}.

	GECOOL, JCOOL: {(ftp://cs.utexas.edu/pub/COOL/)}.

	E-mail: Van-Duc Nguyen <nguyen@crd.ge.com>

	(1992-08-05)

CooL

	<language> Combined object-oriented Language.

	An {object-oriented} language from the {ITHACA} {Esprit}
	project, which combines {C}-based languages with {database}
	technology.

	(1995-03-15)

COOL:Gen

	{Advantage Gen}

Co-operative Development Environment

	<tool, product> (CDE) A set of tools from {Oracle} for
	enterprise-wide, {client/server} {application} development.

	(1995-03-15)

Cooperative Information System

	<networking> (CIS) Networked computers which support
	individual or collaborative human work, and manage access to
	information and computing services.  Computation is done
	{concurrent}ly over the network by cooperative {database}
	systems, {expert systems}, multi-agent planning systems, and
	other software application systems ranging from the
	conventional to the advanced.

	(1995-05-11)

cooperative multitasking

	<parallel, operating system> A form of {multitasking} where it
	is the responsibility of the currently running task to give up
	the processor to allow other tasks to run.  This contrasts
	with {pre-emptive multitasking} where the task {scheduler}
	periodically suspends the running task and restarts another.

	Cooperative multitasking requires the programmer to place
	calls at suitable points in his code to allow his task to be
	{deschedule}d which is not always easy if there is no obvious
	top-level {main loop} or some routines run for a long time.
	If a task does not allow itself to be descheduled all other
	tasks on the system will appear to "freeze" and will not
	respond to user action.

	The advantage of cooperative multitasking is that the
	programmer knows where the program will be descheduled and can
	make sure that this will not cause unwanted interaction with
	other processes.  Under {pre-emptive multitasking}, the
	scheduler must ensure that sufficient state for each process
	is saved and restored that they will not interfere.  Thus
	cooperative multitasking can have lower {overheads} than
	pre-emptive multitasking because of the greater control it
	offers over when a task may be descheduled.

	Cooperative multitasking is used in {RISC OS}, {Microsoft
	Windows} and {Macintosh} {System 7}.

	(1995-03-20)

coordinate

	<mathematics> One member of a {tuple} of numbers which defines
	the position of a point in some space.  Commonly used
	coordinate systems have as many coordinates as their are
	dimensions in the space, e.g. a pair for two dimensions.  The
	most common coordinate system is {Cartesian coordinates},
	probably followed by {polar coordinates}.

	(1997-07-09)

Coordinated Universal Time

	<time, standard> (UTC, World Time) The standard time common to
	every place in the world.  UTC is derived from {International
	Atomic Time} (TAI) by the addition of a whole number of "leap
	seconds" to synchronise it with {Universal Time} 1 (UT1), thus
	allowing for the eccentricity of the Earth's orbit, the
	rotational axis tilt (23.5 degrees), but still showing the
	Earth's irregular rotation, on which UT1 is based.

	Coordinated Universal Time is expressed using a 24-hour clock
	and uses the {Gregorian calendar}.  It is used in aeroplane
	and ship navigation, where it also sometimes known by the
	military name, "Zulu time".  "Zulu" in the phonetic alphabet
	stands for "Z" which stands for longitude zero.

	UTC was defined by the International Radio Consultative
	Committee ({CCIR}), a predecessor of the {ITU-T}.  CCIR
	Recommendation 460-4, or ITU-T Recommendation X.680 (7/94),
	contains the full definition.

	The language-independent international abbreviation, UTC, is
	neither English nor French.  It means both "Coordinated
	Universal Time" and "Temps Universel Coordonné".

	{BIPM
	(http://www.bipm.org/enus/5_Scientific/c_time/time_1.html)}.

	{The Royal Observatory Greenwich
	(http://rog.nmm.ac.uk/leaflets/time/time.html)}.

	{History of UTC and GMT
	(http://ecco.bsee.swin.edu.au/chronos/GMT-explained.html)}.

	{U.S. National Institute of Standards & Technology
	(http://its.bldrdoc.gov/fs-1037/dir-009/_1277.htm)}.

	{UK National Physical Laboratory
	(http://npl.co.uk/npl/ctm/time_scales.html)}.

	{US Naval Observatory
	(http://tycho.usno.navy.mil/systime.html)}.

	{International Telecommunications Union
	(http://itu.int/radioclub/rr/arts02.htm)}.

	{Earth's irregular rotation (/pub/misc/earth_rotation)}.

	(2001-08-30)

Coordinating Committee for Intercontinental Research Networks

	(CCIRN) A committee that includes the United States FNC and
	its counterparts in North America and Europe.  Co-chaired by
	the executive directors of the Federal Networking Council and
	the European Association of Research Networks (RARE), the
	CCIRN provides a forum for cooperative planning among the
	principal North American and European research networking
	bodies.

	(1994-11-30)

coordination language

	<networking, protocol> A language defined specifically to
	allow two or more parties ({components}) to communicate in
	order to accomplish some shared goal.

	Examples of coordination languages are {Linda} and {Xerox}'s
	{CLF} ({STITCH}).

	(2004-04-18)

copious free time

	<jargon> (Apple; originally from the introduction to Tom
	Lehrer's song "It Makes A Fellow Proud To Be A Soldier") Used
	ironically to indicate the speaker's lack of the quantity in
	question; a mythical schedule slot for accomplishing tasks
	held to be unlikely or impossible.  Sometimes used to indicate
	that the speaker is interested in accomplishing the task, but
	believes that the opportunity will not arise.  "I'll implement
	the automatic layout stuff in my copious free time."

	The phrase is also used for time reserved for bogus or
	otherwise idiotic tasks, such as implementation of bad
	{chrome}, or the stroking of {suits}.  "I'll get back to him
	on that feature in my copious free time."

	[{Jargon File}]

	(1994-11-30)

copper

	Conventional electrical network cable with a core conductor of
	copper (or aluminium!)

	Opposed to {light pipe} or, say, a short-range microwave link.

	[{Jargon File}]

	(1994-11-30)

Copper Distributed Data Interface

	(CDDI) {FDDI} running over conventional copper cables.  A
	{Cisco}/{Crescendo} copyright term(?).  All {FDDI}
	connections, {single-attached} or {dual-attached}, can be
	either {optical fibre} or copper.

	(1994-12-14)

coprocessor

	Any computer processor which assists the main processor (the
	"{CPU}") by performing certain special functions, usually much
	faster than the main processor could perform them in software.
	The coprocessor often decodes instructions in parallel with
	the main processor and executes only those instructions
	intended for it.

	The most common example is a {floating point} coprocessor (or
	"{FPU}"), others are graphics and networking.

	(1995-01-05)

copy and paste

	<text> (Or "cut and paste", after the paper, scissors and glue
	method of document production) The system supported by most
	document editing applications (e.g. {text editors}) and most
	{operating systems} that allows you to select a part of the
	document and then save it in a temporary buffer (known
	variously as the "clipboard", "cut buffer", "kill ring").  A
	"copy" leaves the document unchanged whereas a "cut" deletes
	the selected part.

	A "paste" inserts the data from the clipboard at the current
	position in the document (usually replacing any currently
	selected data).  This may be done more than once, in more than
	one position and in different documents.

	More sophisticated {operating systems} support copy and paste
	of different data types between different applications,
	possibly with automatic format conversion, e.g from {rich
	text} to plain {ASCII}.

	{GNU Emacs} uses the terms "kill" instead of "cut" and "yank"
	instead of "paste" and data is stored in the "kill ring".

	[Origin?  Macintosh?  Xerox?]

	(1998-07-01)

copybook

	<programming, library> (Or "copy member", "copy module") A
	common piece of {source code} designed to be copied into many
	source programs, used mainly in {IBM} {DOS} {mainframe}
	programming.

	In {mainframe} {DOS} (DOS/VS, DOS/{VSE}, etc.), the copybook
	was stored as a "book" in a {source} library.  A library was
	comprised of "books", prefixed with a letter designating the
	language, e.g., A.name for Assembler, C.name for Cobol, etc.,
	because {DOS} didn't support multiple libraries, private
	libraries, or anything.  This term is commonly used by {COBOL}
	programmers but is supported by most {mainframe} languages.
	The {IBM} {OS} series did not use the term "copybook", instead
	it referred to such files as "libraries" implemented as
	"partitioned data sets" or {PDS}.

	Copybooks are functionally equivalent to {C} and {C++}
	{include} files.

	(1997-07-31)

copybroke

	<security> /kop'ee-brohk/ (Or "copywronged" - a play on
	"{copyright}") 1. Used to describe an instance of a
	{copy-protected} program that has been "broken"; that is, a
	copy with the copy-protection scheme disabled or removed.

	2. Copy-protected software which is unusable because of some
	{bit-rot} or {bug} that has confused the {copy protection}.

	3. Used to describe data damaged because of a side effect of a
	copy protection system.

	[{Jargon File}]

	(1997-03-16)

copying garbage collection

	A {garbage collection} method where memory is divided into two
	equal halves, known as the "from space" and "to space".
	Garbage collection copies active cells from the from space to
	the to space and leaves behind an invisible pointer (an
	"indirection") from the old position to the new copy.  Once
	all active cells have been copied in one direction, the spaces
	are swapped and the process repeated in the opposite
	direction.

copyleft

	<legal> /kop'ee-left/ (A play on "copyright") The {copyright}
	notice and {General Public License} applying to the works of
	the {Free Software Foundation}, granting reuse and
	reproduction rights to everyone.

	Typically copyrights take away freedoms; copyleft preserves
	them.  It is a legal instrument that requires those who pass
	on a program to include the rights to use, modify, and
	redistribute the code; the code and the freedoms become
	legally inseparable.

	The copyleft used by the GNU Project combines a regular
	copyright notice and the "GNU General Public License" (GPL).
	The GPL is a copying license which basically says that you
	have the aforementioned freedoms.  The license is included in
	each GNU source code distribution and manual.

	See also {General Public Virus}.

	[{Jargon File}]

	(1995-04-18)

copy member

	{copybook}

copy module

	{copybook}

copy protection

	<security> Any technique designed to prevent unauthorised
	copying of software.  Such techniques will only hinder the
	most incompetant attempts at {software theft} but often
	prevent legitimate customers from using products they have
	paid for in the way they want.  Considered silly.

	[{Jargon File}]

	(2010-02-03)

copyright

	<legal> The exclusive rights of the owner of the copyright on
	a work to make and distribute copies, prepare derivative
	works, and perform and display the work in public (these last
	two mainly apply to plays, films, dances and the like, but
	could also apply to software).

	A work, including a piece of software, is under copyright by
	default in most coutries, whether of not it displays a
	copyright notice.  However, a copyright notice may make it
	easier to assert ownership.  The copyright owner is the person
	or company whose name appears in the copyright notice on the
	box, or the disk or the screen or wherever.  Most countries
	have agreed to uphold each others' copyrights.

	A copyright notice has three parts.  The first can be either the
	{copyright symbol} (a letter C in a circle), the word "Copyright"
	or the abbreviation "Copr".  Only the first of these is recognised
	internationally and the common {ASCII} rendering "(C)" is not
	valid anywhere.  This is followed by the name of the copyright
	holder and the year of publication.  The year should be the year
	of _first_ publication, it is not necessary as some believe to
	update this every year to the current year.  Copyright protection
	in most countries extends for 50 years after the author's death.

	Originally, most of the computer industry assumed that only
	the program's underlying instructions were protected under
	copyright law but, beginning in the early 1980s, a series of
	lawsuits involving the video screens of game programs extended
	protections to the appearance of programs.

	Use of copyright to restrict redistribution is immoral,
	unethical and illegitimate.  It is a result of brainwashing by
	monopolists and corporate interests and it violates everyone's
	rights.  Such use of copyrights and patents hamper
	technological progress by making a naturally abundant resource
	scarce.  Many, from communists to right wing libertarians, are
	trying to abolish intellectual property myths.

	See also {public domain}, {copyleft}, {software law}.

	{Universal Copyright Convention
	(http://www.unesco.org/new/en/culture/themes/creativity/creative-industries/copyright/)}.

	{US Copyright Office (http://copyright.gov/)}.

	{Usenet} newsgroup: {news:misc.legal.computing}.

	[Is this definition correct in the UK?  In the US?  Anywhere?]

	(2014-01-08)

copyright symbol

	<character, legal> "&copy;" The internationally recognised
	symbol required to introduce a {copyright} notice, a letter C
	with a circle around it.  This can be encoded in {ISO 8859-1}
	as character code decimal 169, hexadecimal A9, in {HTML} as
	&amp;copy;, &amp;#169; or &amp;#xA9;.

	A "c" in parentheses: "(c)" is sometimes used in documents
	stored in a {coded character set} such as {ASCII} that does
	not include the C in a circle, but this has no legal meaning.

	(2009-01-06)

copywronged

	{copybroke}

CORAL

	1. {Class Oriented Ring Associated Language}.

	2. A {deductive database} and {logic programming} system based
	on {Horn-clause} rules with extensions like {SQL}'s {group-by}
	and {aggregation} operators.  CORAL was developed at the
	University of Wisconsin-Madison.  It is implemented in C++ and
	has a {Prolog}-like {syntax}.

	Many evaluation techniques are supported, including {bottom-up
	fixpoint evaluation} and top-down {backtracking}.  {Modules}
	are separately compiled; different evaluation methods can be
	used in different modules within a single program.
	Disk-resident data is supported via an interface to the
	{Exodus} storage manager.  There is an on-line help facility.
	It requires {AT&T} {C++} 2.0 (or {G++} soon) and runs on
	{Decstation} and {Sun-4}.

	{(ftp://ftp.cs.wisc.edu/)}.

	(1993-01-29)

CORAL 66

	A real-time system programming language derived from {JOVIAL}
	and {ALGOL 60}.  It was adopted as the British military
	standard from 1970 until the arrival of {Ada}.

	["Official Definition of CORAL 66", P.M. Woodward et al, HMSO,
	London, 1970].

CORBA

	{Common Object Request Broker Architecture}

CORBIE

	<language> An early system on the {IBM 704}.

	[Listed in CACM 2(5):16, May 1959].

	(1996-05-10)

CORC

	CORnell Compiler.  Simple language for student math problems.

	["The Cornell Computing Language", R.W. Conway et al, CACM
	6(6):317-320 (Jun 1963) Sammet 1969, p.294-296].

core

	1. <storage> {Main memory} or {RAM}.  This term dates from the
	days of {ferrite core memory} and, like the technology, is now
	archaic.

	Some derived idioms outlived the hardware: for example, "in
	core" (meaning {paged in}), {core dump}, "core image", "core
	file".  Some varieties of Commonwealth hackish prefer {store}.

	[{Jargon File}]

	(2009-11-06)

	2. <processor> An {integrated circuit} design, usually for a
	{microprocessor}, which includes only the {CPU} and which is
	intended to be incorporated on a chiip with other circuits
	such as {cache}, {memory management unit}, I/O ports and
	timers.  The trend in 2009 is to have multiple cores per chip.

	The {ARM6}, {ARM7} and {ARM8} are early examples, the {Intel}
	{Core i9} more recent.

	3. <language> A varient on {kernel} as used to describe
	features built into a language as opposed to those provided by
	{libraries}.

	(2009-11-06)

core cancer

	<jargon> A process that exhibits a slow but inexorable
	{resource leak} - like a cancer, it kills by crowding out
	productive "tissue".

	[{Jargon File}]

	(1997-11-10)

core dump

	<programming, operating system, jargon> Common {Iron Age}
	jargon, preserved by {Unix} for a {memory dump}.

	The term is also used for a complete account of a human's
	knowledge on some subject (also {brain dump}), especially in a
	lecture or answer to an exam question.

	[{Jargon File}]

	(2007-05-09)

core gateway

	Historically, one of a set of gateways ({routers}) operated by
	the {Internet Network Operations Center} at Bolt, Beranek and
	Newman (BBN).  The core gateway system formed a central part
	of {Internet} routing in that all groups must advertise paths
	to their networks from a core gateway.

Corel Corporation

	<company> A software publisher best known for the {CorelDraw}
	{application}.  Founded in June 1985 by Dr. Michael Cowpland,
	Corel Corporation was originally a {systems integration}
	company.  In January 1989, however they entered the software
	publishing market with the introduction of CorelDraw.  Corel
	became the second largest maker of personal {productivity
	software} in January 1996 when they purchased the
	{WordPerfect} family of software from {Novell, Inc.}.

	{(http://corel.com/)}.

	(1997-03-12)

core leak

	{memory leak}

Corel VENTURA

	<text, graphics> (Previously "Ventura Publisher") The first
	full-featured {desktop publishing} program available for the
	{IBM personal computer} and compatibles.  Ventura Publisher
	was originally distributed by {Ventura}, a wholy owned
	subsiduary of {Xerox Corporation} but was acquired by {Corel
	Corporation} in September 1993.

	Latest version: Corel VENTURA 8, as of 1999-04-05.

	{Home
	(http://corelnet.com/products/graphicsandpublishing/ventura8/index.htm)}.

	(1999-04-05)

Core Protocol Stack

	<architecture>

	1. A portion of the {Web Services} {architecture} for
	defining and describing various {Web Services}.

	2. The architectural {protocol} layers of a {Bluetooth}
	{wireless} {communication} system, comprising the {Host
	Control Interface} (HCI), {Logical Link Control and Adaptation
	Protocol} (L2CAP), {RS232 Serial Cable Emulation Profile}
	(RFCOMM), {Service Discovery Protocol} (SDP), and {Object
	Exchange} (OBEX).

	(2002-06-28)

Core War

	<games> (Or more recently, "Core Wars") A game played between
	{assembly code} programs running in the {core} of a simulated
	machine (and vicariously by their authors).  The objective is
	to kill your opponents' programs by overwriting them.

	The programs are written using an {instruction set} called
	"{Redcode}" and run on a {virtual machine} called "{MARS}"
	(Memory Array Redcode Simulator).

	Core War was devised by Victor Vyssotsky, Robert Morris Sr.,
	and {Dennis Ritchie} in the early 1960s (their original game
	was called "{Darwin}" and ran on a {PDP-1} at {Bell Labs}).
	It was first described in the "Core War Guidelines" of March,
	1984 by D. G. Jones and A. K. Dewdney of the Department of
	Computer Science at The University of Western Ontario
	(Canada).

	Dewdney wrote several "Computer Recreations" articles in
	"Scientific American" which discussed Core War, starting with
	the May 1984 article.  Those articles are contained in the two
	anthologies cited below.  A.K. Dewdney's articles are still
	the most readable introduction to Core War, even though the
	{Redcode} dialect described in there is no longer current.

	The International Core War Society (ICWS) creates and
	maintains Core War standards and the runs Core War
	tournaments.  There have been six annual tournaments and two
	standards (ICWS'86 and ICWS'88).

	["The Armchair Universe: An Exploration of Computer Worlds",
	A. K. Dewdney, W. H. Freeman, New York, 1988, ISBN
	0-7167-1939-8, LCCN QA76.6 .D517 1988]

	["The Magic Machine: A Handbook of Computer Sorcery",
	A. K. Dewdney, W. H. Freeman, New York, 1990, ISBN
	0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback), LCCN
	QA76.6 .D5173 1990].

	(1998-10-30)

corge

	/korj/ Yet another {metasyntactic variable}, named after a cat
	invented by Mike Gallaher and propagated by the {GOSMACS}
	documentation.

	See {grault}.

	[{Jargon File}]

	(1994-12-08)

Cornell List Processor

	(CLP) A list processing language, an extension of {CORC}, used
	for {simulation}.

	[Sammet 1969, p. 461].

	(1994-11-01)

Cornell Theory Center

	(CTC) One of four supercomputing centers funded by the US
	{National Science Foundation}.  The CTC also receives funding
	from the {Advanced Research Projects Agency}, the National
	Institutes of Health, New York State, {IBM} Corporation, and
	other members of the center's Corporate Research Institute.

	{(http://tc.cornell.edu/)}.

	(1994-12-08)

Cornell University

	<body, education> A US Ivy League University founded in 1868
	by businessman Ezra Cornell and respected scholar Andrew
	Dickson White.  Cornell includes thirteen colleges and
	schools.  On the Ithaca campus are the seven undergraduate
	units and four graduate and professional units.  The Medical
	College and the Graduate School of Medical Sciences are in New
	York City.  Cornell has 13,300 undergraduates and 6,200
	graduate and professional students.

	See also {Concurrent ML}, {Cornell Theory Center}, {Cornell
	University Programming Language}, {CU-SeeMe}, {ISIS}.

	{(http://cornell.edu/)}.

	(1996-12-01)

Coroutine Pascal

	["Control Separation in Programming languages", Lemon et al,
	ACM Ann Conf 1977].

	(1994-12-08)

Corporation for National Research Initiatives

	<body> (CNRI) A US research and development organisation that
	leads and funds research and development of network-based
	information technology including the {National Information
	Infrastructure}.

	Address: Reston, VA, USA.

	{CNRI Home (http://cnri.reston.va.us/)}.

	(2004-08-27)

Corporation for Open Systems

	(COS) An international consortium of computer users and
	vendors set up to provide ways of testing {OSI}
	implementations.

	(1994-11-30)

Corporation for Research and Educational Networking

	<body> (CREN) The organisation responsible for providing
	networking service to {BITNET} and {CSNET} users.  CREN was
	formed in October 1989, when {BITNET} and {CSNET} were
	combined under one authority.  {CSNET} is no longer
	operational, but CREN still runs {BITNET}.

	[Still true?]

	(1996-05-17)

CORREGATE

	Based on {Internal Translator} (IT).

	[Sammet 1969, p. 139].

	(1994-11-30)

Correlatives and Conversions

	The {data description language} used in the {Pick} {operating
	system}.

	["Exploring the Pick Operating System", J.E. Sisk et al,
	Hayden 1986].

	(1994-11-30)

Cortex

	An experimental slow controls project at {CERN}.

	(1994-11-30)

CORTL

	An intermediate language, a form of {RTL}, by Carl McConnell
	<mcconnell@cs.uiuc.edu>.

	(1994-11-30)

COS

	1. {Cray Operating System}.

	2. {Corporation for Open Systems}.

COSE

	Common Open Software Environment.  An initiative by
	Hewlett-Packard, Sun, IBM, Novell, Univel and SCO to move
	toward consistency and interoperability between Unix
	suppliers.

COSINE

	Cooperation for Open Systems Interconnection Networking in
	Europe.  A EUREKA project.

cosmic rays

	Notionally, the cause of {bit rot}.  However, this is a
	semi-independent usage that may be invoked as a humorous way
	to {handwave} away any minor {randomness} that doesn't seem
	worth the bother of investigating.  "Hey, Eric - I just got
	a burst of garbage on my {tube}, where did that come from?"
	"Cosmic rays, I guess."  Compare {sunspots}, {phase of the
	moon}.  The British seem to prefer the usage "cosmic showers";
	"alpha particles" is also heard, because stray alpha particles
	passing through a memory chip can cause single bit errors
	(this becomes increasingly more likely as memory sizes and
	densities increase).

	Factual note: Alpha particles cause bit rot, cosmic rays do
	not (except occasionally in spaceborne computers).  Intel
	could not explain random bit drops in their early chips, and
	one hypothesis was cosmic rays.  So they created the World's
	Largest Lead Safe, using 25 tons of the stuff, and used two
	identical boards for testing.  One was placed in the safe, one
	outside.  The hypothesis was that if cosmic rays were causing
	the bit drops, they should see a statistically significant
	difference between the error rates on the two boards.  They
	did not observe such a difference.  Further investigation
	demonstrated conclusively that the bit drops were due to alpha
	particle emissions from thorium (and to a much lesser degree
	uranium) in the encapsulation material.  Since it is
	impossible to eliminate these radioactives (they are uniformly
	distributed through the earth's crust, with the statistically
	insignificant exception of uranium lodes) it became obvious
	that one has to design memories to withstand these hits.

	[{Jargon File}]

COSS

	{Common Object Services Specification} in {CORBA}.

cost control callback

	<communications> A system where a computer automatically
	rejects incoming {dial-up} calls from certain telephone
	numbers and calls them back, with the result that the caller
	pays nothing for the connection.  This differs from security
	{callback} in that it applies to certain phone numbers instead
	of to certain user names.

	(2003-07-13)

Cost Driver Attribute

	<programming> Factors affecting the productivity of software
	development.  These include attributes of the software,
	computers, personnel, and project.

	(1996-05-28)

Cost/Schedule Control System Criteria

	<project> (C/SCSC) A set of criteria specified by the Federal
	Government for reporting project schedule and financial
	information.

	(1996-05-29)

COTS

	<software> commercial off-the-shelf.  See {commercial software}.

	(2007-02-08)

Cougar

	<web, standard> A former (development) name for the
	{W3C}'s {HTML} 4 standard.

	(2001-02-06)

cough and die

	<jargon> {barf}.  Connotes that the program is throwing its
	hands up by design rather than because of a bug or oversight.
	"The parser saw a control-A in its input where it was looking
	for a printable, so it coughed and died."

	Compare {die}, {die horribly}, {scream and die}.

	[{Jargon File}]

	(1995-03-07)

count

	<programming> One of the built-in {aggregate functions} in
	{relational database} systems, that returns the number of rows
	in a result.  The argument to the function is nearly always
	"*", e.g.

	  SELECT COUNT(*) FROM books

	which returns the number of rows in the "books" table.  If,
	instead, we say

	  SELECT COUNT(publisher) FROM books

	then only rows with a non-{null} value in the "publisher"
	column will be counted.

	(2010-09-26)

countable

	<mathematics> A term describing a {set} which is {isomorphic}
	to a subet of the {natural numbers}.  A countable set has
	"countably many" elements.  If the isomorphism is stated
	explicitly then the set is called "a counted set" or "an
	{enumeration}".

	Examples of countable sets are any {finite} set, the {natural
	numbers}, {integers}, and {rational numbers}.  The {real
	numbers} and {complex numbers} are not [proof?].

	(1999-08-29)

countably many

	{countable}

counted

	<mathematics> A term describing a {set} with an explicit
	{isomorphism} to the {natural numbers}.

	Compare: {countable}.

	(1995-04-13)

counterbug

	<humour> A {bug} used as a relpy to refute another person's
	bug report, as in "counterargument".

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-10-24)

country code

	<networking, standard> Originally, a two-letter abbreviation
	for a particular country (or geographical region), generally
	used as a {top-level domain}.

	Originally country codes were just for countries; but country
	codes have been allocated for many areas (mostly islands) that
	aren't countries, such as Antarctica (aq), Christmas Island
	(cx) and Saint Pierre et Miquelon (pm).

	Country codes are defined in {ISO 3166} and are used as the
	top level domain for {Internet} {hostnames} in most countries
	but hardly ever in the USA (code "us").  ISO 3166 defines
	short and full english and french names, two- and three-letter
	codes and a three-digit code for each country.

	There are also {language codes}.

	{Latest list (http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html)}.

	(2006-12-11)

coupling

	<programming, hardware> The degree to which components depend
	on one another.  There are two types of coupling, "tight" and
	"loose".  Loose coupling is desirable for good {software
	engineering} but tight coupling may be necessary for maximum
	performance.  Coupling is increased when the data exchanged
	between components becomes larger or more complex.

	(1996-08-01)

Course Author Language

	<language> (CAL) The {CAI} language for the {IBM 360}.

	["Design of a Programming Language for Computer Assisted
	Learning", F.M. Tonge, Proc IFIP Congress 1968, v2].

	(1994-11-08)

courseware

	<application> Programs and data used in {Computer-Based
	Training}.

	(1995-03-13)

Coursewriter III

	<language, education> A simple {CAI} language, developed
	around 1976.

	["Coursewriter III, Version 3 Author's Guide", SH20-1009,
	IBM].

	(1995-03-13)

cowboy

	[Sun, from William Gibson's {cyberpunk} SF]  Synonym
	for {hacker}.  It is reported that at Sun this word is often
	said with reverence.

	[{Jargon File}]

COWSEL

	COntrolled Working SpacE Language.  Burstall and Popplestone,
	U Edinburgh, 1964-66.  LISP-like semantics with FORTH-like
	stack, and reverse Polish syntax.  Forerunner of POP.
	EPU-R-12, U Edinburgh (Apr 1966).

CP

	A concurrent Prolog.

	"The Concurrent Logic Programming Language CP": Definition and
	Operational Semantics", V. Saraswat, 14th POPL, ACM 1987,
	pp.49-62.

CPAN

	{Comprehensive Perl Archive Network}

CParaOps5

	<language> A {parallel} version of {OPS5} written at CMU, in
	{C} and compiling to C.  CParaOps5 is available for {Unix},
	{Mach}, {Encore Multimaxen}, and {Sequent}.

	Latest version: 5.4, as of 1999-08-30.

	{(http://cs.ucsb.edu/~acha/software.html)}.

	(1999-08-30)

CPE

	{Customer Premises Equipment}

CPGA

	{Ceramic Pin Grid Array}

CPI

	{Common Program Interface}

CPL

	Combined Programming Language.  U Cambridge and U London.  A
	very complex language, syntactically based on ALGOL 60, with a
	pure functional subset.  Provides the ..where.. form of local
	definitions.  Strongly typed but has a "general" type enabling
	a weak form of polymorphism.  Functions may be defined as
	either normal or applicative order.  Typed array and
	polymorphic list structures.  List selection is through
	structure matching.  Partially implemented on the Titan (Atlas
	2) computer at Cambridge.  Led to the much simpler BCPL.  "The
	Main Features of CPL", D.W. Barron et al, Computer J
	6(2):134-143 (Jul 1963).

CPLD

	{complex programmable logic device}

CPM

	{Control Program for Microcomputers}

CP/M

	{Control Program for Microcomputers}

cpo

	{complete partial ordering}

cpp

	{C preprocessor}.

cppp

	<tool> A compiler {front-end} for {C++} by Tony Davis
	<ted@cs.brown.edu> with complete semantic processing.  cppp is
	based on {Yacc} and outputs an {abstract syntax graph}.
	Version: 1.14.

	{(ftp://wilma.cs.brown.edu/pub/cppp.tar.Z)}.

	(1993-05-26)

C preprocessor

	<tool, programming> (cpp) The standard {Unix}
	{macro}-expansion utility run as the first phase of the {C}
	compiler, {cc}.  Cpp interprets lines beginning with "#" such
	as

		#define BUFFER_SIZE 256

	as a textual {assignment} giving the symbol BUFFER_SIZE a
	value "256".  Symbols defined with cpp are traditionally given
	upper case names to distinguish them from C identifiers.  This
	symbol can be used later in the input, as in

		char input_buffer[BUFFER_SIZE];

	This use of cpp to name constants, rather than writing these
	{magic numbers} inline, makes a program easier to read and
	maintain, especially if there is more than one occurrence of
	BUFFER_SIZE all of which must all have the same value.

	Cpp macros can have parameters:

		#define BIT(n) (1<<(n))

	This can be used with any appropriate actual argument:

		msb = BIT(nbits-1);

	Note the parentheses around the "n" in the definition of BIT.
	Without these, operator precedence might mean that the
	expression substituted in place of n might not be interpreted
	correctly (though the example above would be OK).

	Cpp also supports conditional compilation with the use of

		#ifdef SYMBOL
		...
		#else
		...
		#endif
	and
		#if EXPR
		...
		#else
		...
		#endif

	constructs, where SYMBOL is a Cpp symbol which may or may not
	be defined and EXPR is an arithmetic expression involving only
	Cpp symbols, constants and C operators which Cpp can evaluate
	to a constant at {compile time}.

	{Decus cpp} is a free implementation for {VMS}.

	The most widely used C preprocessor today is the {GNU} CPP,
	distributed as part of {GCC}.

	(2001-12-31)

C Programmer's Disease

	<programming> The tendency of the undisciplined {C} programmer
	to set arbitrary but supposedly generous static limits on
	table sizes (defined, if you're lucky, by constants in header
	files) rather than taking the trouble to do proper dynamic
	storage allocation.  If an application user later needs to put
	68 elements into a table of size 50, the afflicted programmer
	reasons that he or she can easily reset the table size to 68
	(or even as much as 70, to allow for future expansion) and
	recompile.  This gives the programmer the comfortable feeling
	of having made the effort to satisfy the user's (unreasonable)
	demands, and often affords the user multiple opportunities to
	explore the marvellous consequences of {fandango on core}.  In
	severe cases of the disease, the programmer cannot comprehend
	why each fix of this kind seems only to further disgruntle the
	user.

	[{Jargon File}]

	(2001-12-31)

C-Prolog

	<language, Prolog> An implementation of {Prolog} in {C},
	developed by F. Pereira <pereira@research.att.com> et al in
	July 1982.  It had no {garbage collection}.

	It is not in the {public domain}.

	(1994-10-13)

cproto

	<programming, tool> A translator , written by Chin Huang at
	canrem.com, that generates {ANSI C} {function prototypes} from
	{K&R} {C} function definitions.  It can also translate
	function definition heads between {K&R} style and {ANSI C}
	style.

	Posted to {comp.sources}.misc, volume 29.  Runs under {Unix},
	{MS-DOS}.

	(1992-07-18)

CPS

	1. Conversational Programming System.  An interactive extended
	subset of {PL/I} from {Allen-Babcock} Corp in 1965.

	["Conversational Programming System under TSO (PBPO), Terminal
	User's Manual", SH20-1197, IBM].

	[Sammet 1969, p. 232-240].

	2. {Continuation Passing Style}.

CPSR

	{Computer Professionals for Social Responsibility}

CPU

	{central processing unit}

CPU Info Center

	<processor> An old {website} at the {University of
	California at Berkeley} describing many different computers
	and their performance.

	{(http://bwrc.eecs.berkeley.edu/CIC/)}.

	(2000-01-12)

CPU time

	{processor time}

CPU Wars

	/C-P-U worz/ A 1979 large-format comic by Chas Andres
	chronicling the attempts of the brainwashed androids of IPM
	(Impossible to Program Machines) to conquer and destroy the
	peaceful denizens of HEC (Human Engineered Computers).  This
	rather transparent allegory featured many references to
	{ADVENT} and the immortal line "Eat flaming death,
	minicomputer mongrels!" (uttered, of course, by an IPM
	stormtrooper).  It is alleged that the author subsequently
	received a letter of appreciation on IBM company stationery
	from the head of IBM's Thomas J. Watson Research Laboratories
	(then, as now, one of the few islands of true hackerdom in the
	IBM archipelago).  The lower loop of the B in the IBM logo, it
	is said, had been carefully whited out.  See {eat flaming
	death}.

	[{Jargon File}]

CR

	{Carriage Return}

cr

	<networking> The {country code} for Costa Rica.

	(1999-01-27)

cracker

	<jargon> An individual who attempts to gain unauthorised
	access to a computer system.  These individuals are often
	malicious and have many means at their disposal for breaking
	into a system.  The term was coined ca. 1985 by hackers in
	defence against journalistic misuse of "{hacker}".  An earlier
	attempt to establish "worm" in this sense around 1981--82 on
	{Usenet} was largely a failure.

	Use of both these neologisms reflects a strong revulsion
	against the theft and vandalism perpetrated by cracking rings.
	The neologism "cracker" in this sense may have been influenced
	not so much by the term "safe-cracker" as by the non-jargon
	term "cracker", which in Middle English meant an obnoxious
	person (e.g., "What cracker is this same that deafs our ears /
	With this abundance of superfluous breath?"  -- Shakespeare's
	King John, Act II, Scene I) and in modern colloquial American
	English survives as a barely gentler synonym for "white
	trash".

	While it is expected that any real hacker will have done some
	playful cracking and knows many of the basic techniques,
	anyone past {larval stage} is expected to have outgrown the
	desire to do so except for immediate practical reasons (for
	example, if it's necessary to get around some security in
	order to get some work done).

	Contrary to widespread myth, cracking does not usually involve
	some mysterious leap of hackerly brilliance, but rather
	persistence and the dogged repetition of a handful of fairly
	well-known tricks that exploit common weaknesses in the
	security of target systems.  Accordingly, most crackers are
	only mediocre hackers.

	Thus, there is far less overlap between hackerdom and
	crackerdom than the {mundane} reader misled by
	sensationalistic journalism might expect.  Crackers tend to
	gather in small, tight-knit, very secretive groups that have
	little overlap with the huge, open hacker poly-culture; though
	crackers often like to describe *themselves* as hackers, most
	true hackers consider them a separate and lower form of life,
	little better than {virus} writers.  Ethical considerations
	aside, hackers figure that anyone who can't imagine a more
	interesting way to play with their computers than breaking
	into someone else's has to be pretty {losing}.

	See also {Computer Emergency Response Team}, {dark-side
	hacker}, {hacker ethic}, {phreaking}, {samurai}, {Trojan
	horse}.

	[{Jargon File}]

	(1998-06-29)

cracking

	{cracker}

crack root

	<security, jargon> To defeat the security system of a {Unix}
	machine and gain {root} privileges thereby.  The sort of thing
	a {cracker} wants to do.

	[{Jargon File}]

	(2010-02-04)

crank

	(Automotive slang) Verb used to describe the performance of a
	machine, especially sustained performance.  "This box cranks
	(or, cranks at) about 6 megaflops, with a burst mode of twice
	that on vectorised operations."

	[{Jargon File}]

	(1994-12-01)

crapplet

	<web, abuse> A badly written or profoundly useless
	{Java} {applet}.  "I just wasted 30 minutes downloading this
	stinkin' crapplet!"

	(1997-03-30)

CrApTeX

	/krap'tekh/ (University of York, England) Term of abuse used
	to describe {TeX} and {LaTeX} when they don't work (when used
	by TeXhackers), or all the time (by everyone else).  The
	non-TeX enthusiasts generally dislike it because it is more
	verbose than other formatters (e.g. {troff}) and because
	(particularly if the standard Computer Modern fonts are used)
	it generates vast output files.

	See {religious issues}.

	[{Jargon File}]

	(1994-12-01)

crash

	1. A sudden, usually drastic failure.  Most often said of the
	{system}, especially of magnetic disk drives (the term
	originally described what happened when the air gap of a hard
	disk collapses).  "Three {lusers} lost their files in last
	night's disk crash."  A disk crash that involves the
	read/write heads dropping onto the surface of the disks and
	scraping off the oxide may also be referred to as a "head
	crash", whereas the term "system crash" usually, though not
	always, implies that the operating system or other software
	was at fault.

	2. To fail suddenly.  "Has the system just crashed?"
	"Something crashed the OS!" See {down}.  Also used
	transitively to indicate the cause of the crash (usually a
	person or a program, or both).  "Those idiots playing
	{SPACEWAR} crashed the system."

	[{Jargon File}]

	(1994-12-01)

crash and burn

	<jargon> A spectacular crash, in the mode of the conclusion of
	the car-chase scene in the movie "Bullitt" and many subsequent
	imitators (compare {die horribly}).  A {Sun-3} {display
	screen} losing the flyback transformer and lightning strikes
	on {VAX-11/780} backplanes are notable crash and burn
	generators.

	The construction "crash-and-burn machine" is reported for a
	computer used exclusively for alpha or {beta} testing, or
	reproducing bugs (i.e. not for development).  The implication
	is that it wouldn't be such a disaster if that machine
	crashed, since only the testers would be inconvenienced.

	[{Jargon File}]

	(1996-02-22)

crawler

	{robot}

crawling horror

	<jargon> Ancient {crufty} hardware or software that is kept
	obstinately alive by forces beyond the control of the hackers
	at a site.  Like {dusty deck} or {gonkulator}, but connotes
	that the thing described is not just an irritation but an
	active menace to health and sanity.  "Mostly we code new stuff
	in C, but they pay us to maintain one big Fortran II
	application from nineteen-sixty-X that's a real crawling
	horror."

	Compare {WOMBAT}.

	[{Jargon File}]

	(1994-12-01)

Cray instability

	A shortcoming of a program or {algorithm} that manifests
	itself only when a large problem is being run on a powerful
	machine such as a {Cray}.  Generally more subtle than {bugs}
	that can be detected in smaller problems running on a
	{workstation} or {minicomputer}.

	[{Jargon File}]

	(1994-10-13)

crayola

	/kray-oh'l*/ A {super-minicomputer} or {super-microcomputer}
	that provides some reasonable percentage of {supercomputer}
	performance for an unreasonably low price.  A crayola might
	also be a {killer micro}.

	[{Jargon File}]

	(1994-10-13)

crayola books

	<publication> A humorous and/or disparaging term for the
	{rainbow series} of National Computer Security Center (NCSC)
	computer security standards.

	See also {Orange Book}.

	[{Jargon File}]

	(1996-12-03)

crayon

	1. Someone who works on {Cray} {supercomputers}.  More
	specifically, it implies a programmer, probably of the {CDC}
	ilk, probably male, and almost certainly wearing a tie
	(irrespective of gender).  Systems types who have a {Unix}
	background tend not to be described as crayons.

	2. A {computron} that participates only in {number crunching}.

	3. A unit of computational power equal to that of a single
	{Cray-1}.  There is a standard joke about this usage that
	derives from an old Crayola crayon promotional gimmick: When
	you buy 64 crayons you get a free sharpener.

	[{Jargon File}]

	(1994-10-13)

Cray Research, Inc.

	<company> US manufacturer of large powerful {mainframe}
	{supercomputers}, co-founded by noted computer architect,
	{Seymour Cray}.

	Quarterly sales $216M, profits $8M (Aug 1994).

	Cray were bought by {Silicon Graphics, Inc.}.

	[More details?]

	(1999-10-19)

CRC

	{cyclic redundancy check}

creationism

	The (false) belief that large, innovative software designs can
	be completely specified in advance and then painlessly
	magicked out of the void by the normal efforts of a team of
	normally talented programmers.  In fact, experience has shown
	repeatedly that good designs arise only from evolutionary,
	exploratory interaction between one (or at most a small
	handful of) exceptionally able designer(s) and an active user
	population - and that the first try at a big new idea is
	always wrong.  Unfortunately, because these truths don't fit
	the planning models beloved of {management}, they are
	generally ignored.

	[{Jargon File}]

creeping elegance

	Describes a tendency for parts of a design to become {elegant}
	past the point of diminishing return, something which often
	happens at the expense of the less interesting parts of the
	design, the schedule, and other things deemed important in the
	{Real World}.  See also {creeping featurism}, {second-system
	effect}, {tense}.

creeping featurism

	<jargon> /kree'ping fee'chr-izm/ (Or "feature creep") A
	systematic tendency to load more {chrome} and {features} onto
	systems at the expense of whatever elegance they may have
	possessed when originally designed.  "The main problem with
	{BSD} Unix has always been creeping featurism."

	More generally, creeping featurism is the tendency for
	anything to become more complicated because people keep saying
	"Gee, it would be even better if it had this feature too".
	The result is usually a patchwork because it grew one ad-hoc
	step at a time, rather than being planned.  Planning is a lot
	of work, but it's easy to add just one extra little feature to
	help someone, and then another, and another, ....  When
	creeping featurism gets out of hand, it's like a cancer.

	Usually this term is used to describe computer programs, but
	it could also be said of the federal government, the IRS 1040
	form, and new cars.  A similar phenomenon sometimes afflicts
	conscious redesigns; see {second-system effect}.  See also
	{creeping elegance}.

	[{Jargon File}]

	(1997-08-03)

creeping featuritis

	<jargon> /kree'ping fee'-chr-i:`t*s/ A variant of {creeping
	featurism}, with its own spoonerism: "feeping creaturitis".
	Some people like to reserve this form for the disease as it
	actually manifests in {software} or {hardware}, as opposed to
	the lurking general tendency in designers' minds.  -ism means
	"condition" or "pursuit of", whereas -itis usually means
	"inflammation of".

	[{Jargon File}]

	(1997-08-03)

C-Refine

	A {preprocessor} for {C} and languages with similar syntax by
	Lutz Prechelt <prechelt@ira.uka.de>.  C-Refine allows symbolic
	naming of code fragments so as to redistribute complexity and
	provide running commentary.

	Version 3.0 is available from comp.sources.reviewed archives.
	It is highly portable and has been ported to {Unix}, {MS-DOS},
	{Atari}, {Amiga}.

	{(ftp://ftp.uu.net/usenet/comp.sources.reviewed/volume02/crefine)}.

	(1992-07-16)

CREN

	{Corporation for Research and Educational Networking}

CREW PRAM

	concurrent read, exclusive write {PRAM}.

crippleware

	1. Software that has some important functionality deliberately
	removed, so as to entice potential users to pay for a working
	version.

	2. (Cambridge) {Guiltware} that exhorts you to donate to some
	charity.

	Compare {careware}, {nagware}.

	3. Hardware deliberately crippled, which can be upgraded to a
	more expensive model by a trivial change (e.g. removing a
	jumper).  A correspondant gave the following example:

	In 1982-5, a friend had a {Sharp} {scientific calculator}
	which was on the list of those permitted in exams.  No
	programmable calculators were allowed.

	A very similar, more expensive, programmable model had two
	extra keys for programming where the cheaper version just had
	blank metal.

	My friend took his calculator apart (as you would) and lo and
	behold, the rubber switches of the program keys were there on
	the circuit board.  So all he had to do was cut a hole in the
	face.  For exams he would pre-load the calculator with any
	useful routines, put a sticker with his name on it over the
	hole, and press the buttons through the sticker with a pen.

	[{Jargon File}]

	(2001-05-12)

criptography

	<spelling> It's spelled "{cryptography}".

	(1996-12-13)

Crisis Software

	A small UK company producing {software} for the {Acorn}
	{Archimedes} range of computers.

	{(http://dcs.warwick.ac.uk/~phid/Crisis/)}.

	(1994-11-10)

CRISP

	A {Lisp}-like language and {compiler} for the {IBM 370}
	written by Jeff Barnett of SDC, Santa Monica, CA, USA in the
	early 1970s.  It generalised {Lisp}'s two-part {cons nodes} to
	n-part nodes.

	(1994-11-10)

crisp

	(Or "discrete") The opposite of "{fuzzy}".

	(1994-12-23)

Crispy Critters

	<jargon> (Or "Crispy Crittered".  From the "Post" breakfast
	cereal of the same name) {hardware} which is {fried} or
	{toast}.

	(1995-01-31)

critical mass

	In physics, the minimum amount of fissionable material
	required to sustain a chain reaction.  Of a software product,
	describes a condition of the software such that fixing one bug
	introduces one plus {epsilon} bugs.  (This malady has many
	causes: {creeping featurism}, ports to too many disparate
	environments, poor initial design, etc.)  When software
	achieves critical mass, it can never be fixed; it can only be
	discarded and rewritten.

	[{Jargon File}]

	(1994-12-23)

critical section

	A non-{re-entrant} piece of code that can only be executed by
	one process at a time.  It will usually terminate in bounded
	time and a process will only have to wait a bounded time to
	enter it.  Some synchronisation mechanism is required at the
	entry and exit of the critical section to ensure exclusive
	use.

CRL

	Carnegie Representation Language.

	{Carnegie Group, Inc.}  Frame language derived from SRL.
	Written in Common LISP.  Used in the product Knowledge Craft.

CRLF

	<character> /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ A
	{carriage return} (CR, {ASCII} 13) followed by a {line feed}
	(LF, {ASCII} 10).  Under {Unix} influence this usage has
	become less common because Unix uses just line feed as its
	line terminator.

	See {newline}, {terpri}.

	[{Jargon File}]

	(1995-03-27)

CRM

	1. <business> {Customer Relationship Management}.

	2. <networking> {Cisco Resource Manager}.

crock

	[American scatologism "crock of shit"] 1. An awkward feature
	or programming technique that ought to be made cleaner.  For
	example, using small integers to represent error codes without
	the program interpreting them to the user (as in, for example,
	Unix "make(1)", which returns code 139 for a process that dies
	due to {segfault}).

	2. A technique that works acceptably, but which is quite prone
	to failure if disturbed in the least.  For example, a
	too-clever programmer might write an assembler which mapped
	{instruction mnemonics} to numeric {opcodes}
	{algorithm}ically, a trick which depends far too intimately on
	the particular bit patterns of the opcodes.  (For another
	example of programming with a dependence on actual opcode
	values, see {The Story of Mel}.)  Many crocks have a tightly
	woven, almost completely unmodifiable structure.  See {kluge},
	{brittle}.  The adjectives "crockish" and "crocky", and the
	nouns "crockishness" and "crockitude", are also used.

	[{Jargon File}]

cron

	<operating system> The Unix clock {daemon} that executes
	commands at specified dates and times according to
	instructions in a "crontab" file.

	{Unix manual page}: cron(8).

	(1997-04-10)

cross-assembler

	An {assembler} which runs on one type of processor and
	produces {machine code} for another.

	There is a set of {6502}, 68xx and {Zilog Z80} and {8085}
	cross-assemblers in {C} by <msmakela@cc.helsinki.fi> and Alan
	R. Baldwin.  They run under {MS-DOS} and could be compiled to
	run under {Unix} and on the {Amiga} and {Atari ST}.

	See also {fas}.

	{(ftp://ccosun.caltech.edu/)}.

	(1993-03-10)

cross-compiler

	<programming> A {compiler} which runs on one {platform} and
	produces code for another, as opposed to a {native} code
	compiler which produces code for the platform on which it
	runs.

	(1998-02-24)

cross-platform

	<software, hardware> A term that describes a language,
	software application or hardware device that works on more
	than one system {platform} (e.g. {Unix}, {Microsoft Windows},
	{Macintosh}).  E.g. {Netscape Navigator}, {Java}.

	(1998-02-24)

cross-post

	[{Usenet}] To post a single article simultaneously to several
	{newsgroups}.  Distinguished from posting the article
	repeatedly, once to each newsgroup, which causes people to see
	it multiple times (which is very bad form).  Gratuitous
	cross-posting without a Followup-To line directing responses
	to a single followup group is frowned upon, as it tends to
	cause {followup} articles to go to inappropriate newsgroups
	when people respond to only one part of the original posting.

	[{Jargon File}]

cross software

	Software developed on one kind of computer for use on another
	(usually because the other computer does not have itself
	adequate facilities for software development).

CROSSTABS

	Simple language for statistical analysis of tabular data.
	"User's Manual for the CROSSTABS System", Cambridge Computer
	Assoc (Feb 1977).

crosstalk

	<electronics> Interference caused by two signals becoming
	partially superimposed on each other due to electromagnetic
	(inductive) or electrostatic (capacitive) coupling between the
	conductors carrying the signals.  A common example of
	crosstalk is where the magnetic field from changing current
	flow in one wire induces current in another wire running
	parallel to the other, as in a transformer.  Crosstalk can be
	reduced by using shielded cables and increasing the distance
	between conductors.

	(1995-12-20)

CROW PRAM

	concurrent read, owner write {PRAM}.

CRT

	{cathode ray tube}

CRUD

	<programming, testing> A mnemonic for the four most important
	kinds of activity that almost any system of any type needs to
	support: create, read, update, delete.  The absence or failure of
	any one of these is often a sign of a bad design or poor testing.

	(2014-08-06)

crudware

	/kruhd'weir/ Pejorative term for the hundreds of megabytes of
	low-quality {freeware} circulated by user's groups and {BBSs}
	in the micro-hobbyist world.

	[{Jargon File}]

cruft

	<jargon> (back-formation from "crufty") Anything unpleasant
	that accumulates over time.  Also used as a verb, as in {cruft
	together}, {hand cruft}.

	[{Jargon File}]

	(2006-01-19)

crufted

	{cruft}

cruft together

	<jargon> To {hack together} though with the suggestion that
	the result may be {cruft}.

	[{Jargon File}]

	(2006-01-19)

crumb

	<data, jargon> (Or tayste /tayst/) Silly suggested term for
	two {binary digits}.

	The term "quarter" has also been suggested, referring to the
	US 25-cent coin.  This was once equal in value to two of the
	eight "bits" - pie-slice-shaped "pieces of eight" - into which
	Spanish silver crowns were cut to make change.

	[{Jargon File}]

	(2007-05-31)

crunch

	1. <jargon> To process, usually in a time-consuming or
	complicated way.  Connotes an essentially trivial operation
	that is nonetheless painful to perform.  The pain may be due
	to the triviality's being embedded in a loop from 1 to
	1,000,000,000.  "Fortran programs do mostly {number
	crunching}."

	2. <compression> To reduce the size of a file without losing
	information by a scheme such as {Huffman coding}.  Since such
	{lossless compression} usually takes more computations than
	simpler methods such as {run-length encoding}, the term is
	doubly appropriate.

	3. The {hash character}.  Used at {XEROX} and {CMU}, among
	other places.

	4. To squeeze program source to the minimum size that will
	still compile or execute.  The term came from a {BBC
	Microcomputer} program that crunched {BBC BASIC} {source} in
	order to make it run more quickly (apart from storing
	{keywords} as byte codes, the language was wholly interpreted,
	so the number of characters mattered).  {Obfuscated C Contest}
	entries are often crunched; see the first example under that
	entry.

	[{Jargon File}]

	(2007-11-12)

cruncha cruncha cruncha

	<jargon> /kruhn'ch* kruhn'ch* kruhn'ch*/ An encouragement
	sometimes muttered to a machine bogged down in a serious
	{grovel}.  Also describes a notional sound made by grovelling
	hardware.

	See {grind} (sense 3).

	(2003-06-02)

crunchy

	{floppy disk}

cryppie

	<job, cryptography> /krip'ee/ A cryptographer.  One who hacks
	or implements software or hardware for {cryptography}.

	[{Jargon File}]

	(1996-08-23)

crypt

	{Unix} command to perform {encryption} and {decryption}.

cryptanalysis

	The branch of {cryptography} concerned with decoding encrypted
	messages when you're not supposed to be able to.

	(1994-12-06)

Crypt Breakers Workbench

	(cbw) A freely distributable multi-window integrated workbench
	of tools for {cryptanalysis} of files encrypted with the
	{4.2BSD} {Unix} {crypt} command.  It was originally written by
	Robert W. Baldwin at {MIT}.

	{(ftp://black.ox.ac.uk/src/security)},
	{(ftp://scitsc.wlv.ac.uk/pub/infomagic/usenet.cdrom/sources/unix/volume10)},
	{(ftp://ftp.sunet.se/pub/usenet/comp.sources.unix/volume10)}.

	(1994-12-06)

cryptography

	<cryptography> The practise and study of {encryption} and
	{decryption} - encoding data so that it can only be decoded by
	specific individuals.  A system for encrypting and decrypting
	data is a cryptosystem.  These usually involve an {algorithm}
	for combining the original data ("{plaintext}") with one or
	more "keys" - numbers or strings of characters known only to
	the sender and/or recipient.  The resulting output is known as
	"{ciphertext}".

	The security of a cryptosystem usually depends on the secrecy
	of (some of) the keys rather than with the supposed secrecy of
	the {algorithm}.  A strong cryptosystem has a large range of
	possible keys so that it is not possible to just try all
	possible keys (a "{brute force}" approach).  A strong
	cryptosystem will produce ciphertext which appears random to
	all standard statistical tests.  A strong cryptosystem will
	resist all known previous methods for breaking codes
	("{cryptanalysis}").

	See also {cryptology}, {public-key encryption}, {RSA}.

	{Usenet} newsgroups: {news:sci.crypt},
	{news:sci.crypt.research}.

	{FAQ} {MIT
	(ftp://rtfm.mit.edu/pub/usenet/news.answers/cryptography-faq/)}.

	{Cryptography glossary
	(http://io.com/~ritter/GLOSSARY.HTM#BruteForceAttack)}.

	{RSA cryptography glossary
	(http://rsasecurity.com/rsalabs/faq/glossary.html)}.

	{Cryptography, PGP, and Your Privacy
	(http://draco.centerline.com:8080/~franl/crypto.html)}.

	(2000-01-16)

cryptology

	The study of {cryptography} and {cryptanalysis}.

	(1994-12-06)

Crystal

	Concurrent Representation of Your Space-Time ALgorithms.

	A {recursion equation} parallel language.

	["A Parallel Language and its Compilation to Multiprocessor
	Machines or VLSI", M.C. Chen, 13th POPL, ACM 1986 pp.131-139].

	(1994-12-06)

CS-4

	["CS-4 Language Reference Manual and Operating System
	Interface", Ben M. Brosgol et al, Report IR-130-2,
	Intermetrics, Cambridge MA, Oct 1975].

	(1995-01-19)

C-Scheme

	{MIT Scheme}

CSCI

	{Computer Software Configuration Item}

C/SCSC

	{Cost/Schedule Control System Criteria}

CSCW

	{Computer Supported Cooperative Work}

CSG

	{constructive solid geometry}

CSG-tree

	<graphics> (Or "status tree"?) An approach used in {ray
	tracing} to evaluate {constructive solid geometry} structures.

	[Better explanation?  "Evaluate"?]

	(1998-06-09)

csh

	{C shell}

C sharp

	{C#}

C shell

	<operating system> (csh) The {Unix} {command-line interpreter}
	{shell} and {script language} by {William Joy}, originating
	from {Berkeley} {Unix}.

	{Unix} systems up to around {Unix Version 7} only had one
	shell - the {Bourne shell}, sh.  Csh had better {interactive}
	features, notably command input {history}, allowing earlier
	commands to be recalled and edited (though it was still not as
	good as the {VMS} equivalent of the time).

	Presumably, csh's {C}-like {syntax} was intended to endear it
	to programmers but sadly it lacks some {sh} features which are
	useful for writing {shell scripts} so you need to know two
	different syntaxes for every shell construct.

	A plethora of different shells followed csh, e.g. {tcsh},
	{ksh}, {bash}, {rc}, but sh and csh are the only ones which
	are provided with most versions of Unix.

	(1998-04-04)

.cshrc

	<operating system> (C Shell run commands) A {C Shell} startup
	configuration file.  This file is found in a user's {home
	directory} and can contain shell and other commands to set
	variables, define aliases, and perform any other
	initialisation which should happen for every shell (as opposed
	to {.login} which is only run for a {login shell}).

	Compare {AUTOEXEC.BAT} on {MS-DOS}.

	See also {rc}.

	(1996-04-09)

CSID

	{character set identifier}

C++SIM

	A {class} library like the {simulation} class libraries of
	{SIMULA}, by Mark Little <M.C.Little@newcastle.ac.uk>.
	Version: 1.0.

	{(ftp://arjuna.ncl.ac.uk/)}.

	(1993-06-04)

CSK Corporation

	<company> The japanese company that owns {CSK Software} and
	{Sega}.  CSK Corp. is the largest independent japanese
	software company.

	(2003-05-13)

CSK Software

	<company> An international software company formed by the
	merger of {Quay Financial Software} and {Micrognosis}, and
	fully owned by {CSK Corporation}, Japan.

	CSK Software is based in Frankfurt/Main (Germany) with offices
	in London (UK), Zurich (Switzerland), Madrid (Spain), and
	Singapore.  Products segments are RDD: Real-time data
	delivery, main product is {Slingshot} for delivering real-time
	data over the Internet (real push technology).  ETS:
	Electronic Trading Systems, price calculation and automatic
	trading (with connections to {XONTRO} and {XETRA}).  EAI:
	{Enterprise Application Integration}, main product is {XGen},
	a universal message converter with {GUI} and connections also
	to {SWIFT}.

	{(http://csksoftware.com/)}.

	E-mail: <info@csksoftware.com>.

	Address: CSK Software AG, Opernplatz 2, D-60313 Frankfurt,
	Germany.

	Tel: +49 (69) 509 520.  Fax: +49 (69) 5095 2333.

	(2003-05-13)

CSL

	1. Computer Structure Language.  A computer {hardware
	description language}, written in {BCPL}.

	["Computer Structure Language (CSL)", Proc 1975 Symp on Comp
	Hardware Description Languages and their Appl, ACM (Sep
	1975)].

	2. Control and Simulation Language.  A language for industrial
	simulation from Esso and {IBM}.

	["Control and Simulation Language", J.N. Buxton et al,
	Computer J 5(3):194-199 (Oct 1962).  Version: CSL 2 (1966 for
	IBM 7094)].

CSLIP

	{Compressed SLIP}

CSM

	["CSM - A Distributed Programming Language", S. Zhongxiu et
	al, IEEE Trans Soft Eng SE-13(4):497-500 (Apr 1987)].

CSMA/CD

	Carrier Sense Multiple Access / Collision Detect.

	The low level network arbitration {protocol} used on
	{Ethernet}.  Nodes wait for quiet on the net before starting
	to transmit and listen while they are transmitting.  If two
	nodes transmit at once the data gets corrupted.  The nodes
	detect this and continue to transmit for a certain length of
	time to ensure that all nodes detect the collision.  The
	transmitting nodes then wait for a random time before
	attempting to transmit again thus minimising the chance of
	another collision.  The ability to detect collision during
	transmission reduces the amount of {bandwidth} wasted on
	collisions compared with simple {ALOHA} broadcasting.

	(1995-02-23)

CSMP

	{Continuous System Modeling Program}

CSNET

	Computers and Science Network, operated by {CREN} for US
	computer science institutes.  It provides {electronic mail}
	service via {dial-up} lines, {X.25} and {Internet} services.

CSO

	Campus Phone Book software developed for, and originally used
	at, the Computer Services Office of the University of Illinois
	at Urbana-Champaign.  The server software is known as "qi" and
	the client is "ph".  Recent versions of the software refer to
	CCSO (Computing & Communications Service Office).

	{(ftp://uxc.cso.uiuc.edu/)}.

CSP

	1. <language> {Communicating Sequential Processes}.

	2. <hardware> {Chip Scale Packaging}.

CSP/80

	Based on CSP.

	"CSP/80: A Language for Communicating Processes", M. Jazayeri
	et al, Proc Fall COMPCON80, IEEE pp.736-740 (Sept 1980).

CS/PCode

	Used at {Microsoft}.

CSP/k

	{Concurrent SP/k}

CS-Prolog

	Distributed logic language.

	"CS-Prolog on Multi-Transputer Systems", I. Futo et al,
	Microprocessors & Microsystems, March 1989.

CSPS

	["Toward Comprehensive Specification of Distributed Systems",
	G. Roman et al, Proc 7th Intl Conf on Distrib Comp Sys, IEEE
	1987, pp. 282-289].

CSP-S

	["Implementation of CSP-S for Description of Distributed
	Algorithms", L. Patniak et al, Comput Lang 9(3):193-202
	(1984)].

CS/QCode

	Used at {Microsoft}.

	[More detail?]

CSR

	{Control and Status Register}

CSS

	{Cascading Style Sheets}

CSSA

	An {object-oriented} language.

	["Key Concepts in the INCAS Multicomputer Project", J. Nehmer
	et al, IEEE Trans Soft Eng SE-13(8):913-923 (Aug 1987)].

CSS/II

	Computer System Simulator II.  Like {GPSS}, for {IBM 360}.

	["Computer System Simulator II (CSS II) Program Description
	and Operations Manual", SH20-0875, IBM].

CSSL

	{Continuous System Simulation Language}

CSTools

	{Concurrency} through {message-passing} to named message
	queues.

CSU

	1. {California State University}.

	2. {Cleveland State University}.

	3. {Channel Service Unit}.

CSU/DSU

	{channel service unit/digital service unit}

CSV

	{comma separated values}

CT

	{Computer Telephone Integration}

CTC

	{Cornell Theory Center}

CTC++

	<testing> A {test coverage} analysis tool from {Testwell} for
	{C} and {C++} that checks for function, decision, condition
	and multicondtion coverage in host, target and kernel.

	{CTC++ Home (http://testwell.fi/)}.

	(2004-10-20)

CTCP

	<networking> {Client To Client Protocol}

CTI

	1. <communications> {Computer Telephone Integration}.

	2. <education> Computers in Teaching Initiative.  A UK
	government scheme.

	(1996-12-08)

CTL

	1. {Checkout Test language}.

	2. {Compiler Target Language}.

	3. {Computational Tree Logic}

CTOS

	1. <operating system> {Computerised Tomography Operating
	System}.

	2. <operating system> {Convergent Technologies Operating
	System}.

ctrl

	{control}

CTS

	1. <communications> {clear to send}.

	2. <medical> {overuse strain injury}.

CTSS

	{Compatible Timesharing System}

CTY

	/sit'ee/ or /C-T-Y/ [MIT] The terminal physically associated
	with a computer's system {console}.  The term is a contraction
	of "Console {tty}", that is, "Console TeleTYpe".  This {ITS}-
	and {TOPS-10}-associated term has become less common, as most
	Unix hackers simply refer to the CTY as "the console".

	[{Jargon File}]

CU

	<chat> "see you".

	(1997-12-01)

cu

	1. <communications> {Call Unix}.

	2. <networking> The {country code} for Cuba.

CUA

	{Common User Access}

Cube

	Three-dimensional visual language for higher-order logic.

	"The Cube Language", M. Najork et al, 1991 IEEE Workshop on
	Visual Langs, Oct 1991, pp.218-224.

	[{Jargon File}]

cube

	1. [short for "cubicle"] A module in the open-plan offices
	used at many programming shops.  "I've got the manuals in my
	cube."

	2. A NeXT machine (which resembles a matte-black cube).

cubing

	<jargon> By analogy with "tubing", hacking on an IPSC ({Intel
	Personal SuperComputer}) hypercube.  "Louella's gone cubing
	*again*!!"

	[{Jargon File}]

	(2003-10-09)

CUCH

	CUrry-CHurch.

	{Lambda-calculus}

	["A Type-Theoretical Alternative to CUCH, ISWIM, OWHY", Dana
	Scott, Oxford U 1969].

	["Introduction to the CUCH", C. Bohm et al, in Automata
	Theory, E.R. Caianiello ed, A-P 1966, pp.35-65].

	(1994-12-02)

Cuckoo's Egg

	{The Cuckoo's Egg}

CUL

	<chat> "See you later".

	(1997-12-01)

Culler-Fried System

	A system for interactive mathematics.

	[Sammet 1969, p. 253-255].

	(1994-11-15)

CUPID

	A graphic {query language}.

	["CUPID: A Graphic Oriented Facility for Support of
	Nonprogrammer Interactions with a Database", N. McDonald, PhD
	Thesis, CS Dept, UC Berkeley 1975].

CUPL

	Cornell University Programming Language.

	A language for simple mathematics problems, based on {CORC},
	with {PL/I}-like {syntax}.

	["An Instruction Language for CUPL", R.J. Walker, Cornell U,
	Jul 1967].

	(1994-11-15)

curly bracket

	brace

current

	<electronics> The quantity of {charge} per unit time, measured
	in Amperes (Amps, A).  By historical convention, the sign of
	current is positive for currents flowing from positive to
	negative {potential}, but experience indicates that electrons
	are negatively charged and flow in the opposite direction.

	(1995-10-05)

curried function

	<mathematics, programming> A {function} of N {arguments} that
	is considered as a function of one argument which returns
	another function of N-1 arguments.  E.g. in {Haskell} we can
	define:

		average :: Int -> (Int -> Int)

	(The parentheses are optional).  A {partial application} of
	average, to one Int, e.g. (average 4), returns a function of
	type (Int -> Int) which averages its argument with 4.  In
	uncurried languages a function must always be applied to all
	its arguments but a {partial application} can be represented
	using a {lambda abstraction}:

		\ x -> average(4,x)

	Currying is necessary if {full laziness} is to be applied to
	functional sub-expressions.

	It was named after the logician {Haskell Curry} but the
	19th-century logician, {Gottlob Frege} was the first to
	propose it and it was first referred to in ["Uber die
	Bausteine der mathematischen Logik", M. Schoenfinkel,
	Mathematische Annalen. Vol 92 (1924)].

	{David Turner} said he got the term from {Christopher
	Strachey} who invented the term "currying" and used it in his
	lecture notes on programming languages written circa 1967.
	Strachey also remarked that it ought really to be called
	"Schoenfinkeling".

	Stefan Kahrs <smk@dcs.ed.ac.uk> reported hearing somebody in
	Germany trying to introduce "scho"nen" for currying and
	"finkeln" for "uncurrying".  The verb "scho"nen" means "to
	beautify"; "finkeln" isn't a German word, but it suggests "to
	fiddle".

	["Some philosophical aspects of combinatory logic",
	H. B. Curry, The Kleene Symposium, Eds. J. Barwise,
	J. Keisler, K. Kunen, North Holland, 1980, pp. 85-101]

	(2002-07-24)

currying

	Turning an uncurried function into a {curried function}.

curseperl

	A {curses} library for {Perl} by the author of Perl, Larry
	Wall <lwall@netlabs.com>.  It comes with Perl.

	(1994-12-06)

curses

	A set of subroutines in {Unix} for handling navigation on a
	terminal screen using the cursor.

cursor

	1. <hardware> A visually distinct mark on a display indicating
	where newly typed text will be inserted.  The cursor moves as
	text is typed and, in most modern editors, can be moved around
	within a document by the user to change the insertion point.

	2. <database> In {SQL}, a named control structure used by an
	{application program} to point to a row of data.  The position
	of the {row} is within a {table} or {view}, and the cursor is
	used interactively so select rows from columns.

	(1996-12-27)

cursor dipped in X

	<jargon> The metaphorical source of the electronic equivalent
	of a poisoned-pen letter.  Derived from English metaphors of
	the form "pen dipped in X" (where X = e.g. "acid", "bile",
	"vitriol").  These map over neatly to this hackish usage (the
	cursor being what moves, leaving letters behind, when one is
	composing on-line).

	"Talk about a {nastygram}!  He must've had his cursor dipped
	in acid when he wrote that one!"

	[{Jargon File}]

	(1996-12-27)

CU-SeeMe

	<communications> /see`-yoo-see'-mee/ ("CU" from {Cornell
	University}) A {shareware} {personal computer}-based
	{videoconferencing} program for use over the {Internet},
	developed at {Cornell University}, starting in 1992.

	CU-SeeMe allows for direct {audiovisual} connections between
	{clients}, or, like {irc}, it can support multi-user
	converencing via {servers} (here called "reflectors") to
	distribute the video and audio signals between multiple
	clients.

	CU-SeeMe was the first videoconferencing tool available at a
	reasonable price (in this case, free) to users of personal
	computers.

	{(http://cu-seeme.cornell.edu/)}.

	{(http://home.stlnet.com/~hubble/cuseeme/index.html)}.

	Compare with {multicast backbone}.

	(1996-12-01)

CUSI

	A collection of indices to various {web} and other
	{Internet} documents.  It is located at {Nexor} in the UK.

	{(http://web.nexor.co.uk/public/cusi/cusi.html)}.

	(1994-11-29)

cuspy

	/kuhs'pee/ [WPI: from the {DEC} abbreviation CUSP, for
	"Commonly Used System Program", i.e. a utility program used by
	many people] 1. (of a program) Well-written.

	2. Functionally excellent.  A program that performs well and
	interfaces well to users is cuspy.  See {rude}.

	[{Jargon File}]

custom

	(Or "bespoke") An adjective describing any product that is
	special in some way, individually created for a specific user
	or system, as opposed to generic or off-the-shelf.

	(2008-06-25)

Customer Information Control System

	<communications, database> (CICS) An {IBM} communications
	system that was converted for {database} handling.

	[Huh?]

	(1994-11-29)

Customer Information Systems

	{Customer Relationship Management}

Customer Interaction Software

	{Customer Relationship Management}

Customer Relationship Management

	<business> (CRM, CIS, Customer Information Systems, Customer
	Interaction Software, TERM, Technology Enabled Relationship
	Manager) Enterprise-wide software applications that allow
	companies to manage every aspect of their relationship with a
	customer.  The aim of these systems is to assist in building
	lasting customer relationships - to turn customer satisfaction
	into customer loyalty.

	Customer information acquired from sales, marketing, customer
	service, and support is captured and stored in a centralised
	{database}.  The system may provide {data-mining} facilities
	that support an {opportunity management system}.  It may also
	be integrated with other systems such as accounting and
	manufacturing for a truly enterprise-wide system with
	thousands of users.

	(1999-08-20)

CUT

	{Coordinated Universal Time}

cut and paste

	{copy and paste}

cut-and-waste code

	<humour, programming> Code that someone found online (e.g. in a
	{blog}) and copied and pasted into a product.  The result is
	usually a lot of wasted time trying to track down obscure bugs
	from code that may have made sense in the original context but not
	in the new one.  Also known as blog-driven development.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-07-03)

cut a tape

	To write a software or document distribution on magnetic tape
	for shipment.  Has nothing to do with physically cutting the
	medium!  "Cutting a disk" has also been reported as live
	usage.  Related slang usages are mainstream business's "cut a
	check", the recording industry's "cut a record", and the
	military's "cut an order".

	All of these usages reflect physical processes in obsolete
	recording and duplication technologies.  The first stage in
	manufacturing an old-style vinyl record involved cutting
	grooves in a stamping die with a precision lathe.  More
	mundanely, the dominant technology for mass duplication of
	paper documents in pre-photocopying days involved "cutting a
	stencil", punching away portions of the wax overlay on a silk
	screen.  More directly, paper tape with holes punched in it
	was an important early storage medium.

	[{Jargon File}]

cutover

	<communications, networking> /cut-ov*/ Switching from an old
	({hardware} and/or {software}) system to a replacement system,
	covering the overlap from when the new system is {live} until
	the old system has been {shut down}.

	(1997-07-09)

cut-through switching

	<networking> The application of {wormhole routing} to
	{packets} in a {packet switching} system so that forwarding of
	a packet starts as soon as its destination is known, before
	the whole packet has arrived.

	Compare {store and forward}.

	(2006-12-06)

cv

	<networking> The {country code} for Cape Verde.

	(1999-01-27)

CVS

	{Concurrent Versions System}

CW

	{continuous wave}

CWeb

	<language> An {ANSI C} implementation of the {Web} {literate
	programming} language.  Version 3.1 by Levy, Knuth, and Marc
	van Leeuwen is writen in, and outputs, {ANSI C} and {C++}.

	{(ftp://ftp.cwi.nl/pub/cweb/)}.

	(1993-12-16)

CWI

	{Centrum voor Wiskunde en Informatica}

CWIC

	Compiler for Writing and Implementing Compilers.  Val Schorre.
	One of the early metacompilers.  Compare {Meta-II}.

CWIS

	{Campus-Wide Information System}

C with Classes

	Short-lived predecessor to C++.

	["Classes: An Abstract Data Type Facility for the C Language",
	B. Stroustrup, CSTR-84 Bell Labs, Apr 1980].  Also in [SIGPLAN
	Notices (Jan 1982)].

cx

	<networking> The {country code} for Christmas Island.

	(1999-01-27)

cxref

	<tool> A cross-reference generator by Arnold Robbins from
	{Georgia Institute of Technology}.

	(2000-02-29)

cy

	<networking> The {country code} for Cyprus.

	(1999-01-27)

Cy486SLC

	A version of the {Intel 486} made by {Cyrix}.  It has a
	{486SX} {instruction set}, a 1 kilobyte {cache}, and an {Intel
	80386SX}-compatible pinout and thus, 16-bit data bus.

	(1994-11-30)

cyber

	<chat> To have {cybersex}.

	(1997-06-21)

cyberbunny

	<abuse> Someone who knows absolutely nothing about computers
	and advises people who know absolutely nothing about
	computers.  The term is used mostly on {AOL}, {Prodigy},
	{Compuserve}, etc.

	(1996-02-18)

cyberchondriac

	<jargon, humour> (After "hypochondriac") 1. A user who always
	thinks there is something wrong with his computer.

	2. Someone who uses the {web} to indulge their
	hyperchondria.

	(2001-03-10)

cybercrud

	<jargon> /si:'ber-kruhd/ 1. (Coined by Ted Nelson) Obfuscatory
	tech-talk.  Verbiage with a high {MEGO} factor.  The computer
	equivalent of bureaucratese.

	2. Incomprehensible stuff embedded in e-mail.  First there
	were the "Received" headers that show how mail flows through
	systems, then MIME ({Multi-purpose Internet Mail Extensions})
	headers and part boundaries, and now huge blocks of {hex} for
	PEM ({Privacy Enhanced Mail}) or PGP ({Pretty Good Privacy})
	{digital signatures} and certificates of authenticity.  This
	stuff all has a purpose and good user interfaces should hide
	it, but all too often users are forced to wade through it.

	[{Jargon File}]

	(1995-04-04)

CyberGlove

	<hardware, virtual reality> A {data glove} sold by {Virtual
	Technologies}.  The spandex-like glove houses 18 sensors to
	track accurately just about every move your hand is capable of
	making.  The accompanying software includes a
	three-dimensional hand model that can he added to any {virtual
	reality} application.  The glove includes a mount for Polhemus
	and Ascension sensors.

	(2003-06-17)

cybernetics

	<robotics> /si:`b*-net'iks/ The study of control and
	communication in living and man-made systems.

	The term was first proposed by {Norbert Wiener} in the book
	referenced below.  Originally, cybernetics drew upon
	electrical engineering, mathematics, biology, neurophysiology,
	anthropology, and psychology to study and describe actions,
	feedback, and response in systems of all kinds.  It aims to
	understand the similarities and differences in internal
	workings of organic and machine processes and, by formulating
	abstract concepts common to all systems, to understand their
	behaviour.

	Modern "second-order cybernetics" places emphasis on how the
	process of constructing models of the systems is influenced by
	those very systems, hence an elegant definition - "applied
	epistemology".

	Related recent developments (often referred to as {sciences of
	complexity}) that are distinguished as separate disciplines
	are {artificial intelligence}, {neural networks}, {systems
	theory}, and {chaos theory}, but the boundaries between those
	and cybernetics proper are not precise.

	See also {robot}.

	{The Cybernetics Society (http://cybsoc.org)} of the UK.

	{American Society for Cybernetics
	(http://asc-cybernetics.org/)}.

	{IEEE Systems, Man and Cybernetics Society
	(http://isye.gatech.edu/ieee-smc/)}.

	{International project "Principia Cybernetica"
	(http://pespmc1.vub.ac.be/DEFAULT.html)}.

	{Usenet} newsgroup: {sci.systems (news:sci.systems)}.

	["Cybernetics, or control and communication in the animal and the
	machine", N. Wiener, New York: John Wiley & Sons, Inc., 1948]

	(2002-01-01)

cyberpunk

	/si:'ber-puhnk/ (Originally coined by SF writer Bruce Bethke
	and/or editor Gardner Dozois) A subgenre of SF launched in
	1982 by William Gibson's epoch-making novel "Neuromancer"
	(though its roots go back through Vernor Vinge's "True Names"
	to John Brunner's 1975 novel "The Shockwave Rider").  Gibson's
	near-total ignorance of computers and the present-day hacker
	culture enabled him to speculate about the role of computers
	and hackers in the future in ways hackers have since found
	both irritatingly na"ive and tremendously stimulating.
	Gibson's work was widely imitated, in particular by the
	short-lived but innovative "Max Headroom" TV series.  See
	{cyberspace}, {ice}, {jack in}, {go flatline}.

	Since 1990 or so, popular culture has included a movement or
	fashion trend that calls itself "cyberpunk", associated
	especially with the rave/techno subculture.  Hackers have
	mixed feelings about this.  On the one hand, self-described
	cyberpunks too often seem to be shallow trendoids in black
	leather who have substituted enthusiastic blathering about
	technology for actually learning and *doing* it.  Attitude is
	no substitute for competence.  On the other hand, at least
	cyberpunks are excited about the right things and properly
	respectful of hacking talent in those who have it.  The
	general consensus is to tolerate them politely in hopes that
	they'll attract people who grow into being true hackers.

	[{Jargon File}]

cyberrhea

	<humour, jargon> /si:'ber-eer/ An affliction of some {word
	processor} users; excessive frequency and looseness of
	productivity.  Particularly virulent among those who have not
	discovered the fortifying virtues of revision.

	["Right Words, Right Places" Scott Rice, Wadsworth, 1993, A5.]

	(1997-02-25)

cybersex

	<networking> Sex performed in {real time} via a digital
	medium.

	Compare {teledildonics}.

	[Details?]

	(1998-02-10)

cyberspace

	<jargon> /si:'ber-spays/ 1. (Coined by {William Gibson})
	Notional "information-space" loaded with visual cues and
	navigable with brain-computer interfaces called "cyberspace
	decks"; a characteristic prop of {cyberpunk} SF.  In 1991
	serious efforts to construct {virtual reality} interfaces
	modelled explicitly on Gibsonian cyberspace were already under
	way, using more conventional devices such as glove sensors and
	binocular TV headsets.  Few hackers are prepared to deny
	outright the possibility of a cyberspace someday evolving out
	of the network (see {network, the}).

	2. Occasionally, the metaphoric location of the mind of a
	person in {hack mode}.  Some hackers report experiencing
	strong eidetic imagery when in hack mode; interestingly,
	independent reports from multiple sources suggest that there
	are common features to the experience.  In particular, the
	dominant colours of this subjective "cyberspace" are often
	grey and silver, and the imagery often involves constellations
	of marching dots, elaborate shifting patterns of lines and
	angles, or moire patterns.

	[{Jargon File}]

	(1999-02-01)

cyberspastic

	<humour> A person suffering from information overload while
	browsing the {Internet} or {web}.

	Compare {webhead}.

	(1995-11-09)

cyber-squatting

	<jargon, networking> The practice of registering famous brand
	names as {Internet} {domain names}, e.g. harrods.com, ibm.firm
	or sears.shop, in the hope of later selling them to the
	appropriate owner at a profit.

	(1998-01-22)

CyberWand

	<hardware, virtual reality> A {virtual reality} {controller}.
	The CyberWand costs $99, or $765 with optional Polhemus
	sensor.  It is basically the handle of a flight control system
	without the base.  The controller's four buttons and 2-D hat
	sensor track six degrees of movement.

	(1995-04-04)

CyberZine

	<publication> A combination paper and {web} on-line
	{Cyberspace} guide.  Upon payment you will be given a user name
	and password to access CyberZine on-line and the paper version
	will be posted first class.  Subscribers can also use the
	CyberZine help desk.

	{(http://cyberzine.org/)}.

	(1994-09-22)

CYBIL

	Control Data's system programming language in the 80's.  Major
	parts of CDC systems written in this.

Cyc

	<artificial intelligence> A large {knowledge-based system}.

	Cyc is a very large, multi-contextual {knowledge base} and
	{inference engine}, the development of which started at the
	{Microelectronics and Computer Technology Corporation} (MCC)
	in Austin, Texas during the early 1980s.

	Over the past eleven years the members of the Cyc team, lead
	by {Doug Lenat}, have added to the knowledge base a huge
	amount of fundamental human knowledge: {facts}, rules of
	thumb, and {heuristics} for reasoning about the objects and
	events of modern everyday life.

	Cyc is an attempt to do symbolic {AI} on a massive scale.  It
	is not based on numerical methods such as statistical
	probabilities, nor is it based on {neural networks} or {fuzzy
	logic}.  All of the knowledge in Cyc is represented
	{declaratively} in the form of logical {assertions}.  Cyc
	presently contains approximately 400,000 significant
	assertions, which include simple statements of fact, rules
	about what conclusions to draw if certain statements of fact
	are satisfied, and rules about how to reason with certain
	types of facts and rules.  The {inference engine} derives new
	conclusions using {deductive reasoning}.

	To date, Cyc has made possible ground-breaking pilot
	applications in the areas of {heterogeneous} database browsing
	and integration, {captioned image retrieval}, and {natural
	language processing}.

	In January of 1995, a new independent company named Cycorp was
	created to continue the Cyc project.  Cycorp is still in
	Austin, Texas.  The president of Cycorp is {Doug Lenat}.

	The development of Cyc has been supported by several
	organisations, including {Apple}, {Bellcore}, {DEC}, {DoD},
	{Interval}, {Kodak}, and {Microsoft}.

	{(http://cyc.com/)}.

	{Unofficial FAQ (http://robotwisdom.com/ai/cycfaq.html)}.

	(1999-09-07)

CYCL

	A {frame language}.

	["Building Large Knowledge-Based Systems", Doug B. Lenat et
	al, A-W 1990].

cycle

	<unit> A basic unit of computation, one period of a computer
	{clock}.

	Each {instruction} takes a number of clock cycles.  Often the
	computer can access its memory once on every clock cycle, and
	so one speaks also of "memory cycles".

	Every {hacker} wants more cycles (noted hacker {Bill Gosper}
	describes himself as a "cycle junkie").  There are only so
	many cycles per second, and when you are sharing a computer
	the cycles get divided up among the users.  The more cycles
	the computer spends working on your program rather than
	someone else's, the faster your program will run.  That's why
	every hacker wants more cycles: so he can spend less time
	waiting for the computer to respond.

	The use of the term "cycle" for a computer clock period can
	probably be traced back to the rotation of a generator
	generating alternating current though computers generally use
	a clock signal which is more like a {square wave}.
	Interestingly, the earliest mechanical calculators,
	e.g. Babbage's {Difference Engine}, really did have parts
	which rotated in true cycles.

	[{Jargon File}]

	(1997-09-30)

cyclebabble

	<jargon> Advertising raw {clock speed}, instead of {bus
	speed}.

	{IBM} uses raw clock speed as the speed of the computer.  In
	the {IBM PC} and {IBM PC XT}, the clock is divided by 4 to
	produce the 4-phase bus clocks.  Thus a 4 MHz IBM XT really
	runs at 0.895 MHz, because that 4 MHz was really 3.58 MHz
	which gets divided by four.

	A {Tandy} {Color Computer} ran at exactly the same speed, but
	clock speed was specified as bus speed, 0.895 MHz, leaving the
	impression that it was 4 times slower.  Actually it ran a
	little faster with a more efficient {instruction set}.  If the
	actual {clock rate} had been specified on a {CoCo 3}, it would
	have been 14.32 MHz, although the bus speed was still 0.895
	MHz.  That high speed also generated video, color, and {hidden
	refresh} timing.

	100 MHz computers are running at bus speeds of around 25 MHz.

	(1997-02-13)

cycle crunch

	<jargon> A situation wherein the number of people trying to
	use a computer simultaneously has reached the point where no
	one can get enough {cycles} because they are spread too thin
	and the system has probably begun to {thrash}.

	This scenario is an inevitable result of Parkinson's Law
	applied to {time-sharing}.  Usually the only solution is to
	buy more computer.  Happily, this has rapidly become easier
	since the mid-1980s, so much so that the very term "cycle
	crunch" now has a faintly archaic flavour; most hackers now
	use {workstations} or {personal computers} as opposed to
	traditional {time-sharing} systems.

	[{Jargon File}]

	(1994-11-29)

cycle drought

	A scarcity of {cycles}.  It may be due to a {cycle crunch},
	but it could also occur because part of the computer is
	temporarily not working, leaving fewer cycles to go around.
	"The {high moby} is {down}, so we're running with only half
	the usual amount of memory.  There will be a cycle drought
	until it's fixed."

	[{Jargon File}]

	(1994-11-29)

cycle of reincarnation

	A term coined by {Ivan Sutherland} ca. 1970 to refer to a
	well-known effect whereby function in a computing system
	family is migrated out to special-purpose {peripheral}
	hardware for speed, then the peripheral evolves toward more
	computing power as it does its job, then somebody notices that
	it is inefficient to support two asymmetrical processors in
	the architecture and folds the function back into the main
	{CPU}, at which point the cycle begins again.

	Several iterations of this cycle have been observed in
	{graphics-processor} ({blitter}) design, and at least one or
	two in communications and {floating-point} processors.  Also
	known as "the Wheel of Life", "the Wheel of Samsara" and other
	variations of the basic Hindu/Buddhist theological idea.

	[{Jargon File}]

	(1994-11-16)

cycle server

	<jargon> A powerful computer that exists primarily for running
	large {batch} jobs.  The term implies that {interactive} tasks
	such as editing are done on other machines on the network,
	such as {workstations}.

	[{Jargon File}]

	(1998-03-13)

cyclic redundancy check

	<algorithm> (CRC or "cyclic redundancy code") A number derived
	from, and stored or transmitted with, a block of data in order
	to detect corruption.  By recalculating the CRC and comparing
	it to the value originally transmitted, the receiver can
	detect some types of transmission errors.

	A CRC is more complicated than a {checksum}.  It is calculated
	using division either using {shifts} and {exclusive ORs} or
	{table lookup} ({modulo} 256 or 65536).

	The CRC is "redundant" in that it adds no information.  A
	single corrupted {bit} in the data will result in a one bit
	change in the calculated CRC but multiple corrupted bits may
	cancel each other out.

	CRCs treat blocks of input bits as coefficient-sets for
	{polynomials}.  E.g., binary 10100000 implies the polynomial:
	1*x^7 + 0*x^6 + 1*x^5 + 0*x^4 + 0*x^3 + 0*x^2 + 0*x^1 + 0*x^0.
	This is the "message polynomial".  A second polynomial, with
	constant coefficients, is called the "generator polynomial".
	This is divided into the message polynomial, giving a quotient
	and remainder.  The coefficients of the remainder form the
	bits of the final CRC.  So, an order-33 generator polynomial
	is necessary to generate a 32-bit CRC.  The exact bit-set used
	for the generator polynomial will naturally affect the CRC
	that is computed.

	Most CRC implementations seem to operate 8 bits at a time by
	building a table of 256 entries, representing all 256 possible
	8-bit byte combinations, and determining the effect that each
	byte will have.  CRCs are then computed using an input byte to
	select a 16- or 32-bit value from the table.  This value is
	then used to update the CRC.

	{Ethernet} {packets} have a 32-bit CRC.  Many disk formats
	include a CRC at some level.

	(1997-08-02)

cyclic redundancy code

	{cyclic redundancy check}

Cyclo

	<programming, tool> (Cyclomatic complexity tool) A {C} and
	{C++} code analysis tool by Roger D. Binns.  It measures
	{cyclomatic complexity}, shows function calls, and can draw
	{flowgraphs} of {ANSI C} and {C++} code.  It requires {Lex}
	and {C++}.

	Posted to {alt.sources}, 1993-06-28.

	(1993-06-28)

cyclomatic complexity

	<programming, testing> A measure of the number of linearly
	independent paths through a program {module}.  Cyclomatic
	complexity is a measure for the complexity of code related to
	the number of ways there are to traverse a piece of code.
	This determines the minimum number of inputs you need to test
	all ways to execute the program.

	(1998-03-17)

Cygnus Tcl Tools

	<tool> A rebundling of {Tcl} and {Tk} into the {Cygnus} {GNU}
	build framework with "{configure}" by david d 'zoo' zuhn
	<zoo@cygnus.com>.

	Latest version: Release-930124, as of 1993-01-24.

	{(ftp://cygnus.com/pub/)}.

	(2000-09-25)

cylinder

	<storage> The set of {tracks} on a multi-headed {disk} that
	may be accessed without head movement.  That is, the
	collection of disk tracks which are the same distance from the
	spindle about which the disks rotate.  Each such group forms
	the shape of a cylinder.  Placing data that are likely to be
	accessed together in cylinders reduces the access
	significantly as head movement ({seeking}) is slow compared to
	disk rotation and switching between heads.

	(1997-07-15)

CypherText

	<language> An interactive language for text formatting and
	typesetting.

	["CypherText: An Extensible Composing and Typesetting
	Language", C.G. Moore et al, Proc FJCC 37, AFIPS (Fall 1970)].

	(1995-05-10)

Cyrix

	<company> A {microprocessor} manufacturer.  They produce an
	{Intel 486} equivalent - the {Cy486SLC} and a {Pentium}
	equivalent - the {Cyrix 6x86}.

	{(http://cyrix.com/)}.

	(1996-03-23)

Cyrix 6x86

	<processor> (6x86) {IBM} and {Cyrix}'s {sixth-generation},
	64-bit {80x86}-compatible {microprocessor}.  The 6x86 combines
	aspects of both {RISC} and {CISC}.  It has a {superscalar},
	{superpipelined} {core}, and performs {register renaming},
	{speculative execution}, {out-of-order completion}, and {data
	dependency removal}.  It has a 16-kilobyte {primary cache} and
	is socket-compatible with the {Pentium} P54C.  It has four
	performance levels: PR 120+, PR 150+, PR 166+ and PR 200+.

	The chip was designed by Cyrix and is manufactured by IBM.

	The architecture of the 6x86 is more advanced than that of the
	Pentium, incorporating some of the features of Intel's
	{Pentium Pro}.  At a given {clock rate} it executes most code
	more quickly than a Pentium would.  However, its {FPU} is
	considerably less efficient than Intel's.

	{IBM FAQ
	(http://chips.ibm.com/products/x86/6x86/faqs/6x86_faqs.html)},
	{Cyrix FAQ
	(http://cyrix.com/process/prodinfo/6x86/faq-6x86.htm)}.

	(1997-05-26)

cz

	<networking> The {country code} for the Czech Republic.

	(1999-01-27)

D

	1. "The Data Language."  {MS-DOS} 4GL.

	2. A {Haskell}-like language, with {type class}es.

	E-mail: <polar@cs.syr.edu>.

D-1000

	<computer> {Datamatic Corporation}'s first computer,
	which weighed 25 tons, took up 6,000 square feet and
	cost $1.5 million, produced some time after 1955.

	(2009-01-14)

DAA

	Distributed Application Architecture: under design by
	Hewlett-Packard and Sun.  A distributed object management
	environment that will allow applications to be developed
	independent of operating system, network or windowing system.

DAC

	{Digital to Analog Converter}

DACAPO

	Broad-range hardware specification language.  "Mixed Level
	Modelling and Simulation of VLSI Systems", F.J. Rammig in
	Logic Design and Simulation, E. Horbst ed, N-H 1986.

DACNOS

	A prototype network operating system for multi-vendor
	environments, from IBM European Networking Centre Heidelberg
	and University of Karlsruhe.

	(1995-01-16)

D/A converter

	{Digital to Analog Converter}

DACTL

	Declarative Alvey Compiler Target Language.

	An intermediate language from the {University of East Anglia},
	used in the {Flagship} project.  DACTL is based on a form of
	{graph rewriting} which can be used to implement {functional
	languages}, {logic languages} and {imperative languages}.  The
	current version is Dactl0.

	["DACTL - A Computational Model and Compiler Target Language
	Based on Graph Reduction", J.R.W. Glauert et al, ICL Tech J
	5(3) (1987)].

	(1994-09-22)

DADS

	{Dictionary of Algorithms and Data Structures}

daemon

	<operating system> /day'mn/ or /dee'mn/ (From the mythological
	meaning, later rationalised as the acronym "Disk And Execution
	MONitor") A program that is not invoked explicitly, but lies
	dormant waiting for some condition(s) to occur.  The idea is
	that the perpetrator of the condition need not be aware that a
	daemon is lurking (though often a program will commit an
	action only because it knows that it will implicitly invoke a
	daemon).

	For example, under {ITS} writing a file on the {LPT} spooler's
	directory would invoke the spooling daemon, which would then
	print the file.  The advantage is that programs wanting files
	printed need neither compete for access to, nor understand any
	idiosyncrasies of, the {LPT}.  They simply enter their
	implicit requests and let the daemon decide what to do with
	them.  Daemons are usually spawned automatically by the
	system, and may either live forever or be regenerated at
	intervals.

	{Unix} systems run many daemons, chiefly to handle requests
	for services from other {hosts} on a {network}.  Most of these
	are now started as required by a single real daemon, {inetd},
	rather than running continuously.  Examples are {cron} (local
	timed command execution), {rshd} (remote command execution),
	{rlogind} and {telnetd} (remote login), {ftpd}, {nfsd} (file
	transfer), {lpd} (printing).

	Daemon and {demon} are often used interchangeably, but seem to
	have distinct connotations (see {demon}).  The term "daemon"
	was introduced to computing by {CTSS} people (who pronounced
	it /dee'mon/) and used it to refer to what {ITS} called a
	{dragon}.

	[{Jargon File}]

	(1995-05-11)

DAG

	1. <architecture> {Data Address Generator}.

	2. <mathematics> {directed acyclic graph}.

	(1997-08-30)

Daisy

	A {functional language}.

	["Daisy Programming Manual", S.D. Johnson, CS Dept TR, Indiana
	U, 1988].

DAISY 201

	An early system on {G-15}.

	[Listed in CACM 2(5):16 (May 1959)].

daisy chain

	<networking> A {bus} wiring scheme in which, for example,
	device A is wired to device B, device B is wired to device C,
	etc.  The last device is normally wired to a resistor or
	{terminator}.  All devices may receive identical signals or,
	in contrast to a simple bus, each device in the chain may
	modify one or more signals before passing them on.

	Characteristic of {RS-485}, of {Apple}'s {LocalTalk}, and of
	various industrial control networks; also often used to
	describe {Thinwire} {Ethernet} ({10base2}).

	(1997-01-07)

daisywheel printer

	<printer> A kind of {impact printer} where the characters are
	arranged on the ends of the spokes of a wheel (resembling the
	petals on a daisy).

	The wheel (usually made of plastic) is rotated to select the
	character to print and then an electrically operated hammer
	mechanism bends the selected spoke forward slightly,
	sandwiching an ink ribbon between the character and the paper,
	as in a typewriter.

	One advantage of this arrangement over that of a typewriter is
	that different wheels may be inserted to produce different
	{typefaces}.

	(1998-04-28)

dancing frog

	<programming, humour> A {bug} or {glitch} that only occurs for
	a particular user; never when the user tries to show it to
	anyone else.

	The term is derived from a Warner Brothers cartoon in which a
	man discovers a frog which can sing and dance; he believes
	this will make his fortune but the frog never performs in
	front of anyone else.

	(2004-10-16)

dangling pointer

	<programming> A reference that doesn't actually lead anywhere.
	In {C} and some other languages, a pointer that doesn't
	actually point at anything valid.  Usually this happens
	because it formerly pointed to something that has moved or
	disappeared, e.g. a {heap}-allocated block which has been freed
	and reused.

	Used as jargon in a generalisation of its technical meaning;
	for example, a local phone number for a person who has since
	moved is a dangling pointer.

	{This dictionary} contains many dangling pointers -
	cross-references to non-existent entries, as explained in {the
	Help page (help.html)}.

	[{Jargon File}]

	(2014-09-20)

DANTE

	A company established by the national research networks in
	Europe to provide international network services.

DAP Fortran

	["Efficient High Speed Computing with the Distributed Array
	Processor", P.M. Flanders et al, pp.113-127 (1977)].

	[Same as Fortran- Plus?]

DAPLEX

	["The Functional Data Model and the Data Language DAPLEX",
	D.W. Shipman, ACM Trans Database Sys, 6(1):140-173 (Mar
	1981)].

DARE

	Differential Analyzer REplacement.  A family of simulation
	languages for continuous systems.

	["Digital Continuous System Simulation", G.A. Korn et al, P-H
	1978].

dark-side hacker

	<jargon, legal> A criminal or malicious hacker; a {cracker}.
	From George Lucas's Darth Vader, "seduced by the dark side of
	the Force".  The implication that hackers form a sort of elite
	of technological Jedi Knights is intended.

	Opposite: {samurai}.

	[{Jargon File}]

	(1997-04-28)

Darms

	<language, music> A music language.

	["The Darms Project: A Status Report", R.F. Erickson,
	Computers and the Humanities 9(6):291-298 (June 1975)].

	(1995-05-12)

DARPA

	{Defense Advanced Research Projects Agency}

Dartmouth BASIC

	<language> The original {BASIC} language, designed by John
	G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1963.
	Dartmouth BASIC first ran on a {GE 235} [date?] and on an {IBM
	704} on 1964-05-01.  It was designed for quick and easy
	programming by students and beginners using Dartmouth's
	experimental {time-sharing} system.  Unlike most later BASIC
	dialects, Dartmouth BASIC was compiled.

	(2003-07-02)

Darwin

	1. <operating system> An {operating system} based on the
	{FreeBSD} version of {Unix}, running on top of a {microkernel}
	({Mach} 3.0 with darwin 1.02) that offers advanced networking,
	services such as the {Apache} {web server}, and support for
	both {Macintosh} and Unix {file systems}.  Darwin was
	originally released in March 1999.  It currently runs on
	{PowerPC} based Macintosh computers, and, in October 2000, was
	being ported to {Intel} processor-based computers and
	compatible systems by the Darwin community.

	2. <programming, tool> A general purpose structuring tool of
	use in building complex {distributed systems} from diverse
	components and diverse component interaction mechanisms.
	Darwin is being developed by the Distributed Software
	Engineering Section of the Department of Computing at
	{Imperial College}.  It is in essence a {declarative} binding
	language which can be used to define hierarchic compositions
	of interconnected components.  Distribution is dealt with
	orthogonally to system structuring.  The language allows the
	specification of both static structures and dynamic structures
	which evolve during execution.  The central abstractions
	managed by Darwin are components and services.  Bindings are
	formed by manipulating references to services.

	The {operational semantics} of Darwin is described in terms of
	the {Pi-calculus}, {Milner}'s calculus of mobile processes.
	The correspondence between the treatment of names in the
	Pi-calculus and the management of service references in Darwin
	leads to an elegant and concise Pi-calculus model of Darwin's
	{operational semantics}.  The model has proved useful in
	arguing the correctness of Darwin implementations and in
	designing extensions to Darwin and reasoning about their
	behaviour.

	{Distributed Software Engineering Section
	(http://www-dse.doc.ic.ac.uk/)}.  {Darwin publications
	(http://scorch.doc.ic.ac.uk/dse-papers/darwin/)}.

	E-mail: Jeff Magee <jnm@doc.ic.ac.uk>, Naranker Dulay
	<nd@doc.ic.ac.uk>.

	3. {Core War}.

	(2003-08-08)

DAS

	Digital Analog Simulator.

	Represents {analog computer} design.

	(1994-11-08)

DASD

	{Direct-Access Storage Device}

DASE

	{Distributed Application Support Environment}

DASL

	Datapoint's Advanced System Language.

	A cross between {C} and {Pascal} by Gene Hughes with custom
	features for {Datapoint} hardware (no {stack}).  It is used
	internally by Datapoint.

	(1994-11-08)

DAT

	1. {Digital Audio Tape}.

	2. {Dynamic Address Translation}.

data

	<data, data processing, jargon> /day't*/ (Or "raw data")
	Numbers, {characters}, {images}, or other method of recording,
	in a form which can be assessed by a human or (especially)
	input into a {computer}, stored and {processed} there, or
	transmitted on some {digital channel}.  Computers nearly
	always represent data in {binary}.

	Data on its own has no meaning, only when interpreted by some
	kind of {data processing system} does it take on meaning and
	become {information}.

	For example, the binary data 01110101 might represent the integer
	117 or the {ASCII} lower case U character or the blue component of
	a pixel in some {video}.  Which of these it represents is
	determined by the way it is processed (added, printed, displayed,
	etc.).  Even these numbers, characters or pixels however are still
	not really information until their context is known, e.g. my bank
	balance is £117, there are two Us in "vacuum", you have blue eyes.

	(2007-09-10)

data abstraction

	<data> Any representation of data in which the implementation
	details are hidden (abstracted).  {Abstract data types} and
	{objects} are the two primary forms of data abstraction.

	[Other forms?].

	(2003-07-03)

data acquisition

	{data logging}

Data Address Generator

	<architecture> (DAG) The mechanism which generates temporary
	memory addresses for data that is transferred between memory
	and {registers} in a {Digital Signal Processor}.

	Certain {DSP} architectures incorporate more than one DAG to
	simplify the programming needed to move blocks of data between
	buffers.

	For instance, certain {Fast Fourier Transform} {algorithms}
	requiring {bit reversing}, can use the DAG for that purpose,
	or they can use two DAGS, one for Program Memory Data (PMD),
	and the other for Data Memory Data (DMD).

	(1997-08-12)

database

	1. <database> One or more large structured sets of persistent
	data, usually associated with software to update and {query}
	the data.  A simple database might be a single file containing
	many {records}, each of which contains the same set of
	{fields} where each field is a certain fixed width.

	A database is one component of a {database management system}.

	See also {ANSI/SPARC Architecture}, {atomic}, {blob}, {data
	definition language}, {deductive database}, {distributed
	database}, {fourth generation language}, {functional
	database}, {object-oriented database}, {relational database}.

	{Carol E. Brown's tutorial
	(http://accounting.rutgers.edu/raw/aies/www.bus.orst.edu/faculty/brownc/lectures/db_tutor/db_tutor.htm)}.

	2. <hypertext> A collection of {nodes} managed and stored in
	one place and all accessible via the same {server}.  {Links}
	outside this are "external", and those inside are "internal".

	On the {World-Wide Web} this is called a {website}.

	3. All the facts and rules comprising a {logic programming}
	program.

	(2005-11-17)

database administrator

	<job> A person responsible for the design and management of
	one or more {databases} and for the evaluation, selection and
	implementation of {database management systems}.  In smaller
	organisations, the data administrator and database
	administrator are often one in the same; however, when they
	are different, the database administrator's function is more
	technical.  The database administrator would implement the
	database software that meets the requirements outlined by the
	organisation's data administrator and {systems analysts}.

	Tasks might include controling an organisation's data
	resources, using {data dictionary} software to ensure {data
	integrity} and security, recovering corrupted data and
	eliminating data redundancy and uses tuning tools to improve
	database performance.

	(2004-03-11)

database analyst

	<job> A person who uses {data modeling} to analyse and specify
	data use within an application area.  A database analyst
	defines both {logical views} and physical data structures.  In
	a {client/server} environment, he defines the database part of
	the back end system.

	(2004-03-11)

database machine

	<hardware> A {computer} or special hardware that stores and
	retrieves data from a {database}.  It is specially designed
	for database access and is coupled to the main ({front-end})
	computer(s) by a high-speed channel.  This contrasts with a
	{database server}, which is a computer in a {local area
	network} that holds a database.  The database machine is
	tightly coupled to the main {CPU}, whereas the database server
	is loosely coupled via the network.

	[Example?]

	(2004-03-11)

database management system

	<database> (DBMS) A suite of programs which typically manage
	large structured sets of persistent data, offering ad hoc
	query facilities to many users.  They are widely used in
	business applications.

	A database management system (DBMS) can be an extremely
	complex set of software programs that controls the
	organisation, storage and retrieval of data (fields, records
	and files) in a database.  It also controls the security and
	integrity of the database.  The DBMS accepts requests for data
	from the application program and instructs the operating
	system to transfer the appropriate data.

	When a DBMS is used, information systems can be changed much
	more easily as the organisation's information requirements
	change.  New categories of data can be added to the database
	without disruption to the existing system.

	Data security prevents unauthorised users from viewing or
	updating the database.  Using passwords, users are allowed
	access to the entire database or subsets of the database,
	called subschemas (pronounced "sub-skeema").  For example, an
	employee database can contain all the data about an individual
	employee, but one group of users may be authorised to view
	only payroll data, while others are allowed access to only
	work history and medical data.

	The DBMS can maintain the integrity of the database by not
	allowing more than one user to update the same record at the
	same time.  The DBMS can keep duplicate records out of the
	database; for example, no two customers with the same customer
	numbers (key fields) can be entered into the database.

	{Query languages} and {report writers} allow users to
	interactively interrogate the database and analyse its data.

	If the DBMS provides a way to interactively enter and update
	the database, as well as interrogate it, this capability
	allows for managing personal databases.  However, it may not
	leave an audit trail of actions or provide the kinds of
	controls necessary in a multi-user organisation.  These
	controls are only available when a set of application programs
	are customised for each data entry and updating function.

	A business information system is made up of subjects
	(customers, employees, vendors, etc.) and activities (orders,
	payments, purchases, etc.).  Database design is the process of
	deciding how to organize this data into record types and how
	the record types will relate to each other.  The DBMS should
	mirror the organisation's data structure and process
	transactions efficiently.

	Organisations may use one kind of DBMS for daily transaction
	processing and then move the detail onto another computer that
	uses another DBMS better suited for random inquiries and
	analysis.  Overall systems design decisions are performed by
	data administrators and systems analysts.  Detailed database
	design is performed by database administrators.

	The three most common organisations are the {hierarchical
	database}, {network database} and {relational database}.  A
	database management system may provide one, two or all three
	methods.  Inverted lists and other methods are also used.  The
	most suitable structure depends on the application and on the
	transaction rate and the number of inquiries that will be
	made.

	Database machines are specially designed computers that hold
	the actual databases and run only the DBMS and related
	software.  Connected to one or more mainframes via a
	high-speed channel, database machines are used in large volume
	transaction processing environments.  Database machines have a
	large number of DBMS functions built into the hardware and
	also provide special techniques for accessing the disks
	containing the databases, such as using multiple processors
	concurrently for high-speed searches.

	The world of information is made up of data, text, pictures
	and voice.  Many DBMSs manage text as well as data, but very
	few manage both with equal proficiency.  Throughout the 1990s,
	as storage capacities continue to increase, DBMSs will begin
	to integrate all forms of information.  Eventually, it will be
	common for a database to handle data, text, graphics, voice
	and video with the same ease as today's systems handle data.

	See also: {intelligent database}.

	(1998-10-07)

database manager

	The part of the database management system (DBMS) that handles
	the organisation, storage and retrieval of the data.  A
	database manager may work with traditional programming
	languages, such as COBOL and BASIC, or may work only with its
	proprietary programming language.  The terms database manager
	and database management system are used interchangeably.

	A database manager links two or more files together and is the
	foundation for developing routine business systems.  Contrast
	with file manager, which works with only one file at a time
	and is typically used interactively on a personal computer for
	managing personal, independent files, such as name and address
	lists.

database normalisation

	<database> A series of steps followed to obtain a {database}
	design that allows for efficient access and {storage} of data
	in a {relational database}.  These steps reduce data
	redundancy and the chances of data becoming inconsistent.

	A {table} in a {relational database} is said to be in normal
	form if it satisfies certain {constraints}.  {Codd}'s original
	work defined three such forms but there are now five generally
	accepted steps of normalisation.  The output of the first step
	is called First Normal Form (1NF), the output of the second
	step is Second Normal Form (2NF), etc.

	First Normal Form eliminates {repeating groups} by putting
	each value of a multi-valued attribute into a new row.

	Second Normal Form eliminates {functional dependencies} on a
	{partial key} by putting the fields in a separate table from
	those that are dependent on the whole {key}.

	Third Normal Form eliminates functional dependencies on
	non-key fields by putting them in a separate table.  At this
	stage, all non-key fields are dependent on the key, the whole
	key and nothing but the key.

	Fourth Normal Form separates independent multi-valued facts
	stored in one table into separate tables.

	Fifth Normal Form breaks out data redundancy that is not
	covered by any of the previous normal forms.

	{(http://bkent.net/Doc/simple5.htm)}.

	[What about non-relational databases?]

	(2005-07-28)

database query language

	<database> A language in which users of a {database} can
	(interactively) formulate requests and generate reports.  The
	best known is {SQL}.

	(1998-04-15)

database server

	A stand-alone computer in a local area network that holds and
	manages the database.  It implies that database management
	functions, such as locating the actual record being requested,
	is performed in the server computer.  Contrast with file
	server, which acts as a remote disk drive and requires that
	large parts of the database, for example, entire indexes, be
	transmitted to the user's computer where the real database
	management tasks are performed.

	First-generation personal computer database software was not
	designed for a network; thus, modified versions of the
	software released by the vendors employed the file server
	concept.  Second-generation products, designed for local area
	networks, perform the management tasks in the server where
	they should be done, and consequently are turning the file
	server into a database server.

database transaction

	<database> A set of related changes applied to a {database}.  The
	term typically implies that either all of the changes should be
	applied or, in the event of an error, none of them, i.e. the
	transaction should be {atomic}.  Atomicity is one of the {ACID}
	properties a transaction can have, another is {isolation} -
	preventing interference between processes trying to access the
	database {cocurrently}.  This is usually achieved by some form of
	{locking} - where one process takes exclusive control of a
	database {table} or {row} for the duration of the transaction,
	preventing other processes from accessing the locked data.

	The canonical example of a transaction is transferring money
	between two bank accounts by subtracting it from one and adding it
	to the other.

	Some {relational database management systems} require the user to
	explicitly start a transaction and then either commit it (if all
	the individual steps are successful) or roll it back (if there are
	any errors).

	(2013-06-03)

Data/BASIC

	<language> (Or "Pick BASIC") A {BASIC}-like language with
	{database} capabilities, the main programming language on the
	{Pick OS}.

	["The Data/BASIC Language - A Data Processing Language for
	Non-Professional Programmers", P.C. Dressen, Proc SJCC 36,
	AFIPS, Spring 1970].

	(2001-04-30)

DATABUS

	DATApoint BUSiness Language.

	A language like an interpreted {assembly language}, used for
	custom applications on {Datapoint} computers.

	(1995-01-16)

data bus

	<architecture> The bus (connections between and within the
	{CPU}, memory, and peripherals) used to carry {data}.  Other
	connections are the {address bus} and control signals.

	The width and {clock rate} of the data bus determine its data
	rate (the number of {bytes} per second it can carry), which is
	one of the main factors determining the processing power of a
	computer.  Most current processor designs use a 32-bit bus,
	meaning that 32 bits of data can be transferred at once.  Some
	processors have an internal data bus which is wider than their
	external bus in order to make external connections cheaper
	while retaining some of the benefits in processing power of a
	wider bus.

	See also {data path}.

	(1995-01-16)

datacenter manager

	<job> A person who plans and directs all computer and
	{peripheral} operations, {data entry}, data control scheduling
	and quality control.

	(2004-03-11)

data channel

	<communications> A channel (on a {BRI} or {PRI} line) used to
	carry control information, to set up connections on the
	associated {bearer channels}.  The name wasn't too bad back
	when users were sending voice (not data) over the {bearer
	channels}, but in 1997 it's quite a misnomer.

	(1997-03-10)

DATACODE I

	<language> An early system used on the {Datatron 200} series.

	[Listed in CACM 2(5):16, May 1959].

	(1994-12-06)

Datacom

	A {DBMS} from {Computer Associates International}.

	(1994-12-06)

Data Communication Equipment

	<communications, hardware> (DCE) The devices and connections
	of a communications network that connect the communication
	circuit between the data source and destination (the {Data
	Terminal Equipment} or DTE).  A {modem} is the most common
	kind of DCE.

	Before data can be transmited over a modem, the DTR (Data
	Terminal Ready) signal must be active.  DTR tells the DCE that
	the DTE is ready to transmit and receive data.

	DCE and DTE are usually connected by an {EIA-232} {serial
	line}.  It is necessary to distinguish these two types of
	device because their connectors must be wired differently if a
	"straight-through" cable (pin 1 to pin 1, pin 2 to pin 2 etc.)
	is to be used.  DCE should have a female connector and should
	transmit on pin two and receive on pin three.  It is a curious
	fact that many {modems} are "DTE" according to the original
	standard.

	(1995-02-28)

data communications analyst

	<job> A person who installs, maintains, and troubleshoots
	{data networks}.  A data communications analyst may have
	knowledge of {T1} lines, {TCP/IP}, {fiber optics}, {SNA},
	{frame relay}.  He assists users with problems related to
	connectivity, analyses data flow, configures {modems}, {DSUs},
	{multiplexors}, and {routers}, and uses network tools such as
	{NetView} or {Netspy}.

	(2004-03-11)

Data Communications Equipment

	{Data Communication Equipment}

data compression

	<algorithm> {compression}.  Probably to distinguish it from
	(electronic) {signal compression}.

	(1995-04-02)

Data definition language

	<language, database> (DDL)

	1. A language enabling the structure and instances of a
	{database} to be defined in a human-, and machine-readable
	form.

	{SQL} contains DDL commands that can be used either
	interactively, or within programming language {source code},
	to define databases and their components, e.g. CREATE and
	DROP.

	See also {Data manipulation language} (DML).

	2. A specification language for databases, based on the
	{entity-relationship model}.  It is used in the {Eli}
	{compiler-compiler} to manage type definitions.

	["DDL Reference Manual", ECE Dept U Colorado, 1991].

	(1999-04-26)

data dictionary

	<database> A data structure that stores {metadata}, i.e. data
	about {data}.  The term "data dictionary" has several uses.

	Most generally it is a set of {data descriptions} that
	can be shared by several applications.

	Usually it means a {table} in a {database} that stores the
	names, {field} {types}, length, and other characteristics of
	the fields in the database tables.

	An active data dictionary is automatically updated as changes
	occur in the database.  A passive data dictionary must be
	manually updated.

	In a {DBMS}, this functionality is performed by the {system
	catalog}.  The data dictionary is a more general software
	utility used by designers, users, and administrators for
	{information resource management}.

	The data dictionary may maintain information on system
	hardware, software, documentation, users, and other aspects.

	Data dictionaries are also used to document the database
	design process itself and can accumulate metadata
	ready to feed into the system catalog.

	[Does anybody call them "codebooks"?]

	(2001-04-24)

data dictionary file

	<database> (DDF) A set of files describing the structure of a
	{database} file. DDFs define {database tables} and include
	information about file locations, field layouts and
	indexes. DDFs are the standard method for defining field and
	index characteristics for {Btrieve} files.

	(1997-06-03)

data driven

	A data driven architecture/language performs computations in
	an order dictated by data dependencies.  Two kinds of data
	driven computation are {dataflow} and {demand driven}.

	From about 1970 research in parallel {data driven} computation
	increased.  Centres of excellence emerged at {MIT},
	{CERT-ONERA} in France, {NTT} and {ETL} in Japan and
	{Manchester University}.

Data Driven Machine

	<language> (DDM) A {dataflow} language.

	["The Architecture and System Method of DDM-1: A Recursively
	Structured Data Driven Machine", A. Davis, Proc 5th Ann Symp
	Comp Arch, IEEE 1978].

	(1999-04-26)

Data Encryption Algorithm

	(DEA) An {ANSI} {standard} defined in ANSI X3.92-1981.  It is
	identical to the {Data Encryption Standard} (DES).

	(1994-12-06)

Data Encryption Key

	(DEK) Used for the {encryption} of message text and for the
	computation of message integrity checks (signatures).

	See {cryptography}.

	(1994-12-06)

Data Encryption Standard

	(DES) The {NBS}'s popular, standard {encryption} algorithm.
	It is a {product cipher} that operates on 64-bit blocks of
	data, using a 56-bit key.  It is defined in {FIPS} 46-1 (1988)
	(which supersedes FIPS 46 (1977)).  DES is identical to the
	{ANSI} standard {Data Encryption Algorithm} (DEA) defined in
	ANSI X3.92-1981.

	DES has been implemented in {VLSI}.  {SunOS} provides a des
	command which can make use of DES hardware if fitted.  Neither
	the software nor the hardware are supposed to be distributed
	outside the USA.

	{Unix manual pages}: des(1), des(3), des(4).

	(1994-12-06)

data feed

	<data, architecture> Some process for transferring {data} from
	one system to another in a predetermined form.

	(2009-05-17)

data flow

	<architecture> A data flow architecture or language performs a
	computation when all the {operands} are available.  Data flow is
	one kind of {data driven} architecture, the other is {demand
	driven}.  It is a technique for specifying {fine-grain
	concurrency}, usually in the form of two-dimensional graphs in
	which instructions that are available for concurrent execution are
	written alongside each other while those that must be executed in
	sequence are written one under the other.  Data dependencies
	between instructions are indicated by directed arcs.  Instructions
	do not reference memory since the data dependence arcs allow data
	to be transmitted directly from the producing instruction to the
	consuming one.

	Data flow schemes differ chiefly in the way that they handle
	{re-entrant} code.  Static schemes disallow it, dynamic
	schemes use either "code copying" or "tagging" at every point
	of reentry.

	An example of a data flow architecture is {MIT}'s {VAL}
	machine.

data flow analysis

	<programming> A process to discover the dependencies between
	different data items manipulated by a program.  The order of
	execution in a {data driven} language is determined solely by
	the data dependencies.  For example, given the equations

		1. X = A + B
		2. B = 2 + 2
		3. A = 3 + 4

	a data-flow analysis would find that 2 and 3 must be evaluated
	before 1.  Since there are no data dependencies between 2 and
	3, they may be evaluated in any order, including in parallel.

	This technique is implemented in {hardware} in some
	{pipelined} processors with multiple {functional units}.  It
	allows instructions to be executed as soon as their inputs are
	available, independent of the original program order.

	(1996-05-13)

Data Flow Diagram

	<programming> A graphical notation used to describe how {data}
	flows between {processes} in a system.  Data flow diagrams are
	an important tool of most {structured analysis} techniques.

	{(http://smartdraw.com/resources/centers/software/dfd.htm)}.

	(2003-05-17)

data fork

	{Macintosh file system}

data frame

	{activation record}

Data General

	<company> A US computer manufacturer.  Responsible for the
	{Nova} {minicomputer}.

	Quarterly sales $284M, profits -$12M (Aug 1994).

	(1994-09-26)

Data General mN601

	{Data General MicroNova 601}

data glove

	<hardware, virtual reality> An input device for {virtual
	reality} in the form of a glove which measures the movements
	of the wearer's fingers and transmits them to the computer.
	Sophisticated data gloves also measure movement of the wrist
	and elbow.  A data glove may also contain control buttons or
	act as an output device, e.g. vibrating under control of the
	computer.  The user usually sees a virtual image of the
	data glove and can point or grip and push objects.

	Examples are {Fifth Dimension Technologies} (5DT)'s {5th
	Glove}, and {Virtual Technologies}' {CyberGlove}.  A cheaper
	alternative is {InWorld VR}'s {CyberWand}.

	["Full freedom plus input", PC Magazine, Mar 14 1995,
	pp. 168-190].

	[Inventor?]

	(1995-04-04)

datagram

	A self-contained, independent entity of data carrying
	sufficient information to be {route}d from the source to the
	destination computer without reliance on earlier exchanges
	between this source and destination computer and the
	transporting {network}.

	See also {connectionless}, {frame}, {packet}.

data hierarchy

	The system of data objects which provide the {methods} for
	{information} storage and retrieval.  Broadly, a data
	hierarchy may be considered to be either natural, which arises
	from the alphabet or syntax of the language in which the
	information is expressed, or machine, which reflects the
	facilities of the computer, both hardware and software.

	A natural data hierarchy might consist of {bits},
	{characters}, words, phrases, sentences, paragraphs, and
	chapters.  One might use components bound to an application,
	such as field, record, and file, and these would ordinarily be
	further specified by having {data descriptors} such as name
	field, address field, etc.  On the other hand, a machine or
	software system might use {bit}, {byte}, {word}, {block},
	{partition}, {channel}, and {port}.

	Programming languages often provide {types} or {objects} which
	can create data hierarchies of arbitrary complexity, thus
	allowing software system designers to model language
	structures described by the linguist to greater or lesser
	degree.

	The distinction between the natural form of data and the
	facilities provided by the machine may be obscure, because
	users force their needs into the molds provided, and
	programmers change machine designs.  As an example, the
	natural data type "character" and the machine type "byte" are
	often used interchangeably, because the latter has evolved to
	meet the need of representing the former.

	(1995-11-03)

data integrity

	<data> The absence of unintended changes or errors in some
	data.  Integrity implies that the data is an exact copy of
	some original version, e.g. that it has not been corrupted in
	the process of being written to, and read back from, a {hard
	disk} or during transmission via some communications channel.

	Integrity may further imply that the {information} represented
	by the data has been {validated}, i.e. verified to conform to
	certain constraints, e.g. a date's year, month and day parts
	are within the appropriate ranges and the date actually
	exists.

	(2009-06-03)

Data Interchange Standards Association

	<standard> (DISA) A not-for-profit corporation that acts as
	the secretariat for {ANSI}'s {EDI} standards committee, ASC
	X12 that works on {ANSI X12}.  DISA manages ASC X12's
	membership, balloting, standards development and maintenance,
	publications, and communications with ANSI.

	(1999-09-18)

Data Jack

	<hardware> A wall-mounted or desk-mounted connector
	(frequently a wide telephone-style 8-pin {RJ-45}) for
	connecting to data cabling in a building.

	(1997-01-07)

Datakit

	<networking> A {circuit-switched} digital network, similar to
	{X.25}.  Datakit supports {host-to-host} connections and
	{EIA-232} connections for {terminals}, {printers}, and {hosts}.

	Most of {Bell Laboratories} is {trunk}ed together on Datakit.
	On top of DK transport service, people run {UUCP} for
	{electronic mail} and {dkcu} for {remote login}.

	ISN is the version of Datakit supported by {AT&T} Information
	Systems.  Bell Laboratories in Holmdel, New Jersey, uses ISN
	for internal data communication.

	{(http://fc.net:80/phrack/files/p18/p18-9.html)}.

	["Towards a universal data transport system", A. G. Fraser,
	IEEE Journal on Selected Areas in Communications, SAC-1(5)
	pp. 803-16, 1983].

	(1996-10-20)

Dataless Management Services

	<operating system> (DMS)

	{(http://cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3LE-TE_html/sharing10.html)}.

	(2005-09-15)

dataless management utility

	<operating system> (DMU) A {Dataless Management Services}
	(DMS) utility for managing the sharing of installed operating
	software between DMS servers and clients.  It allows users to
	install, configure, show and delete DMS environments and add,
	list, modify and remove DMS clients.

	(2005-09-15)

Data Link Connection Identifier

	<networking> (DLCI) A channel number which is attached to
	{data frames} to tell a {Frame Relay} network how to route the
	data.  In Frame Relay, multiple logical channels are
	{multiplexed} over a single physical channel.  The DLCI says
	which of these logical channels a particular data frame
	belongs to.

	{(http://etinc.com/frmain.htm#whatsadlci)}.

	(2000-02-13)

data link layer

	<networking> Layer two, the second lowest layer in the {OSI}
	seven layer model.  The data link layer splits data into
	{frames} (see {fragmentation}) for sending on the {physical
	layer} and receives acknowledgement frames.  It performs error
	checking and re-transmits frames not received correctly.  It
	provides an error-free virtual channel to the {network layer}.
	The data link layer is split into an upper sublayer, {Logical
	Link Control} (LLC), and a lower sublayer, {Media Access
	Control} (MAC).

	Example {protocols} at this layer are {ABP}, {Go Back N},
	{SRP}.

	(1995-02-14)

data link level

	{data link layer}

Data Link Provider Interface

	<networking> (DLPI) The interface that a {network driver}
	presents to the (higher level) {logical link layer} for
	driving the network at the {datagram} level in a {Unix}
	{STREAMS} environment and possibly elsewhere.

	DLPI corresponds to {ISO 8802}/2 ({LLC}) which covers both
	{connection-oriented} and {connectionless} {protocols}.

	[Is this correct?  Better explanation?]

	(1996-01-29)

Data Link Switching

	<networking> (DLSw) A standard for transporting {IBM} {Systems
	Network Architecture} (SNA) and {network basic input/output
	system} (NetBIOS) traffic over an {Internet protocol} network.

	Initially, in 1992, DLSw was proprietary to IBM.  It was
	submitted to the {IETF} as {RFC 1434} in 1993, later updated
	by {RFC 1795}.

	{(http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/dlsw.htm)}.

	(2008-01-11)

data logger

	{data logging}

data logging

	<data> (data acquisition) Storing a series of measurements
	over time, usually from a sensor that converts a physical
	quantity such as temperature, pressure, relative humidity,
	light, resistance, current, power, speed, vibration into a
	voltage that is then converted by a {digital to analog
	converter} (DAC) into a binary number.  Data logging hardware
	may have several DACs for multiple simultaneous measurements.
	The hardware usually connects to a {parallel port}, {serial
	port} or {USB} port on a {PC}.

	(2004-11-15)

Data Management Language

	<language> (DML)

	1. Any language for manipulating data or files,
	e.g. {IBM}'s {Distributed Data Management} (DDM).

	2. An early {ALGOL}-like language with lists and graphics,
	that ran on the {Honeywell 635}.

	["DML: A Data Management Language", D.W. Bray et al, GE,
	Syracuse NY].

	(1999-06-07)

Data Manipulation Language

	<language, database> (DML, or {Data Management Language}) A
	language for the manipulation of data in a {database} by
	applications and/or directly by end-users.

	{SQL} contains DML commands such as INSERT, UPDATE, and
	DELETE.

	See also {Data Definition Language} (DDL).

	(1999-04-26)

data mart

	<database> A type of {data warehouse} designed primarily to
	address a specific function or department's needs, as opposed
	to a data warehouse which is traditionally meant to address
	the needs of the organisation from an enterprise perspective.
	In addition, a data mart often uses {aggregation} or
	summarisation of the data to enhance query performance.
	However, it is important to maintain the ability to access the
	underlying base data to enable {drill-down analysis} as
	necessary.

	(1998-04-24)

Datamatic Corporation

	{Honeywell}

Datamation

	/day"t*-may"sh*n/ A magazine that many hackers assume all
	{suits} read.  Used to question an unbelieved quote, as in
	"Did you read that in "Datamation?""  It used to publish
	something hackishly funny every once in a while, like the
	original paper on {COME FROM} in 1973, and Ed Post's "Real
	Programmers Don't Use Pascal" ten years later, but it has
	since become much more exclusively {suit}-oriented and boring.

	[{Jargon File}]

data mining

	<database> Analysis of data in a {database} using tools which
	look for trends or anomalies without knowledge of the meaning
	of the data.  Data mining was invented by {IBM} who hold some
	related patents.

	Data mining may well be done on a {data warehouse}.

	{ShowCase STRATEGY (http://showcasecorp.com/)} is an
	example of a data mining tool.

	(2001-02-08)

data model

	<database> The product of the {database} design process which
	aims to identify and organize the required data logically and
	physically.

	A data model says what information is to be contained in a
	database, how the information will be used, and how the items
	in the database will be related to each other.

	For example, a data model might specify that a customer is
	represented by a customer name and credit card number and a
	product as a product code and price, and that there is a
	one-to-many relation between a customer and a product.

	It can be difficult to change a database layout once code has
	been written and data inserted.  A well thought-out data model
	reduces the need for such changes.  Data modelling enhances
	application maintainability and future systems may re-use
	parts of existing models, which should lower development
	costs.

	A data modelling language is a mathematical formalism with a
	notation for describing data structures and a set of
	operations used to manipulate and validate that data.

	One of the most widely used methods for developing data models
	is the {entity-relationship model}.  The {relational model} is
	the most widely used type of data model.  Another example is
	{NIAM}.

	["Principles of Database and Knowledge-Base Systems",
	J.D. Ullman, Volume I, Computer Science Press, 1988, p. 32].

	(2000-06-24)

data modeling

	<spelling> US spelling of "{data model}ling".

	(2000-06-24)

data modelling

	{data model}

Data Over Cable Service Interface Specification

	<communications, networking> (DOCSIS) {ITU}-approved interface
	requirements for {cable modems} involved in high-speed data
	distribution over a {cable television} network.  DOCSIS
	compatible equipment uses a 6 MHz {carrier} band for
	{downstream}, using 64 and 256 {QAM} (ITU Annex B), and {QPSK}
	and 16 QAM for {upstream}, allowing up to 36 and 10 Mb/s,
	respectively for downstream and upstream channels.

	{CableLabs FAQ (http://cablemodem.com/FAQs.html)}.

	(2001-07-10)

Data Over Cable Systems Interface Specifications

	{Data Over Cable Service Interface Specification}

data packet

	{packet}

Dataparallel-C

	<language, parallel> {C} with {parallel} extensions by Hatcher
	and Quinn of the University of New Hampshire.  Dataparallel-C
	was based on an early version of {C*} and runs on the {Intel}
	{iPSC-2} and {nCube}.

Data Parallel Haskell

	<language, parallel> Adds Parallel Objects with arbitrary
	Dimension (PODs) and POD comprehensions to Haskell.

	{(ftp://redstar.dcs.qmw.ac.uk/cpc/jon_hill/dpGlue.ps.Z)}.

	["Data Parallel Haskell: Mixing Old and New Glue", J. Hill].

	(1995-03-30)

data path

	<architecture> A {CPU}'s internal {data bus} and {functional
	units}.  The width of the data path in bits is a major
	determiner of the processor's performance.

	(1997-07-09)

Dataphone Digital Service

	<communications, product> (DDS) The first private-line digital
	service offered by {AT&T}, with data rates typically at 2.4,
	4.8, 9.6 and 56 kilobits per second.  DDS is now part of
	AT&T's {Accunet} family of services.  Most LEC (local exchange
	carriers) and IXC (IntereXchange Carriers) offer similar
	services.

	(1995-02-28)

DataPoint

	<company> An early {minicomputer} manufacturer which also
	developed {ARCnet}.

	(2004-08-25)

data processing

	<application> The input, verification, organisation, storage,
	retrieval, transformation, and extraction of {information}
	from {data}.  The term is normally associated with commercial
	applications such as stock control or payroll.

	(1995-03-30)

Data Protection Act

	<legal> (DPA) A UK law guaranteeing rights to individuals in
	relation to personal data that others hold on them.  For
	example, under the DPA, you have the right to see what data a
	company holds on you.

	(2007-06-17)

data rate

	{data transfer rate}

data redundancy

	<data, communications, storage> Any technique that stores or
	transmits extra, derived data that can be used to detect or
	repair errors, either in hardware or software.  Examples are
	{parity bits} and the {cyclic redundancy check}.

	If the cost of errors is high enough, e.g. in a
	{safety-critical system}, redundancy may be used in both
	hardware AND software with three separate computers programmed
	by three separate teams ("triple redundancy") and some system
	to check that they all produce the same answer, or some kind
	of majority voting system.

	The term is not typically used for other, less beneficial,
	duplication of data.

	2. <communications> The proportion of a message's gross
	information content that can be eliminated without losing
	essential information.

	Technically, redundancy is one minus the ratio of the actual
	uncertainty to the maximum uncertainty.  This is the fraction
	of the structure of the message which is determined not by the
	choice of the sender, but rather by the accepted statistical
	rules governing the choice of the symbols in question.

	[Shannon and Weaver, 1948, p. l3]

	(2010-02-04)

data segment

	<memory> The range of memory locations where the {initialised
	data} of a program produced by a {Unix} {linker} is located.

	Executable code is located in the {code segment} and
	uninitialised data in the {bss segment}.

	(2004-02-24)

data service unit

	<communications> (DSU or "data service unit") A device used in
	digital transmission for connecting a CSU (Channel Service
	Unit) to {Data Terminal Equipment} (a terminal or computer),
	in the same way that a {modem} is used for connection to an
	analogue medium.

	A DSU provides a standard interface to a user's terminal which
	is compatible with {modems} and handles such functions as
	signal translation, regeneration, reformatting, and timing.
	The transmitting portion of the DSU processeses the customers'
	signal into bipolar pulses suitable for transmission over the
	digital facility.  The receiving portion of the DSU is used
	both to extract timing information and to regenerate mark and
	space information from the received {bipolar} signal.

	(1995-01-30)

data set

	<operating system, storage> An {IBM} term for a {file}.

	(1997-04-15)

data set organization

	<operating system, storage> (DSORG) An {IBM} term for {file}
	structure.  These include PS {physical sequential}, DA {direct
	access}, IS {indexed sequential}, PO {partitioned} (a
	library).  This system dates from {OS/360}, and breaks down
	beginning with {VSAM} and {VTAM}, where it is no longer
	applied.

	Sequential and indexed data sets can be accessed using either
	a "basic" or a "queued" "access method."  For example a
	DSORG=PS file can use either BSAM (basic sequential access
	method) or QSAM (queued sequential access method).  It can
	also be processed as a {direct file} using BDAM.  Likewise a
	library can be processed using BPAM (basic partitioned access
	method), BSAM, QSAM, or BDAM.  DSORG and access method are
	somewhat, but not completely, orthogonal.

	The "basic" access method deals with {physical blocks} rather
	than {records}, and usually provides more control over the
	specific {device}.  Each I/O operation using the "basic"
	access method reads or writes a single block.  A "basic" read
	or write starts an {asynchronous} I/O operation, and the
	programmer is responsible for waiting for completion and
	checking for errors.

	The "queued" access method deals with {logical records} and
	provides blocking and deblocking services.  It is "queued"
	because it provides {read-ahead} and {write-behind} services.
	While a program is processing records in one input block, for
	example, QSAM may be reading one or more blocks ahead.  Queued
	"get" or "put" operations are synchronous as far as the
	programmer is concerned.  The operation is complete when the
	next logical record has been successfully processed.

	EXCP ({Execute Channel Program}) is a lower-level method of
	accessing data.

	IBM manuals usually named "Data Administration Guide",
	e.g. SC26-4505-1 for MVS/ESA DFP 3.1, provide more detail
	about data set organizations and access methods.

	(2005-08-08)

DataStage

	<database, tool> A tool set for designing, developing, and
	running {applications} that populate one or more {tables} in a
	{data warehouse} or {data mart}.

	[Reference]?

	(2004-06-23)

Datastorm Technologies, Inc.

	<company> The original suppliers of {Procomm}.

	Address: Columbia MO, USA.

	(2004-06-29)

data striping

	<storage> Segmentation of logically {sequential} data, such as
	a single file, so that segments can be written to multiple
	physical devices (usually {disk drives}) in a {round-robin}
	fashion.  This technique is useful if the processor is capable
	of reading or writing data faster than a single disk can
	supply or accept it.  While data is being transferred from the
	first disk, the second disk can locate the next segment.

	Data striping is used in some modern {databases}, such as
	{Sybase}, and in certain {RAID} devices under hardware
	control, such as {IBM}'s {RAMAC} array subsystem (9304/9395).

	Data striping is different from, and may be used in
	conjunction with, {mirroring}.

	(1996-10-17)

data structure

	<data, programming> Any method of organising a collection of
	{data} to allow it to be manipulated effectively.  It may
	include {meta} data to describe the properties of the
	structure.

	Examples data structures are: {array}, {dictionary}, {graph},
	{hash}, {heap}, {linked list}, {matrix}, {object}, {queue},
	{ring}, {stack}, {tree}, {vector}.

	(2003-09-11)

Data Structures Language

	<language> A dialect of {MAD} with extensions for lists and
	graphics, on {Philco 212}.

	["A Compiler Language for Data Structures", N. Laurance, Proc
	ACM 23rd Natl Conf 36 (1968)].

	(1995-02-28)

Data Terminal Equipment

	<communications, hardware> (DTE) A device which acts as the
	source and/or destination of data and which controls the
	communication channel.  DTE includes terminals, computers,
	{protocol converters}, and {multiplexors}.

	DTE is usually connected via an {EIA-232} {serial line} to
	{Data Communication Equipment} (DCE), typically a {modem}.  It
	is necessary to distinguish these two types of device because
	their connectors must be wired differently if a
	"straight-through" cable (pin 1 to pin 1, pin 2 to pin 2 etc.)
	is to be used.  DTE should have a male connector and should
	transmit on pin three and receive on pin two.  It is a curious
	fact that many {modems} are actually "DTE" according to the
	original standard.

	(1995-02-28)

Data Terminal Ready

	<communications> (DTR) The wire in a full {RS-232} connection
	that tells the {Data Communication Equipment} (DCE, typically
	a {modem}) that the {Data Terminal Equipment} (DTE, typically
	a computer or {terminal}) is ready to transmit and receive
	data.

	(2000-04-05)

DATA-TEXT

	<tool> A system from {Harvard} for numerical computations in
	the Social Sciences.

	["DATA-TEXT Primer", D.J. Armor, Free Press 1972].

	(1994-12-06)

data transfer

	<data> Copying or moving {data} from one place to another,
	typically via some kind of {network} (e.g. {Asynchronous
	Transfer Mode}, {File Transfer Protocol}) or local data
	connection ({bus}, {SCSI}, {IDE}, {SATA}).

	(2009-06-09)

data transfer rate

	<communications> (Or "throughput, data rate", "transmission
	rate") The amount of {data} transferred in one direction over
	a link divided by the time taken to transfer it, usually
	expressed in bits per second (bps), bytes per second (Bps) or
	{baud}.  The link may be anything from an interface to a {hard
	disk} to a radio transmission from a satellite.

	Where data transfer is not continuous throughout the given
	time interval, the data transfer rate is thus an average rate
	that will be lower than the peak rate.  The peak or maximum
	possible rate may itself be lower than the {capacity} of the
	communication channel if the channel is shared, or part of the
	signal is not considered as data, e.g. {checksum} or {routing}
	information.

	When applied to data rate, the multiplier {prefixes} "kilo-",
	"mega-", "giga-", etc. (and their abbreviations, "k", "M",
	"G", etc.) always denote powers of 1000.  For example, 64 kbps
	is 64,000 bits per second.  This contrasts with units of
	{storage} where they stand for powers of 1024, e.g. 1 KB =
	1024 bytes.

	The other important characteristic of a channel is its
	{latency}.

	The {bandwidth} of a channel determines the data transfer rate
	but is a different characteristic, measured in {Hertz}.
	[Relationship?]

	(2008-02-08)

DATATRIEVE

	<database, language> A query and report system for use with
	{DEC}'s {VMS} ({RMS}, {VAX Rdb}/VMS or {VAX DBMS}).

	(2007-01-16)

Datatron 200 series

	<computer> A family of computers produced by {Burroughs} that
	included the {Datatron 204} and {Datatron 220}.

	(2007-01-16)

data type

	{type}

DataViews

	{Graphical user interface} development software from
	{V.I.Corporation}, aimed at constructing
	{platform}-independent interactive views of dynamic data.

	(1994-12-07)

DataVis

	A {dataflow} language for scientific {visualisation}.

	["Data Flow Visual Programming Languages", D. Hils, J Vis
	Langs and Comput, Dec 1991].

	(1994-12-06)

data warehouse

	<database> (Or corporate data warehouse, CDW) Any system for
	storing, retrieving and managing large amounts of data.  Data
	warehouse software often includes sophisticated {compression}
	and {hashing} techniques for fast searches, as well as
	advanced filtering.  A data warehouse is often a {relational
	database} containing a recent snapshot of corporate data and
	optimised for searching.  Planners and researchers can use
	this database without worrying about slowing down day-to-day
	operations of the production database.  The latter can be
	optimised for transaction processing (inserts and updates).

	Compare {data mart}.

	(2007-05-16)

data warehousing

	{data warehouse}

date

	<convention, data> A string unique to a time duration of 24
	hours between 2 successive midnights defined by the local time
	zone.  The specific representation of a date will depend on
	which calendar convention is in force; e.g., Gregorian,
	Islamic, Japanese, Chinese, Hebrew etc. as well as local
	ordering conventions such as UK: day/month/year, US:
	month/day/year.

	Inputting and outputting dates on computers is greatly
	complicated by these {localisation} issues which is why they
	tend to operate on dates internally in some unified form such
	as seconds past midnight at the start of the first of January
	1970.

	Many software and hardware representations of dates allow only
	two digits for the year, leading to the {year 2000} problem.

	{Unix manual page}: date(1), ctime(3).

	(1997-07-11)

DAU

	/dow/ [German Fidonet] D"ummster Anzunehmender User.  A German
	acronym for stupidest imaginable user.  From the
	engineering-slang GAU for Gr"osster Anzunehmender Unfall
	(worst foreseeable accident), especially of a LNG tank farm
	plant or something with similarly disastrous consequences.  In
	popular German, GAU is used only to refer to worst-case
	nuclear accidents such as a core meltdown.

	See {cretin}, {loser} and {weasel}.

	[{Jargon File}]

	(1994-12-06)

daughter

	<mathematics, data> (Or "child", "successor") In a {tree}, a
	{node} pointed to by a {parent}, i.e. another node closer to
	the {root node}.

	(1998-11-14)

daughterboard

	<hardware> (Or "daughter board", "daughtercard", "daughter
	card") A {printed circuit board} that connects to the
	{motherboard}.  The daughterboard is typically smaller than
	the motherboard.

	A daughterdboard often adds to or supports the main functions
	of the {motherboard}, unlike an {expansion card} which
	provides some new function.  For example, a post-release
	hardware modification might be released as a daughterboard for
	soldering onto the {motherboard}.

	(2004-09-28)

daughtercard

	{daughterboard}

David Turner

	<person> Professor David A Turner.  One of the pioneers of
	{functional languages}.  He designed several languages,
	including, {SASL} (1976), {KRC} (1981), and {Miranda}, many of
	which were implemented using {combinators} and the {S-K
	reduction machine} which he defined.

	He coined the name "{ZF expression}" for the {list
	comprehension}.

	He worked at UKC and set up a company, {Research Software
	Limited} to market {Miranda}.

	(1994-12-06)

day mode

	{phase}

DAZIX

	Daisy/Cadnetix Corporation.

	A supplier of digital electronic {CAE} systems.

	(1994-12-06)

DB

	{database}

DB2

	<database> A {relational database} from {IBM}.

	When running under IBM's MVS ({Multiple Virtual Storage})
	{operating system}, DB2 is implemented on top of {VSAM} and
	uses its underlying data structures.

	DB2, later called "DB2 Universal DataBase", also runs under
	{windows NT}, {AIX}, {Solaris} and, most recently, {Linux}.

	[Details?  Was there a "DB1"?]

	(1999-02-01)

DB-25

	<hardware> The standard 25-pin {D-shell connector} used for
	{EIA-232} serial communication.

	{DE-9} is a common alternative.

	(1996-12-08)

DB2 catalog

	<database> An {IBM} {DB2} {system table} listing all objects in a
	database installation including hosts, servers, databases, tables
	and many more.  Commands are provided to manage the catalog, e.g.

		db2 catalog database mydatabase on /databases/mydatabase

	to add a database reference.

	{Catalog documentation
	(http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0011297.html)}.

	(2014-08-16)

DBA

	{database administrator}

dBASE

	<tool, product, language> An interactive {DBMS}, originally
	from {Ashton-Tate Corporation}, and the language used by it.

	dBASE evolved from {Vulcan} by Wayne Ratliffe, which came out
	in around 1980 and ran on CP/M.  It was called dBaseII when
	sold to {Ashton-Tate Corporation}.

	The first release was dBASE II, ca 1980.  There never was a
	"dBASE I".  Later versions included: {dBASE III}, dBASE III+,
	and dBASE IV.

	Ashton-Tate was taken over in the early 1990s by what became
	{Borland Software Corporation} who sold dBase in March(?)
	1999 to the newly formed dBase Inc.  dBase Inc's first release
	was {Visual dBASE} 5.7, a Y2K upgrade to Visual dBASE 5.x.

	Current version, as of 2003-11-24: dBASE PLUS 2.0x build 1703.

	{dBase Home (http://dbase.com/)}.

	(2003-11-24)

DBC

	<language, parallel> A {data-parallel} {bit-serial} {C} based
	on {MPL}.  SRC, Bowie MD.

	E-mail: <maya@super.org>.

	(1995-05-01)

DBCS

	<character> (IBM) double-byte character set.

	A {character set} that uses 16 bits to represent a character.

	(1995-03-21)

dBFAST

	{dBASE} dialect for {MS-DOS} and {MS-Windows}.

DBH

	{Denis Howe}

DBMS

	{database management system}

DBPL

	<language, database> A {procedural language} with {relational
	database} constructs.  A successor to {Pascal/R} and
	{Modula/R}.

	["DBPL Report", J.W. Schmidt et al, DBPL-Memo 111-88,
	Fachbereich Informatik, Johann Wolfgang Goethe-Universitaet,
	Frankfurt, Germany, 1988].

	(1994-12-07)

DBRI

	{Dual Basic Rate Interface}

dbx

	<programming> A {source-level debugger} originating from {BSD
	Unix} but now available for many other {Unix} distributions.

	{Sun documentation
	(http://developers.sun.com/sunstudio/documentation/ss12/mr/man1/dbx.1.html)}.

	(2009-04-27)

dBXL

	A {dBASE}-like {interpreter}/language for {MS-DOS} from
	{WordTech}, Orinda, CA.

	(1994-12-07)

DC

	<language, tool> The {Unix} {arbitrary precision} {postfix}
	calculator and its language.

	Here is an example program which prints out {factorials}:

		echo "[la1+dsa*pla2220>y]sy0sa1lyx" | dc

	{Unix manual page}: dc(1).

	{bc} provides a somewhat more readable syntax which is
	compiled into dc.  There is also a {GNU DC}.

	(1995-03-17)

DC1

	{control-Q}

DC2

	{Device Control 2}

DC3

	{Control-S}

DC4

	{Device Control 4}

DCA

	1. Defense Communications Agency.  See {DISA}.

	2. {Document Content Architecture} from {IBM}.

DCAC

	{Domestic Communications Assistance Center}

DCALGOL

	Data Communications ALGOL.  A superset of {Burroughs Extended
	ALGOL} used for writing Message Control Systems.

DCC

	1. <audio> {Digital Compact Cassette}.

	2. <networking> {Direct Client to Client Protocol}.

	(2001-12-02)

DCDL

	Digital Control Design Language.  A language for simulating
	computer systems.

	["DCDS Digital Simulating System", H. Potash et al, Proc FJCC
	35, AFIPS (Fall 1969)].

DCE

	1. {Data Communication Equipment}.

	2. Data Circuit-terminating Equipment.

	3. {Distributed Computing Environment} from {OSF}.

DCG

	{Definite Clause Grammar}

DCI

	{Display Control Interface}

DCL

	1. DIGITAL Command Language.  The interactive command and
	scripting language for VAX/VMS.

	2. Delphi Common LISP.  An implementation of Common LISP that
	has been used as a basis for CLOS.

DCOM

	{Distributed Component Object Model}

DCP

	{definitional constraint programming}

D. C. Power Lab

	The former site of {SAIL}.  This name was very funny because
	the obvious connection to electrical engineering was
	nonexistent - the lab was named after a Donald C. Power.
	Compare {Marginal Hacks}.

	[But did DCP's parents realise the joke?]

	[{Jargon File}]

DCS

	1. {Digital Cellular System}.

	2. {Digital Control System}.

DCT

	{Discrete Cosine Transform}

DD

	1. <storage> {double density}.

	2. <database> {data dictionary}.

	3. <programming> {Deployment Descriptor}.

	(2005-01-26)

dd

	A {Unix} copy command with special options suitable for
	block-oriented devices; it was often used in heavy-handed
	system maintenance, as in "Let's "dd" the {root partition}
	onto a tape, then use the {boot PROM} to load it back on to a
	new disk".

	dd had a distinctly non-Unixy keyword option syntax
	reminiscent of {IBM} {System/360} JCL (which had an elaborate
	DD "Dataset Definition" specification for I/O devices).
	Though the command filled a need, the interface design was
	clearly a prank.

	[{Jargon File}]

	(2005-08-08)

DDB

	{device independent bitmap}

DDCMP

	{Digital Data Communications Message Protocol} ({DEC}).

DDE

	{Dynamic Data Exchange}

DDE Manager

	An {Oracle} product that lets {Microsoft Windows}
	applications that support the {Dynamic Data Exchange} (DDE)
	{protocol} act as front end tools for Oracle.  It allows
	applications like {Excel}, {Word}, {Ami Professional}, {WingZ}
	and {ToolBook} to query, update, graph and report information
	stored in Oracle.

DDIF

	Digital Document Interchange Format.  A CDA specification for
	representing compound documents in revisable format; a DEC
	standard for document encoding.

DDL

	1. ["A Digital System Design Language (DDL)", J.R. Duley, IEEE
	Trans on Computers c-17(9), pp. 850-861, Sep 1968].

	2. <language, games> An {adventure} language developed by
	M. Urban, C. Kostanick et al of the {UCLA} Computer Club.  DDL
	was the forerunner of {ADL}.

	3. {Data Definition Language}.

	4. {Document Description Language}.

	5. {Dynamic Data Exchange}.  (Originally "Linking").

	(1997-06-05)

DDM

	1. <protocol, database> {Distributed Data Management}.

	2. <language> {Data Driven Machine}.

	(1999-06-07)

DDN

	{Defense Data Network}

DDO

	{Dynamic Drive Overlay}

DDP

	{Distributed Data Processing}

DDR

	{Double Data Rate Random Access Memory}

DDR-RAM

	{Double Data Rate Random Access Memory}

DDR-SDRAM

	{Double Data Rate Random Access Memory}

DDS

	1. {Digital Data Service}.

	2. {Digital Data System}.

	3. {Dataphone Digital Service}.

DDT

	1. Generic term for a program that assists in debugging other
	programs by showing individual {machine instructions} in a
	readable symbolic form and letting the user change them.  In
	this sense the term DDT is now archaic, having been widely
	displaced by "debugger" or names of individual programs like
	"{adb}", "{sdb}", "{dbx}", or "{gdb}".

	2. Under {MIT}'s fabled {ITS} {operating system}, DDT (running
	under the alias HACTRN) was also used as the {shell} or top
	level command language used to execute other programs.

	3. Any one of several specific debuggers supported on early
	{DEC} hardware.  The {DEC} {PDP-10} Reference Handbook (1969)
	contained a footnote on the first page of the documentation
	for DDT that illuminates the origin of the term:

	Historical footnote: DDT was developed at {MIT} for the
	{PDP-1} computer in 1961.  At that time DDT stood for "DEC
	Debugging Tape".  Since then, the idea of an on-line debugging
	program has propagated throughout the computer industry.  DDT
	programs are now available for all DEC computers.  Since media
	other than tape are now frequently used, the more descriptive
	name "Dynamic Debugging Technique" has been adopted, retaining
	the DDT abbreviation.  Confusion between DDT-10 and another
	well known pesticide, dichloro-diphenyl-trichloroethane
	(C14-H9-Cl5) should be minimal since each attacks a different,
	and apparently mutually exclusive, class of bugs.

	(The "tape" referred to was, incidentally, not magnetic but
	paper.)  Sadly, this quotation was removed from later editions
	of the handbook after the {suits} took over and DEC became
	much more "businesslike".

	The history above is known to many old-time hackers.  But
	there's more: Peter Samson, compiler of the original {TMRC}
	lexicon, reports that he named "DDT" after a similar tool on
	the {TX-0} computer, the direct ancestor of the PDP-1 built at
	{MIT}'s Lincoln Lab in 1957.  The debugger on that
	ground-breaking machine (the first transistorised computer)
	rejoiced in the name FLIT (FLexowriter Interrogation Tape).

	[{Jargon File}]

DDW

	{distributed data warehouse}

de

	<networking> The {country code} for Germany.

	(1999-01-27)

DE-9

	<hardware> The standard 9-pin {D-shell connector} used for
	{EIA-232} serial communication.  DE-9 is a common alternative
	to {DB-25}, especially on {personal computers}.

	(1999-12-08)

DEA

	{Data Encryption Algorithm}

DEACON

	Direct English Access and CONtrol.  English-like query system.
	Sammet 1969, p.668.

dead

	1. Non-functional; {down}; {crash}ed.  Especially used of
	{hardware}.

	2. At {XEROX PARC}, software that is working but not
	undergoing continued development and support.

	[{Jargon File}]

DEADBEEF

	<convention, storage> /ded-beef/ The {hexadecimal} pattern
	used to fill words of freshly allocated memory under a number
	of {IBM} environments including the {RS/6000}; equal to
	decimal 3,735,928,559 (unsigned) or -559,038,737 (32-bit
	signed).  As in "Your program is DEADBEEF" (meaning gone,
	aborted, flushed from memory).

	(1998-06-29)

dead code

	<programming> (Or "infeasible path", "{grunge}") Any part of a
	program that can never be accessed because all calls to it
	have been removed, or because it is guarded by a control
	structure that provably must always transfer control somewhere
	else.  The presence of dead code may reveal either logical
	errors due to alterations in the program or significant
	changes in the assumptions and environment of the program (see
	also {software rot}); a good compiler should report dead code
	so a maintainer can think about what it means.  Sometimes it
	simply means that an *extremely* defensive programmer has
	inserted {can't happen} tests which really can't happen - yet.

	Synonym {grunge}.

	[{Jargon File}]

	(1996-05-22)

deadlock

	<parallel, programming> A situation where two or more
	{processes} are unable to proceed because each is waiting for
	one of the others to do something.

	A common example is a program waiting for output from a server
	while the server is waiting for more input from the
	controlling program before outputting anything.  It is
	reported that this particular flavour of deadlock is sometimes
	called a "starvation deadlock", though the term "starvation"
	is more properly used for situations where a program can never
	run simply because it never gets high enough priority.

	Another common flavour is "constipation", in which each
	process is trying to send stuff to the other but all buffers
	are full because nobody is reading anything).  See {deadly
	embrace}.

	Another example, common in {database} programming, is two
	processes that are sharing some resource (e.g. read access to
	a {table}) but then both decide to wait for exclusive
	(e.g. write) access.

	The term "deadly embrace" is mostly synonymous, though usually
	used only when exactly two processes are involved.  This is
	the more popular term in Europe, while {deadlock} predominates
	in the United States.

	Compare: {livelock}.  See also {safety property}, {liveness
	property}.

	[{Jargon File}]

	(2000-07-26)

deadly embrace

	{deadlock}

dead tree

	<publication, jargon> Paper.

	Use of this term emphasises the waste of natural resources and
	limited features available from the printed form of a document
	compared with an electronic rendition.

	E.g. "I read the dead tree edition of the {Guardian
	(http://guardian.co.uk/)} on the train".

	See also {tree-killer}.

	(1999-11-03)

dead tree edition

	{dead tree}

deamon

	<spelling> It's spelled "{daemon}".

	(1996-12-13)

death code

	A routine whose job is to set everything in the computer -
	{registers}, memory, flags - to zero, including that portion
	of memory where it is running; its last act is to stomp on its
	own "store zero" instruction.  Death code isn't very useful,
	but writing it is an interesting hacking challenge on
	architectures where the instruction set makes it possible,
	such as the {PDP-8} or the {Data General} {Nova}.

	Perhaps the ultimate death code is on the {TI 990} series,
	where all {registers} are actually in {RAM}, and the
	instruction "store immediate 0" has the {opcode} 0.  The
	{program counter} will immediately wrap around core as many
	times as it can until a user hits HALT.  Any empty memory
	location is death code.  Worse, the manufacturer recommended
	use of this instruction in startup code (which would be in
	{ROM} and therefore survive).

	[{Jargon File}]

Death Star

	["Star Wars" film] 1. The AT&T corporate logo, which appears
	on computers sold by AT&T and bears an uncanny resemblance to
	the Death Star in the movie.  This usage is particularly
	common among partisans of {BSD} Unix, who tend to regard the
	AT&T versions as inferior and AT&T as a bad guy.  Copies still
	circulate of a poster printed by Mt. Xinu showing a starscape
	with a space fighter labelled {4.2BSD} streaking away from a
	broken AT&T logo wreathed in flames.

	2. AT&T's internal magazine, "Focus", uses "death star" to
	describe an incorrectly done AT&T logo in which the inner
	circle in the top left is dark instead of light - a frequent
	result of dark-on-light logo images.

deb

	<filename extension, Debian> The {filename extension} for a
	{Debian} {binary package}.

	(2001-01-27)

Debbugs

	<programming> The {bug tracking system} used by the {Debian}
	Project.  Each bug is given a number, and is kept on file
	until it is marked as having been dealt with. The system is
	mainly controlled by {electronic mail}, but the bug reports
	can be viewed via the {web}.

	{Debbugs home (http://debian.org/Bugs/)}.

	(2002-06-12)

Debian

	<operating system> /deb'ee`n/, *not* /deeb'ee`n/ The
	non-profit volunteer organisation responsible for Debian
	{GNU}/{Linux} and Debian {GNU}/{Hurd}.  Debian's {Linux}
	distribution is dedicated to free and {open source} software;
	the main goal of the distribution is to ensure that one can
	download and install a fully-functional {operating system}
	that is completely adherent to the Debian Free Software
	Guidelines (DFSG).

	Debian was begun in August 1993 by Ian Murdock, and was
	sponsored by the {Free Software Foundation} from November 1994
	to November 1995.  The name Debian is a contraction of DEB(ra)
	and IAN Murdock.

	Debian's packaging system (dpkg) is similar to other popular
	packaging systems like {RPM}.  There are over 2200 packages of
	precompiled software available in the main (free) section of
	the Debian 2.1 distribution alone -- this is what sets Debian
	apart from many other Linux distributions.  The high quality
	and huge number of official packages (most Debian systems'
	/usr/local/ remains empty -- almost everything most Linux
	users want is officially packaged) are what draw many people
	to use Debian.

	Another unique aspect to the Debian project is the open
	development; pre-releases are made available from Day 1 and if
	anyone wishes to become a Debian developer, all that is needed
	is proof of identification and a signed {PGP} or {GPG} key.
	There are over 400 Debian developers all around the world --
	many developers have never met face-to-face, and most
	development talks take place on the many {mailing lists} and
	the {IRC} network.

	{(http://debian.org/)}.

	{Debian Linux archives (ftp://ftp.debian.org/debian)}.

	(1999-02-23)

Debian GNU/Hurd

	<operating system> A {GNU} distribution based on the {Hurd}
	{kernel} instead of the more well known {Linux} kernel.

	[Reference?]

	(2001-12-02)

Debian GNU/Linux

	{Debian}

debianize

	<Debian> To take a {source package} and make the necessary
	modifications to allow it to be built as a policy compliant
	{Debian} package.

	(2000-05-31)

deboursification

	<jargon> Removal of irrelevant {newsgroups} from the
	Newsgroups header of a {followup}.  The term applies
	particularly to the removal of frivolous groups added by one
	of the Kooks.

	See also: {sneck}.

	[Sam Spade anti-{spam} software].

	(1999-09-15)

De Bruijn graph

	<mathematics> A class of {graphs} with elegant properties.

	De Bruijn graphs are especially easy to use for {routing},
	with shifting of source and destination addresses.

	[What properties?  How are they used in routing?]

	(1998-04-28)

De Bruijn notation

	<language> A variation of {lambda notation} for specifying
	{functions} using numbers instead of names to refer to {formal
	parameters}.  A reference to a formal parameter is a number
	which gives the number of lambdas (written as \ here) between
	the reference and the lambda which binds the parameter.
	E.g. the function \ f . \ x . f x would be written \ . \ . 1
	0.  The 0 refers to the innermost lambda, the 1 to the next
	etc.  The chief advantage of this notation is that it avoids
	the possibility of {name capture} and removes the need for {alpha
	conversion}.

	[N.G. De Bruijn, "Lambda Calculus Notation with Nameless
	Dummies: A Tool for Automatic Formula Manipulation, with
	Application to the Church-Rosser Theorem", Indag Math. 34, pp
	381-392].

	(2003-06-15)

DEBUG

	<software, tool> The bundled {compiler}/{assembler} for
	{DOS}/{Windows} after {CP/M}.

	[Did CP/M have "DEBUG"?]

	["DOS Power Tools, Techniques, Tricks, and Utilities, PC
	Magazine, Paul Somerson Executive Editor, Bantam Books, 1988].

	(2003-06-17)

debugger

	<tool, programming> A {tool} used by a {programmer} to monitor
	and control a program he is trying to fix.  The most important
	functions of a debugger are {tracing}, stepping, {breakpoints} and
	{watches}.

	Tracing displays a step-by-step report on what {statement} the
	program is currently executing, allowing the programmer to follow
	the {flow of control} through {if statements}, {loops},
	{subroutine} calls, etc.

	{Breakpoints} and {watches} both pause execution of the program
	and return control to the debugger under certain conditions.  A
	{breakpoint} triggers when execution reaches a particular
	{statement} in the program and a {watch} triggers whenever a
	specific variable is modified.  Stepping is like a breakpoint on
	every statement, often with the option to step "into" or "over" a
	{subroutine}, i.e. continue stepping through the statements of the
	subroutine or just execute it without pausing and resume stepping
	when it returns.

	Whenever control returns to the debugger it lets the programmer
	ask to see the values of {variables}, and possibly modify them,
	before resuming execution.  Some debuggers can be set to
	automatically perform some action like display a variable value
	and resume.

	A debugger can interact with the target program in different ways.
	Some debuggers require the program to be loaded into the debugger
	which may then modify or "instrument" the program for debugging.
	Others can "attach" to a program that is already running.  Some
	are built into the normal program execution environment (e.g. an
	{interpreter}) and can be set to run under certain conditions,
	e.g. errors.

	Early debuggers such as {Unix}'s {adb} only knew about the
	compiled executable code so sometimes debugging had to be done at
	the level of {machine code} instructions and numerical memory
	locations.  If you were lucky, the debugger could access the
	program's {symbol table} and display the original names of
	subroutines and variables.  Sometimes this required the program to
	be "compiled for debugging".  Since compiling every program for
	debugging would add significantly to the size of a {distribution}
	of a whole {operating system}, it is common for programs to be
	distributed without debugging support but for individual programs
	to be made available with it.

	A major advance in debuggers was source-level debugging.  This
	gives the programmer a view of their {source code} annotated with
	breakpoints and a pointer to the statement currently being
	executed.  Such a view is commonly part of an {integrated
	development environment} like {Visual Basic}.

	(2014-08-23)

debugging

	<programming> The process of attempting to determine the cause of
	the symptoms of malfunctions in a program or other system.  These
	symptoms may be detected during {testing} or use by {real users}.

	Symptoms are often caused by factors outside the program, such as
	misconfiguration of the user's {operating system},
	misunderstanding by the user (see {PEBCAK}) or failures in other
	external systems on which the program relies.  Some of these are
	more in the realm of {technical support} but need to be
	eliminated.  Debugging really starts when it has been established
	that the program is not behaving according to its specification
	(which may be formal or informal).  It can be done by visual
	inspection of the {source code}, {debugging by printf} or using a
	{debugger}.  The result may be that the program is actually
	behaving as specified but that the spec is wrong or the
	requirements on which it was based were deficient in some way (see
	{BAD}).

	Once a bug has been identified and a fix applied, the program must
	be tested to determine whether the bug is really fixed and what
	effects the changes have had on other aspects of the program's
	operation (see {regression testing}).

	The term is said to have been coined by {Grace Hopper}, based on
	the term "{bug}".

	(2006-11-27)

debugging an empty file

	<programming, humour> A humourous definition of {programming}
	that considers a complete absence of any code as a {bug} to be
	fixed.

	{test-driven development} proceeds by the programmer writing
	tests for code that doesn't exist yet, which could be
	described as testing an empty file.

	(2012-05-01)

debugging by printf

	<programming> The {debugging} technique where the programmer
	inserts print statements into a program so that when run the
	program leaves a "trail of {breadcrumbs}" allowing him to see
	which parts were executed.  The information output may just be
	a short string to indicate that a particular point in the code
	has been reached or it might be a complete {stack trace}.  The
	output typically just goes to the window or terminal in which
	the program is running or may be written to a log file.

	{printf} is the standard {C} print function, other languages
	would use different names.

	(2007-03-08)

debugging tool

	{debugger}

DEC

	{Digital Equipment Corporation}

dec

	<programming> /dek/ decrement, decrease by one.  Especially
	used by {assembly language} programmers, as many assembly
	languages have a "dec" {mnemonic}.

	Opposite: {inc}.

	[{Jargon File}]

DEC Alpha

	<processor> A {RISC} {microprocessor} from {DEC}.  In November
	1995, the Alpha was purportedly the fastest non-research chip
	used in commonly available {workstations}.  It is
	{superpipelined} and {superscalar}.  In February 1996 it was
	clocked at 200 MHz and in March 1998 at 666 MHz.

	(1998-03-17)

decay

	[Nuclear physics] An automatic conversion which is applied to
	most array-valued expressions in {C}; they "decay into"
	pointer-valued expressions pointing to the array's first
	element.  This term is not used in the official standard for
	the language.

	[{Jargon File}]

DECdesign

	A software analysis and design tool from {DEC} supporting
	several methodologies.  Now replaced by {Teamwork}.

	(1994-09-05)

DECdns

	Distributed Naming Service.

	Adopted by {OSF} as the naming service for {DCE}.

DEChead

	/dek'hed/ 1. A {DEC} {field servoid}.  Not flattering.

	2. ["deadhead"] A Grateful Dead fan working at {DEC}.

	[{Jargon File}]

dechunker

	{chunker}

decidability

	<mathematics> A property of sets for which one can determine
	whether something is a member or not in a {finite} number of
	computational steps.

	Decidability is an important concept in {computability
	theory}.  A set (e.g. "all numbers with a 5 in them") is said
	to be "decidable" if I can write a program (usually for a
	{Turing Machine}) to determine whether a number is in the set
	and the program will always terminate with an answer YES or NO
	after a finite number of steps.

	Most sets you can describe easily are decidable, but there are
	infinitely many sets so most sets are undecidable, assuming
	any finite limit on the size (number of instructions or number
	of states) of our programs.  I.e. how ever big you allow your
	program to be there will always be sets which need a bigger
	program to decide membership.

	One example of an undecidable set comes from the {halting
	problem}.  It turns out that you can encode every program as a
	number: encode every symbol in the program as a number (001,
	002, ...) and then string all the symbol codes together.  Then
	you can create an undecidable set by defining it as the set of
	all numbers that represent a program that terminates in a
	finite number of steps.

	A set can also be "semi-decidable" - there is an {algorithm}
	that is guaranteed to return YES if the number is in the set,
	but if the number is not in the set, it may either return NO
	or run for ever.

	The {halting problem}'s set described above is semi-decidable.
	You decode the given number and run the resulting program.  If
	it terminates the answer is YES.  If it never terminates, then
	neither will the decision algorithm.

	(1995-01-13)

decidable

	{decidability}

decimal point

	<character> "." {ASCII} character 46.  Common names are:
	point; {dot}; {ITU-T}, USA: period; {ITU-T}: decimal point.
	Rare: radix point; UK: full stop; {INTERCAL}: spot.

	(1995-03-14)

decision problem

	<theory> A problem with a yes/no answer.  Determining whether
	some potential solution to a question is actually a solution
	or not.  E.g. "Is 43669" a {prime number}?".  This is in
	contrast to a "{search problem}" which must find a solution
	from scratch, e.g. "What is the millionth prime number?".

	See {decidability}.

	(1996-05-03)

decision support

	Software used to aid management decision making, typically
	relying on a {decision support database}.

	[Examples?]

	(1995-02-14)

decision support database

	A {database} from which data is extracted and analysed
	statistically (but not modified) in order to inform business
	or other decisions.  This is in contrast to an {operational
	database} which is being continuously updated.

	For example, a decision support database might provide data to
	determine the average salary of different types of workers,
	whereas an operational database containing the same data would
	be used to calculate pay check amounts.

	Often, decision support data is extracted from operation
	databases.

	(1995-02-14)

Decision Support Systems

	<application, tool> (DSS) Software tools to help with
	{decision support}.

	(1995-02-14)

decision theory

	<probability> A branch of statistics concerning strategies for
	decision making in non-{deterministic} systems.  Decision
	theory seeks to find strategies that maximise the expected
	value of a {utility function} measuring the desirability of
	possible outcomes.

	(1995-09-22)

deckle

	/dek'l/ (From "dec-" and "{nibble}"; the original spelling
	seems to have been "decle") Two {nickles}; 10 {bits}.
	Reported among developers for {Mattel}'s {GI 1600} (the
	{Intellivision} games processor), a chip with 16-bit wide
	{RAM} but 10-bit wide {ROM}.

	[{Jargon File}]

	(1994-11-23)

declarative language

	<language> Any {relational language} or {functional language}.
	These kinds of {programming language} describe relationships
	between variables in terms of {functions} or {inference
	rules}, and the language executor ({interpreter} or
	{compiler}) applies some fixed {algorithm} to these relations
	to produce a result.

	Declarative languages contrast with {imperative languages}
	which specify explicit manipulation of the computer's internal
	state; or {procedural languages} which specify an explicit
	sequence of steps to follow.

	The most common examples of declarative languages are {logic
	programming} languages such as {Prolog} and {functional
	languages} like {Haskell}.

	See also {production system}.

	(2004-05-17)

DECmate I

	<computer> The first in {DEC}'s series of miniaturised {PDP-8}
	computers based on the {Intersil 6120} [Harris 6120?]
	{microprocessor} and dedicated to {wordprocessing}.  The
	DECmate was DEC's original competition for the {IBM PC}.

	The DECmate I was introduced in 1980 as the successor to the
	{WT78}.  The processor ran at 10 MHz, and was housed in a
	{VT100} {CRT} terminal.  It was a very limted model, no {EAE}
	option was available, memory was 32 Kwords.  It used the RX02
	8" dual floppy drive.  Options were the DP278-A and -B
	communication ports and RL278: 1 to 4 {RL02} {cartridge disk}
	drives.

	{(http://telnet.hu/hamster/dr/decmate.html)}.

	[Processor manufacturer?]

	(2003-05-29)

DECnet

	A proprietary network protocol designed by Digital Equipment
	Corporation.  The functionality of each Phase of the
	implementation, such as Phase IV and Phase V, is different.

decode

	<cryptography> To apply {decryption}.

	(2004-05-22)

Decomposed Petri Net

	<parallel> (DPN) A {Petri net} that has been split into
	multiple, interconnected nets.  This makes it easier to
	analyse or run the net.

	DPNs are the basis of {concurrency} in {ConC}.

	(2006-11-27)

decompress

	<compression, data> To reverse the effects of data
	{compression}.

	(2001-01-30)

decryption

	<cryptography> Any procedure used in {cryptography} to convert
	{ciphertext} (encrypted data) into {plaintext}.

	(1995-05-10)

DECstation

	<computer> A range of {RISC} based {workstations} manufactured
	by {DEC}.

	[Details?]

	(1997-04-29)

DECT

	{Digital Enhanced Cordless Telecommunications}

DECtape

	<hardware, storage> A reel of {magnetic tape} about 4 inches
	in diameter and one inch wide.  Unlike today's {macrotapes},
	microtape drivers allowed {random access} to the data, and
	therefore could be used to support {file systems} and even for
	{swapping} (this was generally done purely for {hack value},
	as they were far too slow for practical use).  DECtape was a
	variant on {LINCtape}.

	In their heyday DECtapes were used in pretty much the same
	ways one would now use a {floppy disk}: as a small, portable
	way to save and transport files and programs.

	(1995-03-16)

DECUS

	{Digital Equipment Computer Users Society}

Decus cpp

	An almost-{ANSI C} {preprocessor} by Martin Minow.  It is
	shipped with {X11R5} (contrib/util/cpp) because some systems
	don't have a working {cpp}.

	It runs on {VMS} ({Vax C}, {Decus C}), {RSX-11M}, {RSTS/E},
	{P/OS}, {RT11}, {A/UX} and {Apollo Domain}/IX 9.6 and is
	highly portable.

	(1994-11-03)

DEC Wars

	A 1983 {Usenet} posting by Alan Hastings and Steve Tarr
	spoofing the "Star Wars" movies in hackish terms.  Some years
	later, ESR (disappointed by Hastings and Tarr's failure to
	exploit a great premise more thoroughly) posted a
	3-times-longer complete rewrite called "Unix WARS"; the two
	are often confused.

	[{Jargon File}]

DECwindows

	DEC's windowing environment based on the {X Window System}.

DECwrite

	{DEC}'s {CDA}-based, {WYSIWYG} document processing
	application.  It can generate and import {SGML} marked-up
	documents.

DED

	Dark-Emitting Diode (that is, a burned-out LED).  Compare
	{SED}, {LER}, {write-only memory}.  In the early 1970s both
	Signetics and Texas instruments released DED spec sheets as
	{AFJs} (suggested uses included "as a power-off indicator").

	[{Jargon File}]

dedicated line

	<communications> A telephone line leased expressly for the
	purpose of connecting two users more-or-less permenantly..
	Such lines may be "voice grade" which provides the {bandwidth}
	and {signal to noise ratio} of ordinary {public switched
	telephone network} circuits, or specified in ways which allow
	transport of suitably encoded digital signals at faster rates.

	In some cases, lines may be physical wires between the
	communicating parties.  Over longer distances, it is common
	for the connection to be virtual, which means that although
	the two users can communicate only with each other, their
	signals and others are multiplexed, amplified, switched,
	scrambled, demultiplexed and so on in complex ways between the
	end points.

	This contrasts with a {dial-up} connection which is only
	opened when one end requires it.

	(1996-08-10)

deductive database

	<database> A combination of a conventional {database}
	containing {facts}, a {knowledge base} containing {rules}, and
	an {inference engine} which allows the derivation of
	{information} implied by the facts and rules.

	Commonly, the knowledge base is expressed in a subset of
	{first-order logic} and either a {SLDNF} or {Datalog}
	inference engine is used.

	(1995-04-27)

deductive tableau

	<tool> A theorem proof system consisting of a table whose rows
	contain assertions or goals.  Variables in assertions are
	implicitly universally quantified and variables in goals are
	implicitly existentially quantified.  The declarative meaning
	of a tableau is that if every instance of every assertion is
	true then some instance of at least one of the goals is true.

	(1994-12-07)

Deep Blue

	<computer> A super computer developed by researchers at {IBM}
	to explore the use of {parallel processing} to solve complex
	computing problems.  It is known as the first computer to beat
	the current chess World Grand Master.

	Deep Blue started it's life as a PhD project at {Carnegie
	Mellon University} by PhD students Feng-hsiung Hsu and Murray
	Campbell.  Chiptest, as it was known then, consisted of a
	custom designed chip hosted in a {Sun} 3/160 computer.

	The project moved over to IBM in 1989 when Hsu and Campbell
	joined IBM.  {Deep Thought}, as it was known by then, played
	for the first time against Garry Kasparov in the same year.
	The game of two matches was easily won by Kasparov.

	The next match against Kasparov took place in February 1996.
	By then the machine was again renamed, at that time it was
	known as Deep Blue.  It was also heavily re-engineered: it was
	by then running on a 32-node {RS/6000} cluster, each
	containing 8 custom designed chips.  Alas, Kasparov won again.

	The breakthrough finally happened in February 1997: with both
	the algorithm and the raw speed significantly improved, Deep
	Blue beat Kasparov 3.5:2.5.

	{HOME (http://chess.ibm.com)}.

	(1997-06-16)

deep hack mode

	{hack mode}

deep magic

	[possibly from C. S. Lewis's "Narnia" books] An awesomely
	arcane technique central to a program or system, especially
	one neither generally published nor available to hackers at
	large (compare {black art}); one that could only have been
	composed by a true {wizard}.  Compiler optimisation techniques
	and many aspects of {OS} design used to be {deep magic}; many
	techniques in cryptography, signal processing, graphics, and
	AI still are.  Compare {heavy wizardry}.  Especially found in
	comments of the form "Deep magic begins here.".  Compare
	{voodoo programming}.

deep space

	1. The notional location of any program that has gone {off the
	trolley}.  Especially used of programs that just sit there
	silently grinding long after either failure or some output is
	expected.  "Uh oh.  I should have had a prompt ten seconds
	ago.  The program's in deep space somewhere." Compare {buzz},
	{catatonic}, {hyperspace}.

	2. The metaphorical location of a human so dazed and/or
	confused or caught up in some esoteric form of {bogosity} that
	he or she no longer responds coherently to normal
	communication.

	[{Jargon File}]

de facto standard

	A widespread consensus on a particular product or {protocol}
	which has not been ratified by any official {standards} body,
	such as {ISO}, but which nevertheless has a large market
	share.

	The archetypal example of a de facto standard is the {IBM PC}
	which, despite is many glaring technical deficiencies, has
	gained such a large share of the {personal computer} market
	that it is now popular simply because it is popular and
	therefore enjoys fierce competition in pricing and software
	development.

	(1994-10-27)

default

	<data> A value or thing to use when none is specified by the
	user.  Defaults are important for making systems behave in a
	predictable way without the user having to give lots of
	"obvious" details.

	For example: the default {TCP/IP port} for the {HTTP}
	{protocol} is 80, the {Unix} {ls} command does not list files
	whose names begin with ".", the default {number base} in most
	contexts is 10 (decimal), the default {filename extension} for
	{Microsoft Word} documents is ".doc".

	(2009-02-20)

default.htm

	{index.html}

default route

	<networking> A {routing table} entry which is used to direct
	{packets} addressed to {hosts} or {networks} not explicitly
	listed in the routing table.

	(1996-05-13)

defect

	{bug}

defect analysis

	<programming> Using defects as data for continuous quality
	improvement.  Defect analysis generally seeks to classify
	defects into categories and identify possible causes in order
	to direct process improvement efforts.

	(1996-05-13)

defect density

	<programming> The ratio of the number of {defects} to program
	length.

	(1996-05-13)

Defense Advanced Research Project Agency

	{Defense Advanced Research Projects Agency}

Defense Advanced Research Projects Agency

	<body> (DARPA, ARPA) An agency of the US Department of Defense
	responsible for the development of new technology for use by
	the military.  DARPA was established in 1958 in response to
	the Soviet launching of Sputnik, with the mission of keeping
	the US's military technology ahead of its enemies.  DARPA is
	independent from other more conventional military R&D and
	reports directly to senior DoD management.  DARPA has around
	240 personnel (about 140 technical) directly managing a $2
	billion budget.  These figures are "on average" since DARPA
	focusses on short (two to four-year) projects run by small,
	purpose-built teams.

	ARPA was its original name, then it was renamed DARPA (for
	Defense) in 1972, then back to ARPA [When?], and then,
	incredibly, back to DARPA again on 1996-03-11!

	ARPA was responsible for funding development of {ARPANET}
	(which grew into the {Internet}), as well as the {Berkeley}
	version of {Unix} and {TCP/IP}.

	{(http://darpa.mil/)}.

	{History (/pub/misc/darpa)}.

	(1999-07-17)

Defense Calculator

	{IBM 701}

Defense Communications Agency

	(DCA) Now called Defense Information Systems Agency (DISA).

Defense Data Network

	(DDN) A global communications network serving the US
	Department of Defense.  Composed of {MILNET}, other portions
	of the {Internet}, and classified networks which are not part
	of the {Internet}.  The DDN is used to connect military
	installations and is managed by the {Defense Information
	Systems Agency}.

	(1994-12-01)

Defense Data Network Network Information Center

	(DDN NIC or just "The NIC") The {DDN} {NIC}'s primary
	responsibility is the assignment of {Internet address}es and
	{Autonomous System numbers}, the administration of the root
	domain, and providing information and support services to the
	{DDN}.  It is also a primary repository for {RFCs}.

	See also {Internet Registry}.

	(1994-12-07)

Defense Information Systems Agency

	(DISA) Formerly called the Defense Communications Agency
	(DCA), this is the government agency responsible for managing
	the {Defense Data Network} (DDN) portion of the {Internet},
	including the {MILNET}.  Currently, DISA administers the
	{DDN}, and supports the user assistance services of the DDN
	{NIC}.

	{(http://disa.mil/)}.

	(1994-12-01)

Defense Trade Regulations

	<legal> The U.S. law governening munitions export and defense
	technology (F-16s, TOW missiles and {cryptology}).  According
	to the U.S. (and Canada) cryptography is a munition and people
	who export it can be charged as though they were exporting
	bombs or state secrets.  People have been.

	See also {EFF}.

	(1995-06-19)

deferral

	Waiting for quiet on the {Ethernet}.

definite clause

	<logic> A {Horn clause} that has exactly one {positive
	literal}.

	(2000-01-24)

definite sentence

	<logic> A collection of {definite clauses}.

	(2003-12-04)

definitional constraint programming

	<language> (DCP) A declarative, programming paradigm which
	integrates {concurrent constraint programming}, {constraint
	logic programming} and {functional programming}.  In this
	setting a concurrent constraint language becomes a
	coordination system that organises the concurrent interaction
	of parallel functional computations.  The language is also a
	generalisation of parallel {functional programming} languages,
	such as {Id}, where {constraints} and constraint abstractions
	are reused to define new constraints, as the means of
	programming logical variables for parallel coordination.

	{Goffin} is a DCP language.

	(1995-03-28)

deflate

	<file format, compression> A {compression} {standard} derived
	from {LZ77}; it is reportedly used in {zip}, {gzip}, {PKZIP},
	and {png}, among others.

	Unlike {LZW}, deflate compression does not use patented
	compression {algorithms}.

	Used as a verb to mean to compress (not decompress!) a file
	which has been compressed using deflate compression.  The
	opposite, {inflate}, means to decompress data which has been
	deflated.

	Deflate is described in {RFC 1951}.

	(1997-06-21)

deflate compression

	{deflate}

deflate/inflate compression

	{deflate}

deforestation

	<programming> A technique invented by {Phil Wadler} for
	eliminating intermediate data structures built and passed
	between composed functions in {function languages}.

	(1997-06-21)

defrag

	{defragment}

defragment

	<tool, file system> /dee-frag(-ment)'/ (Or "defrag") To
	coalesce files and free space on a {file system}; to reduce
	{fragmentation}.

	(2004-08-19)

defunct process

	{zombie process}

degree

	The degree (or valency) of a node in a graph is the number of
	edges joined to it.

degrees of freedom

	<robotics> The number of independent parameters required to
	specify the position and orientation of an object.  Often used
	to classify {robot} arms.  For example, an arm with six
	degrees of freedom could reach any position close enough and
	could orient it's end effector (grip or tool etc.) at any
	angle about the three perpendicular axes.

dehose

	/dee-hohz/ To clear a {hosed} condition.

	[{Jargon File}]

DEK

	{Data Encryption Key}

Delaunay triangulation

	<mathematics, graphics> (After B. Delaunay) For a {set} S of
	points in the {Euclidean plane}, the unique {triangulation}
	DT(S) of S such that no point in S is inside the circumcircle
	of any triangle in DT(S).  DT(S) is the dual of the {voronoi
	diagram} of S.

delayed control-transfer

	<architecture> A technique used on the {SPARC} processor to reduce
	the effect of {pipeline breaks} by executing the instruction after
	a branch instruction (the "delay instruction" in the "delay
	slot").  If there is no useful instruction which can be placed in
	the delay slot then the "annul bit" on the control transfer
	instruction can be set, preventing execution of the delay
	instruction (unless the control transfer is conditional and is
	taken).

	Annulled branches are indicated in SPARC assembler language by
	appending ",A" to the {operation code}.  For example,

	 LOOP: ...
	 CMP    %L0,10
	 BLE,A   LOOP
	 ADD     %L2, %L3, #L4

	If the delay instruction is also a control transfer instruction
	then it gets more complicated.  Both control transfer instructions
	are executed (but not the following instruction) and, assuming
	they are both taken, control is transferred briefly to the
	destination of the first and then immediately to the destination
	of the second.

	(2001-06-26)

delay instruction

	{delayed control-transfer}

delay slot

	{delayed control-transfer}

delete

	1. <operating system> (Or "erase") To make a file
	inaccessible.

	Usually this operation only deletes information from the
	tables the {file system} uses to locate named files; the
	file's contents still exist on {disk} and can sometimes be
	recovered by scanning the whole disk for strings which are
	known to have been in the file.  Files created subsequently on
	the same disk are quite likely to reuse the same blocks and
	thus overwrite the deleted file's data permanently.

	2. <character> The {control character} with {ASCII} code 127.
	Usually entering this character from the keyboard deletes the
	last character typed from the {input buffer}.  Sadly there is
	great confusion between {operating systems} and keyboard
	manufacturers as to whether this function should be assigned
	to the delete or {backspace} key/character.

	The choice of code 127 (binary 1111111) is not arbitrary but
	dates back to the use of {paper tape} for input.  The delete
	key rewound the tape by one character and punched out all
	seven holes, thus obliterating whatever character was there
	before.  The tape reading software ignored any delete
	characters in the input.

	(1996-12-01)

delimiter

	<character> A {character} or {string} used to separate, or
	mark the start and end of, items of data in, e.g., a
	{database}, {source code}, or {text file}.

	See also: {record}.

	(2001-03-16)

delint

	/dee-lint/ To modify code to remove problems detected when
	{lint}ing.  Confusingly, this process is also referred to as
	"linting" code.

	[{Jargon File}]

Delirium

	An embedding coordinate language for parallel programming,
	implemented on {Sequent Symmetry}, {Cray}, {BBN Butterfly}.

	["Parallel Programming with Coordination Structures", S. Lucco
	et al, 18th POPL, pp.197-208 (1991)].

Delivered Source Instruction

	<programming, unit> (DSI) One line of source code (LOC)
	developed by a project.

	DSI is the primary input to many tools for estimating software
	cost.  The term "delivered" is generally meant to exclude
	non-delivered support software such as test drivers.  However,
	if these are developed with the same care as delivered
	software, with their own reviews, test plans, documentation,
	etc., then they should be counted.  The "source instructions"
	include all program instructions created by project personnel
	and processed into {machine code} by some combination of
	preprocessors, compilers, and assemblers.  It excludes
	comments and unmodified utility software.  It includes {job
	control language}, format statements, and data declarations.

	(1996-05-29)

Dell Computer Corporation

	<company> One of the biggest US manufacturers of {IBM PC}
	compatibles.

	"From notebooks to networks", their slogan says.

	{(http://us.dell.com)}.

	(1996-05-29)

Delphi

	1. <company, communications> A US {Internet service provider}.

	[Addresses?]

	(1995-04-06)

	2. <language> {Borland}'s {Object Oriented Pascal} (OOPascal)
	{Rapid Application Development} package for {Microsoft
	Windows}.  Delphi combines visual, component-based design with
	an optimising {native code compiler} and scalable database
	access.

	(1996-05-27)

Delphi Technique

	<programming, tool> A group forecasting technique, generally
	used for future events such as technological developments,
	that uses estimates from experts and feedback summaries of
	these estimates for additional estimates by these experts
	until reasonable consensus occurs.  It has been used in
	various software cost-estimating activities, including
	estimation of factors influencing software costs.

	(1996-05-29)

Delta

	<language>

	1. An expression-based language developed by J.C. Cleaveland
	in 1978.

	2. A string-processing language with single-character commands
	from {Tandem Computers}.

	3. A language for system specification of simulation
	execution.

	["System Description and the DELTA Language",
	E. Holback-Hansen et al, DELTA Proj Rep 4, Norweg Comput Ctr,
	Feb 1977].

	4. A {COBOL} generating language produced by {Delta Software
	Entwicklung GmbH (http://delta-software.de/)}.

	(2000-08-02)

delta

	1. A quantitative change, especially a small or incremental
	one (this use is general in physics and engineering).  "I just
	doubled the speed of my program!"  "What was the delta on
	program size?"  "About 30 percent."  (He doubled the speed of
	his program, but increased its size by only 30 percent.)

	2. [Unix] A {diff}, especially a {diff} stored under the set
	of version-control tools called SCCS (Source Code Control
	System) or RCS (Revision Control System).  See {change
	management}.

	3. A small quantity, but not as small as {epsilon}.  The
	jargon usage of {delta} and {epsilon} stems from the
	traditional use of these letters in mathematics for very small
	numerical quantities, particularly in "epsilon-delta" proofs
	in limit theory (as in the differential calculus).  The term
	{delta} is often used, once {epsilon} has been mentioned, to
	mean a quantity that is slightly bigger than {epsilon} but
	still very small.  "The cost isn't epsilon, but it's delta"
	means that the cost isn't totally negligible, but it is
	nevertheless very small.  Common constructions include "within
	delta of ---", "within epsilon of ---": that is, "close to"
	and "even closer to".

	[{Jargon File}]

	(2000-08-02)

Delta-4

	Definition and Design of an open Dependable Distributed system
	architecture.  An Esprit project investigating the achievement
	of dependability in open distributed systems, including
	real-time systems.

delta conversion

	{delta reduction}

Delta-Prolog

	A {Prolog} extension with {AND-parallelism}, {don't-know
	nondeterminism} and interprocess communication using
	{synchronous event goals} and {distributed backtracking}.

	["Delta-Prolog: A Distributed Logic Programming Language",
	L.M. Pereira et al, Intl Conf 5th Gen Comp Sys, Nov 1984].

delta reduction

	<theory> In {lambda-calculus} extended with constants, delta
	reduction replaces a function applied to the required number
	of arguments (a {redex}) by a result.  E.g. plus 2 3 --> 5.
	In contrast with {beta reduction} (the only kind of reduction
	in the {pure lambda-calculus}) the result is not formed simply
	by textual substitution of arguments into the body of a
	function.  Instead, a delta redex is matched against the left
	hand side of all delta rules and is replaced by the right hand
	side of the (first) matching rule.  There is notionally one
	delta rule for each possible combination of function and
	arguments.  Where this implies an infinite number of rules,
	the result is usually defined by reference to some external
	system such as mathematical addition or the hardware
	operations of some computer.  For other types, all rules can
	be given explicitly, for example {Boolean} negation:

		not True  = False
		not False = True

	(1997-02-20)

DELTASE

	A distributed processing environment concerned with
	fault-tolerant and process-control applications from the
	Esprit Delta-4 project.

demand driven

	A demand driven architecture/language performs computations
	when the result is required by some other computation.
	E.g. {Imperial College}'s {ALICE} running {HOPE}.

	See also {data flow}, {lazy evaluation}, {reduction}.

	(1995-02-16)

demand paged

	{demand paging}

demand paging

	<memory management> A kind of {virtual memory} where a {page}
	of memory will be {paged in} if an attempt is made to access
	it and it is not already present in main memory.  This
	normally involves a {memory management unit} which looks up
	the {virtual address} in a {page map} to see if it is paged
	in.  If it is not then the {operating system} will page it in,
	update the page map and restart the failed access.  This
	implies that the processor must be able to recover from and
	restart a failed memory access or must be suspended while some
	other mechanism is used to perform the paging.

	Paging in a page may first require some other page to be moved
	from main memory to disk ("paged out") to make room.  If this
	page has not been modified since it was paged in, it can
	simply be reused without writing it back to disk.  This is
	determined from the "modified" or "dirty" flag bit in the
	{page map}.  A {replacement algorithm} or policy is used to
	select the page to be paged out, often this is the {least
	recently used} (LRU) {algorithm}.

	{Prepaging} is generally more efficient than demand paging.

	(1998-04-24)

DeMarco

	Tom DeMarco proposed a form of {structured analysis}.

	(1995-02-16)

DeMarco/Yourdon

	{Yourdon/Demarco}

demented

	Yet another term of disgust used to describe a program.  The
	connotation in this case is that the program works as
	designed, but the design is bad.  Said, for example, of a
	program that generates large numbers of meaningless error
	messages, implying that it is on the brink of imminent
	collapse.

	[{Jargon File}]

	(1994-12-07)

Demeter

	A {CASE} tool developed mainly by Karl Lieberherr.

	["Contributions to Teaching Object-Oriented Design and
	Programming" Aug/Sep 1988 issue of JOOP, OOPSLA '89
	Proceedings].

	(1994-12-07)

demigod

	<person> A hacker with years of experience, a national
	reputation, and a major role in the development of at least
	one design, tool, or game used by or known to more than half
	of the hacker community.  To qualify as a genuine demigod, the
	person must recognisably identify with the hacker community
	and have helped shape it.  Major demigods include {Ken
	Thompson} and {Dennis Ritchie} (co-inventors of {Unix} and
	{C}) and {Richard Stallman} (inventor of {Emacs}).  In their
	hearts of hearts, most hackers dream of someday becoming
	demigods themselves, and more than one major software project
	has been driven to completion by the author's veiled hopes of
	apotheosis.

	See also {net.god}, {true-hacker}.

	[{Jargon File}]

	(1994-10-27)

De-Militarised Zone

	<networking> (DMZ) (From the military term for an area between
	two opponents where fighting is prevented) DMZ {Ethernets}
	connect networks and computers controlled by different bodies.
	They may be external or internal.  External DMZ Ethernets link
	regional networks with {routers} to internal networks.
	Internal DMZ Ethernets link local nodes with routers to the
	regional networks.

	Compare {red zone}.

	(1995-02-23)

demo

	/de'moh/ 1. A demonstration of a product, often of an early
	version or prototype.  A demo is a far more effective way of
	inducing bugs to manifest themselves than any number of {test}
	runs, especially when important people are watching.

	2. {demo version}.

	3. A program written to demonstrate the programmer's coding
	ability and/or the power of the computer it runs on.  Such
	demos are nearly always written in {machine code} and
	traditionally feature scrolling text about the author, his
	friends, his code and anything else he fancies and animated
	graphics.

	[{Jargon File}]

	(1994-11-04)

demodulate

	{demodulation}

demodulation

	<communications> To recover the {signal} from the {carrier}.
	For example, in a radio broadcast using {amplitude modulation}
	the audio signal is transmitted as the mean amplitude of a
	radio-frequency carrier so demodulation requires a circuit
	which measures the amplitude and filters out the carrier.
	There are many other kinds of {modulation} and corresponding
	demodulation.

	(1998-07-29)

demo mode

	({Sun}) 1. The state of being {heads down} in order to finish
	code in time for a {demo}, usually due yesterday.

	2. <games> (Or "attract mode") A mode in which video games sit
	by themselves running through a portion of the game.  Some
	serious {apps} have a demo mode they use as a screen saver, or
	may go through a demo mode on startup (for example, the
	{Microsoft Windows} opening screen - which lets you impress
	your neighbors without actually having to put up with
	{Microsloth Windows}).

	[{Jargon File}]

	(1995-02-22)

demon

	1. <operating system> (Often used equivalently to {daemon},
	especially in the {Unix} world, where the latter spelling and
	pronunciation is considered mildly archaic).  A program or
	part of a program which is not invoked explicitly, but that
	lies dormant waiting for some condition(s) to occur.

	At {MIT} they use "demon" for part of a program and "daemon"
	for an {operating system} process.

	Demons (parts of programs) are particularly common in {AI}
	programs.  For example, a {knowledge}-manipulation program
	might implement {inference rules} as demons.  Whenever a new
	piece of knowledge was added, various demons would activate
	(which demons depends on the particular piece of data) and
	would create additional pieces of knowledge by applying their
	respective inference rules to the original piece.  These new
	pieces could in turn activate more demons as the inferences
	filtered down through chains of logic.  Meanwhile, the main
	program could continue with whatever its primary task was.
	This is similar to the {triggers} used in {relational
	databases}.

	The use of this term may derive from "Maxwell's Demons" -
	minute beings which can reverse the normal flow of heat from a
	hot body to a cold body by only allowing fast moving molecules
	to go from the cold body to the hot one and slow molecules
	from hot to cold.  The solution to this apparent thermodynamic
	paradox is that the demons would require an external supply of
	energy to do their work and it is only in the absence of such
	a supply that heat must necessarily flow from hot to cold.

	Walt Bunch believes the term comes from the demons in Oliver
	Selfridge's paper "Pandemonium", MIT 1958, which was named
	after the capital of Hell in Milton's "Paradise Lost".
	Selfridge likened neural cells firing in response to input
	patterns to the chaos of millions of demons shrieking in
	Pandemonium.

	2. <company> {Demon Internet} Ltd.

	3. A {program generator} for {differential equation} problems.

	[N.W. Bennett, Australian AEC Research Establishment,
	AAEC/E142, Aug 1965].

	[{Jargon File}]

	(1998-09-04)

Demon Internet Ltd.

	<company> One of the first company to provide public
	{Internet} access in the UK.

	The staff of Demon Systems Ltd., an established software
	house, started Demon Internet on 1992-06-01 and it was the
	first system in the United Kingdom to offer low cost full
	{Internet} access.  It was started with the support of about
	100 founder members who discussed the idea on {Compulink
	Information Exchange}, and were brave enough to pay a year's
	subscription in advance.  They aimed to have 200 members in
	the first year to cover costs, ignoring any time spent.  After
	about two weeks they realised they needed nearer 400.  By
	November 1993 they had over 2000 subscribers and by August
	1994 they had about 11000 with 20% per month growth.  All
	revenues have been reinvested in resources and expansion of
	service.

	Demon link to {Sprintlink} in the United States making them
	totally independent.  They peer with {EUNet} and {PIPEX} to
	ensure good connectivity in Great Britain as well as having
	links to the {JANET}/{JIPS} UK academic network.  A direct
	line into the {Department of Computing, Imperial College,
	London (http://sunsite.doc.ic.ac.uk)} from their Central
	London {Point of Presence} (PoP) (styx.demon.co.uk) gives
	access to the biggest {FTP} and {Archie} site in Europe.

	Demon provide local call access to a large proportion of the
	UK.  The central London {PoP} provides {leased line}
	connections at a cheaper rate for those customers in the
	central 0171 area.  Further lines and {PoPs} are being added
	continuously.

	Subscribers get allocated an {Internet Address} and can choose
	a {hostname} within the demon.co.uk {domain}.  They can have
	any number of e-mail address at that host.

	In October 1994 Demon confirmed a large contract with the
	major telecommunications provider {Energis}.  They will supply
	guaranteed bandwidth to Demon's 10Mb/s {backbone} from several
	cities and towns.  Several {PoPs} will be phased out and
	replaced with others during 1995.

	E-mail: <internet@demon.net>.

	{(ftp://ftp.demon.co.uk/)}.

	{(http://demon.co.uk/)}.

	{Usenet} newsgroup: {news:demon.announce}.

	Telephone: +44 (181) 349 0063.

	Address: Demon Internet Ltd., 42 Hendon Lane, Finchley, London
	N3 1TT, UK.

	(1994-11-08)

DeMorgan's theorem

	<logic> A logical {theorem} which states that the {complement}
	of a {conjunction} is the {disjunction} of the complements or
	vice versa.  In symbols:

		not (x and y) = (not x) or (not y)
		not (x or y)  = (not x) and (not y)

	E.g. if it is not the case that I am tall and thin then I am
	either short or fat (or both).  The theorem can be extended to
	combinations of more than two terms in the obvious way.

	The same laws also apply to sets, replacing logical complement
	with set complement, conjunction ("and") with set
	intersection, and disjunction ("or") with set union.

	A ({C}) programmer might use this to re-write

		if (!foo && !bar) ...
	as
		if (!(foo || bar)) ...

	thus saving one operator application (though an {optimising
	compiler} should do the same, leaving the programmer free to
	use whichever form seemed clearest).

	(1995-12-14)

demo version

	1. An early, barely-functional version of a program which
	can be used for demonstration purposes as long as the operator
	uses *exactly* the right commands and skirts its numerous
	bugs, deficiencies, and unimplemented portions.

	2. A special version of a finished program (frequently with
	some features crippled) which is distributed at little or no
	cost to the user for enticement purposes.  See {crippleware}.

	(1994-11-04)

Denis Howe

	<person> Denis B. Howe (1960 -) Editor of the {Free On-line
	Dictionary of Computing}.

	(2008-03-26)

Dennis Ritchie

	<person> Dennis M. Ritchie, co-author of the {Unix} {operating
	system}, inventor of the {C} programming language and
	{demigod}.

	See also {K&R}, {Core War}, {If you want X, you know where to
	find it}.

	(2008-03-26)

denotational semantics

	<theory> A technique for describing the meaning of programs in
	terms of mathematical {functions} on programs and program
	components.  Programs are translated into functions about
	which properties can be proved using the standard mathematical
	theory of functions, and especially {domain theory}.

	Compare {axiomatic semantics}, {operational semantics},
	{standard semantics}.

	(1996-08-21)

Denotational Semantics Language

	<specification, language> (DSL) The {specification language}
	used by the {SIS} {compiler generator}.

	["SIS - Semantics Implementation System", P.D. Mosses, TR
	DAIMI MD-30, Aarhus U, Denmark].

	(1996-10-13)

Department of Defense

	<body> (DoD) The US military body responsible for sponsoring
	many software engineering standards.

	(1996-05-29)

Department of Defense Network

	<networking> (DDN) A military subset of the {Internet}, which
	includes {ARPAnet}.

	(1994-12-07)

depeditate

	/dee-ped'*-tayt/ [by (faulty) analogy with "decapitate"]
	Humorously, to cut off the feet of.  When one is using some
	computer-aided typesetting tools, careless placement of text
	blocks within a page or above a rule can result in chopped-off
	letter descenders.  Such letters are said to have been
	depeditated.

	[{Jargon File}]

dependability

	{software reliability}

dependable software

	{software reliability}

Deployment Descriptor

	<programming> (DD) A {J2EE} configuration file.

	(2005-01-26)

deprecated

	Said of a program or feature that is considered obsolescent
	and in the process of being phased out, usually in favour of a
	specified replacement.  Deprecated features can,
	unfortunately, linger on for many years.  This term appears
	with distressing frequency in standards documents when the
	committees writing the documents realise that large amounts of
	extant (and presumably happily working) code depend on the
	feature(s) that have passed out of favour.

	See also {dusty deck}.

	[{Jargon File}]

	(1995-04-19)

depth-first search

	<algorithm> A graph search {algorithm} which extends the
	current path as far as possible before {backtracking} to the
	last {choice point} and trying the next alternative path.
	Depth-first search may fail to find a solution if it enters a
	cycle in the graph.  This can be avoided if we never extend a
	path to a node which it already contains.

	Opposite of {breadth first search}.  See also {iterative
	deepening}.

	(1995-04-19)

deque

	{double-ended queue}

dequeue

	{queue}

DER

	{Distinguished Encoding Rules}

dereference

	<programming> To access the thing to which a pointer points,
	i.e. to follow the pointer.  E.g. in {C}, the declarations

		int i;
		int *p = &i;

	declare i as an integer and p as a pointer to integer.  p is
	initialised to point at i ("&i" is the address of i - the
	inverse of "*").  The expression *p dereferences p to yield i
	as an {lvalue}, i.e. something which can appear either on the
	left of an {assignment} or anywhere an integer expression is
	valid.  Thus

		*p = 17;

	would set i to 17.  *p++ is not the same as i++ however since
	it is parsed as *(p++), i.e. increment p (which would be an
	invalid thing to do if it was pointing to a single int, as in
	this example) then dereference p's old value.

	The {C} operator "->" also dereferences its left hand argument
	which is assumed to point to a {structure} or {union} of which
	the right hand argument is a {member}.

	At first sight the word "dereference" might be thought to mean
	"to cause to stop referring" but its meaning is well
	established in jargon.

	(1998-12-15)

de-rezz

	<jargon> /dee-rez'/ (Or "derez") "de-resolve" via the film
	"Tron".  1. To disappear or dissolve; the image that goes with
	it is of an object breaking up into raster lines and static
	and then dissolving.  Occasionally used of a person who seems
	to have suddenly "fuzzed out" mentally rather than physically.
	Usage: extremely silly, also rare.  This verb was actually
	invented as *fictional* hacker jargon, and adopted in a spirit
	of irony by real hackers years after the fact.

	2. The Macintosh resource decompiler.  On a Macintosh, many
	program structures (including the code itself) are managed in
	small segments of the program file known as "resources"; "Rez"
	and "DeRez" are a pair of utilities for compiling and
	decompiling resource files.  Thus, decompiling a resource is
	"derezzing".  Usage: very common.

	[{Jargon File}]

derived class

	{subclass}

derived type

	<programming> A {type} constructed from {primitive types} or
	other derived types using a {type constructor function}.  This
	term is usually applied to {procedural languages} such as {C}
	or {Ada}.  C's derived types are the {array}, {function},
	{pointer}, {structure}, and {union}.

	Compare {derived class}.

	(2001-09-14)

DES

	{Data Encryption Standard}

descender

	<text> A lowercase letter that extends below the base line,
	such as "g", "j", or "p".  Also used to denote the part of the
	letter extending below the base line.  Compare {ascender}.

	(1998-03-27)

descent function

	If a {recursive} function is of the form

		f x = ... f (d x) ...

	then d is known as the descent function.

Descriptive Intermediate Attributed Notation for Ada

	<language> (DIANA) A formerly {de facto standard}
	{intermediate language} for {Ada} programs, developed by Goos
	and Wulf at {CMU} in January 1981.  DIANA is an {attributed
	tree} representation, with an abstract interface defined in
	{Interface Description Language} (Nestor, Lamb and Wulf, CMU,
	1981; Snodgrass(?), 1989(?)).  DIANA resulted from a merger of
	{AIDA} and {TCOL.Ada}.  At the present (2001) it is no longer
	used by the major ADA compilers

	["DIANA - An Intermediate Language for Ada", G.T. Goos et al,
	LNCS 161, Springer 1983].

	(2001-09-15)

Descriptive Top-Level Specification

	(DTLS) A language used in {POSIX} and {TRUSIX}.

	(1994-11-11)

descriptor

	<operating system> An integer, string or other small data
	value which refers to one of several objects allocated to a
	program by the {operating system}, usually the {kernel}.  A
	common example is a {Unix} {file descriptor} which is a small
	integer that identifies an I/O channel.  Another example is a
	reference to an area of memory (e.g. {shared memory}).

	Compare {capability}.

	(1998-02-06)

design

	<process> The approach that engineering (and some other)
	disciplines use to specify how to create or do something.  A
	successful design must satisfies a (perhaps informal)
	{functional specification} (do what it was designed to do);
	conforms to the limitations of the target medium (it is
	possible to implement); meets implicit or explicit
	requirements on performance and resource usage (it is
	efficient enough).

	A design may also have to satisfy restrictions on the design
	process itself, such as its length or cost, or the tools
	available for doing the design.

	In the {software life-cycle}, design follows {requirements
	analysis} and is followed by implementation.

	["Object-Oriented Analysis and Design with Applications", 2nd
	ed., Grady Booch].

	(1996-12-08)

Design In Real Time

	<programming> (Dirt) A user {interface builder} for the {X
	Window System} by R. Hesketh.

	(1994-12-07)

design pattern

	<programming> A description of an {object-oriented design}
	technique which names, abstracts and identifies aspects of a
	design structure that are useful for creating an
	object-oriented design.  The design pattern identifies
	{classes} and {instances}, their roles, collaborations and
	responsibilities.  Each design pattern focuses on a particular
	object-oriented design problem or issue.  It describes when it
	applies, whether it can be applied in the presence of other
	design constraints, and the consequences and trade-offs of its
	use.

	{Home
	(http://st-www.cs.uiuc.edu/users/patterns/patterns.html)}.

	["Design Patterns: Elements of Reusable Object-Oriented
	Software", Erich Gamma, Richard Helm, Ralph Johnson, and John
	Vlissides].

	(1997-07-21)

design recovery

	<process> A subtask of {reverse engineering} in which domain
	knowledge, external information, and deduction of fuzzy
	reasoning are added to the observations of the subject system
	to identify meaningful higher level abstractions beyond those
	obtained directly by examining the system itself.

	In other words, design recovery aims to work out what a system
	or component was designed to do rather than just examining its
	subcomponents and their interrelationships.

	(1996-12-08)

Design System language

	J. Gaffney, Evans & Sutherland 1976.  Interpretive FORTH-like
	language for 3d graphics databases.  Earliest forerunner of
	both Interpress and PostScript.  Mentioned in PostScript
	Language Reference Manual, Adobe Systems, A-W 1985.

desk check

	<programming> To {grovel} over hardcopy of {source code},
	mentally simulating the {control flow}; a method of catching
	bugs.  No longer common practice in this age of on-screen
	editing, fast compiles, and sophisticated debuggers - though
	some maintain stoutly that it ought to be.

	Compare {dry run}, {eyeball search}, {vdiff}, {vgrep}.

	[{Jargon File}]

	(1996-05-13)

desktop

	1. <operating system> In a {WIMP} {graphical user interface},
	the visual representation of a real desktop (the top surface
	of a piece of furniture) with documents, folders and a rubbish
	bin arranged on it.  The user manipulates files on the
	computer by using a {mouse} to {click} and {drag} their
	representations ({icons}) on the desktop.

	The WIMP interface and desktop metaphor was invented at {Xerox
	PARC} and popularised by the {Apple Macintosh}.

	2. <computer> {desktop computer}.

	(2007-09-12)

desktop database

	{Macintosh file system}

Desktop Management Interface

	<standard, operating system> (DMI) A {specification} from the
	{Desktop Management Task Force} (DMTF) that establishes a
	standard {framework} for managing networked computers.  DMI
	covers {hardware} and {software}, {desktop} systems and
	{servers}, and defines a model for filtering events and
	describing {interfaces}.

	DMI provides a common path for technical support, IT managers,
	and individual users to access information about all aspects
	of a computer - including {processor} type, installation date,
	attached {printers} and other {peripherals}, power sources,
	and maintenance history.  It provides a common format for
	describing products to aid vendors, systems integrators, and
	end users in enterprise desktop management.

	DMI is not tied to any specific hardware, operating system, or
	management protocols.  It is easy for vendors to adopt,
	mappable to existing management protocols such as {Simple
	Network Management Protocol} (SNMP), and can be used on
	non-network computers.

	DMI's four components are:

	Management Information Format (MIF) - a text file containing
	information about the hardware and software on a computer.
	Manufacturers can create their own MIFs specific to a
	component.

	Service layer - an OS add-on that connects the management
	interface and the component interface and allows management
	and component software to access MIF files.  The service layer
	also includes a common interface called the local agent, which
	is used to manage individual components.

	Component interface (CI) - an {application program interface}
	(API) that sends status information to the appropriate MIF
	file via the service layer.  Commands include Get, Set, and
	Event.

	Management interface (MI) - the management software's
	interface to the service layer.  Commands are Get, Set, and
	List.

	CI, MI, and service layer drivers are available on the
	Internet.  {Intel}'s {LANDesk Client Manager} (LDCM) is based
	on DMI.

	Version: 2.0s (as of 2000-01-19).

	{(http://dmtf.org/spec/dmis.html)}.

	{Sun overview
	(http://sun.com/solstice/products/ent.agents/presentations/sld014.html)}.

	(2000-01-19)

Desktop Management Task Force

	<body> (DMTF) The industry consortium that develops, supports,
	and maintains standards for systems management of {PC} systems
	and products, to reduce total cost of ownership.  These
	include the {Desktop Management Interface} (DMI), the
	most-widely used management standard today.

	The DMTF is participating in an industry effort to create a
	standard for management over the {Internet}.  They are
	defining an {object-oriented} {Common Information Model}
	(CIM).

	{(http://dmtf.org/)}.

	(2000-01-19)

desktop manager

	A {user interface} to system services, usually {icon} and
	{menu} based like the {Macintosh} {Finder}, enabling the user
	to run {application programs} and use a {file system}
	without directly using the command language of the {operating
	system}.

	(1994-12-07)

desktop publisher

	{desktop publishing}

desktop publishing

	<text, application> (DTP) Using computers to lay out text and
	graphics for printing in magazines, newsletters, brochures,
	etc.  A good DTP system provides precise control over
	templates, styles, fonts, sizes, colour, paragraph formatting,
	images and fitting text into irregular shapes.

	Example programs include {FrameMaker}, {PageMaker}, {InDesign}
	and {GeoPublish}.

	{(http://cs.purdue.edu/homes/gwp/dtp/dtp.html)}.

	{Usenet} newsgroup: {news:comp.text.desktop}.

	(2005-03-14)

DESQview

	A system from {Quarterdeck Office Systems} implementing
	{multitasking} under {MS-DOS}.

destructor

	<programming> A {function} provided by a {class} in {C++} and
	some other {object-oriented languages} to delete an object,
	the inverse of a {constructor}.

	(1998-04-28)

DESY

	Deutsches Electronen Synchrotron Laboratory, Hamburg, Germany.

DETAB

	DEcision TABle.

	A {decision table} {COBOL} preprocessor written by A. Chapman
	in 1964.

	Versions: DETAB 65, DETAB X.

	[Sammet 1969, p. 315].

	(1994-12-07)

deterministic

	1. <probability> Describes a system whose time evolution can
	be predicted exactly.

	Contrast {probabilistic}.

	2. <algorithm> Describes an {algorithm} in which the correct
	next step depends only on the current state.  This contrasts
	with an algorithm involving {backtracking} where at each point
	there may be several possible actions and no way to chose
	between them except by trying each one and backtracking if it
	fails.

	(1995-09-22)

deterministic automaton

	<theory> A {finite-state automaton} in which the overall
	course of the computation is completely determined by the
	program, the starting state, and the initial inputs.  The
	class of problems solvable by such automata is the class P
	(see {polynomial-time algorithm}).

	(1996-05-03)

DETOL

	<language> {Directly Executable Test Oriented
	Language}.

	(1995-09-29)

developer

	{programmer}

development

	The process of analysis, design, coding and testing software.

Developmental Test and Evaluation

	<programming> (DT&E) Activity which focuses on the
	technological and engineering aspects of a system or piece of
	equipment.

	(1996-05-13)

development environment

	<programming, tool> An integrated suite of {tools} to aid the
	{development} of {software} in a particular {language} or for
	a particular {application}.  Usually, this consists of a
	{compiler} and {editor} and may also include one or more of a
	{debugger}, {profiler}, and {source code} manager.

	See also: {IDE}.

	(1999-08-01)

device

	{peripheral}

Device Control

	<character> One of the four {ASCII} characters, {DC1}, {DC2},
	{DC3}, and {DC4}, once used to remotely control equipment
	(e.g. a {paper tape} reader) via electromagnetic switches.
	The characters were usually paired, DC1/DC3 turning one device
	on/off, and DC2/DC4 another.

	[Other examples of equipment?]

	(1996-08-20)

Device Control 1

	{Control-Q}

Device Control 2

	<character> (DC2) The {mnemonic} for {ASCII} character 18, one
	of the four {Device Control} characters.

	(1996-06-28)

Device Control 3

	{Control-S}

Device Control 4

	<character> (DC4) The {mnemonic} for {ASCII} character 20, one
	of the four {Device Control} characters.

	(1996-06-28)

device driver

	<operating system> {Software} to control a hardware component
	or {peripheral} device of a computer such as a {magnetic
	disk}, {magnetic tape} or printer.

	A device driver is responsible for accessing the hardware
	{registers} of the device and often includes an {interrupt
	handler} to service interrupts generated by the device.

	Device drivers often form part of the lowest level of the
	{operating system} {kernel}, with which they are linked when
	the kernel is built.  Some more recent systems have loadable
	device drivers which can be installed from files after the
	{operating system} is running.

	(1994-10-27)

device independent bitmap

	<graphics, file format> (DIB) An {image} format in which the
	sequence and depth of {pixels} in the file is not specifically
	related to their layout in any particular device.  This allows
	any device dependent bitmap (DDB) image to be converted to or
	DIB format without loss of information, and this can then
	later be converted to other DDB formats for, e.g., printing or
	display.  Rather than requiring converters from each DDB
	format to all other formats, only converters to and from DIB
	are needed.

	DIB images are normally transferred in {metafiles}, {bmp}
	files, and the {clipboard}.

	Transferring colour bitmaps from one device to another was not
	possible in versions of {Microsoft Windows} earlier than 3.0.
	{Application programs} can build DIB images without any
	interaction with Windows.  If Windows lacks a drawing
	primitive, the application can simulate it directly into the
	DIB instead of using the existing {graphics device interface}
	(GDI) primitives.  Unfortunately, under Windows versions 3.0
	and 3.1, {GDI} cannot perform output operations directly to a
	DIB.

	Conversion between DIB and DDB is performed by the {device
	driver}.  Where the driver does not have this facility, the
	conversion is performed by GDI but only in monochrome.  DIBs
	are slower to use than device dependent bitmaps due to the
	conversions required.

	(1996-09-20)

Device Manager

	<operating system> The {Microsoft Windows} {control panel}
	{applet} used to enable, disable and configure the hardware on
	which Windows is running.  You can launch Device Manager via
	the Control Panel/System or directly with:

	 rundll32.exe devmgr.dll DeviceManager_Execute

	(2008-04-16)

Devil Book

	<publication> "The Design and Implementation of the {4.3BSD}
	Unix Operating System", by Samuel J. Leffler, Marshall Kirk
	McKusick, Michael J. Karels, and John S. Quarterman
	(Addison-Wesley Publishers, 1989, ISBN 0-201-06196-1).

	The standard reference book on the internals of {BSD} {Unix}.
	So called because the cover has a picture depicting a little
	devil (a visual play on {daemon}) in sneakers, holding a
	pitchfork (referring to one of the characteristic features of
	Unix, the "{fork}(2)" {system call}).

	[{Jargon File}]

	(1996-12-03)

/dev/null

	/dev-nuhl/ [The Unix null device, used as a {data sink}] A
	notional "black hole" in any information space being
	discussed, used, or referred to.  A controversial posting, for
	example, might end "Kudos to rasputin@kremlin.org, flames to
	/dev/null".  See {bit bucket}.

	[{Jargon File}]

devo

	/dee'voh/ (In-house jargon at {Symbolics}) A person in a
	development group.  See also {doco} and {mango}.

	(1994-11-04)

DEX

	A cross between {Modula-2} and {C} by W. van Oortmerssen.

	{Amiga version 1.2
	(ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f7/ff743/TurboDEX.lzh)}.

DFA

	Deterministic Finite-state Automaton.  See {Finite State
	Machine}.

DFC

	A {dataflow} language.

	["Data Flow Language DFC: Design and Implementation",
	S. Toshio et al, Systems and Computers in Japan, 20(6):1- 10
	(Jun 1989)].

DFD

	{Data Flow Diagram}

DFS

	1. <algorithm> {Depth-First Search}.

	2. <file system> {Distributed File System}.

DFT

	{discrete Fourier transform}

DGL

	1. Data Generation Language.  A tool for generating test data
	for hardware or software systems.

	2. Distributed {GL}.

DG/L

	1. Descriptive Geometry Language.  Early CAD/CAE language,
	used light pen.  "Interactive Graphic Consoles - Environment
	and Software", R.L.  Beckermeyer, Proc FJCC 37 (1970).

	2. Data General ca 1973-1974.  Derivative of ALGOL 60,
	developed from DG's ALGOL-5, used as the systems language
	under {AOS} and {RDOS} for the DG Eclipse family of computers.
	Replaced by PL/I in the early 80's.  Data General manual
	093-000229-01.

DHCP

	{Dynamic Host Configuration Protocol}

Dhrystone

	<benchmark> A short {synthetic benchmark} program by Reinhold
	Weicker <weicker.muc@sni.de>, <weicker.muc@sni-usa.com>,
	intended to be representative of system (integer) programming.
	It is available in {ADA}, {Pascal} and {C}.

	The current version is Dhrystone 2.1.  The author says,
	"Relying on MIPS V1.1 (the result of V1.1) numbers can be
	hazardous to your professional health."

	Due to its small size, the memory system outside the {cache}
	is not tested.  Compilers can too easily optimise for
	Dhrystone.  String operations are somewhat over-represented.

	{Sources (ftp://ftp.nosc.mil/pub/aburto/)}.

	{Results
	(http://performance.netlib.org/performance/html/dhrystone.data.col0.html)}.

	(2002-03-26)

DHSD

	{Duplex High Speed Data}

DHTML

	{Dynamic HTML}

Dialled Number Identification Service

	<communications> (DNIS) A service that tells the recipient of
	a telephone call the telephone number dialled by the person
	making the call.  It is used by call centres hosting multiple
	numbers, voicemail systems and ISPs offering shared dial-in
	services.

	Compare {ANI}, {Caller ID}.

	(2005-02-09)

DIALOG

	1. A commercial bibliographic database and retrieval service
	from DIALOG Information Services.

	2. Interactive mathematics using a {graphics tablet} by
	Illinois Inst Tech, 1966.

	["DIALOG: A Conversational Programming System with a Graphical
	Orientation", S.H. Cameron et al, CACM 10:349-357 (1967).
	Sammet 1969, p.255-258].

dialup

	A temporary, as opposed to dedicated, connection between
	machines established over a telephone line using {modems}.

DIAMAG

	An interactive extension of {ALGOL}.

	[Sammet 1969, p.195].

diameter

	The diameter of a {graph} is the maximum value of the minimum
	distance between any two nodes.

Diamond

	One of five pedagogical languages based on Markov algorithms,
	used in "Nonpareil, a Machine Level Machine Independent
	Language for the Study of Semantics", B. Higman, ULICS Intl
	Report No ICSI 170, U London (1968).  (cf. Brilliant,
	Nonpareil, Pearl[3], Ruby[2]).

DIANA

	{Descriptive Intermediate Attributed Notation for Ada}

DIB

	{device independent bitmap}

DIBOL

	Digital Interactive Business Oriented Language.

	DEC, 1970.

	Fortran syntax with BCD arithmetic.

	Versions for PDP-8 and RT-11.

	ANSI X3.165-1988.

dickless workstation

	<abuse> Extremely pejorative hackerism for "{diskless
	workstation}".

	[{Jargon File}]

	(1995-03-28)

Dick Size War

	{penis war}

DICOM

	<medical, standard> (From Digital Imaging and COmmunications
	in Medicine) A {standard} developed by ACR-NEMA (American
	College of Radiology - National Electrical Manufacturer's
	Association) for communications between medical imaging
	devices.  It conforms to the {ISO reference model} for network
	communications and incorporates {object-oriented} design
	concepts.

	(1995-03-29)

dictionary

	1. {data dictionary}.

	2. {associative array}.

	3. {Free On-line Dictionary of Computing}.

Dictionary APL

	{Sharp APL}

dictionary flame

	[{Usenet}] An attempt to sidetrack a debate away from issues
	by insisting on meanings for key terms that presuppose a
	desired conclusion or smuggle in an implicit premise.  A
	common tactic of people who prefer argument over definitions
	to disputes about reality.  Compare {spelling flame}.

	[{Jargon File}]

Dictionary of Algorithms and Data Structures

	<algorithm> (DADS) A dictionary by Paul Black.

	{(http://www.aprendelo.com/rec/dictionary-algorithms-and-data-structures.html)}.

	(2001-03-26)

Dictionary of Computing

	{Free On-line Dictionary of Computing}

DID

	{Direct Inward Dialing}

diddle

	<jargon> (US) To work in a casual manner, or the result of such
	work.  (In the UK "to diddle someone" means to cheat them).

	"I diddled a copy of {ADVENT} so it didn't double-space all the
	time."  "Let's diddle this piece of code and see if the problem
	goes away."

	Similar to {twiddle}, less purposeful than {tweak}.

	[{Jargon File}]

	(2013-08-18)

Didot point

	<unit, text> A variant of the {point}, equal to 0.3759 mm, or
	1/72 of a French Royal inch (27.07 mm), or about 1/68 inch.
	Didot points are used in Europe.  This unit is named after the
	French printer François Ambroise Didot (1730 - 1804) who
	defined the "point-based" typographical measurement system.

	(2002-03-11)

die

	1. <jargon> {crash}.  Unlike {crash}, which is used primarily
	of hardware, this verb is used of both hardware and software.

	See also {go flatline}, {casters-up mode}.

	2. <electronics> Plural: dies.  An unpackaged {integrated
	circuit}.

	[{Jargon File}]

	(2002-12-09)

die horribly

	<jargon> The software equivalent of {crash and burn}, and the
	preferred emphatic form of {die}.  "The converter choked on an
	FF in its input and died horribly".

	[{Jargon File}]

	(1996-05-28)

diff

	/dif/ 1. A change listing, especially giving differences
	between (and additions to) different versions of a piece of
	source code or documentation (the term is often used in the
	plural "diffs").  "Send me your diffs for the Jargon File!"

	Compare {vdiff}.

	2. Specifically, such a listing produced by the diff {Unix}
	command, especially when used as input to the {patch} utility
	(which actually performs the modifications).  This is a common
	method of distributing patches and source updates.

	3. To compare (whether or not by use of automated tools on
	machine-readable files).

	See also {vdiff}, {mod}.

	[{Jargon File}]

	(1995-02-10)

Difference Engine

	<computer, history> {Charles Babbage}'s design for the first
	automatic mechanical calculator.  The Difference Engine was a
	special purpose device intended for the production of
	mathematical tables.  Babbage started work on the Difference
	Engine in 1823 with funding from the British Government.  Only
	one-seventh of the complete engine, about 2000 parts, was
	built in 1832 by Babbage's engineer, Joseph Clement.  This was
	demonstrated successfully by Babbage and still works
	perfectly.  The engine was never completed and most of the
	12,000 parts manufactured were later melted for scrap.

	It was left to Georg and Edvard Schuetz to construct the first
	working devices to the same design which were successful in
	limited applications.  The Difference Engine No. 2 was finally
	completed in 1991 at the Science Museum, London, UK and is on
	display there.

	The engine used gears to compute cumulative sums in a series
	of {registers}: r[i] := r[i] + r[i+1].  However, the addition
	had the {side effect} of zeroing r[i+1].  Babbage overcame
	this by simultaneously copying r[i+1] to a temporary register
	during the addition and then copying it back to r[i+1] at the
	end of each cycle (each turn of a handle).

	{Difference Engine at the Science Museum
	(http://nmsi.ac.uk/on-line/treasure/plan/2ndcomp.htm#babbage)}.

	(1997-09-29)

difference equation

	<mathematics> A {relation} between consecutive elements of a
	{sequence}.  The first difference is

		D u(n) = u(n+1) - u(n)

	where u(n) is the nth element of sequence u.  The second
	difference is

		D2 u(n) = D (D u(n))
			= (u(n+2) - u(n+1)) - (u(n+1) - u(n))
			= u(n+2) - 2u(n+1) + u(n)

	And so on.  A {recurrence relation} such as

		u(n+2) + a u(n+1) + b u(n) = 0

	can be converted to a difference equation (in this case, a
	second order linear difference equation):

		D2 u(n) + p D u(n) + q u(n) = 0

	and vice versa.  a, b, p, q are constants.

	(1995-02-10)

differential backup

	<operating system> A kind of {backup} that copies all {files}
	that have changed since the last {full backup}.  Each
	differential backup will include all files in previous
	differential backups since the full backup so to restore a
	version of a file, you only need to search the full backup and
	the relevant differential backup.

	Some systems support differential backup by associating an
	"Archive" flag with each file and setting this flag whenever
	the file is modified to indicate that it should be included in
	the next backup.  A differential backup does not change this
	flag, whereas an {incremental backup} resets it.

	(2004-03-05)

differential driver

	<hardware> An electronic device (commonly an {integrated
	circuit}), containing two amplifiers, used to drive a
	{differential line}.

	(1995-03-14)

differential line

	<hardware> A kind of electrical connection using two wires,
	one of which carries the normal signal (V) and the other
	carries an inverted version the signal (-V).  A differential
	amplifier at the receiver subtracts the inverted signal from
	the normal signal to yield a signal proportional to V.  This
	subtraction is intended to cancel out any noise induced in the
	wires, on the assmption that the same level of noise will have
	been induced in both wires.  {Twisted pair} wiring is often
	used to try to ensure that this is the case.

	The two wires might be connected at the receiver to separate
	{analogue to digital converters} and the subtraction performed
	digitally.

	The {RS-422} {serial line} {standard} specifies differential
	drivers and receivers, whereas the earlier {RS-232} standard
	does not.

	Opposite: {single ended}.

	(1995-03-08)

Diffie-Hellman

	<cryptography> A {public-key encryption} {key exchange
	algorithm}.

	{FAQ (http://rsa.com/rsalabs/faq/html/3-6-1.html)}.

	(1999-03-15)

digerati

	<jargon> (Or "digirati".  By analogy with "literati" - people
	knowledgeable about literature) People knowledgeable about
	computers, "computer literate".

	[Newsweek, March 1995?].

	(1995-05-07)

digest

	A periodical collection of messages which have been posted to
	a {newsgroup} or {mailing list}.  A digest is prepared by a
	{moderator} who selects articles from the group or list,
	formats them and adds a contents list.  The digest is then
	either mailed to an alternative {mailing list} or posted to an
	alternative newsgroup.

	Some {news readers} and {electronic mail} programs provide
	commands to "undigestify" a digest, i.e. to split it up into
	individual articles which may then be read and saved or
	discarded separately.

Digex

	{Digital Express Group, Inc.}

DigiCash

	<company> A company, started in April 1990, which aims to
	develop and license products to support electronic payment
	methods including {chip card}, software only, and hybrid.

	{Ecash} is their trial form of software-only electronic money.

	{(http://digicash.com/home.html)}.

	(1995-04-10)

Digicom

	{(ftp://ftp.whnet.com/pub/wolfgang)},
	{(ftp://softmodem.whnet.com/pub/wolfgang)},
	{(ftp://ftp.netcom.com/pub/wolfgang)}.
	{(http://ftp.whnet.com/wolfgang/)}.

	[Description?]

digirati

	{digerati}

digit

	An employee of Digital Equipment Corporation.  See also
	{VAX}, {VMS}, {PDP-10}, {TOPS-10}, {DEChead}, {double
	DECkers}, {field circus}.

	[{Jargon File}]

Digital

	<company> Common abbreviation for {Digital Equipment
	Corporation}.

	(1995-12-18)

digital

	<data> A description of {data} which is stored or transmitted
	as a sequence of discrete symbols from a finite set, most
	commonly this means {binary} data represented using electronic
	or electromagnetic signals.

	The opposite is {analogue}.

	(1998-10-28)

digital audio

	<multimedia, file format> A sequence of discrete samples taken
	from a continuous sound ({audio}) waveform.  Tens of thousands
	of samples are taken each second.  Each sample represents the
	intensity of the sound pressure wave at that instant.  Apart
	from the sampling frequency, the other parameter is the
	digital encoding of each sample including the number of {bits}
	used.  The encoding may be linear, logarithmic or {mu-law}.

	Digital audio is typically created by taking 16-bit samples
	over a spectrum of 44.1 thousand cycles per second (kHz), this
	means that CD quality sound requires 1.4 million bits of data
	per second.  Digital telephone systems use lower sample rates.

	{Filename extension}: .au ({Unix}), .snd ({MS-DOS}, {MS
	Windows}).

	See also {Audio IFF}, {MP3}, {wav}.

	{Usenet} newsgroups: alt.binaries.sounds.*.

	A {FAQ} on audio file formats is available.  {Part 1
	(ftp://ftp.cwi.nl/pub/audio/AudioFormats.part1)}, {Part 2
	(ftp://ftp.cwi.nl/pub/audio/AudioFormats.part2)}.

	(1999-07-30)

Digital Audio Tape

	<storage, music> (DAT) A format for storing music on magnetic
	tape, developed in the mid-1980s by {Sony} and {Philips}.  As
	digital music was popularized by {compact discs}, the need for
	a digital recording format for the consumer existed.  The
	problem is that digital music contains over 5 megabytes of
	data per minute before error correction and supplementary
	information.  Before DAT, the only way to record digitally was
	to use a video or a reel-to-reel recorder.

	DAT uses a rotary-head (or "helical scan") format, where the
	read/write head spins diagonally across the tape like a video
	cassette recorder.  Thus the proper name is "R-DAT", where "R"
	for rotary distinguishes it from "S-DAT", a stationary design
	that did not make it out of the laboratories.  Studio
	reel-to-reel decks are able to use stationary heads because
	they can have wider tape and faster tape speeds, but for the
	desired small medium of DAT the rotary-head compromise was
	made despite the potential problems with more moving parts.

	Most DAT recorders appear to be a cross between a typical
	analog cassette deck and a {compact disc} player.  In addition
	to the music, one can record subcode information such as the
	number of the track (so one can jump between songs in a
	certain order) or absolute time (counted from the beginning of
	the tape).  The tape speed is much faster than a regular deck
	(one can rewind 30 minutes of music in 10-25 seconds), though
	not quite as fast as a compact disc player.  DAT decks have
	both analog and digital inputs and outputs.

	DAT tapes have only one recordable side and can be as long 120
	minutes.

	DAT defines the following recording modes with the following
	performance specifications...

	   2 channel 48KHz Sample rate, 16-bit linear encoding
	   120 min max.
	   Frequency Response 2-22KHz (+-0.5dB)
	   SN = 93 dB   DR = 93 dB

	   2 channel 44.1Khz Sample rate, 16-bit linear encoding
	   120 min max
	   Frequency Response 2-22KHz (+-0.5dB)
	   SN = 93 dB   DR = 93 dB

	   2 channel 32KHz Sample Rate, 12-bit non-linear encoding
	   240 min max
	   Frequency Response 2-14.5KHz (+-0.5dB)
	   SN = 92 dB   DR = 92 dB

	   4 channel 32KHz (not supported by any deck)

	DAT is also used for recording computer data.  Most computer
	DAT recorders use DDS format which is the same as audio DAT
	but they usually have completely different connectors and it
	is not always possible to read tapes from one system on the
	other.  Computer tapes can be used in audio machines but are
	usually more expensive.  You can record for two minutes on
	each metre of tape.

	(1995-02-09)

digital camera

	<graphics, hardware> A camera that captures and stores still
	images as {digital} data instead of on photographic film.

	The first digital cameras became available in the early
	1990s[?].

	[Which and when was the first?]

	(2000-08-10)

digital carrier

	<hardware, communications> A medium which can carry {digital}
	signals; broadly equivalent to the {physical layer} of the
	{OSI} seven layer model of networks.  Carriers can be
	described as {baseband} or {broadband}.  A baseband carrier
	can include direct current (DC), whereas broadband carriers
	are modulated by various methods into frequency bands which do
	not include DC.

	Sometimes a {modem} (modulator/demodulator) or {codec}
	(coder/decoder) combines several channels on one transmission
	path.  The combining of channels is called {multiplexing}, and
	their separation is called demultiplexing, independent of
	whether a modem or codec bank is used.  Modems can be
	associated with {frequency division multiplexing} (FDM) and
	codecs with {time division multiplexing} (TDM) though this
	grouping of concepts is somewhat arbitrary.

	If the medium of a carrier is copper telephone wire, the
	circuit may be called {T1}, {T3}, etc. as these designations
	originally described such.

	T1 carriers used a restored polar line coding scheme which
	allowed a baseband signal to be transported as broadband and
	restored to baseband at the receiver.  T1 is not used in this
	sense today, and indeed it is often confused with the {DS1}
	signal carried.

	(1996-03-31)

digital certificate

	<communications, security> An {attachment} to an {electronic
	mail} message used for security purposes, e.g. to verify that
	a user sending a message is who he or she claims to be, and to
	provide the receiver with the means to encode a reply.

	An individual wishing to send an encrypted message applies for
	a digital certificate from a {certificate authority} (CA).
	The CA issues an encrypted digital certificate containing the
	applicant's {public key} and a variety of other identification
	information.  The CA makes its own public key readily
	available on the {Internet}.

	The recipient of an encrypted message uses the CA's public key
	to decode the digital certificate attached to the message,
	verifies it as issued by the CA and then obtains the sender's
	public key and identification information held within the
	certificate.

	(2006-05-27)

digital computer

	<computer> A {computer} that represents numbers and other data
	using discrete internal states, in contrast to the
	continuously varying quantities used in an {analog computer}.

	Some of the fundamental ideas behind the digital computer were
	proposed by {Alan Turing} between 1936 and 1938.  The design
	of the {Atanasoff-Berry Computer} (1937-1942) included some of
	the important implementation details but the first digital
	computer to successfully run real programs was the {Z3}
	(1941).  {ENIAC} (1943-1946) was the first electronic digital
	computer but was only programmable by manual rewiring or
	switches.

	(2003-10-01)

Digital Control System

	<systems> (DCS) A {digital computer} used for {real-time} control
	of a {dynamic system}, usually in an industrial environment,
	possibly as part of a {Supervisory Control and Data Acquisition}
	(SCADA) system.

	A DCS samples {feedback} from the system under control and
	modifies the control signals in an attempt to achieve some
	desired behaviour.

	Analysis of such digital-analogue feedback systems can involve
	mathematical methods such as {difference equations}, {Laplace
	transforms}, {z transfer functions}, {state space models} and
	{state transition matrices}.

	(2004-08-22)

digital dashboard

	<software> A personalised desktop {portal} that focuses on
	{business intelligence} and {knowledge management}.

	{Microsoft}'s version has a launch screen including stock
	quotes, voice mail and e-mail messages, a calendar, a weather
	forecast, traffic information, access to news feeds, customer
	and sales data, and Internet conferences.  A digital dashboard
	might previously have been thought of as an executive
	information system.  In the future, digital dashboards could
	be available on {personal digital assistants} and cellular
	phones.

	["Gates pitches 'digital dashboards' to bevy of top CEOs", Bob
	Trott, pub. InfoWorld Electric, 1999-05-19].

	(1999-09-14)

Digital Data Service

	<communications> (DDS) The class of service offered by
	telecommunications companies for transmitting digital data as
	opposed to voice.

	(1995-02-28)

digital electronics

	<electronics> The implementation of {two-valued logic} using
	electronic {logic gates} such as {and gates}, {or gates} and
	{flip-flops}.  In such circuits the logical values true and
	false are represented by two different {voltages}, e.g. 0V for
	false and +5V for true.  Similarly, numbers are normally
	represented in {binary} using two different voltages to
	represented zero and one.

	Digital electronics contrasts with {analogue} electronics
	which represents continuously varying quantities like sound
	pressure using continuously varying voltages.

	Digital electronics is the foundation of modern computers and
	{digital communications}.  Massively complex digital logic
	circuits with millions of gates can now be built onto a single
	{integrated circuit} such as a {microprocessor} and these
	circuits can perform millions of operations per second.

	(2006-01-14)

Digital Enhanced Cordless Telecommunications

	<communications, standard> (DECT, formerly ".. European ..") A
	{standard} developed by the {European Telecommunication
	Standard Institute} from 1988, governing pan-European {digital
	mobile telephony}.  DECT covers wireless {PBXs}, {telepoint},
	residential {cordless telephones}, wireless access to the
	{public switched telephone network}, Closed User Groups
	(CUGs), {Local Area Networks}, and wireless {local loop}.

	DECT defines only the radio connection between two points and
	can be used for remote access to public and private networks.
	Other mobility standards, such as {GSM}, {TACS}, and {DCS
	1800} add the necessary switching, signaling, and management
	functions that are not specified by DECT.

	The DECT Common Interface radio standard is a {multicarrier}
	{time division multiple access}, {time division duplex}
	(MC-TDMA-TDD) radio transmission technique using ten {radio
	frequency} channels from 1880 to 1930 MHz, each divided into
	24 time slots of 10ms, and twelve {full-duplex} accesses per
	{carrier}, for a total of 120 possible combinations.

	A DECT base station (an RFP, Radio Fixed Part) can transmit
	all 12 possible accesses (time slots) simultaneously by using
	different frequencies or using only one frequency.  All
	signaling information is transmitted from the RFP within a
	multiframe (16 frames).  {Voice} signals are digitally encoded
	into a 32 kbit/s signal using {Adaptive Differential Pulse
	Code Modulation}.

	The {handover} process is requested autonomously by the
	portable terminal and the Radio Fixed Parts, according to the
	carrier signal levels.  A "Generic Access Profile" defines a
	minimum set of requirements for the support of speech
	telephony.

	{(http://italtel.it/catalog/data/inglese/capc_5.htm)}.

	(1999-04-13)

digital envelope

	<cryptography>

	{(http://rsa.com/rsalabs/faq/html/2-2-4.html)}.

	[Summary?]

	(1999-03-16)

Digital Equipment Computer Users Society

	<body> (DECUS) A world-wide organisation of {Information
	Technology} professionals interested in the products, services,
	and technologies of {Digital Equipment Corporation} and related
	vendors.  Membership in the US chapter is free and provides
	participants with the means to enhance their professional
	development, forums for technical training, mechanisms for
	obtaining up-to-date information, advocacy programs and
	opportunities for informal disclosure and interaction with
	professional colleagues of like interest.

	{DECUS Home (http://www.decus.org/)}.

	(2014-08-26)

Digital Equipment Corporation

	<company, hardware> (DEC) A computer manufacturer and software
	vendor.

	Before the {killer micro} revolution of the late 1980s,
	hackerdom was closely symbiotic with DEC's pioneering
	{time-sharing} machines.  The first of the group of hacker
	cultures nucleated around the {PDP-1} (see {TMRC}).
	Subsequently, the {PDP-6}, {PDP-10}, {PDP-20}, {PDP-11} and
	{VAX} were all foci of large and important hackerdoms and DEC
	machines long dominated the {ARPANET} and {Internet} machine
	population.

	The first PC from DEC was a {CP/M} computer called {Rainbow},
	announced in 1981-82.

	DEC was the technological leader of the minicomputer era
	(roughly 1967 to 1987), but its failure to embrace
	{microcomputers} and {Unix} early cost it heavily in profits
	and prestige after {silicon} got cheap.  However, the
	{microprocessor} design tradition owes a heavy debt to the
	{PDP-11} {instruction set}, and every one of the major
	general-purpose microcomputer {operating systems} so far
	(CP/M, {MS-DOS}, {Unix}, {OS/2}) were either genetically
	descended from a DEC OS, or incubated on DEC {hardware} or
	both.  Accordingly, DEC is still regarded with a certain wry
	affection even among many hackers too young to have grown up
	on DEC machines.  The contrast with {IBM} is instructive.

	Quarterly sales $3923M, profits -$1746M (Aug 1994).

	DEC was taken over by {Compaq Computer Corporation} in 1998.
	In 2002 Compaq was in turn acquired by {Hewlett-Packard} who
	sold off parts of Digital Equipment Corporation to {Intel} and
	absorbed the rest.  The Digital logo is no longer used.

	(2012-07-29)

Digital Equipment Corporation Network

	<networking> (DECNET) {Ethernet} software used on {DEC}
	computers such as the {Vax}.

	[More details?]

	(1999-06-03)

Digital European Cordless Telecommunications

	{Digital Enhanced Cordless Telecommunications}

Digital Express Group, Inc.

	(Digex) The largest {Internet provider} in the Washington
	metropolitan area with {POPs} in Maryland, Virginia, New
	Jersey, New York and California.

	{(http://digex.net)}.

	(1994-10-25)

Digital Lempel Ziv 1

	<algorithm> (DLZ1) A {Lempel-Ziv compression} {algorithm}
	which maps variable length input strings to variable length
	output symbols.  During compression, the algorithm builds a
	dictionary of strings which is accessed by means of a {hash
	table}.  Compression occurs when input data matches a string
	in the table and is replaced with the output symbol.

	DLZ1 is used on {Digital Linear Tape}.

	(1997-04-05)

Digital Library Initiative

	A project to research digital libraries which aims to provide
	real collections to real users (high school students,
	University researchers and students, users in public
	libraries).  The project is sponsored jointly by three US
	federal funding agencies, led by the National Science
	Foundation.

	The {University of Michigan}, one of the six sites selected in
	1994 to collaborate, will provide collections on earth and
	space sciences.  The project, known there as the University of
	Michigan Digital Library Project (UMDL), is a large,
	multi-year project headed by Daniel Atkins, Dean of the School
	of Information and Library Studies.

	{UMDL (http://http2.sils.umich.edu/UMDL/HomePage.html)}.

	(1995-02-23)

Digital Linear Tape

	<storage> (DLT) A kind of {magnetic tape} drive
	originally developed by {DEC} and now marketed by {Quantum}.

	DLT drives implement the {Digital Lempel Ziv 1} (DLZ1)
	{compression} {algorithm} in a combination of {hardware} and
	{firmware}.  They use a popular chip by {Stac} (now {hi/fn})
	to do the string searching.  Counting, sorting and {Huffman
	coding} are done in firmware (with hardware support for the
	Huffman algorithm?).

	In April 1997 DLT drives can transfer 5 {megabytes} per second
	and can store 35 {gigabytes} on a single cartridge.
	Compression might roughly double these figures.

	(1997-04-05)

digital logic

	{two-valued logic}

Digital Multimeter

	<electronics> (DMM) A peice of test equipment used for
	measuring voltage, current, resistance, and possibly other
	electircal quantities and displaying the value in number form.

	(1997-02-12)

Digital Radio Mondiale

	<communications> (DRM) A form of {monaural} digital broadcast
	using {carrier} frequencies below 30 MHz.  DRM uses {MPEG-4
	AAC Main Profile} and {SBR} at data rates of 16-25 kbps.

	{(http://drm.org/)}.

	(2001-12-20)

Digital Research

	<company> The company which developed {CP/M}, the {operating
	system} used on many of the first generation 8-bit
	{microprocessor}-based {personal computers}.  Digital Research
	also produced {DR-DOS}.

	Address: Santa Cruz, CA, USA.

	(1998-03-17)

Digital Rights Management

	<legal> (DRM) Any technology used to limit the use of
	{software}, music, movies or other digital data.  This
	generally relies on some interaction between the media and the
	system that plays it.  For example, video {DVDs} usually
	include a {region code}.  If this does not match the player's
	region code, the player will refuse to play the disc.

	(2006-02-02)

digital service unit

	{data service unit}

Digital Signal Processing

	(DSP) Computer manipulation of analog signals (commonly sound
	or {image}) which have been converted to digital form
	(sampled).

	(1994-12-07)

Digital Signal Processing Language

	<language> (DSPL) A {C}-derived {DSP} language.

	["The Programming Language DSPL", A. Schwarte & H. Hanselmann,
	Proc PCIM 90, 1990].

	(1994-12-01)

digital signature

	<cryptography> Extra data appended to a message which
	identifies and authenticates the sender and message data using
	{public-key encryption}.

	The sender uses a {one-way hash function} to generate a
	hash-code of about 32 bits from the message data.  He then
	encrypts the hash-code with his private key.  The receiver
	recomputes the hash-code from the data and decrypts the
	received hash with the sender's public key.  If the two
	hash-codes are equal, the receiver can be sure that data has
	not been corrupted and that it came from the given sender.

	(1995-02-07)

digital signatures

	{digital signature}

Digital Signature Standard

	<cryptography, standard> The {NIST}'s {standard} for {digital
	signatures} (authenticating both a message and the signer)
	that was first announced in 1991.  It is based on an
	{algorithm} using {discrete logarithms}, which is a variant of
	the {Elgamal algorithm} with Schnorr's improvements.  DSS's
	security is currently considered very strong - comparable to
	{RSA}.  It is estimated that DSS's 1024-bit keys would take
	1.4E16 {MIPS}-years to crack.

	(1995-11-16)

Digital Simulation Language

	<language> (DSL) Extensions to {Fortran} to simulate {analog
	computer} functions.  Version DSL/90 ran on the {IBM 7090}.

	["DSL/90 - A Digital Simulation Program for Continuous System
	Modelling", Proc SJCC 28, AFIPS, Spring 1966].

	[Sammet 1969, p 632].

	(1996-10-13)

Digital Simultaneous Voice and Data

	<communications> (DSVD) A technique supported by some {modems}
	for multiplexing compressed speech with digital data for
	transmission over a normal telephone line.

	DSVD isn't standardised yet, so generally you have to have the
	same make of modem at both ends for it to work.

	[How does it work?  Which modems?  References?]

	(1997-06-05)

DIGITAL Standard MUMPS

	(DSM) {DEC}'s version of {MUMPS}.

	(1995-01-10)

Digital Subscriber Line

	<communications, protocol> (DSL, or Digital Subscriber Loop,
	xDSL - see below) A family of {digital} {telecommunications}
	{protocols} designed to allow high speed data communication
	over the existing {copper} telephone lines between end-users
	and telephone companies.

	When two conventional {modems} are connected through the
	telephone system ({PSTN}), it treats the communication the
	same as voice conversations.  This has the advantage that
	there is no investment required from the telephone company
	(telco) but the disadvantage is that the {bandwidth} available
	for the communication is the same as that available for voice
	conversations, usually 64 kb/s ({DS0}) at most.  The
	{twisted-pair} copper cables into individual homes or offices
	can usually carry significantly more than 64 kb/s but the
	telco needs to handle the signal as digital rather than
	analog.

	There are many implementation of the basic scheme, differing
	in the communication {protocol} used and providing varying
	{service levels}.  The {throughput} of the communication can
	be anything from about 128 kb/s to over 8 Mb/s, the
	communication can be either symmetric or asymmetric (i.e. the
	available bandwidth may or may not be the same {upstream} and
	{downstream}).  Equipment prices and service fees also vary
	considerably.

	The first technology based on DSL was {ISDN}, although ISDN is
	not often recognised as such nowadays.  Since then a large
	number of other protocols have been developed, collectively
	referred to as xDSL, including {HDSL}, {SDSL}, {ADSL}, and
	{VDSL}.  As yet none of these have reached very wide
	deployment but wider deployment is expected for 1998-1999.

	{(http://cyberventure.com/~cedpa/databus-issues/v38n1/xdsl.html)}.

	{2Wire DSL provider lookup (http://2Wire.com/)}.

	["Data Cooks, But Will Vendors Get Burned?", "Supercomm
	Spotlight On ADSL" & "Lucent Sells Paradine", Wilson & Carol,
	Inter@ctive Week Vol. 3 #13, p1 & 6, June 24 1996].

	(2001-04-30)

Digital Subscriber Line Access Module

	<networking, hardware> (DSLAM, or Digital Subscriber Line
	Access Multiplexer) The generic term for the {Central Office}
	(CO) equipment where x{DSL} lines are terminated.  The
	multiple {DSL} signals may be {multiplexed} onto a {wideband}
	channel such as {ATM}.

	(2000-04-05)

Digital Subscriber Loop

	{Digital Subscriber Line}

Digital Switched Network

	<communications> (DSN) The completely digital version of the
	{PSTN}.

	(1997-07-18)

Digital to Analog Converter

	<electronics> (DAC) A device which takes a digital value and
	outputs a voltage which is proportional to the input value.

	Typical uses include digital generation of audio signals or
	conversion of a {bitmap image} to a signal to drive a {CRT}.

	(1998-02-15)

Digital Versatile Disc

	<storage> (DVD, formerly "Digital Video Disc") An optical
	storage medium with improved capacity and bandwidth compared
	with the {Compact Disc}.  DVD, like CD, was initally marketed
	for entertainment and later for computer users.  [When was it
	first available?]

	A DVD can hold a full-length film with up to 133 minutes of
	high quality video, in {MPEG-2} format, and audio.

	The first DVD drives for computers were read-only drives
	("DVD-ROM").  These can store 4.7 GBytes - over seven times
	the storage capacity of CD-ROM.  DVD-ROM drives read existing
	{CD-ROMs} and music CDs and are compatible with installed
	sound and video boards.  Additionally, the DVD-ROM drive can
	read DVD films and modern computers can decode them in
	software in {real-time}.

	The DVD video standard was announced in November 1995.
	Matshusita did much of the early development but Philips made
	the first DVD player, which appeared in Japan in November
	1996.  In May 2004, Sony released the first dual-layer drive,
	which increased the disc capacity to 8.5 GB.  Double-sided,
	dual-layer discs will eventually increase the capacity to 17
	GB.

	Write-once DVD-R ("recordable") drives record a 3.9GB DVD-R
	disc that can be read on a DVD-ROM drive.  Pioneer released
	the first DVD-R drive on 1997-09-29.

	By March 1997, {Hitachi} had released a rewritable DVD-RAM
	drive (by false analogy with {random-access memory}).  DVD-RAM
	drives read and write to a 2.6 GB DVD-RAM disc, read and
	write-once to a 3.9GB DVD-R disc, and read a 4.7 GB or 8.5 GB
	DVD-ROM.  Later, DVD-RAM discs could be read on DVD-R and
	DVD-ROM drives.

	{Background (http://tacmar.com/dvd_background.htm)}.  {RCA
	home (http://imagematrix.com/DVD/home.html)}.

	(2006-01-07)

Digital Versatile Disk Random Access Memory

	<storage> (DVD-RAM) Rewritable {DVD} media that is recordable
	on both sides, giving up to 9.6{GB} of storage.  A drive can
	record to disk and read from it at the same time, so the term
	{full duplex} is often used.  There are two general types of
	media: traditional discrete disk in DVD or Jewel case, and one
	in a permanent case like a large floppy; the disk remains in
	the case, and the case goes into the drive.  The former can
	sometimes be read by regular DVD drives; the latter obviously
	cannot.

	{Technical details, somewhat dated, at burnworld.com
	(http://burnworld.com/dvd/primer/dvdram.htm)}.

	(2005-01-26)

Digital Video Disc

	{Digital Versatile Disc}

Dijkstra's guarded command language

	<language> A language invented by {Edsger Dijkstra} ca. 1974.
	It introduced the concept of {guards} and {committed choice
	nondeterminism} ({don't care nondeterminism}).  Described and
	used in ["A Discipline of Programming", E. Dijkstra, P-H
	1976].

	(1994-12-07)

dike

	To remove or disable a portion of something, as a wire from a
	computer or a subroutine from a program.  A standard slogan is
	"When in doubt, dike it out".  (The implication is that it is
	usually more effective to attack software problems by reducing
	complexity than by increasing it.)  The word "dikes" is widely
	used among mechanics and engineers to mean "diagonal cutters",
	especially the heavy-duty metal-cutting version, but may also
	refer to a kind of wire-cutters used by electronics
	technicians.  To "dike something out" means to use such
	cutters to remove something.  Indeed, the TMRC Dictionary
	defined dike as "to attack with dikes".  Among hackers this
	term has been metaphorically extended to informational objects
	such as sections of code.

	[{Jargon File}]

DIL

	{Dual In-Line Package}

Dilbert

	<humour> A cartoon computer worker drawn by Scott Adams
	<scottadams@aol.com>, who works in Silicon Valley.  The
	cartoon became so popular he left his day job.  The cartoon
	satirises typical corporate life, especially that which
	revolves around computers.

	See also: {BOFH}.

	{(http://unitedmedia.com/comics/dilbert/)}.

	(1996-10-11)

Dilberted

	<jargon> To be exploited and oppressed by your boss.  Derived
	from the experiences of {Dilbert}, the geek-in-hell comic
	strip character.  "I've been dilberted again.  The old man
	revised the specs for the fourth time this week."

	(1997-03-29)

DIM

	{DIM statement}

DIMATE

	<language> Depot Installed Maintenance Automatic Test
	Equipment.  A language for programming {automatic test
	equipment}.  It Runs on the {RCA 301}.

	["A Simple User-Oriented Source Language for Programming
	Automatic Test Equipment", B.H. Scheff, CACM 9(4) (Apr 1966)].

	[Sammet 1969, p. 647].

	(1996-01-07)

DIMM

	{Dual In-Line Memory Module}

DIM statement

	<programming> (From "dimension") A {keyword} in most versions
	of the {BASIC} programming language that declares the size of
	an {array}.  E.g.

		DIM A(100)

	declares a one-dimensional array with 101 numeric elements
	(including A(0)).

	{Visual Basic} uses the DIM (or "Dim") statement for any
	variable declaration, even {scalars}, e.g.

	Dim DepartmentNumber As Integer

	which declares a single (scalar) variable of type Integer.

	(1999-03-26)

DIN

	Deutsche Institut fuer Normung.  The German standardisation
	body, a member of {ISO}.

DIN-8

	<hardware> An 8-pin round connector, sometimes used for
	{EIA-232} serial communication when space is restricted, such
	as on {laptop computers}.

	(1996-12-08)

ding

	1. Synonym for {feep}.  Usage: rare among hackers, but
	commoner in the {Real World}.

	2. "dinged": What happens when someone in authority gives you
	a minor bitching about something, especially something
	trivial.  "I was dinged for having a messy desk."

	[{Jargon File}]

Dining Philosophers Problem

	<parallel> (DPP) A problem introduced by {Dijkstra} concerning
	resource allocation between processes.  The DPP is a model and
	universal method for testing and comparing theories on
	resource allocation.  Dijkstra hoped to use it to help create
	a layered {operating system}, by creating a machine which
	could be consider to be an entirely {deterministic}
	{automaton}.

	The problem consists of a finite set of processes which share
	a finite set of resources, each of which can be used by only
	one process at a time, thus leading to potential {deadlock}.

	The DPP visualises this as a number of philosophers sitting
	round a dining table with a fork between each adjacent pair.
	Each philosopher may arbitrarily decide to use either the fork
	to his left or the one to his right but each fork may only be
	used by one philosopher at a time.

	Several potential solutions have been considered.

	Semaphores - a simple, but unfair solution where each
	resources is a {binary semaphore} and additional semaphores
	are used to avoid deadlock and/or {starvation}.

	Critical Regions - each processor is protected from
	interference while it exclusively uses a resource.

	Monitors - the process waits until all required resources are
	available then grabs all of them for use.

	The best solution allows the maximum parallelism for any
	number of processes (philosophers), by using an array to track
	the process' current state (i.e. hungry, eating, thinking).
	This solution maintains an array of semaphores, so hungry
	philosophers trying to acquire resources can block if the
	needed forks are busy.

	(1998-08-09)

dink

	/dink/ Said of a machine that has the {bitty box} nature; a
	machine too small to be worth bothering with - sometimes the
	system you're currently forced to work on.  First heard from
	an {MIT} hacker working on a {CP/M} system with 64K, in
	reference to any {6502} system, then from fans of 32 bit
	architectures about 16-bit machines.  "GNUMACS will never work
	on that dink machine."  Probably derived from mainstream
	"dinky", which isn't sufficiently pejorative.

	See {macdink}.

	[{Jargon File}]

	(1994-10-31)

DinnerBell

	An {object-oriented} {dataflow} language with {single
	assignment}.

	["Object-Oriented Load Distribution in DinnerBell", S. Kono
	<kono@csl.sony.co.jp> et al, in TOOLS Pacific 90].

	(1994-10-31)

DINO

	{Data parallel} superset of {C}.

	{(ftp://ftp.cs.colorado.edu/pub/cs/distribs/dino/)}.

	["The DINO Parallel Programming Language", M. Rosing et al, J
	Parallel Dist Comp 13(9):30-42 (Sep 1991)].

	["DINO Parallel Programming Language", M. Rosing et al,
	CU-CS-457-90, U Colorado, April 1990].

dinosaur

	1. Any hardware requiring raised flooring and special power.
	Used especially of old {minicomputers} and {mainframes}, in
	contrast with newer {microprocessor}-based machines.

	In a famous quote from the 1988 Unix EXPO, {Bill Joy} compared
	the liquid-cooled mainframe in the massive {IBM} display with
	a grazing dinosaur "with a truck outside pumping its bodily
	fluids through it".  IBM was not amused.

	Compare {big iron}; see also {dinosaurs mating}.

	2. [IBM] A very conservative user; a {zipperhead}.

	[{Jargon File}]

dinosaur pen

	A traditional {mainframe} computer room complete with raised
	flooring, special power, its own ultra-heavy-duty air
	conditioning, and a side order of Halon fire extinguishers.

	See {boa}.

	(1995-11-17)

dinosaurs mating

	<humour> The activity said to occur when yet another {big
	iron} merger or buy-out occurs; reflects a perception by
	hackers that these signal another stage in the long, slow
	dying of the {mainframe} industry.  Also described as
	"elephants mating": lots of noise and action at a high level,
	with an eventual outcome in the somewhat distant future.

	In its glory days of the 1960s, it was "{IBM} and the Seven
	Dwarves": {Burroughs}, {Control Data}, {General Electric},
	{Honeywell}, {NCR}, {RCA}, and {Univac}.  Early on, RCA sold
	out to Univac and GE also sold out, and it was "IBM and the
	BUNCH" (an acronym for Burroughs, Univac, NCR, Control Data,
	and Honeywell) for a while.  Honeywell was bought out by Bull.

	Univac in turn merged with {Sperry} to form Sperry/Univac,
	which was later merged (although the employees of Sperry
	called it a hostile takeover) with Burroughs to form {Unisys}
	in 1986 (this was when the phrase "dinosaurs mating" was
	coined).  In 1991 {AT&T} absorbed NCR, only to spit it out
	again in 1996.  Unisys bought {Convergent Technologies} in
	1988 and later others.

	More such earth-shaking unions of doomed giants seem
	inevitable.

	[More dates?]

	[{Jargon File}]

	(1998-07-10)

diode

	<hardware, electronics> A {semiconductor} device which
	conducts electric current run in one direction only.  This is
	the simplest kind of semiconductor device, it has two
	terminals and a single PN junction.  One diode can be used as
	a {half-wave rectifier} or four as a {full-wave rectifier}.

	(1995-03-14)

Diophantine equation

	<mathematics> Equations with {integer} coefficients to which
	integer solutions are sought.  Because the results are
	restricted to integers, different {algorithms} must be used
	from those which find {real} solutions.

	[More details?]

	(1998-08-27)

DIP

	1. {Dual In-line Package}.

	2. {Document Image Processing}.

diplex

	<communications> (From {telegraphy}) Two simultaneous
	transmissions in one direction.

	Compare: {duplex}.

	(2000-03-30)

DIPP

	{Dual Inline Pin Package}

Direct-Access Storage Device

	<hardware> (DASD) {IBM} {mainframe} terminology for a {disk
	drive}, in contrast with a tape drive which is a sequential
	access device.

	(1995-03-01)

Direct Client to Client Protocol

	<networking> (DCC) An {IRC} {protocol} created to allow users
	to chat privately and to send and receive files directly
	instead of having to go thorugh the IRC servers.  DCC protects
	users from being monitored by IRC Server operators that have
	enabled conversation logging.  It also allows much more
	efficient use of available {bandwidth} as the data does not
	need to be {broadcast} all over the world just to reach a
	specific user.

	The available DCC commands include DCC CHAT (direct user to
	user chat), DCC SEND (direct user to user file send) and DCC
	GET (file acknowledgement from a receiver).

	(1995-04-12)

Direct Connection

	A re-seller of {Internet} connections to the {PIPEX}
	{backbone}.

directed acyclic graph

	(DAG) A {directed graph} containing no cycles.  This means
	that if there is a route from node A to node B then there is
	no way back.

	(1994-12-07)

directed graph

	(digraph) A graph with one-way edges.

	See also {directed acyclic graph}.

	(1994-11-11)

Directed Oc

	<language> (Doc) A language related to {Oc}.

	["Programming Language Doc and Its Self-Description, or 'X=X
	Is Considered Harmful'", M. Hirata, Proc 3rd Conf Japan Soc
	Soft Sci Tech, pp. 69-72, 1986].

	(1999-10-08)

directed set

	<theory> A {set} X is directed under some {relation}, <= (less
	than or equal), if it is non-empty and if for any two elements
	x and y there exists an element z such that x <= z and y <= z.
	I.e. all pairs have an {upper bound}.

	(1994-11-11)

Direct Inward Dialing

	<communications> (DID) A service offered by telephone
	companies which allows the last 3 or 4 digits of a phone
	number to be transmitted to the destination {exchange}.

	For example, a company could have 10 incoming lines, all with
	the number 234 000.  If a caller dials 234 697, the call is
	sent to 234 000 (the company's exchange), and the digits 697
	are transmitted.  The company's exchange then routes the call
	to extension 697.  This gives the impression of 1000 direct
	dial lines, whereas in fact there are only 10.  Obviously,
	only 10 at a time can be used.

	This system is also used by {fax servers}.  Instead of an
	exchange at the end of the 234 000 line, a computer running
	fax server software and {fax modem} cards uses the last three
	digits to identify the recipient of the fax.  This allows 1000
	people to have their own individual fax numbers, even though
	there is only one 'fax machine'.

	{Dictionary of PC Hardware and Data Communications Terms
	(http://ora.com/reference/dictionary/terms/D/Direct_Inward_Dialing.htm)}.

	(1997-06-29)

directional coupler

	<communications> (tap) A {passive} device used in {cable}
	systems to divide and combine {radio frequency} signals.  A
	directional coupler has at least three ports: line in, line
	out, and the tap.  The signal passes between line in and line
	out ports with loss referred to as the {insertion loss}.  A
	small portion of the signal power applied to the line in port
	passes to the tap port.  A signal applied to the tap port is
	passed to the line in port less the tap attenuation value.
	The tap signals are isolated from the line out port to prevent
	reflections.  A signal applied to the line out port passes to
	the line in port and is isolated from the tap port.  Some
	devices provide more than one tap output line (multi-taps).

	(1995-12-23)

Directly Executable Test Oriented Language

	<language> (DETOL) A simple language to control a specific
	type of test equipment.

	["Improved DETOL Programming Manual for the Series 5500
	Automatic Test System", Pub. 5500-31-0-1, AAI Corporation  Sep
	1973].

	(1995-09-29)

direct mapped cache

	<architecture> A {cache} where the cache location for a given
	address is determined from the middle address bits.  If the
	{cache line} size is 2^n then the bottom n address bits
	correspond to an offset within a cache entry.  If the cache
	can hold 2^m entries then the next m address bits give the
	cache location.  The remaining top address bits are stored as
	a "tag" along with the entry.

	In this scheme, there is no choice of which block to flush on
	a cache miss since there is only one place for any block to
	go.  This simple scheme has the disadvantage that if the
	program alternately accesses different addresses which map to
	the same cache location then it will suffer a cache miss on
	every access to these locations.  This kind of {cache
	conflict} is quite likely on a multi-processor.  See also
	{fully associative cache}, {set associative cache}.

Direct Memory Access

	<architecture> (DMA) A facility of some architectures which
	allows a peripheral to read and write memory without
	intervention by the CPU.  DMA is a limited form of {bus
	master}ing.

	(1996-08-23)

directories

	{directory}

directory

	<file system> A node in a hierarchical {file system} which
	contains zero or more other nodes - generally, {files} or
	other directories.

	The term "folder" is sometimes used in systems such as the
	{Macintosh} or {Microsoft Windows} in which directories are
	traditionally depicted as folders (like small briefcases).

	(2007-02-21)

Directory Access Protocol

	X.500 protocol used for communication between a Directory User
	Agent and a Directory System Agent.

directory service

	<database, networking> A structured repository of information
	on people and resources within an organisation, facilitating
	management and communication.

	On a {LAN} or {WAN} the directory service identifies all
	aspects of the {network} including users, software, hardware,
	and the various rights and policies assigned to each.  As a
	result applications can access information without knowing
	where a particular resource is physically located, and users
	interact oblivious to the network {topology} and {protocols}.

	To allow {heterogeneous networks} to share directory
	information the {ITU} proposed a common structure called
	{X.500}.  However, its complexity and lack of seamless
	{Internet} support led to the development of {Lightweight
	Directory Access Protocol} (LDAP) which has continued to
	evolve under the aegis of the {IETF}.  Despite its name {LDAP}
	is too closely linked to {X.500} to be "lightweight".

	{LDAP} was adopted by several companies such as {Netscape
	Communications Corporation} (Netscape Directory Server) and
	has become a {de facto standard} for directory services.
	Other LDAP compatible offerings include {Novell, Inc.}'s
	{Novell Directory Services} (NDS) and {Microsoft
	Corporation}'s {Active Directory}.  The Netscape and Novell
	products are available for {Windows NT} and {Unix}
	{platforms}.  {Novell Directory Services} also run on Novell
	platforms. {Microsoft Corporation}'s {Active Directory} is an
	integral part of {Microsoft's Windows 2000} and although it
	can interface with directory services running on other systems
	it is not available for other platforms.

	(2001-01-02)

Directory System Agent

	(DSA) The software that provides the {X.500} Directory Service
	for a portion of the directory information base.  Generally,
	each DSA is responsible for the directory information for a
	single organisation or organisational unit.

	(1994-12-07)

Directory User Agent

	(DUA) The software that accesses the {X.500} Directory Service
	on behalf of the directory user.  The directory user may be a
	person or another software element.

	(1994-12-07)

DirectX

	<programming, hardware> A {Microsoft} programming interface
	{standard}, first included with {Windows 95}.  DirectX gives
	(games) programmers a standard way to gain direct access to
	enhanced hardware features under Windows 95 instead of going
	via the Windows 95 {GDI}.  Some DirectX code runs faster than
	the equivalent under {MS DOS}.

	DirectX promises performance improvements for graphics, sound,
	video, 3D, and network capabilites of games, but only where
	both hardware and software support DirectX.

	DirectX 2 introduced the Direct3D interface.  Version 5 was
	current at 1998-02-01.  Version 8.1 is included in {Windows
	XP}.

	Latest version: 8.1 (as of 2001-12-31).

	{(http://microsoft.com/directx/)}.

	(2001-12-31)

DIRFT

	{Do It Right the First Time}

Dirt

	{Design In Real Time}

dirtball

	({XEROX PARC}) A small, perhaps struggling outsider; not in
	the major or even the minor leagues.  For example, "Xerox is
	not a dirtball company".

	Outsiders often observe in the PARC culture an institutional
	arrogance which usage of this term exemplifies.  The
	brilliance and scope of PARC's contributions to computer
	science have been such that this superior attitude is not much
	resented.  - ESR

	[{Jargon File}]

	(1994-12-07)

dirty power

	Electrical mains voltage that is unfriendly to the delicate
	innards of computers.  Spikes, {drop-outs}, average voltage
	significantly higher or lower than nominal, or just plain
	noise can all cause problems of varying subtlety and severity
	(these are collectively known as {power hits}).

	[{Jargon File}]

dis

	<programming> A {CPython} {bytecode} {disassembler}.

	{dis home (https://docs.python.org/2/library/dis.html)}.

	(2014-06-08)

DISA

	1. <body> {Defense Information Systems Agency}.

	2. <standard> {Data Interchange Standards Association}.

	(1999-09-18)

disaster planning

	{disaster recovery}

disaster recovery

	<business> (DR) Planning and implementation of procedures and
	facilities for use when essential systems are not available
	for a period long enough to have a significant impact on the
	business, e.g. when the head office is blown up.

	Disasters include natural: fire, flood, lightning, hurricane;
	hardware: power failure, component failure, {head crash};
	software failure: {bugs}, resources; vandalism: arson,
	bombing, {cracking}, theft; data corruption or loss: human
	error, media failure; communications: computer network
	equipment, {network storm}, telephones; security: passwords
	compromised, {computer virus}; legal: change in legislation;
	personnel: unavailability of essential staff, industrial
	action.

	Companies need to plan for disaster: before: {risk analysis},
	preventive measures, training; during: how should staff and
	systems respond; after: recovery measures, post mortem
	analysis.

	Hardware can usually be replaced and is usually insured.
	Software and data needs to be backed up off site.  Alternative
	communication systems should be arranged in case of network
	failure or inaccessible premises, e.g. emergency telephone
	number, home working, alternative data center.

	(2007-06-20)

disc

	<storage, spelling> British spelling of "{disk}", normally
	only used for "{compact disc}".

	(1995-07-30)

disc drive

	{disc}

disclaimer

	<networking> Statement ritually appended to many {Usenet}
	postings (sometimes automatically, by the posting software)
	reiterating the fact (which should be obvious, but is easily
	forgotten) that the article reflects its author's opinions and
	not necessarily those of the organisation running the computer
	through which the article entered the network.

	[{Jargon File}]

	(1995-07-30)

disconnect

	{SCSI reconnect}

Discordianism

	<recreation> /dis-kor'di-*n-ism/ The veneration of {Eris},
	also known as Discordia; widely popular among hackers.
	Discordianism was popularised by Robert Shea and Robert Anton
	Wilson's novel "Illuminatus!" as a sort of self-subverting
	Dada-Zen for Westerners - it should on no account be taken
	seriously but is far more serious than most jokes.  Consider,
	for example, the Fifth Commandment of the Pentabarf, from
	"Principia Discordia": "A Discordian is Prohibited of
	Believing What he Reads."  Discordianism is usually connected
	with an elaborate conspiracy theory/joke involving
	millennia-long warfare between the anarcho-surrealist
	partisans of Eris and a malevolent, authoritarian secret
	society called the Illuminati.

	See {Religion}, {Church of the SubGenius}, and {ha ha only
	serious}.

	[{Jargon File}]

	(1997-04-12)

discrete

	<mathematics> A description of a quantity whose value is one
	of a fixed set of values, as opposed to a {continuous} - a
	value capable of infinitessimal variation.  For example,
	{integers} are discrete values whereas {real numbers} are
	continuous; {digital sound} has discrete {amplitude} leves
	whereas {analog sound} is continuous.

	(2009-10-08)

discrete cosine transform

	<mathematics> (DCT) A technique for expressing a waveform as a
	weighted sum of cosines.

	The DCT is central to many kinds of {signal processing},
	especially video {compression}.

	Given data A(i), where i is an integer in the range 0 to N-1,
	the forward DCT (which would be used e.g. by an encoder) is:

	 B(k) =    sum    A(i) cos((pi k/N) (2 i + 1)/2)
	        i=0 to N-1

	B(k) is defined for all values of the frequency-space variable
	k, but we only care about integer k in the range 0 to N-1.
	The inverse DCT (which would be used e.g. by a decoder) is:

	 AA(i)=    sum    B(k) (2-delta(k-0)) cos((pi k/N)(2 i + 1)/2)
	        k=0 to N-1

	where delta(k) is the {Kronecker delta}.

	The main difference between this and a {discrete Fourier
	transform} (DFT) is that the DFT traditionally assumes that
	the data A(i) is periodically continued with a period of N,
	whereas the DCT assumes that the data is continued with its
	mirror image, then periodically continued with a period of 2N.

	Mathematically, this transform pair is exact, i.e. AA(i) ==
	A(i), resulting in {lossless coding}; only when some of the
	coefficients are approximated does compression occur.

	There exist fast DCT {algorithms} in analogy to the {Fast
	Fourier Transform}.

	(1997-03-10)

discrete Fourier transform

	<mathematics> (DFT) A {Fourier transform}, specialized to the
	case where the {abscissas} are integers.

	The DFT is central to many kinds of {signal processing},
	including the analysis and {compression} of video and {sound}
	information.

	A common implementation of the DFT is the {Fast Fourier
	Transform} (FFT).

	See also {discrete cosine transform}.

	(1997-03-10)

discrete preorder

	<mathematics> A {preorder} is said to be discrete if any two
	of its elements are {incomparable}.

	(1995-09-21)

discriminated union

	<theory> The discriminated union of two sets A and B is

		A + B = {(inA, a) | a in A} U {(inB, b)| b in B}

	where inA and inB are arbitrary tags which specify which
	summand an element originates from.

	A {type} (especially an {algebraic data type}) might be
	described as a discriminated union if it is a {sum type} whose
	objects consist of a tag to say which part of the union they
	belong to and a value of the corresponding type.

	(1995-04-25)

discussion group

	<messaging> Any system that supports group messaging, e.g. a
	shared {mailbox}, {Usenet}, {bulletin board system}, or
	possibly a {mailing list}, used to publish messages on some
	particular topic.

	(2000-11-16)

Disiple

	<language, DSP> A {DSP} language.

	["A Compiler that Easily Retargets High Level Language
	Programs for Different Signal Processing Architectures", J.E.
	Peters & S.M. Dunn, Proc ICASSP 89, pp. 1103-1106, May 1989].

	(2000-11-16)

disjoint union

	In {domain theory}, a union (or sum) which results in a domain
	without a least element.

Disjunctive Normal Form

	(DNF) A logical formula consisting of a {disjunction} of
	{conjunctions} where no conjunction contains a disjunction.
	E.g. the DNF of (A or B) and C is (A and C) or (B and C).

	(1994-12-07)

disk

	<storage> 1. {magnetic disk}.

	2. {compact disc}.

	3. {optical disk}.

	Note: the american spelling, "disk", is normal for most
	computer disks whereas "compact disc", having come to
	computers via the audio world, is correctly spelled with a
	"c", indeed, this spelling is part of the CD standard.

	(1995-07-30)

disk controller

	<hardware, storage> (Or "hard disk controller", HDC) The
	circuit which allows the {CPU} to communicate with a {hard
	disk}, {floppy disk} or other kind of {disk drive}.

	The most common disk controllers in use are {IDE} and {SCSI}
	controllers.  Most home {personal computers} use IDE
	controllers.  High end PCs, {workstations} and network {file
	servers} mostly have {SCSI adaptors}.

	(1998-03-16)

disk drive

	<hardware, storage> (Or "hard disk drive", "hard drive",
	"floppy disk drive", "floppy drive") A {peripheral} device
	that reads and writes {hard disks} or {floppy disks}.  The
	drive contains a motor to rotate the disk at a constant rate
	and one or more read/write heads which are positioned over the
	desired {track} by a servo mechanism.  It also contains the
	electronics to amplify the signals from the heads to normal
	digital logic levels and vice versa.

	In order for a disk drive to start to read or write a given
	location a read/write head must be positioned radially over
	the right track and rotationally over the start of the right
	sector.

	Radial motion is known as "{seek}ing" and it is this which
	causes most of the intermittent noise heard during disk
	activity.  There is usually one head for each disk surface and
	all heads move together.  The set of locations which are
	accessible with the heads in a given radial position are known
	as a "{cylinder}".  The "{seek time}" is the time taken to
	seek to a different cylinder.

	The disk is constantly rotating (except for some {floppy disk}
	drives where the motor is switched off between accesses to
	reduce wear and power consumption) so positioning the heads
	over the right sector is simply a matter of waiting until it
	arrives under the head.  With a single set of heads this
	"{rotational latency}" will be on average half a revolution
	but some big drives have multiple sets of heads spaced at
	equal angles around the disk.

	If seeking and rotation are independent, access time is seek
	time + rotational latency.  When accessing multiple tracks
	sequentially, data is sometimes arranged so that by the time
	the seek from one track to the next has finished, the disk has
	rotated just enough to begin accessing the next track.

	See also {sector interleave}.

	Early disk drives had a capacity of a few {megabytes} and were
	housed inside a separate cabinet the size of a washing
	machine.  Over a few decades they shrunk to fit a {terabyte}
	or more in a box the size of a paperback book.

	The disks may be {removable disks}; floppy disks always are,
	removable hard disks were common on {mainframes} and
	{minicomputers} but less so on {microcomputers} until the mid
	1990s(?) with products like the {Zip Drive}.

	A {CD-ROM} drive is not usually referred to as a disk drive.

	Two common interfaces for disk drives (and other devices) are
	{SCSI} and {IDE}.  {ST-506} used to be common in
	microcomputers (in the 1980s?).

	(1997-04-15)

disk duplexing

	<hardware, storage> A variation on {disk mirroring} where, as
	well as redundant {disk drives}, a second {disk controller} or
	{host adapter} is also present.

	(1996-02-22)

diskette

	{floppy disk}

disk farm

	<jargon> (Or "{laundromat}") A large room or rooms filled with
	{disk drives} (especially {washing machines}).

	[{Jargon File}]

	(1995-03-27)

diskless workstation

	<computer, networking> A {personal computer} or {workstation}
	which has neither a {hard disk} nor {floppy disk} drive and
	which performs all file access via a {local area network}
	connection to a {file server}.  The lowest level {bootstrap}
	code is stored in {non-volatile storage}.  This uses a simple
	{protocol} such as {BOOTP} to request and {download} more
	sophisticated boot code and eventually, the {operating
	system}.

	The archtypal product was the {3Station} developed by Bob
	Metcalfe at {3Com}.  Another example was the {Sun} 3/50.

	Diskless workstations are ideal when many users are running
	the same application.  They are small, quiet, more reliable
	than products with disks, and help prevent both the theft of
	data and the introduction of viruses since the software and
	data available on them is controlled by the network
	administrator or system administrator.  They do however rely
	on a server which becomes a disadvantage if it is heavily
	loaded or {down}.

	See also {breath-of-life packet}.

	(1995-03-28)

disk mirroring

	<hardware, storage> Use of one or more {mirrors} of a {hard
	disk}.

	(1996-02-17)

Disk Operating System

	<operating system> (DOS) The original {disk operating system}
	from {IBM}.

	DOS was the low-end OS of choice on the {IBM 360}, the
	high-end system was called just "{OS}".  DOS had a smaller
	{kernel} and less functionality than OS and could run on the
	typical 32K 360/30 and 64K 360/40 class machines.

	DOS was a successor to {TOS}.

	(1999-01-20)

disk operating system

	<operating system> (DOS) The name of a number of {operating
	systems} which include facilities for storing files on disk,
	often used to refer to {Microsoft DOS}.  Such a system must
	handle physical disk I/O, the mapping of file names to disk
	addresses and protection of files from unauthorised access (in
	a {multi-user} system).

	A DOS should present a uniform interface to different storage
	device such as {floppy disks}, {hard disks} and {magnetic
	tape} drives.  It may also provide some kind of locking to
	prevent unintentional simultaneous access by two processes to
	the same file (or {record}).

	(1998-07-08)

disks

	{disk}

disk striping

	{data striping}

Dislang

	<language>

	["Dislang: A Distributed Programming Language/System", C. Li
	et al, Proc 2nd Intl Conf Distrib Comp Sys, IEEE 1981,
	pp. 162-172].

	(1995-05-10)

disman

	{Distributed Management}

display

	1. <hardware> {monitor}.

	2. <language> A vector of pointers to {activation records}.
	The Nth element points to the activation record containing
	variables declared at {lexical depth} N.  This allows faster
	access to variables from outer {scopes} than the alternative
	of linked activation records (but most variable accesses are
	either local or global or occasionally to the immediately
	enclosing scope).  Displays were used in some {ALGOL}
	implementations.

	(1996-02-22)

display hack

	<graphics> A program with the same approximate purpose as a
	kaleidoscope: to make pretty pictures.  Famous display hacks
	include {munching squares}, {smoking clover}, the {BSD Unix}
	"rain(6)" program, "worms(6)" on miscellaneous Unixes, and the
	{X} "kaleid(1)" program.  Display hacks can also be
	implemented without programming by creating text files
	containing numerous escape sequences for interpretation by a
	video terminal; one notable example displayed, on any VT100, a
	Christmas tree with twinkling lights and a toy train circling
	its base.  The {hack value} of a display hack is proportional
	to the aesthetic value of the images times the cleverness of
	the algorithm divided by the size of the code.  Synonym
	{psychedelicware}.

	[{Jargon File}]

	(1995-05-10)

Display PostScript

	An extended form of {PostScript} permitting its interactive
	use with {bitmap displays}.

Display Screen Equipment

	{Visual Display Unit}

display standard

	<hardware, standard> {IBM} and others have introduced a
	bewildering plethora of graphics and text display {standards}
	for {IBM PC}s.  The standards are mostly implemented by
	plugging in a video display board (or "{graphics adaptor}")
	and connecting the appropriate monitor to it.  Each new
	standard subsumes its predecessors.  For example, an {EGA}
	board can also do {CGA} and {MDA}.

	With the {PS/2}, IBM introduced the {VGA} standard and built
	it into the main system board {motherboard}.  VGA is also
	available as a plug-in board for PCs from third-party vendors.
	Also with the PS/2, IBM introduced the {8514} high-resolution
	graphics standard.  An 8514 adaptor board plugs into the PS/2,
	providing a dual-monitor capability.

	Graphics software had to support the major IBM graphics
	standards and many non-IBM, proprietary standards for
	displays.  Either software vendors provided {display drivers}
	or display vendors provided drivers for the software package.
	In either case, switching software or switching display
	systems was fraught with compatibility problems.

	 Display    Resolution Colours Sponsor	Systems

	 MDA	    720x350 T	  2   	IBM     PC
	 CGA	    320x200	  4   	IBM     PC
	 EGA	    640x350	 16   	IBM     PC
	 PGA	    640x480	256   	IBM     PC

	 Hercules   729x348	  2   non-IBM	PC

	 MCGA	    720x400 T
		    320x200 G	256		PS/2

	 VGA	    720x400 T
		    640x480 G	 16

	 SVGA	    800x600	 16	VESA

	 XVGA	   1024x768	256	(IBM name: 8514)

	T: text,  G: graphics.

	More colours are available from third-party vendors for some
	display types.

	See also {MDA}, {CGA}, {EGA}, {PGA}, {Hercules}, {MCGA},
	{VGA}, {SVGA}, {8514}, {VESA}.

	[What were the corresponding "mode" numbers"?]

	(2011-03-20)

display standards

	{display standard}

display terminal

	{visual display unit}

Dissociated Press

	[Play on "Associated Press"; perhaps inspired by a reference
	in the 1949 Bugs Bunny cartoon "What's Up, Doc?"]  An
	algorithm for transforming any text into potentially humorous
	garbage even more efficiently than by passing it through a
	{marketroid}.  The algorithm starts by printing any N
	consecutive words (or letters) in the text.  Then at every
	step it searches for any random occurrence in the original
	text of the last N words (or letters) already printed and then
	prints the next word or letter.  {Emacs} has a handy command
	for this.  Here is a short example of word-based Dissociated
	Press applied to an earlier version of the {Jargon File}:

	wart:  A small, crocky {feature} that sticks out of
	an array (C has no checks for this).  This is relatively
	benign and easy to spot if the phrase is bent so as to be
	not worth paying attention to the medium in question.

	Here is a short example of letter-based Dissociated Press
	applied to the same source:

	window sysIWYG:  A bit was named aften /bee't*/ prefer
	to use the other guy's re, especially in every cast a
	chuckle on neithout getting into useful informash speech
	makes removing a featuring a move or usage actual
	abstractionsidered interj. Indeed spectace logic or problem!

	A hackish idle pastime is to apply letter-based Dissociated
	Press to a random body of text and {vgrep} the output in hopes
	of finding an interesting new word.  (In the preceding
	example, "window sysIWYG" and "informash" show some promise.)
	Iterated applications of Dissociated Press usually yield
	better results.  Similar techniques called "travesty
	generators" have been employed with considerable satirical
	effect to the utterances of {Usenet} flamers; see {pseudo}.

	[{Jargon File}]

distfix

	<programming> ("distributed {fixity}"?) A description of an
	{operator} represented by multiple symbols before, between,
	and/or after the arguments.

	The classical example is the {C} conditional operator, "?:"
	which is written

		E1 ? E2 : E3

	If E1 is true it returns E2 otherwise it returns E3.  Several
	{functional programming languages}, e.g. {Hope}, {Haskell},
	have similar operators ("if E1 then E2 else E3").

	{Objective C} {messages} are effectively distfix operator
	applications:

		getRow:row andColumn:col ofCell:cell

	is a message with three arguments, row, col, and cell.

	(1997-01-21)

Distributed Component Object Model

	<programming> (DCOM) {Microsoft}'s extension of their
	{Component Object Model} (COM) to support objects distributed
	across a {network}.  DCOM has been submitted to the {IETF} as
	a draft standard.  Since 1996, it has been part of {Windows
	NT} and is also available for {Windows 95}.

	Unlike {CORBA}, which runs on many {operating systems}, DCOM
	is currently (Dec 1997) only implemented by {Microsoft} for
	{Microsoft Windows} and by {Software AG}, under the name
	"{EntireX}", for {Unix} and {IBM} {mainframes}.  DCOM serves
	the same purpose as {IBM}'s {DSOM} {protocol}.

	DCOM is broken because it's an {object model} that has no
	provisions for {inheritance}, one of the major reasons for
	{object oriented programming} in the first place.

	{(http://microsoft.com/com/tech/DCOM.asp)}.

	[Details?]

	(2000-08-02)

Distributed Computing Environment

	(DCE) An architecture consisting of {standard} programming
	interfaces, conventions and {server} functionalities
	(e.g. naming, distributed file system, {remote procedure call})
	for distributing applications transparently across networks of
	{heterogeneous} computers.  DCE is promoted and controlled by
	the {Open Software Foundation} (OSF).

	{Usenet} newsgroup: {news:comp.soft-sys.dce}.

	{(http://dstc.edu.au/AU/research_news/dce/dce.html)}.

	(1994-12-07)

distributed database

	A collection of several different {databases} that looks like
	a single {database} to the user.  An example is the {Internet}
	{Domain Name System} (DNS).

	(1994-12-07)

Distributed Data Management

	<protocol, database> (DDM) An {IBM} {data} {protocol}
	architecture for data management services across {distributed}
	systems in an {SNA} environment.

	DDM provides a common {data management language} for data
	interchange among different IBM system platforms.

	Products supporting DDM include {AS/400}, {System/36},
	{System/38} and {CICS/DDM}.

	On the AS/400, 	DDM controls remote file processing.
	DDM enables application programs running on one AS/400
	system to access data files stored on another system
	supporting DDM. Similarly, other systems that have DDM can
	access files in the database of the local AS/400 system.
	DDM makes it easier to distribute file processing between two
	or more systems.

	{OS/400 Distributed Data Management V3R6 Reference
	(http://as400bks.rochester.ibm.com/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/QBJALH00/CCONTENTS)}.

	(1999-04-26)

distributed data warehouse

	<database> (DDW) Data shared across multiple data
	repositories, for the purpose of {OLAP}.  Each data warehouse
	may belong to one or many organisations.  The sharing im;plies
	a common format or definition of data elements (e.g.  using
	XML).

	(2008-03-15)

Distributed Eiffel

	["Distributed Eiffel: A Language for Programming
	Multi-Granular Distributed Objects on the Clouds Operating
	System", L. Gunaseelan et al, IEEE Conf Comp Langs, 1992].

	(1994-12-07)

Distributed Logic Programming

	<language> (DLP) A {logic programming} language similar to
	{Prolog}, combined with parallel {object orientation} similar
	to {POOL}.  DLP supports distributed {backtracking} over the
	results of a {rendezvous} between {objects}.  {Multi-threaded}
	objects have autonomous activity and may simultaneously
	evaluate {method} calls.

	["DLP: A Language for Distributed Logic Programming",
	A. Eliens, Wiley 1992].

	(1996-01-07)

Distributed Management Environment

	(DME) An {OSF} {standard}.  It had reached the {RFT} stage.

	(1995-02-22)

distributed memory

	<architecture> The kind of memory in a {parallel processor}
	where each processor has fast access to its own local memory
	and where to access another processor's memory it must send a
	message via the inter-processor network.

	Opposite: {shared memory}.

	(1995-03-22)

Distributed Network Operating System

	<operating system> (DNOS) A proprietary {operating system} for
	{Texas Instruments} {990}-series {minicomputers}.

	(1996-04-01)

Distributed Operating Multi Access Interactive Network

	(DOMAIN) The proprietary network {protocol} used by {Apollo}
	{workstations}.

	(1995-02-16)

Distributed Processes

	(DP) The first {concurrent} language based on {remote
	procedure calls}.

	["Distributed Processes: A Concurrent Programming Concept",
	Per Brinch Hansen CACM 21(11):934-940 (Nov 1978)].

	(1994-12-02)

Distributed Queue Dual Bus

	<networking, standard> (DQDB) An {IEEE} {standard} for
	{metropolitan area networks}.

	{(http://ece.wpi.edu/~vlad/ee535/hw5/page1.html)}.

	[Details?]

	(2000-08-02)

Distributed Smalltalk

	["The Design and Implementation of Distributed Smalltalk",
	J. Bennett, SIGPLAN Notices 22(12):318-330 (Dec 1980)].

	(1994-12-02)

distributed system

	A collection of (probably heterogeneous) automata whose
	distribution is transparent to the user so that the system
	appears as one local machine.  This is in contrast to a
	network, where the user is aware that there are several
	machines, and their location, storage replication, load
	balancing and functionality is not transparent.  Distributed
	systems usually use some kind of {client-server} organisation.

	Distributed systems are considered by some to be the "next
	wave" of computing.

	{Distributed Computing Environment} is the {Open Software
	Foundation}'s software architecture for distributed systems.

	{(http://dstc.edu.au/AU/research_news/dist-env.html)}.

	(1994-12-06)

distributed systems

	{distributed system}

distribution

	1. <software> A software source tree packaged for
	distribution; but see {kit}.

	2. <messaging> A vague term encompassing {mailing lists} and
	{Usenet} {newsgroups} (but not {BBS} {fora}); any
	topic-oriented message channel with multiple recipients.

	3. <messaging> An information-space domain (usually loosely
	correlated with geography) to which propagation of a {Usenet}
	message is restricted; a much-underused feature.

	[{Jargon File}]

distributive lattice

	<theory> A {lattice} for which the {least upper bound} (lub)
	and {greatest lower bound} (glb) operators distribute over one
	another so that

		a lub (b glb c) == (a lub c) glb (a lub b)

	and vice versa.

	("lub" and "glb" are written in {LateX} as {\sqcup} and
	{\sqcap}).

	(1998-11-09)

disusered

	<jargon> ({Usenet}) Said of a person whose account on a
	computer has been removed to prevent access.  Setting the
	DISUSER account status flag on {VMS} disables the account.

	"He got disusered when they found out he'd been {cracking}
	through the school's {Internet} access."

	[{Jargon File}]

	(1994-12-08)

dithering

	<data, algorithm> A technique used in {quantisation} processes
	such as {graphics} and {audio} to reduce or remove the
	correlation between noise and signal.

	Dithering is used in {computer graphics} to create additional
	colors and shades from an existing {palette} by interspersing
	{pixels} of different colours.  On a {monochrome} display,
	areas of grey are created by varying the proportion of black
	and white pixels.  In colour displays and printers, colours
	and textures are created by varying the proportions of
	existing colours.  The different colours can either be
	distributed randomly or regularly.  The higher the
	{resolution} of the display, the smoother the dithered colour
	will appear to the eye.

	Dithering doesn't reduce resolution.  There are three types:
	regular dithering which uses a very regular predefined
	pattern; random dither where the pattern is a random noise;
	and pseudo random dither which uses a very large, very
	regular, predefined pattern.

	Dithering is used to create patterns for use as backgrounds,
	fills and shading, as well as for creating {halftones} for
	printing.  When used for printing is it very sensitive to
	paper properties.  Dithering can be combined with
	{rasterising}.  It is not related to {anti-aliasing}.

	(2003-07-20)

Ditto Drive

	<hardware, storage> The Ditto {tape drives} range in capacity
	from 120 {megabytes} to 1.6 {gigabytes} ({data compression}
	can roughly double these figures).  The newer devices are
	designed for special tapes, though they will read standard
	tape types.

	The largest of tape stores up 3.2 {GB}.  Using an enhanced
	{floppy drive} card the transfer rate approaches the claimed
	19 {MB}/minute.  External {parallel} port versions are also
	available.

	{Compatibility details
	(http://iomega.com/support/techs/ditto/3040.html)}.

	(1997-03-26)

diverge

	If a series of approximations to some value get progressively
	further from it then the series is said to diverge.

	The {reduction} of some term under some {evaluation strategy}
	diverges if it does not reach a {normal form} after a finite
	number of reductions.

	(1994-12-08)

divisor

	A quantity that evenly divides another quantity.

	Unless otherwise stated, use of this term implies that the
	quantities involved are integers.  (For non-integers, the more
	general term {factor} may be more appropriate.)

	 Example: 3 is a divisor of 15.
	 Example: 3 is not a divisor of 14.

	(1997-03-07)

dj

	<networking> The {country code} for Djibouti.

	(1999-01-27)

DJGPP

	<tool> A 32-bit {GNU} {C}/{C++}/etc development system for
	{MS-DOS}.

	{(http://delorie.com/djgpp/)}.

	Address: DJ Delorie, Rochester, NH, USA.

	(1995-04-10)

DjVu

	<application, compression, file format, graphics, web> (pronounced
	like "deja vu") An {image compression} {algorithm} and program
	developed by {Yann LeCun}'s research group at {AT&T Labs}.  DjVu
	provides high {resolution} {digital images} for distribution over
	the {Internet}.  DjVu is five to 20 times more efficient than
	{JPEG} or {GIF}.  A free {web browser} {plug-in} allows users to
	display DjVu images.

	{(http://djvu.research.att.com/)}.

	(1999-10-07)

DK

	{Datakit}

dk

	<networking> The {country code} for Denmark.

	(1999-01-27)

DL/1

	Query language, linear keyword.

DLC

	{Data Link Control}

DLCI

	{Data Link Connection Identifier}

	[Is this correct?]

	(1997-03-01)

DLE

	<character> Data Link Escape, the {mnemonic} for {ASCII} 16.

	(1996-06-24)

DLG

	(DFA-based Lexical analyser Generator) The {lexical analyser}
	generator in the {Purdue Compiler-Construction Tool Set}.

DL/I

	The data manipulation language of IMS.

DLL

	1. <networking> {Data Link Layer}.

	2. <library> {Dynamically Linked Library}.

	3. {Dial Long Line} equipment.

	(2000-04-05)

DLM

	Distributed Lock Manager on distributed VMS systems.

DLP

	<language> {Distributed Logic Programming}.

	(1996-01-07)

DLPI

	{Data Link Provider Interface}

DLSw

	{Data Link Switching}

DLT

	{Digital Linear Tape}

DLUR/DLUS

	<networking> Dependent Logical Unit Requester/Server.  The
	DLUR function is an {APPN} enhancement for an end node or
	network node that supports dependent {LUs}.  The DLUS function
	is a product feature of an {interchange node} or a {T5}
	network node supporting {session services} extensions.

	{(http://booksrv2.raleigh.ibm.com/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/DLUR7/)}.

	(1997-05-08)

DLZ1

	{Digital Lempel Ziv 1}

dm

	<networking> The {country code} for Dominica.

	(1999-01-27)

DMA

	{Direct Memory Access}

DMAD

	Diagnostic Machine Aid-Digital.  A system for functional
	testing of digital devices.

	["DMAD M/MM Manual", BR-8392, Raytheon Co. (Oct 1973)]

	(1994-11-02)

dmake

	Required by {uC++}.

	{(ftp://plg.uwaterloo.ca/pub/dmake/dmake38.tar.Z)}.

	[What is it?]

	(1994-11-02)

DMALGOL

	{ALGOL} with extensions to interface to {DMS II}, the
	{Burroughs} {database}.

	(1995-02-22)

DME

	{Distributed Management Environment}

DMI

	{Desktop Management Interface}

DML

	<language>

	1. {Data Manipulation Language}.

	2. {Data Management Language}.

	3. ["DML: A Meta-language and System for the Generation of
	Practical and Efficient Compilers from Denotational
	Specifications", M. Pettersson et al, IEEE Conf Comp Langs,
	1992].

	(1999-04-27)

DMM

	{Digital Multimeter}

DMS

	{Dataless Management Services}

DMTF

	{Desktop Management Task Force}

DMU

	{Data Management Unit}

	{Data Manipulation Unit}

	{Data Multiplexer Unit}

	{dataless management utility}

DMZ

	{De-Militarised Zone}

DNA computing

	<architecture> The use of DNA molecules to encode
	computational problems.  Standard operations of molecular
	biology can then be used to solve some {NP-hard} {search
	problems} in parallel using a very large number of molecules.
	The exponential scaling of NP-hard problems still remains, so
	this method will require a huge amount of DNA to solve large
	problems.

	[L. M. Adleman, "Molecular Computation of Solutions to
	Combinatorial Problems", Science 266:1021-1024, 1994].

	(1997-02-11)

DNF

	{disjunctive normal form}

DNIS

	{Dialled Number Identification Service}

DNIX

	<operating system> A flavor of {Unix} that is proprietary to
	{Olivetti} and {Wang Global}.

	[Details?  Reference?]

	(2000-12-16)

DNOS

	{Distributed Network Operating System}

DNS

	1. {Domain Name System}.

	2. Distributed Name Service.  See {DECdns}.

do

	1. <programming> {repeat loop}.

	2. <networking> The {country code} for Dominican Republic.

	(1999-06-10)

DOA

	<jargon> Dead on arrival.  A piece of {hardware} that has
	never worked.

	(2000-12-19)

Doc

	{Directed Oc}

doc

	/dok/ Common spoken and written shorthand for "documentation".
	Often used in the plural "docs" and in the construction "doc
	file" (i.e. documentation available on-line).

	[{Jargon File}]

docking station

	<hardware> A {desktop} mains powered unit into which a
	{laptop} or other portable computer can be connected via fixed
	connectors at the rear of the computer to provide quick and
	convenient connection of {peripherals} not normally used with
	a laptop.  These can include power supply, {expansion cards},
	additional {storage}, an external {monitor}, {network card},
	{CD-ROM}, full-size {keyboard}, {printer}, and {mouse}.  The
	alternative would require each of the above to be connected to
	the laptop individually.

	(2000-04-10)

DOCMaker

	<text, tool, product> An application for the {Apple}
	{Macintosh} which creates stand-alone, self-running document
	{files}.  It features scrollable and re-sizable windows,
	graphics, varied text styles and {fonts}, full printing
	capability, and links to other {software} and {information}.

	Companies such as Federal Express, GTE, {Hewlett-Packard},
	{Iomega}, {Adobe Systems, Inc.}, {Apple Computer} and
	{Aladdin} use DOCMaker to distribute disk-based
	{documentation} with their products.

	{(http://hsv.tis.net/~greenmtn/docm1.html)}.

	(1998-01-27)

doco

	<jargon> /do'koh/ 1. (In-house jargon at Symbolics) A
	documentation writer.

	See also {devo} and {mango}.

	2. (UK) A short technical document.  A "doco" is often not the
	documentation passed to management.

	Compare {doc}.

	[{Jargon File}]

	(1999-10-08)

DOCSIS

	{Data Over Cable Service Interface Specification}

doctype decoration

	<humour> When a {web author} adds a {doctype declaration} but
	doesn't bother to write valid {HTML}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-05-30)

document

	1. <application> Any specific type of {file} produced or
	edited by a specific {application}; usually capable of being
	printed.  E.g. "Word document", "Photoshop document", etc.

	2. <hypertext> A term used on some systems (e.g. {Intermedia})
	for a {hypertext} {node}.  It is sometimes used for a
	collection of nodes on related topics, possibly stored or
	distributed as one.

	3. <programming> To write {documentation} on a certain piece
	of code.

	(2003-10-25)

documentation

	<programming> The multiple kilograms of macerated, pounded,
	steamed, bleached, and pressed trees that accompany most
	modern software or hardware products (see also {tree-killer}).
	Hackers seldom read paper documentation and (too) often resist
	writing it; they prefer theirs to be terse and {on-line}.  A
	common comment on this predilection is "You can't {grep} dead
	trees".

	See {drool-proof paper}, {verbiage}, {treeware}.

	[{Jargon File}]

	(2003-10-25)

Document Examiner

	<hypertext, tool> A high-performance {hypertext} system by
	{Symbolics} that provides on-line access to their user
	documentation.

	(1995-04-16)

Document Image Processing

	(DIP) Storage, management and retrieval of {images}.

	(1994-11-11)

Document Object Model

	<hypertext, language, web> A {W3C} specification
	for {application program interfaces} for accessing the content
	of {HTML} and {XML} documents.

	{(http://w3.org/DOM/)}.

	(1999-12-14)

Document Style Semantics and Specification Language

	(DSSSL) An {ISO} {standard} under preparation, addressing the
	{semantics} of high-quality composition in a manner
	independent of particular formatting systems or processes.
	DSSSL is intended as a complementary standard to {SGML} for
	the specification of semantics.

Document Type Definition

	<text, standard> (DTD) The definition of a document type in
	{SGML} or {XML}, consisting of a set of {mark-up} tags and
	their interpretation.

	{Docbook DTD home (http://oasis-open.org/docbook/)}.

	{XML DTD Tutorial (http://xml101.com/dtd)}.

	(2001-04-30)

DOCUS

	Display Oriented Computer Usage System.  Interactive system
	using push buttons.  Sammet 1969, p.678

DoD

	1. <body> {Department of Defense}.

	2. {Dial on Demand}.

	(2000-03-25)

DoD-1

	Unofficial name of the language that became Ada.

dodgy

	Synonym with {flaky}.  Preferred outside the US

	[{Jargon File}]

DOD-STD-2167A

	<standard> A {DoD} {standard} specifying the overall process
	for the development and documentation of mission-critical
	software systems.

	(1996-05-28)

DoD-STD-2168

	<standard> A {DoD} {standard} for software quality assurance
	procedures.

	(1996-05-29)

DOE

	Distributed Object Environment: a distributed object-oriented
	application framework from SunSoft.

DOF

	{degrees of freedom}

dog

	<tool> An enhanced version of the {Unix} {cat} command that,
	in addition to outputting the contents of files, can output
	the data obtained by fetching {URLs}.  It also offers various
	output options such as line numbering.

	{Unix manual page}:
	{(http://www.penguin-soft.com/penguin/man/1/dog.html)}.

	(2009-06-12)

dogcow

	/dog'kow/  See {Moof}.

	[{Jargon File}]

dogfood

	{eating one's own dogfood}

dogfooding

	{eating one's own dogfood}

dogpile

	({Usenet}, probably from mainstream "puppy pile") When many
	people post unfriendly responses in short order to a single
	posting, they are sometimes said to "dogpile" or "dogpile on"
	the person to whom they're responding.  For example, when a
	religious missionary posts a simplistic appeal to alt.atheism,
	he can expect to be dogpiled.

	(1994-12-08)

dogwash

	/dog'wosh/ (A quip in the "urgency" field of a very optional
	software change request, ca. 1982.  It was something like
	"Urgency: Wash your dog first") A project of minimal priority,
	undertaken as an escape from more serious work.  Many games
	and much {freeware} get written this way, including {this
	dictionary}.

	[{Jargon File}]

	(1994-12-08)

Do It Right the First Time

	<chat> (DIRFT) A programming approach that aims to avoid the
	overheads of debugging and testing incomplete or incorrect code by
	careful specification, design and implementation.  DIRFT contrasts
	with {rapid prototyping} which emphasises the benefits of having
	running code as soon as possible, even if it is not perfect.
	DIRFT is appropriate in the rare cases where the requirements are
	well understood and unlikely to change, e.g. reimplementing
	exactly the same function in a different language.

	(2012-11-17)

Dojo

	{The Dojo Toolkit}

DOL

	Display Oriented Language.  Subsystem of DOCUS.  Sammet 1969,
	p.678.

dollar

	<character> "$" Common names: {ITU-T}: dollar sign.  Rare:
	currency symbol; buck; cash; string; escape (when used as the
	echo of ASCII ESC); ding; cache; {INTERCAL}: big money.

	Well-known uses of the dollar symbol in computing include as a
	prefix on the names of {string} {variables} in {BASIC},
	{shell} and related languages like {Perl}.  In shell languages
	it is also used in {positional parameters} so "$1" is the
	first parameter to a shell script, "$2" the second, etc.

	(2006-09-10)

do loop

	{repeat loop}

DOM

	{Document Object Model}

domain

	1. <networking> A group of computers whose {fully qualified
	domain names} (FQDN) share a common suffix, the "domain name".

	The {Domain Name System} maps {hostnames} to {Internet
	address} using a hierarchical {namespace} where each level in
	the hierarchy contributes one component to the FQDN.  For
	example, the computer foldoc.doc.ic.ac.uk is in the
	doc.ic.ac.uk domain, which is in the ic.ac.uk domain, which is
	in the ac.uk domain, which is in the uk {top-level domain}.

	A domain name can contain up to 67 characters including the
	dots that separate components.  These can be letters, numbers
	and hyphens.

	2. An {administrative domain} is something to do with {routing}.

	3. {Distributed Operating Multi Access Interactive Network}.

	4. <mathematics> In the theory of functions, the set of
	argument values for which a {function} is defined.

	See {domain theory}.

	5. <programming> A specific phase of the {software life cycle}
	in which a developer works.  Domains define developers' and
	users' areas of responsibility and the scope of possible
	relationships between products.

	6. The subject or market in which a piece of software is
	designed to work.

	(2007-10-01)

domain address

	<networking> The name of a {host} on the {Internet} belonging
	to the {hierarchy} of Internet {domains}.

	(1994-10-27)

Domain Analysis

	<systems analysis> 1. Determining the operations, data
	objects, properties and {abstractions} appropriate for
	designing solutions to problems in a given {domain}.

	2. The {domain engineering} activity in which domain knowledge
	is studied and formalised as a domain definition and a domain
	specification.  A {software reuse} approach that involves
	combining software components, subsystems, etc., into a single
	application system.

	3. The process of identifying, collecting organising,
	analysing and representing a {domain model} and software
	architecture from the study of existing systems, underlying
	theory, emerging technology and development histories within
	the domain of interest.

	4. The analysis of systems within a domain to discover
	commonalities and differences among them.

	(1997-12-26)

domain architecture

	<systems analysis> A generic, organisational structure or
	design for software systems in a {domain}.  The domain
	architecture contains the designs that are intended to satisfy
	requirements specified in the {domain model}.  A domain
	architecture can be adapted to create designs for software
	systems within a domain and also provides a framework for
	configuring {assets} within individual software systems.

	(1997-12-26)

Domain Architecture Model

	<systems analysis> A set of software architectures generic to
	a {domain} that define organising frameworks for constructing
	new application designs and implementations within the domain,
	consistent with the domain requirements model.

	(1997-12-26)

domain calculus

	<database> A form of {relational calculus} in which {scalar}
	variables take values drawn from a given {domain}.

	Examples of the domain calculus are {ILL}, {FQL}, {DEDUCE} and
	the well known {Query By Example} (QBE).  {INGRES} is a
	{relational DBMS} whose {DML} is based on the relational
	calculus.

domain engineering

	<systems analysis> 1. The development and evolution of
	{domain} specific knowledge and artifacts to support the
	development and evolution of systems in the domain.  Domain
	engineering includes engineering of {domain models},
	components, methods and tools and may also include {asset
	management}.

	2. The engineering process of analysing and modelling a
	domain, designing and modelling a generic solution
	architecture for a product line within that domain,
	implementing and using reusable components of that
	architecture and maintaining and evolving the domain,
	architecture and implementation models.

	3. A reuse-based approach to defining the scope ({domain
	definition}), specifying the structure ({domain architecture})
	and building the Assets (requirements, designs, software code,
	documentation) for a class of systems, subsystems or
	applications.  Domain engineering can include domain
	definition, domain analysis, developing the domain
	architecture domain implementation.

domain handle

	<networking> Information held by a {domain name} registrar
	about a registrant (the person or organisation that owns the
	name).  Typically the registrar stores one copy of this
	information and refers to that copy for each additional domain
	registered by the same person.  The information would include
	basic contact details: name, e-mail address, etc. and billing
	information.  Some of this information would be used to
	populate the {whois} database entry for a domain.

	{(http://www.easyname.eu/support/domains/20-what-is-a-domain-handle)}.

	(2009-09-17)

domainist

	<jargon> /doh-mayn'ist/ 1. Said of a domain address (as
	opposed to a {bang path}) because the part to the right of the
	"@" specifies a nested series of "domains"; for example,
	esr@snark.thyrsus.com specifies the machine called snark in
	the subdomain called thyrsus within the top-level domain
	called com.  See also {big-endian}.

	2. Said of a site, mailer or routing program which knows how
	to handle domainist addresses.

	3. Said of a person (especially a site admin) who prefers
	domain addressing, supports a domainist mailer, or
	proselytises for domainist addressing and disdains {bang
	paths}.  This term is now (1993) semi-obsolete, as most sites
	have converted.

	[{Jargon File}]

	(1995-04-21)

domain maturity

	<systems analysis> The level of stability and depth of
	understanding that has been achieved in an area for which
	{applications} are developed.

	(1997-12-26)

domain model

	<systems analysis> 1. A definition of the functions, objects,
	data, requirements, relationships and variations in a
	particular {domain}.

	2. A product of {domain analysis} which provides a
	representation of the requirements of the domain.  The domain
	model identifies and describes the structure of data, flow of
	information, functions, constraints and controls within the
	Domain that are included in software systems in the domain.
	The Domain Model describes commonalities and variabilities
	among requirements for software systems in the domain.

	(1997-12-26)

domain name

	{fully qualified domain name}

Domain Name Server

	<spelling> {Domain Name System}.

	(1997-12-15)

Domain Name System

	<networking> (DNS) A general-purpose distributed, replicated,
	data query service chiefly used on {Internet} for translating
	{hostnames} into {Internet addresses}.  Also, the style of
	{hostname} used on the Internet, though such a name is
	properly called a {fully qualified domain name}.  DNS can be
	configured to use a sequence of name servers, based on the
	domains in the name being looked for, until a match is found.

	The name resolution client (e.g. Unix's gethostbyname()
	library function) can be configured to search for host
	information in the following order: first in the local {hosts
	file}, second in {NIS} and third in DNS.  This sequencing of
	Naming Services is sometimes called "name service switching".
	Under {Solaris} is configured in the file /etc/nsswitch.conf.

	DNS can be queried interactively using the command {nslookup}.
	It is defined in {STD 13}, {RFC 1034}, {RFC 1035}, {RFC 1591}.

	{BIND} is a common DNS server.

	{Info from Virtual Office, Inc.
	(http://virtual.office.com/domains.html)}.

	(2001-05-14)

domain selection

	<systems analysis> The prioritisation and selection of one or
	more {domains} for which specific {software reuse} engineering
	projects are to be initiated.

	(1997-12-26)

Domain Software Engineering Environment

	<programming> (DSEE) A proprietary {CASE} framework and
	{configuration management} system from {Apollo}.

	(1996-05-29)

domain-specific language

	<language> A machine-processable language whose terms are
	derived from a {domain model} and that is used for the
	definition of components or software architectures supporting
	that domain.  A domain-specific language is often used as
	input to an application generator.

	(1997-12-26)

domain squatter

	<web> An unscrupulous person who registers a
	{domain name} in the hope of selling it to the rightful,
	expected owner at a profit.  E.g. {(http://foldoc.com/)}.

	(2007-07-15)

domain theory

	<theory> A branch of mathematics introduced by Dana Scott in
	1970 as a mathematical theory of programming languages, and
	for nearly a quarter of a century developed almost exclusively
	in connection with {denotational semantics} in computer
	science.

	In {denotational semantics} of programming languages, the
	meaning of a program is taken to be an element of a domain.  A
	domain is a mathematical structure consisting of a set of
	values (or "points") and an ordering relation, <= on those
	values.  Domain theory is the study of such structures.

	("<=" is written in {LaTeX} as {\subseteq})

	Different domains correspond to the different types of object
	with which a program deals.  In a language containing
	functions, we might have a domain X -> Y which is the set of
	functions from domain X to domain Y with the ordering f <= g
	iff for all x in X, f x <= g x.  In the {pure lambda-calculus}
	all objects are functions or {applications} of functions to
	other functions.  To represent the meaning of such programs,
	we must solve the {recursive} equation over domains,

		D = D -> D

	which states that domain D is ({isomorphic} to) some {function
	space} from D to itself.  I.e. it is a {fixed point} D = F(D)
	for some operator F that takes a domain D to D -> D.  The
	equivalent equation has no non-trivial solution in {set
	theory}.

	There are many definitions of domains, with different
	properties and suitable for different purposes.  One commonly
	used definition is that of Scott domains, often simply called
	domains, which are {omega-algebraic}, {consistently complete}
	{CPOs}.

	There are domain-theoretic computational models in other
	branches of mathematics including {dynamical systems},
	{fractals}, {measure theory}, {integration theory},
	{probability theory}, and {stochastic processes}.

	See also {abstract interpretation}, {bottom}, {pointed
	domain}.

	(1999-12-09)

Domestic Communications Assistance Center

	<body> (DCAC) A joint effort between the U.S. Marshals
	Service, FBI and Drug Enforcement Agency.  The DCAC is charged
	with developing customised hardware for intercepting
	{Internet} and wireless communications. The DCAC is under the
	control and budget of the FBI.

	{CNET article
	(http://news.cnet.com/8301-1009_3-57439734-83/fbi-quietly-forms-secretive-net-surveillance-unit/)}.

	(2012-06-24)

DOMF

	Distributed Object Management Facility.

	An {OMG}-compliant object management system; part of {DOE}.
	Produced by {SunSoft}.

	(1994-11-04)

Donald Knuth

	<person> Donald E. Knuth, the author of the {TeX} document
	formatting system, {Metafont} its {font}-design program and
	the 3 volume computer science "Bible" of {algorithms}, "The
	Art of Computer Programming".

	Knuth suggested the name "{Backus-Naur Form}" and was also
	involved in the {SOL} simulation language, and developed the
	{WEB} {literate programming} system.

	See also {MIX}, {Turingol}.

	(1994-11-04)

dongle

	<hardware> /dong'gl/ (From "dangle" - because it dangles off
	the computer?)

	1. <security> A security or {copy protection} device for
	commercial {microcomputer} programs that must be connected to
	an {I/O port} of the computer while the program is run.
	Programs that use a dongle query the port at start-up and at
	programmed intervals thereafter, and terminate if it does not
	respond with the expected validation code.

	One common form consisted of a serialised {EPROM} and some
	drivers in a {D-25} connector shell.

	Dongles attempt to combat {software theft} by ensuring that,
	while users can still make copies of the program (e.g. for
	{backup}), they must buy one dongle for each simultaneous use
	of the program.

	The idea was clever, but initially unpopular with users who
	disliked tying up a port this way.  By 1993 almost all dongles
	passed data through transparently while monitoring for their
	particular {magic} codes (and combinations of status lines)
	with minimal if any interference with devices further down the
	line.  This innovation was necessary to allow {daisy-chained}
	dongles for multiple pieces of software.

	In 1998, dongles and other copy protection systems are fairly
	uncommon for {Microsoft Windows} software but one engineer in
	a print and {CADD} bureau reports that their {Macintosh}
	computers typically run seven dongles: After Effects, Electric
	Image, two for Media 100, Ultimatte, Elastic Reality and CADD.
	These dongles are made for the Mac's daisy-chainable {ADB}
	port.

	The term is used, by extension, for any physical electronic
	key or transferable ID required for a program to function.
	Common variations on this theme have used the {parallel port}
	or even the {joystick} port or a {dongle-disk}.

	An early 1992 advertisment from Rainbow Technologies (a
	manufacturer of dongles) claimed that the word derived from
	"Don Gall", the alleged inventor of the device.  The company's
	receptionist however said that the story was a myth invented
	for the ad.

	[{Jargon File}]

	(1998-12-13)

	2. A small adaptor cable that connects, e.g. a {PCMCIA}
	{modem} to a telephone socket or a PCMCIA {network card} to an
	{RJ45} {network cable}.

	(2002-09-29)

dongle cracker

	<security> Someone who enables software that has been written
	to require a {dongle} to run without it.

	(2007-06-11)

dongle-disk

	/don'gl disk/ (Or "key disk") A kind of {dongle} consisting of
	a special {floppy disk} that is required in order to perform
	some task.  Some contain special coding that allows an
	application to identify it uniquely, others *are* special code
	that does something that normally-resident programs don't or
	can't.

	For example, {AT&T}'s "Unix PC" would only come up in {root
	mode} with a special boot disk.

	[{Jargon File}]

	(1998-12-13)

Don't do that then!

	<humour> (From an old doctor's office joke about a patient
	with a trivial complaint) A stock response to a user
	complaint.  "When I type control-S, the whole system comes to
	a halt for thirty seconds."  "Well don't do that then!"

	[{Jargon File}]

	(1998-12-13)

donuts

	(Obsolete) A collective noun for any set of memory bits.  This
	usage is extremely archaic and may no longer be live jargon;
	it dates from the days of {ferrite core memories} in which
	each bit was implemented by a doughnut-shaped magnetic
	{flip-flop}.

	[{Jargon File}]

Dooced

	<jargon> Losing your job because of something posted on a
	personal website.  After {(http://dooce.com/)} where Heather
	Armstrong posted details about her job.

	(2012-04-13)

DOOM

	<games> A simulated 3D moster-hunting action game for {IBM
	PCs}, created and published by {id Software}.  The original
	press release was dated January 1993.  A cut-down shareware
	version v1.0 was released on 10 December 1993 and again with
	some bug-fixes, as v1.4 in June 1994.

	DOOM is similar to Wolfenstein 3d (id Software, Apogee) but
	has better {texture mapping}; walls can be at any angle, of
	any thickness and have windows; lighting can fade into the
	distance or come from point sources; floors and ceilings can
	be of any height; many surfaces are animated; up to four
	players can play over a network or two by serial link; it has
	a high {frame rate} (comparable to TV on a {486}/33); DOOM
	isn't just a collection of connected closed rooms like
	Wolfenstein but sounds can travel anywhere and alert monsters
	of your approach.

	The shareware version is available from these sites:
	{Cactus (ftp://cactus.org/pub/IHHD/multi-player/)},
	{Manitoba (ftp://ftp.cc.umanitoba.ca/pub/doom/)},
	{UK (ftp://ftp.demon.co.uk/pub/ibmpc/games/id/)},
	{South Africa (ftp://ftp.sun.ac.za/pub/msdos/games/id/)},
	{UWP ftp (ftp://archive.uwp.edu/pub/msdos/games/id/)},
	{UWP http (http://archive.uwp.edu/pub/msdos/games/id/)},
	{Finland (ftp://ftp.funet.fi/pub/msdos/games/id)},
	{Washington (ftp://wuarchive.wustl.edu/pub/MSDOS_UPLOADS/games/doom)}.

	A {FAQ} by Hank Leukart: {UWP
	(ftp://ftp.uwp.edu/pub/msdos/games/id/home-brew/doom)},
	{Washington
	(ftp://wuarchive.wustl.edu/pub/MSDOS_UPLOADS/games/doomstuff)}.
	{FAQ on WWW (http://venom.st.hmc.edu/~tkelly/doomfaq/intro.html)}.
	{Other links (http://gamesdomain.co.uk/descript/doom.html)}.

	{Usenet} newsgroups: {news:rec.games.computer.doom.announce},
	{news:rec.games.computer.doom.editing},
	{news:rec.games.computer.doom.help},
	{news:rec.games.computer.doom.misc},
	{news:rec.games.computer.doom.playing}, {news:alt.games.doom},
	{news:comp.sys.ibm.pc.games.action},
	{news:comp.sys.ibm.pc.games.announce},
	{news:comp.sys.ibm.pc.games.misc}.

	Mailing List: <listserv@cedar.univie.ac.at> ("sub DOOML" in
	the message body, no subject).

	Telephone: +44 (1222) 362 361 - the UK's first multi-player
	DOOM and games server.

	(1994-12-14)

DOORS

	{Dynamic Object Oriented Requirements System}

doorstop

	Used to describe equipment that is non-functional and halfway
	expected to remain so, especially obsolete equipment kept
	around for political reasons or ostensibly as a backup.  "When
	we get another Wyse-50 in here, that ADM 3 will turn into a
	doorstop."

	Compare {boat anchor}.

	[{Jargon File}]

Dorito Syndrome

	<humour> Feelings of emptiness and dissatisfaction triggered
	by addictive substances that lack nutritional content.  "I
	just spent six hours surfing the Web, and now I've got a bad
	case of Dorito Syndrome."

	(1997-03-30)

DORUM

	{Draft Once ReUse Many}

DOS

	<operating system> 1. The common abbreviation for {MS-DOS}.

	2. {IBM}'s {Disk Operating System}.

	3. Any {disk operating system}.

	(2001-03-16)

DOS/360

	<operating system> The {operating system} announced by {IBM}
	at the low end for the {System/360} in 1964 and delivered in
	1965 or 1966.

	Following the failure of {OS}, IBM designed DOS for the low
	end machines, able to run in 16KB(?) and 64KB memory.

	DOS/360 used three {memory partitions}, but it had no serious
	{memory protection}.  The three partitions were not
	specialised, but frequently one was used for {spooling}
	{punched cards} to {disk}, another one for {batch job}
	execution and another for spooling disk to printers.

	With DOS/VS, introduced in 1970, the number of partitions was
	increased, {virtual memory} was introduced and the minimum
	memory requirements increased.

	Later they released DOS/VSE and ESA/VSE.  DOS/360 successors
	are still alive today (1997) though not as popular as in the
	late 1960s.

	Contrary to the Hacker's {Jargon File}, {GECOS} was not copied
	from DOS/360.

	(1997-09-22)

DOS Protected Mode Interface

	(DPMI) The method which {Microsoft} prescribes for a {DOS}
	program to access {extended memory} under a {multitasking}
	environment, e.g. {Microsoft Windows}.  This service is
	provided by the HIMEM.SYS driver on {IBM PCs}.

	The DPMI specification was finalized in 1990.  The
	specification itself is available from {Intel Literature
	Sales}.

	VCPI (Virtual Control Program Interface), which was an
	alternative, and incompatible method for doing the same thing.

	["Windows 3.1 Secrets", Brian Livingston, 1992, ISBN
	1-878058-43-6, pages 280-281 and 302].

	(1995-01-12)

DOS requester

	<networking> An {MS-DOS} {client} that provides transparent
	redirection of printing and file accesses to a network
	{server}.  It handles levels 3, 4 and 5 of the {Open Systems
	Interconnect} seven layer model.

	A DOS requester under {Novell NetWare} will interface to a
	{network card} driver with an {ODI} interface, and will be
	either a single executable (netx.exe) or a set of {VLMs} that
	are loaded on demand.

	In the {IBM}/{Microsoft} {LAN Manager}/{SMB} world, where
	the name {DOS redirector} is more common, there will be an
	{NDIS} interface driver and a net.exe executable.

	{NetWare Client 32 for DOS/Windows
	(http://developer.novell.com/research/appnotes/1996/may/01/)}.

	{(http://cad.strath.ac.uk/~davidm/projects/guide/requester.html)}.

	(1998-01-05)

dot

	<character> {decimal point}.

	See also {dot file}, {dot notation}.

	(1995-03-14)

dot address

	An {Internet address} in {dot notation}.

dot com

	{com}

dot file

	<operating system, convention> A {Unix} {application program}
	configuration file.  On {Unix}, files named with a leading dot
	are not normally shown in directory listings.  Many programs
	define one or more dot files in which startup or configuration
	information may be optionally recorded; a user can customise
	the program's behaviour by creating the appropriate file in
	the current or {home directory}.

	Dot files tend to proliferate - with every nontrivial
	application program defining at least one, a user's home
	directory can be filled with scores of dot files, without the
	user really being aware of it.  Common examples are .profile,
	.cshrc, .login, .emacs, .mailrc, .forward, .newsrc, .plan,
	.rhosts, .sig, .xsession.

	See also {profile}, {rc file}.

	[{Jargon File}]

	(1994-12-07)

dot leaders

	<text> A row of {full stops} intended to guide the reader's
	eye across the page from a column of variable length items on
	the left to the corresponding items in a column on the right.
	Used, for example, in the contents page of a book to tie a
	heading on the left to its page number on the right.

	(2010-07-25)

dot matrix printer

	<hardware, printer> A kind of printer with a vertical column
	of up to 48 small closely packed needles or "pins" each of
	which can be individually forced forward to press an ink
	ribbon against the paper.  The print head is repeatedly
	scanned across the page and different combinations of needles
	activated at each point.

	Dot matrix printers are noisy compared to {non-impact
	printers}.

	[Other pin arrangements?]

	(1995-03-14)

dot notation

	<networking> {Berkeley Unix} notation for an {Internet
	address}, consisting of one to four numbers (a "dotted quad")
	in {hexadecimal} (leading 0x), {octal} (leading 0), or
	(usually) decimal.  It represents a 32-bit address.  Each
	leading number represents eight bits of the address (high byte
	first) and the last number represents the rest.  E.g. address
	0x25.32.0xab represents 0x252000ab.  By far the most common
	form is four decimal numbers, e.g. 146.169.22.42.

	Many programs accept an address in dot notation in place of a
	{hostname}.

	(2000-08-10)

dot pitch

	<hardware> The distance between a dot and the closest dot of
	the same colour (red, green or blue) on a color {CRT}.  Dot
	pitch is typically from 0.28 to 0.51 mm but large presentation
	monitors may go up to 1.0 mm.  The smaller the dot pitch, the
	crisper the image, 0.31 or less provides a sharp image,
	especially when displaying text.

	Dot pitch measurements between conventional tubes and {Sony}'s
	{Trinitron} tubes are roughly, but not exactly comparable.
	Sony's {CRTs} use vertical stripes, not dots, and its
	measurement is the distance between stripes, not the diagonal
	distance between dots.

	["The Computer Glossary", Alan Freedman].

	(1995-12-14)

dotted quad

	dot notation

double bucky

	Using both the CTRL and META keys.  "The command to burn all
	LEDs is double bucky F."

	This term originated on the Stanford extended-ASCII keyboard,
	and was later taken up by users of the {space-cadet keyboard}
	at MIT.  A typical MIT comment was that the Stanford {bucky
	bits} (control and meta shifting keys) were nice, but there
	weren't enough of them; you could type only 512 different
	characters on a Stanford keyboard.  An obvious way to address
	this was simply to add more shifting keys, and this was
	eventually done; but a keyboard with that many shifting keys
	is hard on touch-typists, who don't like to move their hands
	away from the home position on the keyboard.  It was
	half-seriously suggested that the extra shifting keys be
	implemented as pedals; typing on such a keyboard would be very
	much like playing a full pipe organ.  This idea is mentioned
	in a parody of a very fine song by Jeffrey Moss called "Rubber
	Duckie", which was published in "The Sesame Street Songbook"
	(Simon and Schuster 1971, ISBN 0-671-21036-X).  These lyrics
	were written on May 27, 1978, in celebration of the Stanford
	keyboard:

	                  Double Bucky

	  Double bucky, you're the one!
	  You make my keyboard lots of fun.
	      Double bucky, an additional bit or two:
	  (Vo-vo-de-o!)
	  Control and meta, side by side,
	  Augmented ASCII, nine bits wide!
	      Double bucky!  Half a thousand glyphs, plus a few!
	          Oh,
	          I sure wish that I
	          Had a couple of
	              Bits more!
	          Perhaps a
	          Set of pedals to
	          Make the number of
	              Bits four:
	          Double double bucky!
	  Double bucky, left and right
	  OR'd together, outta sight!
	      Double bucky, I'd like a whole word of
	      Double bucky, I'm happy I heard of
	      Double bucky, I'd like a whole word of you!

	  - The Great Quux

	(With apologies to Jeffrey Moss.  This, by the way, is an
	excellent example of computer {filk} --- ESR).

	See also {meta bit}, {cokebottle}, and {quadruple bucky}.

	[{Jargon File}]

	(1994-12-07)

double-click

	<operating system> Two clicks of a {mouse} button made in
	rapid succession without moving the mouse.  A double-click
	often combines the actions of selecting, and then activating
	an object in a {GUI}, e.g. selecting and opening a document.
	Some {text editors} use double-click to select the word under
	the {mouse pointer}.

	When used as a verb it is often written as two words with a
	space instead of a hyphen.

	(2006-07-09)

Double Data Rate Random Access Memory

	<storage> (DDR-RAM, DDR-SDRAM ...Synchronous...) {RAM} that
	transfers data on both 0-1 and 1-0 {clock} transitions,
	theoretically yielding twice the data transfer rate of normal
	RAM or {SDRAM}.

	{DDR-RAM Article
	(http://pcreview.co.uk/Article.php?aid=9)}.

	{DDR-SDRAM Article
	(http://www4.tomshardware.com/mainboard/00q4/001030/)}.

	(2001-05-24)

Double Data Rate Synchronous Random Access Memory

	{Double Data Rate Random Access Memory}

double DECkers

	<jargon> Married couples in which both partners work for
	{Digital Equipment Corporation}.

	[{Jargon File}]

	(1994-12-07)

double density

	{floppy disk}

doubled sig

	A {sig block} that has been included twice in a {Usenet}
	article or, less commonly, in an {electronic mail} message.
	An article or message with a doubled sig can be caused by
	improperly configured software.  More often, however, it
	reveals the author's lack of experience in electronic
	communication.

	See {BIFF}, {pseudo}.

	[{Jargon File}]

	(1994-12-07)

double-duplex

	<communications> (From {telegraphy}) A {full-duplex} link with
	two telegraphers (a sender and a receiver) at each end, to
	simultaneously transmit in both directions.

	Compare: {single-duplex}.

	(2000-03-30)

double-ended queue

	<algorithm> /dek/ (deque) A {queue} which can have items added
	or removed from either end[?].

	The Knuth reference below reports that the name was coined by
	E. J. Schweppe.

	[D. E. Knuth, "The Art of Computer Programming. Volume 1:
	Fundamental Algorithms", second edition, Sections 2.2.1, 2.6,
	Addison-Wesley, 1973].

	{Silicon Graphics (http://sgi.com/tech/stl/Deque.html)}.

	[Correct definition?  Example use?]

	(2003-12-17)

double quote

	<character> '"' {ASCII} character 34.  Often used in
	programming languages to delimit strings.  In {Unix} {shells}
	and {Perl} it delimits a string inside which variable
	substitution may occur.

	Common names: quote.  Rare: literal mark; double-glitch;
	{ITU-T}: quotation marks; {ITU-T}: dieresis; dirk; {INTERCAL}:
	rabbit-ears; double prime.

	(1995-03-28)

doubly linked list

	<programming> A data structure in which each element contains
	pointers to the next and previous elements in the list, thus
	forming a bidirectional linear list.

	(1995-03-28)

DOUGLAS

	<language> An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-07)

Douglas Engelbart

	<person> Douglas C. Engelbart, the inventor of the {mouse}.

	On 1968-12-09, Douglas C. Engelbart and the group of 17
	researchers working with him in the {Augmentation Research
	Center} at {Stanford Research Institute} in Menlo Park,
	California, USA, presented a 90-minute live public
	demonstration of the on live system, {NLS}, they had been
	working on since 1962.  The presentation was a session in the
	of the Fall Joint Computer Conference held at the Convention
	Center in San Francisco, and it was attended by about 1000
	computer professionals.  This was the public debut of the
	computer {mouse}, {hypertext}, object addressing, dynamic file
	linking and shared-screen collaboration involving two persons
	at different sites communicating over a network with audio and
	video interface.

	The original 90-minute video: {Hyperlinks
	(http://vodreal.stanford.edu/engel/08engel200.ram)}, {Mouse
	(http://vodreal.stanford.edu/engel/12engel200.ram)},
	{Web-board
	(http://vodreal.stanford.edu/engel/23engel200.ram)}.

	{Biography (http://www2.bootstrap.org/dce-bio.htm)}.

	{Tia O'Brien, "The Mouse", Silicon Valley News
	(http://mercurycenter.com/svtech/news/special/engelbart/)}.

	{(http://inventors.about.com/library/weekly/aa081898.htm)}.

	(2003-08-06)

Doug Lenat

	<person> One of the world's leading computer scientists
	specialising in {Artificial Intelligence}.  He is currently
	(1999) head of the {Cyc} Project at {MCC}, and President of
	Cycorp.  He has been a Professor of Computer Science at
	{Carnegie-Mellon University} and {Stanford University}.

	See also {microLenat}.

	(1999-08-24)

DOW COMPILER

	An early system on the {Datatron 200} series.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-07)

Do What the Fuck You Want to Public License

	<legal> (WTFPL) An obscenely permissive {license} for {software}
	and other scientific or artistic works.  As the name suggests, the
	WTFPL does not restrict what you can do with the licenced work at
	all.  The only restriction on the use of the license itself is
	that if you change it you also change the name.

	The WTFPL aims to expose and remove the problems of the popular
	but competing {GPL} and {BSD} licences.

	Since, according to its own terms, the license can be completely
	ignored, it can be little more than an amusing paradox.

	{Unlicense} is a more serious template for dedicating {software}
	to the {public domain}.

	{WTFPL Home (http://www.wtfpl.net/)}.

	(2013-11-05)

down

	1. Not operating.  "The up escalator is down" is considered a
	humorous thing to say, and "The elevator is down" always
	means "The elevator isn't working" and never refers to what
	floor the elevator is on.  With respect to computers, this
	term has passed into the mainstream; the extension to other
	kinds of machine is still hackish.

	2. "go down" To stop functioning; usually said of the
	{system}.  The message from the {console} that every hacker
	hates to hear from the operator is "System going down in 5
	minutes".

	3. "take down", "bring down" To deactivate purposely, usually
	for repair work or {PM}.  "I'm taking the system down to work
	on that bug in the tape drive."  Occasionally one hears the
	word "down" by itself used as a verb in this sense.

	See {crash}; opposite: {up}.

	[{Jargon File}]

	(1994-12-07)

download

	<jargon> To transfer data from one computer to another.
	Downloading usually refers to transfer from a larger "host"
	system (especially a {server} or {mainframe}) to a smaller
	"client" system, especially a {microcomputer} or specialised
	peripheral, and "{upload}" usually means from small to large.

	Others hold that, technically, download means "receive" and
	upload means "send", irrespective of the size of the systems
	involved.

	Note that in communications between ground and space,
	space-to-earth transmission is always "down" and the reverse
	"up", regardless of size.  So far the in-space machines have
	invariably been smaller; thus the upload/download distinction
	has been reversed from its usual sense.

	[{Jargon File}]

	(2003-11-04)

downloading

	{download}

downsizing

	<jargon> The process of moving an {application program} from a
	{mainframe} to a cheaper system, typically a {client-server}
	system.

	(1995-03-27)

downstream

	{upstream}

down-time

	<jargon> A period of time during which a (computer) system is
	not operational, due to a malfunction or maintenance.

	(1997-06-08)

downward closed

	{closure}

Downy cocktail

	{cationic cocktail}

DP

	1. {data processing}.

	According to hackers, use of the term marks one immediately as
	a {suit}.

	See {DPer}.

	2. {dot pitch}.

	3. {Dissociated Press}.

	[{Jargon File}]

	(1996-07-22)

DPA

	{Data Protection Act}

DPB

	/d*-pib'/ The {PDP-10} instruction "DePosit Byte" that inserts
	some bits into the middle of some other bits.  Hackish usage
	has been kept alive by the {Common LISP} function of the same
	name.

	[{Jargon File}]

	(1994-12-07)

DPer

	/dee-pee-er/ Data Processor.  Hackers are absolutely amazed
	that {suits} use this term self-referentially.  *Computers*
	process data, not people!

	See {DP}.

	[{Jargon File}]

	(1994-12-07)

dpi

	Dots per inch.

	A measure of resolution for printers, scanners and displays.

	{Laser printers} typically reach 300 DPI, though 600 DPI is
	becoming more common.  Commercial typesetters are usually
	around 1200 DPI.

	(1995-01-05)

DPL

	DECmmp Parallel Language.

	A {C}-like parallel language for the {DECmpp} machine.

	(1994-12-07)

DPL-82

	["DPL-82: A Language for Distributed Processing", L. Ericson,
	Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp.526-531].

	(1994-12-07)

DPLL

	{Digital Phase-Locked Loop}

DPMI

	{DOS Protected Mode Interface}

DPMS

	<hardware> {Display Power Management Signaling}.

	(1995-12-11)

DPN

	{Decomposed Petri Net}

DPP

	{Dining Philosophers Problem}

d-Prolog

	<language> A version of {Prolog} extended with {defeasible
	reasoning}.

	{(ftp://aisun1.ai.uga.edu/ai.prolog/)} for {MS-DOS} and {Unix}.

	(1994-12-07)

DPS

	1. <language, text> {Display PostScript}.

	2. <language> A {real-time} language with direct
	expression of timing requests.

	["Language Constructs for Distributed Real-Time PRogramming",
	I. Lee et al Proc IEEE Real-Time Sys Symp pp.57-66 (Dec
	1985)].

	[What does it stand for?]

	(1995-03-28)

DPS-6

	<computer> A {Honeywell} {minicomputer} from the 1980s-1990s.
	It originally ran the {GCOS-6} {operating system}.

	(2004-08-24)

dpSather

	{Data-parallel} {Sather}.  {deterministic} {fine-grained
	parallelism}.

	E-mail: <hws@csis.dit.csiro.au>.
	{(ftp://lynx.csis.dit.csiro.au/p/pub/ather/dpsather.papers)}.

DPSK

	<communications> {Differential Phase-Shift Keying}.

DQDB

	{Distributed Queue Dual Bus}

draco

	A blend of {Pascal}, {C} and {ALGOL 68} developed by Chris
	Gray in 1987.  It has been implemented for {CP/M-80} and
	{Amiga}.

	(1994-11-04)

Draft Once ReUse Many

	<jargon> (DORUM) Reusing parts of a document to produce parts
	of an entirely new document.  The term normally refers to text
	documents but the practise is equally common in programming.

	(1998-05-09)

drag

	{drag and drop}

drag and drop

	A common method for manipulating files (and sometimes text)
	under a {graphical user interface} or {WIMP} environment.  The
	user moves the pointer over an icon representing a file and
	presses a mouse button.  He holds the button down while moving
	the pointer (dragging the file) to another place, usually a
	directory viewer or an icon for some {application program},
	and then releases the button (dropping the file).  The meaning
	of this action can often be modified by holding certain keys
	on the keyboard at the same time.

	Some systems also use this technique for objects other than
	files, e.g. portions of text in a {word processor}.

	The biggest problem with drag and drop is does it mean "copy"
	or "move"?  The answer to this question is not intuitively
	evident, and there is no consensus for which is the right
	answer.  The same vendor even makes it move in some cases and
	copy in others.  Not being sure whether an operation is copy
	or move will cause you to check very often, perhaps every time
	if you need to be certain.  Mistakes can be costly.  People
	make mistakes all the time with drag and drop.  {Human
	computer interaction} studies show a higher failure rate for
	such operations, but also a higher "forgiveness rate" (users
	think "silly me") than failures with commands (users think
	"stupid machine").  Overall, drag and drop took some 40 times
	longer to do than single-key commands.

	[Erik Naggum <erik@naggum.no>]

	(2007-06-15)

dragging

	{drag}

drag-n-drop

	<spelling> Stupid spelling of {drag and drop}.

	(1996-12-13)

DRAGON

	1. An {Esprit} project aimed at providing effective support to
	{reuse} in {real-time} distributed {Ada} {application
	programs}.

	2. An implementation language used by {BTI Computer Systems}.

	E-mail: Pat Helland <helland@hal.com>.

	[{Jargon File}]

	(1994-12-08)

dragon

	[MIT] A program similar to a {daemon}, except that it is not
	invoked at all, but is instead used by the system to perform
	various secondary tasks.  A typical example would be an
	accounting program, which keeps track of who is logged in,
	accumulates load-average statistics, etc.  Under ITS, many
	terminals displayed a list of people logged in, where they
	were, what they were running, etc., along with some random
	picture (such as a unicorn, Snoopy or the Enterprise), which
	was generated by the "name dragon".  Use is rare outside
	{MIT}, under {Unix} and most other {operating systems} this
	would be called a "background {demon}" or {daemon}.  The
	best-known Unix example of a dragon is {cron}.  At {SAIL},
	they called this sort of thing a "phantom".

	[{Jargon File}]

Dragon Book

	<publication> The classic text "Compilers: Principles,
	Techniques and Tools", by Alfred V. Aho, Ravi Sethi, and
	Jeffrey D.  Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6).
	So called because of the cover design featuring a dragon
	labelled "complexity of compiler design" and a knight bearing
	the lance "LALR parser generator" among his other trappings.
	This one is more specifically known as the "Red Dragon Book"
	(1986); an earlier edition, sans Sethi and titled "Principles
	Of Compiler Design" (Alfred V. Aho and Jeffrey D. Ullman;
	Addison-Wesley, 1977; ISBN 0-201-00022-9), was the "Green
	Dragon Book" (1977).  (Also "New Dragon Book", "Old Dragon
	Book".)  The horsed knight and the Green Dragon were warily
	eying each other at a distance; now the knight is typing
	(wearing gauntlets!) at a terminal showing a video-game
	representation of the Red Dragon's head while the rest of the
	beast extends back in normal space.

	See also {book titles}.

	(1996-12-03)

DRAGOON

	<language> A {distributed}, {concurrent}, {object-oriented}
	{Ada}-based language developed in the {Esprit} {DRAGON}
	project by Colin Atkinson at {Imperial College} in 1989 (Now
	at University of Houston, Clear Lake).  DRAGOON supports
	object-oriented programming for {embeddable systems} and is
	presently implemented as an Ada {preprocessor}.

	["Object-Oriented Reuse, Concurrency and Distribution: An
	Ada-Based Approach", C. Atkinson, A-W 1991, ISBN
	0-2015-6-5277].

	(1999-11-22)

drain

	<jargon> (IBM) To allow a system to complete the processing of
	its current work before the system becomes unavailable.
	E.g. draining a device before taking it {off-line} or telling
	a {web server} in a {server farm} not to accept any new
	requests but to finish processing any requests it has already
	accepted.

	[{Jargon File}]

	(2005-07-18)

DRAM

	{dynamic random-access memory}

DRAM refresh

	<storage> The operation which cycles through a {DRAM} reading
	each row and writing it back again to compensate for the
	gradual leakage of charge from the {capacitors} which store
	the data.  This may be done by the {CPU} but is often done by
	a dedicated {memory controller}.

	(1997-02-23)

Drawing eXchange Format

	(DXF) A file format for graphical information, similar to
	{IGES}.  Commonly used by {CAD} systems like {AutoCAD}.

	(1994-12-08)

dread high bit disease

	<character> A condition endemic to {PRIME} (also known as
	"PR1ME") {minicomputers} that results in all the characters
	having their high bit (0x80, see {meta bit}) ON rather than
	OFF.  This complicates transporting files to other systems and
	talking to true 8-bit devices.  Folklore had it that PRIME
	adopted the convention in order to save 25 cents per {serial
	line} per machine; PRIME old-timers, on the other hand, claim
	they inherited the disease from {Honeywell} via customer
	NASA's compatibility requirements and struggled heroically to
	cure it.  Whoever was responsible, this probably qualifies as
	one of the most cretinous design tradeoffs ever made.  A few
	other machines have exhibited similar brain damage.

	[{Jargon File}]

	(2002-04-09)

DREAM 6800

	<computer> A computer based on the {Motorola 6800}
	{microprocessor}.

	The DREAM 6800 could be programmed in {CHIP-8}.

	(2002-04-09)

DRECNET

	/drek'net/ [Yiddish/German "dreck", meaning filth] Deliberate
	distortion of DECNET, a networking protocol used in the {VMS}
	community.  So called because DEC helped write the Ethernet
	specification and then (either stupidly or as a malignant
	customer-control tactic) violated that spec in the design of
	DRECNET in a way that made it incompatible.  See also
	{connector conspiracy}.

drill down

	<database> (Or "drill-down analysis") To examine data in
	greater detail, especially, in {reporting}, to interactively
	select some item from a summary and display the data that
	contributed to that item, broken down by some extra parameter.

	For example, when viewing your company's total worldwide sales
	for each month of this year, you might drill down to see
	October's sales by country, then again to see October's sales
	in Afghanistan by product and so on.

	This kind of analysis is often supported by some kind of {data
	warehouse}.

	(2007-06-04)

drill-down analysis

	{drill down}

drive

	<storage> A {peripheral} device that allows a computer to read
	or/or write some storage medium such as a {hard disk}, {floppy
	disk}, {magnetic tape}, {compact disc} or {DVD}.  These would
	be called a {disk drive}, {magnetic tape drive}, etc.  CD and
	DVD drives are known collectively as {optical drives}.  When
	unqualified the term probably refers to a hard disk drive.

	The term "drive" refers particularly to the electrical
	components such as electric motors and head positioning
	system, read-write heads and associated electronics.

	Of the above storage media, typically only hard disks are
	fixed, the rest being removable.  Most PCs in 2009 include one
	disk drive and one optical drive housed in the main PC
	enclosure.  Extra drives can be connected externally via
	{USB}, {SCSI} or {Firewire}.  Magnetic tape is always
	removable and tape drives are typically external.

	Not to be confused with a "driver" meaning {device driver} -
	software used to access a peripheral device.

	(2009-12-01)

driver

	1. <operating system> {device driver}.

	2. <programming> The {main loop} of an event-processing
	program; the code that gets commands and dispatches them for
	execution.

	3. <tool> In the {TeX} world and the computerised typesetting
	world in general, a program that translates some
	device-independent or other common format to something a real
	device can actually understand.

	[{Jargon File}]

drivers

	{driver}

Dr. James H. Clark

	<person> The founder of {Silicon Graphics, Inc.} and
	co-founder of {Netscape Communications Corporation}.

	(1998-05-21)

DRM

	1. {Digital Rights Management}

	2. {Digital Radio Mondiale}

	(2006-02-02)

droid

	<robotics> (From "android") The robots of the Star Wars
	universe.  While androids look somewhat human-like, Star Wars'
	droids are typically fashioned in the likeness of their
	creators or in a utilitarian design that stresses function
	over appearance.  Droids are equipped with artificial
	intelligence, though some are naturally created smarter than
	others depending on the function they are designed to serve.

	"Droid" is a Lucasfilm Ltd. trademark.

	{starwars.com (http://starwars.com/databank/droid/)}.

	["A Guide to the Star Wars Universe", Bill Slavicsek, 1994,
	Lucasfilm Ltd.]

	[Was George Lucas really the first to use the abbreviation (in
	1977)?]

	(2006-07-21)

DROOL

	<games> Dave's Recycled Object-Oriented Language.  Language
	for writing adventure games.  An updated implementation of
	AdvSys.  {multiple inheritance}, garbage collection.

	["Dave's Recycled OO Language", David Betz, Dr. Dobbs J, Oct
	1993, pp.74-78].

drool-proof paper

	<jargon> Documentation that has been obsessively {dumbed
	down}, to the point where only a {cretin} could bear to read
	it, is said to have succumbed to the "drool-proof paper
	syndrome" or to have been "written on drool-proof paper".  For
	example, this is an actual quote from {Apple Computer}'s
	LaserWriter manual: "Do not expose your LaserWriter to open
	fire or flame."

	[{Jargon File}]

	(1997-06-23)

drop cable

	Wiring between a computer and its {Ethernet transceiver}.
	Maximum length if full-spec is 47m.

drop-down list

	{pull-down list}

drop-down menu

	{pull-down menu}

drop-ins

	[analogy with {drop-outs}] Spurious characters appearing on a
	terminal or console as a result of {line noise} or a system
	malfunction of some sort.  Especially used when these are
	interspersed with one's own typed input.

	[{Jargon File}]

drop on the floor

	To react to an error condition by silently discarding messages
	or other valuable data.  "The gateway ran out of memory, so it
	just started dropping packets on the floor."  Also frequently
	used of faulty mail and netnews relay sites that lose
	messages.  See also {black hole}, {bit bucket}.

drop-outs

	1. A variety of "power glitch" (see {glitch}); momentary zero
	voltage on the electrical mains.

	2. Missing characters in typed input due to software
	malfunction or system overload (one cause of such behaviour
	under {Unix} when a bad connection to a modem swamps the
	processor with spurious character interrupts; see {screaming
	tty}).

	3. Mental glitches; used as a way of describing those
	occasions when the mind just seems to shut down for a couple
	of beats.  See {glitch}, {fried}.

	[{Jargon File}]

	(2001-02-22)

DrScheme

	<Scheme> A popular {Scheme} implementation from the {PLT} team
	at {Rice University}.

	{(http://cs.rice.edu/CS/PLT/packages/drscheme/)}.

	(2001-02-22)

DRUCO I

	Early system on IBM 650.  Listed in CACM 2(5):16 (May 1959).

drugged

	(Or "on drugs") 1. Conspicuously stupid, heading toward
	{brain-damaged}.  Often accompanied by a pantomime of toking a
	joint.

	2. Of hardware, very slow relative to normal performance.

	[{Jargon File}]

	(2011-12-03)

drug report

	<humour> A {bug report} so utterly incomprehensible that
	whoever submitted it must have been smoking crack.  Even
	worse than a {chug report}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2011-12-03)

drum

	Ancient slow, cylindrical magnetic media that were once
	state-of-the-art storage devices.  Under {BSD} {Unix} the disk
	partition used for swapping is still called "/dev/drum"; this
	has led to considerable humour and not a few straight-faced
	but utterly bogus "explanations" getting foisted on {newbies}.

	See also "{The Story of Mel}".

	(1994-12-22)

drunk mouse syndrome

	(Also "mouse on drugs") A malady exhibited by the mouse
	pointing device of some computers.  The typical symptom is for
	the mouse cursor on the screen to move in random directions
	and not in sync with the motion of the actual mouse.  Can
	usually be corrected by unplugging the mouse and plugging it
	back again.  Another recommended fix for optical mice is to
	rotate your {mouse mat} 90 degrees.

	At {Xerox PARC} in the 1970s, most people kept a can of copier
	cleaner (isopropyl alcohol) at their desks.  When the steel
	ball on the mouse had picked up enough {cruft} to be
	unreliable, the mouse was doused in cleaner, which restored it
	for a while.  However, this operation left a fine residue that
	accelerated the accumulation of cruft, so the dousings became
	more and more frequent.  Finally, the mouse was declared
	"alcoholic" and sent to the clinic to be dried out in a CFC
	ultrasonic bath.

	[{Jargon File}]

dry run

	<programming> To execute a program by hand, writing values of
	variables and other run-time data on paper, in order to check
	its operation and {control flow} or to track down a {bug} (as
	part of {debugging}).  A dry run is an extreme form of {desk
	check} or {code review} and is practical only for fairly
	simple programs, small amounts of data and simple external
	interfaces.  It was often performed {off-line} using a
	{hardcopy} of the {source code}.

	Dry runs were common practice in the days when access to
	computers was limited but the availability of {screen editors}
	and fast {compilers} makes {debugging by printf} a more
	productive method in most cases.  Sophisticated {debuggers}
	that allow you to get the computer to step through your source
	code line by line and show values of variables make even this
	unnecessary.

	(2006-11-27)

DS0

	<communications> The zeroth {DS level}, having a transmission
	rate of 64,000 bits per second (64 kb/s), intended to carry
	one {voice channel} (a phone call).

	(2001-03-18)

DS1

	<communications> A {DS level} and {framing specification} for
	synchronous digital streams, over circuits in the North
	American {digital transmission hierarchy}, at the {T1}
	transmission rate of 1,544,000 bits per second ({baud}).

	DS1 is commonly used to multiplex 24 {DS0} channels.  Each DS0
	channel, originally a digitised voice-grade telephone signal,
	carries 8000 bytes per second (64,000 bits per second).  A DS1
	frame includes one byte from each of the 24 DS0 channels and
	adds one {framing bit}, making a total of 193 bits per frame
	at 8000 frames per second.  The result is 193*8000 = 1,544,000
	bits per second.

	In the original standard, the successive framing bits
	continuously repeated the 12-bit sequence 110111001000, and
	such a 12-frame unit is called a super-frame.  In voice
	telephony, errors are acceptable (early standards allowed as
	much as one frame in six to be missing entirely), so the least
	significant bit in two of the 24 streams was used for
	signaling between network equipments.  This is called
	{robbed-bit signaling}.

	To promote error-free transmission, an alternative called the
	extended super-frame (ESF) of 24 frames was developed.  In
	this standard, six of the 24 framing bits provide a six bit
	{cyclic redundancy check} (CRC-6), and six provide the actual
	framing.  The other 12 form a virtual circuit of 4000 bits per
	second for use by the transmission equipment, for {call
	progress signals} such as busy, idle and ringing.  DS1 signals
	using ESF equipment are nearly error-free, because the CRC
	detects errors and allows automatic re-routing of connections.

	Compare {T-carrier systems}.

	[Kenneth Sherman, "Data Communications : a user's guide",
	third edition (1990), Reston/Prentice-Hall/Simon & Schuster].

	(1996-03-30)

DS1C

	<communications> A {DS level} and {framing specification} for
	digital signals in the North American digital transmission
	hierarchy.  A DS1C signal uses 48 {PCM} channels and has a
	transmission rate of 3.15 Megabits per second, twice that of
	{DS1}.

	DS1C uses two {DS1} signals combined and sent on a 3.152
	megabit per second {carrier} which allows 64 kilobits per
	second for synchronisation and {framing} using "{pulse
	stuffing}".  The channel 2 signal is logically inverted, and a
	framing bit is stuffed in two out of three code words,
	resulting in 26-bit information units.  The channels are
	interleaved and then scrambled by the addition {modulo} 2 of
	the signal with the previous bit.  Finally the bit stream is
	combined with a control bit sequence that permits the
	{demultiplexor} to function by preceding each 52 bits with one
	DS1C framing bit.  A series of 24 such 53-bit frames forms a
	1272-bit "M-frame".

	(1995-02-07)

DS2

	<communications> A {DS level} and {framing specification} for
	digital signals in the North American digital transmission
	hierarchy.  A DS2 signal uses 96 {PCM} channels and has a
	transmission rate of 6.31 Megabits per second, twice that of
	{DS1C}.

	(1995-02-07)

DS3

	<communications> The third {DS level}, a {framing
	specification} for digital signals in the North American
	digital transmission hierarchy.  A DS3 signal has a
	transmission rate of 44.736 Megabits per second.

	DS3 is used, for example, on {T3} synchronous {Integrated
	Services Digital Network} lines.

	(1995-01-12)

DSA

	{Directory System Agent}

DSDM

	{Dynamic Systems Development Method}

DSE

	1. Display Screen Equipment.  See {Visual Display Unit}.

	2. {Data Structure Editor}.

	(2002-11-09)

DSEE

	{Domain Software Engineering Environment}

D-shell connector

	<hardware> One of the family of connectors: DA-15, {DB-25},
	DC-37, DD-50, {DE-9}, and DEH-15 [VGA].  The "D" is the shape
	of the shell, the next letter determines connector size, and
	the number is the maximum pin count.

	(1999-12-08)

DSI

	{Delivered Source Instruction}

DSL

	1. <communications> {Digital Subscriber Line}.

	2. <language> {Digital Simulation Language}.

	3. <language> {Denotational Semantics Language}.

	(1996-10-13)

DSLAM

	{Digital Subscriber Line Access Module}

DS level

	<communications> (Digital Signal or Data Service level)
	Originally an {AT&T} classification of transmitting one or
	more voice conversations in one digital data stream.  The best
	known DS levels are {DS0} (a single conversation), {DS1} (24
	conversations multiplexed), {DS1C}, {DS2}, and {DS3}.

	By extension, the DS level can refer to the raw data rate
	necessary for transmission:

	 DS0      64 Kb/s
	 DS1   1.544 Mb/s
	 DS1C  3.15  Mb/s
	 DS2   6.31  Mb/s
	 DS3  44.736 Mb/s
	 DS4 274.1   Mb/s

	(where K and M signify multiplication by 1000 and 1000000,
	rather than powers of two).  In this sense it can be used to
	measure of data service rates classifying the user access
	rates for various point-to-point {WAN} technologies or
	standards (e.g. {X.25}, {SMDS}, {ISDN}, {ATM}, {PDH}).

	Japan uses the US standards for DS0 through DS2 but Japanese
	DS5 has roughly the circuit capacity of US DS4, while the
	European standards are rather different (see {E1}).  In
	the US all of the transmission rates are integral multiples of
	8000 bits per second but rates above DS1 are not necessarily
	integral multiples of 1,544 kb/s.

	(1998-05-18)

DSM

	1. Data Structure Manager.

	An {object-oriented} language by J.E. Rumbaugh and M.E. Loomis
	of {GE}, similar to {C++}.  It is used in implementation of
	{CAD}/{CAE} software.  DSM is written in DSM and {C} and
	produces {C} as output.

	["DSM: An Object-Relationship Modeling Language", A. Shah et
	al, SIGPLAN Notices 24(10):191-202 (OOPSLA '89) (Oct 1989)].

	2. {DIGITAL Standard MUMPS}.

	(1995-01-10)

DSN

	{Digital Switched Network}

DSO

	{dynamic shared object}

DSORG

	{data set organization}

DSP

	{digital signal processing}

DSP32 Assembly Language

	A high-level assembly language for the DSP32
	Programmable DSP Chip.

DSP56000

	A {digital signal processing} chip from {Motorola}.

	An assembler called {a56} and a port of {gcc} called
	{dsp56k-gcc} are available.

DSP56001

	A {digital signal processing} chip from {Motorola}.

	An assembler called {a56} is available.

dsp56165-gcc

	A port of {gcc} version 1.40 to the {Motorola} {DSP56156} and
	{DSP56000} by Andrew Sterian <asterian@eecs.umich.edu>.

	{alt.sources}

dsp56k-gcc

	{Motorola}'s port of {gcc} version 1.37.1 to the {Motorola}
	{DSP56000}.

	{Finland
	(ftp://nic.funet.fi/pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z)}.
	{Australia
	(ftp://evans.ee.adfa.oz.au/pub/micros/56k/g56k.tar.Z)}.

DSP/C

	Numerical extension to C, for DSP applications.

	["DSP/C: A Standard High Level Language for DSP and Numeric
	Processing", K. Leary & W.  Waddington, Proc ICASSP 90, Apr
	1990, pp.1065-1068].

DSPL

	{Digital Signal Processing Language}

DSR

	{Dynamic Service Register}

DSS

	1. {Decision Support Systems}.

	2. {Digital Signature Standard}.

	(1995-11-16)

DSSSL

	{Document Style Semantics and Specification Language}

DST

	Daylight-Saving Time.

DSU

	1. <communications> {Data Service Unit}.

	2. {Disk Subsystem Unit} ({Artecon}).

	3. <humour> {Dwarf Storage Unit}.

	(1996-12-01)

DSVD

	{Digital Simultaneous Voice and Data}

DSW

	{penis war}

DTALGOL

	Decision Table ALGOL.

	An {ALGOL} superset from {Victoria University}, Wellington
	that added {decision tables} and runs on {Burroughs Large
	System}.

	(1995-02-02)

DTD

	{Document Type Definition}

DTE

	{Data Terminal Equipment}

DT&E

	{Developmental Test and Evaluation}

DTLS

	{Descriptive Top-Level Specification}

DTMF

	{Dual Tone Multi Frequency}

DTP

	{desktop publishing}

DTR

	{Data Terminal Ready}

DTS

	1. {Distributed Time Service}.

	2. <audio> {Digital Theatre Sound}.

	(2001-12-24)

DTSS

	<operating system> The first commercial {time-sharing} system,
	created by {Dartmouth College} and sold by {General Electric}
	around 1967.

	GE's Information Service Divsion (ISD) marketed DTSS which was
	running on a system called {GE-265} (a combination of the
	{front-end processor} the {Datanet-30} and the {GE-235}).

	DTSS was ported (and significantly improved by GE ISD around
	1965-1966 on a combination of DN-30 and {GE-635}).  This
	proprietary system, called Mk-II, later improved by GE and
	renamed Mk-III, is still working today (1997) as part of the
	GE service bureau that also includes {IBM} and {Unix}
	computers.

	(1997-09-16)

D-type

	1. <hardware> A type of computer peripheral connector so named
	because one side is shorter (with one less pin) than the other
	giving a (squarish) "D" shape.  The connectors have two rows
	of pins (or holes).  Common types are 25-way (13+12 pins) and
	9-way (5+4 pins).  They are often used for serial lines,
	especially {EIA-232}.

	(1995-01-05)

	2. {D-type flip-flop}.

D-type flip-flop

	<hardware> A digital logic device that stores the status of
	its "D" input whenever its clock input makes a certain
	transition (low to high or high to low).  The output, "Q",
	shows the currently stored value.

	Compare {J-K flip-flop}.

	(1995-03-28)

du

	<tool, storage> ("disk usage") The {Unix} command to list the
	amount of disk space consumed by a directory and its
	subdirectories.

	{Unix manual page}: du(1).

	(2004-04-01)

DUA

	{Directory User Agent}

dual

	<mathematics> Every field of mathematics has a different
	meaning of dual.  Loosely, where there is some binary symmetry
	of a theory, the image of what you look at normally under this
	symmetry is referred to as the dual of your normal things.

	In linear algebra for example, for any {vector space} V, over
	a {field}, F, the vector space of {linear maps} from V to F is
	known as the dual of V.  It can be shown that if V is
	finite-dimensional, V and its dual are {isomorphic} (though no
	isomorphism between them is any more natural than any other).

	There is a natural {embedding} of any vector space in the dual
	of its dual:

	    V -> V'': v -> (V': w -> wv : F)

	(x' is normally written as x with a horizontal bar above it).
	I.e. v'' is the linear map, from V' to F, which maps any w to
	the scalar obtained by applying w to v.  In short, this
	double-dual mapping simply exchanges the roles of function and
	argument.

	It is conventional, when talking about vectors in V, to refer
	to the members of V' as covectors.

	(1997-03-16)

DUAL-607

	<language> An early system on the {IBM 701}.

	[CACM 2(5):16 (May 1959)].

	(1994-12-13)

dual-attached

	The form of {FDDI} interface where a device is connected to
	both FDDI token-passing rings, so that uninterrupted operation
	continues in the event of a failure of either of the rings.
	All connections to the main {FDDI} rings are dual-attached.
	Typically, a small number of critical infrastructure devices
	such as {routers} and {concentrators} are dual-attached,
	whereas {host} computers are normally single-attached or
	{dual-homed} to a router or concentrator.

	For example, a ring could be formed between a single router
	and two concentrators (all dual-attached) then all other
	components that need to be fault-tolerant (typically file
	servers) can be {dual-homed} to both concentrators.

	(1994-12-13)

dual boot

	<operating system> Any system offering the user the choice of
	two {operation systems} (OSes) under which to start a
	computer.  A dual boot system allows the user to run programs
	for both operating systems on a single computer (though not
	simultaneously).  The term "multiple boot" or "multiboot"
	extends the idea to more than two OSes.

	The OSes are generally unaware of each other's existence.
	They are installed on separate {hard disk} {partitions} or on
	separate disks.  They may be able to access each other's
	files, possibly via some extra {driver} software if they use
	different {file systems}.

	The OSes need not be completely different - they might be
	different versions of {Microsoft Windows} (e.g. {Windows XP}
	and {Windows NT}) or {Linux} (e.g. {Debian} and {Fedora}).

	A dual boot system differs from an {emulator} such as
	{vmware}, which runs one or more OSes "on top" of the primary
	OS, using its resources.

	(2005-02-01)

dual-homed

	<networking> A kind of connection to a {FDDI} network where a
	{host} is simultaneously connected to two separate devices in
	the same FDDI ring.  One of the connections becomes active
	while the other one is automatically blocked.  If the first
	connection fails, the backup link takes over with no
	perceptible delay.

	A dual-homed device can tolerate a fault in one of its "homes"
	whereas a {dual-attached} device can tolerate a fault in one
	of the rings.

	(1994-12-13)

Dual In-Line

	<hardware> {Dual In-Line Package}.

Dual In-line Memory Module

	<storage> Small circuit boards carrying memory {integrated
	circuits}, with signal and power pins on both sides of the
	board, in contrast to {single-in-line memory modules} (SIMM).

	The individual gold or lead connectors (pins) on SIMMs,
	although they are on both sides of the chip, are connected to
	the same memory chip, while on a DIMM, the connections on each
	side of the module connect to different chips.  This allows
	for a wider data path, as more modules can be accessed at
	once.  DIMM pins are arranged in a zigzag design to allow PCB
	tracks to pass between them.

	The 8-byte DIMM format with dual-sided contacts can
	accommodate 4- and 16-megabit {dynamic RAM} chips, and is
	predicted to handle 64- and 256-Mbit devices.  The 8-byte DIMM
	will hold up to 32 megabytes of memory using 16-Mbit DRAMs,
	but with the 256-Mbit future-generation DRAM, it will be able
	to hold a 64-Mx64 configuration.  Another variation, the
	72-pin {SO-DIMM}, is designed to connect directly to 32 bit
	data buses, and is intended for use in memory-expansion
	applications in {notebook computers}.

	A Dual in-line memory module (DIMM), as opposed to SIMMs (used
	by the majority of the PC industry) allows for a 128-bit data
	path by interleaving memory on alternating memory access
	cycles.  SIMMs on the other hand, have a 64-bit data path.
	Suppliers are unanimous in their belief that the DIMM will
	eventually replace the SIMM as the market's preferred memory
	module.

	(1996-01-28)

Dual In-Line Package

	<hardware> (DIL, DIP) The most common type of package for
	small and medium scale {integrated circuits}, with up to about
	48 pins.  The pins hang vertically from the two long edges of
	the rectangular package, spaced at intervals of 0.1 inch.  The
	pins fit through holes in the circuit board to which they are
	soldered or into a socket.

	[More than 48 pins?]

	(1995-02-06)

dual ported

	A term used to describe memory {integrated circuits} which can
	be accessed simultaneously via two independent address and
	data busses.

	Dual ported memory is often used in {video display} hardware,
	especially in conjunction with {Video Random Access Memory}
	(VRAM).  The two ports allow the video display hardware to
	read memory to display the contents on screen at the same time
	as the CPU writes data to other areas of the same memory.  In
	single-ported memory these two processes cannot occur
	simultanteously, the CPU must wait, thus resulting in slower
	access times.  {Cycle stealing} is one technique used to avoid
	this in single-ported {video memory}.

	(1995-01-12)

dual-stack

	<networking> A term used to describe a network {node} running both
	{IPv4} and {IPv6} {protocol stacks} (or possibly others) at the
	same time.  Such a machine can act as a {protocol converter}
	between the two networks.

	A node without dual-stack support can relay traffic in a protocol
	it does not support natively by use of {tunnelling}.

	{RFC 4213 (http://tools.ietf.org/html/rfc4213)}

	(2013-10-08)

Dual Tone Multi Frequency

	<communications> (DTMF, or "touch-tone") A method used by the
	telephone system to communicate the keys pressed when
	dialling.  Pressing a key on the phone's keypad generates two
	simultaneous tones, one for the row and one for the column.
	These are decoded by the exchange to determine which key was
	pressed.

	(1995-03-28)

duck typing

	<programming> A term coined by Dave Thomas for a kind of
	{dynamic typing} typical of some programming languages, such
	as {Smalltalk}, {Ruby} or {Visual FoxPro}, where a
	{variable}'s {run-time} value determines the operations that
	can be performed on it.

	The term comes from the "duck test": if it walks like a duck
	and quacks like a duck, it must be a duck.

	Duck typing considers the {methods} to which a value responds
	and the {attributes} it posesses rather than its relationship
	to a type hierarchy.  This encourages greater {polymorphism}
	because types are enforced as late as possible.

	{(http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/100511)}.

	(2006-09-13)

DUEL

	<programming> A {front end} to {gdb} by Michael Golan
	<mg@cs.princeton.edu>.  DUEL implements a language designed
	for {debugging} {C} programs.  It features efficient ways to
	select and display data items.  It is normally linked into the
	gdb executable, but could stand alone.  It interprets a subset
	of {C} in addition to its own language.

	Version 1.10.

	{(ftp://ftp.cs.princeton.edu/duel/)}.

	(1993-03-20)

duff

	1. <programming> {Duff's device}.

	2. <person> {Tom Duff}.

Duff's device

	The most dramatic use yet seen of {fall through} in {C},
	invented by Tom Duff when he was at Lucasfilm.  Trying to
	{bum} all the instructions he could out of an inner loop that
	copied data serially onto an output port, he decided to unroll
	it.  He then realised that the unrolled version could be
	implemented by *interlacing* the structures of a switch and a
	loop:

	  register n = (count + 7) / 8;      /* count > 0 assumed */

	  switch (count % 8)
	  {
	  case 0:        do {  *to = *from++;
	  case 7:              *to = *from++;
	  case 6:              *to = *from++;
	  case 5:              *to = *from++;
	  case 4:              *to = *from++;
	  case 3:              *to = *from++;
	  case 2:              *to = *from++;
	  case 1:              *to = *from++;
	                     } while (--n > 0);
	  }

	Shocking though it appears to all who encounter it for the
	first time, the device is actually perfectly valid, legal C.
	C's default {fall through} in case statements has long been
	its most controversial single feature; Duff observed that
	"This code forms some sort of argument in that debate, but I'm
	not sure whether it's for or against."

	[For maximal obscurity, the outermost pair of braces above
	could be actually be removed - {GLS}]

	[{Jargon File}]

	(2001-06-22)

dumbed down

	<jargon> Simplified, with a strong connotation of
	*over*simplified.  Often, a {marketroid} will insist that the
	interfaces and documentation of software be dumbed down after
	the designer has burned untold gallons of midnight oil making
	it smart.  This creates friction.

	See {user-friendly}.

	(1995-04-14)

dumb terminal

	<hardware> A type of {terminal} that consists of a keyboard
	and a display screen that can be used to enter and transmit
	data to, or display data from, a computer to which it is
	connected.  A dumb terminal, in contrast to an {intelligent
	terminal}, has no independent processing capability or
	{auxiliary storage} and thus cannot function as a stand-alone
	device.

	The dumbest kind of terminal is a {glass tty}.  The next step
	up has a minimally {addressable cursor} but no on-screen
	editing or other features normally supported by an
	{intelligent terminal}.

	Once upon a time, when glass ttys were common and addressable
	cursors were something special, what is now called a dumb
	terminal could pass for a smart terminal.

	[Examples?]

	[{Jargon File}]

	(1995-04-14)

dump

	<operating system> 1. An undigested and voluminous mass of
	information about a problem or the state of a system,
	especially one routed to the slowest available output device
	(compare {core dump}), and most especially one consisting of
	{hexadecimal} or {octal} {runes} describing the byte-by-byte
	state of memory, mass storage, or some file.  In {elder days},
	debugging was generally done by "groveling over" a dump (see
	{grovel}); increasing use of high-level languages and
	interactive debuggers has made such tedium uncommon, and the
	term "dump" now has a faintly archaic flavour.

	2. A {backup}.  This usage is typical only at large
	{time-sharing} installations.

	{Unix manual page}: dump(1).

	[{Jargon File}]

	(1994-12-01)

dumpster diving

	/dump'-ster di:'-ving/ 1. The practice of sifting refuse from
	an office or technical installation to extract confidential
	data, especially security-compromising information ("dumpster"
	is an Americanism for what is elsewhere called a "skip").
	Back in AT&T's monopoly days, before paper shredders became
	common office equipment, phone phreaks (see {phreaking}) used
	to organise regular dumpster runs against phone company plants
	and offices.  Discarded and damaged copies of AT&T internal
	manuals taught them much.  The technique is still rumored to
	be a favourite of crackers operating against careless targets.

	2. The practice of raiding the dumpsters behind buildings
	where producers and/or consumers of high-tech equipment are
	located, with the expectation (usually justified) of finding
	discarded but still-valuable equipment to be nursed back to
	health in some hacker's den.  Experienced dumpster-divers not
	infrequently accumulate basements full of moldering (but still
	potentially useful) {cruft}.

	[{Jargon File}]

Dungeon

	{Zork}

dup killer

	/d[y]oop kill'r/ Software that is supposed to detect and
	delete duplicates of a message that may have reached the
	{FidoNet} system via different routes.

	See also {dup loop}.

	[{Jargon File}]

	(1995-02-02)

duplex

	<communications> Used to describe a communications channel
	that can carry signals in both directions, in contrast to a
	{simplex} channel which only ever carries a signal in one
	direction.

	If signals can only flow in one direction at a time the
	communications is "{half-duplex}", like a single-lane road with
	traffic lights at each end.  Walkie-talkies with a
	"press-to-talk" button provide half-duplex communications.

	If signals can flow in both directions simultaneously the
	communications is "{full-duplex}", like a normal two-lane
	road.  Telephones provide full-duplex communications.

	The term "duplex" was first used in wireless, telegraph, and
	telephone communications.  Nearly all communications circuits
	used by computers are two-way, so the term is seldom used.

	{(http://cit.ac.nz/smac/dc100www/dc_014.htm)}.

	(2001-07-21)

Duplex High Speed Data

	(DHSD) A term which describes a {full-duplex} channel that can
	carry 64 kilobits per second.

	This is the kind of service provided by an Inmarsat-B type
	portable earth station or a {leased line} (not {ISDN}).

	(1995-02-02)

dup loop

	<messaging> /d[y]oop loop/ (also "dupe loop") [FidoNet] An
	infinite stream of duplicated, near-identical messages on a
	FidoNet {echo}, the only difference being unique or mangled
	identification information applied by a faulty or incorrectly
	configured system or network gateway, thus rendering {dup
	killers} ineffective.  If such a duplicate message eventually
	reaches a system through which it has already passed (with the
	original identification information), all systems passed on
	the way back to that system are said to be involved in a {dup
	loop}.

	[{Jargon File}]

	(2003-12-15)

Durra

	Description language for {coarse-grained concurrency} on
	heterogeneous processors.  "Durra: A Task-level Description
	Language", M.R.  Barbacci et al, CMU/SEI-86-TR-3, CMU 1986.

dusty deck

	Old software (especially applications) which one is obliged to
	remain compatible with, or to maintain.  {DP} types call this
	"legacy code", a term hackers consider smarmy and excessively
	reverent.  The term implies that the software in question is a
	holdover from card-punch days.  Used especially when referring
	to old scientific and {number crunching} software, much of
	which was written in Fortran and very poorly documented but is
	believed to be too expensive to replace.  See {fossil};
	compare {crawling horror}.

	[{Jargon File}]

DV cartridge

	<games> (Digital Video?)  A plug-in circuit cartridge required
	by some games consoles in order to play {MPEG} video material.

	(1994-11-02)

DVD

	{Digital Versatile Disc}

DVD-R

	{Digital Versatile Disc}

DVD-RAM

	{Digital Versatile Disk Random Access Memory}

DVD-ROM

	{Digital Versatile Disc}

DVI

	1. <file format> (device independent) The usual output format
	of {TeX}, giving a description of a formatted document that is
	not related to any specific hardware or other standard
	document format.  Utilities exist to view and print DVI files
	on various systems and devices.

	2. {Digital Video Input}.

	(2003-09-11)

Dvorak

	<hardware> A configuration of (computer) keyboard keys
	arranged to increase the speed and ease of typing over the
	normal {qwerty} layout; the most common characters (for
	English) have been put on the home row.

	The standard Dvorak International layout is:

	 `~  1!  2@  3#  4%  5^     6^  7&  8*  9(  0)  [\{  ]\}  \\|
	     '"  ,<  .>  p   y      f   g   c   r   l   /?  +=
	     a   o   e   u   i      d   h   t   n   s   -_
	     ;:  q   j   k   x      b   m   w   v   z

	[Do other Dvorak-like layout standards exist for other
	languages?]

	(2002-03-14)

Dwarf Storage Unit

	<humour> (DSU) An {IBM} term for a cupboard.

	(1996-06-24)

DWDM

	{wavelength division multiplexing}

dweeb

	An even lower form of life than the {spod}, found in much the
	same habitat as the former.  though more prevailent on {talker
	systems}.  Unlike spods, upon receiving the desired response
	to the question "Are you male or female?", dweebs will then
	engage upon a detailed description of themselves and how
	wonderful they are, often in the hopes of truly impressing the
	other with their "charm" and "wit".  Nearly all dweebs are
	male, but very few actually live up to the image that they
	present.  Dweebs, unfortunately, are often the cause of
	ill-will, and may well bring a bad reputation to the system in
	question.  They are often, however, easy to wind up and can be
	the source of great mirth to the seasoned user.

dwg

	<filename extension> The {filename extension} for {Autodesk}
	{drawing} files.

	{(http://faqs.org/faqs/graphics/fileformats-faq/part3/)}.

	(2000-08-02)

DWIM

	/dwim/ [acronym, "Do What I Mean" (not what I say)] 1. Able to
	guess, sometimes even correctly, the result intended when
	bogus input was provided.

	2. The BBNLISP/INTERLISP function that attempted to accomplish
	this feat by correcting many of the more common errors.  See
	{hairy}.

	3. Occasionally, an interjection hurled at a balky computer,
	especially when one senses one might be tripping over
	legalisms (see {legalese}).

	Warren Teitelman originally wrote DWIM to fix his typos and
	spelling errors, so it was somewhat idiosyncratic to his
	style, and would often make hash of anyone else's typos if
	they were stylistically different.  Some victims of DWIM thus
	claimed that the acronym stood for "Damn Warren's Infernal
	Machine!'.

	In one notorious incident, Warren added a DWIM feature to the
	command interpreter used at {Xerox PARC}.  One day another
	hacker there typed "delete *$" to free up some disk space.
	(The editor there named backup files by appending "$" to the
	original file name, so he was trying to delete any backup
	files left over from old editing sessions.)  It happened that
	there weren't any editor backup files, so DWIM helpfully
	reported "*$ not found, assuming you meant 'delete *'".  It
	then started to delete all the files on the disk!  The hacker
	managed to stop it with a {Vulcan nerve pinch} after only a
	half dozen or so files were lost.

	The disgruntled victim later said he had been sorely tempted
	to go to Warren's office, tie Warren down in his chair in
	front of his workstation, and then type "delete *$" twice.

	DWIM is often suggested in jest as a desired feature for a
	complex program; it is also occasionally described as the
	single instruction the ideal computer would have.  Back when
	proofs of program correctness were in vogue, there were also
	jokes about "DWIMC" (Do What I Mean, Correctly).  A related
	term, more often seen as a verb, is DTRT (Do The Right Thing);
	see {Right Thing}.

	[{Jargon File}]

DX4

	{Intel DX4}

DXF

	{Drawing Exchange Format}

dyadic

	<programming> {binary} (describing an {operator}).

	Compare {monadic}.

	(1998-07-24)

Dyadic Systems Limited

	{Dyalog Limited}

Dyalog APL

	<language> Arguably the current (2001) market-leading
	implementation of {APL}, from {Dyalog Limited}.  Dyalog APL
	runs under {Windows 95}, {Windows 98}, {Windows NT}, and
	{Windows 2000}; and several popular {UNIX} systems including
	{Linux}.

	Dyalog APL complies with {ISO 8485} and has many features that
	make it good for complex {GUI} applications.

	Dyalog APL was introduced in 1983 and is currently (2002) in
	active development.

	(2003-11-17)

Dyalog Limited

	<company> The company that distributes {Dyalog APL}.
	Previously known as Dyadic Systems Limited.

	{Dyalog Home (http://dyalog.com)}.

	(2003-11-17)

DYANA

	{DYnamics ANAlyzer}

Dylan

	{DYnamic LANguage}

Dylperl

	A {dynamic linking} package for {Perl} by Roberto Salama
	<rs@fi.gs.com>.  Dynamically loaded functions are accessed as
	if they were user-defined functions.  This code is based on
	Oliver Sharp's May 1993 article in Dr. Dobbs Journal ("Dynamic
	Linking under Berkeley Unix").

	Posted to {news:comp.lang.perl} on 1993-08-11.

	(1993-08-11)

dynamic adaptive routing

	Automatic re{routing} of traffic based on analysis of current
	{network} conditions.  This does not include routing decisions
	based on predefined information.

	(1995-01-30)

Dynamic Address Translation

	<architecture> (DAT) Conversion of a {virtual address} into a
	{physical address}, as performed by a {memory management unit}
	and an {operating system} which supports {virtual memory}.

	(1995-01-30)

Dynamically Linked Library

	<library> (DLL) A {library} which is linked to {application
	programs} when they are loaded or run rather than as the final
	phase of {compilation}.  This means that the same block of
	library code can be shared between several {tasks} rather than
	each task containing copies of the routines it uses.  The
	executable is compiled with a library of "{stubs}" which allow
	{link errors} to be detected at {compile-time}.  Then, at {run
	time}, either the system {loader} or the task's entry code
	must arrange for library calls to be patched with the
	addresses of the real shared library routines, possibly via a
	{jump table}.

	The alternative is to make library calls part of the
	{operating system} {kernel} and enter them via some kind of
	{trap} instruction.  This is generally less efficient than an
	ordinary {subroutine} call.

	It is important to ensure that the version of a dynamically
	linked library is compatible with what the executable expects.

	Examples of operating systems using dynamic linking are
	{SunOS} (.so - shared object files), {Microsoft Windows}
	(.dll) and {RISC OS} on the {Acorn} {Archimedes} (relocatable
	modules).

	(1995-12-12)

dynamically scoped

	{dynamic scope}

dynamically typed

	{dynamic typing}

dynamic analysis

	<programming> Evaluation of a program based on its execution.
	Dynamic analysis relies on executing a piece of software with
	selected test data.

	(1996-05-13)

dynamic binding

	The property of {object-oriented programming} languages where
	the code executed to perform a given operation is determined
	at {run time} from the {class} of the operand(s) (the receiver
	of the message).  There may be several different classes of
	objects which can receive a given message.  An expression may
	denote an object which may have more than one possible class
	and that class can only be determined at run time.  New
	classes may be created that can receive a particular message,
	without changing (or recompiling) the code which sends the
	message.  An class may be created that can receive any set of
	existing messages.

	{C++} implements dynamic binding using "{virtual member
	functions}".

	One important reason for having dynamic binding is that it
	provides a mechanism for selecting between alternatives which
	is arguably more robust than explicit selection by
	conditionals or {pattern matching}.  When a new {subclass} is
	added, or an existing subclass changes, the necessary
	modifications are localised: you don't have incomplete
	conditionals and broken patterns scattered all over the
	program.

	See {overloading}.

dynamic database management system

	<database> (dynamic DBMS) A {database} with "value-based"
	relationships where typically the relationship is specified at
	retrieval time and the locations of related records are
	discovered during retrieval.  Both {Independent Logical File}
	(ILF) databases and {relational databases} are value-based.

	The opposite is a {static database management system}.

	(1998-10-07)

Dynamic Data Exchange

	<language> (DDE, originally Dynamic Data Linking, DDL) A
	{Microsoft Windows} 3 {hotlink} {protocol} that allows
	{application programs} to communicate using a {client-server}
	model.  Whenever the server (or "publisher") modifies part of
	a document which is being shared via DDE, one or more clients
	("subscribers") are informed and include the modification in
	the copy of the data on which they are working.

	(1997-06-05)

Dynamic Data Linking

	{Dynamic Data Exchange}

dynamic DBMS

	{dynamic database management system}

Dynamic Drive Overlay

	<storage, software> (DDO) Software to allow a {system BIOS}
	that does not support {Logical Block Addressing} to access
	drives larger than 528 MB.

	The alternatives are to update the system BIOS or install an
	{EIDE controller} card with a suitable on-board BIOS.

	{Seagate
	(http://seagate.com/support/disc/drivers/discfile.shtml)}.

	(2001-03-18)

Dynamic Execution

	<processor> A combination of techniques - {multiple branch
	prediction}, {data flow analysis} and {speculative execution}.
	{Intel} implemented Dynamic Execution in the {P6} after
	analysing the execution of billions of lines of code.

	(1995-05-05)

Dynamic Host Configuration Protocol

	<protocol> (DHCP) A {protocol} that provides a means to
	dynamically allocate {IP address}es to computers on a {local
	area network}.  The {system administrator} assigns a range of
	IP addresses to DHCP and each client computer on the LAN has
	its {TCP/IP} software configured to request an IP address from
	the DHCP server.  The request and grant process uses a lease
	concept with a controllable time period.

	DHCP is defined in {RFC 2131}.

	{Microsoft} introduced DHCP on their {NT server} with version
	3.5 in late 1994.

	{(http://dhcp.org/)}.

	(1998-11-22)

Dynamic HTML

	<language, web> (DHTML) The addition of
	{JavaScript} to {HTML} to allow web pages to change and
	interact with the user without having to communicate with the
	server.  JavaScript allows the behaviour of the page to be
	controlled by code that is downloaded with the HTML.  It does
	this by manipulating the {Document Object Model} (DOM).

	The term DHTML is often also taken to include the use of
	"style" information to give finer control of HTML layout.  The
	style information can be supplied as {Cascading Style Sheets}
	(CSS) or as "style" attributes (which can be manipulated by
	JavaScript).  Layers are often also used with DHTML.

	Both the JavaScript and style data can be included in the HTML
	file or in a separate file referred to from the HTML.  Some
	web browsers allow other languages (e.g. {VBScript} or {Perl})
	to be used instead of JavaScript but this is less common.

	DHTML can be viewed in {Internet Explorer} 4+, {Firefox} and
	{Netscape} Communicator 4+ but, as usual, Microsoft disagree
	on how DHTML should be implemented.  The {Document Object
	Model} Group of the {World Wide Web Consortium} is developing
	standards for DHTML.

	{(http://w3c.org/DOM/)}.

	(2005-10-17)

DYnamic LANguage

	<language> (Dylan) A simple {object-oriented} {Lisp} dialect,
	most closely resembling {CLOS} and {Scheme}, developed by
	Advanced Technology Group East at {Apple Computer}.

	{Thomas} is a Dylan {compiler} implemented in {Scheme}.

	See also {Marlais}.

	["Dylan(TM) an Object-Oriented Dynamic Language", {Apple
	Computer}, Eastern Research and Technology, April 1992].

	(1995-04-19)

dynamic link

	<compiler> A pointer from an {activation record} to the
	{activation record} for the {scope} from which the current
	scope was called at {run time}.  This is used in a {statically
	scoped} language to restore the {environment pointer} on exit
	from a scope.  To access a {non-local variable} in a
	{dynamically scoped} language, dynamic links are followed
	until a binding for the given variable name is found.

	(1995-03-07)

dynamic link library

	{Dynamically Linked Library}

Dynamic Object-Oriented Requirements System

	<programming, tool, product> (DOORS) A tool from {Quality
	Systems & Software Ltd.} for handling all kinds of
	{requirements} (in fact, any information at all) as modules
	containing trees of text objects, qualified by an arbitrary
	number of user-defined attributes, and cross-linked by
	directional links.

dynamic RAM

	{dynamic random-access memory}

dynamic random-access memory

	<storage> (DRAM) A type of {semiconductor} memory in which the
	information is stored in {capacitors} on a {MOS} {integrated
	circuit}.  Typically each {bit} is stored as an amount of
	electrical charge in a storage cell consisting of a capacitor
	and a {transistor}.  Due to leakage the capacitor discharges
	gradually and the memory cell loses the information.
	Therefore, to preserve the information, the memory has to be
	refreshed periodically.  Despite this inconvenience, the DRAM
	is a very popular memory technology because of its high
	density and consequent low price.

	The first commercially available DRAM chip was the {Intel
	1103}, introduced in 1970.

	Early DRAM chips, containing up to a 16k x 1 (16384 locations
	of one bit each), needed 3 supply voltages (+5V, -5V and
	+12V).  Beginning with the 64 kilobit chips, {charge pumps}
	were included on-chip to create the necessary supply voltages
	out of a single +5V supply.  This was necessary to fit the
	device into a 16-pin {DIL} package, which was the preferred
	package at the time, and also made them easier to use.

	To reduce the pin count, thereby helping miniaturisation,
	DRAMs generally had a single data line which meant that a
	computer with an N bit wide {data bus} needed a "bank" of (at
	least) N DRAM chips.  In a bank, the address and control
	signals of all chips were common and the data line of each
	chip was connected to one of the data bus lines.

	Beginning with the 256 kilobit DRAM, a tendency toward
	{surface mount} packaging arose and DRAMs with more than one
	data line appeared (e.g. 64k x 4), reducing the number of
	chips per bank.  This trend has continued and DRAM chips with
	up to 36 data lines are available today.  Furthermore,
	together with surface mount packages, memory manufacturers
	began to offer memory modules, where a bank of memory chips
	was preassembled on a little {printed circuit} board (SIP =
	Single Inline Pin Module, SIMM = Single Inline Memory Module,
	DIMM = Dual Inline Memory Module).  Today, this is the
	preferred way to buy memory for {workstations} and {personal
	computers}.

	DRAM bit cells are arranged on a chip in a grid of rows and
	columns where the number of rows and columns are usually a
	power of two.  Often, but not always, the number of rows and
	columns is the same.  A one megabit device would then have
	1024 x 1024 memory cells.  A single memory cell can be
	selected by a 10-bit row address and a 10-bit column address.

	To access a memory cell, one entire row of cells is selected
	and its contents are transferred into an on-chip buffer.  This
	discharges the storage capacitors in the bit cells.  The
	desired bits are then read or written in the buffer.  The
	(possibly altered) information is finally written back into
	the selected row, thereby refreshing all bits (recharging the
	capacitors) in the row.

	To prevent data loss, all bit cells in the memory need to be
	refreshed periodically.  This can be done by reading all rows
	in regular intervals.  Most DRAMs since 1970 have been
	specified such that one of the rows needs to be refreshed at
	least every 15.625 microseconds.  For a device with 1024 rows,
	a complete refresh of all rows would then take up to 16 ms; in
	other words, each cell is guaranteed to hold the data for 16
	ms without refresh.  Devices with more rows have accordingly
	longer retention times.

	Many varieties of DRAM exist today.  They differ in the way
	they are interfaced to the system - the structure of the
	memory cell itself is essentially the same.

	"Traditional" DRAMs have multiplexed address lines and
	separate data inputs and outputs.  There are three control
	signals: RAS\ (row address strobe), CAS\ (column address
	strobe), and WE\ (write enable) (the backslash indicates an
	{active low} signal).  Memory access procedes as follows:
	1. The control signals initially all being inactive (high), a
	memory cycle is started with the row address applied to the
	address inputs and a falling edge of RAS\ .  This latches the
	row address and "opens" the row, transferring the data in the
	row to the buffer.  The row address can then be removed from
	the address inputs since it is latched on-chip.  2. With RAS\
	still active, the column address is applied to the address
	pins and CAS\ is made active as well.  This selects the
	desired bit or bits in the row which subsequently appear at
	the data output(s).  By additionally activating WE\ the data
	applied to the data inputs can be written into the selected
	location in the buffer.  3. Deactivating CAS\ disables the
	data input and output again.  4. Deactivating RAS\ causes the
	data in the buffer to be written back into the memory array.

	Certain timing rules must be obeyed to guarantee reliable
	operation.  1. RAS\ must remain inactivate for a while before
	the next memory cycle is started to provide sufficient time
	for the storage capacitors to charge (Precharge Time).  2. It
	takes some time from the falling edge of the RAS\ or CAS\
	signals until the data appears at the data output.  This is
	specified as the Row Access Time and the Column Access Time.
	Current DRAM's have Row Access Times of 50-100 ns and Column
	Access Times of 15-40 ns.  Speed grades usually refer to the
	former, more important figure.

	Note that the Memory Cycle Time, which is the minimum time
	from the beginning of one access to the beginning of the next,
	is longer than the Row Access Time (because of the Precharge
	Time).

	Multiplexing the address pins saves pins on the chip, but
	usually requires additional logic in the system to properly
	generate the address and control signals, not to mention
	further logic for refresh.  Therefore, DRAM chips are usually
	preferred when (because of the required memory size) the
	additional cost for the control logic is outweighed by the
	lower price.

	Based on these principles, chip designers have developed many
	varieties to improve performance or ease system integration of
	DRAMs:

	PSRAMs (Pseudo Static Random Access Memory) are essentially
	DRAMs with a built-in address {multiplexor} and refresh
	controller.  This saves some system logic and makes the device
	look like a normal {SRAM}.  This has been popular as a lower
	cost alternative for SRAM in {embedded systems}.  It is not a
	complete SRAM substitute because it is sometimes busy when
	doing self-refresh, which can be tedious.

	{Nibble Mode DRAM} can supply four successive bits on one data
	line by clocking the CAS\ line.

	{Page Mode DRAM} is a standard DRAM where any number of
	accesses to the currently open row can be made while the RAS
	signal is kept active.

	Static Column DRAM is similar to Page Mode DRAM, but to access
	different bits in the open row, only the column address needs
	to be changed while the CAS\ signal stays active.  The row
	buffer essentially behaves like SRAM.

	{Extended Data Out DRAM} (EDO DRAM) can continue to output
	data from one address while setting up a new address, for use
	in {pipelined} systems.

	DRAM used for Video RAM ({VRAM}) has an additional long
	shift register that can be loaded from the row buffer.  The
	shift register can be regarded as a second interface to the
	memory that can be operated in parallel to the normal
	interface.  This is especially useful in {frame buffers} for
	{CRT} displays.  These frame buffers generate a serial data
	stream that is sent to the CRT to modulate the electron beam.
	By using the shift register in the VRAM to generate this
	stream, the memory is available to the computer through the
	normal interface most of the time for updating the display
	data, thereby speeding up display data manipulations.

	SDRAM (Synchronous DRAM) adds a separate clock signal to the
	control signals.  It allows more complex {state machines} on
	the chip and high speed "burst" accesses that clock a series
	of successive bits out (similar to the nibble mode).

	CDRAM (Cached DRAM) adds a separate static RAM array used for
	caching.  It essentially combines main memory and {cache}
	memory in a single chip.  The cache memory controller needs to
	be added externally.

	RDRAM (Rambus DRAM) changes the system interface of DRAM
	completely.  A byte-wide bus is used for address, data and
	command transfers.  The bus operates at very high speed: 500
	million transfers per second.  The chip operates synchronously
	with a 250MHz clock.  Data is transferred at both rising and
	falling edges of the clock.  A system with signals at such
	frequencies must be very carefully designed, and the signals
	on the Rambus Channel use nonstandard signal levels, making it
	incompatible with standard system logic.  These disadvantages
	are compensated by a very fast data transfer, especially for
	burst accesses to a block of successive locations.

	A number of different refresh modes can be included in some of
	the above device varieties:

	RAS\ only refresh: a row is refreshed by an ordinary read
	access without asserting CAS\.  The data output remains
	disabled.

	CAS\ before RAS\ refresh: the device has a built-in counter
	for the refresh row address.  By activating CAS\ before
	activating RAS\, this counter is selected to supply the row
	address instead of the address inputs.

	Self-Refresh: The device is able to generate refresh cycles
	internally.  No external control signal transitions other than
	those for bringing the device into self-refresh mode are
	needed to maintain data integrity.

	(1996-07-11)

dynamic routing

	<networking> (Or "adaptive routing") {Routing} that adjusts
	automatically to network topology or traffic changes.

	(1997-05-08)

DYnamics ANAlyzer

	<language> (DYANA) An early language specialised for
	vibrational and other dynamic physical systems.

	[Sammet 1969, p. 628].

	(1997-07-20)

dynamic scope

	<language> In a dynamically scoped language, e.g. most
	versions of {Lisp}, an {identifier} can be referred to, not
	only in the block where it is declared, but also in any
	function or procedure called from within that block, even if
	the called procedure is declared outside the block.

	This can be implemented as a simple stack of (identifier,
	value) pairs, accessed by searching down from the top of stack
	for the most recent instance of a given identifier.

	The opposite is {lexical scope}.  A common implementation of
	dynamic scope is {shallow binding}.

	(1996-07-11)

dynamic scoping

	{dynamic scope}

Dynamic Systems Development Method

	<programming> (DSDM) An independent software development
	framework.

	{DSDM.org Home (http://dsdm.org/)}.

	[What is it?]

	(2002-02-14)

dynamic translation

	<architecture> A {virtual machine} implementation approach,
	used to speed up execution of {byte-code} programs.  To
	execute a program unit such as a {method} or a {function}, the
	virtual machine compiles its bytecodes into (hardware) machine
	code.  The translated code is also placed in a cache, so that
	next time that unit's machine code can be executed
	immediately, without repeating the translation.

	This technique was pioneered by the commercial {Smalltalk}
	implementation currently known as {VisualWorks}, in the early
	1980s.  Currently it is also used by some implementations of
	the {Java Virtual Machine} under the name {JIT} (Just In Time
	compilation).

	[Peter L. Deutsch and Alan Schiffman. "Efficient
	Implementation of the Smalltalk-80 System", 11th Annual
	Symposium on Principles of Programming Languages, Jan 1984,
	pp. 297-302].

	(2002-04-15)

dynamic typing

	<programming> Enforcement of type rules at {run time} as
	opposed to {compile time}.  Dynamic typing catches more errors
	as run-time exceptions than {static typing}.

	{Tcl}, {Perl}, {PHP}, {Python} and {Visual Basic} are examples
	of dynamically typed languages.  A dynamically typed language
	may have {strong typing} or {weak typing}.

	(2004-07-20)

DYNAMO

	DYNamic MOdels.  A language for continuous {simulation}
	including economic, industrial and social systems, developed
	by Phyllis Fox and A.L. Pugh in 1959.

	Versions include DYNAMO II, DYNAMO II/370, DYNAMO II/F, DYNAMO
	III and Gaming DYNAMO.

	["DYNAMO User's Manual", A.L. Pugh, MIT Press 1976].

Dynix

	<library> A {host-based} library automation system from {Dynix
	Automated Library Systems}.  First installed in 1993, it is
	now used in over 2000 libraries worldwide.

	Dynix runs on {Unix} using the {UniVerse} post relational
	database.  The software is configurable using tables of
	parameters.  It includes modules for cataloguing, circulation,
	OPAC, acquisitions, serials, reserve book room, advance
	bookings, homebound, BiblioBus, Pac Plus for Windows, Kids
	Catalog, Dynix Online Catalog, media bookings, and community
	information.

	{(http://uk.dynix.com/classic.html)}.

	(1995-04-28)

Dynix Automated Library Systems

	<company> The world's largest supplier of library automation
	systems with European offices in France, Germany, Ireland, the
	Netherlands and the UK.

	Dynix sell two library management systems - Horizon
	({client/server}) and, Dynix ({host-based}).  Both have {GUI}
	or {terminal interfaces}.  Dynix also sell other products and
	services for {database} enrichment, interconnectivity, and
	on-line and {CD-ROM} databases.

	{(http://uk.dynix.com/dynix.html)}.

	(1995-04-28)

dynner

	<data, jargon> /din'r/ 32 {bits}, by analogy with {byte}.
	Usage: rare and extremely silly.

	See also {playte}, {tayste}, {crumb}.

	[{Jargon File}]

	(1997-12-03)

DYSAC

	Digital Simulated Analog Computer.

	[Sammet 1969, p. 629].

DYSTAL

	DYnamic STorage ALlocation.

	Adds lists, strings, sorting, statistics and matrix operations
	to Fortran.  Sammet 1969, p.388.  "DYSTAL: Dynamic Storage
	Allocation Language in FORTRAN", J.M. Sakoda, in Symbol
	Manipulation Languages and Techniques, D.G. Bobrow ed, N-H
	1971, pp.302- 311.

	(1995-03-17)

dz

	<networking> The {country code} for Algeria.

	(1999-01-27)

E

	1. An extension of {C++} with {database} types and
	{persistent} {objects}.  E is a powerful and flexible
	{procedural} programming language.  It is used in the {Exodus}
	database system.

	See also {GNU E}.

	{(ftp://ftp.cs.wisc.edu/exodus/E/)}.

	["Persistence in the E Language: Issues and Implementation",
	J.E. Richardson et al, Soft Prac & Exp 19(12):1115-1150 (Dec
	1989)].

	2. <language> A {procedural language} by Wouter van
	Oortmerssen with {semantics} similar to {C}.  E features
	lists, low-level {polymorphism}, {exception} handling, quoted
	expressions, {pattern matching} and {object} {inheritance}.
	{Amiga E} is a version for the {Amiga}.

	(1999-10-05)

E1

	<communications> A European {framing specification} for the
	transmission of 32 {DS0} (64 kb/s) data streams.  By
	extension, it can also denote the transmission rate required
	(2.048 Mb/s = 2048 kb/s).  Unlike {DS1} it is free of
	{bit-robbing}.

	(2002-03-22)

E2

	<communications> A European {framing specification} for the
	transmission of four multiplexed {E1} data streams, resulting
	in a transmission rate of 8.448 Mb/s (= 8448 kb/s).

	(2002-03-22)

E2ES

	{end-to-end solution}

E3

	<communications> A European {framing specification} for the
	transmission of 16 multiplexed {E1} data streams, resulting in
	a transmission rate of 34.368 Mb/s (= 34,368 kb/s).

	(2002-03-22)

E4

	<communications> A European {framing specification} for the
	transmission of 64 multiplexed {E1} data streams, resulting in
	a transmission rate of 139.264 Mb/s (= 139,264 kb/s).

	(2002-03-22)

E5

	<communications> A European {framing specification} for the
	transmission of 256 multiplexed {E1} data streams, resulting
	in a transmission rate of 565.148 Mbps (= 565,148 kb/s).

	(2002-03-22)

E-acute

	<character> "É" - a capital "E" with an acute accent.  Character
	code 201, 0xC9.  Entity reference: &amp;Eacute;.

	(2013-01-13)

EAF

	{Effort Adjustment Factor}

EAG

	{Extended Affix Grammar}

eager evaluation

	Any {evaluation strategy} where evaluation of some or all
	function arguments is started before their value is required.
	A typical example is {call-by-value}, where all arguments are
	passed evaluated.  The opposite of eager evaluation is
	{call-by-need} where evaluation of an argument is only started
	when it is required.

	The term "{speculative evaluation}" is very close in meaning
	to eager evaluation but is applied mostly to parallel
	architectures whereas eager evaluation is used of both
	sequential and parallel evaluators.

	Eager evaluation does not specify exactly when argument
	evaluation takes place - it might be done fully speculatively
	(all {redex}es in the program reduced in parallel) or may be
	done by the caller just before the function is entered.

	The term "eager evaluation" was invented by Carl Hewitt and
	Henry Baker <hbaker@netcom.com> and used in their paper ["The
	Incremental Garbage Collection of Processes", Sigplan Notices,
	Aug 1977.
	{(ftp://ftp.netcom.com/pub/hb/hbaker/Futures.html)}].  It was
	named after their "eager beaver" evaluator.

	See also {conservative evaluation}, {lenient evaluation},
	{strict evaluation}.

	(1994-12-22)

Eagle

	A {dBASE}-like dialect bundled with {Emerald Bay}, sold by
	{Migent} from 1986-1988, later renamed {Vulcan} when {Wayne
	Ratliff} reacquired the product.

EAI

	{Enterprise Application Integration}

EAPROM

	{Electrically Alterable Programmable Read-Only Memory}

earliest deadline first

	<operating system, algorithm> (EDF) A strategy for {CPU} or
	disk access {scheduling}.  With EDF, the task with the
	earliest deadline is always executed first.

	{Scan-EDF} is an example.

	(1995-11-15)

Early PL/I

	<language> (EPL) A {PL/I} subset dialect by McIlroy, Morris et
	al, the first running PL/I {compiler}.  It was used by {Bell
	Labs} and {MIT} to write {Multics}.  EPL had extensions to
	handle the segment/offset nature of {Multics} pointers.

	See also {REPL}, {TMG}.

	["EPL Reference Manual", Project MAC, April 1966].

	[Sammet 1969, p. 542].

	(1995-11-15)

EARN

	<networking> {European Academic and Research
	Network}.

	(1995-11-15)

EAROM

	Electrically Alterable Read-Only Memory.

	{EEPROM}

earthquake

	(IBM) The ultimate real-world shock test for computer
	hardware.  Hackish sources at {IBM} deny the rumor that the
	San Francisco Bay Area quake of 1989 was initiated by the
	company to test quality-assurance procedures at its California
	plants.

	[{Jargon File}]

	(1995-04-22)

Ease

	General purpose parallel programming language, combining the
	process constructs of CSP and the distributed data structures
	of Linda.  "Programming with Ease: Semiotic Definition of the
	Language", S.E. Zenith, <zenith-steven@yale.edu> Yale U
	TR-809, Jul 1990.

EASE II

	Early system on IBM 650.  Listed in CACM 2(5):16 (May 1959).

EASIAC

	Early system on Midac computer.  Listed in CACM 2(5):16 (May
	1959).

EAST

	A {Eureka} project developing a {software engineering}
	{platform}.

	(1994-12-07)

easter egg

	<jargon> (From the custom of the Easter Egg hunt observed in
	the US and many parts of Europe)

	1. A message hidden in the {object code} of a program as a
	joke, intended to be found by persons disassembling or
	browsing the code.

	2. A message, graphic, sound effect, or other behaviour
	emitted by a program (or, on an {IBM PC}, the {BIOS} {ROM}) in
	response to some undocumented set of commands or keystrokes,
	intended as a joke or to display program credits.

	One well-known early Easter egg found in a couple of
	{operating systems} caused them to respond to the command
	"make love" with "not war?".  Many {personal computers}, and
	even satellite control computers, have much more elaborate
	eggs hidden in {ROM}, including lists of the developers' names
	(e.g. {Microsoft Windows} 3.1x), political exhortations and
	snatches of music.  The {Tandy} Color Computer 3 ({CoCo}) had
	images of the entire development team.  Microsoft {Excel} 97
	includes a flight simulator!

	{(http://eeggs.com/)}.

	[{Jargon File}]

	(2003-06-23)

Easter egging

	<jargon> ({IBM}, From the custom of the Easter Egg hunt
	observed in the US and many parts of Europe) The act of
	replacing unrelated components more or less at random in the
	hope that a malfunction will go away.  Hackers consider this
	the normal operating mode of {field circus} techs and do not
	love them for it.

	Compare {Easter egg}, {shotgun debugging}.

	[{Jargon File}]

	(1998-03-18)

Eastern Washington University

	A university 20 miles southwest of Spokane, WA on the edge of
	the rolling Palouse Prairie.

	{(http://ewu.edu/)}.

	Address: Cheney, Washington, USA.

	(1995-02-28)

EASY FOX

	An early system on the {JOHNNIAC} computer.

	[Listed in CACM 2(5):16 (May 1959)].

eat flaming death

	<humour, abuse> A construction popularised among hackers by
	the infamous {CPU Wars} comic; supposedly derive from a
	famously turgid line in a WWII-era anti-Nazi propaganda comic
	that ran "Eat flaming death, non-Aryan mongrels!" or something
	of the sort (however, it is also reported that the Firesign
	Theater's 1975 album "In The Next World, You're On Your Own"
	included the phrase "Eat flaming death, fascist media pigs";
	this may have been an influence).  Used in humorously
	overblown expressions of hostility. "Eat flaming death,
	{EBCDIC} users!"

	[{Jargon File}]

	(2006-12-12)

eating one's own dogfood

	<programming> When a developer uses their own code for their
	own daily needs.  Being a user as well as a developer creates
	the user empathy that is the hallmark of good software.

	The term seems to have originated at {Microsoft}.

	{(http://www.joelonsoftware.com/items/2004/04/16.html)}

	(2006-12-12)

eating your own dogfood

	{eating one's own dogfood}

EAX

	{Environmental Audio eXtensions}

EBASIC

	<language> A {BASIC} by Gordon Eubanks, now at {Symantec},
	that led to {CBASIC}.

	(2006-12-12)

EBCDIC

	{Extended Binary Coded Decimal Interchange Code}

EBCIDIC

	<spelling> It's spelled "{EBCDIC}".

	(1996-12-13)

EBNF

	<language> {Extended Backus-Naur Form}.

Ebone

	A pan-European {backbone} network service.

ec

	<networking> The {country code} for Ecuador.

	(1999-01-27)

EC++

	A preprocessor
	by Glauco Masotti <masotti@lipari.usc.edu>
	that translates Extended C++ into C++.

	{(ftp://ftp.uu.net/languages/c++/EC++.tar.Z)}.

	(1989-10-10)

ECAP II

	Electronic Circuit Analysis Program.  Simple language for
	analysing electrical networks.  "Introduction to Computer
	Analysis: ECAP for Electronics Technicians and Engineers",
	H. Levin, P-H 1970.

E-carrier system

	<communications> A series of {digital} transmission formats
	promulgated by the {ITU} and used outside of North America and
	Japan.

	The basic unit of the E-carrier system is the {DS0}, which has
	a transmission rate of 64 Kbps, and is commonly used for one
	{voice circuit}.  The {E1} format consists of 32 DS0 channels,
	for a total capacity of 2.048 Mbps.  {E2}, {E3}, {E4}, and
	{E5} circuits carry multiple E1 channels multiplexed,
	resulting in transmission rates of up to 565.148 Mbps.

	The E-carrier system is similar to, and compatible with, the
	{T-carrier system} used in North America, but has higher
	capacity since it uses {out-of-band signaling} in contrast to
	the {in-band signaling} or {bit-robbing} used in the T-system.

	(2000-03-10)

Ecash

	<application> A trial form of {electronic funds transfer} over
	the {Internet} (and soon by {electronic mail}).

	The ecash software stores digital money, signed by a bank, on
	the user's local computer.  The user can spend the digital
	money at any shop accepting ecash, without the trouble of
	having to open an account there first, or having to transmit
	credit card numbers.  The shop just has to accept the money,
	and deposit it at the bank.  The security is provided by a
	{public-key} {digital signature}.

	There process involves the issuing banks who exchange real
	money for ecash, users who have and spend ecash, shops who
	accept ecash payments, and clearing banks who clear payments
	received by shops.

	At the moment, all users and shops must have an account at
	{DigiCash}'s own bank, the "First Digital Bank" at
	bank.digicash.com.  They can withdraw money from the bank, and
	convert it to ecash.  Shops can be started by any ecash user.

	{(http://digicash.com/ecash/ecash-home.html)}.

	(1995-04-10)

ECC

	{error detection and correction}

Eccles-Jordan circuit

	{flip-flop}

Echidna

	{Constraint logic programming} embedded in an
	{object-oriented} language.  The {syntax} is an extension of
	{Edinburgh Prolog}.

	["Hierarchical Arc Consistency Applied to Numeric Processing
	in Constraint Logic Programming", G. Sidebottom et al,
	TR-91-06, CSS-IS, Simon Fraser U, and Comp Intell 8(4)
	(1992)].

	{(ftp://cs.sfu.edu/pub/ecl/papers)}.

	E-mail: <expert@cs.sfu.edu>.

	(1994-12-08)

echo

	1. A {topic group} on {FidoNet}'s {echomail} system.

	Compare {newsgroup}.

	2. A {Unix} command that just prints its arguments.

	[{Jargon File}]

echo cancellation

	A process which removes unwanted echoes from the signal on a
	telephone line.  Echoes are usually caused by impedance
	mismatches along an analogue line.

ECHT

	European Conference on {Hypertext}.

ECIP2

	An {Esprit} project on the definition of a specification
	language at the requirement level.

ECIS

	{European Committee for Interoperable Systems}

Eckert-Mauchly Computer Corporation

	<company> The company which designed and built {Univac}
	computers.

	(1995-03-01)

ECL

	1. <hardware> {Emitter Coupled Logic}.

	2. <language> Extensible {CL}.

	Wegbreit, ca 1970.

	["The ECL Programming System", B. Wegbreit, Proc FJCC
	39:253-261, AFIPS (Fall 1971)].

	["ECL Programmer's Manual", B. Wegbreit, TR 23-74, Harvard U
	(Dec 1974)].

	(1994-11-09)

ECLIPSE

	A {Prolog} + {CLP} compiler from {ECRC}.

ECM

	<storage> {error correcting memory}.

	(1995-10-10)

ECMA

	1. {European Computer Manufacturers Association},
	   now {ECMA International}.

	2. A subset of {ALGOL}.  [Sammet 1969, p.180].

	(1998-09-07)

ECMA International

	<body> (Formerly European Computer Manufacturers Association)
	An industry association founded in 1961 and dedicated to the
	standardisation of information and communication systems.

	ECMA edits {standards} and technical reports.  All ECMA
	publications are available free of charge.

	The best known ECMA standard is ECMA 262, defining the
	{scripting language} {ECMAScript}.

	(2003-06-23)

ECMAScript

	<language> ({ECMA} standard 262, {ISO} standard 16262) The
	standardised version of the core {JavaScript} language.

	(2005-07-28)

Ecole Normale Superieure

	<body> (ENS) A higher education and research institution in
	Paris, France.

e-commerce

	{electronic commerce}

Econet

	1. One of the IGC networks.  EcoNet serves individuals and
	organisations working for environmental preservation and
	sustainability.  Important issues covered include: global
	warming, energy policy, rainforest preservation, legislative
	activities, water quality, toxics and environmental education.

	EcoNet users can send and receive private messages, including
	fax and telex, to and from more than 18,000 international
	users on the APC networks or to millions on other networks.
	EcoNet seeks to build coalitions and partnerships with
	activist and non-profit organisations to develop the use of
	the electronic communications medium.  EcoNet provides
	subsidies and financial incentives to environmental
	organisations and committed individuals who foster the
	effectiveness of organisations through the use of electronic
	networking.  FTP/Telnet: igc.apc.org.

	2. A network produced by {Acorn Computers} Ltd. for the {BBC
	Microcomputer} and its successors.

ECOOP

	European Conference on Object-oriented Programming.

ECP

	1. {Engineering Change Proposal}.

	2. {Enhanced Capabilities Port}.

	3. {Extended Capabilities Port}.

	4. {Extended Concurrent Prolog}.

	(1997-12-01)

ECRC

	{European Computer-Industry Research Centre GmbH}

ECRC-Prolog

	Evidently {Prolog} with {coroutine} extensions.

	See also {SEPIA}.

	["ECRC-Prolog User's Manual Version 1.0", K. Estenfeld,
	TR-LP-08 ECRC, Feb 1986].

	(1994-12-01)

ECSL

	Extended CSL.

	A {discrete simulation} language, the successor to {CSL}.

	["Extended Control and Simulation Language", A.T. Clementson,
	Comp J 9(3):215-220 (1966)].

	(1994-12-08)

ECSP

	An extension to {CSP}, supporting dynamic communication
	channels and nested processes.

	["Static Type Checking of Interprocess Communication in ECSP",
	F. Baiardi et al, SIGPLAN Notices 19(6):290-299 (June 1984)].

	(1994-12-08)

ECSS II

	Extendable Computer System Simulator.

	An extension of {SIMSCRIPT II}.

	["The ECSS II Language for Simulating Computer Systems",
	D.W. Kosy, R-1895-GSA, Rand Corp].

	(1994-12-08)

ECSSL

	Formerly APSE.  An equation-oriented specification language
	for {continuous simulations}.  The {compiler} outputs
	{HYTRAN}, which must be run on an analog processor.

	(1994-12-08)

ed

	<tool, text> (editor) {Unix}'s {line editor}.  Ed is rarely
	used by humans since even {vi} is better.

	{Unix manual page}: ed(1).

	(1999-03-01)

EDA

	1. {Electronic Design Automation}.

	2. {Exploratory Data Analysis}.

	3. A product line from {Dazix}.

	(1995-10-02)

EDAC

	{error detection and correction}

e-ddress

	{electronic mail address}

Eden

	<language, operating system> A {concurrent},
	{object-oriented}, distributed {operating system} and
	language, {Eden Programming Language} (EPL), based on {remote
	procedure call}.  It has both {synchronous} and {asynchronous}
	{message passing}.

	["The Eden System: A Technical Review", G. Almes et al, IEEE
	Trans Soft Eng SE-11(1):43-59, Jan 1985].

	(2009-05-26)

Eden Programming Language

	<language> (EPL) A language developed at the {University of
	Washington}, based on {Concurrent Euclid} and used with the
	{Eden} distributed operating system.

	EPL influenced {Emerald} and {Distributed Smalltalk}.

	["EPL Programmer's Guide", A. Black et al, U Washington June
	1984].

	{Eden}

EDF

	{earliest deadline first}

EDI

	{Electronic Data Interchange}

EDI analyst

	<job> A person who introduces {EDI} {standards} and
	technology.  An EDI analyst makes decisions for information
	construction and selects resources for EDI processing and
	application expansion.  He coordinates processing and
	transmission schedules and mapping of standard data formats.
	He generally serves as a key contact for trading partners and
	value-added network consultants.

	(2004-03-11)

EDIF

	Electronic Design Interchange Format.

	Not a programming language, but a format to simplify data
	transfer between CAD/CAE systems.  LISP-like syntax.  See also
	{Berkeley EDIF200}.

	E-mail: <edif-support@cs.man.ac.uk>
	{(ftp://edif.cs.man.ac.uk/pub/edif)}.

	["Designer's Guide to EDIF", E. Marx et al, EDN 1987."EDIF
	Electronic Design Interchange Format Version 200", ANSI/EIA
	Standard 548].

	(1995-03-10)

EDIFACT

	{ISO 9735}:1988

Edinburgh Multi Access System

	<operating system> (EMAS) One of the first {operating systems}
	written in a {high-level language} ({IMProved Mercury
	autocode}), apparently predating {Unix}.

	[Papers in J. {British Computer Society}].

	[More info?  Dates?]

	(1996-04-07)

Edinburgh Prolog

	Prolog dialect which eventually developed into the standard,
	as opposed to Marseille Prolog.  (The difference is largely
	syntax.)  Clocksin & Mellish describe Edinburgh Prolog.
	Version: C-Prolog.

	(1995-03-10)

Edinburgh SML

	(EdML) Implementation of the {Core} language of {SML}.
	{Byte-code interpreter} in {C}.  Ported to {Amiga}, {Atari},
	{Archimedes} and {IBM PC}.

	Version: 0.44.

	{(ftp://ftp.dcs.ed.ac.uk/pub/edml/EDML4)}.

	E-mail: <lfcs@ed.ac.uk>.

	(1994-12-08)

Edison

	1. (Named after the American inventor Thomas Edison
	(1847-1931))

	A simplified Pascal by Per Brinch Hansen with {modules} and
	{concurrency} (cobegin/coend).

	["Edison - A Multiprocessor Language", P. Brinch Hansen, CS
	Dept, USC, Sep 1980].

	["Programming a Personal Computer", Brinch Hansen, P-H 1977].

	2. A language which adds an {OPS5}-like {rete}-based
	{production system} system to {C}.  It is implemented as a {C}
	{preprocessor}.

	["Edison, A Unix and C Friendly Rete Based Production System",
	B. Thirion, SIGPLAN Notices 27(1):75-84 (Jan 1992)].

	(1994-12-08)

edit

	<application> Use of some kind of {editor} program to modify a
	{document}.  Also used to refer to the modification itself,
	e.g. "my last edit only made things worse".

	To edit something usually implies that the changes will
	persist for some time, usually by saving the edited document
	to a {file}, though one might open an editor, create a new
	document in memory, print it and exit without saving it to
	disk.

	Editing is normally done by a human but see, e.g., {sed}.

	(2007-07-11)

editor

	<application> A program used to {edit} a {document}.

	Different types of document have different editors, e.g. a
	{text editor} for {text files}, an {image editor} for
	{images}, an {HTML editor} for {web pages}, etc.  The term can
	be used for pretty much any kind of data modification, e.g. a
	{disk sector editor} which operates directly on the {hard
	disk}, bypassing the {filesystem}.

	(2007-07-11)

EDL

	<language>

	1. {Experiment Description Language}.

	2. {Event Description Language}.

EDM

	{Electronic Data Management}

EdML

	{Edinburgh SML}

EDMS

	{Electronic Document Management System}

EDO DRAM

	{Extended Data Out Dynamic Random Access Memory}

EDO memory

	{Extended Data Out Dynamic Random Access Memory}

EDO RAM

	{Extended Data Out Dynamic Random Access Memory}

EDP

	{Electronic Data Processing}

EDP auditor

	<job> A person who analyses system functions and operations to
	determine adequate security and controls.  An EDP analyst
	evaluates systems and operational procedures and reports
	findings to senior management.  He writes ad hoc report
	programs using {4GLs} and specialised audit software.

	(2004-03-11)

EDRAM

	{Enhanced Dynamic Random Access Memory}

EDS

	{Enhanced Directory Service}

EDS+

	<database, hardware> A {database accelerator} built by {ICL}
	as part of the {EDS} project.  The machine has up to 64 nodes,
	each node having 64Mb of memory, 2 {SPARC} processors and a
	1Gb of disk.

	See also {PARADE}.

	(1994-11-02)

EDSAC

	{Electronic Discrete Sequential Automatic Computer}

edu

	<networking> ("education") The {top-level domain} for
	educational establishments in the USA (and some other
	countries).  E.g. "mit.edu".  The UK equivalent is "ac.uk".

	(1999-01-26)

education contact

	<job> The person at a company who should receive educational
	material.

	(2004-03-11)

edutainment

	<application> Interactive education and entertainment services
	or software, usually supplied commercially via a cable network
	or on {CD-ROM}.

	(1995-03-30)

Edward Lorenz

	<person> A mathematical meteorologist who discovered the
	{Lorenz attractor} in the 1960s.

	(1996-01-13)

Edward Yourdon

	<person> A {software engineering} consultant, widely known as
	the developer of the "{Yourdon method}" of structured systems
	analysis and design, as well as the co-developer of the
	Coad/Yourdon method of {object-oriented analysis} and design.
	He is also the editor of three software journals - American
	Programmer, Guerrilla Programmer, and Application Development
	Strategies - that analyse software technology trends and
	products in the United States and several other countries
	around the world.

	Ed Yourdon received a B.S. in Applied Mathematics from {MIT},
	and has done graduate work at MIT and at the Polytechnic
	Institute of New York.  He has been appointed an Honorary
	Professor of {Information Technology} at Universidad CAECE in
	Buenos Aires, Argentina and has received numerous honors and
	awards from other universities and professional societies
	around the world.

	He has worked in the computer industry for 30 years, including
	positions with {DEC} and {General Electric}.  Earlier in his
	career, he worked on over 25 different {mainframe} computers,
	and was involved in a number of pioneering computer projects
	involving {time-sharing} and {virtual memory}.

	In 1974, he founded the consulting firm, {Yourdon, Inc.}.  He
	is currently immersed in research in new developments in
	software engineering, such as object-oriented software
	development and {system dynamics} modelling.

	Ed Yourdon is the author of over 200 technical articles; he
	has also written 19 computer books, including a novel on
	{computer crime} and a book for the general public entitled
	Nations At Risk.  His most recent books are Object-Oriented
	Systems Development (1994), Decline and Fall of the American
	Programmer (1992), Object-Oriented Design (1991), and
	Object-Oriented Analysis (1990).  Several of his books have
	been translated into Japanese, Russian, Chinese, Spanish,
	Portugese, Dutch, French, German, and other languages, and his
	articles have appeared in virtually all of the major computer
	journals.

	He is a regular keynote speaker at major computer conferences
	around the world, and serves as the conference Chairman for
	Digital Consulting's SOFTWARE WORLD conference.  He was an
	advisor to Technology Transfer's research project on software
	industry opportunities in the former Soviet Union, and a
	member of the expert advisory panel on CASE acquisition for
	the U.S. Department of Defense.

	Mr. Yourdon was born on a small planet at the edge of one of
	the distant red-shifted galaxies.  He now lives in the Center
	of the Universe (New York City) with his wife, three children,
	and nine Macintosh computers, all of which are linked together
	through an Appletalk network.

	(1995-04-16)

Edwin

	{MIT Scheme}

ee

	<networking> The {country code} for Estonia.

	(1999-01-27)

EEMA

	{European Electronic Messaging Association}

EEPROM

	{Electrically Erasable Programmable Read-Only Memory}

	See also {EAPROM}.

EER

	An extended {entity-relationship model}.

E. F. Codd

	<person> The inventor of the {relational data model} of
	{databases}.

	[Name?  More?]

	(1995-11-29)

EFF

	{Electronic Frontier Foundation}

effective computable

	<theory> A term describing a {function} for which there is an
	{effective algorithm} that correctly calculates the function.
	The algorithm must consist of a {finite} sequence of
	instructions.

	(1996-05-03)

effective number of bits

	<hardware> (ENOB) An indication of the quality of an {analog
	to digital converter}.  The measurement is related to the test
	frequency and the {signal-to-noise ratio}.

	[Better definition?]

	(1998-06-15)

Effort Adjustment Factor

	<programming> (EAF) A term used in {COCOMO} to calculate a
	{cost driver attribute}'s effect on a project.  It is the
	product of the effort multipliers corresponding to each of the
	cost drivers for the project.

	(1996-05-29)

EFI

	{Extensible Firmware Interface}

EFL

	{Extended Fortran Language}

EFNet

	<networking> (From "Eris-free Net", eris being
	eris.berkeley.edu).

	The dominant {Internet Relay Chat} network.

	See also {Undernet}.

	(1995-11-09)

Eforth

	<language> A system produced by Ting to help implementers
	produce Forths for different targets, using {assemblers}.

	(1996-07-28)

E-Forth

	<language> A {Forth} {interpreter} written in {Motorla 6809}
	assembly code by Lennart Benschop
	<lennart@blade.stack.urc.tue.nl>.  Posted to {Usenet}
	newsgroup {alt.sources} on 1993-11-03 with a {Motorola 6809}
	{assembler}.

	(1993-11-03)

EFT

	{electronic funds transfer}

EFTPOS

	{Electronic Funds Transfer Point of Sale}

EFTS

	{electronic funds transfer}

eg

	<networking> The {country code} for Egypt.

	(1999-01-27)

EGA

	{Enhanced Graphics Adapter}

Eggdrop

	<communications> The world's most popular {open source IRC
	bot}, designed for flexibility and ease of use.  Eggdrop is
	freely distributable under the {GPL}.  It was originally
	developed by Robey Pointer but he no longer works on it.

	Eggdrop is designed to run on {Linux}, {*BSD}, {SunOs},
	{Windows}, {Mac OS X} and other platforms.  It is extendable
	with {Tcl} scripts and/or {C} modules.  It supports
	{Undernet}, {DALnet}, {EFnet}, {IRCnet}, and {QuakeNet}.  It
	can form {botnets} and share {partylines} and userfiles
	between bots.

	(2005-07-07)

egosurfing

	<jargon> Scanning the {web}, databases, print media
	or research papers looking for the mention of your name.

	(1997-04-17)

EGP

	{Exterior Gateway Protocol}

egrep

	<tool> An extended version of the {Unix} {grep} command.
	Egrep accepts extended {regular expressions} (REs) including
	"*" following multi-character REs; "+" (one or more matches);
	"?"  (zero or one matches); "|" separating two REs matches
	either.  REs may be bracketed with ().  Despite its additional
	complexity, egrep is usually faster than {fgrep} or {grep}.

	(2004-07-20)

Egyptian brackets

	<programming, humour> A humourous term for {K&R} {indent style},
	referring to the "one hand up in front, one down behind" pose
	which popular culture inexplicably associates with Egypt.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2011-11-30)

Eh

	/A/.  Software Portability Group, U Waterloo.  A typeless
	language derived from (and similar to) B.  Provides guaranteed
	order of evaluation for side effects in expressions.  Also
	character indexing operators.

	See also {Zed}.

	["Eh Reference Manual", R.S.C. Braga, RR CS-76-45, U Waterloo,
	Nov 1976].

eh

	<networking> The {country code} for Western Sahara.

	(1999-01-27)

eHelp Corporation

	<company> A vendor of {Microsoft} {Windows} application
	development tools such as {RoboHELP} and {RoboDemo}.

	EHelp were formerly (around 1997) Blue Sky Software.

	{eHelp Home (http://ehelp.com/)}.

	Address: 7777 Fay Avenue, Suite 201, La Jolla, CA 92037, USA.
	Telephone: +1-800-793-0364, +1 (619) 459 6365.  Fax: +1 (619)
	459 6366.

	(2003-07-24)

EHTS

	Emacs HyperText System.

	An experimental multi-user {hypertext} system from the
	{University of Aalborg}.  It consists of a text editor (based
	on {Epoch} and {GNU Emacs} and written in {elisp}) and a
	graphical {browser} (based on {XView} and written in {C})
	running under the {X Window System} and {OpenWindows}.  Both
	tools use {HyperBase} as their {database}.

	(1995-01-05)

EIA

	{Electronics Industry Association}

EIA-232

	<communications, standard> (Formerly "RS-232") The most common
	{asynchronous} {serial line} {standard}.  EIA-232 is the {EIA}
	equivalent of {ITU-T} {V.24}, and {V.28}.

	EIA-232 specifies the {gender} and pin use of connectors, but
	not their physical type.  {RS-423} specifies the electrical
	signals.  25-way {D-type} connectors are common but often only
	three wires are connected - one ground (pin 7) and one for
	data in each direction.  The other pins are primarily related
	to {hardware handshaking} between sender and receiver and to
	{carrier detection} on {modems}, inoperative circuits, busy
	conditions etc.

	The standard classifies equipment as either {Data
	Communications Equipment} (DCE) or {Data Terminal Equipment}
	(DTE).  DTE receives data on pin 3 and transmits on pin 2
	(TD).  A DCE EIA-232 interface has a female connector.  DCE
	receives data from DTE on pin 2 (TD) and sends that data out
	the analog line.  Data received from the analog line is sent
	by the DCE on pin 3(RD).

	Originally DCE was a modem and DTE was a computer or terminal.
	The terminal or computer was connected (via EIA-232) to two
	modems, which were connected via a telephone line.

	The above arrangement allows a computer or terminal to be
	connected to a modem with a straight-through (2-2, 3-3) cable.
	It is common, however, to find equipment with the wrong sex
	connector or with pins two and three reversed, requiring the
	insertion of a cable or adaptor wired as a {gender mender} or
	{null modem}.  Such an adaptor is also required when
	connecting a computer directly to a terminal or to another
	computer without the use of modems.

	(1999-12-28)

EIA-232C

	<communications, standard> The {EIA} equivalent of {ITU-T}
	{standard} {V.24}.

	The {EIA} EIA-232C electrical signal is unbalanced +/- 5 to +/-
	12V, {polar} {non return to zero} and handles data speeds up
	to 19.2 kilobits per second.

	[Correct name?  Relationship to RS-232C? Difference from
	EIA-232?]

	(2004-08-02)

EIA-422

	<communications, standard> (Formerly "RS-422") An {EIA}
	{serial line} {standard} which specifies 4-wire,
	{full-duplex}, {differential line}, {multi-drop}
	communications.  The mechanical connections for this interface
	are specified by {EIA-449}.  The maximum cable length is
	1200m.  Maximum data rates are 10Mbps at 1.2m or 100Kbps at
	1200m.  EIA-422 cannot implement a truly multi-point
	communications network (such as with {EIA-485}), although only
	one driver can be connected to up to ten receivers.  The best
	use of EIA-422 is probably in {EIA-232} extension cords.

	{Comparing EIA-422, 423, 449 to RS-232-C
	(http://rad.com/networks/1995/rs232/rs449.htm)}.  {Details
	on RS-232, 422, 423 and 485
	(http://rs485.com/rs485spec.html)}.

	(2002-10-05)

EIA-423

	<communications, standard> (Formerly "RS-423") An {EIA}
	{serial line} {standard} which specifies {single ended}
	communication.  The mechanical connections for this interface
	are specified by {EIA-449}.  Although it was originally
	intented as a successor of {EIA-232} it is not widely used.
	The {EIA-232} standard has its limits at 20kbps and 1.5m.
	EIA-423 can have a cable lenght of 1200m, and achieve a data
	rate of 100Kbps.  When no data is being transmitted, the
	serial line is at a logical zero (+3 to +15 Volts).  A logical
	one is represented as a signal level of -15 to -3 Volts.  In
	practise, one often finds signals which switch between
	nominally +4.5 and +0.5 Volts.  Such signals are large by
	modern standards, and because the impedance of the circuits is
	relatively high, the allowable bit rate is modest.  The data
	is preceded by a start bit which is always a logical
	one.  There may be seven or eight bits of data, possibly
	followed by an even or odd parity bit and one or two stop
	bits.  A "break" condition is a continuous logical one on the
	line which is what would be observed if nothing was connected.

	{Comparing EIA-422, 423, 449 to RS-232-C
	(http://rad.com/networks/1995/rs232/rs449.htm)}.  {Details
	on RS-232, 422, 423 and 485
	(http://rs485.com/rs485spec.html)}.

	(2002-10-05)

EIA-449

	<communications, standard> (Formerly "RS-449") An EIA
	{standard} for a 37-pin or 9-pin {D-type} connector
	(functional- and mechanical characteristics), usually used
	with {EIA-422} or {EIA-423} electrical specifications.

	(2002-10-05)

EIA-485

	<communications, standard> (Formerly "RS-485") An {EIA}
	{serial line} {standard} which specifies 2-wire,
	{half-duplex}, {differential line}, {multi-point}
	communications.  Maximum cable length is 1200m.  Maximum data
	rates are 10Mbps at 1.2m or 100Kbps at 1200m.  EIA-485 can
	implement a truly multi-point communications network, and
	specifies up to 32 drivers and 32 receivers on a single
	(2-wire) bus.

	{Differential SCSI} uses EIA-485.

	{Details on RS-232, 422, 423, and 485
	(http://rs485.com/rs485spec.html)}.

	(2003-04-18)

EIA-530

	<communications, standard> (Formerly "RS-530") An {EIA}
	{serial line} {standard} which specifies {differential line}
	and {singe ended} communications.  Combining {EIA-422} and
	{EIA-423}, and defining a 25-pin connector for mechanical
	connections, this standard serves as a complement to {EIA-232}
	for high(er) speed data transmissions.

	(2002-10-05)

EIDE

	{Advanced Technology Attachment Interface with Extensions}

Eiffel

	<language> An {object-oriented} language produced by {Bertrand
	Meyer} in 1985.  Eiffel has {classes} with {multiple
	inheritance} and {repeated inheritance}, {deferred class}es
	(like {Smalltalk}'s {abstract class}), and {clusters} of
	classes.  Objects can have both {static types} and {dynamic
	types}.  The dynamic type must be a descendant of the static
	(declared) type.  {Dynamic binding} resolves {multiple
	inheritance} clashes.  It has flattened forms of classes, in
	which all of the inherited features are added at the same
	level and {generic class}es parametrised by type.

	Other features are {persistent objects}, {garbage collection},
	{exception} handling, {foreign language interface}.  Classes
	may be equipped with {assertions} (routine preconditions and
	postconditions, class {invariants}) implementing the theory of
	"{Design by Contract}" and helping produce more reliable
	software.

	Eiffel is compiled to {C}.  It comes with libraries containing
	several hundred classes: data structures and {algorithms}
	(EiffelBase), graphics and user interfaces (EiffelVision) and
	language analysis (EiffelLex, EiffelParse).

	The first release of Eiffel was release 1.4, introduced at the
	first {OOPSLA} in October 1986.  The language proper was first
	described in a University of California, Santa Barbara report
	dated September 1985.

	Eiffel is available, with different libraries, from several
	sources including {Interactive Software Engineering}, USA (ISE
	Eiffel version 3.3); Sig Computer GmbH, Germany (Eiffel/S);
	and {Tower, Inc.}, Austin (Tower Eiffel).

	The language definition is administered by an open
	organisation, the Nonprofit International Consortium for
	Eiffel (NICE).  There is a standard kernel library.

	An {Eiffel source checker} and compiler {front-end} is
	available.

	Latest version: 4.2, as of 1998-10-28.

	Latest version: ISE Eiffel version 3.3.

	See also {Sather}, {Distributed Eiffel}, {Lace}, {shelf}.

	E-mail: <queries@eiffel.com>.

	["Eiffel: The Language", Bertrand Meyer, P-H 1992].

	(1998-11-15)

Eiffel source checker

	A compiler {front-end} for {Eiffel} 3 by Olaf Langmack
	<langmack@inf.fu-berlin.de> and Burghardt Groeber.  It was
	generated automatically with the {Karlsruhe toolbox} for
	compiler construction according to the most recent public
	language definition.  The {parser} derives an easy-to-use
	{abstract syntax tree}, supports elementary error recovery and
	provides a precise source code indication of errors.  It
	performs a strict syntax check and analyses 4000 lines of
	source code per second on a {Sun} {SPARC} {workstation}.

	{(ftp://ftp.fu-berlin.de/pub/heron/ep.tar.Z)}.

	(1992-12-14)

eigenvalue

	<mathematics> The factor by which a {linear transformation}
	multiplies one of its {eigenvectors}.

	(1995-04-10)

eigenvector

	<mathematics> A {vector} which, when acted on by a particular
	{linear transformation}, produces a scalar multiple of the
	original vector.  The scalar in question is called the
	{eigenvalue} corresponding to this eigenvector.

	It should be noted that "vector" here means "element of a
	vector space" which can include many mathematical entities.
	Ordinary vectors are elements of a vector space, and
	multiplication by a matrix is a {linear transformation} on
	them; {smooth functions} "are vectors", and many partial
	differential operators are linear transformations on the space
	of such functions; quantum-mechanical states "are vectors",
	and {observables} are linear transformations on the state
	space.

	An important theorem says, roughly, that certain linear
	transformations have enough eigenvectors that they form a
	{basis} of the whole vector states.  This is why {Fourier
	analysis} works, and why in quantum mechanics every state is a
	superposition of eigenstates of observables.

	An eigenvector is a (representative member of a) {fixed point}
	of the map on the {projective plane} induced by a {linear
	map}.

	(1996-09-27)

eight-bit clean

	<software> A term which describes a system that deals
	correctly with extended {character sets} which (unlike ASCII)
	use all eight {bits} of a {byte}.  Many programs and
	communications systems assume that all characters have codes
	in the range 0 to 127.  This leaves the top bit of each byte
	free for use as a {parity} bit or some kind of {flag bit}.
	These assumptions break down when the program is used in some
	non-english-speaking countries with larger alphabets.

	If a binary file is transmitted via a communications link
	which is not eight-bit clean, it will be corrupted.  To combat
	this you can encode it with {uuencode} which uses only {ASCII}
	characters.  There are some links however which are not even
	"seven-bit clean" and cause problems even for uuencoded data.

	(1995-01-05)

eight queens problem

	{eight queens puzzle}

eight queens puzzle

	<algorithm> A puzzle in which one has to place eight queens on
	a chessboard such that no queen is attacking any other,
	i.e. no two queens occupy the same row, column or diagonal.
	One may have to produce all possible such configurations or
	just one.

	It is a common students assignment to devise a program to
	solve the eight queens puzzle.  The {brute force} {algorithm}
	tries all 64*63*62*61*60*59*58*57 = 178,462,987,637,760
	possible layouts of eight pieces on a chessboard to see which
	ones meet the criterion.  More intelligent algorithms use the
	fact that there are only ten positions for the first queen
	that are not reflections of each other, and that the first
	queen leaves at most 42 safe squares, giving only
	10*42*41*40*39*38*37*36 = 1,359,707,731,200 layouts to try,
	and so on.

	The puzzle may be varied with different number of pieces and
	different size boards.

	[Best algorithm?]

	(1999-07-28)

eighty-column mind

	<abuse> The sort said to be possessed by persons for whom the
	transition from {punched card} to {paper tape} was traumatic
	(nobody has dared tell them about disks yet).  It is said that
	these people, including (according to an old joke) the founder
	of {IBM}, will be buried "face down, 9-edge first" (the 9-edge
	being the bottom of the card).  This directive is inscribed on
	IBM's 1402 and 1622 card readers and is referenced in a famous
	bit of doggerel called "The Last Bug", the climactic lines of
	which are as follows:

	  He died at the console
	  Of hunger and thirst.
	  Next day he was buried,
	  Face down, 9-edge first.

	The eighty-column mind is thought by most {hackers} to
	dominate IBM's customer base and its thinking.

	See {fear and loathing}, {card walloper}.

	[{Jargon File}]

	(1996-08-16)

eighty-twenty rule

	<programming> The program-design version of the law of
	diminishing returns.  The 80/20 rule says that roughly 80% of
	the problem can be solved with 20% of the effort that it would
	take to solve the whole problem.

	For example, parsing {e-mail addresses} in "From:" lines in
	e-mail messages is notoriously difficult if you follow the RFC
	2822 specification.  However, about 60% of actual "From:"
	lines are in the format "From: Their Name <user@host>", with a
	far more constrained idea of what can be in "user" or "host"
	than in RFC 2822.  Another 25% just add double-quotes around
	"Their Name".  Matching just those two patterns would thus
	cover 85% of "From:" lines, with a tiny portion of the code
	required to fully implement RFC2822.

	(Adding support for "From: user@host" and "From: user@host
	(Their Name) " brings coverage to almost 100%, leaving only
	really baroque things that RFC-2822 permits, like "From:
	Pete(A wonderful \) chap) <pete(his account)@silly.test(his
	host)" or the like.)

	It is an eternal question whether too much attention is paid
	to the 80/20 rule (leading to systems that are irrevocably
	broken for "unusual" cases), or too little (leading to systems
	that sacrifice usability in the typical case, just so that
	rare cases can work properly).

	Compare: {KISS Principle}

	(2003-11-17)

EIRP

	{equivalent isotropically radiated power}

EISA

	{Extended Industry-Standard Architecture}

EJB

	{Enterprise JavaBeans}

Eksi Sozluk

	<web> ("Sour Dictionary") An online, Turkish,
	colaborative, hypertext dictionary.

	{Eksi Sozluk Home (http://sourtimes.org/)}.

	(2006-11-02)

EL1

	Extensible Language One.  An extensible language by
	B. Wegbreit of Harvard ca 1974.  EL1 is internally somewhat
	{Lisp}-like, but fully typed with {records} and pointers.  The
	external {syntax} is {ALGOL}-like and extensible, supporting
	user-defined {data structures}, control structures and
	operations.  The {parser} is table-driven, with a modifiable
	set of productions.  Used as the basis for the {ECL}
	{operating system}.

	["Studies in Extensible Programming Languages", B. Wegbreit,
	Garland.  Pub 1980].

el(alpha)

	Aims to be a high-level language that knows about real
	hardware, for systems programming.  "Essential Language
	el(alpha) - A Reduced Expression Set Language for Systems
	Programming", T. Watanabe et al, SIGPLAN Notices 26(1):85-98.

Elan

	["Top-down Programming with Elan", C.H.A. Koster, Ellis
	Horwood 1987].

El Camino Bignum

	<humour> /el' k*-mee'noh big'nuhm/ The road mundanely called
	El Camino Real, a road through the San Francisco peninsula
	that originally extended all the way down to Mexico City and
	many portions of which are still intact.  Navigation on the
	San Francisco peninsula is usually done relative to El Camino
	Real, which defines {logical} north and south even though it
	isn't really north-south many places.  El Camino Real runs
	right past {Stanford University}.

	The Spanish word "real" (which has two syllables: /ray-al'/)
	means "royal"; El Camino Real is "the royal road".  In the
	{Fortran} language, a "{real}" quantity is a number typically
	precise to seven significant digits, and a "{double
	precision}" quantity is a larger {floating-point} number,
	precise to perhaps fourteen significant digits (other
	languages have similar "real" types).

	When a {hacker} from {MIT} visited Stanford in 1976, he
	remarked what a long road El Camino Real was.  Making a pun on
	"real", he started calling it "El Camino Double Precision" -
	but when the hacker was told that the road was hundreds of
	miles long, he renamed it "El Camino Bignum", and that name
	has stuck.  (See {bignum}).

	[{Jargon File}]

	(1996-07-16)

elder days

	The heroic age of hackerdom (roughly, pre-1980); the era of
	the {PDP-10}, {TECO}, {ITS} and the {ARPANET}.  This term has
	been rather consciously adopted from J. R. R. Tolkien's
	fantasy epic "The Lord of the Rings".

	Compare {Iron Age}.  See also {elvish} and {Great Worm}.

	[{Jargon File}]

e-learning

	{Computer-Aided Instruction}

Electing a Pope

	<electronics, humour> (From the smoke signals given out when
	the guys in funny hats choose a new Pope) Causing an
	{integrated circuit} or other electronic component to emit
	smoke by passing too much current through it.

	See {magic smoke}.

	(1995-08-18)

Electrically Alterable Programmable Read-Only Memory

	<storage> (EAPROM) A {PROM} whose contents can be changed.

	[What's the difference between EAPROM and {EEPROM}?]

	(1995-11-12)

Electrically Erasable Programmable Read-Only Memory

	<storage> (EEPROM) A {non-volatile storage} device using a
	technique similar to the floating gates in {EPROMs} but with
	the capability to discharge the floating gate electrically.
	Usually bytes or words can be erased and reprogrammed
	individually during system operation.

	In contrast to {RAM}, writing takes much longer than reading
	and EEPROM is more expensive and less dense than RAM.  It is
	appropriate for storing small amounts of data which is changed
	infrequently, e.g. the hardware configuration of an {Acorn}
	{Archimedes}.

	[Difference from {EAPROM}?]

	(1995-04-22)

Electromagnetic Compatibility

	<hardware, testing> (EMC) The extent to which a piece of
	hardware will tolerate electrical interference from other
	equipment, and will interfere with other equipment.

	There are strict legal EMC requirements for the sale of any
	electrical or electronic hardware in most countries, although
	the actual standards differ.  See, for example, {EMCNet
	(http://emcnet.com/)}.

	See also {Electrostatic Discharge}, {Radio Frequency
	Interference}.

	(1997-12-19)

electromigration

	<electronics> Mass transport due to momentum exchange between
	conducting electrons and diffusing metal atoms.
	Electromigration causes progressive damage to the metal
	conductors in an {integrated circuit}.  It is characteristic
	of metals at very high current density and temperatures of
	100C or more.

	The term was coined by Professor Hilbert Huntington in the
	late 1950s because he didn't like the German use of the word
	"electrotransport".

	Mass transoport occurs via the Einstein relation J=DFC/kT
	where F is the driving force for the transoport.  For
	electromigraiton F is z*epj and z* is an electromigration
	parameter relating the momentum exchange and z is the charge
	of the "diffusing" species.

	(1999-02-25)

electron

	<electronics> A sub-atomic particle with a negative quantised
	{charge}.  A flow of electrical {current} consists of the
	unidirectional (on average) movement of many electrons.  The
	more mobile electrons are in a given material, the greater it
	electrical conductance (or equivalently, the lower its
	resistance).

	(1995-10-06)

electronic commerce

	<application, communications> (EC) The conducting of business
	communication and transactions over networks and through
	computers.  As most restrictively defined, electronic commerce
	is the buying and selling of goods and services, and the
	transfer of funds, through digital communications.  However EC
	also includes all inter-company and intra-company functions
	(such as marketing, finance, manufacturing, selling, and
	negotiation) that enable commerce and use {electronic mail},
	{EDI}, file transfer, fax, {video conferencing}, {workflow},
	or interaction with a remote computer.

	Electronic commerce also includes buying and selling over the
	{web} and the {Internet}, {electronic funds
	transfer}, {smart cards}, {digital cash} (e.g. Mondex), and all
	other ways of doing business over digital networks.

	[{Electronic Commerce Dictionary}].

	(1995-10-08)

Electronic Commerce Dictionary

	<publication> A lexicon of {electronic commerce} terms.  It
	includes over 900 terms and acronyms, and over 200 {website}
	addresses.  It has entries on commerce over the {World-Wide
	Web}, {Internet} payment systems, The {National Information
	Infrastructure}, {Electronic Data Interchange}, {Electronic
	Funds Transfer}, {Public Key Cryptography}, {smart cards} and
	{digital cash}, computer and network security for commerce,
	marketing through electronic media.

	{(http://tedhaynes.com/haynes1/intro.html)}.

	(1999-03-24)

electronic data interchange

	<application, communications> (EDI) The exchange of
	standardised document forms between computer systems for
	business use.  EDI is part of {electronic commerce}.

	EDI is most often used between different companies ("trading
	partners") and uses some variation of the {ANSI X12}
	{standard} (USA) or {EDIFACT} (UN sponsored global standard).

	[{Electronic Commerce Dictionary}].

	(1995-10-06)

Electronic Data Processing

	1. <application> (EDP) {data processing} by computers.

	2. <company> The name of {Honeywell}'s computer business
	between 1960, when it gained complete ownership of {Datamatic
	Corporation}, and 1963, when it was officially renamed
	Honeywell Inc.

	(1995-03-30)

Electronic Design Automation

	<application> (EDA) Software tools for the development of
	{integrated circuits} and systems.

	Companies selling EDA tools include {Cadence}, {Intergraph},
	{Mentor}, {Synopsys}, {Viewlogic}.  {Zuken-Redac Dazix} has
	been acquired by Intergraph.

	(1995-10-09)

Electronic Discrete Sequential Automatic Computer

	<computer, history> (EDSAC, often "Electronic Delay Storage
	Automatic Computer") Based upon the {EDVAC} (Electronic
	Discrete Variable Automatic Computer) designed in 1945, the
	EDSAC was completed in 1949 at the University of Cambridge
	Mathematical Laboratory in England.  The EDSAC performed its
	first calculation on 1949-05-06. EDSAC was considered to be
	the first computer to store programs.  It ceased to exist in
	about 1951.

	[What happened to it?]

	(2010-01-07)

Electronic Frontier Foundation

	<body> (EFF) A group established to address social and legal
	issues arising from the impact on society of the increasingly
	pervasive use of computers as a means of communication and
	information distribution.  EFF is a non-profit civil liberties
	public interest organisation working to protect freedom of
	expression, privacy, and access to on-line resources and
	information.

	{(http://eff.org/)}.

	(1994-12-08)

electronic funds transfer

	<application, communications> (EFT, EFTS, - system) Transfer
	of money initiated through electronic terminal, automated
	teller machine, computer, telephone, or {magnetic tape}.  In
	the late 1990s, this increasingly includes transfer initiated
	via the {web}.  The term also applies to credit
	card and automated bill payments.

	{Glossary (http://fms.treas.gov/eft/glossary.html)}.

	(1999-12-08)

Electronic Funds Transfer Point of Sale

	<business, real-time> A method of electronic payment which
	allows money to be transferred from the account of the shopper
	to the merchant in close-to real-time.  Generally the shopper
	will give the merchant a credit or debit card, which will be
	swiped to obtain the account information.  The shopper will
	then be required to either sign a receipt or enter a {PIN} via
	a keypad to authorise the transaction.

	(2003-06-22)

electronic funds transfer system

	{electronic funds transfer}

electronic magazine

	<messaging, publication, web> (e-zine) A regular
	publication on some particular topic distributed in digital
	form, chiefly now via the {web} but also by
	{electronic mail} or {floppy disk}.  E-zines are often
	distributed for free by enthusiasts.

	(1996-08-04)

electronic mail

	<messaging> (e-mail) Messages automatically passed from one
	computer user to another, often through computer {networks}
	and/or via {modems} over telephone lines.

	A message, especially one following the common {RFC 822}
	{standard}, begins with several lines of {headers}, followed
	by a blank line, and the body of the message.  Most e-mail
	systems now support the {MIME} {standard} which allows the
	message body to contain "{attachments}" of different kinds
	rather than just one block of plain {ASCII} text.  It is
	conventional for the body to end with a {signature}.

	Headers give the name and {electronic mail address} of the
	sender and recipient(s), the time and date when it was sent
	and a subject.  There are many other headers which may get
	added by different {message handling systems} during delivery.

	The message is "composed" by the sender, usually using a
	special program - a "{Mail User Agent}" (MUA).  It is then
	passed to some kind of "{Message Transfer Agent}" (MTA) - a
	program which is responsible for either delivering the message
	locally or passing it to another MTA, often on another {host}.
	MTAs on different hosts on a network often communicate using
	{SMTP}.  The message is eventually delivered to the
	recipient's {mailbox} - normally a file on his computer - from
	where he can read it using a mail reading program (which may
	or may not be the same {MUA} as used by the sender).

	Contrast {snail-mail}, {paper-net}, {voice-net}.

	The form "email" is also common, but is less suggestive of the
	correct pronunciation and derivation than "e-mail".  The word
	is used as a noun for the concept ("Isn't e-mail great?", "Are
	you on e-mail?"), a collection of (unread) messages ("I spent
	all night reading my e-mail"), and as a verb meaning "to send
	(something in) an e-mail message" ("I'll e-mail you (my
	report)").  The use of "an e-mail" as a count noun for an
	e-mail message, and plural "e-mails", is now (2000) also well
	established despite the fact that "mail" is definitely a mass
	noun.

	Oddly enough, the word "emailed" is actually listed in the
	Oxford English Dictionary.  It means "embossed (with a raised
	pattern) or arranged in a net work".  A use from 1480 is
	given.  The word is derived from French "emmailleure",
	network.  Also, "email" is German for enamel.

	{The story of the first e-mail message
	(http://pretext.com/mar98/features/story2.htm)}.

	(2002-07-14)

electronic mail address

	<messaging> (Usually "e-mail address") The string used to
	specify the source or destination of an {electronic mail}
	message.  E.g. "john@doc.acme.ac.uk".

	The {RFC 822} standard is probably the most widely used on the
	{Internet}.  {X.400} was once used in Europe and Canada.
	{UUCP}-style ({bang path}) addresses or other kinds of {source
	route} became virtually extinct in the 1990s.

	In the example above, "john" is the {local part} which is the
	name of a {mailbox} on the destination computer.  If the
	sender and recipient use the same computer, or the same {LAN},
	for electronic mail then the local part is usually all that is
	required.

	If they use different computers, e.g. they work at different
	companies or use different {Internet service providers}, then
	the "host part", e.g. "sales.acme.com" must be appended after
	an "@".  This usually takes the form of a {fully qualified
	domain name} or, within a large organisation, it may be just
	the {hostname} part, e.g. "sales".  The destination computer
	named by the host part is usually a {server} of some kind
	rather than an individual's {workstation} or {PC}.  The user's
	mail is stored on the server and read later via {client} mail
	software running on the user's computer.

	Large organisations, such as universities will often set up a
	global {alias} directory which maps a simple user name such as
	"jsmith" to an address which contains more information such as
	"jsmith@london.bigcomp.co.uk".  This hides the detailed
	knowledge of where the message will be delivered from the
	sender, making it much easier to redirect mail if a user
	leaves or moves to a different department for example.

	(2006-10-18)

electronic mail client

	{Mail User Agent}

electronic meeting

	<messaging, meeting> The use of a {network} of {personal
	computers} to improve communication that takes place in a meeting.
	Electronic meetings are effective with as few as two participants
	and with over 100 participants.  Participants can be face-to-face
	in a meeting room or distributed around the world.  They may all
	be participating at the same time or different times.

	{Getting Results from Electronic Meetings
	(http://emsl.co.uk/)}.

	(2014-09-20)

Electronic Numerical Integrator and Computer

	<computer> (ENIAC) The first electronic {digital computer} and
	an ancestor of most computers in use today.  ENIAC was
	developed by Dr. {John Mauchly} and {J. Presper Eckert} during
	World War II at the Moore School of the {University of
	Pennsylvania}.

	In 1940 Dr. {John Vincent Atanasoff} attended a lecture by
	Mauchly and subsequently agreed to show him his binary
	calculator, the {Atanasoff-Berry Computer} (ABC), which was
	partially built between 1937-1942.  Mauchly used ideas from
	the ABC in the design of ENIAC, which was started in June 1943
	and released publicly in 1946.

	ENIAC was not the first digital computer, {Konrad Zuse}'s {Z3}
	was released in 1941.  Though, like the ABC, the Z3 was
	{electromechanical} rather than electronic, it was freely
	programmable via paper tape whereas ENIAC was only
	programmable by manual rewiring or switches.  Z3 used binary
	representation like modern computers whereas ENIAC used
	decimal like mechanical calculators.

	ENIAC was underwritten and its development overseen by
	Lieutenant Herman Goldstine of the U.S. Army Ballistic
	Research Laboratory (BRL).  While the prime motivation for
	constructing the machine was to automate the wartime
	production of firing and bombing tables, the very first
	program run on ENIAC was a highly classified computation
	for Los Alamos.  Later applications included weather
	prediction, cosmic ray studies, wind tunnel design,
	petroleum exploration, and optics.

	ENIAC had 20 {registers} made entirely from {vacuum tubes}.
	It had no other no memory as we currently understand it.  The
	machine performed an addition in 200 {microseconds}, a
	multiplication in about three {milliseconds}, and a division
	in about 30 milliseconds.

	{John von Neumann}, a world-renowned mathematician serving on
	the BRL Scientific Advisory Committee, soon joined the
	developers of ENIAC and made some critical contributions.
	While Mauchly, Eckert and the Penn team continued on the
	technological problems, he, Goldstine, and others took up the
	logical problems.

	In 1947, while working on the design for the successor
	machine, EDVAC, von Neumann realized that ENIAC's lack of a
	central control unit could be overcome to obtain a rudimentary
	stored program computer (see the Clippinger reference below).
	Modifications were undertaken that eventually led to an
	{instruction set} of 92 "orders".  {Von Neumann} also proposed
	the {fetch-execute cycle}.

	[R. F. Clippinger, "A Logical Coding System Applied to the
	ENIAC", Ballistic Research Laboratory Report No. 673, Aberdeen
	Proving Ground, MD, September 1948.
	{(http://ftp.arl.mil/~mike/comphist/48eniac-coding)}].

	[H. H. Goldstine, "The Computer from Pascal to von Neumann",
	Princeton University Press, 1972].

	[K. Kempf, "Electronic Computers within the Ordnance Corps",
	Aberdeen Proving Ground, MD, 1961.
	{(http://ftp.arl.mil/~mike/comphist/61ordnance)}].

	[M. H. Weik, "The ENIAC Story", J. American Ordnance Assoc.,
	1961. {(http://ftp.arl.mil/~mike/comphist/eniac-story.html)}].

	[How "general purpose" was ENIAC, compared to Zuse's {Z3}?]

	(2003-10-01)

Electronic Performance Support System

	<tool> (EPSS) A system that provides electronic task guidance
	and support to the user at the moment of need.  EPSS can
	provide {application} help, reference information, guided
	instructions and/or tutorials, subject matter expert advice
	and hints on how to perform a task more efficiently.  An EPSS
	can combine various technologies to present the desired
	information.  The information can be in the form of text,
	{graphical displays}, sound, and {video} presentations.

	["Electronic Performance Support Systems: How and Why to
	Remake the Workplace Through the Strategic Application of
	Technology", Gloria Gerry, Weingarten Press].

	(1997-10-24)

Electronic Piece Of Cheese

	{EPOC}

Electronic Report Management

	<storage> (ERM, Enterprise Report Management) The capture,
	archiving and publishing, in digital form, of (typically
	{mainframe} generated) documents such as accounting and
	financial reports.  ERM often replaces systems based on paper
	or {microfilm}.

	ERM usually captures data from {print streams} and stores it
	on {hard drives}, {storage area networks} or {optical disk}
	drives.  The data is indexed and can be retreived at the
	desktop with a {web browser} or a {fat client}.  ERM systems
	are part of {enterprise content management} or {electronic
	document management}.

	An example application is {PearlDoc QuickFile Information
	Management System (http://pearldoc.com/)} (IMS).

	An early replacement for {greenbar} printed reports was
	Computer Output on Microfilm (COM, not to be confused with
	{Microsoft}'s {Component Object Model}).  This was superseded
	by Computer Output to Laser Disk (or Disc - COLD) which used
	optical media.

	In 1999 the {AIIM} renamed COLD to ERM/COLD to reflect the
	variety of media in use.  This was promoted, in 2002, by Mason
	Grigsby - widely reputed as "The Father of COLD" for his
	seminal work with {INSCI} in the late 1980s.  Judging from
	their website, AIIM don't seem too sure whether ERM is
	"Electronic", "Enterprise" or both.

	(2007-07-25)

Electronics Industry Association

	<body, standard> (EIA) A body which publishes "Recommended
	Standards" (RS) for physical devices and their means of
	interfacing.  {EIA-232} is their standard that defines a
	computer's {serial port}, connector pin-outs, and electrical
	signaling.

	(1995-03-02)

electronic whiteboarding

	{Audiographic Teleconferencing}

electron model

	<electronics> A {model} of {semiconductor} behaviour in which
	{donors} contribute the {charge} of an {electron}, and
	{acceptors} contribute a space for same, in effect
	contributing a fictional positive charge of similiar
	magnitude.  Physicists use the {electron model}.  Some
	language theorists consider language and the {electron} to be
	{models} in themselves.

	Contrast {hole model}.

	(1995-10-06)

electron tube

	<electronics> (Or tube, vacuum tube, UK: valve, electron
	valve, thermionic valve, firebottle, glassfet) An electronic
	component consisting of a space exhausted of gas to such an
	extent that {electrons} may move about freely, and two or more
	electrodes with external connections.  Nearly all tubes are of
	the thermionic type where one electrode, called the cathode,
	is heated, and electrons are emitted from its surface with a
	small energy (typically a Volt or less).  A second electrode,
	called the anode (plate) will attract the electrons when it is
	positive with respect to the cathode, allowing current in one
	direction but not the other.

	In types which are used for amplification of signals,
	additional electrodes, called grids, beam-forming electrodes,
	focussing electrodes and so on according to their purpose, are
	introduced between cathode and plate and modify the flow of
	electrons by electrostatic attraction or (usually) repulsion.
	A voltage change on a grid can control a substantially greater
	change in that between cathode and anode.

	Unlike {semiconductors}, except perhaps for {FETs}, the
	movement of electrons is simply a function of electrostatic
	field within the active region of the tube, and as a
	consequence of the very low mass of the electron, the currents
	can be changed quickly.  Moreover, there is no limit to the
	current density in the space, and the electrodes which do
	dissapate power are usually metal and can be cooled with
	forced air, water, or other refrigerants.  Today these
	features cause tubes to be the active device of choice when
	the signals to be amplified are a power levels of more than
	about 500 watts.

	The first electronic digital computers used hundreds of vacuum
	tubes as their active components which, given the reliability
	of these devices, meant the computers needed frequent repairs
	to keep them operating.  The chief causes of unreliability are
	the heater used to heat the cathode and the connector into
	which the tube was plugged.

	Vacuum tube manufacturers in the US are nearly a thing of the
	past, with the exception of the special purpose types used in
	broadcast and image sensing and displays.  Eimac, GE, RCA, and
	the like would probably refer to specific types such as "Beam
	Power Tetrode" and the like, and rarely use the generic terms.

	The {cathode ray tube} is a special purpose type based on
	these principles which is used for the visual display in
	television and computers.  X-ray tubes are diodes (two element
	tubes) used at high voltage; a tungsten anode emits the
	energetic photons when the energetic electrons hit it.
	Magnetrons use magnetic fields to constrain the electrons;
	they provide very simple, high power, ultra-high frequency
	signals for radar, microwave ovens, and the like.  Klystrons
	amplify signals at high power and microwave frequencies.

	(1996-02-05)

Electrostatic Discharge

	<hardware, testing> (ESD) One kind of test that hardware
	usually has to pass to prove it is suitable for sale and use.
	The hardware must still work after is has been subjected to
	some level of electrostatic discharge.  Some organisations
	have their own ESD requirements which hardware must meet
	before it will be considered for purchase.

	Different countries have different legal regulations about
	levels of ESD.

	See also {Radio Frequency Interference}, {Electromagnetic
	Compatibility}.

	(1997-12-19)

elegant

	(From Mathematics) Combining simplicity, power, and a certain
	ineffable grace of design.  Higher praise than "clever",
	"winning" or even {cuspy}.

	The French aviator, adventurer, and author Antoine de
	Saint-Exup'ery, probably best known for his classic children's
	book "The Little Prince", was also an aircraft designer.  He
	gave us perhaps the best definition of engineering elegance
	when he said "A designer knows he has achieved perfection not
	when there is nothing left to add, but when there is nothing
	left to take away."

	[{Jargon File}]

	(1994-11-29)

element

	1. <data, programming> One of the items of data in an {array}.

	2. <language, text> One kind of node in an {SGML}, {HTML}, or
	{XML} {document} {tree}.  An SGML element is typically
	represented by a start {tag} ("<p>") and an end tag ("</p>").
	In some SGML implementations, some tags are omissible, as with
	"</p>" in {HTML}.

	The start tag can contain {attributes} ("<p lang="en-UK"
	class='stuff'>"), which are an unordered set of key-value
	bindings for that element.  Both the start tag and end tag for
	an element typically contain the "tag name" (also called the
	"{GI}" or generic identifier) for that element.

	In {XML}, an element is always represented either by an
	explicit start tag and end tag, or by an empty element tag
	("<img src='thing.{png}' alt='a dodad' />").

	Other kinds of SGML node are: a section of character data
	("foo"), a comment ("<!-- bar -->"), a markup declaration
	("<!ENTITY reg CDATA '&#174'>"), or a processing instruction
	("<?xml-stylesheet href="shop-english.xsl" type="text/xsl"
	?>").

	(2001-01-30)

elephant

	Large, grey, four-legged mammal.

elephantine

	Used of programs or systems that are both conspicuous {hogs}
	(owing perhaps to poor design founded on {brute force and
	ignorance}) and exceedingly {hairy} in source form.  An
	elephantine program may be functional and even friendly, but
	(as in the old joke about being in bed with an elephant) it's
	tough to have around all the same (and, like a pachyderm,
	difficult to maintain).  In extreme cases, hackers have been
	known to make trumpeting sounds or perform expressive
	proboscatory mime at the mention of the offending program.
	Usage: semi-humorous.  Compare "has the elephant nature" and
	the somewhat more pejorative monstrosity.  See also
	{second-system effect} and {baroque}.

	[{Jargon File}]

elevator controller

	An archetypal dumb embedded-systems application, like
	{toaster} (which superseded it).  During one period (1983--84)
	in the deliberations of ANSI X3J11 (the C standardisation
	committee) this was the canonical example of a really stupid,
	memory-limited computation environment.  "You can't require
	"printf(3)" to be part of the default run-time library - what
	if you're targeting an elevator controller?"  Elevator
	controllers became important rhetorical weapons on both sides
	of several {holy wars}.

ELF

	Binary format used by System V Release 4 Unix.

ELI

	1. <language> An early system on the {IBM 705} and {IBM 650}.

	[Listed in CACM 2(5):16 (May 1959)].

	2. {Embedded Lisp Interpreter}.

Eli Compiler Construction System

	<tool> A compiler generation package which integrates
	off-the-shelf tools and libraries with specialised language
	processors to generate complete compilers quickly and
	reliably.  It simplifies the development of new
	special-purpose languages, implementation of existing
	languages on new hardware and extension of the constructs and
	features of existing languages.

	It runs on {Sun-4} {SunOS} 4, 5, {Ultrix}/{MIPS}, {RS/6000},
	{HP-UX}, {SGI}, {Linux}.

	Latest version 4.3.1, as of 2000-08-07

	{Colorado U (ftp://ftp.cs.colorado.edu/pub/cs/distribs/eli/)}.
	{Europe (ftp://ftp.upb.de/unix/eli)}.

	Mailing list: <eli-request@cs.colorado.edu>.

	E-mail: <compiler@uni-paderborn.de>, Developers
	<elibugs@cs.colorado.edu>, Users <eli@cs.colorado.edu>.

	(2000-08-12)

ELISP

	1. <language> A {Lisp} variant originally implemented for
	{DEC-20s} by Chuck Hedrick of Rutgers.

	2. <language> A common abbreviation for {Emacs Lisp}.  Use of
	this abbreviation is discouraged because "Elisp" is or was a
	trademark.

	[Still a trademark?  Whose?]

	(1995-04-04)

elite

	1. <security> A term used to describe skilled {crackers} or
	{hackers}, or their deeds.  In the last sense, compare to
	{elegant}.

	The term is also used to describe exclusive forums ({ftp}
	sites, {BBSs}) used for trading pirated software, {crack}ing
	tools, or {phreaking} codes.

	(1997-01-31)

ELIZA

	<artificial intelligence> A famous program by {Joseph
	Weizenbaum}, which simulated a Rogerian psychoanalyst by
	rephrasing many of the patient's statements as questions and
	posing them to the patient.  It worked by simple {pattern
	recognition} and substitution of key words into canned
	phrases.  It was so convincing, however, that there are many
	anecdotes about people becoming very emotionally caught up in
	dealing with ELIZA.  All this was due to people's tendency to
	attach to words meanings which the computer never put there.

	See also {ELIZA effect}.

	(1997-09-13)

ELIZA effect

	<jargon> /e-li:'z* *-fekt'/ (From {ELIZA}) The tendency of
	humans to attach associations to terms from prior experience.
	For example, there is nothing magic about the symbol "+" that
	makes it well-suited to indicate addition; it's just that
	people associate it with addition.  Using "+" or "plus" to
	mean addition in a computer language is taking advantage of
	the ELIZA effect.

	The ELIZA effect is a {Good Thing} when writing a programming
	language, but it can blind you to serious shortcomings when
	analysing an {Artificial Intelligence} system.

	Compare {ad-hockery}; see also {AI-complete}.

	[{Jargon File}]

	(1997-09-13)

Elk

	{Extension Language Kit}

ELLA

	A hardware design language from DRA Malvern.  Implemented in
	{ALGOL68-RS}.

	E-mail: <ella@dra.hmg.gb>.  {SPARC version
	(ftp://src.doc.ic.ac.uk/packages/ELLA)}.

	["ELLA 2000: A Language for Electronic System Design",
	J.D. Morison and A.S. Clarke, McGraw-Hill 1993].

Ellemtel

	A {C++} style-guide originated by {Ellemtel Telecom Systems},
	Stockholm.

Ellie

	<language> An {object-oriented} language with {fine-grained
	parallelism} for {distributed computing}.  Ellie is based on
	{BETA}, {Smalltalk}, and others.  Parallelism is supported by
	{unbounded RPC} and "{future}" {objects}.  Synchronisation is
	by {dynamic interfaces}.  {Classes}, {methods}, {blocks}, and
	{objects} are all modelled by {first-class} "Ellie objects".
	It supports {genericity}, {polymorphism}, and
	{delegation}/{inheritance}.

	{(http://diku.dk/ellie/papers/)}?

	["Ellie Language Definition Report", Birger Andersen
	<birger.andersen@acm.org>, SIGPLAN Notices 25(11):45-65, Nov
	1990].

	(2000-04-02)

ELLIS

	EuLisp LInda System.  An object-oriented Linda system written
	for EuLisp.  "Using Object-Oriented Mechanisms to Describe
	Linda", P. Broadbery <pab@maths.bath.ac.uk> et al, in
	Linda-Like Systems and Their Implementation, G. Wilson ed, U
	Edinburgh TR 91-13, 1991.

elm

	<messaging> A {full-screen} {MUA} for {Unix}, {MS-DOS}, {MS
	Windows}, and {OS/2}.

	{Usenet} newsgroup: {news:comp.mail.elm}.

	{FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/elm/FAQ/faq.html)}.

	(1996-03-20)

ELMAGUIDE

	<language> The {metalanguage} used for interpretation of user
	actions in the {ELMA} compiler writer developed at Tallinn
	Poly Institute in 1978.

	(1996-03-20)

ELMAMETA

	A Fortran extension, written at the {Tallinn Poly Inst} in
	1978, used for lexical, syntactic and semantic sepecification
	in the {ELMA} {compiler} writer.  This system was widely used
	in the Soviet Union, and produced an {Ada} to {Diana}
	{compiler}.

	(1994-12-08)

ELP

	1. English Language Programs.  Language for testing avionics
	equipment, on Varian 620/i.

	"Multiband Automatic test Equipment - A Computer Controlled
	Checkout System", T. Kuroda et al, Proc SJCC, 38 (1971).

	2. Equational Logic Programming.  A semantically pure, fully
	{lazy} language by M.J. O'Donnell <odonnell@cs.uchicago.edu>.
	Latest version: 4.2.

	{Sun and DEC versions
	(ftp://gargoyle.uchicago.edu/pub/equations/eq4.2.tar.Z)}.

	["Equational Logic as a Programming Language", M.J. O'Donnell,
	MIT Press 1985].

ELSIE

	<language> A distributed version of {ELLIS}.

	["Using Object-Oriented Mechanisms to Describe Linda",
	P. Broadbery <pab@maths.bath.ac.uk> et al, in "Linda-Like
	Systems and Their Implementati"on, G. Wilson ed, U Edinburgh
	TR 91-13, 1991].

	(1995-11-16)

Elvis

	<tool> A {vi} lookalike which supports nearly all of the vi/ex
	commands, in both visual mode and colon mode.

	Like vi/ex, elvis stores most of the text in a temporary file
	instead of RAM.  This allows it to edit files that are too
	large to fit in a single process' data space.

	Elvis runs under {BSD} UNIX, AT&T {SysV} UNIX, {MINIX},
	{MS-DOS}, {Atari TOS}, {Coherent}, {OS9}/68000, {VMS},
	{Windows 95} and {Windows NT}.

	Elvis is just as awful to use as vi, so someone will like it.

	Version 1.8pl14 (1995-09-04).

	{FTP Delft (ftp://dutepp0.et.tudelft.nl/pub/Unix/Editors/)},
	{FTP PDX (ftp://ftp.cs.pdx.edu/pub/elvis/)}.

	E-mail: Steve Kirkendall <kirkenda@cs.pdx.edu>.

	(1995-11-16)

elvish

	<character> 1. The Tengwar of Feanor, a table of letterforms
	resembling the beautiful Celtic half-uncial hand of the "Book
	of Kells".  Invented and described by J.R.R. Tolkien in "The
	Lord of The Rings" as an orthography for his fictional
	"elvish" languages, this system (which is both visually and
	phonetically {elegant}) has long fascinated hackers (who tend
	to be intrigued by artificial languages in general).  It is
	traditional for graphics printers, plotters, window systems,
	and the like to support a Feanorian typeface as one of their
	demo items.  By extension, the term might be used for any odd
	or unreadable typeface produced by a graphics device.

	2. The typeface mundanely called "B"ocklin", an art-decoish
	{display font}.  [Why?]

	[{Jargon File}]

	(1998-04-28)

EM

	{End of Medium}

EM-1

	<language> A {stack}-oriented intermediate language from
	{Vrije University Amsterdam}, used by the {Amsterdam Compiler
	Kit}.

	E-mail: Andrew Tanenbaum <ast@cs.vu.nl>.

	(1996-04-07)

EMA

	Extended Mercury Autocode.

	See {Autocode}.

	(1995-01-24)

Emacs

	<text, tool> /ee'maks/ (Editing MACroS, or Extensible MACro
	System, GNU Emacs) A popular {screen editor} for {Unix} and
	most other {operating systems}.

	Emacs is distributed by the {Free Software Foundation} and was
	{Richard Stallman}'s first step in the {GNU} project.  Emacs
	is extensible - it is easy to add new functions; customisable
	- you can rebind keys, and modify the behaviour of existing
	functions; self-documenting - there is extensive on-line,
	context-sensitive help; and has a real-time "what you see is
	what you get" display.  Emacs is writen in {C} and the higher
	levels are programmed in {Emacs Lisp}.

	Emacs has an entire {Lisp} system inside it.  It was
	originally written in {TECO} under {ITS} at the {MIT} {AI
	lab}.  AI Memo 554 described it as "an advanced,
	self-documenting, customisable, extensible real-time display
	editor".

	It includes facilities to view directories, run compilation
	subprocesses and send and receive {electronic mail} and
	{Usenet} {news} ({GNUS}).  {W3} is a {web browser}, the
	ange-ftp package provides transparent access to files on
	remote {FTP} {servers}.  {Calc} is a calculator and {symbolic
	mathematics} package.  There are "modes" provided to assist in
	editing most well-known programming languages.  Most of these
	extra functions are configured to load automatically on first
	use, reducing start-up time and memory consumption.  Many
	hackers (including {Denis Howe}) spend more than 80% of their
	{tube time} inside Emacs.

	GNU Emacs is available for {Unix}, {VMS}, {GNU}/{Linux},
	{FreeBSD}, {NetBSD}, {OpenBSD}, {MS Windows}, {MS-DOS}, and
	other systems.  Emacs has been re-implemented more than 30
	times.  Other variants include {GOSMACS}, CCA Emacs, UniPress
	Emacs, Montgomery Emacs, and {XEmacs}.  {Jove}, {epsilon}, and
	{MicroEmacs} are limited look-alikes.

	Some Emacs versions running under {window managers} iconify as
	an overflowing kitchen sink, perhaps to suggest the one
	feature the editor does not (yet) include.  Indeed, some
	hackers find Emacs too {heavyweight} and {baroque} for their
	taste, and expand the name as "Escape Meta Alt Control Shift"
	to spoof its heavy reliance on keystrokes decorated with
	{bucky bits}.  Other spoof expansions include "Eight Megabytes
	And Constantly Swapping", "Eventually "malloc()'s All Computer
	Storage", and "Emacs Makes A Computer Slow" (see {recursive
	acronym}).  See also {vi}.

	Latest version: 20.6, as of 2000-05-11.  21.1 ({RSN}) adds a
	new redisplay engine with support for {proportional text},
	images, {toolbars}, {tool tips}, toolkit scroll bars, and a
	mouse-sensitive mode line.

	{FTP} from your nearest {GNU archive site}.

	E-mail: (bug reports only) <bug-gnu-emacs@gnu.org>.

	{Usenet} newsgroups: {news:gnu.emacs.help},
	{news:gnu.emacs.bug}, {news:alt.religion.emacs},
	{news:gnu.emacs.sources}, {news:gnu.emacs.announce}.

	[{Jargon File}]

	(1997-02-04)

Emacs Lisp

	<language> A dialect of {Lisp} used to implement the higher
	layers of the {Free Software Foundation}'s editor, {GNU}
	{Emacs}.  Sometimes abbreviated to "{elisp}".  An enormous
	number of Emacs Lisp packages have been written including
	modes for editing many programming languages and interfaces to
	many {Unix} programs.

e-mail

	{electronic mail}

e-mail address

	{electronic mail address}

e-mail client

	{Mail User Agent}

EMAS

	{Edinburgh Multi Access System}

Embedded Lisp Interpreter

	<language> (ELI) A small {Common Lisp}-like {interpreter}
	embedded in the {Andrew mail system}, written by Bob
	Glickstein at {CMU}.

	(2000-04-05)

Embedded Mode

	<programming> A term used by {COCOMO} to describe a project
	development that is characterised by tight, inflexible
	constraints and interface requirements.  The product must
	operate within (is embedded in) a strongly coupled complex of
	hardware, software, regulations and operational procedures.
	An embedded mode project will require a great deal of
	innovation.  An example would be a {real-time system} with
	timing constraints and customised hardware.

	(1996-05-29)

embedded system

	<computer> Hardware and software which forms a component of
	some larger system and which is expected to function without
	human intervention.

	A typical embedded system consists of a single-board
	{microcomputer} with software in {ROM}, which starts running
	some special purpose {application program} as soon as it is
	turned on and will not stop until it is turned off (if ever).

	An embedded system may include some kind of {operating system}
	but often it will be simple enough to be written as a single
	program.  It will not usually have any of the normal
	{peripherals} such as a keyboard, monitor, serial connections,
	mass storage, etc. or any kind of user interface software
	unless these are required by the overall system of which it is
	a part.  Often it must provide {real-time} response.

	{Usenet} newsgroup: {news:comp.arch.embedded}.

	(1995-04-12)

embedding

	1. <mathematics> One instance of some mathematical object
	contained with in another instance, e.g. a {group} which is a
	subgroup.

	2. <theory> ({domain theory}) A {complete partial order} F in
	[X -> Y] is an embedding if

	(1) For all x1, x2 in X, x1 <= x2  <=>  F x1 <= F x2 and

	(2) For all y in Y, {x | F x <= y} is {directed}.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	(1995-03-27)

EMBLA Pro

	<messaging, tool> An {IMAP}-compliant {electronic mail}
	{client} from {WinSoft Products Ltd}.  EMBLA Pro allows you to
	use an IMAP mail server in a true client/server network
	manner, once you've connected to the IMAP server, you can
	organise messages into folders on the server and you can view
	messages and any attached files at the server before deciding
	whether or not to download them to your local system.  IMAP
	allows the user to select individual message attachments to be
	viewed and/or downloaded.  You can delete files and messages
	from the server, move or copy them to the local computer or
	leave them for future retrieval.  EMBLA Pro also supports the
	standard {POP3} protocol.  Both POP3 and IMAP2 run over
	{E-SMTP}.

	The IMAP {Unix} {daemons} can support specific environments,
	for example, Sun MailTool attachments.  All flavours of Unix
	are catered for with a suite of binary mail daemons, eg:
	{SunSoft} {Solaris}, {HP}, {IBM} and {SCO}.

	EMBLA conforms to the SMTP, E-SMTP, {MIME} and IMAP {Internet}
	standards - RFC1590 (RFC1521), RFC1522, RFC1426, RFC1425,
	RFC1176, RFC0822, RFC0821 and the draft update of RFC1176.

	{(http://ftech.co.uk/~winsoft/embla.htm)}.

	(1996-03-11)

embosser

	{Braille printer}

EMC

	{Electromagnetic Compatibility}

EMD Enterprises, Inc.

	<company> A software development and consulting firm
	specialising in {database} and {client-server} applications.

	{(http://emdent.com/)}.

	(1994-12-12)

EMDIR

	The CERN {Electronic Mail DIRectory} utility.

	[Details?]

	(1995-02-23)

Emerald

	An {object-oriented} distributed programming language and
	environment developed at the {University of Washington} in the
	early 1980s.  Emeral was the successor to {EPL}.  It is
	{strongly typed} and uses {signatures} and {prototypes} rather
	than {inheritance}.

	["Distribution and Abstract Types in Emerald", A. Black et al,
	IEEE Trans Soft Eng SE-13(1):65-76 (Jan 1987)].

	(1994-11-09)

EMI

	{External Machine Interface}

Emitter Coupled Logic

	(ECL) (Or "Current Mode Logic") A technology for building
	logic gates where the emitter of a {transistor} is used as the
	output rather than its collector.  ECL has a propagation time
	of 0.5 - 2 ns (faster than {TTL}) and a power dissipation 3 -
	10 times higher than {TTL}.

	(1994-11-09)

EML

	Extended ML.  A language for formally specifying {SML}
	programs.

	["Formal Program Development in Extended ML for the Working
	Programmer", D.  Sannella, Proc 3rd BCS/FACS Workshop on
	Refinement", Springer 1990].

EMM

	<storage> {Expanded Memory Manager}.

	(1996-01-12)

EMM386

	<software, storage> An {expanded memory manager} for {IBM PCs}
	with an {Intel 80386} or higher processor, part of {MS-DOS}
	version 5.00 or higher.  EMM386 uses {extended memory} to
	simulate {expanded memory} and also provides {upper memory
	blocks}.  It must be loaded by a DEVICE= command in your
	{CONFIG.SYS} file.

	(1996-01-13)

emote

	<chat> (emotion) A command used on {talk} systems and {MUDs}
	to indicate the performance of an action, usually a facial
	expression of emotional state.

	(1996-11-28)

emoticon

	<messaging> /ee-moh'ti-kon/ (Or "smiley") An {ASCII} {glyph}
	used to indicate an emotional state in text-only {electronic
	messaging} systems such as {chat}, {electronic mail}, {SMS} or
	{news}.  Although originally intended mostly as jokes,
	emoticons are widely recognised if not expected; the lack of
	verbal and visual cues can otherwise cause non-serious
	comments to be misinterpreted, resulting in offence, arguments
	and {flame wars}.

	Hundreds of emoticons have been proposed, but only a few are
	in common use.  These include:

	 :-)	"smiley face" (for humour, laughter,
		friendliness, occasionally sarcasm)

	 :-(	"frowney face" (for sadness, anger, or upset)

	 ;-)	"half-smiley" (ha ha only serious); also
		known as "semi-smiley" or "winkey face".

	 :-/	"wry face"

	These are more recognisable if you tilt your head to the left.
	The first two are by far the most frequently encountered.
	Hyphenless forms of them are also common.  The acronym "{lol}"
	is also often used in the same context for the same effect
	(and is easier to type).

	The emoticon was invented by one Scott Fahlman on the {CMU}
	{bboard} systems on 1982-09-19.  He later wrote: "I had no
	idea that I was starting something that would soon pollute all
	the world's communication channels."  {GLS} confirms that he
	remembers this original posting, which has subsequently been
	{retrieved from a backup
	(http://research.microsoft.com/~mbj/Smiley/BBoard_Contents.html)}.

	As with exclamation marks, overuse of the smiley is a mark of
	loserhood!  More than one per paragraph is a fairly sure sign
	that you've gone over the line.

	[{Jargon File}]

	(2010-05-16)

empeg

	<hardware> An in-car audio product that plays {MP3} files from
	a {hard disk}.  It is based around a {DEC}/{Intel} {StrongARM}
	{S-1100} processor and runs a version of {Linux}.  The {user
	interface} is written in {Python}.

	{(http://empeg.com/)}.

	See also {MPEG}.

	(1999-09-14)

empire

	<games> Any of a family of military simulations derived from a
	game written by Peter Langston many years ago.  Five or six
	multi-player variants of varying degrees of sophistication
	exist, and one single-player version implemented for both
	{Unix} and {VMS}; the latter is even available as {MS-DOS}
	{freeware}.  All are notoriously addictive.

	[{Jargon File}]

	(1995-08-06)

empty element tag

	{tag}

EMS

	{Expanded Memory Specification}

emTeX

	<language, text, tool> (Eberhard Mattes TeX) Eberhard Mattes
	<mattes@azu.informatik.uni-stuttgart.de>'s version of the
	{LaTeX} document preparation system designed for {DOS} and
	{OS/2}.

	(2001-05-24)

EMU8000

	<multimedia, hardware, music> The "{Advanced WavEffect}" music
	synthesizer {integrated circuit} used on the {SB AWE32} card.

	The EMU8000 is a sub-system offering high quality music
	synthesis and an "effect {engine}" which provides musical
	effects like reverb and chorus to {MIDI} playback.  The
	EMU8000 supports up to 32 voices, and the effect amount for
	each voice can be controlled via MIDI.

	(1996-12-15)

emulation

	<architecture> When one system performs in exactly the same
	way as another, though perhaps not at the same speed.  A
	typical example would be emulation of one computer by (a
	program running on) another.  You might use an emulation as a
	replacement for a system whereas you would use a simulation if
	you just wanted to analyse it and make predictions about it.

	(2003-05-22)

emulator

	{Hardware} or {software} that performs {emulation}.

	(1995-05-12)

Emulator program

	<networking> (EP) {IBM} software that emulates a 2701/2/3
	hard-wired {IBM 360} communications controller and resides in
	a 370x/372x/374x comms controller.

	See also {Partitioned Emulation Program} (PEP).

	(1999-01-29)

EMX

	A programming environment for {OS/2} by Eberhard Mattes
	<mattes@azu.informatik.uni-stuttgart.de>.  EMX supports
	programming in {C}, {C++} and {Objective C}.  It works with
	{gcc}, {g++}, {gdb}, {libg++}, .obj linkage, {DLL} and
	{headers}.  Version 0.8g.

	{Europe (ftp://ftp.uni-stuttgart.de/soft/os2/emx-0.8g)}.  {US
	(ftp://ftp-os2.cdrom.com/os2/2_x/Unix/gnu/emx0.8g)}.

	Mailing list: <listserv@ludd.luth.se> ("subscribe to
	emx-list").

	(1992-09-21)

enabling

	{software enabling}

Encapsulated PostScript

	(EPS) An extension of the {PostScript} graphics file format
	developed by {Adobe Systems}.  EPS is used for {PostScript}
	graphics files that are to be incorporated into other
	documents.  An EPS file includes {pragmas} (special PostScript
	comments) giving information such as the bounding box, page
	number and fonts used.

	On some computers, EPS files include a low resolution version
	of the PostScript image.  On the {Macintosh} this is in {PICT}
	format, while on the {IBM PC} it is in {TIFF} or {Microsoft
	Windows} {metafile} format.

	[Spec?]

	(1995-01-04)

encapsulation

	1. The technique used by layered protocols in which a layer
	adds header information to the protocol data unit (PDU) from
	the layer above.  As an example, in Internet terminology, a
	packet would contain a header from the physical layer,
	followed by a header from the network layer (IP), followed by
	a header from the transport layer (TCP), followed by the
	application protocol data.

	2. The ability to provide users with a well-defined interface
	to a set of functions in a way which hides their internal
	workings.  In {object-oriented programming}, the technique of
	keeping together data structures and the methods (procedures)
	which act on them.

	(1998-09-07)

encode

	1. <algorithm, hardware> To convert {data} or some physical
	quantity into a given format.  E.g. {uuencode}.

	See also {encoder}.

	2. <cryptography> To encrypt, to perform {encryption}.

	(1999-07-06)

encoder

	1. <algorithm, hardware> Any program, circuit or {algorithm}
	which {encodes}.

	Example usages: "{MPEG} encoder", "{NTSC} encoder",
	"{RealAudio} encoder".

	2. <hardware> A sensor or transducer for converting rotary
	motion or position to a series of electronic pulses.

	(1997-03-04)

encryption

	<algorithm, cryptography> Any procedure used in {cryptography}
	to convert {plaintext} into {ciphertext} (encrypted message)
	in order to prevent any but the intended recipient from
	reading that data.

	Schematically, there are two classes of encryption primitives:
	{public-key cryptography} and {private-key cryptography}; they
	are generally used complementarily.
	Public-key encryption algorithms include {RSA};
	private-key algorithms include the obsolescent {Data Encryption
	Standard}, the {Advanced Encryption Standard}, as well as
	{RC4}.

	The {Unix} command {crypt} performs a weak form of encryption.
	Stronger encryption programs include {Pretty Good Privacy} and
	the {GNU Privacy Guard}.

	Other closely related aspects of {cryptograph} include
	{message digests}.

	(2003-04-12)

endian

	<data, architecture> Suffix used in the terms {big-endian} and
	{little-endian} that describe the ordering of {bytes} in a
	multi-byte number.

	The term comes from Swift's "Gulliver's Travels" via the
	famous paper "On Holy Wars and a Plea for Peace" by Danny
	Cohen, USC/ISI IEN 137, 1980-04-01.

	The Lilliputians, being very small, had correspondingly small
	political problems.  The Big-Endian and Little-Endian parties
	debated over whether soft-boiled eggs should be opened at the
	big end or the little end.

	See also {middle-endian}, {holy wars}, {NUXI problem}, {swab}.

	(2007-08-14)

endless loop

	{infinite loop}

End Of Line

	<character> (EOL) Synonym for {newline}, derived perhaps from
	the original {CDC 6600} {Pascal}.  The abbreviation "EOL" is
	now rare, but widely recognised and occasionally used for
	brevity.  Used in the example entry under {BNF}.

	Out of context this would probably be (deliberately) ambiguous
	because different systems used different (combinations of)
	characters to mark the end of a line.  {Unix} uses a {line
	feed}; DOS uses {carriage return}, line feed ({CRLF}) and the
	{Macintosh} uses carriage return.

	See also {EOF}.

	(2002-03-22)

End of Medium

	<character> (EM) {ASCII} character 25.

	(1996-06-28)

End Of Text

	{control-C}

End Of Transmission

	<character> (EOT) The {mnemonic} for {ASCII} character 4.

end tag

	{tag}

end-to-end solution

	<jargon> (E2ES) A term that suggests that the supplier of an
	{application program} or system will provide all the hardware
	and/or software components and resouces to meet the customer's
	requirement and no other supplier need be involved.

	Compare: {turn-key} solution.

	(2006-03-30)

End Transmission Block

	<character> (ETB) The {mnemonic} for {ASCII} character 23.

	(1996-06-28)

end-user

	<job> The person who uses a computer application, as opposed
	to those who developed or support it.  The end-user may or may
	not know anything about computers, how they work, or what to
	do if something goes wrong.  End-users do not usually have
	administrative responsibilities or privileges.

	End users are certain to have a different set of assumptions
	than the developers who created the application.

	(1997-03-29)

engage

	<spelling> Do you mean {Nokia N-Gage}?

	(2005-01-18)

Engelbart, Douglas

	{Douglas Engelbart}

engine

	<jargon> 1. A piece of {hardware} that encapsulates some
	function but can't be used without some kind of {front end}.
	Today we have, especially, "{print engine}": the guts of a
	{laser printer}.

	2. An analogous piece of software; notionally, one that does a
	lot of noisy {crunching}, such as a "database engine", or
	"{search engine}".

	The hackish senses of "engine" are actually close to its
	original, pre-Industrial-Revolution sense of a skill, clever
	device, or instrument (the word is cognate to "ingenuity").
	This sense had not been completely eclipsed by the modern
	connotation of power-transducing machinery in {Charles
	Babbage}'s time, which explains why he named the
	stored-program computer that he designed in 1844 the
	"{Analytical Engine}".

	[{Jargon File}]

	(1996-05-31)

English

	<database> The official name of the {database} language used by
	the {Pick} {operating system}, actually a sort of {crufty},
	brain-damaged {SQL} with delusions of grandeur.  The name permits
	{marketroids} to say "Yes, and you can program our computers in
	English!" to ignorant {suits} without quite running afoul of the
	truth-in-advertising laws.

	["Exploring the Pick Operating System", J.E. Sisk et al,
	Hayden 1986].

	[{Jargon File}]

	(2014-06-27)

English shellcode

	<security> A kind of {malware} that is embedded in ordinary
	English sentences.  English shellcode attempts to avoid
	detection by {antivirus software} by making the code resemble,
	e.g. {e-mail} text or {Wikipedia} entries.  It was first
	revealed by researchers at {Johns Hopkins}.

	(2010-03-02)

Enhanced Capabilities Port

	<hardware> (ECP) The most common {parallel printer interface}
	on current (1997) {IBM PC} compatibles.

	Enhanced Capabilities Port is defined in standard IEEE 1284.
	It is bi-directional and faster than earlier parallel ports.

	Not to be confused with {Extended Capabilities Port}.

	(1997-12-01)

Enhanced Directory Service

	<operating system> (EDS) A common, distributed, integrated,
	{directory service} with centralized and/or replicated
	administration.

	[Reference?]

	(2003-06-18)

Enhanced Dynamic Random Access Memory

	(EDRAM)
	{(http://ruralnet.net/~prairie)}.

	[Summary?]

	(1995-11-23)

Enhanced Graphics Adapter

	<graphics, hardware> (EGA) An {IBM PC} {display standard} with
	a {resolution} of 640 x 350 {pixels} of 16 colours.

	(1995-06-28)

Enhanced IDE

	{Advanced Technology Attachment Interface with Extensions}

Enhanced Integrated Drive Electronics

	{Advanced Technology Attachment Interface with Extensions}

enhanced parallel port

	<hardware> (EPP) A {parallel port} that confirms to the
	{IEEE}'s EPP {standard}.  An EPP is actually an expansion bus
	that can handle 64 {disk drives} and other {peripherals}.

	["PC Magazine", 1996-01-09, p. 262].

	[Details?  Manufacturers?]

	(1996-04-07)

Enhanced Small Disk Interface

	<storage, hardware> (ESDI) An obsolete {hard disk}
	{controller} {standard}, first introduced by {Maxtor} in 1983,
	and intended to be the successor to the original
	{ST-506}/{ST-412}.  ESDI was faster and more reliable, but
	still could not compete with {IDE} and {SCSI}.

	EDSI used two cables: a 20-pin data cable to each drive and a
	single 34-pin control cable {daisy chain} with the controller
	at one end and a terminator at the other.  In PCs, it
	supported up to two drives at 1-2MB/s with drives up to 2GB.

	{PC Guide
	(http://pcguide.com/ref/hdd/if/obsoESDI-c.html)}.

	(2003-08-01)

enhancement

	1. A change to a product which is intended to make it better
	in some way, e.g. new functions, faster, or occasionally more
	compatible with other systems.  Enhancements to {hardware}
	components, especially {integrated circuits} often mean they
	are smaller and less demanding of resources.  Sadly, this is
	almost never true of {software} enhancements.

	2. {Marketroid}-speak for a {bug fix}.  This abuse of language
	is a popular and time-tested way to turn incompetence into
	increased revenue.  A hacker being ironic would instead call
	the fix a {feature}, or perhaps save some effort by declaring
	"{That's not a bug, that's a feature!}".

	[{Jargon File}]

	(1998-04-04)

ENIAC

	{Electronic Numerical Integrator and Computer}

Enigma

	<hardware, cryptography> The electro-mechanical {cipher}
	engine used by the Germans in World War II to encrypt and
	decrypt field orders.  Many of their messages were deciphered
	at {Bletchley Park}, by {Alan Turing} and others.

	See also: {Tunny Emulator}.

	(2012-03-25)

ENOB

	{effective number of bits}

ENQ

	1. <character> /enkw/ or /enk/ ENQuire.  The {mnemonic} for
	{ASCII} character 5.

	2. <chat> An on-line convention for querying someone's
	availability.  After opening a {chat} connection to someone
	apparently in heavy hack mode, one might type "SYN SYN ENQ?"
	(the SYNs representing notional synchronisation bytes), and
	expect a return of {ACK} or {NAK} depending on whether or not
	the person felt interruptible.

	Compare {ping}, {finger}.

	[{Jargon File}]

	(1998-01-18)

enqueue

	{queue}

ENS

	<body> See {Ecole Normale Superieure}

Ente Nazionale Italiano di Unificazione

	(UNI) The Italian national standards body, a member of {ISO}.

enterprise

	<body> A business, generally a large one.

	(1994-11-22)

Enterprise Application Integration

	<software> (EAI) The use of {middleware} to integrate the
	{application programs}, {databases}, and {legacy systems}
	involved in an organisation's critical business processes.

	[Example?]

	(1999-09-28)

Enterprise JavaBeans

	<specification, business, programming> (EJB) A {server}-side
	{component architecture} for writing reusable {business logic}
	and {portable} {enterprise} applications.  EJB is the basis of
	{Sun}'s {Java 2 Platform, Enterprise Edition} (J2EE).

	Enterprise JavaBean components are written entirely in {Java}
	and run on any EJB compliant server.  They are {operating
	system}, {platform}, and {middleware} independent, preventing
	vendor {lock-in}.

	EJB servers provide system-level services (the "plumbing")
	such as {transactions}, security, {threading}, and
	{persistence}.

	The EJB architecture is inherently transactional,
	{distributed}, {multi-tier}, {scalable}, secure, and {wire
	protocol} neutral - any {protocol} can be used: {IIOP},
	{JRMP}, {HTTP}, {DCOM} etc.  EJB 1.1 requires {RMI} for
	communication with components.  EJB 2.0 is expected to require
	support for RMI/IIOP.

	EJB applications can serve assorted clients: {browsers}, Java,
	{ActiveX}, {CORBA} etc.  EJB can be used to wrap {legacy
	systems}.

	EJB 1.1 was released in December 1999.  EJB 2.0 is in
	development.

	Sun claims broad industry adoption.  30 vendors are shipping
	server products implementing EJB.  Supporting vendors include
	{IBM}, {Fujitsu}, {Sybase}, {Borland}, {Oracle}, and
	{Symantec}.

	An alternative is Microsoft's MTS ({Microsoft Transaction
	Server}).

	{(http://java.sun.com/products/ejb/)}.

	{FAQ (http://java.sun.com/products/ejb/faq.html)}.

	(2000-04-20)

Enterprise Report Management

	{Electronic Report Management}

Enterprise Resource Planning

	<application, business> (ERP) Any {software} system designed
	to support and automate the business processes of medium and
	large businesses.  This may include manufacturing,
	distribution, personnel, project management, payroll, and
	financials.

	ERP systems are accounting-oriented information systems for
	identifying and planning the {enterprise}-wide resources
	needed to take, make, distribute, and account for customer
	orders.  ERP systems were originally extensions of {MRP II}
	systems, but have since widened their scope.  An ERP system
	also differs from the typical MRP II system in technical
	requirements such as {relational database}, use of {object
	oriented programming} language, {computer aided software
	engineering} tools in development, {client/server}
	{architecture}, and {open system} {portability}.

	{JBOPS} are the major producers of ERP software.

	{"ERP Systems - Using IT to gain a competitive advantage",
	Shankarnarayanan S.
	(http://expressindia.com/newads/bsl/advant.htm)}.

	(1999-07-27)

Enterprise Systems CONnectivity

	<networking> (ESCON) {Optical fibre} connections between a
	{mainframe} and its {peripherals}.  Also an {IBM} registered
	trademark.

	(1997-03-31)

EntireX

	<operating system> The German company {Software AG}'s
	implementation of {DCOM} under {Unix} and on {IBM}
	{mainframes}, released at the end of 1997.  EntireX enables
	users to exchange their {DCOM} components between {Windows
	95}, {Windows NT}, {Unix} and {OS/390} and to build
	{application programs} with components running on any of those
	{platforms}.

	{Home
	(http://softwareag.com/corporat/solutions/entirex/entirex.htm)}.

	(1999-02-05)

entity

	<database> In an {entity-relationship model}, an entity is a
	type of thing being modeled such as "person" or "product".
	Different entities have different sets of attributes such as
	"name" or "price" and are connected via relationships like
	"bought".  Entities are closely related to {classes (class)}.

	(2009-11-22)

entity-relationship diagram

	{entity-relationship model}

entity-relationship model

	<database, specification> An approach to {data modelling}
	proposed by P. Chen in 1976.  The model says that you divide
	your database in two logical parts, entities (e.g. "customer",
	"product") and relations ("buys", "pays for").

	One of the first activities in specifying an application is
	defining the entities involved and their relationships,
	e.g. using an entity-relationship diagram to represent a
	model.

	["The entity-relationship model: toward a unified view of
	data", P.P. Chen, ACM Transactions on Database Systems 1:1 pp
	9-36, 1976].

	(2009-11-21)

entropy

	<theory> A measure of the disorder of a system.  Systems tend
	to go from a state of order (low entropy) to a state of
	maximum disorder (high entropy).

	The entropy of a system is related to the amount of
	{information} it contains.  A highly ordered system can be
	described using fewer {bits} of information than a disordered
	one.  For example, a string containing one million "0"s can be
	described using {run-length encoding} as [("0", 1000000)]
	whereas a string of random symbols (e.g. bits, or characters)
	will be much harder, if not impossible, to compress in this
	way.

	{Shannon}'s formula gives the entropy H(M) of a message M in
	bits:

		H(M) = -log2 p(M)

	Where p(M) is the probability of message M.

	(1998-11-23)

Entry Sequenced Data Set

	<database> (ESDS) An {IBM} straight sequential flat file (like
	{QSAM}) but externally managed via {IDCAMS}.  ESDS is used in
	{VSAM}.

	(1999-01-11)

enumerated type

	<programming> (Or "enumeration") A {type} which includes in
	its definition an exhaustive list of possible values for
	variables of that type.  Common examples include {Boolean},
	which takes values from the list [true, false], and
	day-of-week which takes values [Sunday, Monday, Tuesday,
	Wednesday, Thursday, Friday, Saturday].  Enumerated types are
	a feature of {strongly typed languages}, including {C} and
	{Ada}.

	Characters, (fixed-size) integers and even {floating-point}
	types could be (but are not usually) considered to be (large)
	enumerated types.

	(1996-11-28)

enumeration

	1. <mathematics> A {bijection} with the {natural numbers}; a
	{counted set}.

	Compare {well-ordered}.

	2. <programming> {enumerated type}.

	(1996-11-28)

environment

	{environment variable}

Environmental Audio eXtensions

	<audio> (EAX) Something from {Creative Labs} for generating
	sound effects.

	EAX is a competitor to {Aureal}'s {A3D}.

	[Hardware or software?]

	(2008-02-17)

environment variable

	<programming, operating system> A {variable} that is bound in
	the current environment.  When evaluating an expression in
	some environment, the evaluation of a variable consists of
	looking up its name in the environment and substituting its
	value.

	Most programming languages have some concept of an environment
	but in {Unix} {shell scripts} it has a specific meaning
	slightly different from other contexts.  In shell scripts,
	environment variables are one kind of {shell variable}.  They
	differ from {local variables} and {command line arguments} in
	that they are inheritted by a {child process}.  Examples are
	the PATH variable that tells the shell the {file system}
	{paths} to search to find command {executables} and the TZ
	variable which contains the local time zone.  The variable
	called "SHELL" specifies the type of shell being used.

	These variables are used by commands or {shell scripts} to
	discover things about the environment they are operating in.
	Environment variables can be changed or created by the {user}
	or a program.

	To see a list of environment variables type "setenv" at the
	{csh} or {tcsh} {prompt} or "set" at the {sh}, {bash}, {jsh}
	or {ksh} prompt.

	In other programming languages, e.g. {functional programming}
	languages, the environment is extended with new bindings when
	a {function}'s {parameters} are bound to its {actual
	arguments} or when new variables are declared.  In a
	{block-structured} {procedural} language, the environment
	usually consists of a {linked list} of {activation records}.

	(1999-01-26)

Envoy

	{Motorola}'s integrated personal wireless communicator.  Envoy
	is a {personal digital assistant} which incorporates two-way
	wireless and wireline communication.  It was announced on 7
	March 1994 and released in the third quarter of 1994.  It runs
	{Genral Magic}'s {Magic Cap} {operating system} and
	Telescript(TM) communications language on Motorola's {Dragon}
	chip set.  This includes the highly integrated {Motorola
	68349} processor and a special purpose {application specific
	integrated circuit} (ASIC) referred to as Astro.  This chip
	set was designed specifically for {Magic Cap} and
	{Telescript}.

	A user can write on the Envoy communicator with the
	accompanying stylus or a finger, to type and select or move
	objects on its screen.  An on-screen keyboard can be used to
	input information, draw or write personal notations, or send
	handwritten messages and faxes.

	Envoy can send a wireless message to another Envoy, {PC} or
	fax; broadcast a message to a group, with each member of that
	group receiving the message in their preferred format; gather
	information based on your requirements; schedule a meeting and
	automatically invite attendees; screen, route and organise
	messages; send a business card to another Envoy across a
	conference room table; access real-time scheduling and pricing
	information for US airline flights, then order tickets via fax
	or {electronic mail}; keep track of contacts through an
	address book; receive daily news summaries and stock
	information; capture, organize and review business and
	personal expenses on-the-go; gather, edit and analyze
	information in spreadsheets and graphs compatible with {Lotus
	1-2-3} and {Excel}; shop in an electronic mall.

	{(http://motorola.com/MIMS/WDG/Technology/Envoy/)}.

	[Was it released in Q3 '94?]

	(1995-01-18)

EOF

	End Of File

	1. The {out-of-band} value returned by {C}'s sequential
	character-input functions (and their equivalents in other
	environments) when end of file has been reached.  This value
	is -1 under {C} libraries postdating V6 Unix, but was
	originally 0.

	2. The keyboard character (usually control-D, the ASCII EOT
	(End Of Transmission) character) that is mapped by the {Unix}
	terminal driver into an end-of-file condition.

	[{Jargon File}]

	(1995-01-18)

EOL

	1. {End Of Line}.

	2. Expression Oriented Language.  A low-level language for
	strings. Versions: EOL-1, EOL-2, EOL-3.  ["EOL - A Symbol
	Manipulation Language", L. Lukaszewicz, Computer J 10(1):53
	(May 1967)].

	[{Jargon File}]

EOR

	{exclusive or}

EOT

	1. <character> {End Of Transmission}

	2. <storage> End Of Tape.  A marker used on {magnetic tapes}.

	(1996-06-24)

EOU

	<character, humour> The mnemonic of a mythical {ASCII} control
	character (End Of User) that would make an {ASR-33} {Teletype}
	explode on receipt.  This construction parodies the numerous
	obscure {delimiter} and control characters left in ASCII from
	the days when it was associated more with wire-service
	teletypes than computers (e.g. {FS}, {GS}, {RS}, {US}, {EM},
	{SUB}, {ETX}, and especially {EOT}).  It is worth remembering
	that ASR-33s were big, noisy mechanical beasts with a lot of
	clattering parts; the notion that one might explode was
	nowhere near as ridiculous as it might seem to someone sitting
	in front of a {tube} or flatscreen today.

	[{Jargon File}]

	(1996-06-29)

EOUG

	European {ORACLE} Users Group.

EP

	{Emulator program}

EPCS

	{Experimental Physics Control Systems}

ephemeral port

	<networking> A {TCP} or {UDP} {port} number that is
	automatically allocated from a predefined range by the {TCP/IP
	stack} software, typically to provide the port for the client
	end of a {client-server} communication.

	{BSD} used ports 1024 through 4999 as ephemeral ports, though
	it is often desirable to increase this allocation.

	{(http://ncftpd.com/ncftpd/doc/misc/ephemeral_ports.html)}.

	(2002-10-06)

EPILOG

	1. Extended Programming In LOGic.  {PROLOG} with several AND's
	having different time constraints.

	["Epilog: A Language for Extended Programming in Logic",
	A. Porto in Implementations of Prolog, J.A. Campbell ed, Ellis
	Horwood 1984].

	2. A {data-driven} {PROLOG}, with both {AND parallelism} and
	{OR parallelism}.  ["EPILOG = PROLOG + Data Flow", M.J. Wise,
	SIGPLAN Noices 17:80-86 (1982)].

EPIM

	{Enterprise Product Information Management}

EPL

	1. {Early PL/I}.

	2. {Experimental Programming Language}.

	3. {Eden Programming Language}.

	4. {Equational Programming Language}

	5. {Ethernet Private Line}

EPOC

	<operating system> A family of graphical {operating systems}
	developed by {Psion} for portable devices, primarily {PDA}s.
	The name EPOC came from epoch, the beginning of an era, but was
	backfitted by the engineers to "Electronic Piece Of Cheese".
	The first version, later known as EPOC16, was developed in the
	late 1980s and early 1990s for Psion's "{SIBO}" (SIxteen Bit
	Organisers) devices.  All EPOC16 devices feature an
	{8086}-family processor and a 16-bit architecture.  EPOC16 is
	a single-user {pre-emptive multitasking} operating system,
	written in Intel 8086 {assembler language} and {C} and
	designed to be delivered in {ROM}.  It supported a simple
	programming language called {OPL} and an {IDE} called {OVAL}.

	EPOC16 was followed by {EPOC32} in 1997.

	(2009-05-26)

epoch

	1. <operating system> (Probably from astronomical timekeeping)
	A term used originally in {Unix} documentation for the time
	and date corresponding to zero in an {operating system}'s
	{clock} and {timestamp} values.

	Under most Unix versions the epoch is 1970-01-01 00:00:00 GMT;
	under {VMS}, it's 1858-11-17 00:00:00 (the base date of the US
	Naval Observatory's ephemerides); on a {Macintosh}, it's
	1904-01-01 00:00:00.

	System time is measured in seconds or {ticks} past the epoch.
	Weird problems may ensue when the clock wraps around (see
	{wrap around}), which is not necessarily a rare event; on
	systems counting 10 ticks per second, a signed 32-bit count of
	ticks is good only for 0.1 * 2**31-1 seconds, or 6.8 years.
	The one-tick-per-second clock of Unix is good only until
	2038-01-18, assuming at least some software continues to
	consider it signed and that word lengths don't increase by
	then.  See also {wall time}.

	2. <editor> (Epoch) A version of {GNU Emacs} for the {X Window
	System} from {NCSA}.

	[{Jargon File}]

	(2004-06-10)

EPP

	{Enhanced Parallel Port}

EPROM

	{Erasable Programmable Read-Only Memory}

EPROM OTP

	{Erasable Programmable Read-Only Memory One Time Programmable}

EPROS

	A specification/prototyping language.  Implemented in {Franz
	Lisp}.

	{(ftp://utsun.s.u-tokyo.jp/lang/epros)}.

	["Software Prototyping, Formal Methods and VDM", Sharam
	Hekmatpour et al, A-W 1988].

EPS

	{Encapsulated PostScript}

EPSILON

	<language> A {macro} language with high level features
	including strings and lists, developed by A.P. Ershov at
	Novosibirsk in 1967.  EPSILON was used to implement {ALGOL 68}
	on the {M-220}.

	["Application of the Machine-Oriented Language Epsilon to
	Software Development", I.V. Pottosin et al, in Machine
	Oriented Higher Level Languages, W. van der Poel, N-H 1974,
	pp. 417-434].

	[{Jargon File}]

	(1995-05-10)

epsilon

	1. <character> The fifth letter of the Greek alphabet.

	2. <mathematics> (From the Hungarian mathematician {Paul
	Erdos}) A very small, insignificant, or negligible quantity of
	something.

	The use of epsilon is from the {epsilon-delta method} of
	{proof} in {differential calculus}.

	(2001-07-06)

epsilon squared

	<jargon> A quantity even smaller than {epsilon}, as small in
	comparison to epsilon as epsilon is to something normal;
	completely negligible.  If you buy a supercomputer for a
	million dollars, the cost of the thousand-dollar terminal to
	go with it is {epsilon}, and the cost of the ten-dollar cable
	to connect them is epsilon squared.

	Compare {lost in the underflow}, {lost in the noise}.

	(1997-09-05)

EPSIMONE

	Concurrent simulation language derived from Simone.  "EPSIMONE
	Manual", J. Beziin et al, Pub Int No 90, IRISA, Sept 1978.

EPSS

	{Electronic Performance Support System}

EqL

	An equational language.  Bharat Jayaraman
	<bharat@cs.buffalo.edu>.  "EqL: The Language and its
	Implementation", B. Jayaraman et al, IEEE Trans Soft Eng
	SE-15(6):771-780 (June 1989).

EQLOG

	Equality, types and generic modules for logic programming.
	A language using Horn clauses.  J.A. Goguen, J. Meseguer.

EQLog

	OBJ2 plus logic programming based on Horn logic with equality.

	"EQLog: Equality, Types and Generic Modules for Logic
	Programming", J.  Goguen et al in Functional and Logic
	Programming, D. DeGroot et al eds, pp.295-363, P-H 1986.

Eqn

	Language for typesetting mathematics.

	"A System for Typesetting Mathematics", B.W. Kernighan and
	L.L. Cherry, CACM 18(3):151-157 (Mar 1975).

equals

	<character> "=", {ASCII} character 61.

	Common names: {ITU-T}: equals; gets; takes.  Rare:
	quadrathorpe; {INTERCAL}: half-mesh.

	Equals is used in many languages as the {assignment} operator
	though earlier languages used ":=" ("becomes equal to") to
	avoid upsetting mathematicians with statements such as "x =
	x+1".  It is also used in compounds such as "<=", ">=", "==",
	"/=", "!=" for various comparison operators and in {C}'s "+=",
	"*=" etc. which mimic the {primitive} operations of
	{two-address code}.

	(1995-03-29)

equational logic

	<logic> First-order equational logic consists of
	{quantifier}-free terms of ordinary {first-order logic}, with
	equality as the only {predicate} symbol.  The {model theory}
	of this logic was developed into {Universal algebra} by
	Birkhoff et al.  [Birkhoff, Gratzer, Cohn].  It was later made
	into a branch of {category theory} by Lawvere ("algebraic
	theories").

	(1995-02-21)

Equational Programming Language

	<language> (EPL) An {equational language} for {parallel}
	scientific applications, developed by RPI. Szymanski.

	["EPL - Parallel Programming with Recurrent Equations",
	B. Szymanski in Parallel Functional Languages and Compilers,
	B. Szymanski et al, A-W 1991].

	(2010-09-21)

Equel

	Embedded Quel.  {INGRES, Inc.}  Combines QUEL theories with C
	code.

equivalence class

	<mathematics> An equivalence class is a subset whose elements
	are related to each other by an {equivalence relation}.  The
	equivalence classes of a set under some relation form a
	{partition} of that set (i.e. any two are either equal or
	{disjoint} and every element of the set is in some class).

	(1996-05-13)

equivalence class partitioning

	<testing> A software testing technique that involves
	identifying a small set of representative input values that
	invoke as many different input conditions as possible.

	For example, for {binary search} the following partitions
	exist: inputs that do or do not conform to pre-conditions,
	Inputs where the key element is or is not a member of the
	array.  One can combine these into finer partitions.  One can
	also pick specific conditions of the array, e.g. a single
	value, even or odd number of elements.  One should look at
	{boundary conditions}, e.g. inputs where the key element is
	the first or last element in the array.

	(2004-01-18)

equivalence partitioning

	{equivalence class partitioning}

equivalence relation

	<mathematics> A relation R on a set including elements a, b,
	c, which is reflexive (a R a), symmetric (a R b => b R a) and
	transitive (a R b R c => a R c).  An equivalence relation
	defines an {equivalence} class.

	See also {partial equivalence relation}.

	(1996-05-13)

equivalent isotropically radiated power

	<communications> (EIRP) The power radiated by a radio antenna
	calculated as the power output of the {intentional radiator}
	multiplied by the gain of the antenna (due to its shape).

	Limits are defined by the {FCC} and other national regulators.

	(2008-02-11)

ER

	{Entity-Relationship}

er

	<networking> The {country code} for Eritrea.

	(1999-01-27)

ERA

	{Entity-Relationship-Attribute}

era

	Synonym {epoch}.  Webster's Unabridged makes these words
	almost synonymous, but "era" usually connotes a span of time
	rather than a point in time.

Erasable Programmable Read-Only Memory

	<storage> (EPROM) A type of storage device in which the data
	is determined by electrical charge stored in an isolated
	("floating") {MOS} {transistor} {gate}.  The isolation is good
	enough to retain the charge almost indefinitely (more than ten
	years) without an external power supply.  The EPROM is
	programmed by "injecting" charge into the floating gate, using
	a technique based on the tunnel effect.  This requires higher
	voltage than in normal operation (usually 12V - 25V).  The
	floating gate can be discharged by applying ultraviolet light
	to the chip's surface through a quartz window in the package,
	erasing the memory contents and allowing the chip to be
	reprogrammed.

	(1995-04-22)

erase

	{delete}

eraser stains code

	<humour, programming> {Code} that has been {refactored} many
	times, leaving swaths of {legacy code} and design; like paper that
	has been written on and erased so many times that the pencil marks
	are no longer the problem - the large greasy stain is.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-07-22)

ERC

	<database> An extended {entity-relationship model}.

	[Details?  What does it stand for?]

	(1997-12-23)

ERCIM

	European Research Consortium on Informatics and Mathematics.
	An association of European research organisations promoting
	cooperative research on key issues in {Information
	Technology}.

	(2000-12-30)

ERD

	{entity-relationship diagram}

EREW PRAM

	exclusive read, exclusive write {PRAM}.

ERFPI

	An early system on the {LGP-30} computer.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-08)

ergonomic

	Concerning {ergonomics} or exhibitting good ergonimics.

	(1995-04-14)

ergonomics

	The study of the design and arrangement of equipment so that
	people will interact with the equipment in healthy,
	comfortable, and efficient manner.  As related to computer
	equipment, ergonomics is concerned with such factors as the
	physical design of the keyboard, screens, and related
	hardware, and the manner in which people interact with these
	hardware devices.

	(1995-04-14)

ERGO-Shell

	<operating system, tool> An ergonomic {X Window System} {Unix}
	{shell} for software engineers by Regine Freitag
	<freitag@gmd.de>.  ERGO-Shell is now obsolete.

	Version: 2.1.

	{(ftp://ftp.gmd.de/gmd/ergo/)}.

	E-mail: Dr. Wolfgang Dzida, GMD <dzida@gmd.de> or the author.

	(2000-12-19)

Eric Conspiracy

	<person, humour> A shadowy group of moustachioed hackers named
	Eric first pinpointed as a sinister conspiracy by an infamous
	talk.bizarre posting ca. 1986.  This was doubtless influenced
	by the numerous "Eric" jokes in the Monty Python oeuvre.
	There do indeed seem to be considerably more moustachioed
	Erics in hackerdom than the frequency of these three traits
	can account for unless they are correlated in some arcane way.
	Well-known examples include {Eric Allman} (of the "Allman
	style" described under {indent style}), {Erik Fair} (co-author
	of NNTP), {Eric S. Raymond} and about fifteen others.  The
	organisation line "Eric Conspiracy Secret Laboratories" now
	emanates regularly from more than one site.

	[{Jargon File}]

	(1998-10-20)

Eric S. Raymond

	<person> One of the authors of the Hacker's {Jargon File}.
	Eric was involved in the {JOLT} project and {GNU Emacs} as
	well as maintaining several {FAQ} lists.  He is a keen
	advocate of {open source}.

	{(http://ccil.org/~esr)}.

	E-mail: <esr@snark.thyrsus.com>

	(1998-10-20)

Eris

	/e'ris/ The Greek goddess of Chaos, Discord, Confusion, and
	Things You Know Not Of; her name was latinised to Discordia
	and she was worshiped by that name in Rome.  Not a very
	friendly deity in the Classical original, she was reinvented
	as a more benign personification of creative anarchy starting
	in 1959 by the adherents of {Discordianism} and has since been
	a semi-serious subject of veneration in several "fringe"
	cultures, including hackerdom.

	See {Church of the SubGenius}.

	[{Jargon File}]

	(1994-12-08)

Erlang

	1. <person> {Agner Krarup Erlang}.  (The other senses were
	named after him).

	2. <language> A concurrent {functional language} for large
	industrial {real-time} systems by Armstrong, Williams and
	Virding of Ellemtel, Sweden.

	Erlang is untyped.  It has {pattern matching} syntax,
	{recursion equations}, explicit {concurrency}, {asynchronous
	message passing} and is relatively free from {side-effects}.
	It supports transparent cross-{platform} distribution.  It has
	primitives for detecting run-time errors, real-time {garbage
	collection}, {modules}, {dynamic code replacement} (change
	code in a continuously running real-time system) and a
	{foreign language interface}.

	An unsupported free version is available (subject to a
	non-commercial licence).  Commercial versions with support are
	available from {Erlang Systems AB}.  An {interpreter} in
	{SICStus Prolog} and compilers in {C} and Erlang are available
	for several {Unix} {platforms}.

	{Open Telecom Platform} (OTP) is a set of {libraries} and
	tools.

	{Commercial version (http://erlang.se/)} - sales, support,
	training, consultants.  {Open-source version
	(http://erlang.org/)} - downloads, user-contributed
	software, mailing lists.

	{Training and consulting (http://erlang-consulting.com/)}.

	E-mail: <erlang@erix.ericsson.se>.

	[Erlang - "Concurrent Programming in Erlang", J. Armstrong, M.
	& Williams R. Virding, Prentice Hall, 1993. ISBN 13-285792-8.]

	3. <unit> 36 {CCS} per hour, or 1 call-second per second.

	Erlang is a unit without dimension, accepted internationally
	for measuring the traffic intensity.  This unit is defined as
	the aggregate of continuous occupation of a channel for one
	hour (3600 seconds).  An intensity of one Erlang means the
	channel is continuously occupied.

	(2003-03-25)

ERM

	{Electronic Report Management}

erotica

	{pornography}

ERP

	{Enterprise Resource Planning}

error

	1. A discrepancy between a computed, observed, or measured
	value or condition and the true, specified, or theoretically
	correct value or condition.

	2. <programming> A mental mistake made by a programmer that
	may result in a program {fault}.

	3. (verb) What a program does when it stops as result of a
	programming error.

	(2000-03-28)

error-based testing

	<programming> Testing where information about programming
	style, error-prone language constructs, and other programming
	knowledge is applied to select test data capable of detecting
	faults, either a specified class of faults or all possible
	faults.

	(1996-05-13)

error correcting memory

	<storage> (ECM) {RAM} using some kind of {error detection and
	correction} (EDAC) scheme.  The two types of memory errors in
	RAM (especially {DRAM}) are "soft" errors due to
	radiation-induced bit switching, and "hard" errors due to the
	unexpected deterioration of a memory chip.  Soft errors do not
	indicate lasting damage to the memory board, but they do
	corrupt programs or data.  Hard errors demand physical
	repairs.  Single bit memory failures are the most common.  A
	hard single bit failure, such as that caused by a completely
	dead chip can be corrected by EDAC if each chip supplies only
	one bit of each word.  EDAC memory is the most common level of
	protection for {minicomputers} and {mainframes} whereas the
	cheaper parity protection is more common in {microcomputers}.

	[Clearpoint, "The Designer's Guide to Add-In Memory", Third
	Addition].

	(1995-10-10)

error detection and correction

	<algorithm, storage> (EDAC, or "error checking and
	correction", ECC) A collection of methods to detect errors in
	transmitted or stored data and to correct them.  This is done
	in many ways, all of them involving some form of coding.  The
	simplest form of error detection is a single added {parity
	bit} or a {cyclic redundancy check}.  Multiple parity bits can
	not only detect that an error has occurred, but also which
	bits have been inverted, and should therefore be re-inverted
	to restore the original data.  The more extra bits are added,
	the greater the chance that multiple errors will be detectable
	and correctable.

	Several codes can perform Single Error Correction, Double
	Error Detection (SECDEC).  One of the most commonly used is
	the {Hamming code}.

	At the other technological extreme, cuniform texts from about
	1500 B.C. which recorded the dates when Venus was visible,
	were examined on the basis of contained redundancies (the
	dates of appearance and disappearance were suplemented by the
	length of time of visibility) and "the worst data set ever
	seen" by [Huber, Zurich] was corrected.

	{RAM} which includes EDAC circuits is known as {error
	correcting memory} (ECM).

	[Wakerly, "Error Detecting Codes", North Holland 1978].

	[Hamming, "Coding and Information Theory", 2nd Ed, Prentice
	Hall 1986].

	(1995-03-14)

es

	1. <networking> The {country code} for Spain.

	2. <operating system> {Extensible Shell}.

	3. (Expert System) An {expert system} for the {IBM PC}
	featuring {forward chaining}, {backward chaining} and {fuzzy
	set} relations.

	{(ftp://ftp.uu.net/pub/ai/expert-sys/summers.tar.Z)}.

	[BYTE Oct 1990].

	(1999-02-01)

ES-1

	<text, tool> An early text editing {interpreter}.

	[Sammet 1969, p. 684].

	(1999-02-01)

ESA

	1. <architecture> {Enterprise Systems Architecture}.

	2. <body> European Space Agency.

	(1999-10-31)

ESC

	{escape}

ESCAPE

	<language> An early system on the {IBM 650}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-01-05)

escape

	<character> (ESC) {ASCII} character 27.

	When sent by the user, escape is often used to abort execution
	or data entry.  When sent by the computer it often starts an
	{escape sequence}.

	(1997-11-27)

escape sequence

	<character> (Or "escape code") A series of characters starting
	with the {escape} character (ASCII 27).  Escape sequences are
	often used to control display devices such as {VDUs}.  An
	escape sequence might change the colour of subsequent text,
	reassign keys on the keyboard, change printer settings or
	reposition the cursor.  The escape sequences of the {DEC}
	{vt100} {video terminal} have become a {de facto standard} for
	this purpose.

	The term is also used for any sequence of characters that
	temporarily suspends normal processing of a stream of
	characters to perform some special function.  For example, the
	{Hayes} {modem} uses the sequence "+++" to escape to command
	mode in which characters are interpreted as commands to the
	modem itself rather than as data to pass through.

	[Was the character named after this use or vice versa?]

	(1997-11-27)

ESCD

	{Extended System Configuration Data}

ESCON

	{Enterprise Systems CONnectivity}

escrow

	<security> An arrangement where something (generally money or
	documents) is held in trust ("in escrow") by a trusted third
	party until certain agreed conditions are met.  In computing
	the term is used for {key escrow} and also for {source code
	escrow}.

	(1999-12-14)

ESD

	{Electrostatic Discharge}

ESDI

	{Enhanced Small Disk Interface}

ESF

	Eureka Software Factory.

ESI

	1. {European Software Institute}.

	2. A dialect of {JOSS}.

	[Sammet 1969, p. 217].

esim

	A language for {simulation} of {VLSI} at the {switch level}.
	The {primitives} are nodes and {transistors}.

	[C.M. Baker et al, "Tools for Verifying Integrated CIrcuit
	Design", Lambda 1(3):22-30 (1980)].

	(1994-10-20)

ESL

	{Expert Systems} Ltd.

ESLPDPRO

	{ESL} public domain version of Edinburgh {Prolog} for
	{MS-DOS}.  The code is totally compatible with C-Prolog.

	{(ftp://aisun1.ai.uga.edu/ai.prolog/eslpdpro.zip)}.

ESML

	{Extended Systems Modelling Language}

ESMTP

	<messaging, protocol> Extended {SMTP}.  Initially defined in
	{RFC 1869} and extended thereafter.

	See also {ETRN}.

	(1997-11-21)

ESP

	1. Extra Simple Pascal.  Subset of Pascal.

	2. Econometric Software Package.  Statistical analysis of time
	series.  "Econometric Software Package, User's Manual",
	J.P. Cooper, Graduate School of Business, U Chicago.  Sammet
	1978.

	3. {Extended Self-containing Prolog}.

	4. An early {symbolic mathematics} system.

	[A. Rom, Celest Mech 3:331-345 (1971)].

	(1994-12-08)

ESPOL

	{Executive Systems Programming Oriented Language}

ESPRIT

	{European Strategic Programme for Research in Information Technology}

ESR

	{Eric S. Raymond}

essential complexity

	<programming> A measure of the "structuredness" of a program.

	(1996-05-13)

Estelle

	A {Pascal} extension for formal specification of computer
	{network} {protocols}.  Protocols are described by {modules}
	which are communicating {NFAs}.  Modules are arranged in a
	dynamic hierarchy and communicate at named interaction points.

	{EstPC (ftp:osi.ncsl.nist.gov/pub/osikit/estpc)} Compiles
	Estelle into C.  {petdingo} Translates Estelle into C++

	Adopted by {ITU-T}.  ISO 9074 (1989).

	["The Formal Description Technique Estelle", M.  Diaz et al
	eds, N-H 1989].

Esterel

	A distributed language for synchronous interaction of
	{real-time} systems with their environment.  Uses explicit
	timing requests.  Esterel programs are compiled into finite
	{automata}.

	["The ESTEREL Programming Language and its Mathematical
	Semantics", G. Berry & L. Cosserat, TR 327, INRIA, 1984].

EstPC

	A {compiler} from {Estelle} to {C}.

	{(ftp:osi.ncsl.nist.gov/pub/osikit/estpc)}.

	(1994-09-19)

ET

	Bernd Gersdorf, U Bremen.  An integration of functional and
	logic programming.

et

	<networking> The {country code} for Ethiopia.

	(1999-01-27)

ET++

	A {Smalltalk}-like system for {Suns}, built on {C++} by
	Weinand of UBILAB Zurich.  Version 3.0-alpha includes {class}
	libraries and documentation.

	{(ftp://iamsun.unibe.ch/C++/ET++/et2.2.tar.Z)}.

	E-mail: Erich Gamma <gamma@ifi.unizh.ch>.

	(1992-10-26)

eta abstraction

	{eta conversion}

eta conversion

	<theory> In {lambda-calculus}, the eta conversion rule states

		\ x . f x  <-->  f

	provided x does not occur as a {free variable} in f and f is a
	function.  Left to right is eta reduction, right to left is
	eta abstraction (or eta expansion).

	This conversion is only valid if {bottom} and \ x . bottom are
	equivalent in all contexts.  They are certainly equivalent
	when applied to some argument - they both fail to terminate.
	If we are allowed to force the evaluation of an expression in
	any other way, e.g. using {seq} in {Miranda} or returning a
	function as the overall result of a program, then bottom and
	\ x . bottom will not be equivalent.

	See also {observational equivalence}, {reduction}.

eta expansion

	{eta conversion}

eta reduction

	{eta conversion}

ETB

	{End Transmission Block}

ETC

	{ExTendible Compiler}

e-text

	{electronic text}

ETHER

	<language> A {concurrent} {object-oriented} language?

	(1997-03-18)

EtherGate

	Multi-protocol Ethernet gateway made by LRT.
	See Computer Systems, October 1985.

Ethernet

	<networking> A {local area network} first described by
	Metcalfe & Boggs of {Xerox PARC} in 1976.  Specified by {DEC},
	{Intel} and {XEROX} (DIX) as {IEEE 802.3} and now recognised
	as the industry standard.

	Data is broken into {packets} and each one is transmitted
	using the {CSMA/CD} {algorithm} until it arrives at the
	destination without colliding with any other packet.  The
	first {contention slot} after a transmission is reserved for
	an {acknowledge} packet.  A {node} is either transmitting or
	receiving at any instant.  The {bandwidth} is about 10 Mbit/s.
	Disk-Ethernet-Disk transfer rate with {TCP/IP} is typically 30
	kilobyte per second.

	Version 2 specifies that {collision} detect of the transceiver
	must be activated during the {inter-packet gap} and that when
	transmission finishes, the differential transmit lines are
	driven to 0V (half step).  It also specifies some {network
	management} functions such as reporting {collisions}, retries
	and {deferrals}.

	Ethernet cables are classified as "XbaseY", e.g. 10base5,
	where X is the data rate in {Mbps}, "base" means "{baseband}"
	(as opposed to {radio frequency}) and Y is the category of
	cabling.  The original cable was {10base5} ("full spec"),
	others are {10base2} ("thinnet") and {10baseT} ("twisted
	pair") which is now (1998) very common.  {100baseT} ("{Fast
	Ethernet}") is also increasingly common.

	{Usenet} newsgroup: {news:comp.dcom.lans.ethernet}.

	{(http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html)}.

	(1997-04-16)

Ethernet address

	<networking> (Or "{MAC} address") The physical address
	identifying an individual {Ethernet controller} board.  An
	Ethernet addess is a 48-bit number aabbccddeeff where a-f are
	{hexadecimal} digits.  The first 24 bits, aabbcc, identify the
	manufacturer of the controller.  The Ethernet address is
	hard-wired on some controllers, stored in a {ROM} on some, and
	others allow it to be changed from software.  It is usually
	written as six hexadecimal numbers, e.g. 08:00:20:03:72:DC.

	See also {ARP}, {Internet address}.

	(1996-02-21)

Ethernet meltdown

	A {network meltdown} on {Ethernet}.

	(1994-11-29)

Ethernet Private Line

	<networking> (EPL) A data service defined by the {Metro
	Ethernet Forum}, providing a point-to-point Ethernet
	connection between a pair of dedicated User-Network Interfaces
	(UNIs), with a high degree of transparency.

	(2010-09-21)

EtherTalk

	<networking> An {Apple Computer} {network} {standard} used to
	extend an {AppleTalk} network across an {Ethernet} network.

	Compare {LocalTalk}.

	(1994-11-29)

ethics

	{computer ethics}

ETL

	<database> The processes of Extracting, Transforming (or
	Transporting), and Loading data from {source systems} into a
	{data warehouse}.

	(2003-12-31)

ETM

	<database> An {active DBMS} from the {University of
	Karlsruhe}.

	[Expansion?  Features?]

	(1997-06-23)

ETRN

	<messaging, protocol> ("Extended {TURN}") An {ESMTP} command
	(first defined in {RFC 1985}) with which a {client} asks the
	{server} to deliver queued mail to the client via a new ESMTP
	connection.

	ETRN supersedes the {SMTP} "TURN" command in the same way that
	ESMTP's "{EHLO}" supersedes SMTP's "{HELO}".

	(1997-11-21)

ETSI

	{European Telecommunications Standards Institute}

ETX

	{End Of Text}

Euclid

	<language> (Named after the Greek geometer, fl ca 300 BC.) A
	{Pascal} descendant for development of verifiable system
	software.  No {goto}, no {side effects}, no global
	assignments, no functional arguments, no nested procedures, no
	floats, no {enumeration types}.  Pointers are treated as
	indices of special arrays called collections.  To prevent
	{aliasing}, Euclid forbids any overlap in the list of actual
	parameters of a procedure.  Each procedure gives an imports
	list, and the compiler determines the identifiers that are
	implicitly imported.  Iterators.

	Ottawa Euclid is a variant.

	["Report on the Programming Language Euclid", B.W. Lampson et
	al, SIGPLAN Notices 12(2):1-79, Feb 1977].

	(1998-11-23)

Euclidean Algorithm

	{Euclid's Algorithm}

Euclidean norm

	<mathematics> The most common {norm}, calculated by summing
	the squares of all coordinates and taking the square root.
	This is the essence of {Pythagoras's theorem}.  In the
	infinite-dimensional case, the sum is infinite or is replaced
	with an integral when the number of dimensions is
	{uncountable}.

	(2004-02-15)

Euclid's Algorithm

	<algorithm> (Or "Euclidean Algorithm") An {algorithm} for
	finding the {greatest common divisor} (GCD) of two numbers.
	It relies on the identity

		gcd(a, b) = gcd(a-b, b)

	To find the GCD of two numbers by this algorithm, repeatedly
	replace the larger by subtracting the smaller from it until
	the two numbers are equal.  E.g. 132, 168 -> 132, 36 -> 96, 36
	-> 60, 36 -> 24, 36 -> 24, 12 -> 12, 12 so the GCD of 132 and
	168 is 12.

	This algorithm requires only subtraction and comparison
	operations but can take a number of steps proportional to the
	difference between the initial numbers (e.g. gcd(1, 1001) will
	take 1000 steps).

	(1997-06-30)

Eudora

	{Electronic mail} software for communicating over {TCP/IP}
	from {Macintosh}, {Microsoft Windows}, {Windows NT}, and {IBM}
	{OS/2} computers.  Both commercial and free versions are
	produced by {QUALCOMM, Inc.}

EULA

	{end-user license agreement}

EULER

	[Named after the Swiss mathematician Leonhard Euler
	(1707-1783)] A revision of {ALGOL} by {Niklaus Wirth}.  A
	small predecessor of {Pascal}.

	["EULER: A Generalisation of ALGOL and Its Formal Definition",
	N. Wirth, CACM 9(1) (Jan 1966) and 9(2) (Feb 1966)].

EuLisp

	1985-present.  A {Lisp} dialect intended to be a common
	European {standard}, with influences from {Common LISP}, {Le
	LISP}, {Scheme} and {T}.  {First-class functions}, {class}es
	and {continuations}, both {static scope} and {dynamic scope},
	{modules}, support for {parallelism}.  The class system
	({TELOS}) incorporates ideas from {CLOS}, {ObjVLisp} and
	{Oaklisp}.

	See also {Feel}.

	E-mail: <eudist@maths.bath.ac.uk>.

EUnet Ltd.

	EUnet Ltd. is jointly owned by the EUnet national service
	providers and {EurOpen}, the European Forum for Open Systems.

	EUnet services include {electronic mail} ({Internet}-style
	{RFC 822} as well as {X.400}), {InterEUnet} ({Internet
	Protocol}) connectivity and services such as {remote login}
	and {file transfer} over {leased lines}, {dial-up lines},
	{X.25} and {Integrated Services Digital Network}.  EUnet is
	the primary European region provider of {network news} and the
	top-level European distributor of {Internet Talk Radio}.

	EUnet operates its own infrastructure across Europe and is the
	largest European component of the {Internet}.  EUnet is a
	member of {Commercial Internet Exchange} and {Ebone93}, a
	research network consortium.

	E-mail: <info@EU.net>.  {(http://eu.net/)}.

Euphoria

	End User Programming with Hierarchical Objects for Robust
	Interpreted Applications.  Interpreted language with dynamic
	storage and dynamic typing.  Rapid Deployment Software.

	E-mail: <robert.craig@canrem.com>.

Eureka

	A European technological development programme.

Eureka step

	In {program transformation}, a transformation which is not
	obvious or easy to define as an {algorithm}.

	(1994-12-08)

Eurisko

	<artificial intelligence> A language for "{opportunistic
	programming}" written by {Doug Lenat} in 1978.  Eurisko
	constructs its own methods and modifies its strategies as it
	tries to solve a problem.

	{(http://homepages.enterprise.net/hibou/aicourse/lenat.txt)}.

	[Mentioned by Alan Kay, SIGPLAN Notices 28(3), March 1993,
	p. 88].

	(1994-12-08)

Eurocard

	A range of standard circuit board sizes.

	Normal	       double Eurocard = 233.4 x 160 mm
	Extended       double Eurocard = 233.4 x 220 mm
	Super extended double Eurocard = 233.4 x 250 mm
	Hyper extended double Eurocard = 233.4 x 280 mm

Euro-ISDN

	European Integrated Services Digital Network.

	An {ETSI} standard for {Integrated Services Digital Network}
	being phased in in March 1994.  Euro-ISDN will allow full
	transparent interworking between all European countries
	(members of the {CEPT}).  It is available on a commercial
	basis in most European countries.

	(1994-12-08)

EuroNet

	<company> An {IAP} from Amsterdam, The Netherlands operating
	since 1994-08-01 and owned by {France Telecom} since
	1998-11-06.

	{(http://euronet.nl/)}.

	E-mail: <info@euro.net>.

	Telephone: +31 (020) 535 5555.

	Fax: +31 (020) 535 5400.

	Address: Herengracht 208-214, 1016 BS Amsterdam, The
	Netherlands.

	(1999-01-17)

EuropaNET

	A combination of pan-European backbone services run by DANTE.

European Academic and Research Network

	<networking> (EARN) A self-managing network in the research
	community originally sponsored by {IBM}.  It uses {BITNET}
	{protocols} and connects to BITNET in the USA.

	(1995-11-15)

European Computer-Industry Research Centre GmbH

	<body> (ECRC) A joint research organisation founded in 1984 on
	the initiative of three major European manufacturers: {Bull}
	(France), {ICL} (UK) and {Siemens} (Germany).  Its activities
	were intended to enhance the future competitive ability of the
	European {Information Technology} industry and thus complement
	the work of national and international bodies.

	The Centre is intended to be the breeding ground for those
	ideas, techniques and products which are essential for the
	future use of electronic information processing.  The work of
	the Centre will focus on advanced information processing
	technology for the next generation of computers.

	ECRC is an independent company, owned equally by its
	shareholders.  The formal interface between ECRC and its
	shareholders consists of two bodies: The Shareholders'
	Council, which approves the Centre's programmes and budgets
	and supervises their execution and the Scientific Advisory
	Board, which advises the Shareholders' Council in determining
	future research directions.

	There are many collaborations between ECRC and its
	shareholders' companies on specific projects (Technology
	Transfer, prospective studies etc).  The Centre is staffed by
	highly qualified scientists drawn from different countries.
	Research staff are hired directly by ECRC, as well as some who
	come on assignment from the member companies, and others
	seconded from public research agencies and universities.

	Seminars are held which bring together specialists from the
	Centre and the member companies.

	ECRC's mission is to pursue research in fundamental areas of
	computer science.  The aim is to develop the theory,
	methodologies and tools needed to build innovative computer
	applications.  ECRC contributes actively to the international
	effort that is expanding the frontiers of knowledge in
	computer science.  It plays an important role in bridging the
	gap between research and industry by striving to work at the
	highest academic level with a strong industrial focus.  ECRC
	constitutes an opportunity in Europe for the best scientists
	and offers young researchers the possibility to mature in an
	environment which exposes them to both fundamental research
	and the process of delivering the results to industry.

	ECRC plays an important role in Europe and is involved in
	several European Community initiatives.  It is regularly
	consulted by the Commission of the European Communities on
	strategic issues, such as the definition of future research
	plans, international co-operation and relationships between
	academia and industry.

	Address: ECRC GmbH, Arabellastrasse 17, D-81925 Munich,
	Germany.

	{(http://ecrc.de/)}.

	Telephone: +49 (89) 926 99 0.  Fax: +49 (89) 926 99 170.

	(1994-12-01)

European Computer Manufacturers Association

	<body> (ECMA) The former name of {ECMA International}

European Strategic Programme for Research in Information Technology

	<project> (ESPRIT) A funding programme to develop Information
	Technology in the European Economic Communities.  Superseded
	by {Framework 4}.

	(1996-05-13)

European Telecommunications Standards Institute

	<body> (ETSI) A European version of the {ITU-T}(?).

	(1996-05-13)

EUUG

	{European Unix User Group}

EV6

	<hardware, protocol> (Alpha EV6) {Compaq}'s {bus protocol} for
	{Slot A} {motherboards}.  The Alpha EV6 bus protocol is
	capable of bus speeds from 40 to 400 MHz and uses a
	{point-to-point} {topology} with {clock forwarding}.

	(1999-08-05)

Eva

	1. A toy ALGOL-like language used in "Formal Specification of
	Programming Languages: A Panoramic Primer", F.G. Pagan, P-H
	1981.

	2. Explicit Vector Language.

EVALUATE

	<programming> The {COBOL85} {keyword} for a {switch
	statement}.

	(1997-06-10)

evaluation

	<programming> 1. Converting an expression into a value using
	some {reduction strategy}.

	2. The process of examining a system or system component to
	determine the extent to which specified properties are
	present.

	(1996-05-13)

evaluation strategy

	{reduction strategy}

evaluator

	<theory> Geoff Burn defines evaluators E0, E1, E2 and E3 which
	when applied to an expression, reduce it to varying degrees.
	E0 does no evaluation, E1 it evaluates to {weak head normal
	form} (WHNF), E2 evaluates the structure of a list, i.e. it
	evaluates it either to NIL or evaluates it to a CONS and then
	applies E2 to the second argument of the CONS.  E3 evaluates
	the structure of a list and evaluates each element of the list
	to {WHNF}.  This concept can be extended to data structures
	other than lists and forms the basis of the {evaluation
	transformer} style of {strictness analysis}.

	(1994-12-12)

EVE

	{Extensible VAX Editor}

event

	1. <software> An occurrence or happening of significance to a
	task or program, such as the completion of an asynchronous
	input/output operation.  A task may wait for an event or any
	of a set of events or it may (request to) receive asynchronous
	notification (a {signal} or {interrupt}) that the event has
	occurred.

	See also {event-driven}.

	2. <data> A transaction or other activity that affects the
	records in a file.

	(2000-02-09)

Event Description Language

	<language> (EDL)

	["EDL: A Basis for Distributed System Debugging Tools",
	P.C. Bates et al, in Proc Hawaii Intl Conf on Sys Sci, Jan
	1982, pp.86-93].

	(2007-07-11)

event-driven

	<programming> A kind of program, such as a {graphical user
	interface}, with a main loop which just waits for {events} to
	occur.  Each event has an associated handler which is passed
	the details of the event, e.g. mouse button 3 pressed at
	position (355, 990).

	For example, {X window system} and most {Visual Basic}
	{application programs} are event-driven.

	See also {callback}.

	(2000-02-09)

EVGA

	{Extended Video Graphics Array}

evolutionary algorithm

	(EA) An {algorithm} which incorporates aspects of natural
	selection or survival of the fittest.  An evolutionary
	algorithm maintains a population of structures (usually
	randomly generated initially), that evolves according to rules
	of selection, recombination, mutation and survival, referred
	to as genetic operators.  A shared "environment" determines
	the fitness or performance of each individual in the
	population.  The fittest individuals are more likely to be
	selected for reproduction (retention or duplication), while
	recombination and mutation modify those individuals, yielding
	potentially superior ones.

	EAs are one kind of {evolutionary computation} and differ from
	{genetic algorithms}.  A GA generates each individual from
	some encoded form known as a "chromosome" and it is these
	which are combined or mutated to breed new individuals.

	EAs are useful for optimisation when other techniques such as
	{gradient descent} or direct, analytical discovery are not
	possible.  Combinatoric and real-valued function optimisation
	in which the optimisation surface or fitness landscape is
	"rugged", possessing many {locally optimal} solutions, are
	well suited for evolutionary algorithms.

	(1995-02-03)

evolutionary computation

	Computer-based problem solving systems that use computational
	models of evolutionary processes as the key elements in design
	and implementation.

	A number of evolutionary computational models have been
	proposed, including {evolutionary algorithms}, {genetic
	algorithms}, the {evolution strategy}, {evolutionary
	programming}, and {artificial life}.

	{The Hitchhiker's Guide to Evolutionary Computation
	(http://cis.ohio-state.edu/hypertext/faq/bngusenet/comp/ai/genetic/top.html)}.

	{Bibliography
	(http://liinwww.ira.uka.de/bibliography/Ai/EC-ref.html)}.

	{Usenet} newsgroup: {news:comp.ai.genetic}.

	(1995-03-02)

evolutionary programming

	(EP) A {stochastic} optimisation strategy originally conceived
	by Lawrence J. Fogel in 1960.

	An initially random population of individuals (trial
	solutions) is created.  Mutations are then applied to each
	individual to create new individuals.  Mutations vary in the
	severity of their effect on the behaviour of the individual.
	The new individuals are then compared in a "tournament" to
	select which should survive to form the new population.

	EP is similar to a {genetic algorithm}, but models only the
	behavioural linkage between parents and their offspring, rather
	than seeking to emulate specific genetic operators from nature
	such as the encoding of behaviour in a genome and
	recombination by genetic crossover.

	EP is also similar to an {evolution strategy} (ES) although
	the two approaches developed independently.  In EP, selection
	is by comparison with a randomly chosen set of other
	individuals whereas ES typically uses {deterministic}
	selection in which the worst individuals are purged from the
	population.

	(1995-02-03)

evolution strategy

	(ES) A kind of {evolutionary algorithm} where individuals
	(potential solutions) are encoded by a set of real-valued
	"object variables" (the individual's "genome").  For each
	object variable an individual also has a "strategy variable"
	which determines the degree of mutation to be applied to the
	corresponding object variable.  The strategy variables also
	mutate, allowing the rate of mutation of the object variables
	to vary.

	An ES is characterised by the population size, the
	number of offspring produced in each generation and whether
	the new population is selected from parents and offspring or
	only from the offspring.

	ES were invented in 1963 by Ingo Rechenberg, Hans-Paul
	Schwefel at the {Technical University of Berlin} (TUB) while
	searching for the optimal shapes of bodies in a flow.

	(1995-02-03)

EWOS

	{European Workshop for Open Systems}

exa-

	{prefix}

Exabyte

	<company, storage> A company and, by extension, a tape format for
	computer data backup and transfer.  The tape is a data quality 8mm
	video cassette recorder tape.  Exabyte units can store between
	five and fourteen {gigabytes} of data per tape.  Exabytes are
	usually attached to {Unix} {workstations}.

	[What different tape capacities exist?  Compare with DAT?]

	(1995-07-06)

exabyte

	<unit, data> (EB) A unit of {data} equal to 10^18 {bytes} but see
	{binary prefix} for other definitions.  An exabyte is exactly
	1000^6 bytes or 1000 {petabytes}.

	1000 exabytes are one {zettabyte}.

	See {prefix}.

	(2013-11-04)

examining the entrails

	The process of {grovel}ling through a {core dump} or {hex}
	image in an attempt to discover the bug that brought a program
	or system down.  The reference is to divination from the
	entrails of a sacrified animal.

	Compare {runes}, {incantation}, {black art}, {desk check}.

	[{Jargon File}]

	(1994-12-12)

EXAPT

	EXtended {APT}.

Excalibur bug

	<humour, programming> The legendary bug that, despite repeated
	valliant attempts, none but the true king of all programmers
	can fix.  Named after the sword in the stone in the legend of King
	Arthur.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-03-20)

Exceed

	<interface> A tool to display remote {X Window System}
	applications on {Microsoft Windows}.  Exceed is not an X
	server.

	(2001-04-29)

Excel

	{Microsoft Excel}

Excelan

	Manufacturers of intelligent {Ethernet} cards.  Software and
	addresses are down-loadable.  The cards have their own {RAM}
	for buffers.

Excelerator

	A set of {CASE} tools from {Index Technology Corporation}.

exception

	An error condition that changes the normal {flow of control}
	in a program.  An exception may be generated ("raised") by
	{hardware} or {software}.  Hardware exceptions include
	{reset}, {interrupt} or a signal from a {memory management
	unit}.  Exceptions may be generated by the {arithmetic logic
	unit} or {floating-point unit} for numerical errors such as
	divide by zero, {overflow} or {underflow} or {instruction
	decoding} errors such as privileged, reserved, {trap} or
	undefined instructions.  Software exceptions are even more
	varied and the term could be applied to any kind of error
	checking which alters the normal behaviour of the program.

	(1994-10-31)

exception handler

	Special code which is called when an {exception} occurs during
	the execution of a program.  If the programmer does not
	provide a handler for a given exception, a built-in system
	exception handler will usually be called resulting in abortion
	of the program run and some kind of error indication being
	returned to the user.

	Examples of exception handler mechanisms are {Unix}'s signal
	calls and {Lisp}'s {catch} and {throw}.

	(1994-10-31)

EXCH

	<jargon> /eks'ch*/ or /eksch/ To exchange two things, each for
	the other; to swap places.  If you point to two people sitting
	down and say "Exch!", you are asking them to trade places.
	EXCH, meaning EXCHange, was originally the name of a {PDP-10}
	instruction that exchanged the contents of a {register} and a
	memory location.

	Many newer hackers are probably thinking instead of the
	{PostScript} exchange operator (which is usually written in
	lowercase).

	[{Jargon File}]

	(1999-09-17)

Exchange Server

	{Microsoft Exchange}

excl

	{exclamation mark}

exclamation mark

	<character> The character "!" with {ASCII} code 33.

	Common names: {bang}; pling; excl (/eks'kl/); shriek; {ITU-T}:
	exclamation mark, exclamation point (US).  Rare: {factorial};
	exclam; smash; cuss; boing; yell; wow; hey; wham; eureka;
	soldier; {INTERCAL}: spark-spot.

	The {Commonwealth Hackish}, "pling", is common among {Acorn
	Archimedes} owners.  {Bang} is more common in the USA.

	The occasional {CMU} usage, "shriek", is also used by {APL}
	fans and mathematicians, especially {category} theorists.

	Exclamation mark is used in {C} and elsewhere as the logical
	negation {operation} ({NOT}).

	(1998-09-17)

exclamation point

	{exclamation mark}

exclusive or

	<logic> (XOR, EOR) /X or, E or/ A two-input {Boolean logic}
	{function} whose result is true if one input is true and the
	other is false.  The {truth table} is

		A | B | A xor B
		--+---+--------
		F | F |    F
		F | T |    T
		T | F |    T
		T | T |    F

	The output is thus true if the inputs are not equal.  If one
	input is false, the other is passed unchanged whereas if one
	input is true, the other is inverted.

	In Boolean algebra, exclusive or is often written as a plus in
	a circle: "&oplus;".  The circle may be omitted suggesting
	addition {modulo} two.

	In {digital logic}, an exclusive or {logic gate} is drawn like
	a normal {inclusive or} gate but with a curved line across
	both inputs:
	{exclusive or gate (img:http://upload.wikimedia.org/wikipedia/commons/e/e0/XOR.jpg)}.

	(2006-12-13)

EXCP

	{Execute Channel Program}

EXE

	/eks'ee/ or /eek'see/ or /E-X-E/ An executable binary file.
	Some operating systems (notably {MS-DOS}, VMS, and TWENEX) use
	the extension .EXE to mark such files.  This usage is also
	occasionally found among Unix programmers even though Unix
	executables don't have any required suffix.

	[{Jargon File}]

EXEC

	<language> An early {batch} language for the {IBM} {VM/CMS}
	systems.

	[SC19-6209 Virtual Machine/ System Product CMS Command and
	Macro Reference, Appendix F. CMS EXEC Control Statements].

	[Was {EXEC 2} was a later version?]

	(2000-08-06)

exec

	/eg-zek'/ <operating system> 1. execute.

	A synonym for {chain} derived from the {Unix} "exec" {system
	call}.

	{Unix manual page}: execve(2).

	2. (Obsolete) {executive}.

	The mainstream "exec" as an abbreviation for (human) executive
	is *not* used.  To a hacker, an "exec" is a always a program,
	never a person.

	3. At {IBM} and {VM}/{CMS} shops, the equivalent of a {shell}
	command file.

	4. <operating system> The innermost {kernel} of the {Amiga}
	{operating system} which provides shared-library support,
	device interface, {memory management}, {CPU} management, basic
	{IPC}, and the basic structures for OS extension.  The rest of
	the Amiga OS (windowing, file system, third-party extensions,
	etc.) is built using these structures.

	[{Jargon File}]

	(1997-08-01)

EXEC 2

	1. <language> A {scripting language} produced by {IBM} in the
	late 1970s.

	Superseded by {REXX}.

	[SC24-5219, "Virtual Machine/System Product EXEC 2
	Reference"].

	[Successor to {EXEC 1}?  With or without a space?]

	2. <operating system> An archaic {operating system} from
	{UNIVAC}.  By about 1980 it had been replaced by {EXEC 8}.

	[Dates?  Did EXEC 3 to EXEC 7 exist?]

	(2000-08-06)

EXEC 8

	<operating system> {Unisys}'s {operating system} from about
	1980 to 2000, by which time it was a dying breed with Unisys
	moving to {Windows NT} and {Unix}.

	[Was 8 the successor to {EXEC 2}?]

	(2000-08-06)

executable

	<operating system> A {binary} file containing a program in
	{machine language} which is ready to be {execute}d (run).

	The term might also be, but generally isn't, applied to
	{scripts} which are interpreted by a {command line
	interpreter}.  Executables are distinguished in {Unix} by
	having the execute permission bits set, at least for the
	owner.  {MS-DOS} uses the {filename extension} ".exe".

	(1997-06-21)

executable content

	<operating system> Executable programs sent by one computer to
	another via a network.  For example a {Java} {applet} is
	executable content.  Usage: rare.

	(1998-03-23)

execute

	{execution}

Execute Channel Program

	<operating system> (EXCP) An {IBM} system for low-level file
	access, where the programmer is completely responsible for
	providing a list of device-specific "channel comands" to be
	executed by {I/O channels}, {control units} and/or {devices}.
	The {operating system} will simply check the "{CCW}" chains
	for security purposes (access invalid memory or outside of
	{file extents}) and then schedule them for execution.

	(2005-08-08)

execution

	<operating system, programming> The process of carrying out
	the {instructions} in a computer program by a computer.

	See also {dry run}.

	(1996-05-13)

executive

	<operating system> The {command interpreter} or {shell} for an
	{operating system}.  The term is used especially around
	{mainframes} and probably derived from {UNIVAC}'s archaic
	{EXEC 2} and current (in 2000) {EXEC 8} {operating systems}.

	(2000-08-06)

Executive Systems Programming Oriented Language

	<language> An {ALGOL} superset with high level instructions
	for low level actions, e.g. interrupting another processor on
	a multiprocessor system.  Its single pass compiler was very
	fast: over 250 lines/s on a 10MHz processor.

	ESPOL was used to write the MCP (Master Control Program) on
	the {Burroughs 6700}.  It was superseded by {NEWP}.

	["The B6700 ESPOL Reference Manual", Burroughs, 1970].

	(2001-06-14)

exercise, left as an

	Used to complete a proof in technical books when one doesn't
	mind a {handwave}, or to avoid one entirely.  The complete
	phrase is: "The proof [or "the rest"] is left as an exercise
	for the reader."  This comment *has* occasionally been
	attached to unsolved research problems by authors possessed of
	either an evil sense of humour or a vast faith in the
	capabilities of their audiences.

	[{Jargon File}]

	(1995-02-20)

exhaustive testing

	<programming> Executing a program with all possible
	combinations of inputs or values for program variables.

	(1996-05-13)

existence proof

	{non-constructive proof}

existential quantifier

	{quantifier}

exit

	1. <programming> A {library function} in the {C} and {Unix}
	{run-time library} that causes the program to terminate and
	return control to the {shell}.  The alternative to calling
	"exit" is simply to "fall off the end" of the program or its
	top-level, {main}, routine.

	Equivalent functions, possibly with different names, exist in
	pretty much every programming language, e.g. "exit" in
	{Microsoft DOS} or "END" in {BASIC}.

	On exit, the {run-time system} closes open files and releases
	other resources.  An {exit status} code (a small integer, with
	zero meaning OK and other values typically indicating some
	kind of error) can be passed as the only argument to "exit";
	this will be made available to the shell.  Some languages
	allow the programmer to set up exit handler code which will be
	called before the standard system clean-up actions.

	2. Any point in a piece of code where control is returned to
	the caller, possibly activating one or more user-provided exit
	handlers.  This might be a {return} statement, exit call (in
	sense 1 above) or code that raises an error condition (either
	intentionally or unintentionally).  If the exit is from the
	top-level routine then such a point would typically terminate
	the whole program, as in sense 1.

	(2008-05-15)

EXODUS

	<database> An extensible {database} project developed at the
	University of Wisconsin.

	(1996-05-13)

eXodus

	A package from White Pines allowing the Macintosh to be used
	as an X server.

EXOS

	A brand of {Ethernet controller} card and Ethernet software
	for {Unix}.

	(1995-01-12)

expanded memory

	<storage> Memory used through {EMS}.  In systems based on
	{Intel 80386} or later processor expanded memory is part of
	the {extended memory} that is mapped into the {expanded memory
	page frame} by the processor.  The mapping is controlled by
	the {EMM}.  In earlier systems, a dedicated {EMS} hardware
	adaptor is needed to map memory into the page frame.  In both
	cases, an appropriate {device driver} is needed for the proper
	communication between hardware and {EMM}.

	(1996-01-10)

expanded memory manager

	<software, storage> (EMM) {IBM PC} memory manager software
	implementing {Expanded Memory Specification}, such as {EMM386}
	or {QEMM386}.  EMMs can usually provide {UMB} as well.

	(1996-01-10)

expanded memory page frame

	<storage> The part of the {IBM PC} {reserved memory} address
	space used by {EMS}.

	(1996-01-10)

Expanded Memory Specification

	<storage> (EMS) An {IBM PC} memory {paging} scheme enabling
	access to memory other than {conventional memory} in {real
	mode}.

	{Expanded memory} is provided through a {page frame} of at
	least 64 {kilobytes} in the {reserved memory} address region.
	Access to this memory is provided by an {expanded memory
	manager} (EMM) software.  The EMM functions are accessible
	through {interrupt} 67H.

	In {8086} or {8088} based systems this is the only way to use
	memory beyond conventional memory.  In systems based on
	{80286} or later, {XMS} and {HMA} provide alternative methods.

	EMS was developed jointly by {Lotus}, {Intel}, and {Microsoft}
	prior to 1988.  Accordingly, this specification is sometimes
	referred to as LIM EMS.

	A complete discussion of EMS and programming examples can be
	found in ["PC System Programming for developers", 1989, ISBN
	1-55755-035-2 (Book only) and ISBN 1-55755-036-0 (Book and
	diskette)].

	{EEMS}, a competing expanded memory management standard, was
	developed by {AST Research}, {Quadram} and {Ashton-Tate}.

	See also {upper memory block}.

	(1996-01-10)

expansion card

	<hardware> A circuit board which can be plugged into one of a
	computer's {expansion slots} to provide some optional extra
	facility such as additional {RAM}, {disk controller},
	{coprocessor}, {graphics accelerator}, communication device or
	some special-purpose interface.

	Different computers have different standards for the cards
	they accept, e.g. {PCI}.

	(1998-06-26)

expansion slot

	<hardware> A connector in a computer into which an {expansion
	card} can be plugged.  The connector supplies power to the
	card and connects it to the {data bus}, {address bus} and
	control signals of the {motherboard}.

	(1998-06-26)

expect

	<language, tool> A {Unix} tool written in {Tcl} and a {script
	language} for automating the operation of {interactive}
	applications such as {telnet}, {FTP}, {passwd}, {fsck},
	{rlogin}, {tip}, etc..  Expect can feed input to other
	programs and perform {pattern matching} on their output.  It
	is also useful for testing these applications.  By adding
	{Tk}, you can also wrap interactive applications in {X11}
	{GUIs}.

	{(http://expect.nist.gov/)}.

	["expect: Scripts for Controlling Interactive Tasks", Don
	Libes, Comp Sys 4(2), U Cal Press Journals, Nov 1991].

	(1997-06-09)

eXperimental LISP

	<language> (xlisp) An experimental programming language
	combining a subset of {Common Lisp} with an {object-oriented}
	extension capability (Class and Object types).  It was
	implemented by David Micheal Betz at Apple to allow
	experimentation with {object-oriented programming} on small
	computers.  The {C} {source code} has been ported to {Unix},
	{Microsoft Windows}, {Macintosh}, {Amiga}, {Atari}, and
	{MS-DOS}.

	Version 2.1 of the {interpreter}, by Tom Almy is closer to
	Common Lisp.

	Latest version: 2.1, as of 1992-05-26.

	{(ftp://wasp.eng.ufl.edu/)}, {(ftp://cs.orst.edu/)},
	{(ftp://glia.biostr.washington.edu/)}.

	E-mail: Tom Almy <toma@sail.labs.tek.com>.

	{Microsoft Windows version
	(ftp://ftp.cica.indiana.edu/util/wxlslib.zip)}.

	{Macintosh version (ftp://netcom.com/pub/bskendig/)}.

	{Usenet} newsgroup: {news:comp.lang.lisp.x}.

	(2000-08-14)

Experimental Physics Control Systems

	<body> (EPCS) A group of the European Physical Society,
	focussing on all aspects of controls, especially
	{informatics}, in experimental physics, including accelerators
	and experiments.

	(1994-12-12)

Experimental Programming Language

	<language> (EPL) A language by {David May} which influenced
	{occam}.

	["EPL: An Experimental Language for Distributed Computing",
	D.C. May, in Trends and Applications 1978: Distributed
	Processing, NBS, pp.69-71].

	(1994-11-18)

Experiment Description Language

	<language> (EDL) J.S. Jenkins.

	["A Programmable System for Acquisition and Reduction of
	Respiratory Physiological Data", J.S. Jenkins et al, Ann
	Biomed Eng, 17:93-108 1989].

	(2007-07-11)

Expert Judgement Models

	<programming> A method of software estimation that is based on
	consultation with one or more experts that have experience
	with similar projects.  An expert-consensus mechanism such as
	the {Delphi Technique} may be used to produce the estimate.

	(1996-05-29)

expert system

	<artificial intelligence> A computer program that contains a
	{knowledge base} and a set of {algorithms} or rules that infer
	new facts from knowledge and from incoming data.

	An expert system is an {artificial intelligence} application
	that uses a knowledge base of human expertise to aid in
	solving problems.  The degree of problem solving is based on
	the quality of the data and rules obtained from the human
	expert.  Expert systems are designed to perform at a human
	expert level.  In practice, they will perform both well below
	and well above that of an individual expert.

	The expert system derives its answers by running the knowledge
	base through an {inference engine}, a software program that
	interacts with the user and processes the results from the
	rules and data in the knowledge base.

	Expert systems are used in applications such as medical
	diagnosis, equipment repair, investment analysis, financial,
	estate and insurance planning, route scheduling for delivery
	vehicles, contract bidding, counseling for self-service
	customers, production control and training.

	[Difference from "{knowledge-based system}"?]

	(1996-05-29)

Expert Systems Ltd.

	<company> (ESL) Distributors of {ESLPDPRO}.

	Adderss: Magdalen Centre, Oxford Science Park, Oxford, OX4
	4GA.  Telephone +44 (865) 784474.

	(1996-05-29)

explicit parallelism

	A feature of a programming language for a {parallel
	processing} system which allows or forces the programmer to
	annotate his program to indicate which parts should be
	executed as independent parallel tasks.  This is obviously
	more work for the programmer than a system with {implicit
	parallelism} (where the system decides automatically which
	parts to run in parallel) but may allow higher performance.

explicit type conversion

	<programming> (Or "cast" in {C} and elsewhere).  A programming
	construct ({syntax}) to specify that an expression's value
	should be converted to a different type.

	For example, in {C}, to convert an {integer} (usually 32 bits)
	to a {char} (usually 8 bits) we might write:

		int i = 42;
		char *p = &buf;
		*p = (char) i;

	The expression "(char)" (called a "cast") converts i's value
	to char type.  Casts (including this one) are often not
	strictly necessary, due to automatic {coercions} performed by
	the compiler, but can be used to make the conversion obvious
	and to avoid warning messages.

	(1999-09-19)

exploit

	<security> A security hole or an instance of taking advantage
	of a security hole.

	"[...] {hackers} say exploit. {sysadmins} say hole"
	-- {Mike Emke (http://emke.com/)}.

	Emke reports that the stress is on the second syllable.  If
	this is true, this may be a case of hackerly zero-deriving
	verbs (especially instantials) from nouns, akin to "write" as
	a noun to describe an instance of a disk drive writing to a
	disk.

	(2001-11-24)

Exploratory Data Analysis

	(EDA)

	[J.W.Tukey, "Exploratory Data Analysis", 1977, Addisson
	Wesley].

exponent

	<programming> (Or "characteristic") The part of a
	{floating-point} number specifying the power of ten by which
	the {mantissa} should be multiplied.  In the common notation,
	e.g. 3.1E8, the exponent is 8.

	(1995-02-27)

exponential

	1. <mathematics> A function which raises some given constant
	(the "base") to the power of its argument.  I.e.

		f x = b^x

	If no base is specified, {e}, the base of {natural
	logarthims}, is assumed.

	2. <complexity> {exponential-time algorithm}.

	(1995-04-27)

exponential-time

	<complexity> The set or property of problems which can be
	solved by an {exponential-time algorithm} but for which no
	{polynomial-time algorithm} is known.

	(1995-04-27)

exponential-time algorithm

	<complexity> An {algorithm} (or {Turing Machine}) that is
	guaranteed to terminate within a number of steps which is a
	{exponential} function of the size of the problem.

	For example, if you have to check every number of n digits to
	find a solution, the {complexity} is O(10^n), and if you add
	an extra digit, you must check ten times as many numbers.

	Even if such an algorithm is practical for some given value of
	n, it is likely to become impractical for larger values.  This
	is in contrast to a {polynomial-time algorithm} which grows
	more slowly.

	See also {computational complexity}, {polynomial-time},
	{NP-complete}.

	(1995-04-27)

Express

	1. A language supporting {concurrency} through {message
	passing} to named message queues from {ParaSoft} Corporation

	{(ftp://ftp.parasoft.com/express/docs)}.

	2. Data definition language, meant to become an ISO standard
	for product data representation and exchange.  TC 184/SC4 N83,
	ISO, 1991-05-31.  E-mail: <smith@cme.nist.gov>.

	3. A data modelling language adopted by the {ISO} working
	group on {STEP}.

expression

	<programming> Any piece of program code in a {high-level
	language} which, when (if) its execution terminates, returns a
	value.  In most programming languages, expressions consist of
	constants, variables, operators, functions, and {parentheses}.
	The operators and functions may be built-in or user defined.
	Languages differ on how expressions of different {types} may
	be combined - with some combination of explicit {casts} and
	implicit {coercions}.

	The {syntax} of expressions generally follows conventional
	mathematical notation, though some languages such as {Lisp} or
	{Forth} have their own idiosyncratic syntax.

	(2001-05-14)

expression tree

	<mathematics, grammar> The {syntax tree} of an {expression}.

	(1998-11-14)

extend

	<programming> To add {features} to a program, especially
	through the use of {hooks}.

	"Extend" is very often used in the phrase "extend the
	{functionality} of a program."

	{Plug-ins} are one form of extension.

	(1997-06-21)

Extended Affix Grammar

	<language, grammar> (EAG) A formalism for describing both the
	{context free syntax} and the {context sensitive syntax} of
	languages.

	EAGs belong to the family of {two-level grammars}.  They are
	very closely related to two-level {van Wijngaarden grammars}.

	EAG can be used as a specification formalism, specifying in
	{relations} rather than {functions}, or as a {relational
	programming language} like {PROLOG}.

	{(http://www.cs.ru.nl/~kees/eag/)}

	(2009-02-06)

Extended ALGOL

	<language> An extension of {ALGOL 60}, used to write the
	{ESPOL} compiler on the {Burroughs B5500}, {Burroughs B6500},
	and {Burroughs B6700}.

	["Burroughs B6700 Extended ALGOL Language Information Manual",
	No. 5000128 (Jul 1971)].

	[Sammet 1969, p. 196].

	(1995-05-09)

Extended Architecture

	<storage> (XA) A {CD-ROM} drive specification required by
	{Green Book CD-ROM} and {White Book CD-ROM} formats.  Drives
	labelled "XA ready" may require a {firmware} upgrade.

	(1994-11-02)

Extended Backus-Naur Form

	<language> Any variation on the basic {Backus-Naur Form} (BNF)
	{meta-syntax} notation with (some of) the following additional
	constructs: {square brackets} "[..]" surrounding optional
	items, suffix "*" for {Kleene closure} (a sequence of zero or
	more of an item), suffix "+" for one or more of an item,
	{curly brackets} enclosing a list of alternatives, and
	super/subscripts indicating between n and m occurrences.

	All these constructs can be expressed in plain BNF using extra
	{productions} and have been added for readability and
	succinctness.

	(1995-04-28)

Extended Binary Coded Decimal Interchange Code

	<character, standard> /eb's*-dik/, /eb'see`dik/, /eb'k*-dik/,
	/ee`bik'dik`/, /*-bik'dik`/ (EBCDIC) A proprietary 8-bit
	{character set} used on {IBM} {dinosaurs}, the {AS/400}, and
	{e-Server}.

	EBCDIC is an extension to 8 bits of BCDIC (Binary Coded
	Decimal Interchange Code), an earlier 6-bit character set used
	on IBM computers.  EBCDIC was [first?] used on the successful
	{System/360}, anounced on 1964-04-07, and survived for many
	years despite the almost universal adoption of {ASCII}
	elsewhere.  Was this concern for {backward compatibility} or,
	as many believe, a marketing strategy to lock in IBM
	customers?

	IBM created 57 national EBCDIC character sets and an
	International Reference Version (IRV) based on {ISO 646} (and
	hence ASCII compatible).  Documentation on these was not
	easily accessible making international exchange of data even
	between IBM mainframes a tricky task.

	US EBCDIC uses more or less the same characters as {ASCII},
	but different {code points}.  It has non-contiguous letter
	sequences, some ASCII characters do not exist in EBCDIC
	(e.g. {square brackets}), and EBCDIC has some ({cent sign},
	{not sign}) not in ASCII.  As a consequence, the translation
	between ASCII and EBCDIC was never officially completely
	defined.  Users defined one translation which resulted in a
	so-called de-facto EBCDIC containing all the characters of
	ASCII, that all ASCII-related programs use.

	Some printers, telex machines, and even electronic cash
	registers can speak EBCDIC, but only so they can converse with
	IBM mainframes.

	For an in-depth discussion of character code sets, and full
	translation tables, see {Guidelines on 8-bit character codes
	(ftp://ftp.ulg.ac.be/pub/docs/iso8859/iso8859.networking)}.

	{A history of character codes
	(http://tronweb.super-nova.co.jp/characcodehist.html)}.

	(2002-03-03)

Extended BNF

	{Extended Backus-Naur Form}

Extended C++

	<language> {EC++} extended by G. Masotti
	<masotti@lipari.usc.edu> with preconditions, postconditions
	and {class invariants}, {parameterised classes}, {exception
	handling} and {garbage collection}.  {EC++} translates
	Extended C++ into C++.

	(1989-10-10)

Extended Capabilities Port

	<hardware> (ECP) A {parallel printer interface} for {IBM PC}
	compatibles, supported by several, mainly US, manufacturers.

	Not to be confused with the more common {Enhanced Capabilities
	Port}.

	(1997-12-01)

Extended Concurrent Prolog

	<language> (ECP) {Concurrent Prolog} with {OR parallelism},
	{set abstraction} and {meta-inference} features.

	["AND-OR Queuing in Extended Concurrent Prolog", J. Tanaka et
	al, Proc Logic Prog Conf '85, LNCS 193, Springer 1985].

	(1994-12-01)

Extended Data Out Dynamic Random Access Memory

	<storage> (EDO DRAM, EDO RAM) A type of {DRAM} designed to
	access nearby memory locations faster than {FPM DRAM}.

	Extended Data Out DRAM (EDO-DRAM) allows the data outputs to
	be kept active after the CAS\ signal goes inactive, using an
	additional signal OE\ to control the data outputs.  This can
	be used in {pipelined} systems for overlapping accesses where
	the next cycle is started before the data from the last cycle
	is removed from the bus.

	EDO DRAM is primarily used with {Intel}'s {Pentium} processors
	since with slower processors there is no significant
	performance gain.  To make use of the advanced features of EDO
	an appropriate {chipset}, such as {Triton}, must be used.  In
	early 1995, EDO DRAM was available for computers from
	{Micron}, {Gateway 2000}, and {Intel Corporation}; since then
	other manufactures followed suit.

	Note that in comparison to {Burst EDO} EDO is sometimes
	referred to as "Standard EDO".

	(1996-06-25)

Extended Data Out Random Access Memory

	{Extended Data Out Dynamic Random Access Memory}

Extended Fortran Language

	(EFL) A {Fortran} {preprocessor} to provide {structured
	programming} constructs much like {C}.  EFL is a descendant of
	{RATFOR}.  It is written in C.

	["An Informal Description of EFL", S.I. Feldman].

eXtended Graphics Array

	<hardware> (XGA) An {IBM} {display standard} introduced in
	1990.

	XGA supports a {resolution} of 1024 x 768 {pixels} with a
	{palette} of 256 colours, or 640 x 480 with {high colour} (16
	{bits per pixel}).

	XGA-2 added 1024 x 768 support for high colour and higher
	refresh rates, improved performance, and supports 1360 x 1024
	in 16 colours.

	XGA is probably not the same as {8514-A}.

	See also {VESA}'s {EVGA} released at a similar time.

	(1999-08-01)

Extended Industry-Standard Architecture

	<architecture, standard> (EISA) /eesa/ A {bus} standard for
	{IBM compatibles} that extends the {ISA} bus architecture to
	32 bits and allows more than one {CPU} to share the bus.  The
	{bus mastering} support is also enhanced to provide access to
	4 GB of memory.  Unlike {MCA}, EISA can accept older {XT bus
	architecture} and {ISA} boards.

	EISA was announced in late 1988 by compatible vendors as a
	counter to {IBM}'s MCA in its {PS/2} series.  Although
	somewhat inferior to the MCA it became much more popular due
	to the proprietary nature of MCA.

	[Main sponsors?  Open standard?]

	(1996-06-25)

extended memory

	<storage> Memory above the first {megabyte} of {address space}
	in an {IBM PC} with an {80286} or later processor.

	Extended memory is not directly available in {real mode}, only
	through {EMS}, {UMB}, {XMS}, or {HMA}; only applications
	executing in {protected mode} can use extended memory
	directly.  In this case, the extended memory is provided by a
	supervising {protected-mode} {operating system} such as
	{Microsoft Windows}.  The processor makes this memory
	available through a system of {global descriptor tables} and
	{local descriptor tables}.  The memory is "protected" in the
	sense that memory assigned a local descriptor cannot be
	accessed by another program without causing a hardware {trap}.
	This prevents programs running in protected mode from
	interfering with each other's memory.

	A {protected-mode} {operating system} such as Windows can also
	run {real-mode} programs and provide {expanded memory} to
	them.  {DOS Protected Mode Interface} is {Microsoft}'s
	prescribed method for an {MS-DOS} program to access extended
	memory under a {multitasking} environment.

	Having extended memory does not necessarily mean that you have
	more than one megabyte of memory since the reserved memory
	area may be partially empty.  In fact, if your 386 or higher
	uses extended memory as expanded memory then that part is not
	in excess of 1Mb.

	See also {conventional memory}.

	(1996-01-10)

extended memory manager

	<software, storage> (XMM) The memory manager software
	implementing {Extended Memory Specification}, such as {HIMEM}
	or {QEMM386}.  XMM's can usually also act as {A20 handlers}.

	(1996-01-10)

Extended Memory Specification

	<storage> (XMS) The specification describing the use of {IBM
	PC} {extended memory} in {real mode} for storing data (but not
	executable code).  Memory is made available by {extended
	memory manager} (XMM) software.  The XMM functions are
	accessible through {interrupt} 2FH.

	(1996-01-10)

Extended ML

	A language by Don Sannella of the {University of Edinburgh}
	combining {algebraic specification} and {functional
	programming}.

	["Program Specification and Development in Standard ML",
	D. Sannella et al, 12th POPL, ACM 1985].

	(1994-12-12)

Extended Pascal

	A superset of {ANSI} and {ISO Pascal} with many enhancements,
	including {modules}, {separate compilation}, {type schema}ta,
	variable-length strings, direct-access files, complex numbers,
	initial values, constant expressions.  ANSI/IEEE770X3.160-1989
	and ISO 10206.

	(1994-12-12)

Extended Self-containing Prolog

	<language> (ESP) An {object-oriented} extension of {KL0} by
	Chikayama.  ESP has {backtracking}-based control,
	{unification}-based parameter passing and {object-oriented}
	calling.  An {object} in ESP is an {axiom} set.  A {class}
	definition consists of nature definitions ({inheritance}),
	slot definitions ({class variables}) and {clause} definitions.
	ESP has {multiple inheritance} similar to {Flavors}.  It has
	been implemented for {ICOT}'s {PSI} Sequential Inference
	machine.

	See also {CESP}.

	E-mail: <k-hata@air.co.jp>.

	["Unique Features of ESP", T. Chikayama, Proc Intl Conf 5th
	Gen Comp Sys, ICOT 1984].

	(1994-12-08)

Extended System Configuration Data

	<operating system> (ESCD) An area of memory, not exceeding 32
	kilobytes in size, used by {MS-DOS}(?) as {NVRAM} for {PNP
	BIOS} and {PNP OS}.  It must be writeable at {run time}.

	Intel's {ICU} also uses ESCD to store information for PNP
	{ISA} cards and {legacy} ISA cards.

	(1999-11-22)

Extended Systems Modelling Language

	<language> (ESML) A {real-time} software engineering
	methodology based on {RTSA}.

	(2009-05-11)

Extended Tcl

	<language> (TclX) {Tcl} extended by Mark Diekhans
	<markd@NeoSoft.com> and Karl Lehenbauer from 1989 on with
	statements to provide high-level access {Unix} system
	primitives.

	Latest version: 7.6p2, as of 2003-02-12.

	{TclX Home (http://neosoft.com/tclx/)}.

	E-mail: <tcl-project@NeoSoft.com>.

	(2003-02-12)

Extended Tiny

	A research/educational tool for experimenting with {array}
	data dependence tests and reordering transformations.  It
	works with a language {tiny}, which does not have procedures,
	{goto}'s, pointers, or other features that complicate
	dependence testing.

	Michael Wolfe's original {tiny} has been extended
	substantially by William Pugh <pugh@cs.umd.edu> et al. at the
	{University of Maryland}.

	Version 3.0 (Dec 12th, 1992) includes a programming
	environment, dependence tester, tests translator
	({Fortran}->tiny), documentation, and technical reports.  It
	should run on any {Unix} system.

	{(ftp://cs.umd.edu/pub/omega)}.

	E-mail: Omega test research group <omega@cs.umd.edu>.

	(1992-12-12)

Extended Video Graphics Array

	<hardware, graphics> (EVGA) A {display standard} introduced by
	{VESA} in 1991.

	It offers a maximum {resolution} of 1024 x 768 {pixels}
	({non-interlaced}) and a 70 Hz {refresh rate}.

	EVGA should not be confused with the older {EGA} (Enhanced
	Graphics Array) or {XGA} (eXtended Graphics Array).

	[Same as "{eXtended Video Graphics Array}" (XVGA)?]

	(1999-08-01)

eXtended Video Graphics Array

	<hardware> (XVGA) A {display standard} with a {resolution} of
	1024 by 768 {pixels} of 256 colours.  {IBM} call this mode
	"{8514}".

	[Same as "{Extended Video Graphics Array}" (EVGA)?]

	(1997-12-11)

ExTendible Compiler

	<language> (ETC) A {Fortran}-like compiler that can be
	extended with {macros}.

	["ETC - An Extendible Macro-Based Compiler", B.N. Dickman,
	Proc SJCC 38 1971].

	(2010-01-28)

extensible

	<programming> Said of a system (e.g., {program}, {file
	format}, {programming language}, {protocol}, etc.) designed to
	easily allow the addition of new {features} at a later date,
	e.g. through the use of {hooks}, an {API} or {plug-ins}.

	See also {extend}, {forward compatible}.

	(1998-01-15)

extensible database

	<database> A {DBMS} that allows access to data from remote
	sources as if the remote data were part of the {database}.

	[Example?]

	(1997-11-20)

Extensible Firmware Interface

	<specification> (EFI) A specification originating from {Intel
	Corporation}, defining the {interface} between an {operating
	system} and {platform} {firmware}, and aiming to reduce OS
	dependence on details of the firmware implementation.

	{EFI Home (http://intel.com/technology/efi/)}.

	(2004-10-23)

Extensible HyperText Markup Language

	<hypertext, standard, web> (XHTML) A reformulation
	of {HTML} 4.01 in {XML}.  Being XML means that XHTML can be
	viewed, edited, and validated with standard XML tools.  At the
	same time, it operates as well as or better than HTML 4 in
	existing HTML 4 conforming user agents.

	The most important change is that all elements must be
	terminated, either with a closing tag or using the <tag.../>
	shorthand.  So, instead of

		<input type=submit>

	you would write

		<input type="submit" />

	The space before the "/" is required by some older browsers.
	Other differences are that tag and attribute names should be
	lower case and all attributes should be quoted.

	{XHTML Home (http://w3.org/TR/xhtml1/)}.

	{Quick Summary
	(http://technorealm.co.uk/design/html-to-xhtml-conversions.html)}

	Latest version: 1.0 Second Edition 2002-08-01, as of 2004-03-16.

	(2006-01-19)

Extensible Markup Language

	<language, text> (XML) An initiative from the {W3C} defining
	an "extremely simple" dialect of {SGML} suitable for use on
	the {web}.

	{(http://w3.org/XML/)}.

	[Relationship to the {XSL} forthcoming subset of {DSSSL}?]

	(1997-11-20)

Extensible Shell

	<operating system> (es) A {Unix} {shell} written by Byron
	Rakitzis <byron@netapp.com> and Paul Haahr <haahr@adobe.com>,
	derived from {rc}.  Es has real {functions}, {closures},
	{exceptions} and lets you redefine most internal shell
	operations.

	Version: 0.84.

	{(ftp://ftp.sys.utoronto.ca/pub/es/)}.

	["Es - A Shell with Higher Order Functions", P. Haahr et al,
	Proc Winter 1993 Usenix Technical Conference].

	(1993-04-30)

Extensible Stylesheet Language

	<web> (XSL) A {standard} developed by the {World
	Wide Web Consortium} defining a language for transforming and
	formatting {XML (eXtensible Markup Language)} documents.

	An XSL {stylesheet} is written in {XML} and consists of
	instructions for tree transformation and formatting.  The tree
	transformations describe how each XML {tag} relates to other
	data and the formatting instructions describe how to output
	the various types of data.

	{(http://w3.org/Style/XSL/)}.

	See also {Extensible Stylesheet Language Transformations}.

	(2005-09-30)

Extensible Stylesheet Language Transformations

	<web> (XSLT) A {W3C} standard for transforming
	{XML} documents into other XML documents or other formats.
	This was conceived as part of {XSL} but has been found to have
	wider applications.

	{(http://w3.org/TR/xslt)}.

	(2001-10-04)

Extensible VAX Editor

	<text, tool> (EVE) A {DEC} product implemented using DEC's
	{Text Processing Utility} (TPU).

	[Details?]

	(2000-05-08)

extension

	1. <filename extension> {filename extension}.

	2. <programming> A {feature} or piece of {code} which
	{extends} a program's {functionality}, e.g. a {plug-in}.

	(1997-06-21)

extensional

	Extensional properties, e.g. extensional equality, relate to
	the "black-box" behaviour of an object, i.e. how its output
	depends on its input.  The opposite is intensional which
	concerns how the object is implemented.

extensional equality

	(Or extensionality).  Functions, f and g are extensionally
	equal if and only if

		f x = g x  for all x.

	where "=" means both expressions fail to terminate (under some
	given {reduction strategy}) or they both terminate with the
	same basic value.

	Two functions may be extensionally equal but not
	inter-convertible (neither is reducible to the other).  E.g.
	\ x . x+x and \ x . 2*x.  See also {observational
	equivalence}, {referential transparency}.

extensionality

	{extensional equality}

Extension Language Kit

	<language> (Elk) A {Scheme} {interpreter} by Oliver Laumann
	<net@cs.tu-berlin.de> and Carsten Bormann
	<cabo@cs.tu-berlin.de> of the {Technical University of
	Berlin}.  Elk was designed to be used as a general extension
	language.  New {types} and {primitive} procedures can easily
	be added.  It has {first-class environments}, {dynamic-wind},
	{fluid-let}, {macros}, {autoload}ing and a {dump}.  It
	provides interfaces to {Xlib}, {Xt} and various {widget} sets;
	{dynamic loading} of extensions and {object files}; almost all
	artificial limitations removed; {generational}/{incremental
	garbage collector}; {Unix} {system call} extensions; {Records}
	(structures) and {bit strings}.

	Version: 2.2 is mostly {R3RS} compatible and runs on {Unix},
	{Ultrix}, {VAX}, {Sun-3}, {Sun-4}, {68000}, {i386}, {MIPS}, {IBM
	PC RT}, {RS/6000}, {HP700}, {SGI}, {Sony}, {MS-DOS}
	({gcc}+{DJGPP} or {go32}).

	{Germany
	(ftp://ftp.fu-berlin.de/pub/Unix/languages/scheme/elk-2.2.tar.gz)}.
	{US (ftp://ftp.x.org/contrib/elk-2.2.tar.gz)}.  {US
	(ftp://gatekeeper.dec.com/pub/comp.sources.misc/volume8/elk)}.

	(1994-12-15)

Exterior Gateway Protocol

	(EGP) A protocol which distributes routing information to the
	{routers} which connect {autonomous systems}.  The term
	"{gateway}" is historical, and "router" is currently the
	preferred term.  There is also a routing protocol called {EGP}
	defined in STD 18, RFC 904.  See also {Border Gateway
	Protocol}, {Interior Gateway Protocol}.

eXternal Data Representation

	(XDR) A {standard} for machine independent data structures
	developed by {Sun Microsystems} for use in {remote procedure
	call} systems.  It is defined in {RFC 1014} and is similar to
	{ASN.1}.

	(1994-12-13)

External Machine Interface

	<protocol> (EMI) A {protocol} primarily used to connect to
	{short message service} centres for {mobile telephones}.  EMI
	is an extension to Universal Computer Protocol (UCP).  EMI was
	was developed by CMG, now a part of {LogicaCMG}, the current
	{SMSC} market leader.

	Each byte of the message is encoded as two {hexadecimal}
	characters using an encoding not quite like {ASCII}.

	{EMI specification
	(http://www.netfunitalia.it/downloads/SMSC_EMI_Specification.PDF)}

	(2007-09-10)

external memory

	<storage> A vague term for slower, {non-volatile storage},
	usually {magnetic disk}, in contrast to {main memory} which is
	usually volatile {semiconductor} {RAM}.

	[{Jargon File}]

	(1997-02-17)

EXTRA

	Object-oriented, Pascal style, handles sets.  "A Data Model
	and Query Language for EXODUS", M.J. Carey et al, SIGMOD 88
	Conf Proc, pp.413- 423, ACM SIGMOD Record 17:3 (Sept 1988).

extranet

	<web> The extension of a company's {intranet} out
	onto the {Internet}, e.g. to allow selected customers,
	suppliers and mobile workers to access the company's private
	data and applications via the {web}.  This is in
	contrast to, and usually in addition to, the company's public
	{website} which is accessible to everyone.  The difference
	can be somewhat blurred but generally an extranet implies
	real-time access through a {firewall} of some kind.

	Such facilities require very careful attention to security but
	are becoming an increasingly important means of delivering
	services and communicating efficiently.

	[Did {Marc Andreessen} invent the term in September 1996?]

	(1997-12-17)

extrapolate

	{extrapolation}

extrapolation

	<mathematics, algorithm> A mathematical procedure which
	estimates values of a {function} for certain desired inputs
	given values for known inputs.

	If the desired input is outside the range of the known values
	this is called extrapolation, if it is inside then it is
	called interpolation.

	The method works by fitting a "curve" (i.e. a function) to two
	or more given points and then applying this function to the
	required input.  Example uses are calculating {trigonometric
	functions} from tables and audio waveform sythesis.

	The simplest form of interpolation is where a function, f(x),
	is estimated by drawing a straight line ("linear
	interpolation") between the nearest given points on either
	side of the required input value:

		f(x) ~ f(x1) + (f(x2) - f(x1))(x-x1)/(x2 - x1)

	There are many variations using more than two points or higher
	degree {polynomial} functions.  The technique can also be
	extended to functions of more than one input.

	(2007-06-29)

EXUG

	{European X User Group}

eyeball search

	<jargon> (Or vgrep) To look for something in a mass of code or
	data with one's own native optical sensors, as opposed to
	using some sort of pattern matching software like {grep} or
	any other automated search tool.

	Compare {vdiff}, {desk check}.

	[{Jargon File}]

	(1997-12-17)

EZ

	High-level string-processing language derived from SNOBOL4,
	SL5 and Icon.

	["The EZ Reference Manual", C.W. Fraser et al, CS TR 84-1, U
	Arizona, 1984].

ezd

	<graphics, tool> (Easy drawing) A graphics {server} that sits
	between an {application program} and an {X} server and allows
	both existing and new programs easy access to structured
	graphics.  Ezd users have been able to have their programs
	produce interactive drawings within hours of reading the
	manual page.  Ezd supports structured graphics - application
	defined graphical objects are ordered into drawings by the
	application.  Unlike most X tools, ezd does not require any
	event handling by the application.  The ezd server maintains
	the window contents.  When an event occurs an application
	supplied {Scheme} expression is evaluated.

	Latest version: 15mar93 (as of 1993-03-10).

	{(ftp://gatekeeper.dec.com/pub/DEC/ezd/)}.

	Contact: Joel Bartlett.

	(2000-03-25)

e-zine

	{electronic magazine}

F100-L

	{Ferranti F100-L}

f2c

	A {Fortran 77} to {C} translator by S. I. Feldman, D. M. Gay,
	M. W. Maimone and N. L. Schryer.  Produces {ANSI C} or {C++}.

	{(ftp://netlib.bell-labs.com/netlib/f2c)}.

	E-mail: <dmg@bell-labs.com>.

	Latest version: 1997.07.24.

	(1997-08-01)

F2F

	{face-to-face}

F68K

	A portable {Forth} system for {Motorola} {680x0} computers by
	Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>.  Ported to
	{Atari ST}, {Atari TT}, {Amiga}, {Sinclair QL} and {OS9}.
	Easily ported to {Motorola} {68000} based systems.

	{(ftp://archive.umich.edu/atari/Languages/)}.

	(1992-12-14)

FAC

	Functional Array Calculator.  An {APL}-like language, but
	{purely functional} and {lazy}.  It allows infinite {arrays}.

	["FAC: A Functional APL Language", H.-C. Tu and A.J. Perlis,
	IEEE Trans Soft Eng 3(1):36-45 (Jan 1986)].

facebook.com

	<web> One of the most popular {social networking}
	websites.

	{FaceBook home (http://facebook.com/)}.

	(2007-11-16)

face time

	<jargon> Time spent interacting with somebody face-to-face (as
	opposed to via electronic links).  "Oh, yeah, I spent some
	face time with him at the last Usenix."

	[{Jargon File}]

face-to-face

	<jargon, chat> (F2F, {IRL}) Used to describe personal
	interaction in real life as opposed to via some digital or
	electronic communications medium.

	(1997-01-31)

Facile

	<language> A {concurrent} extension of {ML} from {ECRC}.

	{(http://ecrc.de/facile/facile_home.html)}.

	["Facile: A Symmetric Integration of Concurrent and Functional
	Programming", A. Giacalone et al, Intl J Parallel Prog
	18(2):121-160, Apr 1989].

	(1994-12-01)

facsimile

	<communications> ("fax") A process by which fixed graphic
	material including pictures, text, or images is scanned and
	the information converted into electrical signals which are
	transmitted via telephone to produce a paper copy of the
	graphics on the receiving fax machine.

	Some {modems} can be used to send and receive fax data.  {V.27
	ter} and {V.29} {protocols} are used.

	[Details?  Standards?]

	(2004-07-26)

FACT

	{Fully Automated Compiling Technique}

fact

	<artificial intelligence, programming> The kind of {clause}
	used in {logic programming} which has no {subgoals} and so is
	always true (always succeeds).  E.g.

		wet(water).
		male(denis).

	This is in contrast to a {rule} which only succeeds if all its
	subgoals do.  Rules usually contain {logic variables}, facts
	rarely do, except for oddities like "equal(X,X).".

	(1996-10-20)

factor

	A quantity which is multiplied by another quantity.

	See also {divisor}.

	[{Jargon File}]

factorial

	<mathematics> The mathematical {function} that takes a
	{natural number}, N, and returns the product of N and all
	smaller positive integers.  This is written

		N! = N * (N-1) * (N-2) * ... * 1.

	The factorial of zero is one because it is an {empty
	product}.

	Factorial can be defined {recursively} as

		0! = 1
		N! = N * (N-1)!		, N > 0

	The {gamma function} is the equivalent for {real numbers}.

	For example, the number of ways of shuffling 52 playing cards is
	52! or nearly 10^68.  {52 Factorial
	(http://czep.net/weblog/52cards.html)}.

	(2012-11-23)

FAD

	["FAD, A Simple and Powerful Database Language", F. Bancilon
	et al, Proc 13th Intl Conf on VLDB, Brighton, England, Sep
	1987].

failback

	{failover}

failover

	<systems> Automatically switching to a different, {redundant}
	system upon {failure} or {abnormal termination} of the currently
	active system.  Failover can be applied to a {cluster} of
	{servers}, to {network} or storage components or any other set of
	redundant devices that must provide {high availability} because
	down-time would be expensive or inconvenient.  It may be
	implemented in hardware, software or a combination.

	A "{hot standby}" is continuously active at the same time as
	the failed system, using some kind of {load balancing} to
	share the work, whereas a "{warm standby}" is ready to become
	active at short notice.

	When the failed system is operational again it may "failback",
	i.e. become (one of) the active system(s) or it may become a
	warm standby.

	(2008-01-15)

failure

	The inability of a system or system component to perform a
	required function within specified limits.  A failure may be
	produced when a {fault} is encountered.

	(1996-05-13)

failure-directed testing

	<programming> (Or "heuristics testing") Software testing based
	on the knowledge of the types of {errors} made in the past
	that are likely for the system under test.

	(1996-05-16)

FAIR

	<language> An early system on the {IBM 705}.

	[Listed in CACM 2(5):1959-05-16].

	(1996-05-13)

Fairchild F8

	<processor> An 8-bit {microprocessor}.  The processor itself
	had no {address bus} - program and data memory access were
	contained in separate units, which reduced the number of pins
	and the associated cost.  It also featured 64 {registers},
	accessed by the ISAR register in cells ({register windows}) of
	eight, which meant external {RAM} wasn't always needed for
	small applications.  In addition, the 2-chip processor didn't
	need support chips, unlike others which needed seven or more.

	The F8 inspired other similar {CPUs}, such as the {Intel
	8048}.  The use of the ISAR register allowed a subroutine to
	be entered without saving a bunch of registers, speeding
	execution - the ISAR would just be changed.  Special purpose
	registers were stored in the second cell (regs 9-15), and the
	first eight registers were accessed directly.  The windowing
	concept was useful, but only the register pointed to by the
	ISAR could be accessed - to access other registers the ISAR
	was incremented or decremented through the window.

	(1994-11-16)

fall back

	<communications> A feature of a {modem} {protocol} where two
	modems which experience data corruption, e.g. due to line
	noise, can renegotiate to use a lower speed connection,
	possibly applying {fall forward} if the channel improves.

	(2004-07-30)

fall forward

	<communications> A feature of a {modem} {protocol} where two
	modems which {fall back} to a lower speed because of data
	corruption can later return to the higher speed if the
	connection improves.

	(2004-07-30)

fall over

	[IBM] Yet another synonym for {crash} or {lose}.  "Fall over
	hard" equates to {crash and burn}.

	[{Jargon File}]

fall through

	<programming> (The American misspelling "fall thru" is
	also common)

	1. To exit a loop by exhaustion, i.e. by having fulfilled its
	exit condition rather than via a break or exception condition
	that exits from the middle of it.  This usage appears to be
	*really* old, dating from the 1940s and 1950s.

	2. To fail a test that would have passed control to a
	subroutine or some other distant portion of code.

	3. In C, "fall-through" occurs when the flow of execution in a
	{switch statement} reaches a "case" label other than by
	jumping there from the switch header, passing a point where
	one would normally expect to find a "break".  A trivial
	example:

		switch (colour)
		{
		case GREEN:
		  do_green();
		  break;
		case PINK:
		  do_pink();
		  /* FALL THROUGH */
		case RED:
		  do_red();
		  break;
		default:
		  do_blue();
		  break;
		}

	The effect of the above code is to "do_green()" when colour is
	"GREEN", "do_red()" when colour is "RED", "do_blue()" on any
	other colour other than "PINK", and (and this is the important
	part) "do_pink()" __and then__ "do_red()" when colour is "PINK".
	Fall-through is {considered harmful} by some, though there are
	contexts (such as the coding of state machines) in which it is
	natural; it is generally considered good practice to include a
	comment highlighting the fall-through where one would normally
	expect a break.  See also {Duff's Device}.

fall thru

	{fall through}

FALSE

	A small, compiled extensible language with {lambda
	abstractions} by W. van Oortmerssen.

	{For Amiga (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/ff885)}.

fandango on core

	<jargon, programming> (Unix/C, from the Mexican dance) In {C},
	a wild pointer that runs out of bounds, causing a {core dump},
	or corrupts the {malloc} {arena} in such a way as to cause
	mysterious failures later on, is sometimes said to have "done
	a fandango on core".  On low-end personal machines without an
	{MMU}, this can corrupt the {operating system} itself, causing
	massive lossage.  Other frenetic dances such as the rhumba,
	cha-cha, or watusi, may be substituted.

	See {aliasing bug}, {precedence lossage}, {smash the stack},
	{memory leak}, {memory smash}, {overrun screw}, {core}.

	[{Jargon File}]

	(1994-12-16)

fan-out

	<electronics> The number of {logic gate} inputs that can be
	driven from a single gate output of the same type.  Circuit
	designers need to add extra {buffers} if a signal goes to more
	inputs than the fan-out of the gate that produces it allows.

	(2007-05-16)

FAP

	<language> The {assembly language} for {Sperry-Rand 1103} and
	1103A.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-16)

FAQ

	{frequently asked question}

FAQL

	{frequently asked question}

FAQ list

	{frequently asked question}

faradise

	/far'*-di:z/ [US Geological Survey] To start any
	hyper-addictive process or trend, or to continue adding
	current to such a trend.  Telling one user about a new
	octo-tetris game you compiled would be a faradising act - in
	two weeks you might find your entire department playing the
	faradic game.

farkled

	<jargon> /far'kld/ (From DeVry Institute of Technology,
	Atlanta) A synonym for {hosed}.  Possibly related to Yiddish
	"farblondjet" and/or the "Farkle Family" skits on Rowan &
	Martin's Laugh-In.

	[{Jargon File}]

	(1998-09-07)

farm

	{processor farm}

farming

	<jargon> (From Adelaide University, Australia) What the
	{heads} of a {disk drive} are said to do when they plow little
	furrows in the magnetic media during a {head crash}.
	Typically used as follows: "Oh no, the machine has just
	crashed; I hope the hard drive hasn't gone {farming} again."

	[{Jargon File}]

	(2001-03-26)

FARNET

	A non-profit corporation, established in 1987, whose mission
	is to advance the use of computer networks to improve research
	and education.

fas

	1. Frankenstein Cross Assemblers.  A reconfigurable assembler
	package, especially suited for 8-bit processors, consisting of
	a base assembler module and a {yacc} parser, for each
	{microprocessor}, to handle {mnemonics} and addressing.
	Second party parser modules available from many sites.

	Base assembler and yacc parser modules by Mark Zenier.  FTP:
	ftp.njit.edu/pub/msdos/frankasm/frankasm.zoo.

	2. FAS.  A general purpose language sponsored by the Finnish
	government in the 70's and 80's.

FASBOL

	["FASBOL. A SNOBOL4 Compiler", P.J. Santos, Memo ERL-M134, UC
	Berkeley 1971].

fascist

	<jargon> Said of a computer system with excessive or annoying
	security barriers, usage limits, or access policies.  The
	implication is that said policies are preventing hackers from
	getting interesting work done.  The variant "fascistic" seems
	to have been preferred at {MIT}.

	In the design of languages and other software tools, "the
	fascist alternative" is the most restrictive and structured
	way of capturing a particular function; the implication is
	that this may be desirable in order to simplify the
	implementation or provide tighter error checking.  Compare
	{bondage-and-discipline language}, although that term is
	global rather than local.

	[{Jargon File}]

	(2003-07-29)

FASE

	Fundamentally Analyzable Simplified English.

	L.E. McMahon, Bell Labs.

	[Sammet 1969, p.720].

	(1994-11-09)

FAST

	1. <body> {Federation Against Software Theft}.

	2. <language> {Fortran Automatic Symbol Translator}.

	(1996-05-19)

Fast ATA

	{Advanced Technology Attachment Interface with Extensions}

Fast ATA-2

	{Advanced Technology Attachment Interface with Extensions}

Faster LEX

	<language> (FLEX) A reimplementation of the {Lex} {scanner
	generator}, by Vern Paxson <vern@ee.lbl.gov>.

	{Flex++} produces {C++} and {aflex} produces {Ada}.

	FTP flex-2.3.8.tar.Z from a {GNU archive site} or
	{(ftp://ftp.ee.lbl.gov/pub/flex-2.4.3.tar.Z)}.

	["The FLEX Scanner Generator", Vern Paxson <vern@ee.lbl.gov>,
	Systems Engineering, LBL, CA].

	[Home?  Current version?]

	(2003-12-16)

Fast Ethernet

	<networking> A version of {Ethernet} developed in the 1990s(?)
	which can carry 100 {Mbps} compared with standard Ethernet's
	10 Mbps.  It requires upgraded {network cards} and {hubs}.

	The relevant standards are {100BaseT}, {100BaseFX} and
	{100BaseVG}.

	(1998-03-23)

Fast Fourier Transform

	<algorithm> (FFT) An {algorithm} for computing the {Fourier
	transform} of a set of discrete data values.  Given a finite
	set of data points, for example a periodic sampling taken from
	a real-world signal, the FFT expresses the data in terms of
	its component frequencies.  It also solves the essentially
	identical inverse problem of reconstructing a signal from the
	frequency data.

	The FFT is a mainstay of {numerical analysis}.  Gilbert Strang
	described it as "the most important algorithm of our
	generation".  The FFT also provides the asymptotically fastest
	known algorithm for multiplying two {polynomials}.

	Versions of the algorithm (in {C} and {Fortran}) can be found
	on-line from the {GAMS} server {here
	(http://gams.nist.gov/cgi-bin/gams-serve/class/J1.html)}.

	["Numerical Methods and Analysis", Buchanan and Turner].

	(1994-11-09)

Fast Packet

	{Asynchronous Transfer Mode}

Fast Page Mode Dynamic Random Access Memory

	<hardware, storage> Is this the same as {Page Mode Dynamic
	Random Access Memory}?

	(1996-10-06)

Fast SCSI

	<hardware> A variant on the {SCSI-2} bus.  It uses the same
	8-bit bus as the original {SCSI}-1 but runs at up to 10MB/s -
	double the speed of SCSI-1.

	(1994-11-24)

FAT

	{File Allocation Table}

FAT32

	{File Allocation Table}

fatal

	<programming> Resulting in termination of the program.

	(1997-08-03)

fatal error

	<programming, operating system> Any {error} which causes
	abrupt {termination} of the program.  The program may be
	terminated either by itself or by the {operating system} (a
	"{fatal exception}").  In the former instance, the program
	contains code which catches the error and, as a result,
	returns to the operating system or calls an operating system
	service to terminate the program.

	(1997-08-03)

fatal exception

	<programming, operating system> A program execution error
	which is trapped by the {operating system} and which results
	in abrupt termination of the program.

	It may be possible for the program to catch some such errors,
	e.g. a {floating point} {underflow}; others, such as an
	invalid memory access (an attempt to write to read-only memory
	or an attempt to read memory outside of the program's {address
	space}), may always cause control to pass to the operating
	system without allowing the program an opportunity to handle
	the error.  The details depend on the language's {run-time
	system} and the operating system.

	See also: {fatal error}.

	(1997-08-03)

fat binary

	<operating system> An executable file containing code for more
	than one {CPU}.  The correct code is selected automatically at
	run time.  This is convenient for distributing {software} and
	sharing it between multiple {platforms}.

	{NEXTSTEP} supports fat binaries, e.g. for {Motorola 68000},
	{Intel 80486} and {SPARC} ("triple fat").  {Mac OS} supports
	fat binaries for both {680x0} and {PowerPC} native code.

	[Other OSes?]

	(1995-09-23)

fat client

	<networking> Opposite of "{thin client}".

	(1996-12-08)

fat electrons

	<electronics, humour> Old-time hacker David Cargill's theory
	on the cause of computer glitches.  Your typical electricity
	company draws its line current out of the big generators with
	a pair of coil taps located near the top of the dynamo.  When
	the normal tap brushes get dirty, they take them off line to
	clean them up, and use special auxiliary taps on the *bottom*
	of the coil.  Now, this is a problem, because when they do
	that they get not ordinary or "thin" electrons, but the fat
	sloppy electrons that are heavier and so settle to the bottom
	of the generator.  These flow down ordinary wires just fine,
	but when they have to turn a sharp corner (as in an
	integrated-circuit via), they're apt to get stuck.  This is
	what causes computer glitches.

	[Obviously, fat electrons must gain mass by {bogon} absorption
	- ESR]

	Compare {bogon}, {magic smoke}.

	[{Jargon File}]

	(1996-12-08)

fault

	1. <programming> A manifestation of an {error} in {software}.
	A fault, if encountered, may cause a {failure}.

	2. <architecture> {page fault}.

	(1996-05-14)

fault-based testing

	<testing> Software testing using test data designed to
	demonstrate the absence of a set of pre-specified {faults};
	typically, frequently occurring faults.  For example, to
	demonstrate that the software handles or avoids {divide by
	zero} correctly, the test data would include zero.

	(1996-05-15)

fault tolerance

	<architecture> 1. The ability of a system or component to
	continue normal operation despite the presence of hardware or
	software faults.  This often involves some degree of
	{redundancy}.

	2. The number of faults a system or component can withstand
	before normal operation is impaired.

	(1995-04-06)

fault tolerant

	{fault tolerance}

fault tree analysis

	<programming> A form of safety analysis that assesses hardware
	safety to provide failure statistics and sensitivity analyses
	that indicate the possible effect of critical failures.

	(1996-05-15)

fax

	{facsimile}

Fax over IP

	<communications> (FoIP) Transmission of a {facsimile} over an
	{IP} networking instead of {PSTN}, analogous to {Voice over
	IP}.

	(1999-04-26)

FC

	<language> A {functional language}.

	["FC Manual", L. Augustsson, Memo 13, Programming Methodology
	Group, Chalmers U, Sweden 1982].

	(1995-03-22)

FC-AL

	{Fibre Channel-Arbitrated Loop}.

FCB

	<operating system> {file control block}.

F-code

	The code for the {FP/M} {abstract machine}.

	["FP/M Abstract Syntax Description", Roger Bailey, Dept
	Computing, Imperial College, U London, 1985]1w.

	(1994-12-01)

FCP

	Flat Concurrent Prolog.

	["Design and Implementation of Flat Concurrent Prolog",
	C. Mierowsky, TR CS84-21 Weizmann Inst, Dec 1984].

	(1994-10-20)

FC-PGA

	{Flip Chip Pin Grid Array}

FCS

	{Frame Check Sequence}

FDC

	{floppy disk controller}

FDD

	{disk drive}

FDDI

	{Fiber Distributed Data Interface}

FDISK

	<operating system, tool> (Fixed disk utility) An {MS-DOS}
	utility program which prepares a {hard disk} so that it can be
	used as a {boot disk} and {file systems} can be created on it.
	{OS/2}, {NT}, {Windows 95}, {Linux}, and other {Unix} versions
	all have this command or something similar.

	(1996-12-23)

fd leak

	{file descriptor leak}

fdlibm

	A new version of the {C} maths library, libm, by Dr. K-C Ng.
	It is the basis for the bundled /usr/lib/libm.so in Solaris
	2.3 for SPARC and for future Solaris 2 releases for x86 and
	PowerPC.  It provides the standard functions necessary to pass
	the usual test suites.  This new libm can be configured to
	handle exceptions in accordance with various language
	standards or in the spirit of {IEEE 754}. The C source code
	should be portable to any IEEE 754 system.

	E-mail: <netlib@research.att.com> ("send all from fdlibm"),
	<fdlibm-comments@sunpro.eng.sun.com> (comments and bug
	reports).

	{(ftp://netlib.att.com/netlib)}.

	(1993-12-18).

FDMA

	{frequency division multiple access}

FDSE

	{full-duplex Switched Ethernet}

FDSP

	{full-duplex speaker phone}

FDT

	{Formal Description Technique}

fdx

	{full-duplex}

FEA

	{finite element analysis}

fear and loathing

	(Hunter S. Thompson) A state inspired by the prospect of
	dealing with certain real-world systems and standards that are
	totally {brain-damaged} but ubiquitous - {Intel 8086s},
	{COBOL}, {EBCDIC}, or any {IBM} machine except the {Rios}
	(also known as the {RS/6000}).

	[{Jargon File}]

	(1994-12-06)

fear-driven development

	<jargon, humour> When project management adds more pressure (fires
	someone or something).  A play on {test-driven development}.

	[arnis-l, {Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-09-04)

feasibility study

	<systems analysis> Part of the {systems develpment life cycle}
	which aims to determine whether it is sensible to develop some
	system.  The most popular model of feasibility study is
	"TELOS", standing for Technical, Economic, Legal, Operational,
	Schedule.

	Technical Feasibility: does the technology exist to implement
	the proposed system?  Is it a practical proposition?

	Economic Feasibility: is the system cost-effective?  Do
	benefits outweigh costs?

	Legal Feasibility: is there any conflict between the proposed
	system and legal requirements, e.g. the {Data Protection Act}?

	Operational Feasibility: are the current work practices and
	procedures adequate to support the new system?

	Schedule Feasibility: can the system be developed in time?

	After the feasibility study, the {requirements analysis}
	should be carried out.

	(2006-07-11)

feasible

	<algorithm> A description of an {algorithm} that takes
	{polynomial} time (that is, for a problem set of size N, the
	resources required to solve the problem can be expressed as
	some polynomial involving N).

	Problems that are "feasible" are said to be "in P" where P is
	polynomial time.  Problems that are "possible" but not
	"feasible" are said to be "in NP".

	(2001-04-12)

	<systems analysis> A description of a project or system for
	which a {feasibility study} gives a positive answer.

	(2006-07-11)

feature

	<jargon> 1. A good property or behaviour (as of a program).
	Whether it was intended or not is immaterial.

	2. An intended property or behaviour (as of a program).
	Whether it is good or not is immaterial (but if bad, it is
	also a {misfeature}).

	3. A surprising property or behaviour; in particular, one that
	is purposely inconsistent because it works better that way -
	such an inconsistency is therefore a {feature} and not a
	{bug}.  This kind of feature is sometimes called a {miswart}.

	4. A property or behaviour that is gratuitous or unnecessary,
	though perhaps also impressive or cute.  For example, one
	feature of {Common LISP}'s "format" function is the ability to
	print numbers in two different Roman-numeral formats (see
	{bells, whistles, and gongs}).

	5. A property or behaviour that was put in to help someone
	else but that happens to be in your way.

	6. A bug that has been documented.  To call something a
	feature sometimes means the author of the program did not
	consider the particular case, and that the program responded
	in a way that was unexpected but not strictly incorrect.  A
	standard joke is that a bug can be turned into a {feature}
	simply by documenting it (then theoretically no one can
	complain about it because it's in the manual), or even by
	simply declaring it to be good.  "That's not a bug, that's a
	feature!" is a common catch-phrase.  Apparently there is a
	Volkswagen Beetle in San Francisco whose license plate reads
	"FEATURE".

	See also {feetch feetch}, {creeping featurism}, {wart}, {green
	lightning}.

	The relationship among bugs, features, misfeatures, warts and
	miswarts might be clarified by the following hypothetical
	exchange between two hackers on an airliner:

	A: "This seat doesn't recline."

	B: "That's not a bug, that's a feature.  There is an emergency
	exit door built around the window behind you, and the route
	has to be kept clear."

	A: "Oh.  Then it's a misfeature; they should have increased
	the spacing between rows here."

	B: "Yes.  But if they'd increased spacing in only one section
	it would have been a wart - they would've had to make
	nonstandard-length ceiling panels to fit over the displaced
	seats."

	A: "A miswart, actually.  If they increased spacing throughout
	they'd lose several rows and a chunk out of the profit margin.
	So unequal spacing would actually be the Right Thing."

	B: "Indeed."

	"Undocumented feature" is a common euphemism for a {bug}.

	7. An attribute or function of a {class} in {Eiffel}.

	[{Jargon File}]

	(1995-10-22)

feature creature

	[Possibly from slang "creature feature" for a horror movie]
	1. One who loves to add features to designs or programs,
	perhaps at the expense of coherence, concision or {taste}.

	2. Alternately, a mythical being that induces otherwise
	rational programmers to perpetrate such crocks.  See also
	{feeping creaturism}, {creeping featurism}.

	[{Jargon File}]

feature creep

	{creeping featurism}

featurectomy

	/fee"ch*r-ek"t*-mee/ The act of removing a {feature} from a
	program.  Featurectomies come in two flavours, the "righteous"
	and the "reluctant".  Righteous featurectomies are performed
	because the remover believes the program would be more elegant
	without the feature, or there is already an equivalent and
	better way to achieve the same end.  (Doing so is not quite
	the same thing as removing a {misfeature}.)  Reluctant
	featurectomies are performed to satisfy some external
	constraint such as code size or execution speed.

	[{Jargon File}]

	(1994-10-20)

feature key

	<hardware> (Or "flower", "pretzel", "clover", "propeller",
	"beanie" (from propeller beanie), {splat}, "command key") The
	{Macintosh} {modifier key} with the four-leaf clover graphic
	on its keytop.

	The feature key is the Mac's equivalent of a {control key}
	(and so labelled on some Mac II keyboards).  The proliferation
	of terms for this creature may illustrate one subtle peril of
	iconic interfaces.  Macs also have an "Option" {modifier key},
	equivalent to Alt.

	The cloverleaf-like symbol's oldest name is "cross of
	St. Hannes", but it occurs in pre-Christian Viking art as a
	decorative motif.  In Scandinavia it marks sites of historical
	interest.  An early {Macintosh} developer who happened to be
	Swedish introduced it to Apple.  Apple documentation gives the
	translation "interesting feature".

	The symbol has a {Unicode} character called "PLACE OF INTEREST
	SIGN" (U+2318), previously known as "command key".

	The Swedish name of this symbol stands for the word
	"sev"ardhet" (interesting feature), many of which are old
	churches.  Some Swedes report as an idiom for it the word
	"kyrka", cognate to English "church" and Scots-dialect "kirk"
	but pronounced /shir'k*/ in modern Swedish.  Others say this
	is nonsense.

	{(http://fileformat.info/info/unicode/char/2318/index.htm)}.

	[{Jargon File}]

	(2005-09-15)

feature shock

	<jargon> (From Alvin Toffler's "Future Shock") A user's
	confusion when confronted with a package that has too many
	features and poor introductory material.

	[{Jargon File}]

	(2005-09-15)

FEC

	{Forward Error Correction}

FED

	{field emission display}

Federal Geographic Data Committee

	(FGDC)

	{(ftp://fgdc.er.usgs.gov/gdc/html/fgdc.html)}.

	[Summary?]

	(1995-03-06)

Federal Information Exchange

	<networking> (FIX) One of the connection points between the
	American governmental {internets} and the {Internet}.

	(2001-05-14)

Federal Information Processing Standards

	<standard> (FIPS) United States Government technical
	{standards} published by the {National Institute of Standards
	and Technology} (NIST).  NIST develops FIPS when there are
	compelling Federal government requirements such as for
	security and {interoperability} but no acceptable industry
	standards or solutions.

	Computer-related products bought by the US Government must
	conform to FIPS.

	(2003-06-04)

Federal Networking Council

	(FNC) The coordinating group of representatives from federal
	agencies involved in the development and use of federal
	networking, especially those networks using {TCP/IP} and the
	{Internet}.  Current members include representatives from DOD,
	DOE, {DARPA}, {NSF}, NASA, and HHS.

	(1994-11-17)

federation

	<security> The establishment of some or all of business
	agreements, {cryptographic} trust and user identifiers or
	attributes across security and policy domains to enable more
	seamless business interaction.

	As {web services} promise to enable integration between
	business partners through {loose coupling} at the application
	and messaging layer, federation does so at the identity
	management layer, insulating each domain from the details of
	the others' authentication and authorization.  Key to this
	loose coupling at the identity management layer are
	standardized mechanisms and formats for the communication of
	identity information between the domains.  {SAML} is one such
	standard.

	(2011-05-12)

Federation Against Software Theft Limited

	<body, legal> (FAST) A non-profitmaking organisation, formed
	in 1984 by the software industry with the aim of eradicating
	{software theft} in the UK.  FAST was the world's first
	anti-piracy organisation to work to protect the intellectual
	property rights of software publishers.  Initially
	concentrating on lobbying parliament to revise Copyright law,
	FAST also prosecutes organisations and individuals for
	software theft on behalf of its members and publicises the
	legal penalties and security risks.

	FAST Corporate Services Limited runs the FAST Standard for
	Software Compliance (FSSC-1:2004).  This was developed in
	collaboration with the {British Standards Institution} as an
	independent standard of excellence in {software compliance}.

	In 1995 FAST proposed to merge with the {Business Software
	Alliance} created by {Microsoft} and which has a world-wide
	influence.  However, the talks fell through and in 1996,
	{Novell} and {Adobe Systems, Inc.} defected to BSA.

	{FAST Home (http://fast.org.uk/)}.

	E-mail: <fast@fast.org>.

	Address: York House, 18 York Road, Maidenhead, Berkshire SL6
	1SF.

	Telephone: +44 (1628) 622 121

	(2005-12-27)

Fedora

	<operating system, project> An open source project, sponsored
	by {Red Hat, Inc.}, and potentially feeding into their
	products.

	{Fedora Home (http://fedora.redhat.com/)}.

	(2005-12-27)

feed

	1. <data> {data feed}.

	2. {Rich Site Summary}.

feedback

	<electronics> Part of a system output presented at its input.
	Feedback may be unintended.  When used as a design feature,
	the output is usually transformed by passive components which
	attenuate it in some manner; the result is then presented at
	the system input.

	Feedback is positive or negative, depending on the sign with
	which a positive change in the original input reappears after
	transformation.  Negative feedback was invented by Black to
	stabilise {vacuum tube} amplifiers.  The behaviour becomes
	largely a function of the feedback transformation and only
	minimally a function of factors such as transistor gain which
	are imperfectly known.

	Positive feedback can lead to instability; it finds wide
	application in the construction of oscillators.

	Feedback can be used to control a system, as in {feedback
	control}.

	(1996-01-02)

feedback control

	<electronics> A control system which monitors its effect on
	the system it is controlling and modifies its output
	accordingly.  For example, a thermostat has two inputs: the
	desired temperature and the current temperature (the latter is
	the feedback).  The output of the thermostat changes so as to
	try to equalise the two inputs.

	Computer {disk drives} use feedback control to position the
	read/write heads accurately on a recording track.  Complex
	systems such as the human body contain many feedback systems
	that interact with each other; the homeostasis mechanisms that
	control body temperature and acidity are good examples.

	(1996-01-02)

feed-forward

	A {multi-layer perceptron} network in which the outputs from
	all neurons (see {McCulloch-Pitts}) go to following but not
	preceding layers, so there are no feedback loops.

Feel

	(Free and Eventually Eulisp) An initial implementation of an
	{EuLisp} {interpreter} by Pete Broadbery
	<pab@maths.bath.ac.uk>.  Version 0.75 features an integrated
	{object} system, {modules}, {parallelism}, interfaces to {PVM}
	library, {TCP/IP} {sockets}, {futures}, {Linda} and {CSP}.
	Portable to most {Unix} systems.  Can use {shared memory} and
	{threads} if available.

	{(ftp://ftp.bath.ac.uk/pub/eulisp/)}.

	(1992-09-14)

feep

	/feep/ 1.  The soft electronic "bell" sound of a display
	terminal (except for a VT-52); a beep (in fact, the
	microcomputer world seems to prefer {beep}).

	2. To cause the display to make a feep sound.  ASR-33s (the
	original TTYs) do not feep; they have mechanical bells that
	ring.  Alternate forms: {beep}, "bleep", or just about
	anything suitably onomatopoeic.  (Jeff MacNelly, in his comic
	strip "Shoe", uses the word "eep" for sounds made by computer
	terminals and video games; this is perhaps the closest written
	approximation yet.)  The term "breedle" was sometimes heard at
	SAIL, where the terminal bleepers are not particularly soft
	(they sound more like the musical equivalent of a raspberry or
	Bronx cheer; for a close approximation, imagine the sound of a
	Star Trek communicator's beep lasting for five seconds).  The
	"feeper" on a VT-52 has been compared to the sound of a '52
	Chevy stripping its gears.  See also {ding}.

	[{Jargon File}]

feeper

	/fee'pr/  The device in a terminal or workstation (usually
	a loudspeaker of some kind) that makes the {feep} sound.

feeping creature

	[{feeping creaturism}] An unnecessary feature; a bit of
	{chrome} that, in the speaker's judgment, is the camel's nose
	for a whole horde of new features.

	[{Jargon File}]

feeping creaturism

	/fee'ping kree"ch*r-izm/ A deliberate spoonerism for {creeping
	featurism}, meant to imply that the system or program in
	question has become a misshapen creature of hacks.  This term
	isn"t really well defined, but it sounds so neat that most
	hackers have said or heard it.  It is probably reinforced by
	an image of terminals prowling about in the dark making their
	customary noises.

FEL

	Function Equation Language.  Programs are sets of definitions.
	Sequences are lists stored in consecutive memory.  "FEL
	Programmer's Guide", R. M. Keller, AMPS TR 7, U Utah, March
	1982.

femto-

	{prefix}

fence

	1. A sequence of one or more distinguished ({out-of-band})
	characters (or other data items), used to delimit a piece of
	data intended to be treated as a unit (the computer-science
	literature calls this a "sentinel").  The NUL (ASCII 0000000)
	character that terminates strings in C is a fence.  {Hex} FF
	is also (though slightly less frequently) used this way.  See
	{zigamorph}.

	2. An extra data value inserted in an array or other data
	structure in order to allow some normal test on the array's
	contents also to function as a termination test.  For example,
	a highly optimised routine for finding a value in an array
	might artificially place a copy of the value to be searched
	for after the last slot of the array, thus allowing the main
	search loop to search for the value without having to check at
	each pass whether the end of the array had been reached.

	3. [among users of optimising compilers] Any technique,
	usually exploiting knowledge about the compiler, that blocks
	certain optimisations.  Used when explicit mechanisms are not
	available or are overkill.  Typically a hack: "I call a dummy
	procedure there to force a flush of the optimiser's
	register-colouring info" can be expressed by the shorter
	"That's a fence procedure".

	[{Jargon File}]

	(1999-01-08)

fencepost error

	1. (Rarely "lamp-post error") A problem with the discrete
	equivalent of a {boundary condition}, often exhibited in
	programs by iterative loops.  From the following problem: "If
	you build a fence 100 feet long with posts 10 feet apart, how
	many posts do you need?"  (Either 9 or 11 is a better answer
	than the obvious 10).

	For example, suppose you have a long list or array of items,
	and want to process items m through n; how many items are
	there?  The obvious answer is n - m, but that is off by one;
	the right answer is n - m + 1.  The "obvious" formula exhibits
	a fencepost error.

	See also {zeroth} and note that not all {off-by-one errors}
	are fencepost errors.  The game of Musical Chairs involves a
	catastrophic off-by-one error where N people try to sit in N -
	1 chairs, but it's not a fencepost error.  Fencepost errors
	come from counting things rather than the spaces between them,
	or vice versa, or by neglecting to consider whether one should
	count one or both ends of a row.

	2. (Rare) An error induced by unexpected regularities in input
	values, which can (for instance) completely thwart a
	theoretically efficient {binary tree} or {hash coding}
	implementation.  The error here involves the difference
	between expected and worst case behaviours of an {algorithm}.

	[{Jargon File}]

	(1994-12-01)

fepped out

	<jargon> /fept owt/ The {Symbolics 3600} {LISP Machine} has a
	{Front-End Processor} (FEP).  When the main processor gets
	{wedged}, the FEP takes control of the keyboard and screen.
	Such a machine is said to have "fepped out" or "dropped into
	the fep".

	[{Jargon File}]

	(1994-12-01)

FEPROM

	{Flash Erasable Programmable Read-Only Memory}

Fermat prime

	<mathematics> A {prime number} of the form 2^2^n + 1.  Any
	prime number of the form 2^n+1 must be a Fermat prime.
	{Fermat} conjectured in a letter to someone or other that all
	numbers 2^2^n+1 are prime, having noticed that this is true
	for n=0,1,2,3,4.

	{Euler} proved that 641 is a factor of 2^2^5+1.  Of course
	nowadays we would just ask a computer, but at the time it was
	an impressive achievement (and his proof is very elegant).

	No further Fermat primes are known; several have been
	factorised, and several more have been proved composite
	without finding explicit factorisations.

	{Gauss} proved that a regular N-sided {polygon} can be
	constructed with ruler and compasses if and only if N is a
	power of 2 times a product of distinct Fermat primes.

	(1995-04-10)

Fermat's Last Post

	<humour> A post to a {bug tracker}, {mailing list} or {forum}
	in which the author claims to have found a simple fix or
	workaround for a bug, but never says what it is and never
	shows up again to explain it (even after others have been
	puzzling over the bug for years).

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-02-19)

Ferranti F100-L

	<processor> A {processor}, with 16-bit addressing, {registers}
	and data paths and a 1-bit serial {ALU}.  The F100-L could
	only access 32K of memory (one address bit was used for
	{indirection}).  It was designed by a British company for the
	British Military.

	The unique feature of the F100-L was that it had a complete
	control bus available for a {coprocessor}.  Any instruction
	the F100-L couldn't decode was sent directly to the
	coprocessor for processing.  Applications for coprocessors at
	the time were limited, but the design is still used in modern
	processors, such as the {National Semiconductor 32000} series.

	The {disk operating system} was written by Alec Cawley.

	(2007-05-19)

ferrite core memory

	<storage> (Or "core") An early form of {non-volatile storage}
	built (by hand) from tiny rings of magnetisable material
	threaded onto very fine wire to form large (e.g. 13"x13" or
	more) rectangluar arrays.  Each core stored one {bit} of data.
	These were sandwiched between {printed circuit boards}(?).
	Sets of wires ran horizontally and vertically and where a
	vertical and horizontal wire crossed, a core had both wires
	threaded through it.

	A single core could be selected and magnetised by passing
	sufficient current through its horizontal and vertical wires.
	A core would retain its magnetisation until it was
	re-magnetised.  The two possible polarities of magnetisation
	were used to represent the binary values zero and one.

	A third "sense" wire, passed through the core and, if the
	magnetisation of the core was changed, a small pulse would be
	induced in the sense wire which could be detected and used to
	deduce the core's original state.

	Some core memory was immersed in a bath of heated oil to
	improve its performance.

	Core memory was rendered obsolete by {semiconductor} memory.

	For example, the 1970s-era {NCR 499} had two boards, each with
	16 {kilobytes} of core memory.

	(1996-03-04)

Ferroelectric RAM

	{Ferroelectric Random Access Memory}

Ferroelectric Random Access Memory

	<storage> (FRAM) A type of {non-volatile} read/write {random
	access} {semiconductor} memory.  FRAM combines the advantages
	of {SRAM} - writing is roughly as fast as reading, and {EPROM}
	- non-volatility and in-circuit programmability.  Current (Feb
	1997) disadvantages are high cost and low density, but that
	may change in the future.  Density is currently at most 32KB
	on a chip, compared with 512KB for SRAM, 1MB for EPROM and 8MB
	for DRAM.

	A ferroelectric memory cell consists of a ferroelectric
	{capacitor} and a {MOS} {transistor}.  Its construction is
	similar to the storage cell of a {DRAM}.  The difference is in
	the dielectric properties of the material between the
	capacitor's electrodes.  This material has a high dielectric
	constant and can be polarized by an electric field.  The
	polarisation remains until it gets reversed by an opposite
	electrical field.  This makes the memory non-volatile.  Note
	that ferroelectric material, despite its name, does not
	necessarily contain iron.  The most well-known ferroelectric
	substance is BaTiO3, which does not contain iron.

	Data is read by applying an electric field to the capacitor.
	If this switches the cell into the opposite state (flipping
	over the electrical dipoles in the ferroelectric material)
	then more charge is moved than if the cell was not flipped.
	This can be detected and amplified by sense amplifiers.
	Reading destroys the contents of a cell which must therefore
	be written back after a read.  This is similar to the
	{precharge} operation in DRAM, though it only needs to be done
	after a read rather than periodically as with DRAM {refresh}.
	In fact it is most like the operation of {ferrite core
	memory}.

	FRAM has similar applications to EEPROM, but can be written
	much faster.  The simplicity of the memory cell promises high
	density devices which can compete with DRAM.

	{RAMTRON} is the company behind FRAM.

	(1997-02-17)

Fetch

	A {Macintosh} program by Jim Matthews <Fetch@Dartmouth.edu>
	for transferring files using {File Transfer Protocol} (FTP).
	Fetch requires a Mac 512KE, System 4.1, and either {KSP} 1.03
	or {MacTCP}.

	Latest version: 2.1.2.

	Fetch is Copyright 1992, Trustees of Dartmouth College.

	{(ftp://ftp.Dartmouth.edu/pub/mac/Fetch_2.1.2.sit.hqx)}.
	{(ftp://src.doc.ic.ac.uk/computing/systems/mac/info-mac/comm/tcp)}.

	(1994-11-30)

fetch-execute cycle

	<architecture, processor> The sequence of actions that a
	{central processing unit} performs to execute each {machine
	code} instruction in a program.

	At the beginning of each cycle the CPU presents the value of
	the {program counter} on the {address bus}.  The CPU then
	fetches the instruction from {main memory} (possibly via a
	{cache} and/or a {pipeline}) via the {data bus} into the
	{instruction register}.

	From the instruction register, the data forming the
	instruction is decoded and passed to the {control unit} which
	sends a sequence of control signals to the relevant {function
	units} of the CPU to perform the actions required by the
	instruction such as reading values from {registers}, passing
	them to the {ALU} to add them together and writing the result
	back to a register.

	The program counter is then incremented to address the next
	instruction and the cycle is repeated.

	The fetch-execute cycle was first proposed by {John von
	Neumann}.

	(1998-06-25)

Feynman, Richard P.

	{Richard P. Feynman}

FF

	{form feed}

ffccc

	{Floppy} {Fortran} coding convention checker.

FFP

	Formal FP.  A language similar to FP, but with regular
	sugarless {syntax}, for machine execution.

	See also {FL}.

	["Can Programming be Liberated From the von Neumann Style?  A
	Functional Style and Its Algebra of Programs", John Backus,
	1977 Turing Award Lecture, CACM 21(8):165-180 (Aug 1978)].

	(1994-10-24)

FFT

	{Fast Fourier Transform}

FGDC

	{Federal Geographic Data Committee}

FGHC

	Flat GHC.  A {flat} variant of {GHC} in which {guard} calls
	can be only to {primitives}.

	See also {KL1}.

	(1994-10-24)

FGL

	1. Flow Graph Lisp.  A distributed dataflow language for AMPS
	(Applicative Multi-Processing System).  "A Loosely-Coupled
	Applicative Multi-Processing System", R. Keller et al, NCC,
	AFIPS June 1979, pp.613- 622.

	2. Function Graph Language.  Related to FEL.

FGL+LV

	["Functional Programming and the Logical Variable",
	G. Lindstrom, POPL 1985, pp. 266-280].

	(1994-11-30)

FGRAAL

	Fortran extended GRAph Algorithmic Language.  A Fortran
	extension for handling sets and graphs.  "On a Programming
	Language for Graph Algorithms", W.C. Rheinboldt et al, BIT
	12(2) 1972.

fgrep

	<tool> A variant of the {Unix} {grep} command which searches
	for fixed (uninterpreted) strings rather than {regular
	expressions}.  Surprisingly, this is not always faster.

	(1996-10-27)

FhG

	{Fraunhofer Gesellschaft}

FHS

	{Filesystem Hierarchy Standard}

FHSS

	{Frequency-Hopping Spread Spectrum}

fi

	<networking> The {country code} for Finland.

	(1999-01-27)

Fiber Distributed Data Interface

	(FDDI) A 100 Mbit/s {ANSI} {standard} {local area network}
	architecture, defined in X3T9.5.  The underlying medium is
	{optical fibre} (though it can be copper cable, in which case
	it may be called {CDDI}) and the topology is a
	{dual-attached}, counter-rotating {token ring}.

	FDDI rings are normally constructed in the form of a "dual
	ring of trees".  A small number of devices, typically
	infrastructure devices such as {routers} and {concentrators}
	rather than {host} computers, are connected to both rings -
	these are referred to as "{dual-attached}".  Host computers
	are then connected as {single-attached} devices to the
	{routers} or {concentrators}.  The dual ring in its most
	degenerate form is simply collapsed into a single device.  In
	any case, the whole dual ring is typically contained within a
	computer room.

	This network topology is required because the dual ring
	actually passes through each connected device and requires
	each such device to remain continuously operational (the
	standard actually allows for optical bypasses but these are
	considered to be unreliable and error-prone).  Devices such as
	{workstations} and {minicomputers} that may not be under the
	control of the {network managers} are not suitable for
	connection to the dual ring.

	As an alternative to a dual-attached connection, the same
	degree of resilience is available to a {workstation} through a
	{dual-homed} connection which is made simultaneously to two
	separate devices in the same FDDI ring.  One of the
	connections becomes active while the other one is
	automatically blocked.  If the first connection fails, the
	backup link takes over with no perceptible delay.

	{Usenet} newsgroup: {news:comp.dcom.lans.fddi}.

	(1994-12-13)

Fiber Optic InterRepeater Link

	<networking> (FOIRL) An older standard of {fiber optic} guides
	used for carrying 10 MBps {Ethernet}.  The maximum length of a
	{segment} is 1 km.  A FOIRL {multiport repeater} and
	transceivers are necessary to carry the signal to multiple
	devices.

	The more recent version of Ethernet over fiber optic cables is
	{10baseFL} with a maximum segment length of 2 km.

	(1998-06-28)

fiber optics

	<spelling> US spelling of "fibre optics".  See {optical
	fibre}.

	(1997-03-31)

Fibonacci sequence

	<mathematics> The {infinite} sequence of numbers beginning

		1, 1, 2, 3, 5, 8, 13, ...

	in which each term is the sum of the two terms preceding it.

	The ratio of successive Fibonacci terms tends to the {golden
	ratio}, namely (1 + sqrt 5)/2.

	[Why not "Fibonacci {series}"?]

	(2002-10-15)

Fibre Channel

	<storage, networking, communications> An {ANSI} {standard}
	originally intended for high-speed {SANs} connecting
	{servers}, {disc arrays}, and {backup} devices, also later
	adapted to form the {physical layer} of {Gigabit Ethernet}.

	Development work on Fibre channel started in 1988 and it was
	approved by the ANSI standards committee in 1994, running at
	100Mb/s.  More recent innovations have seen the speed of Fibre
	Channel SANs increase to 10Gb/s.  Several topologies are
	possible with Fibre Channel, the most popular being a number
	of devices attached to one (or two, for redundancy) central
	Fibre Channel switches, creating a reliable infrastructure
	that allows servers to share storage arrays or tape libraries.

	One common use of Fibre Channel SANs is for high availability
	databaseq clusters where two servers are connected to one
	highly reliable {RAID} array.  Should one server fail, the
	other server can mount the array itself and continue
	operations with minimal {downtime} and loss of data.

	Other advanced features include the ability to have servers
	and {hard drives} seperated by hundreds of miles or to rapidly
	{mirror} data between servers and hard drives, perhaps in
	seperate geographic locations.

	{Fibre Channel Industry Association
	(http://fibrechannel.org)} (FCIA).

	(2003-09-27)

Fibre Channel-Arbitrated Loop

	<hardware, standard> (FC-AL) A fast serial bus interface
	standard intended to replace {SCSI} on high-end {servers}.

	FC-AL has a number of advantages over SCSI.  It offers higher
	speed: the base speed is 100 {megabytes} per second, with 200,
	400, and 800 planned.  Many devices are dual ported, i.e., can
	be accessed through two independent ports, which doubles speed
	and increases fault tolerance.  Cables can be as long as 30 m
	(coaxial) or 10 km (optical).  FC-AL enables
	{self-configuring} and {hot swapping} and the maximum number
	of devices on a single port is 126.  Finally, it provides
	software compatibility with SCSI.

	Despite all these features FC-AL is unlikely to appear on
	desktops anytime soon, partly because its price, partly
	because typical {desktop computers} would not take advantage
	of many of the advanced features.  On these systems {FireWire}
	has more potential.

	[Current status?  Reference?]

	(1999-09-12)

fibre optics

	{optical fibre}

FIDIL

	Based on "maps", generalised arrays whose index sets
	("domains") are arbitrary D-dimensional sets.  Domains are
	first-class objects and may be constructed by union,
	intersection, etc.

	["Fidil: A Language for Scientific Programming",
	P.N. Hilfinger et al, TR UCRL-98057, LLNL Jan 1988].

FIDO

	FInite DOmains.  A constraint language implemented on top of
	Prolog.

	{(ftp://ftp.uni-kl.de/pub1/Unix/languages/fido/)}.

FidoNet

	A worldwide hobbyist network of personal computers which
	exchanges {e-mail}, discussion groups, and files.  Founded in
	1984 and originally consisting only of {IBM PCs} and
	compatibles, FidoNet now includes such diverse machines as
	{Apple IIs}, {Ataris}, {Amigas}, and {Unix} systems.  Though
	it is much younger than {Usenet}, FidoNet is already (in early
	1991) a significant fraction of {Usenet}'s size at some 8000
	systems.

	[{Jargon File}]

field

	<data, database> An area of a {database} {record}, or
	{graphical user interface} {form}, into which a particular
	item of data is entered.

	Example usage: "The telephone number field is not really a
	numerical field", "Why do we need a four-digit field for the
	year?".

	A {database} {column} is the set of all instances of a given
	field from all records in a {table}.

	(1999-04-26)

field circus

	A derogatory pun on "field service".  The field service
	organisation of any hardware manufacturer, but especially
	{DEC}.  There is an entire genre of jokes about DEC field
	circus engineers:

	Q: How can you recognise a DEC field circus engineer with a
	flat tire?

	A: He's changing one tire at a time to see which one is flat.

	Q: How can you recognise a DEC field circus engineer who is
	out of gas?

	A: He's changing one tire at a time to see which one is flat.

	See {Easter egging} for additional insight on these jokes.

	There is also the "Field Circus Cheer" (from the {plan file}
	for {DEC} on MIT-AI):

	 Maynard! Maynard!
	 Don't mess with us!
	 We're mean and we're tough!
	 If you get us confused
	 We'll screw up your stuff.

	(DEC's service HQ is located in Maynard, Massachusetts).

	[{Jargon File}]

	(1994-12-01)

field effect transistor

	<electronics> (FET) A {transistor} with a region of {donor}
	material with two terminals called the "source" and the
	"drain", and an adjoining region of {acceptor} material
	between, called the "gate".  The voltage between the gate and
	the {substrate} controls the current flow between source and
	drain by depleting the donor region of its charge carriers to
	greater or lesser extent.

	There are two kinds of FET's, {Junction FETs} and {MOSFETs}.

	Because no current (except a minute leakage current) flows
	through the gate, FETs can be used to make circuits with very
	low power consumption.

	Contrast {bipolar transistor}.

	(1995-10-05)

field emission display

	<hardware> (FED) A type of {flat panel display} in which field
	emitting cathodes bombard a phosphor coating causing it to
	emit light.

	A field emission display is similar to a {cathode ray tube}
	but only a few millimeters thick.  They use a large array of
	fine metal tips or carbon nanotubes (which are the most
	efficient electron emitters known), to emit electrons through
	a process known as field emission.  Many of these are behind
	each phosphor dot so FEDs do not display dead pixels like LCDs
	even if 20% of the emitters fail.  {Sony} is researching FED
	because it is the flat-panel technology that comes closest to
	matching the picture of a CRT.

	(2007-10-10)

field mouse

	{wireless mouse}

field-programmable gate array

	<hardware> (FPGA) A {gate array} where the logic network can
	be programmed into the device after its manufacture.  An FPGA
	consists of an array of logic elements, either gates or lookup
	table {RAMs}, {flip-flops} and programmable interconnect
	wiring.

	Most FPGAs are reprogrammable, since their logic functions and
	interconnect are defined by RAM cells.  The {Xilinx} LCA,
	{Altera} FLEX and {AT&T} ORCA devices are examples.  Others
	can only be programmed once, by closing "antifuses".  These
	retain their programming permanently.  The {Actel} FPGAs are
	the leading example of such devices.  Atmel FPGAs are
	currently (July 1997) the only ones in which part of the array
	can be reprogrammed while other parts are active.

	As of 1994, FPGAs have logic capacity up to 10K to 20K
	2-input-NAND-equivalent gates, up to about 200 I/O pins and
	can run at {clock rates} of 50 MHz or more.  FPGA designs must
	be prepared using {CAD} software tools, usually provided by
	the chip vendor, to do technology mapping, partitioning and
	placement, routing, and binary output.  The resulting binary
	can be programmed into a {ROM} connected to the FPGA or
	{downloaded} to the FPGA from a connected computer.

	In addition to ordinary logic applications, FPGAs have enabled
	the development of {logic emulators}.  There is also research
	on using FPGAs as computing devices, taking direct advantage
	of their reconfigurability into problem-specific hardware
	processors.

	{Usenet} newsgroup: {news:comp.arch.fpga}.

	(1997-07-11)

field servoid

	<jargon, abuse> /fee'ld ser'voyd/ A play on "android", a
	derogatory term for a representative of a field service
	organisation (see {field circus}), suggesting an unintelligent
	rule-driven approach to servicing computer hardware.

	[{Jargon File}]

	(2003-02-03)

FIFO

	{first-in first-out}

Fifth

	An enhanced version of FORTH.  M.S. Dissertation, Cliff Click
	<cliff@cs.rice.edu>, Texas A&M, 1985.  Available from the
	Software Construction Co, (409)696-5432.

Fifth Dimension Technologies

	<company, virtual reality> (5DT) Manufacturers of the {5th
	Glove}.

	(1995-04-04)

fifth generation language

	<language, artificial intelligence> A myth the Japanese spent
	a lot of money on.  In about 1982, {MITI} decided it would
	spend ten years and a lot of money applying {artificial
	intelligence} to programming, thus solving the {software
	crisis}.  The project spent its money and its ten years and in
	1992 closed down with a wimper.

	(1996-11-06)

fifth normal form

	{database normalisation}

Fight-o-net

	<messaging> A distortion of {FidoNet}, often applied after a
	flurry of {flamage} in a particular {echo}, especially the
	SYSOP echo or Fidonews (see {'Snooze}).

	[{Jargon File}]

	(1996-11-04)

file

	<file system> An element of data storage in a {file system}.

	The history of computing is rich in varied kinds of files and
	{file systems}, whether ornate like the {Macintosh file
	system} or deficient like many simple pre-1980s file systems
	that didn't have {directories}.  However, a typical file has
	these characteristics:

	* It is a single sequence of bytes (but consider {Macintosh}
	{resource forks}).

	* It has a finite length, unlike, e.g., a {Unix} {device}.

	* It is stored in a {non-volatile storage} medium (but see
	{ramdrive}).

	* It exists (nominally) in a {directory}.

	* It has a name that it can be referred to by in file
	operations, possibly in combination with its {path}.

	Additionally, a file system may support other {file
	attributes}, such as {permissions}; timestamps for creation,
	last modification, and last access and revision numbers (a` la
	{VMS}).

	Compare: {document}.

	(2007-01-04)

File Allocation Table

	<file system> (FAT) The component of an {MS-DOS} or {Windows
	95} {file system} which describes the {files}, {directories},
	and free space on a {hard disk} or {floppy disk}.

	A disk is divided into {partitions}.  Under the FAT {file
	system} each partition is divided into {clusters}, each of
	which can be one or more {sectors}, depending on the size of
	the partition.  Each cluster is either allocated to a file or
	directory or it is free (unused).  A directory lists the name,
	size, modification time and starting cluster of each file or
	subdirectory it contains.

	At the start of the partition is a table (the FAT) with one
	entry for each cluster.  Each entry gives the number of the
	next cluster in the same file or a special value for "not
	allocated" or a special value for "this is the last cluster in
	the chain".  The first few clusters after the FAT contain the
	{root directory}.

	The FAT file system was originally created for the {CP/M}[?]
	{operating system} where files were catalogued using 8-bit
	addressing.  {MS DOS}'s FAT allows only {8.3} filenames.

	With the introduction of MS-DOS 4 an incompatible 16-bit FAT
	(FAT16) with 32-kilobyte {clusters} was introduced that
	allowed {partitions} of up to 2 gigabytes.

	Microsoft later created {FAT32} to support partitions larger
	than two gigabytes and {pathnames} greater that 256
	characters.  It also allows more efficient use of disk space
	since {clusters} are four kilobytes rather than 32 kilobytes.
	FAT32 was first available in {OEM} Service Release 2 of
	{Windows 95} in 1996.  It is not fully {backward compatible}
	with the 16-bit and 8-bit FATs.

	{IDG article
	(http://idg.net/idgframes/english/content.cgi?vc=docid_9-62525.html)}.
	{(http://home.c2i.net/tkjoerne/os/fat.htm)}.
	{(http://teleport.com/~brainy/)}.
	{(http://209.67.75.168/hardware/fatgen.htm)}.
	{(http://support.microsoft.com/support/kb/articles/q154/9/97.asp)}.

	Compare: {NTFS}.

	[How big is a FAT?  Is the term used outside MS DOS?  How long
	is a FAT16 filename?]

	(2000-02-05)

File Attach

	[FidoNet] 1.  A file sent along with a mail message from one
	BBS to another.

	2. Sending someone a file by using the File Attach option in a
	BBS mailer.

	[{Jargon File}]

File Composition

	A typesetting language.

	["File Composition System Reference Manual", No. 90388,
	Information Intl].

file compression

	<algorithm> The {compression} of data in a file, usually to
	reduce storage requirements.

	(1995-04-06)

file control block

	<operating system> (FCB) An {MS-DOS} data structure that
	stores information about an open file.  The number of FCBs is
	configured in {CONFIG.SYS} with a command

		FCBS=x,y

	where x (between 1 and 255 inclusive, default 4) specifies the
	number of file control blocks to allocate and therefore the
	number of files that MS-DOS can have open at one time.  y (not
	needed from DOS 5.0 onward) specifies the number of files to
	be closed automatically if all x are in use.

	(1995-03-21)

file descriptor

	<programming, operating system> An integer that identifies an
	open {file} within a {process}.  This number is obtained as a
	result of opening a file.  Operations which read, write, or
	close a file would take the file descriptor as an input
	parameter.

	In many {operating system} implementations, file descriptors
	are small integers which index a table of open files.  In
	{Unix}, file descriptors 0, 1 and 2 correspond to the
	{standard input}, {standard output} and {standard error} files
	respectively.

	See {file descriptor leak}.

	(1998-02-06)

file descriptor leak

	<programming> (Or "fd leak" /F D leek/) A kind of programming
	{bug} analogous to a {core leak}, in which a program fails to
	close {file descriptors} ("fd"s) after file operations are
	completed, and thus eventually runs out of them.

	See {leak}.

	(1994-11-30)

file extension

	{filename extension}

FileMaker

	<software> A {database} application developed by {Claris}.  It
	is currently the leading database application for the
	{Macintosh} and is the second most popular standalone package
	for {Windows}.

	(1998-02-18)

FileMaker, Inc.

	<company> The company that distributes the {FileMaker}
	{database}.  FileMaker, Inc. was previously known as {Claris}
	and was renamed after a restructuring in January 1998.

	{(http://filemaker.com/)}.

	(1998-02-18)

filename extension

	<filename extension> The portion of a filename, following the
	final point, which indicates the kind of data stored in the
	file - the {file type}.

	Many {operating systems} use filename extensions, e.g. {Unix},
	{VMS}, {MS-DOS}, {Microsoft Windows}.  They are usually from
	one to three letters (some sad old OSes support no more than
	three).  Examples include "c" for {C} {source code}, "ps" for
	{PostScript}, "txt" for arbitrary text.

	{NEXTSTEP} and its descendants also use extensions on
	directories for a similar purpose.

	Apart from informing the user what type of content the file
	holds, filename extensions are typically used to decide which
	program to launch when a file is "run", e.g. by
	double-clicking it in a {GUI} {file browser}.  They are also
	used by {Unix}'s {make} to determine how to build one kind of
	file from another.

	Compare: {MIME type}.

	{Tony Warr's comprehensive list
	(http://camalott.com/~rebma/filex.html)}.

	{FAQS.org Graphics formats
	(http://faqs.org/faqs/graphics/fileformats-faq/)}.

	(2002-04-19)

FileNet

	<storage> A system for storage of {images} on laser disk using
	{COLD}.

	(1995-11-09)

File Request

	1. The {FidoNet} equivalent of {FTP}, in which one {BBS}
	system automatically dials another and {snarfs} one or more
	files.  Often abbreviated "FReq"; files are often announced as
	being "available for FReq" in the same way that files are
	announced as being "available for/by {anonymous FTP}" on the
	{Internet}.

	2. The act of getting a copy of a file by using the File
	Request option of the {BBS} mailer.

	[{Jargon File}]

	(1995-01-05)

File Separator

	<character> (FS) {ASCII} character 28.

	(1996-06-28)

file server

	Hardware and software that together provide file-handling and
	storage functions for multiple users on a {local area
	network}.  The most common choices for file server software
	are {Sun Microsystems}' {Network File System} for {Unix} and
	{Novell Netware} for {IBM PC} compatibles.  There is also a
	version of NFS for PCs called {PC-NFS}.  Storing files on a
	file server saves having multiple copies stored on individual
	computers, thus economising on disk space and also makes
	administrating and updating the files easier.

File Service Protocol

	<protocol> (FSP) A {protocol}, similar to {FTP}, for copying
	{files} between computers.  It's designed for {anonymous
	archives}, and has protection against {server} and {network}
	overloading.  It doesn't use connections so it can survive
	interruptions in service.

	Until 1993-08-12, FSP didn't stand for anything.  Wen-King
	was responsible for the initials and Michael Grubb
	<mg@ac.duke.edu> for their eventual expansion.  Other
	suggestions were "File Slurping Protocol", "Flaky Stream
	Protocol" and "FTP's Sexier Partner".

	{FAQ
	(ftp://ftp.germany.eu.net/pub/networking/inet/fsp/fsp-faq/)}.

	[fsp-faq, 1993-08-12].

	(1997-12-07)

file signature

	A {magic number}.

	[{Jargon File}]

file system

	<operating system> (FS, or "filesystem") 1. A system for
	organizing {directories} and {files}, generally in terms of
	how it is implemented in the {disk operating system}.  E.g.,
	"The {Macintosh file system} is just dandy as long as you
	don't have to interface it with any other file systems".

	2. The collection of files and directories stored on a given
	drive (floppy drive, hard drive, disk {partition}, {logical}
	drive, {RAM drive}, etc.).  E.g., "mount attaches a named file
	system to the file system hierarchy at the pathname location
	directory [...]" -- {Unix manual page} for "mount(8)".

	As an extension of this sense, "file system" is sometimes used
	to refer to the representatation of the file system's
	organisation (e.g. its {file allocation table}) as opposed the
	actual content of the files in the file system.

	{Unix manual page}: fs(5), mount(8).

	(1997-04-10)

Filesystem Hierarchy Standard

	<storage, standard> (FHS) A {standard} designed to be used by
	{Unix} {distribution} developers, {package} developers, and
	system implementors.

	FHS consists of a set of {requirements} and guidelines for
	file and directory placement under {UNIX}-like {operating
	systems}.

	The {guidelines} are intended to support interoperability of
	applications, system administration tools, development tools,
	and scripts.  These systems should also be supported with
	greater documentation uniformity.

	The standard is primarily intended to be a reference and is
	not a tutorial on how to manage a Unix filesystem or directory
	hierarchy.

	{(http://pathname.com/fhs/)}.

	{RedHat deviation (http://redhat.com/corp/support/manuals/RHL-6.0-Manual/install-guide/manual/doc084.html)}.

	(2001-05-24)

file transfer

	<networking> Copying a {file} from one computer to another
	over a computer {network}.

	See also {File Transfer Protocol}, {Kermit}, {Network File
	System}, {rcp}, {uucp}, {XMODEM}, {ZMODEM}.

	(1997-04-10)

File Transfer Protocol

	(FTP) A {client-server} protocol which allows a user on one
	computer to transfer files to and from another computer over a
	{TCP/IP} network.  Also the client program the user executes
	to transfer files.  It is defined in {STD 9}, {RFC 959}.

	See also {anonymous FTP}, {FSP}, {TFTP}.

	{Unix manual page}: ftp(1).

	(1994-12-01)

file type

	<file format> The kind of data stored in a file.  Most modern
	{operating systems} use the {filename extension} to determine
	the file type though others store this information elsewhere
	in the {file system}.  The file type is used to choose an
	appropriate icon to represent the file in a {GUI} and the
	correct {application} with which to view, edit, run, or print
	the file.

	Different operating systems support different sets of file
	types though most agree on a large common set and allow
	arbitrary new types to be defined.

	See also {MIME}.

	{FileInfo.com - The File Extensions Resource
	(http://fileinfo.com/)}

	(2009-03-27)

filing system

	{file system}

filk

	/filk/ [SF fandom, where a typo for "folk" was adopted as a
	new word] A popular or folk song with lyrics revised or
	completely new lyrics, intended for humorous effect when
	read, and/or to be sung late at night at SF conventions.
	There is a flourishing subgenre of these called "computer
	filks", written by hackers and often containing rather
	sophisticated technical humour.  See {double bucky} for an
	example.  Compare {grilf}, {hing} and {newsfroup}.

	[{Jargon File}]

fill-out form

	<programming> A type of {user interface} used, for example, on
	the {web}, to organise a set of questions or
	options for the user so that it resembles a traditional paper
	form that is filled out.  Typical query types are:
	fill-in-the-blank (text), menu of options, select zero or
	more, or select exactly one ("{radio buttons}").

	Most {web browsers} support fill-out forms.
	{Overview
	(http://ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html)}.

	(1998-03-24)

film at 11

	<jargon> (MIT, in parody of US TV newscasters) 1. Used in
	conversation to announce ordinary events, with a sarcastic
	implication that these events are earth-shattering.  "{ITS}
	crashes; film at 11."  "Bug found in scheduler; film at 11."

	2. Also widely used outside MIT to indicate that additional
	information will be available at some future time, *without*
	the implication of anything particularly ordinary about the
	referenced event.  For example, "The mail file server died
	this morning; we found garbage all over the root directory.
	Film at 11." would indicate that a major failure had occurred
	but that the people working on it have no additional
	information about it as yet; use of the phrase in this way
	suggests gently that the problem is liable to be fixed more
	quickly if the people doing the fixing can spend time doing
	the fixing rather than responding to questions, the answers to
	which will appear on the normal "11:00 news", if people will
	just be patient.

	[{Jargon File}]

	(1998-03-24)

FILO

	{stack}

Filtabyte

	<networking, hardware> An {Ethernet controller} card made by
	{LRT} based on the {LANCE} and {SIA}.  It uses {DMA}.  Its
	{Ethernet address} can be changed by software.

	(1994-12-01)

filter

	1. (Originally {Unix}, now also {MS-DOS}) A program that
	processes an input data stream into an output data stream in
	some well-defined way, and does no I/O to anywhere else except
	possibly on error conditions; one designed to be used as a
	stage in a {pipeline} (see {plumbing}).  Compare {sponge}.

	2. ({functional programming}) A {higher-order function} which
	takes a {predicate} and a list and returns those elements of
	the list for which the predicate is true.  In {Haskell}:

		filter p []     = []
		filter p (x:xs) = if p x then x : rest else rest
				  where
				  rest = filter p xs

	See also {filter promotion}.

	[{Jargon File}]

filter promotion

	<algorithm> In a {generate and test} algorithm, combining part
	of the filter with the generator in order to reduce the number
	of potential solutions generated.  A trivial example:

		filter (< 100) [1..1000]  ==>  [1..99]

	where [1..n] generates the list of integers from 1 to n.  Here
	the filter has been combined completely with the generator.
	This is an example of {fusion}.

	(2005-03-18)

FIMS

	{Form Interface Management System}

Finagle's Law

	<humour> The generalised or "folk" version of {Murphy's Law},
	fully named "Finagle's Law of Dynamic Negatives" and usually
	rendered "Anything that can go wrong, will".  One variant
	favoured among hackers is "The perversity of the Universe
	tends toward a maximum".

	The label "Finagle's Law" was popularised by SF author Larry
	Niven in several stories depicting a frontier culture of
	asteroid miners; this "Belter" culture professed a religion
	and/or running joke involving the worship of the dread god
	Finagle and his mad prophet Murphy.

	[{Jargon File}]

	(1995-12-14)

Financial Information eXchange

	<business, protocol> (FIX) A {standard} messaging {protocol}
	for the {real-time} electronic exchange of securities
	transactions.

	[Reference?]

	(2001-05-14)

Finder

	<operating system> The part of the {Macintosh Operating
	System} and {GUI} that simulates the {desktop}.  The
	{multitasking} version of Finder was called "{MultiFinder}"
	until {multitasking} was integrated into the core of the OS
	with the introduction of System 7.0 in 1990.

	(2005-03-18)

fine adjuster

	<jargon, tool, humour> A tool used for {percussive
	maintenance}, also known as a "hammer".

	(1999-01-15)

fine grain

	{granularity}

finger

	<tool> A {Unix} program that displays information about a
	particular user or all users logged on the system, or a remote
	system.  Finger typically shows full name, last login time,
	idle time, terminal line, and terminal location (where
	applicable).  It may also display a {plan file} left by the
	user (see also {Hacking X for Y}).  Some versions take a "-l"
	(long) argument which yields more information.

	[{Jargon File}]

	(2002-10-06)

finger-pointing syndrome

	<programming> All-too-frequent result of {bugs}, especially in
	new or experimental configurations.  The hardware vendor
	points a finger at the software.  The software vendor points a
	finger at the hardware.  All the poor users get is the finger.

	[{Jargon File}]

	(1995-12-14)

finite

	{compact}

Finite Automata

	{Finite State Machine}

Finite Automaton

	{Finite State Machine}

finite differencing

	{strength reduction}

Finite Impulse Response

	<electronics, DSP> (FIR) A type of {digital signal} {filter},
	in which every {sample} of output is the weighted sum of past
	and current samples of input, using only some finite number of
	past samples.

	(2001-06-06)

Finite State Automata

	{Finite State Machine}

Finite State Automaton

	{Finite State Machine}

Finite State Machine

	<mathematics, algorithm, theory> (FSM or "Finite State
	Automaton", "transducer") An {abstract machine} consisting of
	a set of {states} (including the initial state), a set of
	input events, a set of output events, and a state transition
	function.  The function takes the current state and an input
	event and returns the new set of output events and the next
	state.  Some states may be designated as "terminal states".
	The state machine can also be viewed as a function which maps
	an ordered sequence of input events into a corresponding
	sequence of (sets of) output events.

	A {deterministic} FSM (DFA) is one where the next state is
	uniquely determinied by a single input event.  The next state
	of a {nondeterministic} FSM (NFA) depends not only on the
	current input event, but also on an arbitrary number of
	subsequent input events.  Until these subsequent events occur
	it is not possible to determine which state the machine is in.

	It is possible to automatically translate any nondeterministic
	FSM into a deterministic one which will produce the same
	output given the same input.  Each state in the DFA represents
	the set of states the NFA might be in at a given time.

	In a probabilistic FSM [proper name?], there is a
	predetermined {probability} of each next state given the
	current state and input (compare {Markov chain}).

	The terms "acceptor" and "transducer" are used particularly in
	language theory where automata are often considered as
	{abstract machines} capable of recognising a language (certain
	sequences of input events).  An acceptor has a single
	{Boolean} output and accepts or rejects the input sequence by
	outputting true or false respectively, whereas a transducer
	translates the input into a sequence of output events.

	FSMs are used in {computability theory} and in some practical
	applications such as {regular expressions} and digital logic
	design.

	See also {state transition diagram}, {Turing Machine}.

	[J.H. Conway, "regular algebra and finite machines", 1971, Eds
	Chapman & Hall].

	[S.C. Kleene, "Representation of events in nerve nets and
	finite automata", 1956, Automata Studies. Princeton].

	[Hopcroft & Ullman, 1979, "Introduction to automata theory,
	languages and computations", Addison-Wesley].

	[M. Crochemore "tranducters and repetitions",
	Theoritical. Comp. Sc. 46, 1986].

	(2001-09-22)

finn

	<jargon, chat> To pull rank on somebody based on the amount of
	time one has spent on {IRC}.  The term derives from the fact
	that IRC was originally written in Finland in 1987.

	[{Jargon File}]

	(2000-08-05)

FIPS

	{Federal Information Processing Standards}

FIR

	1. <electronics> {Finite Impulse Response} (filter).

	2. <standard> Fast Infrared.  {Infrared} standard from {IrDA},
	part of {IrDA Data}.  FIR supports {synchronous}
	communications at 4 Mbps (and 1.115 Mbps?), at a distance of
	up to 1 metre.

	(1999-10-14)

firebottle

	{electron tube}

firefighting

	1. What sysadmins have to do to correct sudden operational
	problems.  An opposite of hacking.  "Been hacking your new
	newsreader?"  "No, a power glitch hosed the network and I
	spent the whole afternoon fighting fires."

	2. The act of throwing lots of manpower and late nights at a
	project, especially to get it out before deadline.  See also
	{gang bang}, {Mongolian Hordes technique}; however, the term
	"firefighting" connotes that the effort is going into chasing
	bugs rather than adding features.

	(1994-12-01)

Firefox

	<web> A complete {free}, {open-source} {web
	browser} from the {Mozilla Foundation} and therefore a true
	code descendent of {Netscape Navigator}.  The first non-{beta
	release} was in late 2004.

	{Firefox Home (http://mozilla.org/products/firefox)}.

	(2005-01-26)

firehose syndrome

	<networking, jargon> An absence, failure or inadequacy of flow
	control mechanisms causing the sender to overwhelm the
	receiver.  The implication is that, like trying to drink from
	a firehose, the consequenses are worse than just loss of data,
	e.g. the receiver may {crash}.

	See {ping-flood}.

	[{Jargon File}]

	(2007-03-12)

firewall

	1. {firewall code}.

	2. {firewall machine}.

firewall code

	1. The code you put in a system (say, a telephone switch) to
	make sure that the users can't do any damage. Since users
	always want to be able to do everything but never want to
	suffer for any mistakes, the construction of a firewall is a
	question not only of defensive coding but also of interface
	presentation, so that users don't even get curious about those
	corners of a system where they can burn themselves.

	2. Any sanity check inserted to catch a {can't happen} error.
	Wise programmers often change code to fix a bug twice: once to
	fix the bug, and once to insert a firewall which would have
	arrested the bug before it did quite as much damage.

	[{Jargon File}]

firewall machine

	<networking, security> A dedicated {gateway} {server} with special
	security precautions on it, used to service external connections
	(typically from the {public Internet}).  The firewall machine
	protects servers and networks hidden behind it from {crackers}.

	The typical firewall is an inexpensive {microprocessor}-based
	{Unix} machine with no critical data, with public network ports on
	it, but just one carefully watched connection back to the rest of
	the cluster.  The special precautions may include threat
	monitoring, {call-back}, and even a complete {iron box} keyable to
	particular incoming IDs or activity patterns.

	The type of network and security environment of a firewall machine
	is often called a {De-Militarised Zone} (DMZ).  It may contain
	other servers such as e-mail servers or {proxy gateways} -
	machines that need to be publicly accessible but also need some
	access to internal systems.

	Also known as a (Venus) flytrap after the insect-eating plant.

	(2014-07-15)

FireWire

	{High Performance Serial Bus}

fireworks mode

	The mode a machine is sometimes said to be in when
	it is performing a {crash and burn} operation.

	[{Jargon File}]

Firmware

	Software stored in read-only memory (ROM) or programmable ROM
	(PROM).  Easier to change than hardware but harder than
	software stored on disk.  Firmware is often responsible for
	the behaviour of a system when it is first switched on.  A
	typical example would be a "monitor" program in a
	microcomputer which loads the full operating system from disk
	or from a network and then passes control to it.

firmy

	{stiffy}

first class module

	<programming> A {module} that is a {first class data object}
	of the {programming language}, e.g. a {record} containing
	{functions}.  In a {functional language}, it is standard to
	have first class programs, so program building blocks can have
	the same status.

	{Claus Reinke's Virtual Bookshelf
	(http://informatik.uni-kiel.de/~cr/bib/bookshelf/Modules.html)}.

	(2004-01-26)

First Fit

	<algorithm> A {resource} allocation scheme (usually for
	{memory}).  First Fit fits data into memory by scanning from
	the beginning of available memory to the end, until the first
	free space which is at least big enough to accept the data is
	found.  This space is then allocated to the data.  Any left
	over becomes a smaller, separate free space.

	If the data to be allocated is bigger than the biggest free
	space, the request cannot be met, and an error is generated.

	Compare {Best Fit}.

	(1997-06-02)

first generation

	1. <architecture> {first generation computer}.

	2. <language> {first generation language}.

first generation computer

	<architecture> A prototype computer based on {vacuum tubes}
	and other esoteric technologies.  Chronologically, any
	computer designed before the mid-1950s.  Examples include
	{Howard Aiken}'s {Mark 1} (1944), Maunchly and Eckert's
	{ENIAC} (1946), and the {IAS} computer.

	(1996-11-22)

first generation language

	Raw {machine code}.  When computers were first "programmed"
	from an input device, rather than by being rewired, they were
	fed input in the form of numbers, which they then interpreted
	as commands.  This was really low level, and a program
	fragment might look like "010307 010307".  Almost no one
	programs in machine language anymore, because translators are
	nearly trivial to write.

	(1994-12-01)

first-in first-out

	<algorithm> (FIFO, or "queue") A data structure or hardware
	buffer from which items are taken out in the same order they
	were put in.  Also known as a "shelf" from the analogy with
	pushing items onto one end of a shelf so that they fall off
	the other.  A FIFO is useful for buffering a stream of data
	between a sender and receiver which are not synchronised -
	i.e. not sending and receiving at exactly the same rate.
	Obviously if the rates differ by too much in one direction for
	too long then the FIFO will become either full ({block}ing the
	sender) or empty ({block}ing the receiver).  A {Unix} {pipe}
	is a common example of a FIFO.

	A FIFO might be (but isn't ever?) called a LILO - last-in
	last-out.  The opposite of a FIFO is a LIFO (last-in
	first-out) or "{stack}".

	(1999-12-06)

first normal form

	{database normalisation}

first-order

	Not {higher-order}.

	(1995-03-06)

first-order logic

	<language, logic> The language describing the truth of
	mathematical {formulas}.  Formulas describe properties of
	terms and have a truth value.  The following are atomic
	formulas:

	 True
	 False
	 p(t1,..tn)	where t1,..,tn are terms and p is a predicate.

	If F1, F2 and F3 are formulas and v is a variable then the
	following are compound formulas:

	 F1 ^ F2	conjunction - true if both F1 and F2 are true,

	 F1 V F2	disjunction - true if either or both are true,

	 F1 => F2	implication - true if F1 is false or F2 is
			true, F1 is the antecedent, F2 is the
			consequent (sometimes written with a thin
			arrow),

	 F1 <= F2	true if F1 is true or F2 is false,

	 F1 == F2	true if F1 and F2 are both true or both false
			(normally written with a three line
			equivalence symbol)

	 ~F1		negation - true if f1 is false (normally
			written as a dash '-' with a shorter vertical
			line hanging from its right hand end).

	 For all v . F	universal quantification - true if F is true
			for all values of v (normally written with an
			inverted A).

	 Exists v . F	existential quantification - true if there
			exists some value of v for which F is true.
			(Normally written with a reversed E).

	The operators ^ V => <= == ~ are called connectives.  "For
	all" and "Exists" are {quantifiers} whose {scope} is F.  A
	term is a mathematical expression involving numbers,
	operators, functions and variables.

	The "order" of a logic specifies what entities "For all" and
	"Exists" may quantify over.  First-order logic can only
	quantify over sets of {atomic} {propositions}.  (E.g. For all p
	. p => p).  Second-order logic can quantify over functions on
	propositions, and higher-order logic can quantify over any
	type of entity.  The sets over which quantifiers operate are
	usually implicit but can be deduced from well-formedness
	constraints.

	In first-order logic quantifiers always range over ALL the
	elements of the domain of discourse.  By contrast,
	second-order logic allows one to quantify over subsets.

	["The Realm of First-Order Logic", Jon Barwise, Handbook of
	Mathematical Logic (Barwise, ed., North Holland, NYC, 1977)].

	(2005-12-27)

First Party DMA

	{bus mastering}

fish

	(Adelaide University, Australia) 1. Another {metasyntactic
	variable}.  See {foo}.  Derived originally from the Monty
	Python skit in the middle of "The Meaning of Life" entitled
	"Find the Fish".

	2. <storage> microfiche.  A microfiche file cabinet may be
	referred to as a "fish tank".

	[{Jargon File}]

	(1994-12-01)

FISH queue

	<humour> (By analogy with {FIFO} - first-in, first-out) first
	in, still here.

	A joking way of pointing out that processing of a particular
	sequence of events or requests has stopped dead.  Also "FISH
	mode" and "FISHnet"; the latter may be applied to any network
	that is running really slowly or exhibiting extreme flakiness.

	[{Jargon File}]

	(1994-12-01)

FITNR

	({Thinking Machines, Inc.}) Fixed In the Next Release.

	A written-only notation attached to bug reports.  Often
	wishful thinking.

	[{Jargon File}]

	(1994-12-01)

FITS

	Flexible Image Transport System.  The standard data
	interchange and archive format of the astronomy community.

	(1994-12-01)

FIX

	1. <networking> {Federal Information Exchange}.

	2. <business, protocol> {Financial Information eXchange}.

	(2001-05-14)

fix

	1. <mathematics> The {fixed point} {combinator}.  Called Y in
	{combinatory logic}.  Fix is a {higher-order function} which
	returns a fixed point of its argument (which is a function).

		fix :: (a -> a) -> a
		fix f = f (fix f)

	Which satisfies the equation

		fix f = x such that f x = x.

	Somewhat surprisingly, fix can be defined as the non-recursive
	{lambda abstraction}:

		fix = \ h . (\ x . h (x x)) (\ x . h (x x))

	Since this involves self-application, it has an {infinite
	type}.  A function defined by

		f x1 .. xN = E

	can be expressed as

		f = fix (\ f . \ x1 ... \ xN . E)
		  = (\ f . \ x1 ... \xN . E)
			(fix (\ f . \ x1 ... \ xN . E))
		  = let f = (fix (\ f . \ x1 ... \ xN . E))
		    in \ x1 ... \xN . E

	If f does not occur {free} in E (i.e. it is not {recursive})
	then this reduces to simply

		f = \ x1 ... \ xN . E

	In the case where N = 0 and f is free in E, this defines an
	infinite data object, e.g.

		ones = fix (\ ones . 1 : ones)
		     = (\ ones . 1 : ones) (fix (\ ones . 1 : ones))
		     = 1 : (fix (\ ones . 1 : ones))
		     = 1 : 1 : ...

	Fix f is also sometimes written as mu f where mu is the Greek
	letter or alternatively, if f = \ x . E, written as mu x . E.

	Compare {quine}.

	[{Jargon File}]

	(1995-04-13)

	2. {bug fix}.

	(1998-06-25)

fixed disk

	<storage> A {hard disk} which is not a {removable disk}.

fixed point

	<mathematics> The fixed point of a function, f is any value, x
	for which f x = x.  A function may have any number of fixed
	points from none (e.g. f x = x+1) to infinitely many (e.g. f x
	= x).  The {fixed point combinator}, written as either "fix"
	or "Y" will return the fixed point of a function.

	See also {least fixed point}.

	(1995-04-13)

fixed-point

	<programming> A {number representation} scheme where a number,
	F is represented by an {integer} I such that F=I*R^-P, where R is
	the (assumed) {radix} of the representation and P is the (fixed)
	number of digits after the radix point.

	On computers with no {floating-point unit}, fixed-point
	calculations are significantly faster than floating-point as
	all the operations are basically integer operations.
	Fixed-point representation also has the advantage of having
	uniform density, i.e., the smallest resolvable difference of
	the representation is R^-P throughout the representable range,
	in contrast to {floating-point} representations.

	For example, in {PL/I}, FIXED data has both a {precision} and
	a scale-factor (P above).  So a number declared as 'FIXED
	DECIMAL(7,2)' has a precision of seven and a scale-factor of
	two, indicating five integer and two fractional decimal
	digits.  The smallest difference between numbers will be 0.01.

	(2006-11-15)

fixed point combinator

	<mathematics> (Y) The name used in {combinatory logic} for the
	{fixed point} function, also written as "{fix}".

	(1994-10-20)

fixed-radio access

	{Wireless Local Loop}

fixed-width

	{record}

FIXME

	<programming> A standard tag often put in {comments} near a
	piece of code that needs work.  The point of doing so is that
	a {grep} or a similar pattern-matching tool can find all such
	places quickly.  This is common in {GNU} code.  Compare {XXX}.

	[{Jargon File}]

	(2001-03-16)

fixpoint

	{fixed point}

fj

	<networking> The {country code} for Fiji.

	(1999-01-27)

Fjolnir

	<language> An Icelandic programming language for the {IBM PC}
	from the {University of Iceland}.

	[Pall Haraldsson <pallha@rhi.hi.is>].

	(1995-03-17)

fk

	<networking> The {country code} for the Falkland Islands
	(Malvinas).

	(1999-01-27)

FL

	<language> Function Level.

	John Backus's successor to {FP}, developed ca. 1985.  FL is
	{dynamically typed} and adds {higher-order functions},
	{exceptions}, {user-defined types} and other features.

	["FL Language Manual, Parts 1 & 2", J. Backus et al, IBM
	Research Report RJ 7100 (1989)].

	(1994-10-20)

F+L

	<language> Functions plus Logic.  Equational clauses within
	function definitions to solve for {logic variable} bindings.

	["Functions plus Logic in Theory and Practice", R.B.
	Kieburtz, Feb 1987, unpublished].

	(1994-10-20)

flag

	1. <programming> A variable or quantity that can take on one
	of two values; a bit, particularly one that is used to
	indicate one of two outcomes or is used to control which of
	two things is to be done.  "This flag controls whether to
	clear the screen before printing the message."  "The program
	status word contains several flag bits."  See also {hidden
	flag}, {mode bit}.

	2. {command line option}.

	[{Jargon File}]

	(1998-05-02)

flag day

	<jargon> A software change that is neither forward- nor
	backward-compatible, and which is costly to make and costly to
	reverse.  E.g. "Can we install that without causing a flag day
	for all users?"

	This term has nothing to do with the use of the word {flag} to
	mean a variable that has two values.  It came into use when a
	massive change was made to the {Multics} {time-sharing} system
	to convert from the old {ASCII} code to the new one; this was
	scheduled for Flag Day (a US holiday), June 14, 1966.

	See also {backward combatability}, {lock-in}.

	[{Jargon File}]

	(1998-01-15)

FLAIR

	<language> An early system on the {IBM 650}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-03-17)

flaky

	(Or "flakey") Subject to frequent {lossage}.  This use is of
	course related to the common slang use of the word to describe
	a person as eccentric, crazy, or just unreliable.  A system
	that is flaky is working, sort of - enough that you are
	tempted to try to use it - but fails frequently enough that
	the odds in favour of finishing what you start are low.
	Commonwealth hackish prefers {dodgy}.

	[{Jargon File}]

	(1996-01-05)

flamage

	{flame}

flame

	<messaging> To rant, to speak or write incessantly and/or
	rabidly on some relatively uninteresting subject or with a
	patently ridiculous attitude or with hostility toward a
	particular person or group of people.  "Flame" is used as a
	verb ("Don't flame me for this, but..."), a flame is a single
	flaming message, and "flamage" /flay'm*j/ the content.

	Flamage may occur in any medium (e.g. spoken, {electronic
	mail}, {Usenet} news, {web}).  Sometimes a flame
	will be delimited in text by marks such as "<flame
	on>...<flame off>".

	The term was probably independently invented at several
	different places.

	Mark L. Levinson says, "When I joined the Harvard student
	radio station (WHRB) in 1966, the terms flame and flamer were
	already well established there to refer to impolite ranting
	and to those who performed it.  Communication among the
	students who worked at the station was by means of what today
	you might call a paper-based Usenet group.  Everyone wrote
	comments to one another in a large ledger.  Documentary
	evidence for the early use of flame/flamer is probably still
	there for anyone fanatical enough to research it."

	It is reported that "flaming" was in use to mean something
	like "interminably drawn-out semi-serious discussions"
	(late-night bull sessions) at Carleton College during
	1968-1971.

	{Usenetter} Marc Ramsey, who was at {WPI} from 1972 to 1976,
	says: "I am 99% certain that the use of "flame" originated at
	WPI.  Those who made a nuisance of themselves insisting that
	they needed to use a {TTY} for "real work" came to be known as
	"flaming asshole lusers".  Other particularly annoying people
	became "flaming asshole ravers", which shortened to "flaming
	ravers", and ultimately "flamers".  I remember someone picking
	up on the Human Torch pun, but I don't think "flame on/off"
	was ever much used at WPI."  See also {asbestos}.

	It is possible that the hackish sense of "flame" is much older
	than that.  The poet Chaucer was also what passed for a wizard
	hacker in his time; he wrote a treatise on the astrolabe, the
	most advanced computing device of the day.  In Chaucer's
	"Troilus and Cressida", Cressida laments her inability to
	grasp the proof of a particular mathematical theorem; her
	uncle Pandarus then observes that it's called "the fleminge of
	wrecches."  This phrase seems to have been intended in context
	as "that which puts the wretches to flight" but was probably
	just as ambiguous in Middle English as "the flaming of
	wretches" would be today.  One suspects that Chaucer would
	feel right at home on {Usenet}.

	[{Jargon File}]

	(2001-03-11)

flame bait

	<messaging> A {Usenet} posting or other message intended to
	trigger a {flame war}, or one that invites {flames} in reply.

	[{Jargon File}]

	(1998-05-27)

flame off

	{flame on}

flame on

	<messaging, jargon> To begin or continue to {flame}.  The
	punning reference to Marvel Comics's Human Torch is no longer
	widely recognised.

	The phrase "flame on" may actually precede the flame, in which
	case "flame off" will follow it.

	See {rave}, {burble}.

	[{Jargon File}]

	(1996-10-29)

flamer

	<jargon, person> (Or "pain in the net") One who habitually
	{flames}.  Said especially of obnoxious {Usenet}
	personalities.

	[{Jargon File}]

	(1996-08-26)

flame war

	<messaging, jargon> An acrimonious dispute conducted on a
	public electronic forum such as {Usenet}.  See {flame}.

	[{Jargon File}]

	(1998-05-27)

flaming

	{flame}

FLAP

	A {symbolic mathematics} package for {IBM 360}.

	["FLAP Programmer's Manual", A.H. Morris Jr., TR-2558 (1971)
	US Naval Weapons Lab].

	[Sammet 1969, p. 506].

	[{Jargon File}]

	(1994-10-17)

flap

	1. <storage, jargon> To unload a {DECtape} (so it goes flap,
	flap, flap).  Old-time {hackers} at {MIT} tell of the days
	when the disk was device 0 and {microtapes} were 1, 2,
	etc. and attempting to flap device 0 would instead start a
	motor banging inside a cabinet near the disk.

	The term is used, by extension, for unloading any magnetic
	tape.  See also {macrotape}.  Modern {cartridge tapes} no
	longer actually flap, but the usage has remained.

	The term could well be re-applied to {DEC}'s {TK50} cartridge
	tape drive, a spectacularly misengineered contraption which
	makes a loud flapping sound, almost like an old reel-type
	lawnmower, in one of its many tape-eating failure modes.

	2. <networking> See {flapping router}.

	[{Jargon File}]

	(1997-06-17)

flapping router

	<networking> A {router} that transmits routing updates
	alternately advertising a destination network first via one
	route, then via a different route.

	Flapping routers are identified on more advanced {protocol
	analysers} such as the Network General (TM) Sniffer.

	(1999-08-24)

flarp

	/flarp/ [Rutgers University] Yet another {metasyntactic
	variable} (see {foo}).  Among those who use it, it is
	associated with a legend that any program not containing the
	word "flarp" somewhere will not work.  The legend is
	discreetly silent on the reliability of programs which *do*
	contain the magic word.

	[{Jargon File}]

Flash

	<file format, web> (Or "Shockwave Flash") A file
	format for delivering {interactive} {vector graphics} and
	animation on the {web}, developed by {Macromedia}.

	{(http://macromedia.com/software/flash/)}.

	(1998-07-07)

flash

	1. <file format> {Adobe} {Flash}.

	2. <storage> {flash memory}.

	2. <chat> A program to flood a {Unix} user's {terminal} with
	{garbage} by exploiting a {security hole} in the {talk}
	{daemon}.

	(1996-09-08)

flash drive

	<storage> Any of various kinds of device using {sold-state
	memory} ("flash memory") with an interface like a {hard disk
	drive}, often a {USB} interface.

	(2009-07-28)

Flash EPROM

	{Flash Erasable Programmable Read-Only Memory}

Flash Erasable Programmable Read-Only Memory

	<storage> (FEPROM, "flash memory") A kind of {non-volatile
	storage} device similar to {EEPROM}, but where erasing can
	only be done in blocks or the entire chip.

	In 1995 this relatively new technology started to replace
	{EPROMs} because reprogramming could be done with the chip
	installed.  At that time FEPROMs could be rewritten about 1000
	times.

	Like {EAPROM} and ferro-magnetic material, FEPROMs rely on {FN
	tunnelling}.  Some flash memory supports block erase.

	(1995-04-22)

Flash Lights Impressively

	<programming, humour> (FLI) /FLY/ A joke {assembly language}
	instruction first documented in the late 1970s in "The Hackers
	Dictionary".

	The FLI instruction was frequently referred to by engineers
	when {minicomputers} such as the DEC {PDP-8}, {PDP-11} and
	some early {microcomputers} such as the {IMSAI} and {Altair}
	had dozens of front panel lights.

	"When the computer is about to do some long I/O operation,
	stick in a FLI so the accountants won't think the machine has
	hung again."

	(2004-08-23)

flash memory

	<storage> Originally, {Flash Erasable Programmable Read-Only
	Memory} but commonly used for various kinds of {solid-state
	memory}.

	(2009-07-28)

Flash ROM

	{Flash Erasable Programmable Read-Only Memory}

flat

	1. Lacking any complex internal structure.  "That {bitty box}
	has only a flat file system, not a hierarchical one."  The verb
	form is {flatten}.  Usually used pejoratively (at least with
	respect to file systems).

	2. Said of a memory architecture like that of the {VAX} or
	{Motorola} {680x0} that is one big linear address space
	(typically with each possible value of a processor register
	corresponding to a unique address).  This is a {Good Thing}.
	The opposite is a "{segmented}" architecture like that of the
	{Intel 80x86} in which addresses are composed from a
	base-register/offset pair.  Segmented designs are generally
	considered cretinous.

	3. A flat {domain} is one where all elements except {bottom}
	are incomparable (equally well defined).  E.g. the integers.

	[{Jargon File}]

flat address space

	<architecture> The memory architecture in which any memory
	location can be selected from a single contiguous block by a
	single integer offset.

	Almost all popular {processors} have a flat address space, but
	the {Intel x86} family has a {segmented address space}.  A
	flat address space greatly simplifies programming because of
	the simple correspondence between addresses (pointers) and
	integers.

	(1996-09-10)

flat ASCII

	<text> (Or "plain ASCII") Said of a text file that contains
	only 7-bit {ASCII} characters and uses only ASCII-standard
	{control characters} (that is, has no embedded codes specific
	to a particular text formatter {markup} language, or output
	device, and no {meta}-characters).

	Compare {flat file}.

	[{Jargon File}]

	(1996-01-26)

flat file

	<operating system, storage> A single file containing {flat
	ASCII} representing or encoding some structure, e.g. a
	{database}, tree or network.

	Flat files can be processed with general purpose tools such as
	{Perl} and {text editors} but are less efficient than {binary
	files} if they must be {parsed} repeatedly by a program.  Flat
	files are more portable between different {operating systems}
	and {application programs} than binary files, and are more
	easily transmitted in {electronic mail}.

	See also {flatten}, {sharchive}.

	[{Jargon File}]

	(1996-01-26)

flat file database

	<database> A {database} containing a single {table}, stored in
	a single {flat file}, often in a human-readable format such as
	{comma-separated values} or fixed-width columns.

	(2008-06-16)

flatten

	To remove structural information, especially to filter
	something with an implicit tree structure into a simple
	sequence of leaves; also tends to imply mapping to
	{flat ASCII}.  "This code flattens an expression with
	parentheses into an equivalent {canonical} form."

	[{Jargon File}]

flat thunk

	<programming> A software mechanism that allows a {Win32}
	application to load and call a 16-bit {DLL}, or a 16-bit
	application to load and call a Win32 DLL.

	See also {generic thunk}, {universal thunk}.

	(1999-04-05)

Flavors

	<language> A {Lisp} variant for the {LISP Machine}, with
	{object-oriented} features, developed by D. Weinreb and D.A. Moon
	<moon@cambridge.apple.com> in 1980.  "{Classes}" were called
	Flavors in the language.

	Though the Flavors design was superseded (notably by the {Common
	LISP} {CLOS} facility), the term "flavor" persisted as a general
	synonym for "class".

	["Object-Oriented Programming with Flavors", D.A. Moon, SIGPLAN
	Notices 21(11):1-8 (OOPSLA '86), Nov 1986].

	(1994-12-01)

Fleng

	A parallel logic language.

	["Massively Parallel Implementation of Flat GHC on the
	Connection Machine", M. Nilsson, Proc Intl Conf on 5th Gen
	Comp Sys, 1988, pp.1031-1040].

FLEX

	<language> 1. {Faster LEX}.

	2. A {real-time} language for dynamic environments.

	["FLEX: Towards Flexible Real-Time Programs", K. Lin et al,
	Computer Langs 16(1):65-79, Jan 1991].

	3. An early {object-oriented} language developed for the
	{FLEX} machine by {Alan Kay} in about 1967.  The FLEX language
	was a simplification of {Simula} and a predecessor of
	{Smalltalk}.

	(1995-03-29)

Flex

	<software, hardware> A system developed by Ian Currie (Iain?)
	at the (then) {Royal Signals and Radar Establishment} at
	Malvern in the late 1970s.  The hardware was custom and
	{microprogrammable}, with an {operating system}, (modular)
	{compiler}, editor, {garbage collector} and {filing system}
	all written in {Algol-68}.  Flex was also re-implemented on
	the {Perq}(?).

	[I. F. Currie and others, "Flex Firmware", Technical Report,
	RSRE, Number 81009, 1981].

	[I. F. Currie, "In Praise of Procedures", RSRE, 1982].

	(1997-11-17)

Flex++

	{GNU}'s {Flex} {scanner generator} retargeted to {C++} by
	Alain Coetmeur <coetmeur@icdc.fr>.  Version 3.0.

	{(ftp://iecc.com/pub/file/flex++.tar.gz)}.
	{(ftp://iecc.com/pub/file/misc++.tar.gz)}.
	{(ftp://ftp.th-darmstadt.de/pub/programming/languages/C++/tools/flex++-3.0.tar.gz)}.

	(1993-07-08)

Flex 2

	<language> A {preprocessor} designed to make {Fortran} look
	more like {Pascal}, developed in about 1980.

	[DECUS?]

	(2004-08-23)

FLI

	{Flash Lights Impressively}.

flib

	/flib/ ({WPI}) A meta-number, said to be an integer between 3
	and 4.

	See {grix}, {N}.

	(1995-01-31)

FLIC

	Functional Language Intermediate Code.

	An {intermediate language} used in the {Chalmers} {LML}
	compiler.

	["FLIC - A Functional Language Intermediate Code", S. Peyton
	Jones <simonpj@dcs.gla.ac.uk> et al, RR 148, U Warwick, Sep
	1989].

	(1995-01-31)

FLIP

	1. An early {assembly language} on the {G-15}.

	[Listed in CACM 2(5):16 (May 1959)].

	2. ["FLIP User's Manual", G. Kahn, TR 5, INRIA 1981].

	3. Formal LIst Processor.

	An early language for {pattern-matching} on {Lisp} structures,
	similar to {CONVERT}.

	["FLIP, A Format List Processor", W. Teitelman, Memo
	MAC-M-263, MIT 1966].

	(1995-01-31)

Flip Chip Pin Grid Array

	<hardware, processor> (FC-PGA) The package of certain {Intel}
	{Celeron} and {Pentium III} processors.  FC-PGA processors fit
	into {Socket 370} {motherboard} sockets.

	The Flip Chip {Pin Grid Array} is similar to {PPGA}, except
	that the {silicon} {core} is facing up and the {heat slug} is
	exposed.

	FC-PGA packaging is used by Pentium III processors, and
	Celeron 566 processors onward.  Earlier Celeron processors
	used {PPGA} packaging.

	Celeron processors are also available in {Slot 1} {SEPP}
	packaging and Pentium III processors in Slot 1 {SECC2}
	packaging.

	Adapters are available to allow a PPGA Celeron to plug into
	a Slot 1 connector.

	(2000-08-26)

flip-flop

	<hardware> A digital logic circuit that can be in one of two
	states which it switches (or "{toggles}") between under
	control of its inputs.  It can thus be considered as a one bit
	memory.  Three types of flip-flop are common: the {SR
	flip-flop}, the {JK flip-flop} and the {D-type flip-flop} (or
	{latch}).

	Early literature refers to the "Eccles-Jordan circuit" and the
	"Eccles-Jordan binary counter", using two {vacuum tubes} as
	the active (amplifying) elements for each {bit} of information
	storage.  Later implementations using {bipolar transistors}
	could operate at up to 20 million state transitions per second
	as early as 1963.

	(1995-11-11)

flippy

	<storage> /flip'ee/ A single-sided {floppy disk} altered for
	double-sided use by addition of a second write-notch, so
	called because it must be flipped over for the second side
	(the "flip side") to be accessible.  Used in the {Commodore
	1541} and elsewhere.  No longer common.

	[{Jargon File}]

	(2000-03-07)

FLIP-SPUR

	<language> An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(2004-09-14)

float

	<programming> The usual {keyword} for the {floating-point}
	{data type}, e.g. in the {C} programming language.  The
	keyword "double" usually also introduces a floating-point
	type, but with twice the {precession} of a float.

	(2008-06-13)

floater

	<programming> A report in a {bug tracking} system that
	"floats" at the top of the queue but never gets assigned to a
	developer, maybe because there is a {workaround}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-04-25)

floating-point

	<programming, mathematics> A number representation consisting
	of a {mantissa}, M, an {exponent}, E, and a {radix} (or
	"base").  The number represented is M*R^E where R is the
	radix.

	In science and engineering, {exponential notation} or
	{scientific notation} uses a radix of ten so, for example, the
	number 93,000,000 might be written 9.3 x 10^7 (where ^7 is
	superscript 7).

	In computer hardware, floating point numbers are usually
	represented with a radix of two since the mantissa and
	exponent are stored in binary, though many different
	representations could be used.  The {IEEE} specify a
	{standard} representation which is used by many hardware
	floating-point systems.  Non-zero numbers are {normalised} so
	that the {binary point} is immediately before the most
	significant bit of the mantissa.  Since the number is
	non-zero, this bit must be a one so it need not be stored.  A
	fixed "bias" is added to the exponent so that positive and
	negative exponents can be represented without a sign bit.
	Finally, extreme values of exponent (all zeros and all ones)
	are used to represent special numbers like zero and positive
	and negative {infinity}.

	In programming languages with {explicit typing},
	floating-point types are introduced with the keyword "float"
	or sometimes "double" for a higher precision type.

	See also {floating-point accelerator}, {floating-point unit}.

	Opposite: {fixed-point}.

	(2008-06-13)

floating-point accelerator

	<hardware> (FPA) Additional hardware to perform functions on
	{floating point} numbers such as addition, multiplication,
	{logarithms}, {exponentials}, {trigonometric functions} and
	various kinds of {rounding} and error detection.  A floating
	point accelerator often functions as a {co-processor} to the
	{CPU}.

	The term "floating-point accelerator" suggests a physically
	larger system, often an extra circuit board, whereas a
	"floating-point unit" is probably a single chip or even part
	of a chip.

	(1994-12-01)

Floating-Point SPECbaserate

	{SPECrate_base_fp92}

Floating-Point SPECbaseratio

	{SPECbase_fp92}

Floating-Point SPECrate

	{SPECrate_fp92}

Floating-Point SPECratio

	{SPECfp92}

floating point underflow

	{underflow}

Floating-Point Unit

	<hardware> (FPU) A {floating-point accelerator}, usually in a
	single {integrated circuit}, possible on the same IC as the
	{central processing unit}.

	(1994-10-27)

floating underflow

	{underflow}

F-Logic

	An {object-oriented} language and {deductive database} system.

	["F-Logic: A Higher-Order Language for Reasoning about
	Objects, Inheritance and Scheme", ACM SIGMOD May 1989,
	pp. 134-146].

	(1994-10-20)
flood

	<chat> On a real-time network (whether at the level of
	{TCP/IP}, or at the level of, say, {IRC}), to send a huge
	amount of data to another user (or a group of users, in a
	channel) in an attempt to annoy him, lock his terminal, or to
	overflow his network buffer and thus lose his network
	connection.

	The basic principles of flooding are that you should have
	better network {bandwidth} than the person you're trying to
	flood, and that what you do to flood them (e.g., generate ping
	requests) should be *less* resource-expensive for your machine
	to produce than for the victim's machine to deal with.  There
	is also the corrolary that you should avoid being caught.

	Failure to follow these principles regularly produces
	hilarious results, e.g., an IRC user flooding himself off the
	network while his intended victim is unharmed, the attacker's
	flood attempt being detected, and him being banned from the
	network in semi-perpetuity.

	See also {pingflood}, {clonebot} and {botwar}.

	[{Jargon File}]

	(1997-04-07)

FLOP

	1. An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-14)

	2. Erroneous singular of {FLOPS}.

	(2005-06-17)

Floppy

	<programming, tool> A {Fortran} coding convention checker.
	A later version can generate {HTML}.

	See also {Flow}.

	ffccc posted to comp.sources.misc volume 12.

	(1996-08-23)

floppy

	{floppy disk}

floppy disc

	<spelling> It's "{floppy disk}", not like "{compact disc}".

	(2004-11-08)

floppy disk

	<hardware, storage> (Or "floppy", "diskette") A small,
	portable plastic disk coated in a magnetisable substance used
	for storing computer data, readable by a computer with a
	floppy disk drive.  The physical size of disks has shrunk from
	the early 8 inch, to 5 1/4 inch ("minifloppy") to 3 1/2 inch
	("microfloppy") while the data capacity has risen.

	These disks are known as "floppy" disks (or diskettes) because
	the disk is flexible and the read/write head is in physical
	contact with the surface of the disk in contrast to "{hard
	disks}" (or winchesters) which are rigid and rely on a small
	fixed gap between the disk surface and the heads.  Floppies
	may be either single-sided or double-sided.

	3.5 inch floppies are less floppy than the larger disks
	because they come in a stiff plastic "envelope" or case, hence
	the alternative names "stiffy" or "crunchy" sometimes used to
	distinguish them from the floppier kind.

	The following formats are used on {IBM PCs} and elsewhere:

	 Capacity  Density  Width
	  360K	   double   5.25"
	  720K	   double   3.5"
	  1.2M	   high	    5.25"
	 1.44M	   high	    3.5"

	Double denisty and high density are usually abbreviated DD and
	HD.  HD 3.5 inch disks have a second hole in the envelope and
	an overlapping "HD" logo.

	(1996-08-23)

floppy disk drive

	{disk drive}

floppy drive

	{disk drive}

FLOPS

	{Floating-point} operations per second.

Flops

	<benchmark> The {MFLOPS} {benchmark}.

floptical

	<hardware, storage> (From "floppy disk" and "optical") A
	{floppy disk} which uses an optical tracking mechanism to
	improve the positioning accuracy of an ordinary magnetic head,
	thereby allowing more tracks and greater density.

	{Storage media FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/arch-storage/part1/faq.html)}.

	(1995-03-15)

Flow

	<tool> A companion utility to {Floppy} by Julian James Bunn
	<julian@vxcrna.cxern.ch>.  Flow allows the user to produce
	various reports on the structure of {Fortran 77} code, such as
	{flow diagrams} and common block tables.  It runs under {VMS},
	{Unix}, {CMS}.

	Posted to comp.sources.misc volume 31.

	(1995-03-14)

flow chart

	<programming> An archaic form of visual control-flow
	specification employing arrows and "speech balloons" of
	various shapes.

	Hackers never use flow charts, consider them extremely silly,
	and associate them with {COBOL} programmers, {card wallopers},
	and other lower forms of life.  This attitude follows from the
	observations that flow charts (at least from a hacker's point
	of view) are no easier to read than code, are less precise,
	and tend to fall out of sync with the code (so that they
	either obfuscate it rather than explaining it, or require
	extra maintenance effort that doesn't improve the code).

	See also {Program Design Language}.

	[{Jargon File}]

	(1994-12-01)

flow control

	<communications, protocol> The collection of techniques used
	in serial communications to stop the sender sending data until
	the receiver can accept it.  This may be either {software flow
	control} or {hardware flow control}.  The receiver typically
	has a fixed size {buffer} into which received data is written
	as soon as it is received.  When the amount of buffered data
	exceeds a "high water mark", the receiver will signal to the
	transmitter to stop transmitting until the process reading the
	data has read sufficient data from the buffer that it has
	reached its "low water mark", at which point the receiver
	signals to the transmitter to resume transmission.

	(1995-03-22)

flower key

	{feature key}

FLOW-MATIC or FLOWMATIC

	(Originally B-0) Possibly the first English-like {DP}
	language.  Developed at Remington Rand in 1958 for the
	{UNIVAC} I.

	[Sammet 1969, pp. 316-324].

	(1994-10-24)

flow of control

	{control flow}

FLPL

	Fortran List Processing Language.  A package of {Fortran}
	subroutines for handling lists by H. Gelernter et al, ca 1960.

	[Sammet 1969, p. 388].

	(1994-10-24)

FLUB

	<language> The {abstract machine} for {bootstrapping}
	{STAGE2}.

	[Mentioned in Machine Oriented Higher Level Languages, W. van
	der Poel, N-H 1974, p. 271].

	(1995-03-13)

Fluegelman, Andrew

	{Andrew Fluegelman}

flush

	<data> To delete something, usually superfluous, or to abort
	an operation.

	"Flush" was standard {ITS} terminology for aborting an output
	operation.  One spoke of the text that would have been
	printed, but was not, as having been flushed.  It is
	speculated that this term arose from a vivid image of flushing
	unwanted characters by hosing down the internal output buffer,
	washing the characters away before they could be printed.

	Compare {drain}.

	2. To force temporarily buffered data to be written to more
	permanent memory.  E.g. flushing buffered disk writes to disk,
	as with {C}'s {standard I/O} library "fflush(3)" call.  This
	sense was in use among {BLISS} programmers at {DEC} and on
	{Honeywell} and {IBM} machines as far back as 1965.  Another
	example of this usage is flushing a {cache} on a {context
	switch} where modified data stored in the cace which belongs
	to one processes must be written out to main memory so that
	the cache can be used by another process.

	[{Jargon File}]

	(2005-07-18)

Flynn's taxonomy

	<architecture> A classification of computer architectures
	based on the number of streams of instructions and data:

	{Single instruction/single data} stream (SISD) - a sequential
	computer.

	Multiple instruction/single data stream (MISD) - unusual.

	{Single instruction/multiple data} streams (SIMD) - e.g. an
	{array processor}.

	{Multiple instruction/multiple data} streams (MIMD) - multiple
	autonomous processors simultaneously executing different
	instructions on different data.

	[Flynn, M. J., "Some Computer Organizations and Their
	Effectiveness", IEEE Transactions on Computing C-21, No. 9,
	Sep 1972, pp 948-960].

	["A Survey of Parallel Computer Architectures", Duncan, Ralph,
	IEEE Computer, Feb 1990, pp 5-16].

	(2003-05-29)

fly page

	{banner}

Flyspeck 3

	<humour> A standard name for any {font} that is so tiny as to
	be unreadable, by analogy with names like "Helvetica 10" for
	10-point Helvetica.  Legal boilerplate is usually printed in
	Flyspeck 3.

	(1994-11-08)

flytrap

	{firewall machine}

FM

	1. <communications> {Frequency Modulation}.

	2. <jargon> Fucking Manual, a back-formation from {RTFM}.
	Used to refer to the manual itself.

	3. <jargon> Fucking Magic, in the sense of {black magic}.

	(2001-04-30)

fm

	<networking> The {country code} for the Federated States of
	Micronesia.

	Heavily used for {vanity domains} by FM radio stations.

	(1999-01-27)

FMPL

	{Frobozz Magic Programming Language}

FMQ

	A {BNF}-based {paser generator} with an error corrector
	generator, by Jon Mauney.

	{(ftp://csczar.ncsu.edu/)}.

	(1990-03-31)

FMS

	{Flexible Manufacturing System} (factory automation).

FMV

	{video}

FNAL

	Fermi National Accelerator Laboratory (Illinois, USA).

FNC

	{Federal Networking Council}

fnord

	1. <convention> A word used in {electronic mail} and {news}
	messages to tag utterances as surrealist mind-play or humour,
	especially in connection with {Discordianism} and elaborate
	conspiracy theories.  "I heard that David Koresh is sharing an
	apartment in Argentina with Hitler. (Fnord.)"  "Where can I
	fnord get the Principia Discordia from?"

	2. <programming> A {metasyntactic variable}, commonly used by
	hackers with ties to {Discordianism} or the {Church of the
	SubGenius}.

	The word "fnord" was invented in the "Illuminatus!" trilogy by
	Robert Shea and Robert Anton Wilson.

	[{Jargon File}]

	(1995-02-28)

FN tunnelling

	{Fowler-Nordheim tunnelling}

fo

	<networking> The {country code} for the Faroe Islands.

	(1999-01-27)

FOAD

	<chat> fuck off and die.

	(1998-01-18)

FOAF

	[{Usenet}] Friend Of A Friend.  The source of an unverified,
	possibly untrue story.  This term was not originated by
	hackers (it is used in Jan Brunvand's books on urban
	folklore), but is much better recognised on {Usenet} and
	elsewhere than in mainstream English.

	[{Jargon File}]

FOCAL

	1. FOrmula CALculator.

	An interactive system written by Rick Merrill of {DEC} in 1969
	for {PDP-5} and {PDP-8}.  It was a descendant of {AID}/{JOSS}.

	Versions: FOCAL-69, FOCAL-1971, FOCAL-11 (for {PDP-11} under
	{RT-11}).

	(1994-12-21)

	2. Forty-One CAlculator Language.

	The programming language of the HP-41 calculator line.

	(1994-12-21)

FOCL

	An {expert system shell} and {backward chaining} rule
	{interpreter} for the {Macintosh}.

	{(ftp://ics.uci.edu/pub/machine-learning-programs/KR-FOCL-ES.cpt.hqx)}.

	E-mail: <pazzani@ics.uci.edu>.

	(1994-12-21)

FOCUS

	<database, language> A hierarchical {database} language from
	{Information Builders, Inc.}

	(1994-12-21)

focus group

	<product> An event where market researchers meet (potential)
	users of a product to try to plan how to improve it.

	(1999-02-24)

FOD

	/fod/ [Abbreviation for "Finger of Death", originally a
	spell-name from fantasy gaming] To terminate with extreme
	prejudice and with no regard for other people.  From {MUDs}
	where the wizard command "FOD <player>" results in the
	immediate and total death of <player>, usually as punishment
	for obnoxious behaviour.  This usage migrated to other
	circumstances, such as "I'm going to fod the process that is
	burning all the cycles."  Compare {gun}.

	In aviation, FOD means Foreign Object Damage, e.g. what happens
	when a jet engine sucks up a rock on the runway or a bird in
	flight.  Finger of Death is a distressingly apt description of
	what this generally does to the engine.

	[{Jargon File}]

FOIL

	File Oriented Interpretive Language.  CAI language.

	["FOIL - A File Oriented Interpretive Language",
	J.C. Hesselbart, Proc ACM 23rd National Conf (1968)].

FoIP

	{Fax over IP}

FOIRL

	{Fiber Optic InterRepeater Link}

fold case

	{case sensitivity}

folder

	{directory}

FOLDOC

	{Free On-line Dictionary of Computing}

followup

	On {Usenet}, a {posting} generated in response to another
	posting (as opposed to a {reply}, which goes by e-mail rather
	than being broadcast).  Followups include the ID of the
	{parent message} in their headers; smart news-readers can use
	this information to present {Usenet} news in "conversation"
	sequence rather than order-of-arrival.  See {thread}.

	[{Jargon File}]

font

	<text> A set of {glyphs} ({images}) representing the
	{characters} from some particular {character set} in a
	particular size and {typeface}.  The image of each character
	may be encoded either as a {bitmap} (in a {bitmap font}) or by
	a higher-level description in terms of lines and areas (an
	{outline font}).

	There are several different computer representations for
	fonts, the most widely known are {Adobe Systems, Inc.}'s
	{PostScript} font definitions and {Apple}'s {TrueType}.
	{Window systems} can display different fonts on the screen and
	print them.

	[Other types of font?]

	(2001-04-27)

fontology

	({XEROX PARC}) The body of knowledge dealing with the
	construction and use of new {fonts} (e.g. for window systems
	and typesetting software).  It has been said that fontology
	recapitulates file-ogeny.

	Unfortunately, this reference to the embryological dictum
	that "Ontogeny recapitulates phylogeny" is not merely a joke.
	On the Macintosh, for example, System 7 has to go through
	contortions to compensate for an earlier design error that
	created a whole different set of abstractions for fonts
	parallel to "files" and "folders" - ESR

	[{Jargon File}]

	(1994-12-01)

foo

	<jargon> /foo/ A sample name for absolutely anything,
	especially programs and files (especially {scratch files}).
	First on the standard list of {metasyntactic variables} used
	in {syntax} examples.  See also {bar}, {baz}, {qux}, {quux},
	{corge}, {grault}, {garply}, {waldo}, {fred}, {plugh},
	{xyzzy}, {thud}.

	The etymology of "foo" is obscure.  When used in connection
	with "bar" it is generally traced to the WWII-era Army slang
	acronym {FUBAR}, later bowdlerised to {foobar}.

	However, the use of the word "foo" itself has more complicated
	antecedents, including a long history in comic strips and
	cartoons.

	"FOO" often appeared in the "Smokey Stover" comic strip by
	Bill Holman.  This surrealist strip about a fireman appeared
	in various American comics including "Everybody's" between
	about 1930 and 1952.  FOO was often included on licence plates
	of cars and in nonsense sayings in the background of some
	frames such as "He who foos last foos best" or "Many smoke but
	foo men chew".

	Allegedly, "FOO" and "BAR" also occurred in Walt Kelly's
	"Pogo" strips.  In the 1938 cartoon "The Daffy Doc", a very
	early version of Daffy Duck holds up a sign saying "SILENCE IS
	FOO!".  Oddly, this seems to refer to some approving or
	positive affirmative use of foo.  It has been suggested that
	this might be related to the Chinese word "fu" (sometimes
	transliterated "foo"), which can mean "happiness" when spoken
	with the proper tone (the lion-dog guardians flanking the
	steps of many Chinese restaurants are properly called "fu
	dogs").

	Earlier versions of this entry suggested the possibility that
	hacker usage actually sprang from "FOO, Lampoons and Parody",
	the title of a comic book first issued in September 1958, a
	joint project of Charles and Robert Crumb.  Though Robert
	Crumb (then in his mid-teens) later became one of the most
	important and influential artists in underground comics, this
	venture was hardly a success; indeed, the brothers later
	burned most of the existing copies in disgust.  The title FOO
	was featured in large letters on the front cover.  However,
	very few copies of this comic actually circulated, and
	students of Crumb's "oeuvre" have established that this title
	was a reference to the earlier Smokey Stover comics.

	An old-time member reports that in the 1959 "Dictionary of the
	TMRC Language", compiled at {TMRC} there was an entry that
	went something like this:

	FOO: The first syllable of the sacred chant phrase "FOO MANE
	PADME HUM."  Our first obligation is to keep the foo counters
	turning.

	For more about the legendary foo counters, see {TMRC}.  Almost
	the entire staff of what became the {MIT} {AI LAB} was
	involved with TMRC, and probably picked the word up there.

	Another correspondant cites the nautical construction
	"foo-foo" (or "poo-poo"), used to refer to something
	effeminate or some technical thing whose name has been
	forgotten, e.g. "foo-foo box", "foo-foo valve".  This was
	common on ships by the early nineteenth century.

	Very probably, hackish "foo" had no single origin and derives
	through all these channels from Yiddish "feh" and/or English
	"fooey".

	[{Jargon File}]

	(1998-04-16)

foobar

	<jargon> Another common {metasyntactic variable}; see {foo}.
	Hackers do *not* generally use this to mean {FUBAR} in either
	the slang or jargon sense.

	According to a german correspondent, the term was coined
	during WW2 by allied troops who could not pronounce the german
	word "furchtbar" (horrible, terrible, awful).

	[{Jargon File}]

	(2003-07-03)

foogol

	A tiny {ALGOL}-like language by Per Lindberg, based on the
	{VALGOL} I compiler, G.A. Edgar, DDJ May 1985.  Runs on
	{vaxen}.  Posted to comp.sources.Unix archive volume 8.

	{(ftp://ftp.wustl.edu/systems/amiga/fish/fish/ff066)}.

FOOL

	Fool's Lisp.  A small {Scheme} {interpreter}.

	{(ftp://scam.berkeley.edu/src/local/fools.tar.Z)}.

	(1994-10-04)

fool file

	<jargon> A term found on {Usenet} for a notional repository of
	all the most dramatically and abysmally stupid utterances
	ever.  An entire subgenre of {sig blocks} consists of the
	header "From the fool file:" followed by some quote the poster
	wishes to represent as an immortal gem of dimwittery; for this
	usage to be really effective, the quote has to be so obviously
	wrong as to be laughable.  More than one {Usenetter} has
	achieved an unwanted notoriety by being quoted in this way.

	(2001-01-05)

Fools' Lisp

	A small {Scheme} {interpreter} by Jonathan Lee
	<jonathan@scam.berkeley.edu>.  Version 1.3.2 is R4RS
	conformant.  It runs on {Sun-3}, {Sun-4}, {Decstation}, {VAX}
	({Ultrix}), {Sequent}, {Apollo}.

	{(ftp://scam.berkeley.edu/src/local/fools.tar.Z)}.

	(1991-10-31)

Foonly

	1. The {PDP-10} successor that was to have been built by the
	Super Foonly project at the {Stanford Artificial Intelligence
	Laboratory} along with a new operating system.  The intention
	was to leapfrog from the old DEC {time-sharing} system SAIL
	was then running to a new generation, bypassing TENEX which at
	that time was the {ARPANET} {standard}.  {ARPA} funding for
	both the Super Foonly and the new operating system was cut in
	1974.  Most of the design team went to DEC and contributed
	greatly to the design of the PDP-10 model KL10.

	2. The name of the company formed by Dave Poole, one of the
	principal Super Foonly designers, and one of hackerdom's more
	colourful personalities.  Many people remember the parrot
	which sat on Poole's shoulder and was a regular companion.

	3. Any of the machines built by Poole's company.  The first
	was the F-1 (a.k.a.  Super Foonly), which was the
	computational engine used to create the graphics in the movie
	"TRON".  The F-1 was the fastest PDP-10 ever built, but only
	one was ever made.  The effort drained Foonly of its financial
	resources, and the company turned toward building smaller,
	slower, and much less expensive machines.  Unfortunately,
	these ran not the popular {TOPS-20} but a TENEX variant called
	Foonex; this seriously limited their market.  Also, the
	machines shipped were actually wire-wrapped engineering
	prototypes requiring individual attention from more than
	usually competent site personnel, and thus had significant
	reliability problems.  Poole's legendary temper and
	unwillingness to suffer fools gladly did not help matters.  By
	the time of the Jupiter project cancellation in 1983, Foonly's
	proposal to build another F-1 was eclipsed by the {Mars}, and
	the company never quite recovered.  See the {Mars} entry for
	the continuation and moral of this story.

	[{Jargon File}]

FOOP

	OBJ2 plus object-orientation.  "Extensions and Foundations for
	Object-Oriented Programming", J. Goguen et al, in Research
	Directions in Object-Oriented Programming, B. Shriver et al
	eds, MIT Press 1987.

foot-net

	{sneakernet}

footprint

	1. <jargon, hardware> The floor or desk area taken up by a
	piece of hardware.

	2. <jargon, storage> The amount of {disk} or {RAM} taken up by
	a program or file.

	3. ({IBM}) The {audit trail} left by a crashed program (often
	"footprints").

	See also {toeprint}.

	[{Jargon File}]

	(1995-04-25)

for

	{for loop}

fora

	{forum}

FORC

	Early system on IBM 704.  Listed in CACM 2(5):16 (May 1959).

Force

	A {dBASE} dialect for {MS-DOS}.

ForceOne

	A programming language by Andrew K. Wright.

	["Polymorphism in the Compiled Language ForceOne",
	G.V. Cormack et al, Proc 20th Annual Hawaii Intl Conf on
	System Sciences, 1987, pp.284-292].

	["Design of the Programming Language ForceOne", A.K. Wright,
	MS Thesis, U Waterloo 1987].

	(1994-10-24)

ForceTwo

	An unofficial successor to {ForceOne} by Andrew K. Wright.

foreground

	(Unix) On a {time-sharing} system, a task executing in
	foreground is one able to accept input from and return output
	to the user in contrast to one running in the {background}.
	Nowadays this term is primarily associated with {Unix}, but it
	appears first to have been used in this sense on {OS/360}.
	Normally, there is only one foreground task per terminal (or
	terminal window).  Having multiple processes simultaneously
	reading the keyboard is confusing.

	[{Jargon File}]

	(1994-10-24)

Foreign eXchange Office

	<communications> (FXO) An analog telephone plug on a handset
	that receives {POTS} service from the telephone exchange
	("central office") via a {Foreign eXchange Subscriber} socket
	and provides on-hook/off-hook indication to the exchange.

	(2008-01-17)

Foreign eXchange Subscriber

	<communications> (FXS) A socket that provides analog telephone
	service ({POTS}) from the telephone exchange ("central
	office") to a handset with an {Foreign eXchange Office} plug.
	The socket provides {dial tone}, power and a ring signal.

	(2008-01-17)

foreign key

	<database> A {column} in a database {table} containing values
	that are also found in some {primary key} column (of a
	different table).  By extension, any reference to entities of
	a different type.

	Some {RDBMSs} allow a column to be explicitly labelled as a
	foreign key and only allow values to be inserted if they
	already exist in the relevant primary key column.

	[Is it still a foreign key if the primary key is in a different
	column in the __same__ table?]

	(2005-01-14)

Foresight

	<graphics, tool> A software product from {Nu Thena} providing
	graphical modelling tools for high level system design and
	{simulation}.

	(1994-10-24)

for free

	Said of a capability of a programming language or hardware
	equipment that is available by its design without needing
	cleverness to implement: "In APL, we get the matrix operations
	for free."  "And owing to the way revisions are stored in this
	system, you get revision trees for free."  The term usually
	refers to a serendipitous feature of doing things a certain
	way (compare {big win}), but it may refer to an intentional
	but secondary feature.

	[{Jargon File}]

	(1994-12-14)

fork

	<operating system> A {Unix} {system call} used by a {process}
	(the "parent") to make a copy (the "child") of itself.  The
	child process is identical to the parent except it has a
	different {process identifier} and a zero return value from
	the fork call.  It is assumed to have used no resources.

	A fork followed by an {exec} can be used to start a different
	process but this can be inefficient and some later Unix
	variants provide {vfork} as an alternative mechanism for this.

	See also {fork bomb}.

	(1996-12-08)

fork bomb

	<programming> A particular species of {wabbit} that can be
	written in one line of {C}:

		main() {for(;;)fork();}

	or {shell}:

		$0 & $0 &

	on any {Unix} system, or occasionally created by an egregious
	coding bug.  A fork bomb process "explodes" by {recursive}ly
	spawning copies of itself using the {Unix} {system call}
	"{fork}(2)".  Eventually it eats all the process table entries
	and effectively wedges the system.  Fortunately, fork bombs
	are relatively easy to spot and kill, so creating one
	deliberately seldom accomplishes more than to bring the just
	wrath of the {gods} down upon the perpetrator.

	See also {logic bomb}.

	[{Jargon File}]

	(1994-12-14)

forked

	<jargon> (Unix; probably after "fucked") Terminally slow, or
	dead.  Originated when one system was slowed to a snail's pace
	by an inadvertent {fork bomb}.

	[{Jargon File}]

	(1994-12-14)

for loop

	<programming> A {loop} construct found in many {procedural
	languages} which repeatedly executes some instructions while a
	condition is true.

	In {C}, the for loop is written in the form;

	 for (INITIALISATION; CONDITION; AFTER)
	   STATEMENT;

	where INITIALISATION is an expression that is evaluated once
	before the loop, CONDITION is evaluated before each iteration
	and the loop exits if it is false, AFTER is evaluated after
	each iteration, and STATEMENT is any statement, including a
	{compound statement} within braces "{..}", that is executed if
	CONDITION is true.

	For example:

	 int i;
	 for (i = 0; i < 10; i++)
	 {
	     printf("Hello\n");
	 }

	prints "Hello" 10 times.

	Other languages provide a more succinct form of "for"
	statement specifically for iterating over {arrays} or {lists}.
	E.g., the {Perl} code,

	 for my $task (@tasks)
	 {
	     postpone($task);
	 }

	calls function "postpone()" repeatedly, setting $task to each
	element of the "@tasks" array in turn.  This avoids
	introducing temporary index variables like "i" in the previous
	example.

	The for loop is an alternative way of writing a {while loop}
	that is convenient because the loop control logic is collected
	in a single place.  It is also closely related to the {repeat
	loop}.

	(2009-10-07)

FORM

	<mathematics, tool> A system written by Jos Vermaseren
	<t68@nikhefh.nikhef.nl> in 1989 for fast handling of very
	large-scale {symbolic mathematics} problems.  FORM is a
	descendant of {Schoonschip} and is available for many
	{personal computers} and {workstations}.

	{(ftp://acm.princeton.edu/)}, {(ftp://nikhefh.nikhef.nl/)}.

	Mailing list: <form@can.nl>.

	(1995-04-12)

FORMAC

	FORmula MAnipulation Compiler.  J. Sammet & Tobey, IBM Boston
	APD, 1962.  An extension of {Fortran} for {symbolic
	mathematics}.  Versions: PL/I-FORMAC and FORMAC73.

	["Introduction to FORMAC", J.E. Sammet et al, IEEE Trans Elec
	Comp (Aug 1964)].

	[Sammet 1969, pp. 474-491].

FORMAL

	1. FORmula MAnipulation Language.

	An early {Fortran} extension for {symbolic mathematics}.

	["FORMAL, A Formula Manipulation Language", C.K. Mesztenyi,
	Computer Note CN-1, CS Dept, U Maryland (Jan 1971)].

	2.  A data manipulation language for nonprogrammers from {IBM}
	{LASC}.

	["FORMAL: A Forms-Oriented and Visual-Directed Application
	System", N.C. Shu, IEEE Computer 18(8):38-49 (1985)].

	(1994-12-06)

formal argument

	<programming> (Or "parameter") A name in a {function} or
	{subroutine} definition that is replaced by, or bound to, the
	corresponding {actual argument} when the function or
	subroutine is called.  In many languages formal arguments
	behave like {local variables} which get initialised on entry.

	See: {argument}.

	(2002-07-02)

Formal Description Technique

	<specification, protocol> (FDT) A {formal method} for
	developing telecomunications services and {protocols}.  FDTs
	range from abstract to implementation-oriented descriptions.
	All FDTs offer the means for producing unambiguous
	descriptions of {OSI} services and {protocols} in a more
	precise and comprehensive way than {natural language}
	descriptions.  They provide a foundation for analysis and
	verification of a description.  The target of analysis and
	verification may vary from abstract properties to concrete
	properties.  Natural language descriptions remain an essential
	adjunct to formal description, enabling an unfarmiliar reader
	to gain rapid insight into the structure and function of
	services and protocols.

	Examples of FDTs are {LOTOS}, {Z}, {SDL}, and {Estelle}.

	[ISO/IEC DTR10167: "Guidelines for the application of
	{Estelle}, {LOTOS} and {SDL}"].

	(1994-12-06)

formal methods

	<mathematics, specification> Mathematically based techniques
	for the {specification}, development and verification of
	software and hardware systems.

	{Referentially transparent} languages are amenable to symbolic
	manipulation allowing {program transformation} (e.g. changing
	a clear inefficient specification into an obscure but
	efficient program) and proof of correctness.

	{Oxford FM archive
	(http://comlab.ox.ac.uk/archive/formal-methods.html)}.

	(1996-05-15)

Formal Object Role Modeling Language

	<language> (FORML) A {CASE} language?

	(1997-04-12)

formal review

	<project> A technical review conducted with the customer
	including the types of reviews called for in DOD-STD-2167A
	(Preliminary Design Review, Critical Design Review, etc.)

	(1996-05-15)

format

	1. <storage> {disk format} - to prepare a new, blank disk for
	writing.

	2. <operating system> {file format} - how data is arranged in
	a specific type of file.

	(2007-09-04)

FORMAT-Fortran

	{Fortran Matrix Abstraction Technique Fortran}

Formatting Output Specification Instance

	<text, standard> (FOSI) An old {SGML} {DTD} {standard} for
	{document management} in the US military, to be replaced (soon
	after Oct 1996?) by the {ISO} standard {DSSSL}.

	(1996-10-07)

Formes

	<language, music> An {object-oriented} language for music
	composition and synthesis, written in {VLISP}.

	["Formes: Composition and Scheduling of Processes", X. Rodet &
	P. Cointe, Computer Music J 8(3):32-50 (Fall 1984)].

	(1996-06-24)

form factor

	<hardware> The type of packaging of a processor {integrated
	circuit}, e.g. {PPGA}, {FC-PGA}.

	More generally, a term popular among {marketroids} in 1998,
	denoting the shape of something designed.

	(2000-08-26)

form feed

	<character> (FF, Control-L, {ASCII} 12) The character used to
	start a new page on a printer.  This is done by "feeding" a
	new page (or "form") through the printer.

	(1996-06-24)

form function

	<jargon> The shape of something designed.  This term is
	currently (Feb 1998) in vogue among {marketroids}.

	(1998-02-11)

FORML

	1. <language> {Formal Object Role Modeling Language}.

	2. <event> {Forth Modification Lab}.

	(1997-04-12)

forms

	1. <programming> {fill-out form}.

	2. <library> (Xforms) A {GUI} component library for {X11}.

	(1998-03-24)

formula

	1. In logic, a sequence of symbols representing terms,
	{predicates}, {connectives} and {quantifiers} which is either
	true or false.

	2. <language, music> FORTH Music Language.  An extension of
	{FORTH} with concurrent note-playing processes.  Runs on
	{Macintosh} and {Atari ST} with {MIDI} output.

	["Formula: A Programming Language for Expressive Computer
	Music", D.P. Anderson et al Computer 24(7):12 (Jul 1991)].

	3. Preprocessor language for the {Acorn Archimedes}, allowing
	inline high-level statements to be entered in an assembly
	program.  Written in {nawk}.

Formula ALGOL

	An {ALGOL} extension for {symbolic mathematics}, strings and
	lists, developed by A.J. Perlis and R. Iturriaga at {Carnegie}
	for the {CDC G-20} in 1962.

	["An Extension of ALGOL for Manipulating Formulae",
	A.J. Perlis et al, CACM 7(2):127-130 (Feb 1964)].

	[Sammet 1969, p. 583].

	(1995-02-15)

Forsythe

	A descendent of {Algol 60}, intended to be as uniform and
	general as possible, while retaining the basic character of
	its progenitor.  Forsythe features {higher-order procedures}
	and {intersection types}.

	{(ftp://e.ergo.cs.cmu.edu/)}.

	["Preliminary Design of the Programming Language Forsythe",
	J.C. Reynolds, CMU-CS-88-159, 1988].

FORTH

	1. <language> An interactive extensible language using
	{postfix syntax} and a data stack, developed by Charles
	H. Moore in the 1960s.  FORTH is highly user-configurable and
	there are many different implementations, the following
	description is of a typical default configuration.

	Forth programs are structured as lists of "words" - FORTH's
	term which encompasses language keywords, primitives and
	user-defined {subroutines}.  Forth takes the idea of
	subroutines to an extreme - nearly everything is a subroutine.
	A word is any string of characters except the separator which
	defaults to space.  Numbers are treated specially.  Words are
	read one at a time from the input stream and either executed
	immediately ("interpretive execution") or compiled as part of
	the definition of a new word.

	The sequential nature of list execution and the implicit use
	of the data stack (numbers appearing in the lists are pushed
	to the stack as they are encountered) imply postfix syntax.
	Although postfix notation is initially difficult, experienced
	users find it simple and efficient.

	Words appearing in executable lists may be "{primitives}"
	(simple {assembly language} operations), names of previously
	compiled procedures or other special words.  A procedure
	definition is introduced by ":" and ended with ";" and is
	compiled as it is read.

	Most Forth dialects include the source language structures
	BEGIN-AGAIN, BEGIN-WHILE-REPEAT, BEGIN-UNTIL, DO-LOOP, and
	IF-ELSE-THEN, and others can be added by the user.  These are
	"compiling structures" which may only occur in a procedure
	definition.

	FORTH can include in-line {assembly language} between "CODE"
	and "ENDCODE" or similar constructs.  Forth primitives are
	written entirely in {assembly language}, secondaries contain a
	mixture.  In fact code in-lining is the basis of compilation
	in some implementations.

	Once assembled, primitives are used exactly like other words.
	A significant difference in behaviour can arise, however, from
	the fact that primitives end with a jump to "NEXT", the entry
	point of some code called the sequencer, whereas
	non-primitives end with the address of the "EXIT" primitive.
	The EXIT code includes the scheduler in some {multi-tasking}
	systems so a process can be {deschedule}d after executing a
	non-primitive, but not after a primitive.

	Forth implementations differ widely.  Implementation
	techniques include {threaded code}, dedicated Forth
	processors, {macros} at various levels, or interpreters
	written in another language such as {C}.  Some implementations
	provide {real-time} response, user-defined data structures,
	{multitasking}, {floating-point} arithmetic, and/or {virtual
	memory}.

	Some Forth systems support virtual memory without specific
	hardware support like {MMUs}.  However, Forth virtual memory
	is usually only a sort of extended data space and does not
	usually support executable code.

	FORTH does not distinguish between {operating system} calls
	and the language.  Commands relating to I/O, {file systems}
	and {virtual memory} are part of the same language as the
	words for arithmetic, memory access, loops, IF statements, and
	the user's application.

	Many Forth systems provide user-declared "vocabularies" which
	allow the same word to have different meanings in different
	contexts.  Within one vocabulary, re-defining a word causes
	the previous definition to be hidden from the interpreter (and
	therefore the compiler), but not from previous definitions.

	FORTH was first used to guide the telescope at NRAO, Kitt
	Peak.  Moore considered it to be a {fourth-generation
	language} but his {operating system} wouldn't let him use six
	letters in a program name, so FOURTH became FORTH.

	Versions include fig-FORTH, FORTH 79 and FORTH 83.

	{FAQs
	(http://complang.tuwien.ac.at/forth/faq/faq-general-2.html)}.
	{ANS Forth standard, dpANS6
	(http://taygeta.com/forth/dpans.html)}.

	FORTH Interest Group, Box 1105, San Carlos CA 94070.

	See also {51forth}, {F68K}, {cforth}, {E-Forth}, {FORML},
	{TILE Forth}.

	[Leo Brodie, "Starting Forth"].

	[Leo Brodie, "Thinking Forth"].

	[Jack Woehr, "Forth, the New Model"].

	[R.G. Loeliger, "Threaded Interpretive Languages"].

	2. {FOundation for Research and Technology - Hellas}.

	(1997-04-16)

for The Rest Of Them

	{for The Rest Of Us}

for The Rest Of Us

	<abuse> (From the {Macintosh} slogan "The computer for the
	rest of us") 1. Used to describe a {spiffy} product whose
	affordability shames other comparable products, or (more
	often) used sarcastically to describe {spiffy} but very
	overpriced products.

	2. Describes a program with a limited interface, deliberately
	limited capabilities, non-{orthogonal}ity, inability to
	compose primitives, or any other limitation designed to not
	"confuse" a naïve user.  This places an upper bound on how far
	that user can go before the program begins to get in the way
	of the task instead of helping accomplish it.

	Used in reference to {Macintosh} software which doesn't
	provide obvious capabilities because it is thought that the
	poor {luser} might not be able to handle them.  Becomes "the
	rest of *them*" when used in third-party reference; thus,
	"Yes, it is an attractive program, but it's designed for The
	Rest Of Them" means a program that superficially looks neat
	but has no depth beyond the surface flash.

	See also {point-and-drool interface}, {user-friendly}.

	[{Jargon File}]

	(2000-08-08)

Forth Modification Lab

	<event> (FORML) A {Forth} conference held every November on
	the West coast of the USA ().

	(1997-04-12)

Fortran

	<language> (Formula Translation) The first and, for a long
	time, the most widely used programming language for numerical
	and scientific applications.  The original versions lacked
	{recursive} procedures and {block structure} and had a
	line-oriented {syntax} in which certain columns had special
	significance.

	There have been a great many versions.

	The name is often written "FORTRAN", harking back to the days
	before computers were taught about lower case, but {ANSI}
	decreed, in about 1985 via the ANSI {FORTRAN} Technical
	Committee {TC}, that it should be "Fortran".

	See also: {Fortrash}.

	[Was {Fortran I} the first version?]

	(2000-07-07)

Fortran 66

	Fortran IV standardised.  ASA X3.9-1966.

Fortran 77

	A popular version of {Fortran} with Block IF, PARAMETER and
	SAVE statements added, but still no WHILE.  It has
	fixed-length character strings, format-free I/O, and {arrays}
	with lower bounds.

	[ANSI X3.9-1978].

	{GNU version (ftp://gnu.org/pub/gnu/g77)}.

	{Amiga version (ftp://ftp.cso.uiuc.edu/amiga/fish/ff470/BCF)}.

	(1994-12-16)

Fortran 90

	(Previously "Fortran 8x" and "Fortran Extended") An extensive
	enlargement of {Fortran 77}.  Fortran 90 has {derived types},
	{assumed shape arrays}, {array sections}, functions returning
	arrays, case statement, {module} subprograms and internal
	subprograms, optional and keyword subprogram arguments,
	{recursion}, and {dynamic allocation}.  It is defined in ISO
	1539:1991, soon to be adopted by {ANSI}.

	["Fortran 90 Explained", M. Metcalf et al, Oxford University
	Press 1990].

	(1994-12-16)

Fortran Automatic Symbol Translator

	<language> (FAST) An {assembly language} for the {IBM 650} by
	{MITRE Corporation}.

	[CACM 2(5):16 (May 1959)].

	[Sammet 1969, p.526].

	(1994-11-09)

Fortran D

	A {data-parallel} {Fortran} developed by {Ken Kennedy} at
	{Rice University}.

	["Fortran D Language Specification", G. Fox et al, TR 90079,
	Rice U, March 1991].

	E-mail: Theresa Chapman <tlc@cs.rice.edu>.

	(1994-12-16)

Fortran I

	An early version of {Fortran} designed by {John Backus} at
	{IBM} for the {IBM 704}.  The design was begun in 1954 and a
	{compiler} released in April 1957.

	[Was this the first Fortran?]

	(1995-02-15)

Fortran II

	1958.  Added subroutines.

Fortran III

	This was only distributed to ca. 20 sites.  See Wexelblat.

Fortran IV

	IBM 1962.  For the IBM 7090/94.  Many implementations went
	well beyond the original definition.

Fortran-Linda

	Scientific Computer Assocs <linda@sca.com>.

Fortran M

	Parallel extensions to Fortran with processes and channels by
	Ian Foster <fortran-m@mcs.anl.gov>.

	["Fortran M: A Language for Modular Parallel Programming",
	I. Foster et al, MCS-P327-0992, ANL, 1992].

	(1994-10-26)

Fortran Matrix Abstraction Technique Fortran

	<language> (FORMAT-Fortran) A language for manipulation,
	printing and plotting of large matrices.

	["FORMAT-FORTRAN Matrix Abstraction Technique (Vol. V)"
	AFFDL-TR-66-207, Douglas Aircraft Co.  Oct 1968].

	(1996-09-29)

Fortran-Plus

	Fortran for the DAP parallel machine, implements many
	Fortran 90 features.

FORTRANSIT

	<language> Fortran Internal Translator.

	A subset of {Fortran} translated into {IT} on the {IBM 650}.
	It was in use in the late 1950s and early 1960s.

	Compilation took place in several steps (using {punched cards}
	as the only input/output media).  FORTRANSIT was converted to
	IT {Internal Translator} which was converted into {SOAP} and
	thence to {machine code}.

	In the SOAP -> machine code step, the user had to include card
	decks for all the subroutines used in his FORTRANSIT program
	(including e.g. square root, sine, and even basic {floating
	point} routines).

	[Sammet 1969, p. 141].

	(1995-03-30)

Fortran V

	Preliminary work on adding character handling to {Fortran} by
	{IBM} ca. 1962.  This name as never really used.

	(1994-10-26)

Fortran VI

	{IBM}'s internal name for early {PL/I} work ca. 1963.

	[Sammet 1969, p. 540].

	(1994-10-25)

Fortrash

	<abuse, language> /for'trash/ Hackerism for the {Fortran}
	language, referring to its primitive design, gross and
	irregular {syntax}, limited {control constructs}, and
	slippery, exception-filled {semantics}.

	[{Jargon File}]

	(1994-10-26)

FORTRUNCIBLE

	A cross between Fortran and RUNCIBLE for the IBM 650.
	Listed in CACM 2(5):16 (May 1959).

fortune cookie

	({WAITS}, via the {Unix} "fortune" program) A quotation, item
	of trivia, joke, or maxim selected at random from a collection
	(the "{cookie file}") and printed to the user's tty at login
	time or (less commonly) at logout time.

	There was a fortune program on {TOPS-20}.

	[First program?]

	[{Jargon File}]

	(1995-02-14)

forum

	<messaging> (Plural "fora" or "forums") Any discussion group
	accessible through a dial-in {BBS} (e.g. {GEnie}, {CI$}), a
	{mailing list}, or a {Usenet} {newsgroup} (see {network,
	the}).  A forum functions much like a {bulletin board}; users
	submit {postings} for all to read and discussion ensues.

	Contrast real-time {chat} or point-to-point personal {e-mail}.

	[{Jargon File}]

	(1998-01-18)

for values of

	<jargon> A common rhetorical maneuver at {MIT} is to use any
	of the canonical {random numbers} as placeholders for
	variables.  "The max function takes 42 arguments, for
	arbitrary values of 42".  "There are 69 ways to leave your
	lover, for 69 = 50".  This is especially likely when the
	speaker has uttered a random number and realises that it was
	not recognised as such, but even "non-random" numbers are
	occasionally used in this fashion.  A related joke is that pi
	equals 3 - for small values of pi and large values of 3.

	This usage probably derives from the programming language MAD
	({Michigan Algorithm Decoder}), an {ALGOL}-like language that
	was the most common choice among mainstream (non-hacker) users
	at {MIT} in the mid-1960s.  It had a {control structure} FOR
	VALUES OF X = 3, 7, 99 DO ... that would repeat the indicated
	instructions for each value in the list (unlike the usual FOR
	that generates an {arithmetic sequence} of values).  MAD is
	long extinct, but similar for-constructs still flourish
	(e.g. in {Unix}'s {shell} languages).

	[{Jargon File}]

	(1994-12-16)

forward

	<messaging> (verb) To send (a copy of) an {electronic mail}
	message that you have received on to one or more other
	{addressees}.  Most e-mail systems can be configured to do
	this automatically to all or certain messages, e.g. {Unix}
	{sendmail} looks for a ".forward" file in the recipient's
	{home directory}.

	A {mailing list} server (or "{mail exploder}") is designed to
	forward messages automatically to lists of people.

	{Unix manual page}: aliases(5).

	(2000-03-22)

forward analysis

	An analysis which determines properties of the output of a
	program from properties of the inputs.

forward chaining

	A data-driven technique used in constructing {goals} or
	reaching {inferences} derived from a set of {facts}.  Forward
	chaining is the basis of {production systems}.  Oppose
	{backward chaining}.

	(1994-10-28)

forward compatibility

	<jargon> The ability to accept input from later versions of
	itself.

	Forward compatibility is harder to achieve than {backward
	compatibility}, since, in the backward case, the input format
	is know whereas a forward compatible system needs to cope
	gracefully with unknown future features.  An example of future
	compatibility is the stipulation that a {web browser} should
	ignore {HTML tags} it does not recognise.

	See also {extensible}.

	(2003-06-23)

forward compatible

	{forward compatibility}

forward delta

	The delta which, when combined with a version, creates a child
	version.  See change management

forward engineering

	<process> The traditional process of moving from high-level
	abstractions and logical, implementation-independent designs
	to the physical implementation of a system.

	Contrast {reverse engineering}.

	(1996-10-02)

Forward Error Correction

	<algorithm> (FEC) A class of methods for controling errors in
	a one-way {communication} system.  FEC sends extra information
	along with the data, which can be used by the receiver to
	check and correct the data.

	A {CPU} writing data to {RAM} is a kind of one-way
	communication - see {error correcting memory} and {error
	checking and correction}.

	(1996-10-02)

forwards compatibility

	{forward compatible}

forwards compatible

	{forward compatible}

FORWISS

	Bayerische Forschungszentrum fuer Wissensbasierte Systeme
	(Bavarian research centre for knowledge-based systems) in
	Passau.

For Your Information

	(FYI) A subseries of {RFCs} that are not technical {standards}
	or descriptions of {protocols}.  FYIs convey general
	information about topics related to {TCP/IP} or the
	{Internet}.

	See also {STD}.

	(1994-10-26)

FOSI

	{Formatting Output Specification Instance}

FOSIL

	{Fredette's Operating System Interface Language}

FOSS

	{free open-source software}

fossil

	1. In software, a misfeature that becomes understandable only
	in historical context, as a remnant of times past retained so
	as not to break compatibility.  Example: the retention of
	{octal} as default base for string escapes in {C}, in spite of
	the better match of {hexadecimal} to ASCII and modern
	byte-addressable architectures.  See {dusty deck}.

	2. More restrictively, a feature with past but no present
	utility.  Example: the force-all-caps (LCASE) bits in the V7
	and {BSD} Unix tty driver, designed for use with monocase
	terminals.  (In a perversion of the usual
	backward-compatibility goal, this functionality has actually
	been expanded and renamed in some later {USG Unix} releases as
	the IUCLC and OLCUC bits.)

	3. The FOSSIL (Fido/Opus/Seadog Standard Interface Level)
	driver specification for serial-port access to replace the
	{brain-dead} routines in the IBM PC ROMs.  Fossils are used by
	most {MS-DOS} {BBS} software in preference to the "supported"
	ROM routines, which do not support interrupt-driven operation
	or setting speeds above 9600; the use of a semistandard FOSSIL
	library is preferable to the {bare metal} serial port
	programming otherwise required.  Since the FOSSIL
	specification allows additional functionality to be hooked in,
	drivers that use the {hook} but do not provide serial-port
	access themselves are named with a modifier, as in "video
	fossil".

	[{Jargon File}]

foundation

	The axiom of foundation states that the membership relation is
	well founded, i.e. that any non-empty collection Y of sets has
	a member y which is disjoint from Y.  This rules out sets
	which contain themselves (directly or indirectly).

FOundation for Research and Technology - Hellas

	<company> (FORTH) A small Greek software and research company
	associated with the Institute of Computer Science,

	Address: Science and Technology Park of Crete, Vassilika
	Vouton, P.O.Box 1385 GR 711 10 Heraklion, Crete, Greece.

	Telephone: +30 (81) 39 16 00, Fax: +30 (81) 39 16 01.

	(1997-04-12)

four-colour glossies

	1. Literature created by {marketroids} that allegedly contains
	technical specs but which is in fact as superficial as
	possible without being totally {content-free}.  "Forget the
	four-colour glossies, give me the tech ref manuals."  Often
	applied as an indication of superficiality even when the
	material is printed on ordinary paper in black and white.
	Four-colour-glossy manuals are *never* useful for finding a
	problem.

	2. [rare] Applied by extension to manual pages that don't
	contain enough information to diagnose why the program doesn't
	produce the expected or desired output.

four colour map theorem

	<mathematics, application> (Or "four colour theorem") The
	theorem stating that if the plane is divided into connected
	regions which are to be coloured so that no two adjacent
	regions have the same colour (as when colouring countries on a
	map of the world), it is never necessary to use more than four
	colours.

	The proof, due to Appel and Haken, attained notoriety by using
	a computer to check tens of thousands of cases and is thus not
	humanly checkable, even in principle.  Some thought that this
	brought the philosophical status of the proof into doubt.

	There are now rumours of a simpler proof, not requiring the
	use of a computer.

	See also {chromatic number}

	(1995-03-25)

four colour theorem

	{four colour map theorem}

Fourier transform

	<mathematics> A technique for expressing a waveform as a
	weighted sum of sines and cosines.

	Computers generally rely on the version known as {discrete
	Fourier transform}.

	Named after J. B. Joseph Fourier (1768 -- 1830).

	See also {wavelet}, {discrete cosine transform}.

	(1997-03-9)

fourth generation computer

	<architecture> A computer built using {Very Large Scale
	Integration} (VLSI) {integrated circuits}, especially a
	{microcomputer} based on a {microprocesseor}, or a {parallel
	processor} containing two to thousands of {CPUs}.

	VLSI made it routine to fabricate an entire CPU, main memory,
	or similar device with a single integrated circuit that can be
	mass produced at very low cost.  This has resulted in new
	classes of machines such as {personal computers}, and high
	performance parallel processors that contains thousands of
	CPUs.

	(1996-11-22)

fourth generation language

	<language> (4GL, or "report generator language") An
	"application specific" language, one with built-in knowledge
	of an {application domain}, in the way that {SQL} has built-in
	knowledge of the {relational} database domain.

	The term was invented by Jim Martin to refer to
	{non-procedural} {high level languages} built around
	{database} systems.

	Fourth generation languages are close to {natural language}
	and were built with the concept that certain applications
	could be generalised by adding limited programming ability to
	them.

	When given a description of the data format and the report to
	generate, a 4GL system produces {COBOL} (or other 3GL) code,
	that actually reads and processes the data and formats the
	results.

	Some examples of 4GL are: {database query language} e.g.{SQL};
	{Focus}, {Metafont}, {PostScript}, {S}, {IDL-PV}, {WAVE},
	{Gauss}, {Mathematica}, and {data-stream languages} such as
	{AVS}, {APE}, {Iris Explorer}.

	(2004-04-01)

fourth normal form

	{database normalisation}

Fowler-Nordheim tunnelling

	<electronics> (US: "tunneling") The quantum mechanical effect
	exploited in {EAPROM} and {Flash Erasable Programmable Read
	Only Memory}.  It differs from {Frenkel-Pool Tunnelling} in
	that it does not rely on defects in the {semiconductor}.

	[More detail?]

	(2001-09-27)

Fox

	{Free Objects for Crystallography}

FoxBASE+

	<database> {Fox Software}'s {dBASE} III+-like product which
	later became {FoxPRO}.  It used the {Xbase} programming
	language.

	[Features?  Dates?  Status?]

	(2004-09-01)

FoxPRO

	<database> A {dBASE} IV-like product originally from {Fox
	Software} which (well before 2000) mutated into {Microsoft}
	{Visual FoxPro}.

	[Features?  Dates?]

	(2000-08-06)

Fox Software

	<company> Developers of {FoxBASE+} and {FoxPRO}.  Fox Software
	merged with {Microsoft} around 1992.

	Addresss: Perrysburg, OH, USA.

	[More details?]

	(1997-11-18)

Fox Wiki

	<application> A {wiki} for the {Fox} (Free Objects for
	Crystallography) {software}.

	{Fox Wiki (http://vincefn.net/Fox/)}.

	(2014-01-20)

FP

	1. {functional programming}.

	2. {floating-point}.

	3. Functional Programming.  A {combinator}-based {functional
	language} by John Backus stressing the use of {higher-order
	functions}.

	Implementation by Andy Valencia.
	{(ftp://apple.com/comp.sources.Unix/volume13)}.

	See also {FFP}, {FL}, {IFP}, {Berkeley FP}.

	["Can Programming be Liberated From the von Neumann Style?  A
	Functional Style and Its Algebra of Programs", John Backus,
	1977 Turing Award Lecture, CACM 21(8):165-180 (Aug 1978)].

	4. <programming> {Function Point}.

	(1995-03-12)

FP2

	Functional Parallel Programming.  A {term rewriting} language
	which unifies {functional programming} and {parallel
	programming}.  Every object is a term and every computation is
	done by rewriting.  Rewrite rules are used to specify
	{algebraic data types} and parallel processes.

	["Term Rewriting as a Basis for the Design of a Functional and
	Parallel Programming Language.  A Case Study: The Language
	FP2", Ph. Jorrand in Fundamentals of Artificial Intelligence,
	LNCS 258, Springer 1986, pp. 221-276].

	(1994-10-20)

FPA

	1. <hardware> {floating-point accelerator}.

	2. <programming> {Function Point Analysis}.

fpc

	A translator from {Backus}'s {FP} to {C}.

	{(ftp://apple.com/comp.sources.Unix/Volume20)}.

FPGA

	{Field-Programmable Gate Array}

FPLMTS

	<communications> {Future Public Land Mobile
	Telecommunications System}.

FPM

	{Fast Page Mode Dynamic Random Access Memory}

FP/M

	<programming> An {abstract machine} and intermediate language
	for {functional languages}, used to implement {Hope}.  FP/M is
	an optimisation of the {SECD machine}.

	["The Compilation of FP/M Programs into Conventional Machine
	Code", A.J. Field, Imperial College, London, 1985].

	["Functional Programming", A.J. Field & P.G. Harrison, A-W
	1988].

	(1994-10-20)

FPM DRAM

	{Fast Page Mode Dynamic Random Access Memory}

fprintf

	<library> Variant of the {C} library routine {printf} which
	prints to a given {stream}.  E.g.

		fprintf(stderr, "%s: can't open file \"%s\".",
			argv[0], argv[1]);

	which prints to the "{standard error}" output stream.

	(1995-04-25)

fps

	{frames per second}

FPU

	{floating-point unit}

FQDN

	{fully qualified domain name}

FQL

	<language> A {functional database} language.

	["An Implementation Technique for Database Query Languages",
	O.P. Buneman et al, ACM Trans Database Sys 7(2):164-186 (June
	1982)].

	(1995-04-27)

fr

	<networking> The {country code} for France.

	(1999-01-27)

FRA

	{Wireless Local Loop}

fractal

	<mathematics, graphics> A fractal is a rough or fragmented
	geometric shape that can be subdivided in parts, each of which
	is (at least approximately) a smaller copy of the whole.
	Fractals are generally self-similar (bits look like the whole)
	and independent of scale (they look similar, no matter how
	close you zoom in).

	Many mathematical structures are fractals; e.g. {Sierpinski
	triangle}, {Koch snowflake}, {Peano curve}, {Mandelbrot set}
	and {Lorenz attractor}.  Fractals also describe many
	real-world objects that do not have simple geometric shapes,
	such as clouds, mountains, turbulence, and coastlines.

	{Benoit Mandelbrot}, the discoverer of the {Mandelbrot set},
	coined the term "fractal" in 1975 from the Latin fractus or
	"to break".  He defines a fractal as a set for which the
	{Hausdorff Besicovich dimension} strictly exceeds the
	{topological dimension}.  However, he is not satisfied with
	this definition as it excludes sets one would consider
	fractals.

	{sci.fractals FAQ
	(ftp://src.doc.ic.ac.uk/usenet/usenet-by-group/sci.fractals/)}.

	See also {fractal compression}, {fractal dimension}, {Iterated
	Function System}.

	{Usenet} newsgroups: {news:sci.fractals},
	{news:alt.binaries.pictures.fractals}, {news:comp.graphics}.

	["The Fractal Geometry of Nature", Benoit Mandelbrot].

	[Are there non-self-similar fractals?]

	(1997-07-02)

fractal compression

	<algorithm> A technique for encoding {images} using
	{fractals}.

	{Yuval Fisher's fractal image compression site
	(http://inls.ucsd.edu/y/Fractals/)}.

	[Summary?]

	(1998-03-27)

fractal dimension

	<mathematics> A common type of fractal dimension is the
	Hausdorff-Besicovich Dimension, but there are several
	different ways of computing fractal dimension.  Fractal
	dimension can be calculated by taking the limit of the
	quotient of the log change in object size and the log change
	in measurement scale, as the measurement scale approaches
	zero.  The differences come in what is exactly meant by
	"object size" and what is meant by "measurement scale" and how
	to get an average number out of many different parts of a
	geometrical object.  Fractal dimensions quantify the static
	*geometry* of an object.

	For example, consider a straight line.  Now blow up the line
	by a factor of two.  The line is now twice as long as before.
	Log 2 / Log 2 = 1, corresponding to dimension 1.  Consider a
	square.  Now blow up the square by a factor of two.  The
	square is now 4 times as large as before (i.e. 4 original
	squares can be placed on the original square).  Log 4 / log 2
	= 2, corresponding to dimension 2 for the square.  Consider a
	snowflake curve formed by repeatedly replacing ___ with _/\_,
	where each of the 4 new lines is 1/3 the length of the old
	line.  Blowing up the snowflake curve by a factor of 3 results
	in a snowflake curve 4 times as large (one of the old
	snowflake curves can be placed on each of the 4 segments
	_/\_).  Log 4 / log 3 = 1.261...  Since the dimension 1.261 is
	larger than the dimension 1 of the lines making up the curve,
	the snowflake curve is a fractal.  [sci.fractals FAQ].

FRAD

	<communications> {Frame Relay Access Device}.

fragile

	{brittle}

fragment

	{fragmentation}

fragmentation

	1. <networking> {segmentation}.

	2. The process, or result, of splitting a large area of free
	memory (on disk or in main memory) into smaller non-contiguous
	blocks.  This happens after many blocks have been allocated
	and freed.  For example, if there is 3 kilobytes of free space
	and two 1k blocks are allocated and then the first one (at the
	lowest address) is freed, then there will be 2k of free space
	split between the two 1k blocks.  The maximum size block that
	could then be allocated would be 1k, even though there was 2k
	free.  The solution is to "compact" the free space by moving
	the allocated blocks to one end (and thus the free space to
	the other).

	As modern file systems are used and files are deleted and
	created, the total free space becomes split into smaller
	non-contiguous blocks (composed of "{clusters}" or "{sectors}"
	or some other unit of allocation).  Eventually new files being
	created, and old files being extended, cannot be stored each
	in a single contiguous block but become scattered across the
	file system.  This degrades performance as multiple {seek}
	operations are required to access a single fragmented file.

	Defragmenting consolidates each existing file and the free
	space into a continuous group of sectors.  Access speed will
	be improved due to reduced seeking.

	The rate of fragmentation depends on the {algorithm} used to
	allocate space and the number and position of free sectors.  A
	nearly-full file system will fragment more quickly.

	{MS-DOS} and {Microsoft Windows} use the simplest algorithm to
	allocate free clusters and so fragmentation occurs quickly.  A
	disk should be defragmented before fragmentation reaches 10%.

	See {garbage collection}.

	(1997-08-29)

FRAM

	{Ferroelectric Random Access Memory}

frame

	1. <networking> A {data link layer} "packet" which contains the
	header and trailer information required by the physical
	medium.  That is, {network layer} {packets} are encapsulated
	to become frames.

	See also {datagram}, {encapsulation}, {packet}, {Maximum
	Transmission Unit}.

	2. <programming> (language implementation) See {activation
	record}.

	3. <hardware> One complete scan of the active area of a
	{display screen}.  Each frame consists of a number N of
	horizontal {scan lines}, each of which, on a computer display,
	consists of a number M of {pixels}.  N is the {vertical
	resolution} of the display and M is the {horizontal
	resolution}.  The rate at which the displayed image is updated
	is the {refresh rate} in frames per second.

	(2000-10-07)

frame buffer

	<hardware> Part of a video system in which an {image} is
	stored, {pixel} by pixel and which is used to refresh a
	{raster} image.  The term "{video memory}" suggests a fairly
	static display whereas a frame buffer holds one frame from a
	sequence of frames forming a moving image.

	Frame buffers are found in {frame grabbers} and {time base
	correction} systems, for example.

	(1997-10-03)

Frame Check Sequence

	<communications> (FCS) The extra characters added to a {frame}
	for {error detection and correction}(?).  FCS is used in
	{X.25}, {HDLC}, {Frame Relay}, and other {data link layer}
	{protocols}.

	(1998-02-27)

frame grabber

	<hardware> A device that captures a single {frame} from an
	{analog} {video} signal (from a video camera or {VCR}) and
	stores it as a digital {image} under computer control.

	(1997-07-11)

FrameKit

	<language> A {frame language}.

	["The FrameKit User's Guide", E. Nyberg, TR CMU- CMT-88-MEMO,
	CMU 1988].

	(1994-10-20)

FrameMaker

	<text> A commercial document preparation program produced by
	{Frame Technology Corporation} who were taken over by {Adobe
	Systems, Inc.}  in 1995/6.  FrameMaker is available for a wide
	variety of {workstations} and is designed for technical and
	scientific documents.  It uses a powerful system of templates
	and paragraph styles to control {WYSIWYG} formatting.  It
	supports graphics, tables, and contents pages among other
	things.

	Version: FrameMaker 6, due April 2000.

	See also {Maker Interchange Format}.

	(2000-04-04)

frame pointer

	A pointer to the current {activation record} in an
	implementation of a {block structured} language.

	(1994-10-20)

frame rate

	<graphics> The number of {frames} of an {animation} which are
	displayed every second, measured in frames per second (fps).
	The higher the frame rate, the smoother the animation will
	appear but the more processing power and system {bandwidth} is
	required.

	At less than 30 fps, the human eye can see the new pictures
	coming onto the screen.

	(2000-02-02)

Frame Relay

	<communications> A {DTE}-{DCE} interface specification based
	on {LAPD} (Q.921), the {Integrated Services Digital Network}
	version of {LAPB} ({X.25} {data link layer}).  A common
	specification was produced by a consortium of {StrataCom},
	{Cisco}, {Digital}, and Northern Telecom.

	Frame Relay is the result of {wide area network}ing
	requirements for speed; {LAN}-{WAN} and LAN-LAN
	{internetworking}; "bursty" data communications; multiplicity
	of {protocols} and {protocol transparency}.  These
	requirements can be met with technology such as {optical
	fibre} lines, allowing higher speeds and fewer transmission
	errors; intelligent network end devices ({personal computers},
	{workstations}, and {servers}); standardisation and adoption
	of ISDN protocols.  Frame Relay could connect dedicated lines
	and {X.25} to {ATM}, {SMDS}, {BISDN} and other "{fast packet}"
	technologies.

	Frame Relay uses the same basic {data link layer} {framing} and
	{Frame Check Sequence} so current {X.25} hardware still works.
	It adds addressing (a 10-bit {Data Link Connection Identifier}
	(DLCI)) and a few control bits but does not include
	retransmissions, link establishment, windows or error
	recovery.  It has none of X.25's {session layer} but adds some
	simple interface management.  Any {network layer} protocol can
	be used over the data link layer Frames.

	{Frame Relay Resource Center
	(http://alliancedatacom.com/framerelay.asp)}.

	(2000-07-14)

Frame Relay Access Device

	<communications> (FRAD) Hardware and software that turns
	{packets} from {TCP}, {SNA}, {IPX}, etc into {frames} that can
	be sent over a {Frame Relay} {wide area network}.

	FRADs are a hot topic in data comms because companies like
	{Netlink}, {Motorola}, {Stratacom} are making lots of money
	out of them.

	(1995-11-17)

frames per second

	<unit> (fps) The unit of measurement of the {frame rate} of a
	moving image.

	(2000-02-02)

Frame Technology Corporation

	<company> The company which developed {FrameMaker}, taken over
	by {Adobe Systems, Inc.} in late 1995/early 1996.

	(1995-01-30)

framework

	In {object-oriented} systems, a set of {class}es that embodies
	an abstract design for solutions to a number of related
	problems.

	(1995-01-30)

Framework 4

	A European Union funding programme, the {information
	technology} portion of which replaced {ESPRIT}.

	(1994-09-19)

framing specification

	A specification of the "{protocol} bits" that surround the
	"data bits" on a communications channel to allow the data to
	be "framed" into chunks, like start and {stop bits} in
	{EIA-232}.  It allows a receiver to synchronize at points along
	the data stream.

	(1995-01-13)

FRANK

	["Using BINS for Interprocess Communication", P.C.J. Graham,
	SIGPLAN Notices 20(2):32-41 (Feb 1985)].

	(1995-01-13)

Franz Lisp

	<language> A {MacLisp}-like dialect of {Lisp}, developed
	primarily for work in {symbolic algebra} by R. Fateman et al
	at {Ucb} in about 1980.  It was named after the Hungarian
	composer Franz Liszt (1811-1886).  Franz Lisp was written in
	{C} and includes a compiler called "{Liszt}".

	["The FRANZ LISP Manual", J.K. Foderaro et al. UC Berkeley
	1980].

	Version: Opus 38.22.  Liszt 8.08.

	{(ftp://ted.cs.uidaho.edu/pub/hol/franz.tar.Z)}.

	(2001-12-04)

Fraps

	<application, video> A {Windows} application that can be used
	with games using {DirectX} or {OpenGL} to display the current
	screen redraw rate in frames per second (FPS).  Fraps can also
	measure the frame rate between any two points and can capture
	stills, audio and video to disk.

	Latest version: 2.7.4 (2006-06-18), as of 2006-07-12.

	{Fraps Home (http://fraps.com/)}.

	(2006-07-12)

Fraunhofer Gesellschaft

	<company> (FhG, FhG IIS, Institut für Integrierte Schaltungen) A
	german company, named after the physicist.  IIS is Integrated
	Circuit Institute.

	FhG are known for their research on {audio compression},
	especially {MPEG-1 Layer-3} (MP3).

	(2001-12-04)

FRED

	Robert Carr.  Language used by Framework, Ashton-Tate.

	[{Jargon File}]

fred

	1. The personal name most frequently used as a {metasyntactic
	variable} (see {foo}).  Allegedly popular because it's easy
	for a non-touch-typist to type on a standard QWERTY keyboard.
	Unlike {J. Random Hacker} or "J. Random Loser", this name has
	no positive or negative loading (but see {Mbogo, Dr. Fred}).
	See also {barney}.

	2. An acronym for "Flipping Ridiculous Electronic Device";
	other F-verbs may be substituted for "flipping".

Fredette's Operating System Interface Language

	<language, operating system> (FOSIL) A portable {job control
	language} for {IBM} {OS360}, {UNIVAC} {EXEC 8} and {Honeywell}
	{GCOS}.

	["Fredette's Operating System Interface Language (FOSIL)",
	G.N. Baird in Command Languages, C. Unger ed, N-H 1973].

	(2000-08-06)

frednet

	/fred'net/ Used to refer to some {random} and uncommon
	{protocol} encountered on a {network}.  "We're implementing
	bridging in our {router} to solve the frednet problem."

	[{Jargon File}]

free

	See {free software}, {free variable}.

FreeBSD

	<operating system> A free {operating system} based on the {BSD
	4.4-lite} release from {Computer Systems Research Group} at
	the {University of California at Berkeley}.

	FreeBSD requires an {ISA}, {EISA}, {VESA}, or {PCI} based
	computer with an {Intel 80386SX} to {Pentium} CPU (or
	compatible {AMD} or {Cyrix} CPU) with 4 megabytes of {RAM} and
	60MB of disk space.

	Some of FreeBSD's features are: {preemptive multitasking} with
	dynamic priority adjustment to ensure smooth and fair sharing
	of the computer between applications and users.  Multiuser
	access - {peripherals} such as printers and tape drives can be
	shared between all users.  Complete {TCP/IP} networking
	including {SLIP}, {PPP}, {NFS} and {NIS}.  {Memory
	protection}, {demand-paged virtual memory} with a merged
	{VM}/{buffer cache} design.  FreeBSD was designed as a {32 bit
	operating system}.  {X Window System} (X11R6) provides a
	{graphical user interface}.  {Binary compatibility} with many
	programs built for {SCO}, {BSDI}, {NetBSD}, {386BSD}, and
	{Linux}.  Hundreds of ready-to-run applications in the FreeBSD
	ports collection.  FreeBSD is {source code compatible} with
	most popular commercial {Unix} systems and thus most
	applications require few, if any, changes to compile.  {Shared
	libraries}.  A full compliment of {C}, {C++}, {Fortran} and
	{Perl} development tools and many other languages.  {Source
	code} for the entire system is available.  Extensive on-line
	documentation.

	{(http://freebsd.org/)}.

	{(ftp://ftp.freebsd.org/pub/FreeBSD)} or try your nearest
	{mirror site} listed at the home site or buy the {CD-ROM} from
	{Walnut Creek}.

	(1998-11-24)

FreeHEP

	An organisation offering a repository of software and related
	information for high energy physics applications.

Freenet

	Community-based bulletin board system with e-mail, information
	services, interactive communications, and conferencing.
	Freenets are funded and operated by individuals and volunteers
	- in one sense, like public television.  They are part of the
	National Public Telecomputing Network (NPTN), an organisation
	based in Cleveland, Ohio, devoted to making computer
	telecommunication and networking services as freely available
	as public libraries.

Free Objects for Crystallography

	<application> (Fox) A free, {open-source} program for ab
	initio structure determination from powder diffraction.

	{Fox Wiki (http://vincefn.net/Fox/)}.

	(2014-01-21)

Free On-line Dictionary

	{Free On-line Dictionary of Computing}

free open-source software

	{free software}

FreePPP

	<networking> The latest incarnation of {MacPPP}.  FreePPP
	continues to be used by many MacOS users as an alternative to
	{Apple}'s {TCP/IP} stack.

	{(http://rockstar.com/ppp.shtml)}.

	(2000-11-25)

freerexx

	{REXX} {interpreters} for {Unix} in {C++}.

	{(ftp://rexx.uwaterloo.ca/pub/freerexx/rx102.tar.Z)}.

free software

	<software> Software that everyone is free to copy,
	redistribute and modify.  That implies free software must be
	available as {source code}, hence "free open source software"
	- "FOSS".  It is usually also free of charge, though anyone
	can sell free software so long as they don't impose any new
	restrictions on its redistribution or use.  The widespread
	acceptance of this definition and free software itself owes a
	great deal to {Richard Stallman} and the {Free Software
	Foundation}.

	There are many other kinds of "free software" in the sense of
	"free of charge".  See "{-ware}".

	{This dictionary} is free in both senses, though since it is
	documentation not {software} it is distributed under the
	{GFDL}.

	(2007-02-09)

Free Software Foundation

	<body> (FSF) An organisation devoted to the creation and
	dissemination of {free software}, i.e. software that is free
	from licensing fees or restrictions on use.  The Foundation's
	main work is supporting the {GNU} project, started by {Richard
	Stallman} (RMS), partly to proselytise for his position that
	information is community property and all software source
	should be shared.

	The GNU project has developed the GNU {Emacs} editor and a {C}
	compiler, {gcc}, replacements for many Unix utilities and many
	other tools.  A complete {Unix}-like operating system ({HURD})
	is in the works (April 1994).

	Software is distributed under the terms of the {GNU General
	Public License}, which also provides a good summary of the
	Foundation's goals and principles.  The Free Software
	Foundation raises most of its funds from distributing its
	software, although it is a charity rather than a company.
	Although the software is freely available (e.g. by {FTP} - see
	below) users are encouraged to support the work of the FSF by
	paying for their distribution service or by making donations.

	One of the slogans of the FSF is "Help stamp out software
	hoarding!"  This remains controversial because authors want to
	own, assign and sell the results of their labour.  However,
	many hackers who disagree with RMS have nevertheless
	cooperated to produce large amounts of high-quality software
	for free redistribution under the Free Software Foundation's
	imprimatur.

	See {copyleft}, {General Public Virus}, {GNU archive site}.

	{(ftp://ftp.gnu.ai.mit.edu)}.

	Unofficial WWW pages: {PDX
	(http://cs.pdx.edu/~trent/gnu/)}, {DeLorie
	(http://delorie.com/gnu/)}.

	E-mail: <gnu@gnu.org>.

	Address: Free Software Foundation, Inc., 675 Massachusetts
	Avenue, Cambridge, MA 02139, USA.

	Telephone: +1 (617) 876 3296.

	(1995-12-10)

free variable

	1. A variable referred to in a function, which is not an
	argument of the function.  In {lambda-calculus}, x is a {bound
	variable} in the term M = \ x . T, and a free variable of T.
	We say x is bound in M and free in T.  If T contains a subterm
	\ x . U then x is rebound in this term.  This nested, inner
	binding of x is said to "shadow" the outer binding.
	Occurrences of x in U are free occurrences of the new x.

	Variables bound at the top level of a program are technically
	free variables within the terms to which they are bound but
	are often treated specially because they can be compiled as
	fixed addresses.  Similarly, an identifier bound to a
	recursive function is also technically a free variable within
	its own body but is treated specially.

	A {closed term} is one containing no free variables.

	See also {closure}, {lambda lifting}, {scope}.

	2. In {logic}, a variable which is not quantified (see
	{quantifier}).

freeware

	<legal> {Software}, often written by enthusiasts and
	distributed at no charge by users' groups, or via the
	{web}, {electronic mail}, {bulletin boards},
	{Usenet}, or other electronic media.

	At one time, "freeware" was a trademark of {Andrew
	Fluegelman}.  It wasn't enforced after his death.

	"Freeware" should not be confused with "{free software}"
	(roughly, software with unrestricted redistribution) or
	"{shareware}" (software distributed without charge for which
	users can pay voluntarily).

	{Jim Knopf's story (http://freewarehof.org/sstory.html)}.

	[{Jargon File}]

	(2003-07-26)

freeze

	To lock an evolving software distribution or document against
	changes so it can be released with some hope of stability.
	Carries the strong implication that the item in question will
	"unfreeze" at some future date.

	There are more specific constructions on this term.  A
	"feature freeze", for example, locks out modifications
	intended to introduce new features but still allows bugfixes
	and completion of existing features; a "code freeze" connotes
	no more changes at all.  At {Sun Microsystems} and elsewhere,
	one may also hear references to "code slush" - that is, an
	almost-but-not-quite frozen state.

	[{Jargon File}]

Frege, Gottlob

	{Gottlob Frege}

frequency division multiple access

	{frequency division multiplexing}

frequency division multiplexing

	<communications> (FDM) The simultaneous transmission of
	multiple separate signals through a shared medium (such as a
	wire, {optical fibre}, or light beam) by modulating, at the
	transmitter, the separate signals into separable frequency
	bands, and adding those results linearly either before
	transmission or within the medium.  While thus combined, all
	the signals may be amplified, conducted, translated in
	frequency and routed toward a destination as a single signal,
	resulting in economies which are the motivation for
	multiplexing.  Apparatus at the receiver separates the
	multiplexed signals by means of frequency passing or rejecting
	filters, and demodulates the results individually, each in the
	manner appropriate for the modulation scheme used for that
	band or group.

	Bands are joined to form groups, and groups may then be joined
	into larger groups; this process may be considered
	recursively, but such technique is common only in large and
	sophisticated systems and is not a necessary part of FDM.

	Neither the transmitters nor the receivers need be close to
	each other; ordinary radio, television, and cable service are
	examples of FDM.  It was once the mainstay of the long
	distance telephone system.  The more recently developed {time
	division multiplexing} in its several forms lends itself to
	the handling of digital data, but the low cost and high
	quality of available FDM equipment, especially that intended
	for television signals, make it a reasonable choice for many
	purposes.

	Compare {wavelength division multiplexing}, {time division
	multiplexing}, {code division multiplexing}.

	(2001-06-28)

Frequency-Hopping Spread Spectrum

	<communications> (FH, FHSS) A variation of {spread spectrum
	communications} in which a sequence of {pseudo random numbers}
	control a {frequency synthesizer}, generating different
	carrier frequencies that "hop around" in the desired frequency
	range.  The receiver tunes to the same sequence of carrier
	frequencies in synchronisation with the transmitter.

	Frequency hopping spread spectrum was invented by Hedy Lamarr
	("the most beautiful girl in the world", Samson and Delilah
	etc.) and the composer George Antheil.  They held a patent
	filed in 1942.

	(2009-07-01)

Frequency Modulation

	<communications> (FM) A method of encoding data by varying the
	frequency of a constant amplitude {carrier signal}.

	Contrast {Amplitude Modulation}.

	(2001-04-02)

Frequency Shift Keying

	<communications> (FSK) The use of {frequency modulation} to
	transmit digital data, i.e. two different {carrier}
	frequencies are used to represent zero and one.

	FSK was originally used to transmit {teleprinter} messages by
	radio ({RTTY}) but can be used for most other types of radio
	and land-line digital telegraphy.  More than two frequencies
	can be used to increase transmission rates.

	(1997-07-14)

frequently asked question

	<convention> (FAQ, or rarely FAQL, FAQ list) A document
	provided for many {Usenet} {newsgroups} (and, more recently,
	{web} services) which attempts to answer questions
	which new readers often ask.  These are maintained by
	volunteers and posted regularly to the newsgroup.  You should
	always consult the FAQ list for a group before posting to it
	in case your question or point is common knowledge.

	The collection of all FAQ lists is one of the most precious
	and remarkable resources on the {Internet}.  It contains a
	huge wealth of up-to-date expert knowledge on many subjects of
	common interest.  Accuracy of the information is greatly
	assisted by its frequent exposure to criticism by an
	interested, and occasionally well-informed, audience (the
	readers of the relevant newsgroup).

	The main {FTP archive} for FAQs is on a computer called {RTFM}
	at {MIT}, where they can be accessed either {by group
	(ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/)} or {by
	hierarchy (ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/)}.
	There is another archive at {Imperial College
	(ftp://src.doc.ic.ac.uk/usenet/news-info/)}, London, UK and a
	{web} archive in {Ohio
	(http://cis.ohio-state.edu/hypertext/faq/usenet/top.html)},
	USA.

	The FAQs are also posted to {Usenet} newsgroups:
	{news:comp.answers}, {news:news.answers} and
	{news:alt.answers}.

	(1997-12-08)

Fresco

	1. <standard, programming> An {object-oriented} {API} for
	{graphical user interfaces}, under development by the {X
	Consortium} as an open, multi-vendor {standard}.

	2. <language, specification> An {object-oriented}
	{specification language}.

	["Refinement in Fresco", in Object Oriented Specification Case
	Studies, K. Lano et al eds, P-H 1993].

	(1996-04-28)

Fresh

	<language>

	["Fresh: A Higher-Order Language Based on Unification",
	G. Smolka, in Logic Programming: Functions, Relations and
	Equations", D. DeGroot et al, P-H 1986, pp. 469-524].

	(1996-04-28)

friction feed

	<printer> A method some {printers} and {plotters} use to move
	paper by rotating one or both of a pair of spring-loaded
	rubber-coated rollers with the paper sandwiched between them.

	Friction feed printers are notorious for slipping when the
	rollers wear out, but can take standard typing paper.

	For printers with a {sheet feeder}, friction feed is more
	appropriate than {sprocket feed} which requires the holes in
	the paper to engage with the sprockets of the feed mechanism.

	(1997-07-09)

fried

	1. <hardware> Non-working due to hardware failure; burnt out.
	Especially used of hardware brought down by a "power glitch"
	(see {glitch}), {drop-outs}, a short, or some other electrical
	event.  (Sometimes this literally happens to electronic
	circuits!  In particular, resistors can burn out and
	transformers can melt down, emitting noxious smoke - see
	{friode}, {SED} and {LER}.  However, this term is also used
	metaphorically.)  Compare {frotzed}.

	2. <jargon> Of people, exhausted.  Said particularly of those
	who continue to work in such a state.  Often used as an
	explanation or excuse.  "Yeah, I know that fix destroyed the
	file system, but I was fried when I put it in."  Especially
	common in conjunction with "brain": "My brain is fried today,
	I'm very short on sleep."

	[{Jargon File}]

	(1996-04-28)

Friend

	Relationship between classes in the language C++.

FRINGE

	C. Katz, GE, 1961.  Subcomponent of GE-255 GECOM system.
	Sorting and merging of data, reports and file maintenance.

frink

	/frink/ The unknown ur-verb, fill in your own meaning.  Found
	especially on the {Usenet} newsgroup {news:alt.fan.lemurs},
	where it is said that the lemurs know what "frink" means, but
	they aren't telling.

	Compare {gorets}.

	[{Jargon File}]

	(1994-12-16)

friode

	<humour, electronics> /fri:'ohd/ (TMRC) A reversible (that is,
	fused, blown, or {fried}) {diode}.  A friode may have been a
	{SED} at some time.

	See also {LER}.

	[{Jargon File}]

	(1996-04-28)

fritterware

	An excess of capability that serves no productive end.  The
	canonical example is font-diddling software on the Mac (see
	{macdink}); the term describes anything that eats huge amounts
	of time for quite marginal gains in function but seduces
	people into using it anyway.  See also {window shopping}.

	[{Jargon File}]

FRL

	Frame Representation Language.

	MIT.

	["The FRL Manual", R. Roberts et al, AI Memo 409, MIT AI Lab,
	1977].

	(1994-12-16)

FRMT-FTRN

	Scientific language.  1976.

frob

	/frob/ 1.  [MIT] The {TMRC} definition was "FROB = a
	protruding arm or trunnion"; by metaphoric extension, a "frob"
	is any random small thing; an object that you can comfortably
	hold in one hand; something you can frob (sense 2).  See
	{frobnitz}.

	2. Abbreviated form of {frobnicate}.

	3. [{MUD}] A command on some {MUDs} that changes a player's
	experience level (this can be used to make wizards); also, to
	request {wizard} privileges on the "professional courtesy"
	grounds that one is a wizard elsewhere.  The command is
	actually "frobnicate" but is universally abbreviated to the
	shorter form.

	[{Jargon File}]

frobnicate

	/frob'ni-kayt/ (Possibly from {frobnitz}, and usually
	abbreviated to {frob}, but "frobnicate" is recognised as the
	official full form).  To manipulate or adjust, to {tweak}.
	One frequently frobs bits or other 2-state devices.  Thus:
	"Please frob the light switch" (that is, flip it), but also
	"Stop frobbing that clasp; you'll break it".  One also sees
	the construction "to frob a frob".

	Usage: frob, {twiddle}, and {tweak} sometimes connote points
	along a continuum.  "Frob" connotes aimless manipulation;
	"twiddle" connotes gross manipulation, often a coarse search
	for a proper setting; "tweak" connotes fine-tuning.  If
	someone is turning a knob on an oscilloscope, then if he's
	carefully adjusting it, he is probably tweaking it; if he is
	just turning it but looking at the screen, he is probably
	twiddling it; but if he's just doing it because turning a knob
	is fun, he's frobbing it.  The variant "frobnosticate" has
	also been reported.

	(1994-12-16)

frobnitz

	/frob'nits/, plural "frobnitzem" /frob'nit-zm/ or "frobni"
	/frob'ni:/ (TMRC) An unspecified physical object, a widget.
	Also refers to electronic {black boxes}.  This rare form is
	usually abbreviated to "frotz", or more commonly to {frob}.
	Also used are "frobnule" (/frob'n[y]ool/) and "frobule"
	(/frob'yool/).  Starting perhaps in 1979, "frobozz" /fr*-boz'/
	(plural: "frobbotzim" /fr*-bot'zm/) has also become very
	popular, largely through its exposure as a name via {Zork}.
	These variants can also be applied to nonphysical objects,
	such as data structures.

	Pete Samson, compiler of the original {TMRC} lexicon, adds,q
	"Under the TMRC (railway) layout were many storage boxes,
	managed (in 1958) by David R. Sawyer.  Several had fanciful
	designations written on them, such as "Frobnitz Coil Oil".
	Perhaps DRS intended Frobnitz to be a proper name, but the
	name was quickly taken for the thing".  This was almost
	certainly the origin of the term.

	[{Jargon File}]

	(1994-12-16)

Frobozz Magic Programming Language

	<language> (FMPL of Accardi).  A {prototype-based},
	{object-oriented}, {event-driven} (mainly I/O events) interpreted
	language with {functional} features.  Developed at the
	{Experimental Computing Facility}, {University of California,
	Berkeley}.

	There is an {interpreter} by Jon Blow
	<blojo@xcf.berkeley.edu>.

	Latest version: 1, as of 1992-06-02.

	{(ftp://xcf.berkeley.edu/src/local/fmpl)}.

	Mailing list: <fmpl@xcf.berkeley.edu>.

	E-mail: Jack Hsu <tcl-archive@barkley.berkeley.edu>.

	(1992-06-02)

frogging

	({University of Waterloo}) 1. Partial corruption of a text
	file or input stream by some bug or consistent glitch, as
	opposed to random events like line noise or media failures.
	Might occur, for example, if one bit of each incoming
	character on a tty were stuck, so that some characters were
	correct and others were not.

	See {terminak} for a historical example.

	2. By extension, accidental display of text in a mode where
	the output device emits special symbols or {mnemonics} rather
	than conventional ASCII.  This often happens, for example,
	when using a terminal or comm program on a device like an {IBM
	PC} with a special "high-half" character set and with the
	bit-parity assumption wrong.  A hacker sufficiently familiar
	with ASCII bit patterns might be able to read the display
	anyway.

	[{Jargon File}]

Frolic

	A {Prolog} system in {Common Lisp}.

	{(ftp://ftp.cs.utah.edu/pub/frolic.tar.Z)}.

	(1991-11-23)

front end

	1. An intermediary computer that does set-up and filtering for
	another (usually more powerful but less friendly) machine (a
	"back end").

	2. Software that provides an interface to another program
	"behind" it, which may not be as {user-friendly}.  Probably
	from analogy with hardware front-ends that interfaced with
	{mainframes}.

	[{Jargon File}]

front-end processor

	(FEP) 1. A small computer necessary to enable an {IBM}
	{mainframe} using {SNA} to communicate beyond the limits of
	the {dinosaur pen}.

	2. A small computer controlling the screen and keyboard of a
	{Symbolics 3600} {LISP Machine}.

front side bus

	<hardware> (FSB) The {bus} via which a {processor}
	communicates with its {RAM} and {chipset}; one half of the
	{Dual Independent Bus} (the other half being the {backside
	bus}).  The {L2 cache} is usually on the FSB, unless it is on
	the same chip as the processor [example?].

	In {PCI} systems, the PCI bus runs at half the FSB speed.

	{Intel}'s {Pentium 60} ran the bus and processor at 60 {MHz}.
	All later processors have used multipliers to increase the
	internal {clock} speed while maintaining the same external
	clock speed, e.g. the {Pentium 90} used a 1.5x multiplier.
	Modern {Socket 370} {motherboards} support multipliers from
	4.5x to 8.0x, and FSB speeds from 50 MHz to a proposed 83 MHz
	standard.  These higher speeds may cause problems with some
	PCI hardware.

	Altering the FSB speed and the multiplier ratio are the two
	main ways of {overclocking} processors.

	{Toms Hardware - The Bus Speed Guide
	(http://www.tomshardware.com/reviews/bus-speed-guide,49.html)}.

	{Toms Hardware - The Overclocking Guide
	(http://www.tomshardware.com/reviews/overclocking-guide,15.html)}.

	(2002-02-21)

frotzed

	<jargon> /frotst/ {down} because of hardware problems.
	Compare {fried}.  A machine that is merely frotzed may be
	fixable without replacing parts, but a fried machine is more
	seriously damaged.

	(2010-05-16)

frowney

	<chat> (Or "frowney face") See {emoticon}.

	[{Jargon File}]

fry

	1. To fail.  Said especially of smoke-producing hardware
	failures.  More generally, to become non-working.  Usage:
	never said of software, only of hardware and humans.  See
	{fried}, {magic smoke}.

	2. To cause to fail; to {roach}, {toast}, or {hose} a piece of
	hardware.  Never used of software or humans, but compare
	{fried}.

FS

	1. <file system> {file system}.

	2. <character> {File Separator}.

FSB

	{front side bus}

fsck

	1. <operating system> file system check.  The {Unix} program
	that checks a {file system} for internal consistency and bad
	blocks etc. and can repair some faults.

	fsck is often used after a {crash} when the file system has
	been left in an inconsistent state, e.g. due to incomplete
	flushing of {buffers}.

	(1998-03-06)

	2. <jargon> Used on {Usenet} {newsgroup} alt.sysadmin.recovery
	as substitute for "fuck" and became more main-stream after the
	{Communications Decency Act}.

	(1998-03-06)

FSF

	{Free Software Foundation}

FSK

	{Frequency Shift Keying}

FSL

	Formal Semantics Language.

	A language for {compiler} writing.

	["A Formal Semantics for Computer Languages and its Application
	in a Compiler-Compiler", J.A. Feldman, CACM 9(1) (Jan 1966)].

	[Sammet 1969, p. 641].

	(1995-01-23)

FSM

	1. <mathematics, algorithm, theory> {Finite State Machine}.

	2. <networking> {FDDI Switching Module}.

	({3Com} implements this device on its {LAN} switches).

	[What is it?]

	(1997-05-16)

FSP

	{File Service Protocol}

fsplit

	A tool to split up monolithic {Fortran} programs.

FT

	{fault tolerant}

FTAM

	File Transfer, Access, and Management: an application layer
	protocol for file transfer and remote manipulation (ISO 8571).

FTP

	{File Transfer Protocol}

FTP archive

	{archive site}

FTP by mail

	A service offered by {DEC} to allow people without {Internet}
	access to get copies of files which are available by
	{anonymous FTP}.  Send a message with just the word "help" in
	the body to <ftpmail@decwrl.dec.com>.

FTP server

	<networking> A network {server} program or computer which
	responds to requests for files via {FTP}.

	A busy {Internet} {archive site} may have one or more
	computers dedicated to running FTP server software.  These
	will typically have {hostnames} beginning with "ftp.",
	e.g. ftp.denet.dk.

	(1998-07-02)

FTP Software, Inc.

	<company> Developers of the original {PC/TCP} {Packet Driver}
	specification.

	Address: 26 Princess St. Wakefield, MA 01880-3004.  Telephone:
	+1 (617) 246 0900.

	(1994-12-05)

FTTP

	Do you mean {FTP} or {HTTP}?

FTW

	<chat> An ambiguous acronym which might stand for any of "For
	The Win" (the thing just referred to will help you succeed),
	"Forever Two Wheels" (biker slang), {WTF} backwards, "Fuck The
	World", "Fuck This War", "Fun To Watch" or something else.

	(2008-09-12)

FTX

	<operating system> {Stratus}' {Unix operating system}.

	(1998-07-06)

FUBAR

	1. (WWII military slang) Fucked up beyond all
	recognition (or repair).

	See {foobar}.

	2. <hardware> The Failed UniBus Address Register in a
	{VAX}.  A good example of how jargon can occasionally be snuck
	past the {suits}.

	Larry Robinson <lrobins@indiana.edu> reports the following
	nonstandard use for FUBAR:

	One day somebody got mad at the {card reader} (or card eater
	that day) on our {Univac 3200}.  He taped a sign, "This thing
	is FUBAR", on the metal weight that sits on the stack of
	unread cards.  The sign stayed there for over a year.  One
	day, somebody said, "Don't forget to put the fubar on top of
	the stack".  It stuck!  We called that weight the fubar until
	they took away the machine.  The replacement card reader had
	two spring loaded card clamps, one for the feed and one for
	the return, and we called THOSE fubars until we dumped punch
	cards.

	Incidently, the way he taped the sign on the weight made up
	for the lack of a little nylon piece that was missing from it,
	and fixed the card reader.  That's why the sign stayed there.

	[{Jargon File}]

	(1997-03-18)

FUD

	<jargon> /fuhd/ An acronym invented by {Gene Amdahl}
	after he left {IBM} to found his own company: "FUD is the
	fear, uncertainty, and doubt that {IBM} sales people instill
	in the minds of potential customers who might be considering
	[Amdahl] products."  The idea, of course, was to persuade them
	to go with safe IBM gear rather than with competitors'
	equipment.  This implicit coercion was traditionally
	accomplished by promising that Good Things would happen to
	people who stuck with IBM, but Dark Shadows loomed over the
	future of competitors' equipment or software.

	[{Jargon File}]

	(1995-05-23)

fudge

	1. To perform in an incomplete but marginally acceptable way,
	particularly with respect to the writing of a program.  "I
	didn't feel like going through that pain and suffering, so I
	fudged it - I'll fix it later."

	2.  The resulting code.

	[{Jargon File}]

fudge factor

	A value or parameter that is varied in an ad hoc way to
	produce the desired result.  The terms "tolerance" and {slop}
	are also used, though these usually indicate a one-sided
	leeway, such as a buffer that is made larger than necessary
	because one isn't sure exactly how large it needs to be, and
	it is better to waste a little space than to lose completely
	for not having enough.  A fudge factor, on the other hand, can
	often be tweaked in more than one direction.  A good example
	is the "fuzz" typically allowed in {floating-point}
	calculations: two numbers being compared for equality must be
	allowed to differ by a small amount; if that amount is too
	small, a computation may never terminate, while if it is too
	large, results will be needlessly inaccurate.  Fudge factors
	are frequently adjusted incorrectly by programmers who don't
	fully understand their import.

Fudgets

	<programming> (From "functional widgets") {Graphical user
	interface} {widgets} available as The Fudget library - a
	toolkit for concurrent programming of graphical user
	interfaces, {client/servers} and more written in {Haskell} by
	Thomas Hallgren <hallgren@cs.chalmers.se> and Magnus Carlsson
	<magnus@cs.chalmers.se>.

	Version: h9 1995-07-04 (Baastad Spring School Release).

	{(http://cs.chalmers.se/Fudgets/)}.

	{(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers)}.

	(1996-03-17)

FUDGIT

	A double-precision multi-purpose fitting program by Thomas
	Koenig <ig25@rz.uni-karlsruhe.de>.  It can manipulate complete
	columns of numbers in the form of vector arithmetic.  FUDGIT
	is also an expression language {interpreter} understanding
	most of {C} {grammar} except pointers.  Morever, FUDGIT is a
	front end for any plotting program supporting commands from
	stdin, e.g. {Gnuplot}.

	Version 2.27 runs on {AIX}, {HP-UX}, {Linux}, {IRIX}, {NeXT},
	{SunOS}, {Ultrix}.

	{(ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/)}.

	(1993-03-22)

FUD wars

	/fuhd worz/ Political posturing, intended to create {FUD},
	engaged in by hardware and software vendors ostensibly
	committed to standardisation but actually willing to fragment
	the market to protect their own shares.  The {Unix
	International} vs. {OSF} conflict is but one outstanding
	example.

	[{Jargon File}]

	(1994-12-01)

Fuel-can

	A derogatory term for the {Atari Falcon}.

	(1994-12-22)

Fugue

	<language, music> A music language implemented in {Xlisp}.

	["Fugue: A Functional Language for Sound Synthesis",
	R.B. Dannenberg et al, Computer 24(7):36-41 (Jul 1991)].

	(1994-12-01)

Fujitsu

	<company> A Japanese elecronics corporation.  Fujitsu owns
	{ICL}, {Amdahl Corporation}, and {DMR}.

	Home {USA (http://fujitsu.com/)}, {Japan
	(http://fujitsu.co.jp/index-e.html)}.

	(2000-04-03)

full-custom

	Design of {integrated circuits} at the transistor or polygon
	level.  This is in contrast to the use of libraries of
	components.  Full-custom design requires considerable skill
	and experience and is usually only feasible for simple
	circuits, especially ones with much repetition, such as memory
	device, where a small saving in the size and power consumption
	of a component will yield a large overall saving.

	(1994-12-01)

full-duplex

	<communications> (fdx, from {telegraphy}) 1. A type of
	{duplex} communications channel which carries data in both
	directions at once.

	On purely {digital} connections, full-duplex communication
	requires two pairs of wires.  On {analog} networks or in
	digital networks using carriers, it is achieved by dividing
	the {bandwidth} of the line into two frequencies, one for
	sending, and the other for receiving.

	2. An obsolete term for {remote echo}.

	Compare {simplex}, {half-duplex}, {double-duplex}.

	(2001-07-21)

full-duplex Switched Ethernet

	<networking> (FDSE) A {Switched Ethernet} link which can carry
	data in both directions simultaneously, doubling transmission
	capacity from the usual 10 to 20 megabits per second.

	(1996-06-20)

full laziness

	<functional programming> A transformation, described by
	Wadsworth in 1971, which ensures that subexpressions in a
	function body which do not depend on the function's arguments
	are only evaluated once.  E.g. each time the function

		f x = x + sqrt 4

	is applied, (sqrt 4) will be evaluated.  Since (sqrt 4) does
	not depend on x, we could transform this to:

		f x = x + sqrt4
		sqrt4 = sqrt 4

	We have replaced the dynamically created (sqrt 4) with a
	single shared constant which, in a {graph reduction} system,
	will be evaluated the first time it is needed and then updated
	with its value.

	See also {fully lazy lambda lifting}, {let floating}.

	(1994-11-09)

full-motion video

	<video> (FMV) Any kind of {video} that is theoretically
	capable of changing the entire content on the screen fast
	enough that the transitions are not obvious to the human eye,
	i.e. about 24 times a second or more.  In practise most {video
	encoding} relies on the fact that in most video there is
	relatively little change from one {frame} to the next.  This
	allows for {compression} of the video data.

	The term is used, chiefly in {computer games}, in contrast to
	techniques such as the use of {sprites} that move against a
	more-or-less fixed background.

	(2011-01-04)

full outer join

	{outer join}

fully associative cache

	<memory management> A type of {cache} in which data from any
	address can be stored in any cache location.  The whole address
	must be used as the tag (the value that identifies a block of data
	in the cache).  All tags must be compared simultaneously
	(associatively) with the requested address and if one matches then
	its associated data is accessed.  This requires an {associative
	memory} to hold the tags which makes this form of cache more
	expensive.  It does however solve the problem of contention for
	cache locations ({cache conflict}) since a block need only be
	flushed when the whole cache is full and then the block to flush
	can be selected in a more efficient way.

	The alternatives are {direct mapped cache} or {set associative
	cache}.

	(2013-08-09)

Fully Automated Compiling Technique

	<language> (FACT, "Honeywell-800 Business Compiler") A
	pre-{COBOL} English-like business data processing language for
	the {Honeywell 800}, developed ca. 1959.

	[Sammet 1969, p. 327].

	(1994-12-01)

fully lazy lambda lifting

	John Hughes's optimisation of {lambda lifting} to give {full
	laziness}.  {Maximal free expressions} are shared to minimise
	the amount of recalculation.  Each inner sub-expression is
	replaced by a function of its maximal free expressions
	(expressions not containing any {bound variable}) applied to
	those expressions.  E.g.

		f = \ x . (\ y . (+) (sqrt x) y)

	((+) (sqrt x)) is a maximal free expression in
	(\ y . (+) (sqrt x) y) so this inner {abstraction} is replaced
	with

		(\ g . \ y . g y) ((+) (sqrt x))

	Now, if a {partial application} of f is shared, the result of
	evaluating (sqrt x) will also be shared rather than
	re-evaluated on each application of f.  As Chin notes, the
	same benefit could be achieved without introducing the new
	{higher-order function}, g, if we just extracted out (sqrt x).

	This is similar to the {code motion} optimisation in
	{procedural languages} where constant expressions are moved
	outside a loop or procedure.

	(1994-12-01)

fully qualified domain name

	<networking> (FQDN) The full name of a system, consisting of
	its local {hostname} and its {domain} name, including a
	{top-level domain} (tld).  For example, "venera" is a hostname
	and "venera.isi.edu" is an FQDN.  An FQDN should be sufficient
	to determine a unique {Internet address} for any host on the
	{Internet}.  This process, called "name resolution", uses the
	{Domain Name System} (DNS).

	With the explosion of interest in the {Internet} following the
	advent of the {web}, domain names (especially the
	most significant two components, e.g. "sun.com", and
	especially in the ".com" tld) have become a valuable part of
	many companies' "brand".  The allocation of these, overseen by
	{ICANN}, has therefore become highly political and is
	performed by a number of different registrars.  There are
	different registries for the different tlds.

	A final dot on the end of a FQDN can be used to tell the DNS
	that the name is fully qualified and so needs no extra
	suffixes added, but it is not required.

	See also {network, the}, {network address}.

	(2005-06-09)

fum

	<jargon> At {Xerox PARC}, often the third standard
	{metasyntactic variable} after {foo} and {bar}.  {baz} is more
	common outside PARC.

	[{Jargon File}]

	(2003-09-24)

Fun

	A {typed lambda-calculus}, similar to {SOL}[2].  "On
	Understanding Types, Data Abstractions and Polymorphism",
	L. Cardelli et al, ACM Comp Surveys 17(4) (Dec 1985).

function

	1. <mathematics> (Or "map", "mapping") If D and C are sets
	(the domain and codomain) then a function f from D to C,
	normally written "f : D -> C" is a subset of D x C such that:

	1. For each d in D there exists some c in C such that (d,c) is
	an element of f.  I.e. the function is defined for every
	element of D.

	2. For each d in D, c1 and c2 in C, if both (d,c1) and (d,c2)
	are elements of f then c1 = c2.  I.e. the function is uniquely
	defined for every element of D.

	See also {image}, {inverse}, {partial function}.

	2. <programming> Computing usage derives from the mathematical
	term but is much less strict.  In programming (except in
	{functional programming}), a function may return different
	values each time it is called with the same argument values
	and may have {side effects}.

	A {procedure} is a function which returns no value but has
	only {side-effects}.  The {C} language, for example, has no
	procedures, only functions.  {ANSI C} even defines a {type},
	{void}, for the result of a function that has no result.

	(1996-09-01)

functional

	1. Working correctly.

	2. Pertaining to {functional programming}.

	3. {higher-order function}.

functional database

	<database, language> A {database} which uses a {functional
	language} as its {query language}.

	Databases would seem to be an inappropriate application for
	functional languages since, a {purely functional language}
	would have to return a new copy of the entire database every
	time (part of) it was updated.  To be practically {scalable},
	the update mechanism must clearly be {destructive} rather than
	functional; however it is quite feasible for the {query
	language} to be purely functional so long as the database is
	considered as an argument.

	One approach to the update problem would use a {monad} to
	encapsulate database access and ensure it was {single
	threaded}.  Alternative approaches have been suggested by
	Trinder, who suggests non-destructive updating with shared
	data structures, and Sutton who uses a variant of a Phil
	Wadler's {linear type} system.

	There are two main classes of functional database languages.
	The first is based upon {Backus}' {FP} language, of which
	{FQL} is probably the best known example.  {Adaplan} is a more
	recent language which falls into this category.

	More recently, people have been working on languages which are
	syntactically very similar to modern {functional programming
	languages}, but which also provide all of the features of a
	database language, e.g. bulk data structures which can be
	incrementally updated, type systems which can be incrementally
	updated, and all data persisting in a database.  Examples are
	{PFL} [Poulovassilis&Small, VLDB-91], and {Machiavelli} [Ohori
	et al, ACM SIGMOD Conference, 1998].

	{Query optimisation} is very important for database languages
	in general and the {referential transparency} of functional
	languages allows optimisations which would be harder to verify
	in presence of {side-effects}.

	[Trinder, P., "Referentially transparent database languages",
	1989 Glasgow Workshop on Functional programming]

	[Breazu-Tannen et al., DBPL-91].

	[Poulovassilis, VLDB-94].

	(1995-05-09)

functional dependency

	<database> Given a relation R (in a {relational database}),
	attribute Y of R is functionally dependent on attribute X of R
	and X of R functionally determines Y of R (in symbols R.X ->
	R.Y) if and only if each X in R has associated with it
	precisely one Y in R (at any one time).  Attributes X and Y
	may be {composite}.

	This is very close to a {function} in the mathematical sense.

	(1997-09-01)

functionality

	<programming> Waffle for "{features}" or "function".  The
	capabilities or behaviours of a program, part of a program, or
	system, seen as the sum of its {features}.  Roughly, "the
	things it can do".  Generally used in a comparative sense,
	e.g. "The latest update adds some useful functionality".

	(1997-07-14)

functional language

	<language> A language that supports and encourages {functional
	programming}.

	(1995-11-08)

functional program

	<language> A program employing the {functional programming}
	approach or written in a {functional language}.

	(1995-11-07)

functional programming

	<programming> (FP) A program in a functional language consists
	of a set of (possibly {recursive}) {function} definitions and
	an expression whose value is output as the program's result.
	Functional languages are one kind of {declarative language}.
	They are mostly based on the {typed lambda-calculus} with
	constants.  There are no {side-effects} to expression
	evaluation so an expression, e.g. a function applied to
	certain arguments, will always evaluate to the same value (if
	its evaluation terminates).  Furthermore, an expression can
	always be replaced by its value without changing the overall
	result ({referential transparency}).

	The order of evaluation of subexpressions is determined by the
	language's {evaluation strategy}.  In a {strict}
	({call-by-value}) language this will specify that arguments
	are evaluated before applying a function whereas in a
	non-strict ({call-by-name}) language arguments are passed
	unevaluated.

	Programs written in a functional language are generally
	compact and elegant, but have tended, until recently, to run
	slowly and require a lot of memory.

	Examples of purely functional languages are {Clean}, {FP},
	{Haskell}, {Hope}, {Joy}, {LML}, {Miranda}, and {SML}.  Many
	other languages such as {Lisp} have a subset which is purely
	functional but also contain non-functional constructs.

	See also {lazy evaluation}, {reduction}.

	{Lecture notes
	(ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.ps)}.
	or the same {in dvi-format
	(ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.dvi)}.

	{FAQ
	(http://cs.nott.ac.uk/Department/Staff/gmh/faq.html)}.

	{SEL-HPC Article Archive
	(http://lpac.ac.uk/SEL-HPC/Articles/)}.

	(2003-03-25)

functional programming language

	<language> A language that supports and encourages {functional
	programming}.

	(1995-11-08)

functional requirements

	<specification> What a system should be able to do, the
	functions it should perform.

	This term is used at both the {user requirements} analysis and
	{software requirements} specifications phases in the {software
	life-cycle}.

	An example of a non-functional requirement is an
	initialisation sequence incorporated into the software that is
	specific to a given customer.

	(2001-05-22)

functional specification

	<programming, project> A description of what a system (e.g. a
	piece of {software}) does or should do (but not how it should
	do it).  The functional specification is one of the inputs to
	the {design} process.

	See {IEEE}/{ANSI} Std. 610.12-1990.

	(1999-04-07)

functional testing

	<testing> (Or "black-box testing", "closed-box testing") The
	application of test data derived from {functional requirements}
	without regard to how the system is implemented.

	(1996-05-15)

functional unit

	A subsystem of the {central processing unit} of a computer.
	E.g. {arithmetic and logic unit}, {memory address register},
	{barrel shifter}, {register file}.

	(1995-02-10)

function application

	A {function} applied to (some of) its {arguments}.  If it is
	not applied to all its argument then it is a "{partial
	application}".  Application is usually written in the form
	f(x) but some languages such as command-line interpreters and
	many {functional languages} use {juxtaposition}: f x.  {Lisp}
	places the parentheses around the whole application: (f x).

function complete

	<programming> State of a {software} component or system such
	that each {function} described by the software's {functional
	specification} can be reached by at least one {functional
	path}, and attempts to operate as specified.

	(1999-04-07)

Function Graph Language

	<language> (FGL) The {machine language} for the AMPS
	({Applicative Multi-Processing System}) proposed by Robert
	Keller, Gary Lindstrom and Suhas Patil at the University of
	Utah.

	(2007-03-22)

function inlining

	<programming> Defining a {member function}'s {implementation}
	within the {class} where it was also declared.  This is
	usually reserved for small functions since the inline function
	must be re-compiled for every instance of the class.

	(2007-03-22)

function key

	<hardware> (From the {IBM 3270} terminal's Programmed Function
	Keys (PF keys)) One of a set of special keys on a computer or
	{terminal} keyboard which can be programmed so as to cause an
	{application program} to perform certain actions.

	Function keys on a terminal may either generate short fixed
	sequences of characters, often beginning with the {escape}
	character ({ASCII} 27), or the characters they generate may be
	configured by sending special character sequences to the
	terminal.

	On a {microcomputer} keyboard, the function keys may generate
	a fixed, single byte code, outside the normal {ASCII} range,
	which is translated into some other configurable sequence by
	the keyboard {device driver} or interpreted directly by the
	{application program}.

	(1995-02-07)

Function Point Analysis

	<programming> (FPA) A standard metric for the relative size
	and complexity of a software system, originally developed by
	Alan Albrecht of {IBM} in the late 1970s.

	Functon points (FPs) can be used to estimate the relative size
	and complexity of software in the early stages of development
	- analysis and design.  The size is determined by identifying
	the components of the system as seen by the end-user: the
	inputs, outputs, inquiries, interfaces to other systems, and
	logical internal files.  The components are classified as
	simple, average, or complex.  All of these values are then
	scored and the total is expressed in Unadjusted FPs (UFPs).
	Complexity factors described by 14 general systems
	characteristics, such as reusability, performance, and
	complexity of processing can be used to weight the UFP.
	Factors are also weighted on a scale of 0 - not present, 1 -
	minor influence, to 5 - strong influence.  The result of these
	computations is a number that correlates to system size.

	Although the FP metric doesn't correspond to any actual
	physical attribute of a software system (such as {lines of
	code} or the number of subroutines) it is useful as a relative
	measure for comparing projects, measuring productivity, and
	estimating the amount a development effort and time needed for
	a project.

	See also {International Function Point Users Group}.

	(1996-05-16)

functor

	In {category theory}, a functor F is an operator on types.  F
	is also considered to be a {polymorphic} operator on functions
	with the type

		F : (a -> b) -> (F a -> F b).

	Functors are a generalisation of the function "{map}".  The
	type operator in this case takes a type T and returns type
	"list of T".  The map function takes a function and applies it
	to each element of a list.

	(1995-02-07)

funky

	Said of something that functions, but in a slightly strange,
	{kluge}y way.  It does the job and would be difficult to
	change, so its obvious non-optimality is left alone.  Often
	used to describe interfaces.  The more bugs something has that
	nobody has bothered to fix because workarounds are easier, the
	funkier it is.  {TECO} and {UUCP} are funky.  The {Intel}
	{i860}'s exception handling is extraordinarily funky.  Most
	standards acquire funkiness as they age.  "The new mailer is
	installed, but is still somewhat funky; if it bounces your
	mail for no reason, try resubmitting it."  "This {UART} is
	pretty funky.  The data ready line is active-high in interrupt
	mode and active-low in {DMA} mode."

	[{Jargon File}]

FUNLOG

	Functional programming plus unification.  "Lazy" in the sense
	that expressions are reduced only if they are not unifiable.

	["FUNLOG: A Computational Model Integrating Logic Programming
	and Functional Programming", P.A. Subrahmanyam et al, in Logic
	Programming: Functions, Relations and Equations, D. DeGroot et
	al eds, P-H 1986].

FunnelWeb

	A {literate-programming} tool by Ross Williams
	<ross@spam.adelaide.edu.au>.  It emphasises simplicity and
	reliability.  It provides a {macro} facility and assists in
	the production of typeset {documentation}.  It is independent
	of the input programming language.

	Posted to comp.sources.unix volume 26 under {CopyLeft}.  Runs
	on {Sun}, {Vax}, {Macintosh} and {IBM PC}.

	(1993-04-11)

funny money

	Notional units of computing time and/or storage handed to
	students at the beginning of a computer course; also called
	"play money" or "purple money" (in implicit opposition to real
	or "green" money).

	In New Zealand and Germany the odd usage "paper money" has
	been recorded; in Germany, the particularly amusing synonym
	"transfer ruble" commemorates the funny money used for trade
	between COMECON countries back when the Soviet Bloc still
	existed.

	When your funny money ran out, your account froze and you
	needed to go to a professor to get more.  Fortunately, the
	plunging cost of {time-sharing} cycles has made this less
	common.  The amounts allocated were almost invariably too
	small, even for the non-hackers who wanted to slide by with
	minimum work.  In extreme cases, the practice led to
	small-scale black markets in bootlegged computer accounts.  By
	extension, phantom money or quantity tickets of any kind used
	as a resource-allocation hack within a system.

	[{Jargon File}]

furigana

	<human language, Japanese> (Or "rubi") Small {hiragana},
	written above {kanji} (and these days sometimes above Latin
	characters) as a phonetic comment and reading aid.  The
	singular and plural are both "furigana".

	(2000-12-30)

furrfu

	<jargon> Written-only {rot13} "Sheesh!".  "furrfu" evolved in
	mid-1992 as a response to postings repeating urban myths on
	{newsgroup} {news:alt.folklore.urban}, after some posters
	complained that "Sheesh!" as a response to {newbies} was being
	overused.

	(1995-10-25)

FUSE

	A {DEC} {software development environment} for {ULTRIX},
	offering an integrated toolkit for developing, testing,
	debugging and maintenance.

FUSION

	Software package supplied by Network Research Corporation
	claiming to connect various different configurations of LAN.

fusion

	<programming> A {program transformation} where a {composition}
	of two functions is replaced by in-lining them and combining
	their bodies.  E.g.

		f x = g (h x)	==>	f x = g (2 * x)
		g x = x + 1		f x = 2 * x + 1
		h x = 2 * x

	This has the beneficial effect of reducing the number of
	function calls.  It can be especially useful where the
	intermediate result is a large data structure which can be
	eliminated.

	See also {vertical loop combination}.

	(1994-12-05)

FutureBasic

	<language> A {BASIC} compiler for the {Macintosh}.

	{(http://stazsoftware.com/futurebasic/)}.

	[Summary?  Version?]

	(2002-08-28)

future date testing

	<testing> The process of setting a computer's date to a future
	date to test a program's (expected or unexpected) date
	sensitivity.  Future date testing only shows the effects of
	dates on the computer(s) under scrutiny, it does not take into
	account knock-on effects of dates on other connected systems.

	(2000-09-11)

futz

	<jargon> ("futzing around") To waste time on activity
	that is often experimental and may or may not be
	productive.  Not normally used for game playing.

	(2008-11-27)

fuzzball

	A {DEC} {LSI-11} running a particular suite of homebrewed
	software written by Dave Mills and assorted co-conspirators,
	used in the early 1980s for {Internet} {protocol} testbedding
	and experimentation.  These were used as {NSFnet} {backbone}
	sites in its early 56KB-line days.  A few were still active on
	the {Internet} in early 1991, doing odd jobs such as network
	time service.

	[{Jargon File}]

	(1994-12-05)

fuzzy computing

	{fuzzy logic}

fuzzy logic

	A superset of {Boolean logic} dealing with the concept of
	partial truth -- {truth values} between "completely true" and
	"completely false".  It was introduced by Dr. Lotfi Zadeh of
	{UCB} in the 1960's as a means to model the uncertainty of
	{natural language}.

	Any specific theory may be generalised from a discrete (or
	"crisp") form to a continuous (fuzzy) form, e.g. "fuzzy
	calculus", "fuzzy differential equations" etc.  Fuzzy logic
	replaces Boolean truth values with degrees of truth which are
	very similar to probabilities except that they need not sum to
	one.  Instead of an assertion pred(X), meaning that X
	definitely has the property associated with {predicate}
	"pred", we have a truth function truth(pred(X)) which gives
	the degree of truth that X has that property.  We can combine
	such values using the standard definitions of fuzzy logic:

		truth(not x)   = 1.0 - truth(x)
		truth(x and y) = minimum (truth(x), truth(y))
		truth(x or y)  = maximum (truth(x), truth(y))

	(There are other possible definitions for "and" and "or",
	e.g. using sum and product).  If truth values are restricted to
	0 and 1 then these functions behave just like their Boolean
	counterparts.  This is known as the "extension principle".

	Just as a Boolean predicate asserts that its argument
	definitely belongs to some subset of all objects, a fuzzy
	predicate gives the degree of truth with which its argument
	belongs to a {fuzzy subset}.

	{Usenet} newsgroup: {news:comp.ai.fuzzy}.

	E-mail servers: <fuzzynet@aptronix.com>,
	<rnalib@its.bldrdoc.gov>, <fuzzy-server@til.com>.

	{(ftp://ftp.hiof.no/pub/Fuzzy)},
	{(ftp://ntia.its.bldrdoc.gov/pub/fuzzy)}.

	{FAQ
	(ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/fuzzy-logic)}.

	{James Brule, "Fuzzy systems - a tutorial", 1985
	(http://life.anu.edu.au/complex_systems/fuzzy.html)}.

	{STB Software Catalog
	(http://krakatoa.jsc.nasa.gov/stb/catalog.html)}, includes a
	few fuzzy tools.

	[H.J. Zimmerman, "Fuzzy Sets, Decision Making and Expert
	Systems", Kluwer, Dordrecht, 1987].

	["Fuzzy Logic, State of the Art", Ed. R. Lowen, Marc Roubens,
	Theory and Decision Library, D: System theory, Knowledge
	Engineering and Problem Solving 12, Kluwer, Dordrecht, 1993,
	ISBN 0-7923-2324-6].

	(1995-02-21)

fuzzy subset

	In {fuzzy logic}, a fuzzy subset F of a set S is defined by a
	"membership function" which gives the degree of membership of
	each element of S belonging to F.

fweep

	({WPI}) One step below a {gweep}, a person who uses the system
	solely to play games and use {electronic mail}.

	Compare {dweeb}, {twink}, {terminal junkie}, {tourist},
	{weenie}.

	(1995-01-31)

FWIW

	For what it's worth.

fx

	<networking> The {country code} for metropolitan France.

	Apprently not widely used.

	(1999-01-27)

FX-87

	Effects.  A {polymorphic} language based on {Scheme}, allowing
	{side effects} and {first-class} functions.  It attempts to
	integrate functional and {imperative programming}.
	Expressions have types, side effects (e.g. reading, writing or
	allocating) and regions (stating where the effects may occur).

	Versions: FX-89, {FX-90}.

	{(ftp://brokaw.lcs.mit.edu/)}.

	["The FX-87 Reference Manual", D.K. Gifford
	<gifford@lcs.mit.edu> et al, MIT/LCS/TR-407, Oct 1987].

	(1995-01-31)

FX-90

	<language> A language with partial type and effect
	reconstruction and {first-class} {modules}.

	(1995-01-31)

FXO

	{Foreign eXchange Office}

FXS

	{Foreign eXchange Subscriber}

FYA

	For your amusement.

FYI

	{For Your Information}

FYI4

	[Malkin, G., and A. Marine, "FYI on Questions and Answers:
	Answers to Commonly asked "New Internet User" Questions", FYI
	4, RFC 1325, Xylogics, SRI, May 1992.]

G

	1. <unit> The abbreviated form of {giga-}.

	2. <language> ["G: A Functional Language with Generic Abstract
	Data Types", P.A.G. Bailes, Computer Langs 12(2):69-94, 1987].

	3. <language> A language developed at {Oregon State
	University} in 1988 which combines {functional programming},
	{object-oriented programming}, relational, {imperative
	programming} and {logic programming} (you name it we got it).

	["The Multiparadigm Language G", J. Placer, Computer Langs
	16:235-258, 1991].

	[{Jargon File}]

	(1996-08-12)

<g>

	<chat> grin.  An alternative to {smiley}.

	[{Jargon File}]

	(1998-01-18)

G2

	A {real-time} {expert system} from {Gensym Corporation}.

G3

	1. <protocol, compression> {Group 3} fax.

	2. <hardware, processor> {PowerPC G3}.

	(1998-09-10)

G4

	{Group 4}

GA

	{genetic algorithm}

ga

	<networking> The {country code} for Gabon.

	(1999-01-27)

Gabriel

	<language> A graphical {DSP} language for {simulation} and
	real systems.

	["A Design Tool for Hardware and Software for Multiprocessor
	DSP Systems," E.A.  Lee, E. Goei, J. Bier & S. Bhattacharya,
	DSP Systems, Proc ISCAS-89, 1989].

	[{Jargon File}]

	(1994-12-23)

gabriel

	/gay'bree-*l/ (After {Richard Gabriel}) An unnecessary (in the
	opinion of the opponent) stalling tactic, e.g. tying one's
	shoelaces or combing one's hair repeatedly, asking the time,
	etc.  Also used to refer to the perpetrator of such tactics.
	Also, "pulling a Gabriel", "Gabriel mode".

	[{Jargon File}]

	(1999-10-12)

Gabriel, Richard

	{Richard Gabriel}

GADS

	Picture retrieval language.  "Integrated Geographical
	Databases: The GADS Experience", P.E. Mantey et al, in
	Database Techniques for Pictorial Applications, A. Blaser ed,
	pp.193-198.

Gaelic

	For automated test programs.  Used in military, essentially
	replaced by ATLAS.

gag

	Equivalent to {choke}, but connotes more disgust. "Hey, this
	is Fortran code.  No wonder the C compiler gagged."  See also
	{barf}.

	[{Jargon File}]

GAIA

	GUI Application Interoperability Architecture.  An {OSF}
	project.

GAL

	<hardware> {Generic Array Logic}.

	(1995-12-09)

Galaxy

	<language> An extensible language in the vein of {EL/1} and
	{RCC}.

	["Introduction to the Galaxy Language", Anne F. Beetem et al,
	IEEE Software 6(3):55-62].

	(1995-12-09)

Galileo

	["Galileo: A Strongly Typed Interactive Conceptual Language",
	A.  Albano et al, ACM Trans Database Sys 10(2):230-260 (June
	1985)].

Gambit

	<language> A variant of {Scheme} R3.99 supporting the {future}
	construct of {Multilisp} by Marc Feeley
	<feeley@iro.umontreal.ca>.  Implementation includes optimising
	compilers for {Macintosh} (with Toolbox and built-in editor)
	and {Motorola} {680x0} {Unix} systems and {HP300}, {BBN}
	{GP100} and {NeXT}.  Version 2.0 conforms to the {IEEE}
	{Scheme} standard.

	Gambit used {PVM} as its intermediate language.

	{(ftp://acorn.cs.brandeis.edu/dist)},
	{(ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f7/ff764/Gambit_Terp)}.
	{(ftp://ftp.iro.umontreal.ca/pub/parallele/gambit/)}.

	Mailing list: gambit@trex.umontreal.ca.

	(1998-02-10)

games

	<games> "The time you enjoy wasting is not time wasted." --
	{Bertrand Russell}.

	Here are some games-related pages on the {Web}: {Imperial
	Nomic (http://mit.edu:8001/people/achmed/fascist/)},
	{Thoth's games and recreations page
	(http://cis.ufl.edu/~thoth/library/recreation.html)},
	{Games Domain (http://wcl-rs.bham.ac.uk/GamesDomain)},
	{Zarf's	List of Games on the Web
	(http://leftfoot.com/games.html)},
	{Dave's list of pointers to games resources
	(http://wcl-rs.bham.ac.uk/~djh/index.html)},
	{Collaborative Fiction
	(http://asylum.cid.com/fiction/fiction.html)}.

	See also {3DO}, {ADL}, {ADVENT}, {ADVSYS}, {alpha/beta
	pruning}, {Amiga}, {CHIP-8}, {Core Wars}, {DROOL}, {empire},
	{I see no X here.}, {Infocom}, {Inglish}, {initgame}, {life},
	{minimax}, {moria}, {mudhead}, {multi-user Dimension},
	{nethack}, {ogg}, {plugh}, {rogue}, {SPACEWAR}, {virtual
	reality}, {wizard mode}, {wumpus}, {xyzzy}, {ZIL}, {zorkmid}.

	See also {game theory}.

	(1996-03-03)

game tree

	<games> A {tree} representing contingencies in a game.  Each
	{node} in a game tree represents a possible position (e.g.,
	possible configuration of pieces on a chessboard) in the game,
	and each branching ("edge" in graph terms) represents a
	possible move.

	(1998-11-14)

GAMMA

	<language> 1. A language for matrices and generation of
	mathematical programming reports.

	["GAMMA 3.3 for MPS/MPSX, IBM System:/360", Bonnor & Moore
	Assocs (Mar 1975)].

	2. A high-level parallel language.

	[Research Directions in High-Level Parallel Languages,
	LeMetayer ed, Springer 1992].

	(1994-11-29)

gamma correction

	<hardware> Adjustments applied during the display of a digital
	representation of colour on a screen in order to compensate
	for the fact that the {Cathode Ray Tubes} used in computer
	{monitors} (and televisions) produce a light intensity which
	is not proportional to the input {voltage}.  The light
	intensity is actually proportional to the input voltage raised
	to the inverse power of some constant, called gamma.  Its
	value varies from one display to another, but is usually
	around 2.5.

	Because it is more intuitive for the colour components (red,
	green and blue) to be varied linearly in the computer, the
	actual voltages sent to the monitor by the {display hardware}
	must be adjusted in order to make the colour component
	intensity on the screen proportional to the value stored in
	the computer's {display memory}.  This process is most easily
	achieved by a dedicated module in the display hardware which
	simply scales the outputs of the {display memory} before
	sending them to the {digital-to-analogue converters}.

	More expensive {graphics cards} and {workstations}
	(particularly those used for {CAD} applications) will have a
	gamma correction facility.

	In combination with the "{white-point}" gamma correction is
	used to achieve precise colour matching.

	{Robert Berger's explanation of monitor gamma
	(http://cs.cmu.edu/afs/cs.cmu.edu/user/rwb/www/gamma.html)}.

	[{"Digital Imaging in C and the World Wide Web", W. David
	Schwaderer (http://itknowledge.com/)}].

	(1999-02-01)

GAMS

	{Guide to Available Mathematical Software}

gamut

	The gamut of a {monitor} is the set of colours it can display.
	There are some colours which can't be made up of a mixture of
	red, green and blue phosphor emissions and so can't be
	displayed by any monitor.

	[Examples?]

	(1994-11-29)

GAN

	Generating and Analyzing Networks.  "GAN - A System for
	Generating and Analyzing Activity Networks", A. Schurmann,
	CACM 11(10) (Oct 1968).

GANDALF

	A software development environment from Carnegie Mellon
	University.

gang bang

	The use of large numbers of loosely coupled programmers in an
	attempt to wedge a great many features into a product in a
	short time.  Though there have been memorable gang bangs
	(e.g. that over-the-weekend assembler port mentioned in
	Steven Levy's "Hackers"), most are perpetrated by large
	companies trying to meet deadlines; the inevitable result is
	enormous buggy masses of code entirely lacking in
	{orthogonal}ity.  When market-driven managers make a list of
	all the features the competition has and assign one programmer
	to implement each, the probability of maintaining a coherent
	(or even functional) design goes infinitesimal.  See also
	{firefighting}, {Mongolian Hordes technique}, {Conway's Law}.

	[{Jargon File}]

GAP

	<mathematics, tool> Groups Algorithms and Programming.

	A system for {symbolic mathematics} for computational discrete
	algebra, especially group theory, by Johannes Meier, Alice
	Niemeyer, Werner Nickel, and Martin Schonert of Aachen.  GAP
	was designed in 1986 and implemented 1987.  Version 2.4 was
	released in 1988 and version 3.1 in 1992.

	{Sun version (ftp://ftp.math.rwth-aachen.de/pub/gap)}.

	["GAP 3.3 Manual, M. Schonert et al, Lehrstuhl D Math, RWTH
	Aachen, 1993].

	(1995-04-12)

GAPLog

	General Amalgamated Programming with Logic.  {LOGPRO} group,
	Linkoping Sweden.  A restricted version of {constraint logic
	programming}, using {S-unification} but not restricted to a
	single domain.

	[Chapter in forthcoming Springer book on ESPRIT]

garbageabetical order

	<humour> 1. The result of using an {insertion} sort to merge
	data into an unsorted list.

	2. The state of any file or list that is supposed to be
	sorted, but is not.

	(1997-02-11)

garbage collect

	{garbage collection}

garbage collection

	<programming> (GC) The process by which dynamically allocated
	storage is reclaimed during the execution of a program.  The
	term usually refers to automatic periodic storage reclamation
	by the garbage collector (part of the {run-time system}), as
	opposed to explicit code to free specific blocks of memory.

	Automatic garbage collection is usually triggered during
	memory allocation when the amount free memory falls below some
	threshold or after a certain number of allocations.  Normal
	execution is suspended and the garbage collector is run.
	There are many variations on this basic scheme.

	Languages like {Lisp} represent expressions as {graphs} built
	from {cells} which contain pointers and data.  These languages
	use automatic {dynamic storage allocation} to build
	expressions.  During the evaluation of an expression it is
	necessary to reclaim space which is used by subexpressions but
	which is no longer pointed to by anything.  This reclaimed
	memory is returned to the free memory pool for subsequent
	reallocation.

	Without garbage collection the program's memory requirements
	would increase monotonically throughout execution, possibly
	exceeding system limits on {virtual memory} size.

	The three main methods are {mark-sweep garbage collection},
	{reference counting} and {copying garbage collection}.

	See also the {AI koan} about garbage collection.

	(1997-08-25)

Garbage In, Garbage Out

	<humour> (GIGO) /gi:'goh/ {Wilf Hey}'s maxim expressing the
	fact that computers, unlike humans, will unquestioningly
	process nonsensical input data and produce nonsensical output.
	Of course a properly written program will reject input data
	that is obviously erroneous but such checking is not always
	easy to specify and is tedious to write.

	GIGO is usually said in response to {lusers} who complain that
	a program didn't "do the right thing" when given imperfect
	input or otherwise mistreated in some way.  Also commonly used
	to describe failures in human decision making due to faulty,
	incomplete, or imprecise data.

	The expansion "Garbage In, Gospel Out" is an ironic comment on
	the tendency to put excessive trust in "computerised" data.

	[{Jargon File}]

	(2004-10-03)

Gargoyle

	A language for compiler writing.

	[J.V. Garwick, CACM 7(1):16-20, (Jan 1964)].

	(1994-11-04)

Garnet

	1. A graphical object editor and {Macintosh} environment.

	2. A user interface development environment for {Common Lisp}
	and {X11} from The Garnet project team.  It helps you create
	graphical, interactive user interfaces.

	Version 2.2 includes the following: a custom {object-oriented
	programming} system which uses a {prototype-instance model}.
	automatic {constraint} maintenance allowing properties of
	objects to depend on properties of other objects and be
	automatically re-evaluated when the other objects change.  The
	constraints can be arbitrary Lisp expressions.  Built-in,
	high-level input event handling.  Support for {gesture
	recognition}.  {Widgets} for multi-font, multi-line,
	mouse-driven text editing.  Optional automatic layout of
	application data into lists, tables, trees or graphs.
	Automatic generation of {PostScript} for printing.  Support
	for large-scale applications and data {visualisation}.

	Also supplied are: two complete widget sets, one with a
	{Motif} {look and feel} implemented in {Lisp} and one with a
	custom {look and feel}.  Interactive design tools for creating
	parts of the interface without writing code: Gilt interface
	builder for creating {dialog box}es.  Lapidary interactive
	tool for creating new {widgets} and for drawing
	application-specific objects.  C32 {spreadsheet} system for
	specifying complex {constraints}.

	Not yet available: Jade automatic dialog box creation system.
	Marquise interactive tool for specifying behaviours.

	{(ftp://a.gp.cs.cmu.edu/usr/garnet/garnet)}.

	(1999-07-02)

GARP

	A graphical language for {concurrent} programming.

	["Visual Concurrent Programmint in GARP", S.K. Goering er al,
	PARLE '89 v.II, LNCS 366, pp. 165-180].

	(1994-11-03)

garply

	/gar'plee/ A {metasyntactic variable} like {foo}, once popular
	among {SAIL} hackers.

	[{Jargon File}]

	(1994-11-03)

Gartner Group

	<company> One of the biggest IT industry research firms.

	Address: Connecticut, USA.

	[URL?]

	(1997-09-30)

gas

	{GNU assembler}

GASP

	1. {Graph Algorithm and Software Package}.

	2. <simulation> {General Activities Simulation Program}.

	3. <simulation> {General Aerodynamic Simulation Program}.

	(2003-09-27)

gas plasma display

	<electronics> A type of display containing super-energised
	neon gas, used mostly in flat {monitor} and television
	{screens}.  Each {pixel} has a {transistor} that controls its
	colour and brightness.

	{Plasma
	(http://kipinet.com/mmp/mmp_apr96/dep_techwatch.html)}.
	{Flat Screen Technology
	(http://montegonet.com/plasma.html)}.  {More about Gas
	Plasma (http://advancedplasma.com/whatis.html)}.

	[How does it work?]

	(1998-04-30)

GAT

	Generalized Algebraic Translator.  Improved version of IT.  On
	IBM 650 RAMAC.

	[Sammet 1969, p. 142].

GATE

	GAT Extended?  Based on {IT}.

	[Sammet 1969, p. 139].

gate

	<hardware> A low-level {digital} logic component.  Gates
	perform {Boolean} {functions} (e.g. {AND}, {NOT}), store
	{bits} of data (e.g. a {flip-flop}), and connect and
	disconnect various parts of the overall circuit to control the
	flow of data ({tri-state} buffer).

	In a {CPU}, the term applies particularly to the buffers that
	route data between the various {functional units}.  Each gate
	allows data to flow from one unit to another or enables data
	from one output onto a certain {bus}.

	(1999-09-02)

gated

	/gayt-dee/ Gate daemon.

	A program which supports multiple routing {protocols} and
	protocol families.  It may be used for routing, and makes an
	effective {platform} for routing {protocol} research.

	{(ftp://gated.cornell.edu)}.

	See also {Exterior Gateway Protocol}, {Open Shortest Path
	First}, {Routing Information Protocol}, {routed}.

	(1994-12-07)

Gates

	{Bill Gates}

gateway

	1. <networking> A deprecated term for a device that enables
	data to flow between different networks (forming an
	{internet}).

	Preferred terms are "{protocol converter}" (connects networks
	that use different {protocols}), "{router}" (connects two
	broadcast networks at layer 3 ({network layer}).  Another
	example is a {mail gateway}, which is a layer 7 ({application
	layer}) gateway.

	2. <hypertext> An {interface} between an information source
	and a {web server}.  {Common Gateway Interface}
	is a {standard} for such interfaces.  The information source
	can be any system that can be accessed by a program running on
	the web server.  A typical example is a {relational
	database}.

	(2000-05-24)

Gateway 2000

	<company> One of the lagest US manufacturers of {IBM
	compatibles}, founded by CEO Ted Waitt in September 1985, in
	Sioux City, Iowa.  In 1990 the company moved to North Sioux
	City, South Dakota.

	In August 1994, quarterly profits were $4 million on sales of
	$617 million.  Sales for the first quarter of 1997 were $1.42
	billion.

	On 1997-05-15 Gateway bought the {Amiga} brand.

	{(http://gw2k.com/)}.

	(1998-07-30)

Gauss

	1. <person> {Carl Friedrich Gauss}.

	2. <statistics> Gaussian distribution.

	See {normal distribution}.

	3. <unit> The unit of magnetic field strength. 1 gauss = 1
	Maxwell / cm^2.

	A good loudspeaker coil magnet flux density is of the order of
	10000 gauss.

	4. <language> A powerful {matrix} programming language by
	{Aptech Systems}.  Gauss is very popular with econometricians.

	{(http://rhkoning.xs4all.nl/gauss/index.htm)}.

	(2003-10-25)

Gaussian distribution

	{normal distribution}

gawk

	<tool, language> {GNU} {awk}.  Gawk is a superset of standard
	awk and includes some {Plan 9} features.

	David Trueman and Arnold Robbins of {Georgia Institute of
	Technology} were developing it in 1993.  It has been ported to
	{Unix}, {MS-DOS}, {Macintosh}, and {Archimedes}.

	Latest version: 2.15.3, as of 1993-11-08.

	Available by {FTP} from your nearest {GNU archive site}.

	{Mac version
	(ftp://archive.umich.edu/mac/utilities/developerhelps/macgawk2.11.cpt.hqx)}.

	(2000-10-21)

GB

	<unit> {gigabytes} or {gigabits} - see {MB}.  Giga stands for
	10^9 - a US billion, or in computing for 2^30.

	The text of a thirty volume encyclopaedia would require about
	one gigabyte of {ASCII} storage.

	(1997-03-27)

Gb

	<unit> Gigabit.  10^9 {bits}.  Might also be wrongly used for
	{gigabyte} ({GB}).

	(1997-03-27)

gb

	<networking> (Great Britain) A {country code} for United
	Kingdom.  "{uk}" is generally used instead.

	(1999-01-27)

g-bell

	{bell}

GBIP

	{General Purpose Interface Bus}

GBML

	{Genetics Based Machine Learning}

gbps

	{gigabits per second}

GC

	1. {garbage collection}.

	2. A storage allocator with {garbage collection} by
	Hans-J. Boehm and Alan J. Demers.  Gc is a plug-in replacement
	for {C}'s {malloc}.  Since the collector does not require
	{pointers} to be tagged, it does not attempt to ensure that
	all inaccessible storage is reclaimed.

	Version 3.4 has been ported to {Sun-3}, {Sun-4}, {Vax}/{BSD},
	{Ultrix}, {Intel 80386}/{Unix}, {SGI}, {Alpha}/{OSF/1},
	{Sequent} (single threaded), {Encore} (single threaded),
	{RS/600}, {HP-UX}, {Sony News}, {A/UX}, {Amiga}, {NeXT}.

	{(ftp://parcftp.xerox.com/pub/russell/gc3.4.tar.Z)}.

	(2000-04-19)

GCAL

	<text, tool> The Cambridge {Phoenix} equivalent of {troff}.
	So called because all Cambridge utilities were named after
	birds, GCAL was a "run off" equivalent, and Geococcyx
	californianus is the Latin name of the roadrunner.  GCAL was
	eventually obsoleted by {TeX}.

	It is believed that even more obscure puns lurked in the
	depths of Phoenix.  Perhaps it is better they stayed there.

	(2003-12-05)

GCC

	<compiler, programming> The {GNU} {Compiler} Collection, which
	currently contains front ends for {C}, {C++}, {Objective-C},
	{Fortran}, {Java}, and {Ada}, as well as libraries for these
	languages (libstdc++, libgcj, etc).

	GCC formerly meant the GNU {C} compiler, which is a very high
	quality, very portable compiler for {C}, {C++} and {Objective
	C}.

	The compiler supports multiple {front-ends} and multiple
	{back-ends} by translating first into {Register Transfer
	Language} and from there into {assembly code} for the target
	architecture.

	{(http://gcc.gnu.org/)}.
	{Bug Reports (http://gcc.gnu.org/bugzilla/)}.
	{FTP} gcc-2.X.X.tar.gz from your nearest {GNU archive site}.
	{MS-DOS (ftp://oak.oakland.edu/pub/msdos/djgpp/)}.

	Mailing lists: gcc-help@gcc.gnu.org, gcc-announce@gcc.gnu.org
	(announcements).

	["Using and Porting GNU CC", R.M. Stallman, 1992-12-16].

	(2003-08-05)

GCL

	General Control Language.  A portable job control language.

	["A General Control Interface for Satellite Systems",
	R.J. Dakin in Command Languages, C. Unger ed, N-H 1973].

G-Code

	1. Johnsson & Augustsson, Chalmers Inst Tech.  Intermediate
	language used by the G-machine, an implementation of graph
	reduction based on supercombinators.  "Efficient Compilation
	of Lazy Evaluation", T. Johnsson, SIGPLAN Notices 19(6):58-69
	(June 1984).

	2. A machine-like language for the representation and
	interpretation of attributed grammars.  Used as an
	intermediate language by the Coco compiler generator.  "A
	Compiler Generator for Microcomputers", P. Rechenberg et al,
	P-H 1989.

GCOS

	<operating system> /jee'kohs/ An {operating system} developed
	by {General Electric} from 1962; originally called GECOS (the
	General Electric Comprehensive Operating System).

	The GECOS-II operating system was developed by {General
	Electric} for the 36-bit {GE-635} in 1962-1964.  Contrary to
	rumour, GECOS was not cloned from {System/360} [{DOS/360}?] -
	the GE-635 architecture was very different from the {IBM 360}
	and GECOS was more ambitious than DOS/360.

	GE Information Service Divsion developed a large special
	multi-computer system that was not publicised because they did
	not wish {time sharing} customers to challenge their bills.
	Although GE ISD was marketing {DTSS} - the first commercial
	time sharing system - GE Computer Division had no license from
	Dartmouth and GE-ISD to market it to external customers, so
	they designed a time-sharing system to sell as a standard part
	of GECOS-III, which replaced GECOS-II in 1967.  GECOS TSS was
	more general purpose than DTSS, it was more a programmer's
	tool (program editing, e-mail on a single system) than a BASIC
	TSS.

	The {GE-645}, a modified 635 built by the same people, was
	selected by {MIT} and {Bell} for the {Multics} project.
	Multics' infancy was as painful as any infancy.  Bell pulled
	out in 1969 and later produced {Unix}.

	After the buy-out of GE's computer division by {Honeywell},
	GECOS-III was renamed GCOS-3 (General Comprehensive Operating
	System).  Other OS groups at Honeywell began referring to it
	as "God's Chosen Operating System", allegedly in reaction to
	the GCOS crowd's uninformed and snotty attitude about the
	superiority of their product.  [Can anyone confirm this?]
	GCOS won and this led in the orphaning and eventual death of
	Honeywell {Multics}.

	Honeywell also decided to launch a new product line called
	Level64, and later DPS-7.  It was decided to mainatin, at
	least temporarily, the 36-bit machine as top of the line,
	because GCOS-3 was so successfull in the 1970s.  The plan in
	1972-1973 was that GCOS-3 and Multics should converge.  This
	plan was killed by Honeywell management in 1973 for lack of
	resources and the inability of Multics, lacking {databases}
	and {transaction processing}, to act as a business operating
	system without a substantial reinvestment.

	The name "GCOS" was extended to all Honeywell-marketed product
	lines and GCOS-64, a completely different 32-bit operating
	system, significanctly inspired by Multics, was designed in
	France and Boston.  GCOS-62, another different 32-bit low-end
	DOS level was designed in Italy.  GCOS-61 represented a new
	version of a small system made in France and the new {DPS-6}
	16-bit {minicomputer} line got GCOS-6.

	When the intended merge between GCOS-3 and Multics failed, the
	Phoenix designers had in mind a big upgrade of the
	architecture to introduce {segmentation} and {capabilities}.
	GCOS-3 was renamed GCOS-8, well before it started to use the
	new features which were introduced in next generation
	hardware.

	The GCOS licenses were sold to the Japanese companies {NEC}
	and {Toshiba} who developed the Honeywell products, including
	GCOS, much further, surpassing the {IBM 3090} and {IBM 390}.

	When Honeywell decided in 1984 to get its top of the range
	machines from NEC, they considered running Multics on them but
	the Multics market was considered too small.  Due to the
	difficulty of porting the ancient Multics code they considered
	modifying the NEC hardware to support the Multics compilers.

	GCOS3 featured a good {Codasyl} {database} called IDS
	(Integrated Data Store) that was the model for the more
	successful {IDMS}.

	Several versions of transaction processing were designed for
	GCOS-3 and GCOS-8.  An early attempt at TP for GCOS-3, not
	taken up in Europe, assumed that, as in {Unix}, a new process
	should be started to handle each transaction.  IBM customers
	required a more efficient model where multiplexed {threads}
	wait for messages and can share resources.  Those features
	were implemented as subsystems.

	GCOS-3 soon acquired a proper {TP monitor} called Transaction
	Driven System (TDS).  TDS was essentially a Honeywell
	development.  It later evolved into TP8 on GCOS-8.  TDS and
	its developments were commercially successful and predated IBM
	{CICS}, which had a very similar architecture.

	GCOS-6 and GCOS-4 (ex-GCOS-62) were superseded by {Motorola
	68000}-based {minicomputers} running {Unix} and the product
	lines were discontinued.

	In the late 1980s Bull took over Honeywell and Bull's
	management chose Unix, probably with the intent to move out of
	hardware into {middleware}.  Bull killed the Boston proposal
	to port Multics to a platform derived from DPS-6.  Very few
	customers rushed to convert from GCOS to Unix and new machines
	(of CMOS technology) were still to be introduced in 1997 with
	GCOS-8.  GCOS played a major role in keeping Honeywell a
	dismal also-ran in the {mainframe} market.

	Some early Unix systems at {Bell Labs} used GCOS machines for
	print spooling and various other services.  The field added to
	"/etc/passwd" to carry GCOS ID information was called the
	"{GECOS field}" and survives today as the "pw_gecos" member
	used for the user's full name and other human-ID information.

	[{Jargon File}]

	(1998-04-23)

GCOS Macro Assembler Program

	<language> (GMAP) The {macro assembler} for the {GCOS 8}
	{operating system} on {Honeywell}/{Bull} {DPS-8} computers.

	["GCOS8 OS GMAP User's Guide", Bull].

	(2009-01-14)

GCR

	{Group Code Recording}

GCT

	<programming, tool> A {test-coverage} tool by Brian Marick
	<marick@testing.com>, based on {GNU C}.  Version 1.4 was
	ported to {Sun-3}, {Sun-4}, {RS/6000}, {68000}, {88000},
	{HP-PA}, {IBM 3090}, {Ultrix}, {Convex}, {SCO} but not
	{Linux}, {Solaris}, or {Microsoft Windows}.

	Commercial support is available from the author (+1 217 351
	7228).

	{(ftp://cs.uiuc.edu/pub/testing/gct.file/)}.

	(1999-07-08)

gd

	<networking> The {country code} for Grenada.

	(1999-01-27)

GDA

	<application> (Genetic Data Analysis) A program by Paul
	O. Lewis and Dmitri Zaykin, designed to accompany the
	referenced book, that computes linkage and hardy-weinberg
	disequilibrium and some genetic distances, and provides
	method-of-moments estimators for hierarchical F-statistics.

	A command-line version by Chris Basten runs under Mac OS.

	["Genetic Data Analysis" by Bruce S. Weir, 1996, Sinaur
	Associates].

	(2009-10-15)

GDB

	<programming, tool> {GNU} debugger.  The {FSF}'s {source-level
	debugger} for {C}, {C++} and other languages.  Developed by
	many people but most recently Fred Fish <fnf@cygnus.com>, Stu
	Grossman <grossman@cygnus.com> and {John Gilmore}
	<gnu@cygnus.com> all of {Cygnus} Support.  GDB fills the same
	niche as {dbx}.  Programs must be compiled to include
	debugging symbols.

	Version 4.11.  Distributed under {GNU} {CopyLeft}.  It runs on
	most {Unix} variants, {VMS}, {VXWorks}, {Amiga} and {MS-DOS}.

	FTP gdb-*.tar.[zZ] from a {GNU archive site}.
	E-mail: <bug-gdb@gnu.org> (bug reports).

	(1993-10-29)

GDBPSK

	{Gaussian Differential Binary Phase-Shift Keying}

Gödel, Kurt

	{Kurt Gödel}

GDI

	{Graphic Display Interface}

GDMO

	Guidelines for the Definition of Managed Objects.

	A standard (ISO/IEC 10165-4) for defining data models on ASN.1

GDPL

	Generalized Distributed Programming Language.  "GDPL - A
	Generalized Distributed Programming Language", K. Ng et al,
	Proc 4th Intl Conf Distrib Comp Sys, IEEE 1984, pp.69-78.

GE

	{General Electric}

ge

	<networking> The {country code} for Georgia.

	(1999-01-27)

GE-645

	<computer> A computer built by {General Electric}, the
	successor to the {GE-635}, designed to provide the extra CPU
	features required by the {Multics} project.

	The GE-645 was designed in 1965 by John Couleur and Edward
	Glaser at MIT.  It had several security levels and
	instructions for handling {virtual memory}.  Addressing used
	an 18-bit segment in addition to the 18-bit address,
	dramatically increasing the theoretical memory size and making
	virtual memory easier to support.

	Design of the GE-645's successor, the {GE-655}, started in 1967.

	(2006-09-24)

GEA

	Graph Extended ALGOL.  Extension of ALGOL 60 for graph
	manipulation, on UNIVAC 1108.  "A Language for Treating
	Graphs", S. Crespi-Reghizzi et al, CACM 13(5) (May 1970).

GEANT

	A simulation, tracking and drawing package for HEP.

GECOM

	<language> A language for the {GE-255} series, like {COBOL}
	with some {ALGOL} features added, in use around 1964-5.  GECOM
	included many of the early COBOL constructs including {report
	writer} and {TABSOL} (programming by {truth table}).  Another
	(planned but unimplemented?) component was {FRINGE}.

	[Sammet 1969, p. 329].

	[Dates?]

	(1996-09-15)

GECOS

	{GCOS}

Gedanken

	John Reynolds, 1970.  "GEDANKEN - A Simple Typeless Language
	Based on the Principle of Completeness and the Reference
	Concept", J.C.  Reynolds, CACM 13(5):308-319 (May 1970).

	[{Jargon File}]

gedanken

	/g*-dahn'kn/ Ungrounded; impractical; not well-thought-out;
	untried; untested.

	"Gedanken" is a German word for "thought".  A thought
	experiment is one you carry out in your head.  In physics, the
	term "gedanken experiment" is used to refer to an experiment
	that is impractical to carry out, but useful to consider
	because it can be reasoned about theoretically.  (A classic
	gedanken experiment of relativity theory involves thinking
	about a man in an elevator accelerating through space.)
	Gedanken experiments are very useful in physics, but must be
	used with care.  It's too easy to idealise away some important
	aspect of the real world in constructing the "apparatus".

	Among hackers, accordingly, the word has a pejorative
	connotation.  It is typically used of a project, especially
	one in artificial intelligence research, that is written up in
	grand detail (typically as a Ph.D.  thesis) without ever being
	implemented to any great extent.  Such a project is usually
	perpetrated by people who aren't very good hackers or find
	programming distasteful or are just in a hurry.  A "gedanken
	thesis" is usually marked by an obvious lack of intuition
	about what is programmable and what is not, and about what
	does and does not constitute a clear specification of an
	algorithm.  See also {AI-complete}, {DWIM}.

geef

	(Ostensibly from "gefingerpoken") {mung}.

	See also {blinkenlights}.

	[{Jargon File}]

	(1995-01-18)

geek

	{computer geek}

geek out

	To temporarily enter techno-nerd mode while in a non-hackish
	context, for example at parties held near computer equipment.
	Especially used when you need to do or say something highly
	technical and don't have time to explain: "Pardon me while I
	geek out for a moment."

	See {computer geek}, {propeller head}.

	[{Jargon File}]

	(1995-01-18)

GEI

	A German software engineering company.

GE Information Services

	<networking, company> One of the leading on-line services,
	started on 1st October 1985, providing subscribers with
	hundreds of special interest areas, computer hardware and
	software support, award-winning multi-player games, the most
	software files in the industry (over 200 000), worldwide news,
	sports updates, business news, investment strategies, and
	{Internet} {electronic mail} and fax (GE Mail).  Interactive
	conversations (Chat Lines) and {bulletin boards} (Round
	Tables) with associated software archives are also provided.

	GEnie databases (through the ARTIST gateway) allow users to
	search the full text of thousands of publications, including
	Dun & Bradstreet Company Profiles; a GEnie NewsStand with more
	than 900 newspapers, magazines, and newsletters; a Reference
	Center with information ranging from Agriculture to World
	History; the latest in medical information from MEDLINE; and
	patent and trademark registrations.

	{(http://genie.com/)}.  {Shopping 2000
	(http://shopping2000.com/shopping2000/genie/)}.

	Telephone: +1 (800) 638 9636.

	TDD: +1 (800) 238 9172.

	E-mail: <info@genie.geis.com>.

	[Connection with: GE Information Services, Inc., a division of
	General Electric Company, Headquarters: Rockville, Maryland,
	USA?]

	(1995-04-13)

GEM

	<operating system> One of the first commercially available
	{GUIs}.  Borrowing heavily from the {Macintosh} {WIMP}-style
	interface it was available for both the {IBM} compatible
	market (being packaged with {Amstrad}'s original {PC} series)
	and more successfully for the {Atari} ST range.  The PC
	version was produced by {Digital Research} (more famous for
	{DR-DOS}, their {MS-DOS} clone), and was not developed very
	far.  The Atari version, however, continued to be developed
	until the early 1990s and the later versions supported 24-bit
	colour modes, full colour {icons} and a nice looking sculpted
	3D interface.

	(1997-01-10)

gen

	{generate}

gender mender

	<hardware> (Or "gender bender", "gender blender", "sex
	changer", and even "homosexual adaptor") A cable connector
	shell with either two male or two female connectors on it,
	used to correct the mismatches that result when some {loser}
	didn't understand the {EIA-232C} specification and the
	distinction between {DTE} and {DCE}.  Used especially for
	EIA-232C parts in either the original {D-25} or the {IBM PC}'s
	{D-9} connector.

	There appears to be some confusion as to whether a "male
	homosexual adaptor" has pins on both sides (is doubly male) or
	sockets on both sides (connects two males).

	[{Jargon File}]

	(1995-04-16)

Gene Amdahl

	<person> A former {IBM} engineer who founded {Amdahl
	Corporation}.

	(1995-05-23)

General Activities Simulation Program

	<simulation, library> (GASP) A set of {discrete system}
	{simulation} {subroutines} for {Fortran}.

	(2003-09-27)

General Aerodynamic Simulation Program

	<simulation> (GASP)

	{(http://aerosft.com/Gasp/References/main.php3)}.

	[Summary?]

	(2003-09-27)

General Dynamics Canada Ltd

	<company> A Canadian defence electronics company that makes direct
	and indirect fire control {systems}, vehicle electronics,
	reconnaissance vehicle surveillance systems, computerised laser
	sight for anti-tank weapons, tactical {communication systems},
	headquarters information distribution system, tactical voice and
	distribution systems, acoustic signal processing, ASW mission
	systems, sonobuoy {processors}, active sonar systems, towed array
	sonar systems, tactical acoustic trainer, {Mil-Spec}
	{electroluminiscent displays}, large multi-sensor displays,
	coastal intrusion detection systems and {fibre-optic} distribution
	systems.

	The company was founded in 1948 as "Computing Devices Canada
	Ltd.", part of the Ceridian group of companies.  It was renamed
	General Dynamics Canada Ltd. on 2002-01-01.

	{General Dynamics Canada (http://www.gdcanada.com/)}.

	(2013-01-20)

General Electric

	<company> (GE) A US company that manufactured computers from
	1956 until 1970, when it sold its computer division to
	{Honeywell} and left the computer business.  Notable GE
	computers were the {GE-265}, which supported the {Dartmouth
	Time-sharing System} (DTSS), and the {GE-645} used for
	{Multics} development.

	See also {GCOS}.

	Not to be confused with the General Electric Company (GEC) in
	the UK (where FOLDOC's first seeds were sown).

	(2002-02-27)

General Electric Comprehensive Operating System

	{GCOS}

General Magic

	A software company based in Mountain View, California.
	Products released in 1994 after four years in development
	include: {Telescript} - a communications-oriented programming
	language; {Magic Cap} - an {OOPS} designed for {PDAs}; and a
	new, third generation {GUI}.  {Motorola}'s {Envoy}, due for
	release in the third quarter of 1994, will use {Magic Cap} as
	its {OS}.

	What {PostScript} did for cross-{platform}, device-independent
	documents, Telescript aims to do for cross-{platform},
	network-independent messaging.  Telescript protects
	programmers from many of the complexities of network
	protocols.

	Competitors for Magic Cap include {Microsoft}'s {Windows for
	Pens}/{Winpad}, {PenPoint}, {Apple Computer}'s {Newton
	Intelligence} and {GEOS} by {GeoWorks}.

	{(http://genmagic.com/)}.

	(1995-02-23)

General Packet Radio Service

	<communications> (GPRS) A {GSM} data transmission technique
	that does not set up a continuous channel from a portable
	terminal for the transmission and reception of data, but
	transmits and receives data in {packets}.  It makes very
	efficient use of available radio spectrum, and users pay only
	for the volume of data sent and received.

	See also: {packet radio}.

	(1999-09-12)

General Protection Failure

	(GPF, or General Protection Fault) An addressing error, caught
	by the processor's {memory protection} hardware, that cannot
	be attributed to any expected condition such as a {page
	fault}.

	(1995-03-28)

General Protection Fault

	{General Protection Failure}

General Public Licence

	<spelling> It's spelled "{General Public License}".

	(In the UK, "licence" is a noun and "license" is a verb (like
	"advice"/"advise") but in the US both are spelled "license").

	(1995-05-12)

General Public License

	<legal> (GPL, note US spelling) The licence applied to most
	{software} from the {Free Software Foundation} and the {GNU}
	project and other authors who choose to use it.

	The licences for most software are designed to prevent users
	from sharing or changing it.  By contrast, the GNU General
	Public License is intended to guarantee the freedom to share
	and change {free software} - to make sure the software is free
	for all its users.  The GPL is designed to make sure that
	anyone can distribute copies of free software (and charge for
	this service if they wish); that they receive source code or
	can get it if they want; that they can change the software or
	use pieces of it in new free programs; and that they know they
	can do these things.  The GPL forbids anyone to deny others
	these rights or to ask them to surrender the rights.  These
	restrictions translate to certain responsibilities for those
	who distribute copies of the software or modify it.

	See also {General Public Virus}.

	(1994-10-27)

General Public Virus

	<software, legal> A pejorative name for some versions of the
	{GNU} project {copyleft} or {General Public License} (GPL),
	which requires that any tools or {application programs}
	incorporating copylefted code must be source-distributed on
	the same terms as GNU code.  Thus it is alleged that the
	copyleft "infects" software generated with GNU tools, which
	may in turn infect other software that reuses any of its code.

	{Copyright} law limits the scope of the GPL to "programs
	textually incorporating significant amounts of GNU code" so
	GPL is only passed on if actual GNU source is transmitted.
	This used to be the case with the {Bison} {parser} skeleton
	until its licence was fixed.

	{(http://org.gnu.de/manual/bison/html_chapter/bison_2.html#SEC2)}.

	[{Jargon File}]

	(1999-07-14)

General Purpose Graphic Language

	["A General Purpose Graphic Language", H.E. Kulsrud, CACM
	11(4) (Apr 1968)].

General Purpose Interface Bus

	{IEEE 488}

General Purpose Language

	(GPL) An {ALGOL 60} variant with user-definable types and
	operators.

	[Sammet 1969, p. 195].

	["The GPL Language", J.V. Garwick et al, TER-05, CDC, Palo
	Alto 1969].

General Purpose Macro-generator

	<language> (GPM) An early text-processing language similar to
	{TRAC}, implemented on the {Atlas 2} by {Christopher
	Strachey}.

	["A General Purpose Macrogenerator", C. Strachey, Computer J
	8(3):225-241, Oct 1965].

	(2006-07-21)

General Recursion Theorem

	<mathematics> {Cantor}'s {theorem}, originally stated for
	{ordinals}, which extends {inductive} proof to {recursive}
	construction.  The proof is by pasting together "attempts"
	(partial solutions).

	[Better explanation?]

	(1995-06-15)

generate

	To produce something according to an {algorithm} or program or
	set of rules, or as a (possibly unintended) {side effect} of
	the execution of an algorithm or program.

	The opposite of {parse}.

	[{Jargon File}]

	(1995-06-15)

generation

	An attempt to classify the degree of sophistication of
	programming languages.

	See {First generation language} -- {Fifth generation
	language}.

	(1995-06-15)

Generic Array Logic

	<hardware, integrated circuit> (GAL) A newer kind of
	{Programmable Array Logic} based on {EEPROM} storage cells,
	been pioneered by {Lattice}.  GALs can be erased and
	reprogrammed and usually replace a whole set of different PALs
	(hence the name).

	(1995-12-09)

Generic Expert System Tool

	<artificial intelligence> (GEST) An {expert system shell} for
	{Symbolics} {Lisp machine}, with {frames}, {forward chaining},
	{backward chaining} and {fuzzy logic}; written by {John
	Gilmore}(?) at GA Tech.

	Latest version: 4.0, as of 1995-04-16.

	{(ftp://ftp.gatech.edu/pub/ai/gest.tar.Z)}.

	(1995-04-16)

generic identifier

	<language, text> A string constituting the name of a {element}
	in an {SGML} {document}.

	(2001-01-31)

genericity

	<programming> The possibility for a language to provided
	parameterised {modules} or types.  E.g. List(of:Integer) or
	List(of:People).

	(1996-05-19)

generic markup

	<text> In computerised document preparation, a method of
	adding information to the text indicating the logical
	components of a document, such as paragraphs, headers or
	footnotes.  {SGML} is an example of such a system.  Specific
	instructions for layout of the text on the page do not appear
	in the markup.

	(1996-05-19)

generic programming

	<programming> A programming technique which aims to make
	programs more adaptable by making them more general.  Generic
	programs often embody non-traditional kinds of {polymorphism};
	ordinary programs are obtained from them by suitably
	instantiating their parameters.  In contrast with normal
	programs, the parameters of a generic programs are often quite
	rich in structure.  For example they may be other programs,
	{types} or {type constructors} or even programming
	{paradigms}.

	(1997-11-22)

Generic Routing Encapsulation

	<networking, protocol> (GRE) A {protocol} which allows an
	arbitrary network protocol A to be transmitted over any other
	arbitrary network protocol B, by encapsulating the {packets}
	of A within GRE packets, which in turn are contained within
	packets of B.

	Defined in {RFC 1701} and {RFC 1702} (GRE over IP).

	(1998-07-19)

Generic Security Service Application Programming Interface

	<security, programming> (GSS-API) An application level
	interface ({API}) to system security services.  It provides a
	generic interface to services which may be provided by a
	variety of different security mechanisms.  {Vanilla} GSS-API
	supports {security contexts} between two entities (known as
	"principals").

	GSS-API is a draft internet standard which is being developed
	in the {Common Authentication Technology Working Group}
	(cat-wg) of the {Internet Engineering Task Force} (IETF).

	Initial specifications for GSS-API appeared in {RFC 1508} and
	{RFC 1509}.  Subsequent revisions appeared in several draft
	standards documents.

	{(http://dstc.qut.edu.au/~barton/work/project.html)}.

	(1996-05-19)

generic thunk

	<programming> A software mechanism that allows a 16-bit
	{Windows} application to load and call a {Win32} {DLL} under
	{Windows NT} and {Windows 95}.

	See also {flat thunk}, {universal thunk}.

	(1999-04-05)

generic type variable

	<programming> (Also known as a "schematic type variable").
	Different occurrences of a generic type variable in a type
	expression may be instantiated to different types.  Thus, in
	the expression

		let id x = x in
		(id True, id 1)

	id's type is (for all a: a -> a).  The universal {quantifier}
	"for all a:" means that a is a generic type variable.  For the
	two uses of id, a is instantiated to Bool and Int.  Compare
	this with

		let id x = x in
		let f g = (g True, g 1) in
		f id

	This looks similar but f has no legal {Hindley-Milner type}.
	If we say

		f :: (a -> b) -> (b, b)

	this would permit g's type to be any instance of (a -> b)
	rather than requiring it to be at least as general as (a ->
	b).  Furthermore, it constrains both instances of g to have
	the same result type whereas they do not.  The type variables
	a and b in the above are implicitly quantified at the top
	level:

		f :: for all a: for all b: (a -> b) -> (b, b)

	so instantiating them (removing the {quantifiers}) can only be
	done once, at the top level.  To correctly describe the type
	of f requires that they be locally quantified:

		f :: ((for all a: a) -> (for all b: b)) -> (c, d)

	which means that each time g is applied, a and b may be
	instantiated differently.  f's actual argument must have a
	type at least as general as ((for all a: a) -> (for all b:
	b)), and may not be some less general instance of this type.
	Type variables c and d are still implicitly quantified at the
	top level and, now that g's result type is a generic type
	variable, any types chosen for c and d are guaranteed to be
	instances of it.

	This type for f does not express the fact that b only needs to
	be at least as general as the types c and d.  For example, if
	c and d were both Bool then any function of type (for all a: a
	-> Bool) would be a suitable argument to f but it would not
	match the above type for f.

Genesia

	An {expert system} developed by Electricite de France and
	commercialised by {STERIA} (Paris).

genetic algorithm

	(GA) An {evolutionary algorithm} which generates each
	individual from some encoded form known as a "chromosome" or
	"genome".  Chromosomes are combined or mutated to breed new
	individuals.  "Crossover", the kind of recombination of
	chromosomes found in sexual reproduction in nature, is often
	also used in GAs.  Here, an offspring's chromosome is created
	by joining segments choosen alternately from each of two
	parents' chromosomes which are of fixed length.

	GAs are useful for multidimensional optimisation problems in
	which the chromosome can encode the values for the different
	variables being optimised.

	{Illinois Genetic Algorithms Laboratory
	(http://GAL4.GE.UIUC.EDU/illigal.home.html)} (IlliGAL).

	(1995-02-03)

genetic algorithms

	{genetic algorithm}

genetic programming

	<programming> (GP) A programming technique which extends the
	{genetic algorithm} to the domain of whole computer programs.
	In GP, populations of programs are genetically bred to solve
	problems.  Genetic programming can solve problems of system
	identification, classification, control, robotics,
	optimisation, game playing, and {pattern recognition}.

	Starting with a primordial ooze of hundreds or thousands of
	randomly created programs composed of functions and terminals
	appropriate to the problem, the population is progressively
	evolved over a series of generations by applying the
	operations of Darwinian fitness proportionate reproduction and
	crossover (sexual recombination).

	(1995-03-31)

GEnie Services

	{GE Information Services}

Genken Programming Language

	<language> (GPL) A variant of {PL360} by K. Asai of the Japan
	Atomic Energy Research Institute.

	["Experience With GPL", K. Asai, in Machine Oriented Higher
	Level Languages, W. van der Poel, N-H 1974, pp. 371-376].

	(1995-04-13)

GENOVA

	An old statistical package still in use on some {VM}
	computers.

	(1995-11-28)

gensym

	<library> /jen'sim/ (From the {MacLISP} for "generated
	symbol") To invent a new name for something temporary, in
	such a way that the name is almost certainly not in conflict
	with one already in use.

	The canonical form of a gensym is "Gnnnn" where nnnn
	represents a number; any {LISP} {hacker} would recognise G0093
	(for example) as a gensym.  Gensymmed names are useful for
	storing or uniquely identifying crufties.

	[{Jargon File}]

	(1999-10-31)

Gensym Corporation

	<company> A company that supplies software and services for
	intelligent operations management.  Common applications
	include quality management, process optimisation, dynamic
	scheduling, network management, energy and environmental
	management, and process modelling and simulation.

	Their products include {G2}.

	{(http://gensym.com/)}.

	(1999-10-31)

Gensym Standard Interface

	<programming> (GSI) A set of {C} libraries and programming
	tools used to interface {G2} to external systems.
	Commercially available bridges are available to {SCADA}
	systems and {PLCs}.

	(1997-02-11)

Gentleman's Portable Coroutine System

	A {coroutine} package in {Fortran}.

	["A Portable Coroutine System", W.M. Gentleman, Info Proc 71,
	C.V. Freiman ed, 1972].

	(1995-02-01)

GEN-X

	An expert system developed by General Electric.

Geographical Information System

	{Geographic Information System}

	[Which is more common?]

	(1995-12-21)

Geographic Information System

	<application> (GIS) A computer system for capturing, storing,
	checking, integrating, manipulating, analysing and displaying
	data related to positions on the Earth's surface.  Typically,
	a GIS is used for handling maps of one kind or another.  These
	might be represented as several different layers where each
	layer holds data about a particular kind of feature
	(e.g. roads).  Each feature is linked to a position on the
	graphical image of a map.

	Layers of data are organised to be studied and to perform
	statistical analysis (i.e. a layer of customer locations could
	include fields for Name, Address, Contact, Number, Area).
	Uses are primarily government related, town planning, local
	authority and public utility management, environmental,
	resource management, engineering, business, marketing, and
	distribution.

	{GIS dictionary
	(http://geo.ed.ac.uk/root/agidict/html/welcome.html)}.

	{(http://ncl.ac.uk/~ngraphic/wotzagis.html)}.

	(1995-12-21)

geometric mean

	<mathematics> The Nth {root} of the {product} of N numbers.

	If each number in a list of numbers was replaced with their
	geometric mean, then multiplying them all together would still
	give the same result.  The geometric mean thus gives an
	average "factor" in a context where numbers are multiplied
	together, e.g. compound interest.

	{Wolfram (http://mathworld.wolfram.com/GeometricMean.html)}.

	(2007-03-16)

GEORGE

	<language> One of the earliest programming languages,
	developed by Charles Hamblin in 1957.  GEORGE was a {stack
	oriented language}, using {reverse Polish notation}.  It was
	implemented on the {English Electric} {DEUCE}.

	["GEORGE: A Semi-Translation Programming Scheme for the DEUCE,
	Programming and Operations Manual", C. L. Hamblin, U New S
	Wales, 1958].

	["Computer Languages", C.L. Hamblin, Aust J Sci 20(5):135-139,
	Dec 1957 and Aust Comp J 17(4):195-198, Nov 1985]

	(2007-03-18)

GEORGE 3

	<operating system> The {operating system} for the {ICL 1900}
	{mainframe}.  Lots of two-letter commands.

	(2003-09-20)

George Boole

	<person> 1815-11-02 - 2008-05-11 22:58
	best known for his contribution to symbolic logic ({Boolean
	Algebra}) but also active in other fields such as probability
	theory, {algebra}, analysis, and differential equations.  He
	lived, taught, and is buried in Cork City, Ireland.  The Boole
	library at University College Cork is named after him.

	For centuries philosophers have studied logic, which is
	orderly and precise reasoning.  George Boole argued in 1847
	that logic should be allied with mathematics rather than with
	philosophy.

	Demonstrating logical principles with mathematical symbols
	instead of words, he founded {symbolic logic}, a field of
	mathematical/philosophical study.  In the new discipline he
	developed, known as {Boolean algebra}, all objects are divided
	into separate classes, each with a given property; each class
	may be described in terms of the presence or absence of the
	same property.  An electrical circuit, for example, is either
	on or off.  Boolean algebra has been applied in the design of
	{binary} computer circuits and telephone switching equipment.
	These devices make use of Boole's two-valued (presence or
	absence of a property) system.

	Born in Lincoln, Lincolnshire, UK, George Boole was the son of
	a tradesman and was largely self-taught.  He began teaching at
	the age of 16 to help support his family.  In his spare time
	he read mathematical journals and soon began to write articles
	for them.  By the age of 29, Boole had received a gold medal
	for his work from the British Royal Society.  His
	'Mathematical Analysis of Logic', a pamphlet published in
	1847, contained his first statement of the principles of
	symbolic logic.  Two years later he was appointed professor of
	mathematics at Queen's College in Ireland, even though he had
	never studied at a university.

	He died in Ballintemple, Ireland, on 1864-12-08.

	{Compton's Encyclopedia Online
	(http://comptons2.aol.com/encyclopedia/ARTICLES/00619_A.html)}.

	(1998-11-19)

Georg Simon Ohm

	<person> (1789-1854) A German physicist who became Professor
	of Physics at Munich University, after whom the unit of
	electrical resistance was named.

	(2003-12-02)

GEOS

	A small windowing, {microkernel} (less than 64 kbytes long)
	operating system written in heavily {bum}med {assembly
	language} for {MS-DOS} computers.  It {multitasks} rather
	nicely on a 6 Mhz {Intel 80286} with at least 512K memory.

	It was adapted to {PDAs} by adding pen recognition, which
	doesn't work very well.

	{Usenet} newsgroup: {news:comp.os.geos}.

	(1995-01-21)

GEPURS

	An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-01-21)

Gerald

	["Gerald: An Exceptional Lazy Functional Programming
	Language", A.C. Reeves et al, in Functional Programming,
	Glasgow 1989, K. Davis et al eds, Springer 1990].

	(1995-01-10)

Gerald Sussman

	<person> (Gerald J. Sussman, Jerry) A noted {hacker} at {MIT}
	and one of the developers of {SCHEME} and {6.001}.

	{(http://martigny.ai.mit.edu/~gjs/gjs.html)}.

	(1996-11-29)

German

	<human language> \j*r'mn\ A human language written (in latin
	alphabet) and spoken in Germany, Austria and parts of
	Switzerland.

	German writing normally uses four non-{ASCII} characters: "ä", "ö"
	and "ü" have "umlauts" (two dots over the top) and "ß" is a
	double-S ("scharfes S") which looks like the Greek letter beta
	(except in capitalised words where it should be written "SS").
	These can be written in ASCII in several ways, the most common are
	ae, oe ue AE OE UE ss or sz and the {TeX} versions "a "o "u "A "O
	"U "s.

	See also {ABEND}, {blinkenlights}, {DAU}, {DIN}, {gedanken},
	{GMD}, {kluge}.

	{Usenet} newsgroup: {news:soc.culture.german}.
	{(ftp://src.doc.ic.ac.uk/usenet/news-info/soc.answers/german-faq)},
	{(ftp://alice.fmi.uni-passau.de/pub/dictionaries/german.dat.Z)}.

	(1995-03-31)

GEST

	{Generic Expert System Tool}

Get a life!

	<abuse> Standard way of suggesting that someone has succumbed
	to terminal {geek}dom.  Often heard on {Usenet}, especially as
	a way of suggesting that the target is taking some obscure
	issue of {theology} too seriously.  This exhortation was
	popularised by William Shatner on a "Saturday Night Live"
	episode in a speech that ended "Get a *life*!", but some
	respondents believe it to have been in use before then.  It
	was certainly in wide use among hackers for at least five
	years before achieving mainstream currency in early 1992.

	[{Jargon File}]

	(1995-01-18)

Get a real computer!

	<jargon> A typical {hacker} response to news that somebody is
	having trouble getting work done on a {toy} system or {bitty
	box}.

	The threshold for "real computer" rises with time.  As of
	mid-1993 it meant {multi-tasking}, with a {hard disk}, and an
	{address space} bigger than 16 {megabytes}.  At this time,
	according to {GLS}, computers with character-only displays
	were verging on "unreal".  In 2001, a real computer has a one
	{gigahertz} processor, 128 MB of {RAM}, 20 GB of hard disk,
	and runs {Linux}.

	[{Jargon File}]

	(2001-06-22)

get.com

	<operating system> A command which can be created using debug
	in {MS DOS} to set the errorlevel according to which key is
	pressed.  The errorlevel can then be interrogated from a
	{batch file} by a series of commands like this:

	 get
	 if errorlevel 118 goto E118
	 if errorlevel 117 goto E117
	 if errorlevel 116 goto E116
	 if errorlevel 115 goto E115
	 if errorlevel 114 goto E114

	where E118 etc. are labels in the batch file.

	(1996-02-01)

getty

	<operating system> A {Unix} program which sets terminal type,
	modes, speed and line discipline for a {serial port}, and is
	used in the login process.

	(1996-12-08)

gf

	<networking> The {country code} for French Guiana.

	(1999-01-27)

GFDL

	{GNU Free Documentation License}

g file

	<messaging> (General file) A mid 1980s term for text files,
	usually short and unpublished found on {BBSs}.  The g-files
	section on BBSs contain text files of general interest,
	viewable on-line; this is as opposed to files in the file
	transfer section, which are generally downloadable but not
	viewable on-line.

	When used on the {Internet}, this term generally refers to the
	types of file most often associated with old BBSs such as
	instructions on {phreak}ing or making bombs.

	(1996-06-20)

GFLOPS

	{gigaflops}

GFR

	{Grim File Reaper}

GFS

	{Grandfather, Father, Son}

gh

	<networking> The {country code} for Ghana.

	(1999-01-27)

GHC

	<language>

	1. {Guarded horn clauses}.

	2. {Glasgow Haskell Compiler}.

	(1999-01-05)

ghetto code

	<humour, programming> A particularly inelegant and obviously
	suboptimal section of {code} that still meets the original
	requirements.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-05-14)

ghost

	<chat> (Or "zombie") The image of a user's session on {IRC}
	and similar systems, left when the session has been terminated
	(properly or, often, improperly) but the server (or the
	network at large) believes the connection is still active and
	belongs to a real user.

	Compare {clonebot}.

	(1997-04-07)

Ghostscript

	<graphics, tool> The {GNU} {interpreter} for {PostScript} and
	{PDF}, with {previewers} for serval systems and many {fonts}.
	Ghostscript was originally written by L. Peter Deutsch
	<ghost@aladdin.com> of {Aladdin Enterprises}.  The first
	public release was v1.0 on 1988-08-11.

	Latest version: 8.11, as of 2003-08-29.

	{GNU Home (http://gnu.org/software/ghostscript/)}.

	{News & community (http://ghostscript.com/)}.

	(2003-09-24)

ghostview

	An {X Window System} interface to the {ghostscript}
	{PostScript} {interpreter}.

GHz

	{GigaHertz}

GI

	{generic identifier}

gi

	<networking> The {country code} for Gibraltar.

	(1999-01-27)

Gibson, William

	{William Gibson}

gid

	1. <operating system> {group identifier}.

	2. <filename extension> {global index}.

	(1997-01-30)

GIF

	{Graphics Interchange Format}

GIF89

	{Graphics Interchange Format}

GIF89a

	{animated GIF}

GIFF

	Do you mean {GIF} or is this some kind of {IFF}?

gig

	{gigabyte}

giga-

	{prefix}

gigabit

	<unit> 2^30 {bits}, 1,073,741,824 bits.

	See {prefix}.

	(1995-11-12)

gigabits per second

	<unit> (Gbps) A unit of information transfer rate equal to one
	billion {bits} per second.  Note that, while a {gigabit} is
	defined as a power of two (2^30 bits), a gigabit per second is
	defined as a power of ten (10^9 bits per second, which is
	slightly less) than 2^30).

	(2004-02-10)

gigabyte

	<unit, data> (GB or colloquially "gig") A unit of {data} equal to
	one billion {bytes} but see {binary prefix} for other definitions.
	A gigabyte is 1000^3 {bytes} or 1000 {megabytes}.

	A human gene sequence (including all the redundant codons)
	contains about 1.5 gigabytes of data.

	1000 gigabytes are one {terabyte}.

	See {prefix}.

	{Human genome data content
	(http://bitesizebio.com/articles/how-much-information-is-stored-in-the-human-genome/)}.

	(2013-11-03)

gigaflop

	{gigaflops}

gigaflops

	<unit> (GFLOPS) One thousand million (10^9) {floating point}
	operations per second.

	One of them is strictly "one gigaflops" in the same way that
	one mile per hour isn't 1 MP.

	See {prefix}.

	(1998-04-19)

GigaHertz

	<unit> (GHz) Billions of cycles per second.

	The unit of frequency used to measure the {clock rate} of
	modern {digital logic}, including {microprocessors}.

	(2001-05-14)

GIGO

	{Garbage In, Garbage Out}

gilley

	<humour> ({Usenet}) The unit of analogical bogosity.
	According to its originator, the standard for one gilley was
	"the act of bogotoficiously comparing the shutting down of
	1000 machines for a day with the killing of one person".  The
	milligilley has been found to suffice for most normal
	conversational exchanges.

	(1995-03-17)

gillion

	<unit> /gil'y*n/ or /jil'y*n/ (From {giga-} by analogy with
	mega/million and tera/trillion) 10^9.

	Same as an American billion or a British "milliard".  How one
	pronounces this depends on whether one speaks {giga-} with a
	hard or soft "g".

	[{Jargon File}]

	(1995-03-17)

Gilmore, John

	{John Gilmore}

GIM-1

	Generalized Information Management Language.  Nelson, Pick,
	Andrews.  Proc SJCC 29:169-73, AFIPS (Fall 1966).

GIN

	A special-purpose {macro assembler} used to build the {GEORGE
	3} {operating system} for {ICL1900} series computers.

	(1994-11-02)

GINA

	Generic Interactive Application.  An {application framework}
	based on {Common Lisp} and {OSF}/{Motif}, designed to simplify
	the construction of graphical interactive applications.

	GINA consists of {CLM} - a language binding for {OSF}/{Motif}
	in {Common Lisp}; the GINA application framework - a {class
	library} in {CLOS}; the GINA interface builder - an
	interactive tool implemented with GINA to design {Motif}
	windows.

	Version 2.2 requires {OSF}/{Motif} 1.1 or better, {Common
	Lisp} with {CLX}, {CLOS}, {PCL} and processes.  It runs with
	{Franz Allegro}, {Lucid}, {CMU CL} and {Symbolics} {Genera}.

	{Germany (ftp://ftp.gmd.de/gmd/gina)}.  {N. America
	(ftp://export.lcs.mit.edu/contrib/)}.  Mailing list:
	gina-users-request@gmdzi.gmd.de.

	(1994-11-02)

Ginger

	A simple {functional language} from the {University of
	Warwick} with parallel constructs.

	(1994-11-02)

GIP

	1. General Interpretive Programme.

	A 1956 interpreted language for the {English Electric}
	{DEUCE}, with {array} operations and an extensive library of
	numerical methods.

	["Interpretive and Brick Schemes, with Special Reference to
	Matrix Operations", English Electric COmpany, DEUCE News
	No. 10 (1956)].

	(1994-11-02)

	2. An erroneous singular of {GIPS}.

GIPS

	/gips/ or /jips/ [Analogy with {MIPS}] Giga-Instructions per
	Second (or possibly "Gillions of Instructions per Second"; see
	{gillion}).

	In 1991, this was used of only a handful of highly parallel
	machines and one sequential processor built with {Josephson
	devices}.  {DEC}'s {Alpha AXP 21164} processor was the first
	commercially available 1 GIPS sequential processor (7 Sep
	1994).  Compare {KIPS}.

	["A 1-GIPS Josephson Data Processor", Yuji Hatano et al, IEEE
	J Solid State Circuits, vol 26, 6, June 1991]

	[{Jargon File}]

	(1994-11-02)

GIRL

	Graph Information Retrieval Language.  A language for handling
	{directed graphs}.

	["Graph Information Retrieval Language", S. Berkowitz, Report
	76-0085, Naval Ship Res Dev Center, (Feb 1976)].

	(1994-11-02)

GIS

	{Geographical Information System}

Giuseppe Peano

	<person, mathematics, logic> (1858-08-27 - 1932-04-20) An Italian
	mathematician who wrote over 200 books and papers, was a founder
	of {mathematical logic} and {set theory} and taught at the
	University of Turin.  He contributed to mathematical {analysis},
	{logic}, the teaching of {calculus}, {differential equations},
	{vector analysis} and the axiomatization of mathematics.  The
	standard {axiomatization} of the {natural numbers} is named {Peano
	arithmetic} or the {Peano axioms} after him.  He also invented the
	{Peano curve}, an early example of a {fractal}.

	(2013-03-23)

GIYF

	<chat, WWW> Google Is Your Friend.  See {STFW}.

	(2014-05-23)

GKS

	{Graphical Kernel System}

GKS-3D

	The three-dimensional version of {GKS}, a {standard} for
	graphics I/O ({ISO} 8805).

	(1994-11-02)

GL

	Graphics Language.  A graphics package from {Silicon
	Graphics}.

gl

	<networking> The {country code} for Greenland.

	(1999-01-27)

Glammar

	A pattern transformation language for text-to-text
	translation.  Used for compiler writing and linguistics.

	{(ftp://phoibos.cs.kun.nl/pub/GLASS/glammar.tar.Z)}.

glark

	/glark/ To figure something out from context.  "The System III
	manuals are pretty poor, but you can generally glark the
	meaning from context."  Interestingly, the word was originally
	"glork"; the context was "This gubblick contains many
	nonsklarkish English flutzpahs, but the overall pluggandisp
	can be glorked [sic] from context" (David Moser, quoted by
	Douglas Hofstadter in his "Metamagical Themas" column in the
	January 1981 "Scientific American").  It is conjectured that
	hackish usage mutated the verb to "glark" because {glork} was
	already an established jargon term.

	Compare {grok}, {zen}.

	[{Jargon File}]

Glasgow Haskell Compiler

	<language> (GHC) A {Haskell} 1.2 compiler written in Haskell
	by the AQUA project at {Glasgow University}, headed by Simon
	Peyton Jones <simonpj@dcs.glasgow.ac.uk> throughout the 1990's
	[started?].  GHC can generate either {C} or {native code} for
	{SPARC}, {DEC} {Alpha} and other platforms.  It can take
	advantage of features of {gcc} such as global register
	variables and has an extensive set of optimisations.

	GHC features an extensible I/O system based on a "{monad}",
	in-line {C} code, fully fledged {unboxed} data types,
	incrementally-updatable {arrays}, {mutable reference types},
	{generational garbage collector}, {concurrent} {threads}.
	Time and space {profiling} is also supported.

	It requires {GNU} gcc 2.1+ and {Perl}.

	GHC runs on {Sun-4}, {DEC Alpha}, {Sun-3}, {NeXT}, {DECstation},
	{HP-PA} and {SGI}.

	Latest version: 4.01, as of 1998-11-30.

	{Glasgow FTP
	(ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/glasgow/)}.  {Yale
	(ftp://nebula.cs.yale.edu/pub/haskell/glasgow/)}.  {Sweden
	(ftp://ftp.cs.chalmers.se/pub/haskell/glasgow/)}.

	{Papers (ftp://ftp.dcs.glasgow.ac.uk/pub/glasgow-fp)}.

	["Imperative functional programming", Peyton Jones & Wadler,
	POPL '93].

	["Unboxed data types as first-class citizens", Peyton Jones &
	Launchbury, FPCA '91].

	["Profiling lazy functional languages", Sansom & Peyton Jones,
	Glasgow workshop '92].

	["Implementing lazy functional languages on stock hardware",
	Peyton Jones, Journal of Functional Programming, Apr 1992].

	E-mail: <glasgow-haskell-request@dcs.glasgow.ac.uk>.

	(1999-01-05)

GLASS

	General LAnguage for System Semantics.

	An {Esprit} project at the {University of Nijmegen}.

	{(ftp://phoibos.cs.kun.nl/pub/GLASS)}.

	(1995-01-25)

glass

	(IBM) {silicon}.

	[{Jargon File}]

glass box testing

	{white box testing}

glassfet

	/glas'fet/ [Analogy with {MOSFET}] (or "{firebottle}") A
	humorous way to refer to a {vacuum tube}.

	[{Jargon File}]

glass tty

	/glas T-T-Y/ or /glas ti'tee/ A terminal that has a display
	screen but which, because of hardware or software limitations,
	behaves like a teletype or some other printing terminal,
	thereby combining the disadvantages of both: like a printing
	terminal, it can't do fancy display hacks, and like a display
	terminal, it doesn't produce hard copy.  An example is the
	early "dumb" version of Lear-Siegler ADM 3 (without cursor
	control).  See {tube}, {tty}; compare {dumb terminal}, {smart
	terminal}.  See "{TV Typewriters}" for an interesting true
	story about a glass tty.

GLB

	{greatest lower bound}

glibc

	{GNU C Library}

Glish

	Glish is an interpretive language for building loosely-coupled
	distributed systems from modular, event-oriented programs.
	Written by Vern Paxson <vern@ee.lbl.gov>.  These programs are
	written in conventional languages such as C, C++, or Fortran.

	Glish scripts can create local and remote processes and
	control their communication.  Glish also provides a full,
	array-oriented programming language (similar to {S}) for
	manipulating binary data sent between the processes.  In
	general Glish uses a centralised communication model where
	interprocess communication passes through the Glish
	{interpreter}, allowing dynamic modification and rerouting of
	data values, but Glish also supports point-to-point links
	between processes when necessary for high performance.

	Version 2.4.1 includes an {interpreter}, {C++} {class} library
	and user manual.  It requires C++ and there are ports to
	{SunOS}, {Ultrix}, an {HP/UX} (rusty).

	{(ftp://ftp.ee.lbl.gov/glish/glish-2.4.1.tar.Z)}.

	["Glish: A User-Level Software Bus for Loosely-Coupled
	Distributed Systems," Vern Paxson and Chris Saltmarsh,
	Proceedings of the 1993 Winter USENIX Conference, San Diego,
	CA, January, 1993].

	(1993-11-01)

Glisp

	Generalized LISP.  D.C. Smith, Aug 1990.  A coordinated set of
	high-level syntaxes for Common LISP.  Contains Mlisp, Plisp
	and ordinary LISP, with an extensible framework for adding
	others.  Written in Plisp.

	{(ftp://bric-a-brac.apple.com/dts/mac/lisp)}.

glitch

	/glich/ [German "glitschen" to slip, via Yiddish "glitshen",
	to slide or skid] 1. (Electronics) When the inputs of a
	circuit change, and the outputs change to some {random} value
	for some very brief time before they settle down to the
	correct value.  If another circuit inspects the output at just
	the wrong time, reading the random value, the results can be
	very wrong and very hard to debug (a glitch is one of many
	causes of electronic {heisenbugs}).

	2. A sudden interruption in electric service, sanity,
	continuity, or program function.  Sometimes recoverable.  An
	interruption in electric service is specifically called a
	"power glitch" (or {power hit}), of grave concern because it
	usually crashes all the computers.  See also {gritch}.

	2. [Stanford] To scroll a display screen, especially several
	lines at a time.  {WAITS} terminals used to do this in order
	to avoid continuous scrolling, which is distracting to the
	eye.

	4. Obsolete.  Same as {magic cookie}.

	[{Jargon File}]

glob

	<file system, programming> /glob/ A mechanism that returns a list
	of {pathnames} that match a pattern containing {wild card}
	characters.  Globbing was available in early versions of {Unix}
	and, in more limited form, in {Microsoft Windows}.

	The characters are:

	* = zero or more characters, e.g. "probab*" would match
	probabilistic, probabilistically, probabilities, probability,
	probable, probably.

	? = any single character, e.g. "b?g" would match bag, big, bog,
	bug.

	[] any of the enclosed characters, e.g. "b[ao]g" would match bag,
	bog (not on Windows).

	These have become sufficiently pervasive that hackers use them in
	written messages.  E.g. "He said his name was [KC]arl" (expresses
	ambiguity).  "I don't read talk.politics.*" (any of the
	talk.politics subgroups on {Usenet}).  Other examples are given
	under the entry for {X}.

	Later Unix shells introduced the {x,y,z} syntax which expands to a
	comma-separated list of alternatives, thus foo{baz,qux} would
	expand to "foobaz" and "fooqux".  This differs from a glob because
	it generates a list of all possible expansions, rather than
	matching against existing files.

	Glob patterns are similar, but not identical, to {regular
	expressions}.

	"glob" was a subprogram that expanded wild cards in archaic
	pre-{Bourne} versions of the {Unix} {shell}.  It is also a
	{bulit-in function} in {Perl}.

	(2014-08-22)

global index

	<filename extension> (gid) The filename extension of a
	{Windows 95} "global index" file.  .gid files are created by
	the help {browser} internal to Windows 95 (also available for
	other Windows versions) for WinHelp files ({hlp}), as well as
	for storing user preferences, such as window position.

	(1997-01-30)

globalisation

	{internationalisation}

Global Network Navigator

	(GNN) A collection of free services provided by {O'Reilly &
	Associates}.

	The Whole Internet Catalog describes the most useful Net
	resources and services with live links to those resources.
	The GNN Business Pages list companies on the Internet.  The
	Internet Help Desk provides help in starting {Internet}q
	exploration.  NetNews is a weekly publication that reports on
	the news of the {Internet}, with weekly articles on Internet
	trends and special events, sports, weather, and comics.  There
	are also pages aobut travel and personal finance.

	{Home page (http://gnn.com/)}.

	E-mail: <support@gnn.com>.

	Telephone: (800) 998 9938 (USA), +1 (707) 829 0515 (outside
	USA).

	(1995-01-10)

Global Positioning System

	<communications> (GPS) A system for determining postion on the
	Earth's surface by comparing radio signals from several
	satellites.  When completed the system will consist of 24
	satellites equipped with radio transmitters and atomic clocks.

	Depending on your geographic location, the GPS receiver
	samples data from up to six satellites, it then calculates the
	time taken for each satellite signal to reach the GPS
	receiver, and from the difference in time of reception,
	determines your location.

	["Global Positioning by Satellite"?  Precison?  Coverage?  Web
	page?]

	(1998-02-10)

Global System for Mobile Communications

	<communications> (GSM, originally "Groupe de travail Sp?ciale
	pour les services Mobiles") One of the major {standards} for
	digital {cellular} communications, in use in over 60 countries
	and serving over one billion subscribers.  The GSM standard is
	currently used in the 900 MHz, 1800 MHz and 1900 MHz bands.

	{GPRS} allows {circuit switched} data communications over GSM,
	and is widely used for {World Wide Web} and {electronic mail}
	access from cellular devices.

	{GSM World (http://gsmworld.com/)}.

	(2005-01-26)

glork

	/glork/ 1. Used as a name for just about anything.

	See {foo}.

	2. Similar to {glitch}, but usually used reflexively.  "My
	program just glorked itself."

	See also {glark}.

	[{Jargon File}]

GLOS

	{Graphics Language Object System}.

GLOW

	<language> A POP-11 variant with {lexical scope}.

	Available from Andrew Arnblaster, Bollostraat 6, B-3140
	Keerbergen, Belgium, for Mac or {MS-DOS}.

	[Byte's UK edition, May 1992, p.84UK-8].

	(1997-02-07)

GLS

	{Guy Lewis Steele, Jr.}

GLU

	<language> A practical {coarse grain} implementation of the
	Lucid dataflow language for networks.

	(1998-03-07)

glue

	<jargon> A generic term for any interface logic or {protocol}
	that connects two component blocks.  For example, {Blue Glue}
	is IBM's SNA protocol, and hardware designers call anything
	used to connect large VLSI's or circuit blocks "glue logic".

	[{Jargon File}]

	(1999-02-22)

glue language

	<language> Any language, usually a {scripting language}, used
	to write {glue} to integrate tools and other programs to solve
	some problem.

	(1999-02-22)

glyph

	<character> An {image} used in the visual representation of
	{characters}; roughly speaking, how a character looks.  A
	{font} is a set of glyphs.

	In the simple case, for a given {font} ({typeface} and size),
	each character corresponds to a single glyph but this is not
	always the case, especially in a language with a large
	alphabet where one character may correspond to several glyphs
	or several characters to one glyph (a {character encoding}).

	Usually used in reference to {outline fonts}, in particular
	{TrueType}.

	(1998-05-31)

Glypnir

	1966.  An ALGOL-like language with parallel extensions.
	Similar to Actus.  "GLYPNIR - A Programming Language for the
	Illiac IV", D.H.  Lawrie et al, CACM 18(3) (Mar 1975).

gm

	<networking> The {country code} for Gambia.

	(1999-01-27)

GMAP

	{GCOS Macro Assembler Program}

GMD

	<company> Full name: "GMD - Forschungszentrum
	Informationstechnik GmbH" (German National Research Center for
	Information Technology).

	Before April 1995, GMD stood for "Gesellschaft für Mathematik
	und Datenverarbeitung" - National Research Center for Computer
	Science, it is retained for historical reasons.

	{(http://gmd.de/GMDHome.english.html)}.

	Address: D-53754 Sankt Augustin, Germany.

	(1995-04-10)

GMD Toolbox for Compiler Construction

	(Or Cocktail) A huge set of compiler building tools for
	{MS-DOS}, {Unix} and {OS/2}.

	parser generator (LALR -> C, Modula-2), documentation, parser
	generator (LL(1) -> C, Modula-2), tests, scanner generator (->
	C, Modula-2), tests translator (Extended BNF -> BNF),
	translator (Modula-2 -> C), translator (BNF (yacc) -> Extended
	BNF), examples abstract syntax tree generator,
	attribute-evaluator generator, code generator

	Latest version: 9209.

	The {MS-DOS} version requires DJ Delorie's DOS extender
	({go32}) and the {OS/2} version requires the {emx} programming
	environment.

	{(ftp://ftp.karlsruhe.gmd.de/pub/cocktail/dos)}.  {OS/2 FTP
	(ftp://ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo)}.

	Mailing list: listserv@eb.ele.tue.nl (subscribe to Cocktail).
	E-mail: Josef Grosch <grosch@karlsruhe.gmd.de>, Willem Jan
	Withagen <wjw@eb.ele.tue.nl> (OS/2).

	(1992-01-01)

GMT

	{Universal Time 1}

gn

	<networking> The {country code} for Guinea.

	(1999-01-27)

gnarly

	<jargon> /nar'lee/ Both obscure and {hairy}.  "{Yow}! - the
	tuned {assembler} implementation of {BitBlt} is really
	gnarly!"  From a similar but less specific usage in surfer
	slang.

	[{Jargon File}]

	(1996-09-17)

Gnat

	<language, tool> An {Ada} {compiler} written in {Ada} using
	the {gcc} {code generator} to allow easy {porting} to a
	variety of {platforms}.  Gnat is the only Ada compiler that
	completely implements the Ada standard, including all the
	annexes.

	The compiler is released under the {GNU} license and is
	currently maintained by {Ada Core Technologies} (ACT).

	{(http://gnat.com/)}.

	(1999-06-24)

GNATS

	{GNU Problem Report Management System}

GNN

	{Global Network Navigator}

GNOME

	{GNU Network Object Model Environment}

Gnome Computers

	<company> A small UK hardware and software company.  They make
	{transputer} boards for the {Acorn} {Archimedes} among other
	things.

	E-mail: Chris Stenton <chris@gnome.co.uk>.

	(1994-09-30)

GNU

	<body, project> /g*noo/ 1. A {recursive acronym}:
	"GNU's Not Unix!".  The {Free Software Foundation}'s project
	to provide a freely distributable replacement for {Unix}.  The
	GNU Manifesto was published in the March 1985 issue of
	Dr. Dobb's Journal but the GNU project started a year and a
	half earlier when {Richard Stallman} was trying to get funding
	to work on his freely distributable editor, {Emacs}.

	{Emacs} and the GNU {C} compiler, {gcc}, two tools designed
	for this project, have become very popular.  GNU software is
	available from many {GNU archive sites}.

	See also {Hurd}.

	2. <person> {John Gilmore}.

	[{Jargon File}]

	(1997-04-12)

GNU archive site

	<body> The main {GNU} {FTP archive} is on gnu.org but
	copies ("{mirrors}") of some or all of the files there are
	also held on many other computers around the world.  To avoid
	overloading gnu.org and the {Internet} you should
	{FTP} files from the machine closest to yours (you may be able
	to use {traceroute} to determine which is logically closest if
	it's not obvious from the transfer rate).  Trans-ocean
	{TCP/IP} links are very expensive and usually very slow.

	The following {hosts} mirror GNU files.  Look for a directory
	like /pub/gnu, /mirrors/gnu, /systems/gnu or /archives/gnu.
	{Electronic mail addresses} of administrators and {Internet
	address}es are given for some hosts.

	{Original list (ftp://src.doc.ic.ac.uk/gnu/GNUinfo/FTP)}.

	Australia: archie.au, archie.oz, archie.oz.au

	Brazil: ccsun.unicamp.br (143.106.1.5, <root@ccsun.unicamp.br>)

	Denmark: ftp.denet.dk

	Europe: archive.eu.net (192.16.202.1)

	Finland: ftp.funet.fi (128.214.6.100, gnu-adm)

	France: irisa.irisa.fr, ftp.univ-lyon1.fr
	(<ftpmaint@ftp.univ-lyon1.fr>)

	{Germany (ftp://ftp.informatik.tu-muenchen.de/)},
	{(ftp://ftp.informatik.rwth-aachen.de/)},
	{ftp://ftp.germany.eu.net/)}.

	Israel: ftp.technion.ac.il (<ftp-admin@ftp.technion.ac.il>)

	Japan: utsun.s.u-tokyo.ac.jp, ftp.cs.titech.ac.jp

	Korea: cair.kaist.ac.kr (143.248.11.170)

	Netherlands: hp4nl.nluug.nl, ftp.win.tue.nl (131.155.70.100)

	Norway: ugle.unit.no (129.241.1.97)

	South Africa: ftp.sun.ac.za

	Sweden: isy.liu.se, ftp.stacken.kth.se, ftp.luth.se,
	ftp.sunet.se, <archive@ftp.sunet.se>, sdi.slu.se.

	Switzerland: ftp.eunet.ch, nic.switch.ch

	Thailand: ftp.nectec.or.th (192.150.251.32,
	<ftp@nwg.nectec.or.th>)

	UK: src.doc.ic.ac.uk (146.169.3.7, <info-server@doc.ic.ac.uk>,
	<lmjm@doc.ic.ac.uk> also sun cartridge or exabyte tapes);
	info-server@cs.nott.ac.uk (<jpo@cs.nott.ac.uk>);
	I.G.Batten@fulcrum.bt.co.uk (also qic-21 and qic-24 tapes);
	ftp.mcc.ac.uk (130.88.203.12); Unix.hensa.ac.uk;
	ftp.warwick.ac.uk (137.205.192.14, <Unixhelp@warwick.ac.uk>).

	USA: louie.udel.edu, ftp.kpc.com (Silicon Valley, CA)
	ftp.hawaii.edu, f.ms.uky.edu, ftp.digex.net (Internet address
	164.109.10.23, run by <mcguire@digex.net>),
	wuarchive.wustl.edu, col.hp.com, ftp.cs.columbia.edu,
	vixen.cso.uiuc.edu, mrcnext.cso.uiuc.edu, jaguar.utah.edu,
	gatekeeper.dec.com, labrea.stanford.edu, ftp.cs.widener.edu,
	archive.cis.ohio-state.edu, and ftp.uu.net.

	Western Canada: ftp.cs.ubc.ca (<ftp-admin@cs.ubc.ca>)

	(1999-12-09)

GNU assembler

	(GAS) A {Unix} {assembler} for the {GNU} project.  Many {CPU}
	types are handled and {COFF} and {IEEE-695} formats are
	supported as well as standard {a.out}.

	Current version 2.2 ported to {Sun-3}, {Sun-4}, {i386},
	{386BSD}, {BSD/386}, {Linux}, {PS/2-AIX}, {VAX}, {Ultrix},
	{BSD}, {VMS}.

	The assembler has been merged with {GNU Binutils}.

	E-mail: <bug-gnu-utils@gnu.org>.

	(1995-04-18)

GNU awk

	{gawk}

GNU BC

	A {GNU} version of {BC} which is self-contained and internally
	executes its own compiled code rather than acting as a
	{front-end} to {DC} like the standard {Unix} bc.

	Version 1.02

	parser (yacc), interpreter, BC math library

	Philip A. Nelson <phil@cs.wwu.edu>

	FTP bc-1.02.tar.Z from a {GNU archive site}.

	requires: vsprintf and vfprintf routines

	ports: Unix (BSD, System V, MINIX, POSIX) Superset of POSIX BC
	(P10003.2/D11), with a POSIX-only mode.

GNU C

	<language> The extension of {C} compiled by {gcc}.

	(1997-09-30)

GNU C Library

	<library> (glibc) The {run-time} library for the {GNU C}
	{compiler}, {gcc}, and others.  glibc is the {source code} for
	libc.a.  It is maintained separately from the compilers and is
	a superset of {ANSI C} and {POSIX}.1 and a large subset of
	POSIX.2.

	Latest version: 2.1.3, as of 2000-04-29

	{(http://gnu.org/glibc)}.

	Mailing list: <bug-glibc@gnu.org> (bugs).

	(2000-05-31)

GNU DC

	GNU Desktop Calculator.

	An {interpreter} for a subset of the standard {Unix} {DC} that
	handles all its operations, except the (undocumented) {array}
	operations.  Integration with GNU BC is being attempted.

	Version 0.2.

	{FTP} dc-0.2.tar.Z from your nearest {GNU archive site}.

	(1993-05-21)

GNU E

	A persistent C++ variant

	Version 2.3.3

	compiler

	{(ftp://ftp.cs.wisc.edu/exodus/E/)}.

	GNU E is a persistent, object oriented programming language
	developed as part of the Exodus project.  GNU E extends C++
	with the notion of persistent data, program level data objects
	that can be transparently used across multiple executions of a
	program, or multiple programs, without explicit input and
	output operations.

	GNU E's form of {persistence} is based on extensions to the
	C++ type system to distinguish potentially persistent data
	objects from objects that are always memory resident.  An
	object is made persistent either by its declaration (via a new
	"persistent" storage class qualifier) or by its method of
	allocation (via persistent dynamic allocation using a special
	overloading of the new operator).  The underlying object
	storage system is the Exodus storage manager, which provides
	concurrency control and recovery in addition to storage for
	persistent data.

	restriction: Copyleft; not all run-time sources are available
	(yet)

	requires:	release 2.1.1 of the Exodus storage manager

	E-mail: <exodus@cs.wisc.edu>.

	(1993-01-20)

GNU Emacs

	{Emacs}

GNU Free Documentation License

	<legal> (GFDL) The {Free Software Foundation}'s license
	designed to ensure the same freedoms for {documentation} that
	the {GPL} gives to {software}.

	This dictionary is distributed under the GFDL, see the
	copyright notice in the {Free On-line Dictionary of Computing}
	section (at the start of the source file).  The full text
	follows.

	Version 1.1, March 2000

	Copyright 2000 Free Software Foundation, Inc.

	59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

	Everyone is permitted to copy and distribute verbatim copies
	of this license document, but changing it is not allowed.

	0. PREAMBLE

	The purpose of this License is to make a manual, textbook, or
	other written document "free" in the sense of freedom: to
	assure everyone the effective freedom to copy and redistribute
	it, with or without modifying it, either commercially or
	noncommercially. Secondarily, this License preserves for the
	author and publisher a way to get credit for their work, while
	not being considered responsible for modifications made by
	others.

	This License is a kind of "copyleft", which means that
	derivative works of the document must themselves be free in
	the same sense.  It complements the GNU General Public
	License, which is a copyleft license designed for free
	software.

	We have designed this License in order to use it for manuals
	for free software, because free software needs free
	documentation: a free program should come with manuals
	providing the same freedoms that the software does.  But this
	License is not limited to software manuals; it can be used for
	any textual work, regardless of subject matter or whether it
	is published as a printed book.  We recommend this License
	principally for works whose purpose is instruction or
	reference.

	1. APPLICABILITY AND DEFINITIONS

	This License applies to any manual or other work that contains
	a notice placed by the copyright holder saying it can be
	distributed under the terms of this License.  The "Document",
	below, refers to any such manual or work.  Any member of the
	public is a licensee, and is addressed as "you".

	A "Modified Version" of the Document means any work containing
	the Document or a portion of it, either copied verbatim, or
	with modifications and/or translated into another language.

	A "Secondary Section" is a named appendix or a front-matter
	section of the Document that deals exclusively with the
	relationship of the publishers or authors of the Document to
	the Document's overall subject (or to related matters) and
	contains nothing that could fall directly within that overall
	subject.  (For example, if the Document is in part a textbook
	of mathematics, a Secondary Section may not explain any
	mathematics.)  The relationship could be a matter of historical
	connection with the subject or with related matters, or of
	legal, commercial, philosophical, ethical or political
	position regarding them.

	The "Invariant Sections" are certain Secondary Sections whose
	titles are designated, as being those of Invariant Sections,
	in the notice that says that the Document is released under
	this License.

	The "Cover Texts" are certain short passages of text that are
	listed, as Front-Cover Texts or Back-Cover Texts, in the
	notice that says that the Document is released under this
	License.

	A "Transparent" copy of the Document means a machine-readable
	copy, represented in a format whose specification is available
	to the general public, whose contents can be viewed and edited
	directly and straightforwardly with generic text editors or
	(for images composed of pixels) generic paint programs or (for
	drawings) some widely available drawing editor, and that is
	suitable for input to text formatters or for automatic
	translation to a variety of formats suitable for input to text
	formatters.  A copy made in an otherwise Transparent file
	format whose markup has been designed to thwart or discourage
	subsequent modification by readers is not Transparent.  A copy
	that is not "Transparent" is called "Opaque".

	Examples of suitable formats for Transparent copies include
	plain ASCII without markup, Texinfo input format, LaTeX input
	format, SGML or XML using a publicly available DTD, and
	standard-conforming simple HTML designed for human
	modification.  Opaque formats include PostScript, PDF,
	proprietary formats that can be read and edited only by
	proprietary word processors, SGML or XML for which the DTD
	and/or processing tools are not generally available, and the
	machine-generated HTML produced by some word processors for
	output purposes only.

	The "Title Page" means, for a printed book, the title page
	itself, plus such following pages as are needed to hold,
	legibly, the material this License requires to appear in the
	title page.  For works in formats which do not have any title
	page as such, "Title Page" means the text near the most
	prominent appearance of the work's title, preceding the
	beginning of the body of the text.

	2. VERBATIM COPYING

	You may copy and distribute the Document in any medium, either
	commercially or noncommercially, provided that this License,
	the copyright notices, and the license notice saying this
	License applies to the Document are reproduced in all copies,
	and that you add no other conditions whatsoever to those of
	this License.  You may not use technical measures to obstruct
	or control the reading or further copying of the copies you
	make or distribute.  However, you may accept compensation in
	exchange for copies.  If you distribute a large enough number
	of copies you must also follow the conditions in section 3.

	You may also lend copies, under the same conditions stated
	above, and you may publicly display copies.

	3. COPYING IN QUANTITY

	If you publish printed copies of the Document numbering more
	than 100, and the Document's license notice requires Cover
	Texts, you must enclose the copies in covers that carry,
	clearly and legibly, all these Cover Texts: Front-Cover Texts
	on the front cover, and Back-Cover Texts on the back cover.
	Both covers must also clearly and legibly identify you as the
	publisher of these copies.  The front cover must present the
	full title with all words of the title equally prominent and
	visible.  You may add other material on the covers in
	addition.  Copying with changes limited to the covers, as long
	as they preserve the title of the Document and satisfy these
	conditions, can be treated as verbatim copying in other
	respects.

	If the required texts for either cover are too voluminous to
	fit legibly, you should put the first ones listed (as many as
	fit reasonably) on the actual cover, and continue the rest
	onto adjacent pages.

	If you publish or distribute Opaque copies of the Document
	numbering more than 100, you must either include a
	machine-readable Transparent copy along with each Opaque copy,
	or state in or with each Opaque copy a publicly-accessible
	computer-network location containing a complete Transparent
	copy of the Document, free of added material, which the
	general network-using public has access to download
	anonymously at no charge using public-standard network
	protocols.  If you use the latter option, you must take
	reasonably prudent steps, when you begin distribution of
	Opaque copies in quantity, to ensure that this Transparent
	copy will remain thus accessible at the stated location until
	at least one year after the last time you distribute an Opaque
	copy (directly or through your agents or retailers) of that
	edition to the public.

	It is requested, but not required, that you contact the
	authors of the Document well before redistributing any large
	number of copies, to give them a chance to provide you with an
	updated version of the Document.

	4. MODIFICATIONS

	You may copy and distribute a Modified Version of the Document
	under the conditions of sections 2 and 3 above, provided that
	you release the Modified Version under precisely this License,
	with the Modified Version filling the role of the Document,
	thus licensing distribution and modification of the Modified
	Version to whoever possesses a copy of it.  In addition, you
	must do these things in the Modified Version:

	A. Use in the Title Page (and on the covers, if any) a title
	distinct from that of the Document, and from those of previous
	versions (which should, if there were any, be listed in the
	History section of the Document).  You may use the same title
	as a previous version if the original publisher of that
	version gives permission.

	B. List on the Title Page, as authors, one or more persons or
	entities responsible for authorship of the modifications in
	the Modified Version, together with at least five of the
	principal authors of the Document (all of its principal
	authors, if it has less than five).

	C. State on the Title page the name of the publisher of the
	Modified Version, as the publisher.

	D. Preserve all the copyright notices of the Document.

	E. Add an appropriate copyright notice for your modifications
	adjacent to the other copyright notices.

	F. Include, immediately after the copyright notices, a license
	notice giving the public permission to use the Modified
	Version under the terms of this License, in the form shown in
	the Addendum below.

	G. Preserve in that license notice the full lists of Invariant
	Sections and required Cover Texts given in the Document's
	license notice.

	H. Include an unaltered copy of this License.

	I. Preserve the section entitled "History", and its title, and
	add to it an item stating at least the title, year, new
	authors, and publisher of the Modified Version as given on the
	Title Page. If there is no section entitled "History" in the
	Document, create one stating the title, year, authors, and
	publisher of the Document as given on its Title Page, then add
	an item describing the Modified Version as stated in the
	previous sentence.

	J. Preserve the network location, if any, given in the
	Document for public access to a Transparent copy of the
	Document, and likewise the network locations given in the
	Document for previous versions it was based on. These may be
	placed in the "History" section. You may omit a network
	location for a work that was published at least four years
	before the Document itself, or if the original publisher of
	the version it refers to gives permission.

	K. In any section entitled "Acknowledgements" or
	"Dedications", preserve the section's title, and preserve in
	the section all the substance and tone of each of the
	contributor acknowledgements and/or dedications given therein.

	L. Preserve all the Invariant Sections of the Document,
	unaltered in their text and in their titles. Section numbers
	or the equivalent are not considered part of the section
	titles.

	M. Delete any section entitled "Endorsements".  Such a section
	may not be included in the Modified Version.

	N. Do not retitle any existing section as "Endorsements" or to
	conflict in title with any Invariant Section.  If the Modified
	Version includes new front-matter sections or appendices that
	qualify as Secondary Sections and contain no material copied
	from the Document, you may at your option designate some or
	all of these sections as invariant.  To do this, add their
	titles to the list of Invariant Sections in the Modified
	Version's license notice.  These titles must be distinct from
	any other section titles.

	You may add a section entitled "Endorsements", provided it
	contains nothing but endorsements of your Modified Version by
	various parties--for example, statements of peer review or
	that the text has been approved by an organization as the
	authoritative definition of a standard.

	You may add a passage of up to five words as a Front-Cover
	Text, and a passage of up to 25 words as a Back-Cover Text, to
	the end of the list of Cover Texts in the Modified
	Version.  Only one passage of Front-Cover Text and one of
	Back-Cover Text may be added by (or through arrangements made
	by) any one entity.  If the Document already includes a cover
	text for the same cover, previously added by you or by
	arrangement made by the same entity you are acting on behalf
	of, you may not add another; but you may replace the old one,
	on explicit permission from the previous publisher that added
	the old one.

	The author(s) and publisher(s) of the Document do not by this
	License give permission to use their names for publicity for
	or to assert or imply endorsement of any Modified Version.

	5. COMBINING DOCUMENTS

	You may combine the Document with other documents released
	under this License, under the terms defined in section 4 above
	for modified versions, provided that you include in the
	combination all of the Invariant Sections of all of the
	original documents, unmodified, and list them all as Invariant
	Sections of your combined work in its license notice.

	The combined work need only contain one copy of this License,
	and multiple identical Invariant Sections may be replaced with
	a single copy.  If there are multiple Invariant Sections with
	the same name but different contents, make the title of each
	such section unique by adding at the end of it, in
	parentheses, the name of the original author or publisher of
	that section if known, or else a unique number. Make the same
	adjustment to the section titles in the list of Invariant
	Sections in the license notice of the combined work.

	In the combination, you must combine any sections entitled
	"History" in the various original documents, forming one
	section entitled "History"; likewise combine any sections
	entitled "Acknowledgements", and any sections entitled
	"Dedications". You must delete all sections entitled
	"Endorsements."

	6. COLLECTIONS OF DOCUMENTS

	You may make a collection consisting of the Document and other
	documents released under this License, and replace the
	individual copies of this License in the various documents
	with a single copy that is included in the collection,
	provided that you follow the rules of this License for
	verbatim copying of each of the documents in all other
	respects.

	You may extract a single document from such a collection, and
	distribute it individually under this License, provided you
	insert a copy of this License into the extracted document, and
	follow this License in all other respects regarding verbatim
	copying of that document.

	7. AGGREGATION WITH INDEPENDENT WORKS

	A compilation of the Document or its derivatives with other
	separate and independent documents or works, in or on a volume
	of a storage or distribution medium, does not as a whole count
	as a Modified Version of the Document, provided no compilation
	copyright is claimed for the compilation.  Such a compilation
	is called an "aggregate", and this License does not apply to
	the other self-contained works thus compiled with the
	Document, on account of their being thus compiled, if they are
	not themselves derivative works of the Document.

	If the Cover Text requirement of section 3 is applicable to
	these copies of the Document, then if the Document is less
	than one quarter of the entire aggregate, the Document's Cover
	Texts may be placed on covers that surround only the Document
	within the aggregate.  Otherwise they must appear on covers
	around the whole aggregate.

	8. TRANSLATION

	Translation is considered a kind of modification, so you may
	distribute translations of the Document under the terms of
	section 4.  Replacing Invariant Sections with translations
	requires special permission from their copyright holders, but
	you may include translations of some or all Invariant Sections
	in addition to the original versions of these Invariant
	Sections.  You may include a translation of this License
	provided that you also include the original English version of
	this License.  In case of a disagreement between the
	translation and the original English version of this License,
	the original English version will prevail.

	9. TERMINATION

	You may not copy, modify, sublicense, or distribute the
	Document except as expressly provided for under this
	License.  Any other attempt to copy, modify, sublicense or
	distribute the Document is void, and will automatically
	terminate your rights under this License.  However, parties who
	have received copies, or rights, from you under this License
	will not have their licenses terminated so long as such
	parties remain in full compliance.

	10. FUTURE REVISIONS OF THIS LICENSE

	The Free Software Foundation may publish new, revised versions
	of the GNU Free Documentation License from time to time.  Such
	new versions will be similar in spirit to the present version,
	but may differ in detail to address new problems or concerns.
	See {here (http://gnu.org/copyleft/)}.

	Each version of the License is given a distinguishing version
	number.  If the Document specifies that a particular numbered
	version of this License "or any later version" applies to it,
	you have the option of following the terms and conditions
	either of that specified version or of any later version that
	has been published (not as a draft) by the Free Software
	Foundation.  If the Document does not specify a version number
	of this License, you may choose any version ever published
	(not as a draft) by the Free Software Foundation.

	End of full text of GFDL.

	(2002-03-09)

GNU General Public License

	{General Public License}

GNUMACS

	/gnoo'maks/ [contraction of "GNU Emacs"] Often-heard
	abbreviated name for the {GNU} project's flagship tool,
	{Emacs}.  Used especially in contrast with {GOSMACS}.

	[{Jargon File}]

GNU mirror site

	{GNU archive site}

GNU Network Object Model Environment

	<operating system> (GNOME) A project to build a complete,
	{user-friendly} {desktop} based entirely on {free software}.
	GNOME is part of the {GNU project} and part of the
	{OpenSource} movement.  The desktop will consist of small
	{utilities} and larger {applications} which share a consistent
	{look and feel}.  GNOME uses {GTK+} as the {GUI} {toolkit} for
	applications.

	GNOME is intended to run on any modern and functional
	{Unix}-like system.  The current version runs on {Linux},
	{FreeBSD}, {IRIX} and {Solaris}.

	{(http://gnome.org/)}.

	(1998-10-17)

Gnuplot

	<tool> A command-driven interactive graphing program.  Gnuplot
	can plot two-dimensional functions and data points in many
	different styles (points, lines, error bars); and
	three-dimensional data points and surfaces in many different
	styles (contour plot, mesh).  It supports {complex} arithmetic
	and user-defined functions and can label title, axes, and data
	points.  It can output to several different graphics file
	formats and devices.  Command line editing and history are
	supported and there is extensive on-line help.

	Gnuplot is {copyright}ed, but freely distributable.  It was
	written by Thomas Williams, Colin Kelley, Russell Lang, Dave
	Kotz, John Campbell, Gershon Elber, Alexander Woo and many
	others.  Despite its name, gnuplot is not related to the {GNU}
	project or the {FSF} in any but the most peripheral sense.  It
	was designed completely independently and is not covered by
	the {General Public License}.  However, the {FSF} has decided
	to distribute gnuplot as part of the {GNU} system, because it
	is useful, redistributable software.

	Gnuplot is available for: {Unix} ({X11} and {NEXTSTEP}),
	{VAX}/{VMS}, {OS/2}, {MS-DOS}, {Amiga}, {MS-Windows},
	{OS-9}/68k, {Atari ST} and {Macintosh}.

	E-mail: <info-gnuplot@dartmouth.edu>.

	{FAQ} - {Germany
	(http://fg70.rz.uni-karlsruhe.de/~ig25/gnuplot-faq/)}, {UK
	(ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics.gnuplot)},
	{USA
	(http://cis.ohio-state.edu/hypertext/faq/usenet/graphics/gnuplot-faq/faq.html)}.

	{Usenet} newsgroup: {news:comp.graphics.gnuplot}.

	(1995-05-04)

GNU Privacy Guard

	<tool, cryptography} (GPG) {GNU}'s encryption and digital
	signature tool intended to be a free replacement for {PGP}.

	(2003-04-12)

GNU Problem Report Management System

	<programming> (GNATS) {GNU}'s {bug tracking system}.  Users
	who experience problems use electronic mail, web-based or
	other clients communicating with the GNATS network daemon
	running at the support site, or direct database submissions to
	communicate these problems to maintainers at that Support
	Site.

	{(http://gnu.org/software/gnats)}.

	(2002-06-12)

GNU public licence

	<legal> Properly known as the {General Public License}.
	Improperly known as the {General Public Virus}.

	(1995-05-04)

GNUS

	<tool, networking> GNU news.

	A {GNU} {Emacs} subsystem for reading and sending {Usenet}
	{news}, written by Masanobu Umeda <umerin@mse.kyutech.ac.jp>.
	You can use GNUS to browse through news groups, look at
	summaries of articles in a specific group, and read articles
	of interest.  You can respond to authors or write articles or
	replies to all the readers of a news group.

	GNUS can be configured to use the {NNTP} {protocol} to get
	news from a remove {server} or it can read it from local news
	{spool} files.

	{Usenet} newsgorup: {news:gnu.emacs.gnus}.

	(1995-05-04)

GNU sed

	<tool, text> A {GNU} version of the standard {Unix} {Sed}
	stream editor.  GNU sed was written by Tom Lord
	<lord+@andrew.cmu.edu>.  Version 2.03.

	FTP from your nearest {GNU archive site}.

	E-mail: <bug-gnu-utils@gnu.org> (bugs).

	(1993-08-09)

GNU Smalltalk

	<language> A {GNU} version of {Smalltalk}, by Steven Byrne
	<sbb@eng.sun.com>.

	Version 1.1.1,

	{FTP} from your nearest {GNU archive site}.

	{msgGUI} is a {graphical user interface} library for GNU
	Smalltalk.

	(1991-09-15)

GNUStep

	<operating system> A {GNU} implementation of {OpenStep}.  Work
	has started on an implementation using an existing library
	written in {Objective-C}.  Much work remains to be done to
	bring this library close to the OpenStep specifications.  Adam
	Fedor is head of the project.

	{(http://gnustep.org/)}.

	[Current status?  Newsgroup?]

	(1999-11-25)

GNU superoptimiser

	(GSO) A function sequence generator that uses an exhaustive
	generate-and-test approach to find the shortest instruction
	sequence for a given function.  Written by Torbjorn Granlund
	<tege@gnu.ai.mit.edu> and Tom Wood.  You have to tell the
	superoptimiser which function and which {CPU} you want to get
	code for.  This is useful for compiler writers.

	FTP superopt-2.2.tar.Z from a {GNU archive site}.

	Generates code for {DEC} {Alpha}, {SPARC}, {Intel 80386},
	{88000}, {RS/6000}, {68000}, {29000} and {Pyramid} (SP, AP and
	XP).

	(1993-02-16)

Go

	<games, application> A thinking game with an oriental origin
	estimated to be around 4000 years old.  Nowadays, the game is
	played by millions of people in (most notably) China, Japan,
	Korea and Taiwan.  In the Western world the game is practised
	by a yearly increasing number of players.  On the {Internet}
	Go players meet, play and talk 24 hours/day on the {Internet
	Go Server} (IGS).

	{(http://cwi.nl/~jansteen/go/go.html)}.

	{Usenet} newsgroup: {news:rec.games.go}.

	(1995-03-17)

goal

	<programming> In {logic programming}, a {predicate} applied to
	its {arguments} which the system attempts to prove by matching
	it against the {clauses} of the program.  A goal may fail or
	it may succeed in one or more ways.

	(1997-07-14)

goal seek

	{what-if analysis}

Go Back N

	<networking> A {data link layer} {protocol}.

	[Details?]

	(2010-01-19)

gobble

	<jargon>

	1. To consume, usually used with "up".  "The output spy
	gobbles characters out of a {tty} output buffer."

	2. To obtain, usually used with "down".  "I guess I'll gobble
	down a copy of the documentation tomorrow."

	See also {snarf}.

	[{Jargon File}]

	(2010-01-19)

GObject Introspection

	<programming> A {GNOME} project that defines a {syntax} for
	{introspection annotation} {pragmas} to be used in the
	{GObject library} {source code}.  Rather than actual
	{introspection}, these are intended to allow automatic
	generation of {bindings} ({API}s) to expose the library to
	higher-level languages.  The sort of information provided is
	the type and direction (in, out, inout) of function parameters
	and the responsibility for freeing memory used by data
	structures.

	{GObject Introspection Home
	(http://live.gnome.org/GObjectIntrospection/)}.

	(2010-01-19)

Godwin's Law

	<usenet, humour> "As a {Usenet} discussion grows longer, the
	probability of a comparison involving Nazis or Hitler
	approaches one."  There is a tradition in many groups that,
	once this occurs, that {thread} is over, and whoever mentioned
	the Nazis has automatically lost whatever argument was in
	progress.  Godwin's Law thus practically guarantees the
	existence of an {upper bound} on thread length in those
	groups.  However there is also a widely recognised codicil
	that any intentional triggering of Godwin's Law in order to
	invoke its thread-ending effects will be unsuccessful.

	[{Jargon}].

	(2003-10-06)

Godzillagram

	<networking> /god-zil'*-gram/ (From Japan's national hero and
	{datagram}) 1. A {network packet} that in theory is a
	{broadcast} to every machine in the universe.  The typical
	case is an {IP} {datagram} whose destination IP address is
	[255.255.255.255].  Fortunately, few {gateways} are foolish
	enough to attempt to implement this case!

	2. A network packet of maximum size.  An {IP} Godzillagram has
	65,536 {octets}.  Compare {super source quench}.

	(2003-10-07)

Goedel

	<language> (After the mathematician {Kurt Gödel}) A
	{declarative}, general-purpose language for {artificial
	intelligence} based on {logic programming}.  It can be
	regarded as a successor to {Prolog}.  The {type system} is
	based on {many-sorted logic} with {parametric polymorphism}.
	Modularity is supported, as well as {infinite precision
	arithmetic} and {finite sets}.

	Goedel has a rich collection of system {modules} and provides
	{constraint} solving in several domains.  It also offers
	{metalogical} facilities that provide significant support for
	{metaprograms} that do analysis, transformation, compilation,
	verification, and debugging.

	A significant subset of Goedel has been implemented on top of
	{SISCtus Prolog} by Jiwei Wang <jiwei@lapu.bristol.ac.uk>.

	{FTP Bristol, UK (ftp://ftp.cs.bris.ac.uk/goedel)}, {FTP K U
	Leuven (ftp://ftp.cs.kuleuven.ac.be/pub/logic-prgm/goedel)}.

	E-mail: <goedel@compsci.bristol.ac.uk>.

	(1995-05-02)

go-faster stripes

	<jargon> {chrome}.  Mainstream in some parts of UK.

	[{Jargon File}]

	(1998-07-05)

Gofer

	<language> A {lazy} {functional language} designed by Mark
	Jones <mpj@cs.nott.ac.uk> at the {Programming Research Group},
	Oxford, UK in 1991.  It is very similar to {Haskell} 1.2.  It
	has {lazy evaluation}, {higher order functions}, {pattern
	matching}, and {type class}es, lambda, case, conditional and
	let expressions, and wild card, "as" and {irrefutable
	patterns}.  It lacks {modules}, {arrays} and standard
	{classes}.

	Gofer comes with an {interpreter} (in C), a {compiler} which
	compiles to {C}, documentation and examples.  Unix Version
	2.30 (1994-06-10) Mac_Gofer version 0.16 beta.  Ported to
	{Sun}, {Acorn} {Archimedes}, {IBM PC}, {Macintosh}, {Atari},
	{Amiga}.

	Version 2.30 added support for contexts in datatype and member
	function definitions, Haskell style {arrays}, an external
	function calling mechanism for gofc, an experimental
	implementation of Launchbury/Peyton Jones style lazy
	functional state threads, an experimental implementation of
	"do" notation for {monad comprehensions}.

	Latest version: {HUGS}.

	["Introduction to Gofer 2.20", M.P. Jones.]

	[The implementation of the Gofer functional programming
	system, Mark P. Jones, Research Report YALEU/DCS/RR-1030, Yale
	University, Department of Computer Science, May 1994.  FTP:
	nebula.cs.yale.edu/pub/yale-fp/reports].

	{(http://cs.nott.ac.uk/Department/Staff/mpj/)}.

	{FTP Yale (ftp://nebula.cs.yale.edu/)}, {FTP Glasgow
	(ftp://ftp.dcs.glasgow.ac.uk/)}, {FTP Chalmers
	(ftp://ftp.cs.chalmers.se/pub/haskell/gofer/)}.

	(1995-02-14)

Goffin

	<language> A {definitional constraint language} for
	{declarative} parallel programming.  Goffin systematically
	integrates {equational constraints} and functions within a
	uniform framework of {concurrent} programming.

	Goffin is an embedding of a functional language kernel
	({Haskell}) into a layer of constraint logic, which allows
	{logical variables} inside functional expressions.  In order
	to preserve {referential transparency}, functional {reduction}
	suspends until logical variables become bound.

	Logical variables are bound by equational constraints, which
	impose relations over expressions.  Hence, constraints are the
	means to structure the concurrent reduction of functional
	expressions.

	(1995-02-21)

go flatline

	[{Cyberpunk} SF, refers to flattening of EEG traces upon
	brain-death] also "flatlined". 1. To {die}, terminate, or
	fail, especially irreversibly.  In hacker parlance, this is
	used of machines only, human death being considered somewhat
	too serious a matter to employ jargon-jokes about.

	2. To go completely quiescent; said of machines undergoing
	controlled shutdown.  "You can suffer file damage if you shut
	down Unix but power off before the system has gone flatline."

	3. Of a video tube, to fail by losing vertical scan, so all
	one sees is a bright horizontal line bisecting the screen.

	[{Jargon File}]

GO-GO

	{ALPS}

go gold

	<testing> The point in the life of a software product where it
	is declared ready to release for sale.  This may be because it
	has reached sufficiently high quality (freedom from {bugs},
	etc.), or because it is financially expedient.

	(2004-08-02)

GOL

	General Operating Language.  Subsystem of {DOCUS}.  [Sammet
	1969, p.678].

golden

	[Probabaly from folklore's "golden egg"] When used to describe
	a magnetic medium (e.g. "golden disk", "golden tape"),
	describes one containing a tested, up-to-spec, ready-to-ship
	software version.  Compare {platinum-iridium}.

	[{Jargon File}]

golf ball printer

	{IBM 2741}

GOM

	Good Old MAD.

	Don Boettner, U Mich.  MAD for the IBM 360.  Parts of the MTS
	{time-sharing} system were written in GOM.

gonk

	<jargon> /gonk/ 1. To prevaricate or to embellish the truth
	beyond any reasonable recognition.  In German the term is
	(mythically) "gonken"; in Spanish the verb becomes "gonkar".
	"You're gonking me.  That story you just told me is a bunch of
	gonk."  In German, for example, "Du gonkst mir" (You're
	pulling my leg).

	See also {gonkulator}.

	2. (British) To grab some sleep at an odd time.

	Compare {gronk out}.

	[{Jargon File}]

	(1995-03-07)

gonkulator

	/gon'kyoo-lay-tr/ (From "Hogan's Heroes", the TV series) A
	pretentious piece of equipment that actually serves no useful
	purpose.  Usually used to describe one's least favourite piece
	of computer hardware.

	See {gonk}.

	[{Jargon File}]

	(1995-03-07)

GOOD

	{Graph-Oriented Object Database}

Good Thing

	<convention> (From the 1930 Sellar and Yeatman parody "1066
	And All That") Often capitalised; always pronounced as if
	capitalised.

	1. Self-evidently wonderful to anyone in a position to notice:
	"The {Trailblazer}'s 19.2 K{baud} {PEP} mode with {on-the-fly}
	{Lempel-Ziv compression} is a Good Thing for sites relaying
	{netnews}".

	2. Something that can't possibly have any ill side-effects and
	may save considerable grief later: "Removing the
	{self-modifying code} from that {shared library} would be a
	Good Thing".

	3. When said of software tools or libraries, as in "{Yacc} is
	a Good Thing", specifically connotes that the thing has
	drastically reduced a programmer's work load.

	Opposite: {Bad Thing}, compare {big win}.

	[{Jargon File}]

	(1995-05-07)

Google

	<web> The {web} {search engine} that indexes the greatest number
	of web pages - over two billion by December 2001 and provides a
	free service that searches this index in less than a second.

	The site's name is apparently derived from "{googol}", but
	note the difference in spelling.

	The "Google" spelling is also used in "The Hitchhikers Guide
	to the Galaxy" by Douglas Adams, in which one of Deep
	Thought's designers asks, "And are you not," said Fook,
	leaning anxiously foward, "a greater analyst than the
	Googleplex Star Thinker in the Seventh Galaxy of Light and
	Ingenuity which can calculate the trajectory of every single
	dust particle throughout a five-week Dangrabad Beta sand
	blizzard?"

	{(http://google.com/)}.

	(2001-12-28)

googol

	<mathematics> The number represented in base-ten by a one with
	a hundred zeroes after it.

	According to Webster's Dictionary, the name was coined in 1938
	by Milton Sirotta, the nine-year-old nephew of American
	mathematician, Edward Kasner.

	See also {googolplex}.

	(2001-03-29)

googolplex

	<mathematics> The number represented in base-ten by a one with
	a {googol} zeroes after it.

	(2001-03-29)

gopher

	<networking, protocol> A {distributed} document retrieval
	system which started as a {Campus Wide Information System} at
	the {University of Minnesota}, and which was popular in the
	early 1990s.

	Gopher is defined in {RFC 1436}.  The protocol is like a
	primitive form of {HTTP} (which came later).  Gopher lacks the
	{MIME} features of HTTP, but expressed the equivalent of a
	document's {MIME type} with a one-character code for the
	"{Gopher object type}".  At time of writing (2001), all Web
	browers should be able to access gopher servers, although few
	gopher servers exist anymore.

	{Tim Berners-Lee}, in his book "Weaving The Web" (pp.72-73),
	related his opinion that it was not so much the protocol
	limitations of gopher that made people abandon it in favor of
	HTTP/{HTML}, but instead the legal missteps on the part of the
	university where it was developed:

	"It was just about this time, spring 1993, that the University
	of Minnesota decided that it would ask for a license fee from
	certain classes of users who wanted to use gopher.  Since the
	gopher software being picked up so widely, the university was
	going to charge an annual fee.  The browser, and the act of
	browsing, would be free, and the server software would remain
	free to nonprofit and educational institutions.  But any other
	users, notably companies, would have to pay to use gopher
	server software.

	"This was an act of treason in the academic community and the
	Internet community.  Even if the university never charged
	anyone a dime, the fact that the school had announced it was
	reserving the right to charge people for the use of the gopher
	protocols meant it had crossed the line.  To use the
	technology was too risky.  Industry dropped gopher like a hot
	potato."

	(2001-03-31)

Gopher client

	<networking> A program which runs on your local computer and
	provides a {user interface} to the {Gopher} {protocol} and to
	gopher servers.  {Web browsers} can act as Gopher clients and
	simple Gopher-only clients are available for ordinary
	terminals, the {X Window System}, {GNU Emacs}, and other
	systems.

	{(ftp://boombox.micro.umn.edu/)}.

	(2001-03-31)

Gopher object type

	A character specifying how to display a {Gopher} document.
	Current types are:

	 0  document
	 1  menu
	 2  CSO phone book entity
	 3  error
	 4  binhex binary
	 5  DOS binary (deprecated)
	 6  UU  binary (deprecated)
	 7  index search
	 8  telnet connection
	 9  binary
	 +  duplicate server for previous object
	 I  image
	 M  MIME document
	 T  tn3270 based telnet connection
	 c  cal
	 g  GIF image
	 h  HTML
	 s  binary
	 u  {Usenet} newsgroup

	(1999-10-14)

Gopherspace

	<networking> The sum of all files that can be reached using
	{gopher}.

	(2005-06-08)

gorets

	/gor'ets/ The unknown ur-noun, fill in your own meaning.
	Found especially on the {Usenet} newsgroup alt.gorets, which
	seems to be a running contest to redefine the word by
	implication in the funniest and most peculiar way, with the
	understanding that no definition is ever final.  [A
	correspondent from the Former Soviet Union informs me that
	"gorets" is Russian for "mountain dweller" - ESR] Compare
	{frink}.

	[{Jargon File}]

gorilla arm

	The side-effect that destroyed touch-screens as a mainstream
	input technology despite a promising start in the early 1980s.
	It seems the designers of all those {spiffy} touch-menu
	systems failed to notice that humans aren't designed to hold
	their arms in front of their faces making small motions.
	After more than a very few selections, the arm begins to feel
	sore, cramped, and oversized - the operator looks like a
	gorilla while using the touch screen and feels like one
	afterward.  This is now considered a classic cautionary tale
	to human-factors designers; "Remember the gorilla arm!" is
	shorthand for "How is this going to fly in *real* use?".

go root

	[Unix] To temporarily enter {root mode} in order to perform a
	privileged operation.  This use is deprecated in Australia,
	where the verb "root" refers to animal sex.  See {su}.

	[{Jargon File}]

gorp

	/gorp/ (CMU, perhaps from the canonical hiker's food, Good Old
	Raisins and Peanuts) Another {metasyntactic variable}, like
	{foo} and {bar}.

GOSIP

	{Government OSI Profile}

Gosling, James

	{James Gosling}

GOSMACS

	/goz'maks/ Gosling Emacs.  The first {Emacs} implementation in
	{C}, predating but now largely eclipsed by {GNU} {Emacs}.
	Originally {freeware}; a commercial version is now modestly
	popular as {UniPress Emacs}.  The author (James Gosling) went
	on to invent {NeWS}.

	[{Jargon File}]

Gosperism

	/gos'p*r-izm/ A hack, invention, or saying due to arch-hacker
	R. William (Bill) Gosper.  This notion merits its own term
	because there are so many of them.  Many of the entries in
	{HAKMEM} are Gosperisms.

	See also {life}.

GOSPL

	Graphics-Oriented Signal Processing Language.  A graphical DSP
	language for simulation.

	["Graphic Oriented Signal Processing Language - GOSPL",
	C.D. Covington et al, Proc ICASSP-87, 1987].

gotcha

	<jargon, programming> A {misfeature} of a system, especially a
	programming language or environment, that tends to breed
	{bugs} or mistakes because it both enticingly easy to invoke
	and completely unexpected and/or unreasonable in its outcome.

	For example, a classic gotcha in {C} is the fact that

		if (a=b) {code;}

	is syntactically valid and sometimes even correct.  It puts
	the value of "b" into "a" and then executes "code" if "a" is
	non-zero.  What the programmer probably meant was

		if (a==b) {code;}

	which executes "code" if "a" and "b" are equal.

	[{Jargon File}]

	(1995-04-17)

goto

	<programming> (Or "GOTO", "go to", "GO TO", "JUMP", "JMP") A
	construct and {keyword} found in several higher-level
	programming languages (e.g. {Fortran}, {COBOL}, {BASIC}, {C})
	to cause an {unconditional jump} or transfer of {control} from
	one point in a program to another.  The destination of the
	jump is usually indicated by a {label} following the GOTO
	keyword.

	In some languages, a label is a line number, in which case
	every statement may be labelled, in others a label is an
	optional alphanumeric {identifier}.

	Use of the GOTO instruction in {high level language}
	programming fell into disrepute with the development and
	general acceptance of {structured programming}, and especially
	following the famous article "GOTO statement {considered
	harmful}".  Since a GOTO is effectively an {assignment} to the
	{program counter}, it is tempting to make the generalisation
	"assignment considered harmful" and indeed, this is the basis
	of {functional programming}.

	Nearly(?) all {machine language} {instruction sets} include a
	GOTO instruction, though in this context it is usually called
	branch or jump or some {mnemonic} based on these.

	See also {COME FROM}.

	(2000-12-13)

Gottlob Frege

	<person, history, philosophy, mathematics, logic, theory>
	(1848-1925) A mathematician who put mathematics on a new and
	more solid foundation.  He purged mathematics of mistaken,
	sloppy reasoning and the influence of {Pythagoras}.
	Mathematics was shown to be a subdivision of {formal logic}.

	[Where?]

	(1997-07-14)

gov

	<networking> The {top-level domain} for US government bodies.

	(1999-01-26)

governance

	{information technology governance}

Government OSI Profile

	<networking, standard> (GOSIP) A subset of {OSI} {standards}
	specific to US Government procurements, designed to maximize
	{interoperability} in areas where plain OSI standards are
	ambiguous or allow excessive options.

	(1995-12-13)

go voice

	<communications> When two or more parties stop communicating
	digitally and resuming the conversation via voice
	communication over the telephone.

	Prototypically this is used (e.g., "Wanna go voice?") between
	two modem users to denote the action of picking up the phone
	while shutting off the modem, in order to use the same line
	for voice communication as had was being used for data
	transmission.

	Compare: {Voice-Net}.

	(1997-01-31)

GP

	Early system on UNIVAC I or II.  Listed in CACM 2(5):16 (May
	1959).

gp

	<networking> The {country code} for Guadeloupe.

	(1999-01-27)

GPF

	{General Protection failure}/fault

GPIB

	{IEEE 488}

GPL

	1. {General Purpose Language}.

	2. ["A Sample Management Application Program in a Graphical
	Data-driven Programming language", A.L. Davis et al, Digest of
	Papers, Compcon Spring 81, Feb 1981, pp. 162-167].

	3. {Genken Programming Language}.

	4. {General Public License}.

	[{Jargon File}]

GPM

	{General Purpose Macro-generator}

GPRS

	{General Packet Radio Service}

GPS

	{Global Positioning System}

GPSS

	General Purpose Systems Simulator.  Geoffrey Gordon, 1960.
	Discrete simulations.  "The Application of GPSS V to Discrete
	System Simulation", G.  Gordon, P-H 1975.  Versions include
	GPSS II (1963), GPSS III (1965), GPS/360 (1967), and GPSS V
	(1970).

GPV

	{General Public Virus}

GPX

	Early system on UNIVAC II.  Listed in CACM 2(5):16 (May 1959).

gq

	<networking> The {country code} for Equatorial Guinea.

	(1999-01-27)

gr

	<networking> The {country code} for Greece.

	(1999-01-27)

GRAAL

	("Grail") General Recursive Applicative and Algorithmic
	Language.  FP with polyadic combinators.  "Graal: A Functional
	Programming System with Uncurryfied Combinators and its
	Reduction Machine", P. Bellot in ESOP 86, G. Goos ed, LNCS
	213, Springer 1986.

grabber pointer

	<operating system> A {mouse pointer} {sprite} in the shape of
	a small hand that closes when a {mouse button} is clicked,
	indicating that the object on the screen under the pointer has
	been selected.

	(2012-07-08)

Grace Hopper

	<person> US Navy Rear Admiral Grace Brewster Hopper
	(1906-12-09 to 1992-01-01), née Grace Brewster Murray.

	Hopper is believed to have concieved the concept of the
	{compiler} with the {A-0} in 1952.  She also developed the
	first commercial {high-level language}, which eventually
	evolved into {COBOL}.  She worked on the {Mark I} computer
	with Howard Aiken and with {BINAC} in 1949.

	She is credited with having coined the term "debug", and the
	adage "it is always easier to ask forgiveness than it is to
	get permission" (with various wordings), which has been the
	guiding principle in {sysadmin} decisions ever since.

	See also the entries {debug} and {bug}.

	Hopper is buried at Arlington National Cemetery.  In 1994, the
	US Navy named a new ship, the guided-missile destroyer {USS
	Hopper (http://hopper.navy.mil/)}, after her.

	(1999-06-29)

GRAF

	GRaphic Additions to Fortran.

	{Fortran} plus graphic data types.

	["GRAF: Graphic Additions to Fortran", A. Hurwitz et al, Proc
	SJCC 30 (1967)].

	[Sammet 1969, p. 674].

	(1995-01-23)

Graffiti

	Handwriting recognition software for the {Newton} and {Zoomer}
	which recognises symbols that aren't necessarily letters.
	This gives greater speed and accuracy.  It was written by
	{Berkeley Softworks}.

	(1995-01-24)

GRAIL

	Graphical Input Language.

	A {flow chart} language entered on a graphics tablet.  The
	graphical follow-on to {JOSS}.

	["The GRAIL Language and Operations", T.O. Ellis et al,
	RM-6001-ARPA, RAND, Sept 1969].

	(1995-01-23)

GRAIN

	A pictorial {query language}.

	["Pictorial Information Systems", S.K.  Chang et al eds,
	Springer 1980].

	(1995-01-23)

grain

	{granularity}

GRAM

	An extension of {BNF} used by the {SIS} compiler generator.

	["SIS - Semantics Implementation System", P.D. Mosses, TR
	DAIMI MD-30, Aarhus U, Denmark].

	(1995-01-23)

grammar

	<language> A formal definition of the syntactic structure (the
	{syntax}) of a language.

	A grammar is normally represented as a set of {production
	rules} which specify the order of constituents and their
	sub-constituents in a {sentence} (a well-formed string in the
	language).  Each rule has a left-hand side symbol naming a
	syntactic category (e.g. "noun-phrase" for a {natural
	language} grammar) and a right-hand side which is a sequence
	of zero or more symbols.  Each symbol may be either a
	{terminal symbol} or a non-terminal symbol.  A terminal symbol
	corresponds to one "{lexeme}" - a part of the sentence with no
	internal syntactic structure (e.g. an identifier or an
	operator in a computer language).  A non-terminal symbol is
	the left-hand side of some rule.

	One rule is normally designated as the top-level rule which
	gives the structure for a whole sentence.

	A {parser} (a kind of {recogniser}) uses a grammar to parse a
	sentence, assigning a terminal syntactic category to each
	input token and a non-terminal category to each appropriate
	group of tokens, up to the level of the whole sentence.
	Parsing is usually preceded by {lexical analysis}.  The
	opposite, generation, starts from the top-level rule and
	chooses one alternative production wherever there is a choice.

	In computing, a formal grammar, e.g. in {BNF}, can be used to
	{parse} a linear input stream, such as the {source code} of a
	program, into a data structure that expresses the (or a)
	meaning of the input in a form that is easier for the computer
	to work with.  A {compiler compiler} like {yacc} might be used
	to convert a grammar into code for the parser of a {compiler}.
	A grammar might also be used by a {transducer}, a {translator}
	or a {syntax directed editor}.

	See also {attribute grammar}.

	(2009-02-06)

grammar analysis

	<language> A program written in {ABC} for answering such
	questions as "what are the start symbols of all rules", "what
	symbols can follow this symbol", "which rules are left
	recursive", and so on.  Includes a grammar of {ISO Pascal}.

	Version 1 by Steven Pemberton <Steven.Pemberton@cwi.nl>.
	Ports to {Unix}, {MS-DOS}, {Atari}, {Macintosh}.  FTP:
	ftp.eu.net, ftp.nluug.net
	programming/languages/abc/examples/grammar/.

	(1993-07-05)

grammatical inference

	Deducing a {grammar} from given examples.  Also known as
	"inductive inference" and recently as "computational
	learning".

Grandfather, Father, Son

	<operating system> (GFS) A {backup rotation} scheme in which a
	"grandfather" backup is performed on the first Monday of each
	month, a "father" backup is performed on every other Monday
	and a "son" backup is performed on every other day of the
	week.  Grandfather tapes are kept for a year, father tapes for
	a month and son tapes for a week.  The exact schedule (and
	thus the number of tapes required) may vary, as may the choice
	of {full backup} or {incremental backup}, but the idea is that
	it should be possible to restore versions of any file of
	different ages: e.g. yesterday's, last week's or last year's
	version.

	(2004-10-11)

granularity

	<jargon, parallel> The size of the units of {code} under
	consideration in some context.  The term generally refers to
	the level of detail at which code is considered, e.g. "You can
	specify the granularity for this profiling tool".

	The most common computing use is in {parallelism} or {concurrency}
	where "fine grain parallelism" means individual tasks are
	relatively small in terms of code size and execution time, "coarse
	grain" is the opposite.  You talk about the "granularity" of the
	parallelism.

	The smaller the granularity, the greater the potential for
	parallelism and hence speed-up but the greater the overheads
	of synchronisation and communication.

	(1997-05-08)

Grapes

	A {Modula}-like system description language.

	E-mail: <peter@cadlab.cadlab.de>.

	["GRAPES Language Description.  Syntax, Semantics and Grammar
	of GRAPES-86", Siemens Nixdorf Inform, Berlin 1991, ISBN
	3-8009-4112-0].

Grapevine

	A distributed system project.

	[Who?  Where?  Why?]

graph

	1. <mathematics> A collection of {nodes} and {edges}.

	See also {connected graph}, {degree}, {directed graph}, {Moore
	bound}, {regular graph}, {tree}.

	2. <graphics> A visual representation of algebraic equations
	or data.

	(1996-09-22)

Graph Algorithm and Software Package

	<library> (GASP) A {PL/I} extension for programming graph
	{algorithms}.

	["GASP - Gprah Algorithm Software Package", S. Chase, TR CS
	Dept, U Illinois, Dec 1969].

	(1998-02-27)

graph coloring

	{graph colouring}

graph colouring

	<application> A {constraint-satisfaction} problem often used
	as a test case in research, which also turns out to be
	equivalent to certain real-world problems (e.g. {register
	allocation}).  Given a {connected graph} and a fixed number of
	colours, the problem is to assign a colour to each node,
	subject to the constraint that any two connected nodes cannot
	be assigned the same colour.  This is an example of an
	{NP-complete} problem.

	See also {four colour map theorem}.

Graphic ALGOL

	<language> A extension of {ALGOL 60} for {real-time}
	generation of shaded perspective pictures.

	["An Extended ALGOL 60 for Shaded Computer Graphics",
	B. Jones, Proc ACM Symp on Graphic Languages, Apr 1976].

	(2011-03-08)

Graphical Kernel System

	<graphics, standard> (GKS) The widely recognised standard
	{ANSI} X3.124 for graphical input/output.  GKS is worked on by
	the {ISO}/{IEC} group {JTC1/SC24}.  It provides applications
	programmers with standard methods of creating, manipulating,
	and displaying or printing computer graphics on different
	types of computer graphics output devices.  It provides an
	abstraction to save programmers from dealing with the detailed
	capabilities and interfaces of specific hardware.

	GKS defines a basic two-dimensional graphics system with:
	uniform input and output {primitives}; a uniform interface to
	and from a {GKS metafile} for storing and transferring
	graphics information.  It supports a wide range of graphics
	output devices including such as {printers}, {plotters},
	{vector graphics} devices, {storage tubes}, {refresh
	displays}, {raster displays}, and {microfilm recorders}.

	(1999-04-01)

Graphical User Interface

	<operating system> (GUI) The use of pictures rather than just
	words to represent the input and output of a program.  A
	program with a GUI runs under some {windowing system}
	(e.g. The {X Window System}, {MacOS}, {Microsoft Windows},
	{Acorn} {RISC OS}, {NEXTSTEP}).  The program displays certain
	{icons}, {buttons}, {dialogue boxes}, etc. in its {windows} on
	the screen and the user controls it mainly by moving a
	{pointer} on the screen (typically controlled by a {mouse})
	and selecting certain objects by pressing buttons on the mouse
	while the pointer is pointing at them.  This contrasts with a
	{command line interface} where communication is by exchange of
	strings of text.

	Windowing systems started with the first {real}-time graphic
	display systems for computers, namely the {SAGE} Project
	[Dates?] and {Ivan Sutherland}'s {Sketchpad} (1963).  {Douglas
	Engelbart}'s {Augmentation of Human Intellect} project at
	{SRI} in the 1960s developed the {On-Line System}, which
	incorporated a mouse-driven cursor and multiple windows.
	Several people from Engelbart's project went to Xerox PARC in
	the early 1970s, most importantly his senior engineer, {Bill
	English}.  The Xerox PARC team established the {WIMP} concept,
	which appeared commercially in the {Xerox 8010} (Star) system
	in 1981.

	Beginning in 1980(?), led by {Jef Raskin}, the {Macintosh}
	team at {Apple Computer} (which included former members of the
	Xerox PARC group) continued to develop such ideas in the first
	commercially successful product to use a GUI, the Apple
	Macintosh, released in January 1984.  In 2001 Apple introduced
	{Mac OS X}.

	{Microsoft} modeled the first version of {Windows}, released
	in 1985, on Mac OS.  Windows was a GUI for {MS-DOS} that had
	been shipped with {IBM PC} and compatible computers since
	1981.  Apple sued Microsoft over infringement of the
	look-and-feel of the MacOS.  The court case ran for many
	years.

	[Wikipedia].

	(2002-03-25)

Graphic Display Interface

	<hardware> (GDI) {graphics adaptor}.

	(1995-03-16)

Graphic Language

	For specifying graphic operations.

	["A Problem Oriented Graphic Language", P.J. Schwinn, proc ACM
	22nd Natl Conf, 1967].

	[Sammet 1969, p. 677].

graphics

	<graphics> Any kind of visible output including {text},
	{images}, {movies}, {line art} and {digital photographs};
	stored in {bitmap} or {vector graphic} form.

	Most modern computers can display non-{text} data and most use
	a {graphical user interface} (GUI) for virtually all
	interaction with the user.  Special {hardware}, typically some
	kind of {graphics adaptor}, is required to allow the computer
	to display graphics (as opposed to, say, printing text on a
	{teletype}) but since GUIs became ubiquitous this has become
	the default form of visual output.  The most demanding
	applications for computer graphics are those where the
	computer actually generates moving images in {real time},
	especially in {video games}.

	There are many kinds of {software} devoted to manipulating
	graphical data, including image editing (e.g. {Photoshop}),
	{drawing} (e.g. {Illustrator}), user interface toolkits
	(e.g. {X Window System}), {CAD}, {CGI}.

	(2009-06-24)

graphics accelerator

	<graphics, hardware> {Hardware} (often an extra circuit board)
	to perform tasks such as plotting lines and surfaces in two or
	three dimensions, filling, shading and hidden line removal.

	(1997-07-14)

graphics adapter

	{graphics adaptor}

graphics adaptor

	<hardware, graphics> (Or "graphics adapter", "graphics card",
	"video adaptor", etc.) A circuit board fitted to a computer,
	especially an {IBM PC}, containing the necessary {video
	memory} and other electronics to provide a {bitmap display}.

	Adaptors vary in the {resolution} (number of {pixels}) and
	number of colours they can display, and in the {refresh rate}
	they support.  These parameters are also limited by the
	{monitor} to which the adaptor is connected.  A number of such
	{display standards}, e.g. {SVGA}, have become common and
	different {software} requires or supports different sets.

	(1996-09-16)

graphics card

	{graphics adaptor}

Graphics Interchange Format

	<graphics, file format> /gif/, occasionally /jif/ (GIF, GIF
	89A) A standard for digitised {images} compressed with the
	{LZW} {algorithm}, defined in 1987 by {CompuServe} (CIS).

	Graphics Interchange Format and GIF are service marks of
	{CompuServe} Incorporated.  This only affects use of GIF
	within Compuserve, and pass-through licensing for software to
	access them, it doesn't affect anyone else's use of GIF.  It
	followed from a 1994 legal action by {Unisys} against CIS for
	violating Unisys's {LZW} {software patent}.  The CompuServe
	Vice President has stated that "CompuServe is committed to
	keeping the GIF 89A specification as an open, fully-supported,
	non-proprietary specification for the entire on-line community
	including the {web}".

	{Filename extension}: .gif.

	{File format (ftp://peipa.essex.ac.uk/ipa/info/file-formats)}.

	{GIF89a specification
	(http://asterix.seas.upenn.edu/~mayer/lzw_gif/gif89a.html)}.

	See also {progressive coding}, {animated GIF}.

	(2000-09-12)

Graphics Interface Format

	<spelling> You mean "{Graphics Interchange Format}".

	(1999-10-11)

Graphics Language Object System

	<graphics, language> (GLOS) A language with statements for
	describing graphics objects (line, circle, polygon, etc.),
	written by Michael J McLean and Brian Hicks at the University
	of Queensland, St. Lucia in 1978.  New objects are defined
	using {procedures}.  2-D transformations are context dependent
	and may be nested.

	[M.J. McLean, "The Semantics of Computer Drafting Languages",
	PhD thesis, University of Queensland, 1978].

	[Hicks, B.W., and McLean, M.J. "A Graphic Language for
	Describing Line Objects", Proceedings of the DECUS-Australia
	August 1973 Symposium, Melbourne, 1973].

	(2002-06-01)

graphic workstation

	<graphics, computer> A {workstation} specifically configured
	for graphics works such as {image manipulation}, {bitmap
	graphics} ("paint"), and {vector graphics} ("draw") type
	applications.  Such work requires a powerful {CPU} and a high
	{resolution} display.

	A graphic workstation is very similar to a {CAD} workstation
	and, given the typical specifications of personal computers
	currently available in 1999, the distinctions are very blurred
	and are more likely to depend on availability of specific
	{software} than any detailed hardware requirements.

	(1999-05-04)

Graph-Oriented Object Database

	<language, database> (GOOD) A graph manipulation language for
	use as a {database query language}.

	["A Graph-Oriented Object Database Model", M. Gyssens et al,
	Proc ACM Symp Princs of Database Sys, Mar 1990].

	(1995-03-07)

graph plotter

	{plotter}

graph reduction

	A technique invented by Chris Wadsworth where an expression is
	represented as a {directed graph} (usually drawn as an
	inverted tree).  Each node represents a function call and its
	subtrees represent the arguments to that function.  Subtrees
	are replaced by the expansion or value of the expression they
	represent.  This is repeated until the tree has been reduced
	to a value with no more function calls (a {normal form}).

	In contrast to {string reduction}, graph reduction has the
	advantage that common subexpressions are represented as
	pointers to a single instance of the expression which is only
	reduced once.  It is the most commonly used technique for
	implementing {lazy evaluation}.

graph rewriting system

	An extension of a {term rewriting system} which uses {graph
	reduction} on terms represented by {directed graphs} to avoid
	duplication of work by sharing expressions.

GRAPPLE

	GRAPh Processing LanguagE.  1968.

	["A Directed Graph Representation for Computer Simulation of
	Belief Systems", L.G. Tesler et al, Math Biosciences 2:19-40
	(1968)].

GRAS

	A {public domain} {graph-oriented database} system for
	{software engineering} applications from {RWTH Aachen}.

GRASP/Ada

	Graphical Representation of Algorithms, Structures and
	Processes.

	["A Graphically Oriented Specification Language for Automatic
	Code Generation", J.H. Cross, Auburn U, NASA CR-183212, 1989].

GRASPIN

	An Esprit project to develop a personal software engineering
	environment to support the construction and verification of
	distributed and non-sequential software systems.

grault

	/grawlt/ Yet another {metasyntactic variable}, invented by
	Mike Gallaher and propagated by the {GOSMACS} documentation.
	See {corge}.

	[{Jargon File}]

Gray

	A {parser generator} written in {Forth} by Martin Anton Ertl
	<anton@mips.complang.tuwien.ac.at>.  Gray takes grammars in an
	{extended BNF} and produces executable Forth code for
	{recursive descent parsers}.  There is no special support for
	error handling.  Version 3 runs under {Tile Forth} Release 2
	by Mikael Patel.

	(1992-05-22)

graybar land

	<jargon> The place you go while you're staring at a computer
	that's processing something very slowly (while you watch the
	grey bar creep across the screen).

	"I was in graybar land for hours, waiting for that CAD
	rendering".

	(1997-04-17)

Gray code

	<hardware> A {binary} sequence with the property that only one
	{bit} changes between any two consecutive elements (the two
	codes have a {Hamming distance} of one).

	The Gray code originated when {digital logic} circuits were
	built from {vacuum tubes} and electromechanical {relays}.
	Counters generated tremendous power demands and noise spikes
	when many bits changed at once.  E.g. when incrementing a
	register containing 11111111, the {back-EMF} from the relays'
	collapsing magnetic fields required copious noise suppression.
	Using Gray code counters, any increment or decrement changed
	only one bit, regardless of the size of the number.

	Gray code can also be used to convert the angular position of
	a disk to digital form.  A radial line of sensors reads the
	code off the surface of the disk and if the disk is half-way
	between two positions each sensor might read its bit from both
	positions at once but since only one bit differs between the
	two, the value read is guaranteed to be one of the two valid
	values rather than some third (invalid) combination (a
	{glitch}).

	One possible {algorithm} for generating a Gray code sequence
	is to toggle the lowest numbered bit that results in a new
	code each time.  Here is a four bit Gray code sequence
	generated in this way:

		0 0 0 0
		0 0 0 1
		0 0 1 1
		0 0 1 0
		0 1 1 0
		0 1 1 1
		0 1 0 1
		0 1 0 0
		1 1 0 0
		1 1 0 1
		1 1 1 1
		1 1 1 0
		1 0 1 0
		1 0 1 1
		1 0 0 1
		1 0 0 0

	The codes were patented in 1953 by Frank Gray, a {Bell Labs}
	researcher.

	{(http://nist.gov/dads/HTML/graycode.html)}.

	(2002-08-29)

gray-scale

	<spelling> US spelling of "{grey-scale}".

<gr&d>

	<chat> Grinning, running and ducking.

	See {emoticon}.

	(1995-03-17)

GRE

	{Generic Routing Encapsulation}

greater than

	<character> ">" {ASCII} character 62.

	Common names: {ITU-T}: greater than; ket ("<" = bra); right
	angle; right angle bracket; right broket.  Rare: into,
	toward; write to; blow ("<" = suck); gozinta; out; zap (all
	from {Unix} {I/O redirection}); {INTERCAL}: right angle.

	See also {less than}.

	(1995-03-17)

greatest common divisor

	<mathematics> (GCD) A function that returns the largest
	positive {integer} that both arguments are integer multiples
	of.

	See also {Euclid's Algorithm}.  Compare: {lowest common
	multiple}.

	(1999-11-02)

greatest lower bound

	<theory> (glb, meet, infimum) The greatest lower bound of two
	elements, a and b is an element c such that c <= a and c <= b
	and if there is any other lower bound c' then c' <= c.

	The greatest lower bound of a set S is the greatest element b
	such that for all s in S, b <= s.  The glb of mutually
	comparable elements is their minimum but in the presence of
	incomparable elements, if the glb exists, it will be some
	other element less than all of them.

	glb is the dual to {least upper bound}.

	(In {LaTeX} "<=" is written as {\sqsubseteq}, the glb of two
	elements a and b is written as a {\sqcap} b and the glb of set
	S as \bigsqcap S).

	(1995-02-03)

Great Renaming

	<history> The {flag day} in 1986 on which all of the non-local
	groups on the {Usenet} had their names changed from the net.-
	format to the current multiple-hierarchies scheme.  Used
	especially in discussing the history of newsgroup names.  "The
	oldest sources group is comp.sources.misc; before the Great
	Renaming, it was net.sources."

	{FAQ (http://vrx.net/usenet/history/rename.html)}.

	[{Jargon File}]

	(2000-07-14)

Great Runes

	Uppercase-only text or display messages.  Some archaic
	{operating systems} still emit these.

	See also {runes}, {smash case}, {fold case}.

	Decades ago, back in the days when it was the sole supplier of
	long-distance hardcopy transmittal devices, the Teletype
	Corporation was faced with a major design choice.  To shorten
	code lengths and cut complexity in the printing mechanism, it
	had been decided that teletypes would use a monocase font,
	either ALL UPPER or all lower.  The Question Of The Day was
	therefore, which one to choose.  A study was conducted on
	readability under various conditions of bad ribbon, worn print
	hammers, etc.  Lowercase won; it is less dense and has more
	distinctive letterforms, and is thus much easier to read both
	under ideal conditions and when the letters are mangled or
	partly obscured.  The results were filtered up through
	{management}.  The chairman of Teletype killed the proposal
	because it failed one incredibly important criterion:

	  "It would be impossible to spell the name of the Deity
	  correctly."

	In this way (or so, at least, hacker folklore has it)
	superstition triumphed over utility.  Teletypes were the major
	input devices on most early computers, and terminal
	manufacturers looking for corners to cut naturally followed
	suit until well into the 1970s.  Thus, that one bad call stuck
	us with Great Runes for thirty years.

	(1994-12-02)

Great Worm

	{Internet Worm}

greek

	1. <text, graphics> To display text as abstract dots and lines
	in order to give a preview of layout without actually being
	legible.  This is faster than drawing the characters correctly
	which may require scaling or other transformations.  Greeking
	is particularly useful when displaying a reduced image of a
	document where the text would be too small to be legible on
	the display anyway.

	A related technique is {lorem ipsum}.

	(2006-09-18)

greeking

	{greek}

Green

	<language> A language proposed by Cii {Honeywell-Bull} to meet
	the DoD {Ironman} requirements which led to {Ada}.  This
	language won in 1979.

	["On the GREEN Language Submitted to the DoD", E.W. Dijkstra,
	SIGPLAN Notices 13(10):16-21 (Oct 1978)].

	(1994-12-02)

Green Book

	1.  <publication> Informal name for one of the four standard
	references on {PostScript}.  The other three official guides
	are known as the {Blue Book}, the {Red Book}, and the {White
	Book}.

	["PostScript Language Program Design", Adobe Systems,
	Addison-Wesley, 1988 (ISBN 0-201-14396-8)].

	2. <publication> Informal name for one of the three standard
	references on {SmallTalk}.  Also associated with blue and red
	books.

	["Smalltalk-80: Bits of History, Words of Advice", by Glenn
	Krasner (Addison-Wesley, 1983; QA76.8.S635S58; ISBN
	0-201-11669-3)].

	3.  <publication> The "X/Open Compatibility Guide", which
	defines an international standard {Unix} environment that is a
	proper superset of {POSIX}/SVID.  It also includes
	descriptions of a standard utility toolkit, systems
	administrations features, and the like.  This grimoire is
	taken with particular seriousness in Europe.  See {Purple
	Book}.

	4.  <publication> The {IEEE} 1003.1 {POSIX} Operating Systems
	Interface standard has been dubbed "The Ugly Green Book".

	5.  <publication> Any of the 1992 standards issued by the
	{ITU-T}'s tenth plenary assembly.  These include, among other
	things, the dreadful {X.400} {electronic mail} standard and
	the Group 1 through 4 fax standards.

	6. {Green Book CD-ROM}.

	See also {book titles}.

	[{Jargon File}]

	(1996-12-03)

Green Book CD-ROM

	A standard {CD-ROM} format developed by {Philips} for {CD-i}.
	It is {ISO 9660} compliant and uses mode 2 form 2 addressing.
	It can only be played on drives which are XA ({Extended
	Architecture}) compatible.

	Many Green Book discs contain {CD-i} applications which can
	only be played on a {CD-i} player but many others contain
	films or music videos.  Video CDs in Green Book format are
	normally labelled "Digital Video on CD"

	Green Book was obsoleted by {White book CD-ROM} in March 1994.

	(1994-11-02)

green bytes

	<jargon> (Or "green words") {Meta-information} embedded in a
	file, such as the length of the file or its name; as opposed
	to keeping such information in a separate description file or
	record.

	By extension, the non-data bits in any self-describing format.
	"A {GIF} file contains, among other things, green bytes
	describing the packing method for the image".

	At a meeting of the SHARE Systems Division, November 22, 1964,
	in Washington, DC, George Mealy of {IBM} described the new
	block tape format for {FORTRAN} in which unformatted binary
	records had a Control Word.  George used green chalk to
	describe it.  No one liked the contents of the Green Word (not
	information, wrong location, etc.) so Conrad Weisert and
	Channing Jackson made badges saying "Stamp out Green Words".
	This was the first computer badge.

	Compare {out-of-band}, {zigamorph}, {fence}.

	{Button 251 (http://mxg.com/thebuttonman/search.asp)}.

	[{Jargon File}]

	(1994-11-02)

green card

	[after the "IBM System/360 Reference Data" card] A summary of
	an assembly language, even if the colour is not green.  Less
	frequently used now because of the decrease in the use of
	assembly language.  "I'll go get my green card so I can check
	the {addressing mode} for that instruction."  Some green cards
	are actually booklets.

	The original green card became a yellow card when the
	System/370 was introduced, and later a yellow booklet.  An
	anecdote from IBM refers to a scene that took place in a
	programmers' terminal room at Yorktown in 1978.  A luser
	overheard one of the programmers ask another "Do you have a
	green card?"  The other grunted and passed the first a thick
	yellow booklet.  At this point the luser turned a delicate
	shade of olive and rapidly left the room, never to return.

	[{Jargon File}]

green lightning

	[IBM] 1. Apparently random flashing streaks on the face of
	3278-9 terminals while a new symbol set is being downloaded.
	This hardware bug was left deliberately unfixed, as some
	genius within IBM suggested it would let the user know that
	"something is happening".  That, it certainly does.  Later
	microprocessor-driven IBM colour graphics displays were
	actually *programmed* to produce green lightning!

	2. [proposed] Any bug perverted into an alleged feature by
	adroit rationalisation or marketing.  "Motorola calls the CISC
	{cruft} in the 88000 architecture "compatibility logic", but I
	call it green lightning".  See also {feature}.

green machine

	A computer or peripheral device that has been designed and
	built to military specifications for field equipment (that is,
	to withstand mechanical shock, extremes of temperature and
	humidity, and so forth).  Comes from the olive-drab "uniform"
	paint used for military equipment.

	[{Jargon File}]

green monitor

	{Advanced Power Management}

Green's Theorem

	<humour> (TMRC) For any story, in any group of people there
	will be at least one person who has not heard the story.  A
	refinement of the theorem states that there will be *exactly*
	one person (if there were more than one, it wouldn't be as bad
	to re-tell the story).  The name of this theorem is a play on
	a fundamental theorem in calculus.

	[{Jargon File}]

	(1994-12-16)

Greenwich Mean Time

	<time, standard> (GMT) The local time on the Greenwich
	meridian, based on the hypothetical mean sun (which averages
	out the effects of the Earth's elliptical orbit and its tilted
	axis).  GMT is the basis of the civil time for the UK.

	In 1925 the reference point was changed from noon to midnight
	and it was recommended that the term "{Universal Time}" should
	be used for the new GMT.

	Authorities disagreed on whether GMT equates with {UT0} or
	{UT1}, however the differences between the two are of the
	order of thousandths of a second.  GMT is no longer used for
	scientific purposes.

	(2001-08-02)

green words

	{green bytes}

Greg Olson

	<person> President and CEO of {Sendmail Inc.}.  Olson is an
	industry veteran who worked on {distributed systems} at
	{Summit Systems Inc.}  then at {Britton Lee Inc.}, {Sybase
	Inc.} and {Integrated Systems Inc.}.

	(1998-08-25)

Gregorian calendar

	<time> The system of dates used by most of the world.  The
	Gregorian calendar was proposed by the Calabrian doctor
	Aloysius Lilius and was decreed by, and named after, Pope
	Gregory XIII on 1582-02-24.  It corrected the Julian calendar
	whose years were slightly longer than the solar year.  It also
	replaced the lunar calendar which was also out of time with
	the seasons.  The correction was achieved by skipping several
	days as a one-off resynchronisation and then dropping three
	leap days every 400 hundred years.  In the revised system,
	leap years are all years divisible by 4 but excluding those
	divisible by 100 but including those divisible by 400.  This
	gives a mean calendar year of 365.2425 days = 52.1775 weeks =
	8,765.82 hours = 525,949.2 minutes = 31,556,952 seconds.
	{leap seconds} are occasionally added to this to correct for
	irregularities in the Earth's rotation.

	(2007-01-10)

grep

	<tool, information science> <tool> A {Unix} command for
	searching files for lines matching a given {regular
	expression} (RE).  Named after the {qed}/{ed} editor
	subcommand "g/re/p", where re stands for a regular expression,
	to Globally search for the Regular Expression and Print the
	lines containing matches to it.  There are two other variants,
	fgrep which searches only for fixed strings and {egrep} which
	accepts extended REs but is usually the fastest of the three.

	Used by extension to mean "to look for something by pattern".
	When browsing through a large set of files, one may speak of
	"grepping around".  "Grep the bulletin board for the system
	backup schedule, would you?"  See also {vgrep}.

	[{Jargon File}]

grey-scale

	<graphics> (US "gray-scale") 1. Composed of (discrete) shades
	of grey.  If the {pixels} of a grey-scale {image} have N
	{bits}, they may take values from zero, representing black up
	to 2^N-1, representing white with intermediate values
	representing increasingly light shades of grey.  If N=1 the
	image is not called grey-scale but could be called
	{monochrome}.

	2. A range of acurately known shades of grey printed out for
	use in calibrating those shades on a display or printer.

	(1995-03-17)

Greystone Technologies

	<company> The producers of the {GT/M} {MUMPS} compiler and
	{GT/SQL} {pre-processor} for {VAX} and {DEC Alpha}.

	[Address?]

	(1995-01-10)

GRG

	A computer algebra system for differential geometry,
	gravitation and field theory.  Version 3.1 works with
	PSL-based REDUCE 3.3 or 3.4.

	E-mail: V.V. Zhytnikov <vvzhy@phy.ncu.edu.tw>.

	(1994-12-16)

GRIB

	GRid In Binary.

	The World Meteorological Organization's data format.

	(1995-01-10)

grick

	/grik/ ({WPI}, first used by Tim Haven to describe "grick
	trigonometry", a shortcut method of determing attack angles in
	grid-based games like Star Trek) Any integral increment of
	measurement.  E.g. "Please turn the stereo up a few gricks".

	(1995-01-31)

grilf

	Girl-friend.

	Like {newsfroup} and {filk}, a typo incarnated as a new word.
	Seems to have originated sometime in 1992.

	[{Jargon File}]

	(1995-01-31)

Grim File Reaper

	<storage, operating system> (GFR) An {ITS} and {LISP Machine}
	utility to remove files according to some program-automated or
	semi-automatic manual procedure, especially one designed to
	reclaim mass storage space or reduce name-space clutter (the
	original GFR actually moved files to tape).

	See also {prowler}, {reaper}.  Compare {GC}, which discards
	only provably worthless stuff.

	(1996-06-20)

GRIND

	GRaphical INterpretive Display.

	A graphics input language for the {PDP-9}.

	["GRIND: A Language and Translator for Computer Graphics",
	A.P. Conn, Dartmouth, June 1969].

	[{Jargon File}]

	(1995-01-31)

grind

	1. (MIT and Berkeley) To prettify hardcopy of code, especially
	LISP code, by reindenting lines, printing keywords and
	comments in distinct fonts (if available), etc.  This usage
	was associated with the MacLISP community and is now rare;
	{prettyprint} was and is the generic term for such operations.

	2. (Unix) To generate the formatted version of a document from
	the {nroff}, {troff}, {TeX}, or Scribe source.

	3. To run seemingly interminably, especially (but not
	necessarily) if performing some tedious and inherently useless
	task.  Similar to {crunch} or {grovel}.  Grinding has a
	connotation of using a lot of CPU time, but it is possible to
	grind a disk, network, etc.

	See also {hog}.

	4. To make the whole system slow.  "Troff really grinds a
	PDP-11."

	5. "grind grind" excl. Roughly, "Isn't the machine slow
	today!"

	[{Jargon File}]

	(1994-12-16)

grind crank

	A mythical accessory to a {terminal}.  A crank on the side of
	a monitor, which when operated makes a zizzing noise and
	causes the computer to run faster.  Usually one does not refer
	to a grind crank out loud, but merely makes the appropriate
	gesture and noise.  See {grind}.

	Historical note: At least one real machine actually had a
	grind crank - the R1, a research machine built toward the
	end of the days of the great vacuum tube computers, in 1959.
	R1 (also known as "The Rice Institute Computer" (TRIC) and
	later as "The Rice University Computer" (TRUC)) had a
	{single-step}/free-run switch for use when debugging programs.
	Since single-stepping through a large program was rather
	tedious, there was also a crank with a cam and gear
	arrangement that repeatedly pushed the single-step button.
	This allowed one to "crank" through a lot of code, then slow
	down to single-step for a bit when you got near the code of
	interest, poke at some registers using the console typewriter,
	and then keep on cranking.

	[{Jargon File}]

GRIP

	Graph Reduction In Parallel.

	Simon Peyton Jones's GRIP machine built at {UCL}, now at the
	{University of Glasgow}.  It has many processors ({Motorola
	68020} or other) on {Futurebus} with intelligent memory units.

	(1994-12-14)

gripenet

	[IBM] A wry (and thoroughly unofficial) name for {IBM}'s
	internal {VNET} system, deriving from its common use by IBMers
	to voice pointed criticism of IBM management that would be
	taboo in more formal channels.

	[{Jargon File}]

gritch

	/grich/ 1.  A complaint (often caused by a {glitch}).

	2. To complain.  Often verb-doubled: "Gritch gritch".

	3. A synonym for {glitch} (as verb or noun).

	(1995-01-31)

grix

	/griks/ ({WPI}) A meta-number, said to be an integer between 6
	and 7.  Used either alone or with {flib} or suffixes such as
	-ty, -teen, etc. to denote an arbitrary integer (see {N}).
	"This system will {bomb} if there are grixty-flib users on
	it."

	(1995-01-31)

groff

	GNU roff.

	{GNU}'s implementation of {roff} in {C++}.

	See also {nroff}, {troff}.

	Version 1.07 by James J. Clark <jjc@jclark.com>.

	FTP groff-1.07.tar.z from a {GNU archive site}.

	(1993-03-03)

grok

	/grok/, /grohk/ (From the novel "Stranger in a Strange Land",
	by Robert A. Heinlein, where it is a Martian word meaning
	literally "to drink" and metaphorically "to be one with")

	1. To understand, usually in a global sense.  Connotes
	intimate and exhaustive knowledge.

	Contrast {zen}, which is similar supernal understanding
	experienced as a single brief flash.  See also {glark}.

	2. Used of programs, may connote merely sufficient
	understanding.  "Almost all C compilers grok the "void" type
	these days."

	[{Jargon File}]

	(1995-01-31)

gronk

	/gronk/ Popularised by Johnny Hart's comic strip "B.C." but
	the word apparently predates that.

	1. To clear the state of a {wedged} device and restart it.
	More severe than "to {frob}" (sense 2).

	2. [TMRC] To cut, sever, smash, or similarly disable.

	3. The sound made by many 3.5-inch diskette drives.  In
	particular, the microfloppies on a Commodore {Amiga} go
	"grink, gronk".

	[{Jargon File}]

gronked

	1. Broken.  "The teletype scanner was gronked, so we took the
	system down."

	2. Of people, the condition of feeling very tired or (less
	commonly) sick.  "I've been chasing that bug for 17 hours now
	and I am thoroughly gronked!"  Compare {broken}, which means
	about the same as {gronk} used of hardware, but connotes
	depression or mental/emotional problems in people.

group

	A group G is a non-empty {set} upon which a {binary} operator
	* is defined with the following properties for all a,b,c in G:

	  Closure:     G is closed under *,  a*b in G
	  Associative: * is associative on G, (a*b)*c = a*(b*c)
	  Identity:    There is an identity element  e  such that
		       a*e = e*a = a.
	  Inverse:     Every element has a unique inverse a' such that
		       a * a' = a' * a = e.  The inverse is usually
		       written with a superscript -1.

	(1998-10-03)

Group 3

	<protocol, compression> (G3) The {CCITT} fax {protocol} which
	uses data {compression} and allows a variety of file types
	(e.g. {electronic mail}, pictures, {PostScript}) to be
	transmitted over {analogue} telephone lines.

	The Group 3 protocol was published by {CCITT} in 1993.  Full
	details of the protocol are available from {ITU-T}.

	See also {Group 4}.

	(1998-10-03)

Group 4

	<protocol, compression> (G4) The {CCITT} fax {protocol} which
	uses data {compression} and allows a variety of file types
	(e-mail, pictures, {PostScript}, etc.) to be transmitted over
	digital ({ISDN}) telephone lines.

	The Group 4 protocol was published by {CCITT} in 1993.  Full
	details of the protocol are available from {ITU-T}.

	See also {Group 3}.

	(1998-09-10)

Group Code Recording

	<storage> (GCR) A recording method used for 6250 BPI {magnetic
	tapes}.

	GCR typically uses a group of five {bits} of code to represent
	four bits of data.  The encoding ensures no more than two or
	three zeros occur in a row, and no more than eight or so ones
	occur in a row, where zeros represent an absense of magnetic
	change.

	GCR is also used on {Commodore Business Machines} {diskette}
	drives; the 4040, 8050, 154x, 157x and 158x series of 5.25"
	and 3.5" low and high density diskette drives used with 8-bit
	home computers circa 1977 to 1992.  It was also supported on
	{Amiga} internal and external drives but only used for reading
	non-Amiga disks.

	Compare {NRZI}, {PE}.

	(2004-06-01)

group identifier

	<operating system> (gid) A unique number, between 0 an 32767,
	identifying a set of {users} under {Unix}.  Gids are found in
	the /etc/{passwd} and /etc/group databases (or their {NIS}
	equivalents) and one is also associated with each file,
	indicating the group to which its group {permissions} apply.

	(1996-12-01)

Group Separator

	<character> (GS) {ASCII} character 29.

	(1996-06-28)

Group-Sweeping Scheduling

	<storage, algorithm> (GSS) A disk scheduling strategy in which
	requests are served in cycles, in a round-robin manner.  To
	reduce disk arm movements ("{seek}ing"), the set of streams is
	divided into groups that are served in fixed order.  Streams
	within a group are served according to "{SCAN}".

	If all clients are assigned to one group, GSS reduces to SCAN,
	and if all clients are assigned to separate groups, GSS
	effectively becomes round-robin scheduling.  The service order
	within one group is not fixed, and a stream may in fact be
	first in one cycle while last in the next.  This variation has
	to be masked by extra buffering but whereas SCAN requires
	buffer space for all streams, GSS can reuse the buffer for
	each group and effect a trade-off between {seek optimisation}
	and buffer requirements.

	(1995-11-12)

Groupware

	{CSCW}

Groupwise

	<software, networking> A {workgroup} application suite
	offering {electronic mail} and diary scheduling from {Novell,
	Inc.}. It can operate on a number of {platforms}.

	Groupwise was previously known as {WordPerfect Office}, and is
	an extensible system suitable for {LAN} or {WAN} operation.
	{Mail gateway} software is available for a number of
	{protocols} including {SMTP}, allowing the exchange of mail
	with the {Internet}.

	(1995-09-23)

grovel

	1. To work interminably and without apparent progress.  Often
	used transitively with "over" or "through".  "The file
	scavenger has been groveling through the /usr directories for
	10 minutes now."  Compare {grind} and {crunch}.  Emphatic
	form: "grovel obscenely".

	2. To examine minutely or in complete detail.  "The compiler
	grovels over the entire source program before beginning to
	translate it."  "I grovelled through all the documentation,
	but I still couldn't find the command I wanted."

	[{Jargon File}]

grunge

	/gruhnj/ 1. That which is grungy, or that which makes it so.

	2. [Cambridge] Code which is inaccessible due to changes in
	other parts of the program.  The preferred term in North
	America is {dead code}.

gry

	<puzzle> "Angry" and "hungry" are two words that end in "gry".
	What is the third word.  Everyone knows what it means and
	everyone uses it every day.  Look closely and I have already
	given you the third word.  What is it?

	Answer: "what".

	Variants of this puzzle have circulated widely on the Internet
	for some years, usually in a corrupted form such as "Name
	three common English words ending in 'gry'", which has no
	third answer.

	{(http://www.worldwidewords.org/articles/gry.htm)}.
	{(http://word-detective.com/gry.html)}.

	(2007-04-04)

GS

	{Group Separator}

gs

	<networking> The {country code} for South Georgia and the
	South Sandwich Islands.

	(1999-01-27)

GSBL

	<language>

	["GSBL: An Algebraic Specification Language Based on
	Inheritance", S. Clerici et al in ECOOP '88, S. Gjessing et
	al eds, LNCS 322, Springer 1988, pp.78-92].

	(2003-06-02)

GSI

	{Gensym Standard Interface}

GSL

	Grenoble System Language.  M. Berthaud, IBM, Grenoble.  "GSL
	Language Reference Manual", M. Berthaud et al, March 1973.  "A
	MOL-Based Software Construction System", M. Berthaud et al, in
	Machine Oriented Higher Level Languages, W. van der Poel, N-H
	1974, pp.151-157.

GSM

	{Global System for Mobile Communications}

GSPL

	<language> {Greenberg's System Programming Language}.

	Bernard Greenberg.

	(1995-05-09)

GSS

	<storage> {Group-Sweeping Scheduling}.

	(1995-11-12)

GSS-API

	{Generic Security Service Application Programming Interface}

gt

	<networking> The {country code} for Guatemala.

	(1999-01-27)

gtg

	<chat> Got to go.  The user is about to stop chatting.

	(1999-06-07)

GTK+

	<graphics, interface, library, open source> ("The {GIMP}
	ToolKit", or incorrectly "{Gnu} ToolKit" or "Generic ToolKit")
	A {multi-platform} toolkit for creating {graphical user
	interfaces}.  Offering a complete set of {widgets}, GTK+ is
	suitable for projects ranging from small one-off projects to
	complete application suites.

	GTK+ consists of the three parts; {GLib}, providing basic data
	structures, {event handling}, {threads}, etc., {Pango}, for
	{layout} and {rendering} of text, and {ATK}, providing
	interfaces for {accessibility}.

	{GTK+ Home (http://gtk.org/)}.

	(2003-12-03)

GTL

	{Gunning Transceiver Logic}

GT/SQL

	<tool> An {SQL} {pre-processor} from {Greystone Technologies}
	which combines {MUMPS} code with {SQL} code and generates code
	that can work with a {database} from both the MUMPS and SQL
	perspectives.  This is often done when a database is to be
	made available in a {client/server} environment, where the
	MUMPS database serves one or more SQL {clients}.

	(1995-01-10)

gu

	<networking> The {country code} for Guam.

	(1999-01-27)

guaranteed scheduling

	<algorithm> A scheduling {algorithm} used in {multitasking}
	{operating systems} that guarantees fairness by monitoring the
	amount of {CPU time} spent by each user and allocating
	resources accordingly.

	[How does it allocate resources?]

	(1998-04-26)

guard

	<programming> 1. In {functional programming}, a {Boolean}
	expression attached to a function definition specifying when
	(for what arguments) that definition is appropriate.

	2. In (parallel) {logic programming}, a Boolean expression
	which is used to select a {clause} from several alternative
	matching clauses.

	See {Guarded Horn Clauses}.

	3. In {parallel} languages, a {Boolean} expression which
	specifies when an message may be sent or received.

	(1995-05-09)

Guarded Horn Clauses

	<language> (GHC) A parallel dialect of {Prolog} by K. Ueda in
	which each {clause} has a {guard}.  GHC is similar to
	{Parlog}.  When several clauses match a {goal}, their guards
	are evaluated in parallel and the first clause whose guard is
	found to be true is used and others are rejected.  It uses
	{committed-choice nondeterminism}.

	See also {FGHC}, {KL1}.

	(1995-05-09)

gubbish

	<jargon> /guhb'*sh/ (A portmanteau of "garbage" and "rubbish"
	which may have originated with SF author Philip K. Dick)
	Garbage; crap; nonsense.  "What is all this gubbish?"  The
	opposite portmanteau "rubbage" is also reported.

	[{Jargon File}]

	(1995-05-09)

guest book

	<web> The electronic equivalent of the physical
	notebooks found in some small hotels, in which visitors can
	write their names, comments and suggestions for the benefit of
	the proprietors and future visitors or purely for posterity.
	The electronic version is a form on a {website} into which
	users can enter similar details for display on the site.

	(2009-01-15)

GUI

	{Graphical User Interface}

GUIDE

	{Graphical User Interface} Development Environment from {Sun}.

Guide

	A {hypertext} system from the University of Kent (GB) and
	{OWL} for displaying on-line documentation.

Guide to Available Mathematical Software

	<mathematics>

	{(http://gams.nist.gov/)}.

	(1995-04-28)

guiltware

	/gilt'weir/ 1. A piece of {freeware} decorated with a message
	telling one how long and hard the author worked on it and
	intimating that one is a no-good freeloader if one does not
	immediately send the poor suffering martyr gobs of money.

	2. {Shareware} that works.

	[{Jargon File}]

gun

	<jargon> ({ITS}, from the ":GUN" command) To forcibly
	terminate a program or job (computer, not career).  "Some
	idiot left a background process running soaking up half the
	cycles, so I gunned it."

	Compare {can}.

	(1995-02-27)

gunch

	/guhnch/ <jargon> ({TMRC}) To push, prod, or poke at a device
	that has almost (but not quite) produced the desired result.
	Implies a threat to {mung}.

	[{Jargon File}]

	(1995-02-27)

Gunning Transceiver Logic

	<electronics, hardware, integrated circuit, standard> (GTL) A
	{standard} for electrical signals in {CMOS} circuits used to
	provide higher data transfer speeds with smaller voltage
	swings [compared with what?].

	The GTL signal swings between 0.4 volts and 1.2 volts with a
	reference voltage of about 0.8 volts.  Only a small deviation
	of 0.4 volts (or thereabouts) from the reference voltage is
	required to switch between on and off states.  Therefore, a
	GTL signal is said to be a low voltage swing logic signal.

	Gunning Transceiver Logic has several advantages.  The
	{resistive termination} of a GTL signal provides a clean
	signalling environment [what?].  Moreover, the low terminating
	voltage of 1.2 volts results in reduced voltage drops across
	the resistive elements.  GTL has low power dissipation and can
	operate at high frequency and causes less {electromagnetic
	interference} (EMI).

	{GTL/BTL: A Low-Swing Solution for High-Speed Digital Logic
	(http://edtn.com/scribe/reference/appnotes/md003ecc.htm)}.

	(2000-01-16)

gunzip

	<tool, compression> The decompression utility corresponding to
	{gzip}.  In operating systems with links, gunzip is just a
	link to gzip and its function can be invoked by passing a "-d"
	flag to gzip.

	(1996-01-03)

Gupta Corporation

	<company> The vendor of {SQLWindows}.

	Gupta Corporation provides application development and
	deployment software for {client-server} {applications},
	consisting of a {relational database}, application development
	tools and transparent connectivity software.

	Gupta employs 400 people in 15 offices worldwide, including
	the United States, Europe and Asia.  Gupta's 1993 fiscal year
	income was $5.6 million and their revenue was $56.1 million.
	Gupta sells client-server system components for networks of
	{personal computers}.

	{(http://wji.com/gupta/htmls/homepage.html)}.

	Address: 1060 Marsh Road, Menlo Park, CA 94025, USA.

	Telephone: +1 (415) 321 9500.  Fax: +1 (415) 321 5471.

	(1997-04-28)

gurfle

	<exclamation> /ger'fl/ An expression of shocked disbelief.
	"He said we have to recode this thing in {Fortran} by next
	week.  Gurfle!"

	Compare {weeble}.

	[{Jargon File}]

	(1996-06-01)

guru

	<job> An expert, especially in "{Unix} guru".  Implies not
	only {wizard} skill but also a history of being a knowledge
	resource for others.  Less often, used (with a qualifier) for
	other experts on other systems, as in "VMS guru".

	See {source of all good bits}.

	[{Jargon File}]

	(1996-06-01)

guru meditation

	<operating system, exception> The {Amiga} equivalent of
	{Unix}'s {panic} (sometimes just called a "guru" or "guru
	event").  When the system crashes, a cryptic message of the
	form "GURU MEDITATION #XXXXXXXX.YYYYYYYY" may appear,
	indicating what the problem was.  An Amiga guru can figure
	things out from the numbers.

	In the earliest days of the Amiga, there was a device called a
	"Joyboard" which was basically a plastic board built onto a
	joystick-like device; it was sold with a skiing game cartridge
	for the Atari game machine.  It is said that whenever the
	prototype OS crashed, the system programmer responsible would
	concentrate on a solution while sitting cross-legged, balanced
	on a Joyboard, resembling a meditating guru.  Sadly, the joke
	was removed in AmigaOS 2.04.

	The {Jargon File} claimed that a {guru} event had to be
	followed by a {Vulcan nerve pinch} but, according to a
	correspondent, a mouse click was enough to start a reboot.

	(2002-06-25)

Guy Lewis Steele, Jr.

	<person> (GLS) A software engineer whose most notable
	contributions to the art of computing include the design of
	{Scheme} (in cooperation with {Gerald Sussman}) and the design
	of the original command set of {Emacs}.  He is also known for
	his contribution to the {Jargon File} and for being the first
	to port {TeX} (from {WAITS} to {ITS}).  He wrote the book
	"Common Lisp", which virtually defines the language.

	He was working at {Sun Microsystems, Inc.} from 1996 to the
	present (June 2001).

	(2001-06-14)

Guy Steele

	{Guy Lewis Steele, Jr.}

GVL

	Graphical View Language.  A visual language for specifying
	interactive graphical output by T.C.N. Graham & J.R. Cordy,
	Queen's University, Canada.

	["GVL: A Graphical, Functional Language for the Specification
	of Output in Programming Languages", J.R. Cordy &
	T.C.N. Graham, Proc IEEE Intl Conf on Comp Lang ICCL'90 (March
	1990)].

gw

	<networking> The {country code} for Guinea-Bissau.

	(1999-01-27)

GW-Ada

	A new version of {Ada/Ed}?

	{MS-DOS version
	(ftp://wuarchive.wustl.edu/languages/ada/compiler/adaed/gwu/9309/dos)},
	{Macintosh version
	(ftp://wuarchive.wustl.edu/languages/ada/compilers/adaed/gwu/mac)}.

	(1993-09-01)

GW-BASIC

	<language> An early version of {MS-BASIC}.

	(1995-05-12)

gweep

	/gweep/ To {hack}, usually at night, or one who does so.  At
	{WPI}, from 1977 onward, gweeps could often be found at the
	College Computing Center punching cards or crashing the
	{PDP-10} or, later, the {DEC-20}.  The term has survived the
	demise of those technologies, however, and is still alive in
	late 1991.  "I'm going to go gweep for a while.  See you in
	the morning."  "I gweep from 8 PM till 3 AM during the week."

	"Gweep" originated as an onomatopeiac term, evoking the sound
	of the (once-ubiquitous) {Hazeltine 9000} terminals' bell on
	WPI campus.

	A gweep is one step above a {fweep}.

	[{Jargon File}]

	(1995-01-31)

GWHIS

	<web> A commercial version of {NCSA} {Mosaic} for
	{MS Windows} 3.x and {Windows for Workgroups}.  GWHIS was
	released by {Quadralay} Corporation on 30 September 1994.

	GWHIS Viewer for {Microsoft Windows} differs from {NCSA}
	{Mosaic} for {Microsoft Windows} in several ways including:

	A {hotlist} similiar to the {X Window System} version.  Edit
	Annotation and Delete Annotation work.  All Buttons and Menu
	Items are "greyed out" while files are being retreived and
	processed.  This prevents the user from queing up requests to
	the {TCP/IP} stack which causes many crashes.  {Look and Feel}
	are similiar to the X version.  On-line help is complete.
	Functional Setup program.  Greater overall stability.

	(1994-12-16)

GWM

	Generic Window Manager.  An extensible window manager for the
	{X Window System}.  It is built on top of an {interpreter} for
	the {WOOL} language.

	{(ftp://export.lcs.mit.edu/contrib/gwm)},
	{(ftp://avahi.inria.fr/contrib/gwm)}.

gy

	<networking> The {country code} for Guyana.

	(1999-01-27)

Gypsy

	Specification and verification of {concurrent} systems
	software.  {Message} passing using named {mailbox}es.
	Separately compilable units: routine (procedure, function, or
	process), type and constant definition, each with a list of
	access rights.

	["Report on the Language Gypsy", A.L.  Ambler et al, UT Austin
	ICSCS-CMP-1976-08-1].

gz

	{gzip}

gzip

	<tool, compression> {GNU} compression utility.  Gzip reduces
	the size of the named files using {Lempel-Ziv} {LZ77
	compression}.  Whenever possible, each file is replaced by one
	with the {filename extension} ".gz".  Compressed files can be
	restored to their original form using gzip -d or gunzip or
	zcat.

	The Unix "{compress}" utility is patented (by two separate
	patents, in fact) and is thus shunned by the GNU Project since
	it is not {free software}.  They have therefore chosen gzip,
	which is free of any known {software patents} and which tends
	to compress better anyway.  All compressed files in the {GNU}
	{anonymous FTP} area (gnu.org/pub/gnu) are in gzip
	format and their names end in ".gz" (as opposed to
	"compress"-compressed files, which end in ".Z").

	Gzip can uncompress "compress"-compressed files and "pack"
	files (which end in ".z").  The decompression algorithms are
	not patented, only compression is.

	The gzip program is available from any {GNU archive site} in
	{shar}, {tar}, or gzipped tar format (for those who already
	have a prior version of gzip and want faster data
	transmission).  It works on virtually every {Unix} system,
	{MS-DOS}, {OS/2} and {VMS}.

h

	1. A simple {markup} language intended for quick conversion of
	existing text to {hypertext}.

	2. A method of marking common words to call attention to the
	fact that they are being used in a nonstandard, ironic, or
	humorous way.  Originated in the fannish catchphrase "Bheer
	is the One True Ghod!" from decades ago.  H-infix marking of
	"Ghod" and other words spread into the 1960s counterculture
	via underground comix, and into early hackerdom either from
	the counterculture or from SF fandom (the three overlapped
	heavily at the time).  More recently, the h infix has become
	an expected feature of benchmark names (Dhrystone, Rhealstone,
	etc.); this follows on from the original Whetstone (the name
	of a laboratory) but may have been influenced by the
	fannish/counterculture h infix.

	[{Jargon File}]

	(1994-11-04)

H.261

	<networking, standard> A {video compression} {standard}
	developed by {ITU-T} before 1992 to work with {integrated
	service digital network}.  Data is compressed at the rate of
	64P kilobits per second, where P can range from 1 to 30
	depending on the number of ISDN channels used.  This standard
	was developed primarily to support {video phones} and {video
	conferencing}.

	See also {ivs}.

	{(http://crs4.it/~luigi/MPEG/mpeggloss-h.html#H.261)}.

	[Date?  Details?]

	(1994-11-03)

H.264

	<video, standard> (Or Advanced Video Coding, AVC) A low {bit
	rate} visual communication {standard} used in {video
	conferencing}.  H.264 was developed by {MPEG} and {ITU-T}
	{VCEG} to replace {H.263}.

	{Video and image compression resources and research
	(http://www.vcodex.fsnet.co.uk/h264.html)}.

	(2007-03-16)

H.323

	<communications, standard> The {ITU-T standard} for sending
	{voice} ({audio}) and {video} using {IP} on a {LAN} without
	{QoS}.

	H.323 includes {Q.931} for call setup, {H.225} for call
	signalling, {H.245} for exchanging terminal capabilities,
	{RTP}/{RTCP} for packet streaming, {G.711}/{G.712} for
	{CODECs}, and several other {protcols}, many of which need to
	be negotiated to setup a simple voice call.

	The complexity of H.323 has lead to the {IETF} proposing the
	simpler alternatives {SIP} and {MGCP}/{Megaco}.

	(2003-11-30)

Habitat

	<networking, graphics> The original term for on-line graphical
	{virtual communities} or worlds.  Created at Lucasfilm in 1985
	by Randy Farmer and Chip Morningstar.

	{(http://communities.com/habitat.html)}.

	(1996-06-12)

hack

	<jargon> 1. Originally, a quick job that produces what is
	needed, but not well.

	2.  An incredibly good, and perhaps very time-consuming, piece
	of work that produces exactly what is needed.

	3. To bear emotionally or physically.  "I can't hack this
	heat!"

	4. To work on something (typically a program).  In an
	immediate sense: "What are you doing?"  "I'm hacking TECO."
	In a general (time-extended) sense: "What do you do around
	here?"  "I hack TECO."  More generally, "I hack "foo"" is
	roughly equivalent to ""foo" is my major interest (or
	project)".  "I hack solid-state physics."  See {Hacking X for
	Y}.

	5. To pull a prank on.  See {hacker}.

	6. To interact with a computer in a playful and exploratory
	rather than goal-directed way.  "Whatcha up to?"  "Oh, just
	hacking."

	7.  Short for {hacker}.

	8. See {nethack}.

	9. (MIT) To explore the basements, roof ledges, and steam
	tunnels of a large, institutional building, to the dismay of
	Physical Plant workers and (since this is usually performed at
	educational institutions) the Campus Police.  This activity
	has been found to be eerily similar to playing adventure games
	such as {Dungeons and Dragons} and {Zork}.  See also
	{vadding}.

	See also {neat hack}, {real hack}.

	[{Jargon File}]

	(1996-08-26)

hackathon

	<jargon> A planned {hacking run} that is intended to last for
	about a week with lots of {hackers}.  The term was used in
	2005 by the {Apache} Foundation and the {OpenBSD} Project,
	among others.

	(2005-01-26)

hack attack

	<jargon> (Possibly by analogy with "Big Mac Attack" from
	advertisements for the McDonald's fast-food chain; the variant
	"big hack attack" is reported) Nearly synonymous with {hacking
	run}, though the latter more strongly implies an all-nighter.

	[{Jargon File}]

	(1996-08-26)

hacked off

	<jargon> (Analogous to "pissed off") Said of {system
	administrators} who have become annoyed, upset, or touchy
	owing to suspicions that their sites have been or are going to
	be victimised by {crackers}, or used for inappropriate,
	technically illegal, or even overtly criminal activities.  For
	example, having unreadable files in your home directory called
	"worm", "lockpick", or "goroot" would probably be an effective
	(as well as impressively obvious and stupid) way to get your
	sysadmin hacked off at you.

	[{Jargon File}]

	(1996-08-26)

hacked up

	<jargon, programming> Sufficiently {patched}, {kluge}d, and
	{tweaked} that the surgical scars are beginning to crowd out
	normal tissue (compare {critical mass}).  Not all programs
	that are hacked become "hacked up"; if modifications are done
	with some eye to coherence and continued maintainability, the
	software may emerge better for the experience.

	Contrast {hack up}.

	[{Jargon File}]

	(1996-08-26)

hacker

	<person, jargon> (Originally, someone who makes furniture with
	an axe) 1. A person who enjoys exploring the details of
	programmable systems and how to stretch their capabilities, as
	opposed to most users, who prefer to learn only the minimum
	necessary.

	2. One who programs enthusiastically (even obsessively) or who
	enjoys programming rather than just theorizing about
	programming.

	3. A person capable of appreciating {hack value}.

	4. A person who is good at programming quickly.

	5. An expert at a particular program, or one who frequently
	does work using it or on it; as in "a {Unix} hacker".
	(Definitions 1 through 5 are correlated, and people who fit
	them congregate.)

	6. An expert or enthusiast of any kind.  One might be an
	astronomy hacker, for example.

	7. One who enjoys the intellectual challenge of creatively
	overcoming or circumventing limitations.

	8. (Deprecated) A malicious meddler who tries to discover
	sensitive information by poking around.  Hence "password
	hacker", "network hacker".  The correct term is {cracker}.

	The term "hacker" also tends to connote membership in the
	global community defined by the net (see {The Network} and
	{Internet address}).  It also implies that the person
	described is seen to subscribe to some version of the {hacker
	ethic}.

	It is better to be described as a hacker by others than to
	describe oneself that way.  Hackers consider themselves
	something of an elite (a meritocracy based on ability), though
	one to which new members are gladly welcome.  Thus while it is
	gratifying to be called a hacker, false claimants to the title
	are quickly labelled as "bogus" or a "{wannabee}".

	9. (University of Maryland, rare) A programmer who does not
	understand proper programming techniques and principles and
	doesn't have a Computer Science degree.  Someone who just
	bangs on the keyboard until something happens.  For example,
	"This program is nothing but {spaghetti code}.  It must have
	been written by a hacker".

	[{Jargon File}]

	(1996-08-26)

hacker ethic

	<philosophy> 1. The belief that information-sharing is a
	powerful positive good, and that it is an ethical duty of
	hackers to share their expertise by writing free software and
	facilitating access to information and to computing resources
	wherever possible.

	2. The belief that system-cracking for fun and exploration is
	ethically OK as long as the cracker commits no theft,
	vandalism, or breach of confidentiality.

	Both of these normative ethical principles are widely, but by
	no means universally, accepted among hackers. Most hackers
	subscribe to the hacker ethic in sense 1, and many act on it
	by writing and giving away free software.  A few go further
	and assert that *all* information should be free and *any*
	proprietary control of it is bad; this is the philosophy
	behind the {GNU} project.

	Sense 2 is more controversial: some people consider the act of
	cracking itself to be unethical, like breaking and entering.
	But the belief that "ethical" cracking excludes destruction at
	least moderates the behaviour of people who see themselves as
	"benign" crackers (see also {samurai}).  On this view, it may
	be one of the highest forms of hackerly courtesy to (a) break
	into a system, and then (b) explain to the sysop, preferably
	by e-mail from a {superuser} account, exactly how it was done
	and how the hole can be plugged - acting as an unpaid (and
	unsolicited) {tiger team}.

	The most reliable manifestation of either version of the
	hacker ethic is that almost all hackers are actively willing
	to share technical tricks, software, and (where possible)
	computing resources with other hackers.  Huge cooperative
	networks such as {Usenet}, {FidoNet} and Internet (see
	{Internet address}) can function without central control
	because of this trait; they both rely on and reinforce a sense
	of community that may be hackerdom's most valuable intangible
	asset.

	(1995-12-18)

hacker humour

	A distinctive style of shared intellectual humour found among
	hackers, having the following marked characteristics:

	1. Fascination with form-vs.-content jokes, paradoxes, and
	humour having to do with confusion of metalevels (see {meta}).
	One way to make a hacker laugh: hold a red index card in front
	of him/her with "GREEN" written on it, or vice-versa (note,
	however, that this is funny only the first time).

	2. Elaborate deadpan parodies of large intellectual
	constructs, such as specifications (see {write-only memory}),
	standards documents, language descriptions (see {INTERCAL}),
	and even entire scientific theories (see {quantum
	bogodynamics}, {computron}).

	3. Jokes that involve screwily precise reasoning from bizarre,
	ludicrous, or just grossly counter-intuitive premises.

	4. Fascination with puns and wordplay.

	5. A fondness for apparently mindless humour with subversive
	currents of intelligence in it - for example, old Warner
	Brothers and Rocky & Bullwinkle cartoons, the Marx brothers,
	the early B-52s, and Monty Python's Flying Circus.  Humour
	that combines this trait with elements of high camp and
	slapstick is especially favoured.

	6. References to the symbol-object antinomies and associated
	ideas in Zen Buddhism and (less often) Taoism.  See {has the X
	nature}, {Discordianism}, {zen}, {ha ha only serious}, {AI
	koan}.

	See also {filk} and {retrocomputing}.  If you have an itchy
	feeling that all 6 of these traits are really aspects of one
	thing that is incredibly difficult to talk about exactly, you
	are (a) correct and (b) responding like a hacker.  These
	traits are also recognizable (though in a less marked form)
	throughout {science-fiction fandom}.

	(1995-12-18)

hacking run

	<jargon> (Analogy with "bombing run" or "speed run") A hack
	session extended long outside normal working times, especially
	one longer than 12 hours.  May cause you to "change {phase}
	the hard way".

	[{Jargon File}]

	(1996-08-26)

Hacking X for Y

	[ITS] Ritual phrasing of part of the information which ITS
	made publicly available about each user.  This information
	(the INQUIR record) was a sort of form in which the user could
	fill out various fields.  On display, two of these fields were
	always combined into a project description of the form
	"Hacking X for Y" (e.g. ""Hacking perceptrons for Minsky"").
	This form of description became traditional and has since been
	carried over to other systems with more general facilities for
	self-advertisement (such as Unix {plan files}).

	[{Jargon File}]

Hackintosh

	1. <jargon, computer> An {Apple Lisa} that has been hacked
	into emulating a {Macintosh} (also called a "Mac XL").

	2. <jargon, computer> A {Macintosh} assembled from parts
	theoretically belonging to different models in the line.

	(1995-03-08)

hackish

	<jargon> /hak'ish/ 1. Said of something that is or involves a
	{hack}.

	2. Of or pertaining to {hackers} or the hacker subculture.

	See also {true-hacker}.

	[{Jargon File}]

	(1995-03-08)

hackishness

	<jargon> The quality of being or involving a {hack}.  This
	term is considered mildly silly.

	Synonym {hackitude}.

	[{Jargon File}]

	(1995-03-08)

hackitude

	<jargon> An even sillier word for {hackishness}.

	[{Jargon File}]

	(1995-03-08)

hack mode

	<jargon> Engaged in {hack}ing.  A Zen-like state of total
	focus on The Problem that may be achieved when one is hacking
	(this is why every good hacker is part mystic).  Ability to
	enter such concentration at will correlates strongly with
	wizardliness; it is one of the most important skills learned
	during {larval stage}.  Sometimes amplified as "deep hack
	mode".

	Being yanked out of hack mode (see {priority interrupt}) may
	be experienced as a physical shock, and the sensation of being
	in hack mode is more than a little habituating.  The intensity
	of this experience is probably by itself sufficient
	explanation for the existence of hackers, and explains why
	many resist being promoted out of positions where they can
	code.  See also {cyberspace}.

	Some aspects of hackish etiquette will appear quite odd to an
	observer unaware of the high value placed on hack mode.  For
	example, if someone appears at your door, it is perfectly okay
	to hold up a hand (without turning one's eyes away from the
	screen) to avoid being interrupted.  One may read, type, and
	interact with the computer for quite some time before further
	acknowledging the other's presence (of course, he or she is
	reciprocally free to leave without a word).  The understanding
	is that you might be in {hack mode} with a lot of delicate
	state in your head, and you dare not {swap} that context out
	until you have reached a good point to pause.  See also
	{juggling eggs}.

	[{Jargon File}]

	(1996-07-31)

hack on

	To {hack}; implies that the subject is some pre-existing hunk
	of code that one is evolving, as opposed to something one
	might {hack up}.

	[{Jargon File}]

hack together

	<jargon> To throw something together so it will work.  Unlike
	"kluge together" or "{cruft together}", this does not
	necessarily have negative connotations.

	(2003-09-02)

hack up

	<jargon> To {hack}, but generally implies that the result is a
	quick hack.  Contrast this with {hack on}.  To "hack up on"
	implies a {quick-and-dirty} modification to an existing
	system.  Contrast {hacked up}; compare {kluge up}, {monkey
	up}, {cruft together}.

	[{Jargon File}]

	(2003-09-02)

hack value

	Often adduced as the reason or motivation for expending effort
	toward a seemingly useless goal, the point being that the
	accomplished goal is a hack.  For example, MacLISP had
	features for reading and printing Roman numerals, which were
	installed purely for hack value.  See {display hack} for one
	method of computing hack value, but this cannot really be
	explained, only experienced.  As Louis Armstrong once said
	when asked to explain jazz: "Man, if you gotta ask you'll
	never know."  (Feminists please note Fats Waller's explanation
	of rhythm: "Lady, if you got to ask you ain't got it.")

ha ha only serious

	(SF fandom, originally as mutation of HHOK, "Ha Ha Only
	Kidding") A phrase (often seen abbreviated as HHOS) that aptly
	captures the flavour of much hacker discourse.  Applied
	especially to parodies, absurdities, and ironic jokes that are
	both intended and perceived to contain a possibly disquieting
	amount of truth, or truths that are constructed on in-joke and
	self-parody.

	The {Jargon File} contains many examples of ha-ha-only-serious
	in both form and content.  Indeed, the entirety of hacker
	culture is often perceived as ha-ha-only-serious by hackers
	themselves; to take it either too lightly or too seriously
	marks a person as an outsider, a {wannabee}, or in {larval
	stage}.  For further enlightenment on this subject, consult
	any Zen master.  See also {AI koan}.

	[{Jargon File}]

hair

	[back-formation from {hairy}] The complications that make
	something hairy.  "Decoding {TECO} commands requires a certain
	amount of hair."  Often seen in the phrase "infinite hair",
	which connotes extreme complexity.  Also in "hairiferous"
	(tending to promote hair growth): "GNUMACS elisp encourages
	{lusers} to write complex editing modes."  "Yeah, it's pretty
	hairiferous all right." (Or just: "Hair squared!")

hairy

	1. Annoyingly complicated.  "{DWIM} is incredibly hairy."

	2. Incomprehensible.  "{DWIM} is incredibly hairy."

	3. Of people, high-powered, authoritative, rare, expert,
	and/or incomprehensible.  Hard to explain except in context:
	"He knows this hairy lawyer who says there's nothing to worry
	about."  See also {hirsute}.

	The adjective "long-haired" is well-attested to have been in
	slang use among scientists and engineers during the early
	1950s; it was equivalent to modern "hairy" and was very likely
	ancestral to the hackish use.  In fact the noun "long-hair"
	was at the time used to describe a hairy person.  Both senses
	probably passed out of use when long hair was adopted as a
	signature trait by the 1960s counterculture, leaving hackish
	"hairy" as a sort of stunted mutant relic.

	4. <topology> {hairy ball}.

	[{Jargon File}]

	(2001-03-29)

hairy ball

	<topology> A result in {topology} stating that a continuous
	{vector field} on a sphere is always zero somewhere.  The name
	comes from the fact that you can't flatten all the hair on a
	hairy ball, like a tennis ball, there will always be a tuft
	somewhere (where the tangential projection of the hair is
	zero).  An immediate corollary to this theorem is that for any
	{continuous map} f of the sphere into itself there is a point
	x such that f(x)=x or f(x) is the {antipode} of x.  Another
	corollary is that at any moment somewhere on the Earth there
	is no wind.

	(2002-01-07)

HAKMEM

	<publication> /hak'mem/ MIT AI Memo 239 (February 1972).  A
	legendary collection of neat mathematical and programming
	hacks contributed by many people at MIT and elsewhere.  (The
	title of the memo really is "HAKMEM", which is a 6-letterism
	for "hacks memo".)  Some of them are very useful techniques,
	powerful theorems, or interesting unsolved problems, but most
	fall into the category of mathematical and computer trivia.
	Here is a sampling of the entries (with authors), slightly
	paraphrased:

	Item 41 (Gene Salamin): There are exactly 23,000 prime numbers
	less than 2^18.

	Item 46 (Rich Schroeppel): The most *probable* suit
	distribution in bridge hands is 4-4-3-2, as compared to
	4-3-3-3, which is the most *evenly* distributed.  This is
	because the world likes to have unequal numbers: a
	thermodynamic effect saying things will not be in the state of
	lowest energy, but in the state of lowest disordered energy.

	Item 81 (Rich Schroeppel): Count the magic squares of order 5
	(that is, all the 5-by-5 arrangements of the numbers from 1 to
	25 such that all rows, columns, and diagonals add up to the
	same number).  There are about 320 million, not counting those
	that differ only by rotation and reflection.

	Item 154 (Bill Gosper): The myth that any given programming
	language is machine independent is easily exploded by
	computing the sum of powers of 2.  If the result loops with
	period = 1 with sign +, you are on a sign-magnitude machine.
	If the result loops with period = 1 at -1, you are on a
	twos-complement machine.  If the result loops with period
	greater than 1, including the beginning, you are on a
	ones-complement machine.  If the result loops with period
	greater than 1, not including the beginning, your machine
	isn't binary - the pattern should tell you the base.  If you
	run out of memory, you are on a string or bignum system.  If
	arithmetic overflow is a fatal error, some fascist pig with a
	read-only mind is trying to enforce machine independence.  But
	the very ability to trap overflow is machine dependent.  By
	this strategy, consider the universe, or, more precisely,
	algebra: Let X = the sum of many powers of 2 = ...111111 (base
	2).  Now add X to itself: X + X = ...111110.  Thus, 2X = X -
	1, so X = -1.  Therefore algebra is run on a machine (the
	universe) that is two's-complement.

	Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the
	only number such that if you represent it on the {PDP-10} as
	both an integer and a {floating-point} number, the bit
	patterns of the two representations are identical.

	Item 176 (Gosper): The "banana phenomenon" was encountered
	when processing a character string by taking the last 3
	letters typed out, searching for a random occurrence of that
	sequence in the text, taking the letter following that
	occurrence, typing it out, and iterating.  This ensures that
	every 4-letter string output occurs in the original.  The
	program typed BANANANANANANANA....  We note an ambiguity in
	the phrase, "the Nth occurrence of."  In one sense, there are
	five 00's in 0000000000; in another, there are nine.  The
	editing program TECO finds five.  Thus it finds only the first
	ANA in BANANA, and is thus obligated to type N next.  By
	Murphy's Law, there is but one NAN, thus forcing A, and thus a
	loop.  An option to find overlapped instances would be useful,
	although it would require backing up N - 1 characters before
	seeking the next N-character string.

	Note: This last item refers to a {Dissociated Press}
	implementation.  See also {banana problem}.

	HAKMEM also contains some rather more complicated mathematical
	and technical items, but these examples show some of its fun
	flavour.

	HAKMEM is available from MIT Publications as a {TIFF} file.

	{(ftp://ftp.netcom.com/pub/hb/hbaker)}.

	(1996-01-19)

hakspek

	<jargon> /hak'speek/ A shorthand method of spelling found on
	many British academic bulletin boards and {chat} systems.
	Syllables and whole words in a sentence are replaced by single
	{ASCII} characters the names of which are phonetically similar
	or equivalent, while multiple letters are usually dropped.
	Hence, "for" becomes "4"; "two", "too", and "to" become "2";
	"ck" becomes "k".  "Before I see you tomorrow" becomes "b4 i c
	u 2moro".  First appeared in London about 1986, and was
	probably caused by the slowness of available {talk} systems,
	which operated on archaic machines with outdated {operating
	systems} and no standard methods of communication.  Has become
	rarer since.

	See also {chat}, {B1FF}, {ASCIIbonics}.

	[{Jargon File}]

	(1998-01-25)

HAL

	1. <computer> HAL 9000, the murdering computer on the
	spaceship in the science fiction classic "2001, A Space
	Odyssey" by Arthur C. Clark.

	"HAL" is "{IBM}" with each letter changed to the one before
	and there is an unconfirmed rumour that 9000 is the sum of the
	various IBM computer numbers that were in service at the time.
	However, in the sequel "2010", Clarke emphatically denies that
	HAL's name is supposed to be "one step ahead of IBM".  It is,
	rather, short for "heuristic algorithm".

	2. <operating system> {Hardware Abstraction Layer}.

	(1995-11-09)

half-duplex

	<communications> (hdx, from {telegraphy}) 1. A type of
	communication channel using a single circuit which can carry
	data in either direction but not both directions at once.

	Compare: {simplex}, {full-duplex}.

	2. An obsolete term for {local echo}.

	(2001-07-21)

halftone

	<graphics> The reproducion of {greyscale} {images} using dots
	of a single shade but varying size to simulate the different
	shades of grey.

	{Laser printers} that cannot print different sized dots,
	halftones are produced by varying the numbers of dots in a
	given area.

	This process is also used to produce a black and white version
	of a colour original using shades of grey in place of colours.

	See also {device independent bitmap}.

	(1996-09-20)

HALGOL

	<language> A simple language from {Hewlett-Packard} for
	communicating with devices such as {modems} and {X.25} {PADs}.

	(1995-04-12)

HALMAT

	Intermediate language used by {HAL/S}.

Hal/S

	<language> (Hal/Shuttle) A {real-time} {high-level language}
	for flight control applications.  Hal was developed for {NASA}
	by {Intermetrics, Inc.} in the 1970s for on-board {software}.
	The initial version was a {Fortran} {preprocessor}, written in
	Fortran.  In 1972, as the space shuttle project advanced, the
	language was renamed Hal/S and made more adaptable to
	{architecture} of different computers by using {XPL}.  In all,
	11 different implementations, mostly based on {IBM 360}, were
	created.  Applications also included projects by {JPL}
	(Galileo probe, Deep Space network).

	["Two-Dimensional Characteristics of HAL, A Language for
	Spaceflight Applications", J.S. Miller, SIGPLAN Notices 7(10),
	Oct 1972].

	["Space Station Flight Software: Hal/S or Ada?", Allan
	R. Klumpp, "Computer", March 1985].

	(2002-07-13)

Halt and Catch Fire

	<humour, processor> (HCF) Any of several undocumented and
	semi-mythical {machine instructions} with destructive
	side-effects, supposedly included for test purposes on several
	well-known architectures going as far back as the {IBM 360}.

	The {Motorola 6800} {microprocessor} was the first for which an
	HCF {opcode} became widely known.  This instruction caused the
	processor to read every memory location sequentially until reset.

	[{Gerry Wheeler, Byte, December 1977, p46, "Undocumented M6800
	Instructions"
	(https://archive.org/details/byte-magazine-1977-12)}].

	(2014-09-20)

halting problem

	The problem of determining in advance whether a particular
	program or {algorithm} will terminate or run forever.  The
	halting problem is the {canonical} example of a {provably
	unsolvable} problem.  Obviously any attempt to answer the
	question by actually executing the algorithm or simulating
	each step of its execution will only give an answer if the
	algorithm under consideration does terminate, otherwise the
	algorithm attempting to answer the question will itself run
	forever.

	Some special cases of the halting problem are partially
	solvable given sufficient resources.  For example, if it is
	possible to record the complete state of the execution of the
	algorithm at each step and the current state is ever identical
	to some previous state then the algorithm is in a loop.  This
	might require an arbitrary amount of storage however.
	Alternatively, if there are at most N possible different
	states then the algorithm can run for at most N steps without
	looping.

	A program analysis called {termination analysis} attempts to
	answer this question for limited kinds of input algorithm.

	(1994-10-20)

Hamilton

	{William Hamilton}

Hamiltonian cycle

	{Hamiltonian problem}

Hamiltonian path

	{Hamiltonian problem}

Hamiltonian problem

	<computability> (Or "Hamilton's problem") A problem in {graph
	theory} posed by {William Hamilton}: given a {graph}, is there
	a path through the graph which visits each {vertex} precisely
	once (a "Hamiltonian path")?  Is there a Hamiltonian path
	which ends up where it started (a "Hamiltonian cycle" or
	"Hamiltonian tour")?

	Hamilton's problem is {NP-complete}.  It has numerous
	applications, sometimes completely unexpected, in computing.

	{(http://ing.unlp.edu.ar/cetad/mos/Hamilton.html)}.

	(1997-07-18)

Hamiltonian tour

	{Hamiltonian problem}

Hamilton's problem

	{Hamiltonian problem}

hammer

	Commonwealth hackish synonym for {bang on}.

	[{Jargon File}]

	(1995-02-16)

Hamming code

	<algorithm> Extra, redundant bits added to stored or
	transmitted data for the purposes of {error detection and
	correction}.

	Named after the mathematician {Richard Hamming}, Hamming codes
	greatly improve the reliability of data, e.g. from distant
	space probes, where it is impractical, because of the long
	transmission delay, to correct errors by requesting
	retransmission.

	[Detail?  Connection with {Hamming Distance}?]

	(2002-07-02)

Hamming distance

	<data> The minimum number of {bits} that must be changed in
	order to convert one {bit string} into another.

	Named after the mathematician {Richard Hamming}.

	[Connection with {Hamming code}?].

	(2002-07-02)

Hamming, Richard

	{Richard Hamming}

hamster

	1. <programming> (From {Fairchild}) A particularly slick
	little piece of code that does one thing well; a small,
	self-contained hack.  The image is of a hamster {happily}
	spinning its exercise wheel.

	2. <hardware> A tailless mouse; that is, one with an infrared
	link to a receiver on the machine, as opposed to the
	conventional cable.

	3. <product> (UK) Any item of hardware made by {Amstrad}, a
	company famous for its cheap plastic PC-almost-compatibles.

	[{Jargon File}]

	(1995-02-16)

Han character

	<character> (From the Han dynasty, 206 B.C.E to 25 C.E.)  One
	of the set of {glyphs} common to Chinese (where they are
	called "hanzi"), Japanese (where they are called {kanji}), and
	Korean (where they are called {hanja}).

	Han characters are generally described as "ideographic", i.e.,
	picture-writing; but see the reference below.

	Modern Korean, Chinese and Japanese {fonts} may represent a
	given Han character as somewhat different glyphs.  However, in
	the formulation of {Unicode}, these differences were {folded},
	in order to conserve the number of {code positions} necessary
	for all of {CJK}.  This unification is referred to as "Han
	Unification", with the resulting character repertoire
	sometimes referred to as "Unihan".

	{Unihan reference at the Unicode Consortium
	(http://charts.unicode.org/unihan.html)}.

	[John DeFrancis, "The Chinese Language: Fact and Fantasy",
	University of Hawaii Press, 1984].

	(1998-10-18)

HAND

	<chat> Have A Nice Day.  Often used sarcastically and in
	connection with {HTH}, as in:

	  > Where's the point of alt.stupidity?

	  Between the 't' and the 's'.  HTH.  HAND.

	(1998-03-06)

hand cruft

	<jargon> (After "hand craft") To write something {by hand}
	that would be better done automatically, e.g. writing
	{assembly language} instead of using a compiler (see {hand
	hacking}).

	[{Jargon File}]

	(2006-01-19)

Handel

	<language> An {imperative language} with {primitives} for
	controlling {parallel programs}.

	Used by Wayne Luk for work in compilation of programs to
	hardware ({FPGAs}).

	(1995-02-28)

hand hack

	<jargon> 1. (Or "{hand cruft}") To Translate a {hot spot} of a
	program in a {HLL} into {assembly language} {by hand}, as
	opposed to trying to coerce the {compiler} into generating
	better code.  Both the term and the practice are becoming
	uncommon.

	See {tune}, {bum}.

	2. More generally, manual construction or patching of data
	sets that would normally be generated by a translation utility
	and interpreted by another program, and aren't really designed
	to be read or modified by humans.

	[{Jargon File}]

	(1995-02-16)

Hand-held Personal Computer

	{palmtop}

handle

	1. <programming, operating system> A simple item of data that
	identifies a resource.  For example, a {Unix} file handle
	identifies an open file and associated data such as whether it
	was opened for read or write and the current read/write
	position.  On the {Macintosh}, a handle is a pointer to a
	pointer to some dynamically-allocated memory.  The extra level
	of indirection allows on-the-fly {memory compaction} or
	{garbage collection} without invalidating application program
	references to the allocated memory.

	2. <jargon> An alias used intended to conceal a user's true
	identity in an electronic message.  The term is common on
	Citizen's Band and other amateur radio but, in that context
	usually means the user's real name as {FCC} rules forbid
	concealing one's identity.

	Use of grandiose handles is characteristic of {crackers},
	{weenies}, {spods}, and other lower forms of network life;
	true hackers travel on their own reputations.

	Compare {nick}.

	[{Jargon File}]

	3. <networking> {domain handle}.

	(2004-07-20)

handoff

	{handover}

handover

	<communications> (HO, or "handoff") the mechanism by which an
	on going cellular connection between a {mobile terminal} (MT,
	typically a {mobile phone}) or {mobile host} (MH) and a
	corresponding terminal or host is transferred from one point
	of access of the fixed network to another.

	Handover may occur because the phone is leaving its current
	cell, to balance demand between cells, to reduce interference
	or to transfer a user who has stopped moving to a nearby cell
	with shorter range.

	(2010-05-07)

hand-roll

	<jargon> (From mainstream slang "hand-rolled cigarette" in
	opposition to "ready-made") To perform a normally automated
	software installation or configuration process {by hand};
	implies that the normal process failed due to bugs or was
	defeated by something exceptional in the local environment.
	"The worst thing about being a gateway between four different
	nets is having to hand-roll a new sendmail configuration every
	time any of them upgrades."

	[{Jargon File}]

	(1995-02-28)

handshake

	{handshaking}

handshaking

	1. Predetermined hardware or software activity designed to
	establish or maintain two machines or programs in
	synchronisation.  Handshaking often concerns the exchange of
	messages or {packets} of data between two systems with limited
	{buffers}.  A simple handshaking {protocol} might only involve
	the receiver sending a message meaning "I received your last
	message and I am ready for you to send me another one."  A
	more complex handshaking {protocol} might allow the sender to
	ask the receiver if he is ready to receive or for the receiver
	to reply with a negative acknowledgement meaning "I did not
	receive your last message correctly, please resend it" (e.g. if
	the data was corrupted en route).

	{Hardware handshaking} uses voltage levels or pulses on wires
	to carry the handshaking signals whereas {software
	handshaking} uses data units (e.g. {ASCII} characters) carried
	by some underlying communication medium.

	{Flow control} in bit-serial data transmission such as
	{EIA-232} may use either hardware or software handshaking.

	2. The method used by two {modems} to establish contact with
	each other and to agreee on {baud rate}, {error correction}
	and {compression} {protocols}.

	3. The exchange of predetermined signals between agents
	connected by a communications channel to assure each that it
	is connected to the other (and not to an imposter).  This may
	also include the use of passwords and codes by an operator.

	[{Jargon File}]

	(1995-01-13)

handwave

	[possibly from gestures characteristic of stage magicians] To
	gloss over a complex point; to distract a listener; to support
	a (possibly actually valid) point with blatantly faulty logic.

	If someone starts a sentence with "Clearly..." or
	"Obviously..." or "It is self-evident that...", it is a good
	bet he is about to handwave (alternatively, use of these
	constructions in a sarcastic tone before a paraphrase of
	someone else's argument suggests that it is a handwave).  The
	theory behind this term is that if you wave your hands at the
	right moment, the listener may be sufficiently distracted to
	not notice that what you have said is wrong.  Failing that, if
	a listener does object, you might try to dismiss the objection
	with a wave of your hand.

	The use of this word is often accompanied by gestures: both
	hands up, palms forward, swinging the hands in a vertical
	plane pivoting at the elbows and/or shoulders (depending on
	the magnitude of the handwave); alternatively, holding the
	forearms in one position while rotating the hands at the wrist
	to make them flutter.  In context, the gestures alone can
	suffice as a remark; if a speaker makes an outrageously
	unsupported assumption, you might simply wave your hands in
	this way, as an accusation, far more eloquent than words could
	express, that his logic is faulty.

	[{Jargon File}]

hang

	1. To wait for an event that will never occur.  "The system is
	hanging because it can't read from the crashed drive".  See
	{wedged}, {hung}.

	2. To wait for some event to occur; to hang around until
	something happens.  "The program displays a menu and then
	hangs until you type a character."  Compare {block}.

	3. To attach a peripheral device, especially in the
	construction "hang off": "We're going to hang another tape
	drive off the file server."  Implies a device attached with
	cables, rather than something that is strictly inside the
	machine's chassis.

hanja

	{Han characters}

Hanoi

	{Towers of Hanoi}

Han Unification

	{Han character}

hanzi

	{Han characters}

happily

	Of software, used to emphasise that a program is unaware of
	some important fact about its environment, either because it
	has been fooled into believing a lie, or because it doesn't
	care.  The sense of "happy" here is not that of elation, but
	rather that of blissful ignorance.  "The program continues to
	run, happily unaware that its output is going to /dev/null."

	[{Jargon File}]

Happy

	<tool> A dyslexic acronym for "A Yacc-like Haskell Parser
	generator".

	An {LALR1 grammar} {parser generator} for {Haskell}.  Happy is
	written in Haskell, uses a parser generated by itself, and can
	be compiled using {ghc}, {hbc} or {gofer}.  Happy uses an
	implementation of {monadic IO} built on top of stream IO, but
	this should change when the {Haskell 1.3} {standard} has been
	implemented.

	Version: 0.9 (1996-02-28).

	Happy is covered by the {General Public License}.

	{(http://dcs.gla.ac.uk/fp/software/happy.html)}.

	{(ftp://ftp.dcs.gla.ac.uk/pub/haskell/happy/)}.

	E-mail: <andy@dcs.gla.ac.uk>, <simonm@dcs.gla.ac.uk>.

	(1996-03-21)

haptic interface

	<interface, hardware> A touch interface to a computer that
	provides {feedback}, such as a {data glove}.

	(2003-10-17)

haptics

	<interface> The science of applying tactile sensation to human
	interaction with computers.

	{Haptics Community (http://haptic.mech.northwestern.edu/)}.

	(2003-10-17)

haque

	<spelling, jargon> /hak/ ({Usenet}) A variant spelling of
	{hack}, used only for the noun form and connoting an {elegant}
	hack.

	[{Jargon File}]

	(1995-02-22)

hard boot

	<operating system> A {boot} which resets the entire {system}.

	The phrase has connations of hostility toward, or frustration
	with, the computer being booted.  For example, "I'll have to
	hard boot this {losing} {Sun}", or "I recommend booting it
	hard".

	Hard boots are often performed with a {power cycle}.

	Contrast {soft boot}.  See also {cold boot} and {reboot}

	[{Jargon File}]

	(1995-11-27)

hard-coded

	<jargon> (By analogy with "{hard-wired}") Said of a data value
	or behaviour written directly into a program, possibly in
	multiple places, where it cannot be easily modified.  There
	are several alternatives, depending on how often the value is
	likely to change.  It may be replaced with a {compile-time}
	constant, such as a {C} "#define" {macro}, in which case a
	change will still require recompilation; or it may be read at
	{run time} from a {profile}, resource (see {de-rezz}), or
	{environment variable} that a {user} can easily modify; or it
	may be read as part of the program's input data.

	To change something hard-coded requires recompilation (if
	using a compiled language of course) but, more seriously, it
	requires sufficient understanding of the implementation to be
	sure that the change will not introduce inconsistency and
	cause the program to fail.

	For example, "The line terminator is hard-coded as newline;
	who in their right mind would use anything else?"

	See {magic number}.

	[{Jargon File}]

	(1999-10-18)

hardcopy

	<jargon> A paper printout of data displayed on a screen.

	Contrast {softcopy}.

	(1995-08-31)

hard crash

	<programming> When a program stops running completely and
	unexpectedly, often due to external events, e.g. the {CPU}
	overheating or an unrecoverable memory error.

	See also {disk crash}.

	(2009-07-01)

hard disk

	<storage> (In contrast to {floppy disk}) A {magnetic disk}
	data storage device where the disks are rigid and fixed to a
	central axle.  They are usually packaged with associated
	read/write heads and electronics.  Most hard disks are
	permanently connected to the drive (fixed disks) though there
	are also {removable hard disks}.

	See {magnetic disk}.

	(2007-06-14)

hard disk drive

	<storage> (HDD) A {disk drive} used to read and write {hard
	disks}.

	(1995-03-14)

hard drive

	{hard disk drive}

hard link

	<file system> One of several directory entries which refer to
	the same {Unix} {file}.  A hard link is created with the "ln"
	(link) command:

		ln <old name> <new name>

	where <old name> and <new name> are {pathnames} within the
	same {file system}.  Hard links to the same file are
	indistinguishable from each other except that they have
	different pathnames.  They all refer to the same {inode} and
	the inode contains all the information about a file.

	The standard ln command does not usually allow you to create a
	hard link to a directory, chiefly because the standard {rm}
	and {rmdir} commands do not allow you to delete such a link.
	Some systems provide link and {unlink} commands which give
	direct access to the {system calls} of the same name, for
	which no such restrictions apply.

	Normally all hard links to a file must be in the same {file
	system} because a directory entry just relates a pathname to
	an inode within the same file system.  The only exception is a
	{mount point}.

	The restrictions on hard links to directories and between
	file systems are very common but are not mandated by {POSIX}.
	{Symbolic links} are often used instead of hard links because
	they do not suffer from these restrictions.

	The space associated with a file is not freed until all the
	hard links to the file are deleted.  This explains why the
	system call to delete a file is called "unlink".

	{Microsoft Windows} {NTFS} supports hard links via the
	{fsutil} command.

	{Unix manual page}: ln(1).

	{(http://microsoft.com/windowsxp/home/using/productdoc/en/fsutil_hardlink.asp)}.

	(2004-02-24)

hard linking

	{hard link}

hard sector

	<storage> An archaic {floppy disk} format employing multiple
	synchronisation holes in the media to define the {sectors}.

	(1995-01-24)

hardware

	<hardware> The physical, touchable, material parts of a
	computer or other system.  The term is used to distinguish
	these fixed parts of a system from the more changeable
	{software} or {data} components which it executes, stores, or
	carries.

	Typical computer hardware consists of electronic devices
	({CPU}, {memory}, {display}) with some electromechanical parts
	(keyboard, {printer}, {disk drives}, {tape drives},
	loudspeakers) for input, output and storage.  Completely
	non-electronic (mechanical, electromechanical, hydraulic,
	biological) computers have also been conceived of and built.

	See also {firmware}, {wetware}.

	(1997-01-23)

Hardware Abstraction Layer

	<operating system> (HAL) The layer of {Microsoft} {Windows NT}
	where they have isolated their {assembly language} code.

	(1995-04-17)

hardware circular buffer

	<programming, hardware> {digital signal processors} which
	support hardware {circular buffers} automatically generate and
	increment {pointers} for {memory} accesses which wrap to the
	beginning of the {buffer} when its end is reached, thus saving
	the time and instructions otherwise needed to ensure that the
	address pointer stays within the boundary of the buffer, and
	speeding the execution of repetitive DSP algorithms.

	{Digital Signal Processor For Digital Audio Applications
	(http://analog.com/publications/documentation/21065L_Audio_Tutorial.PDF)}.

	(2000-06-17)

Hardware Description Language

	<language> (HDL) A kind of language used for the conceptual
	design of {integrated circuits}.  Examples are {VHDL} and
	{Verilog}.

	(1995-04-18)

hardware handshaking

	<communications> A technique for regulating the flow of data
	across an interface by means of signals carried on separate
	wires.

	A common example is the RTS (Request to Send) and CTS (Clear
	to Send) signals on an {EIA-232} {serial line}.

	The alternative, {software handshaking}, uses two special
	characters inserted into the data stream to carry the same
	information.

	(1995-01-23)

hardware register

	<hardware, system administration> (Or "hardware log") A list
	of all {hardware}, both internal and external, that is
	attached to a particular computer.

	(2006-09-07)

hardwarily

	/hard-weir'*-lee/ In a way pertaining to hardware.  "The
	system is hardwarily unreliable."  The adjective "hardwary" is
	*not* traditionally used, though it has recently been reported
	from the U.K.

	See {softwarily}.

	[{Jargon File}]

	(1995-01-23)

hard-wired

	1. <electronics> An aspect of an electronic circuit which is
	determined by the wiring of the hardware, as opposed to being
	programmable in software or controlled by a switch.

	2. <software, jargon> In software, a synonym for {hard-coded}.

	3. By extension, anything that is not modifiable, especially
	in the sense of customisable to one's particular needs or
	tastes.

	[{Jargon File}]

	(1999-10-18)

Harris Semiconductor Ltd.

	<company>

	Address: Riverside Way, Camberley, Surrey, CU15 3YQ, UK.

	Telephone: +44 (1276) 686 886.  Fax: +44 (1276) 682 323.

	(1995-11-21)

Harvard architecture

	<architecture> A computer {architecture} in which program
	instructions are stored in different memory from data.  Each
	type of memory is accessed via a separate {bus}, allowing
	instructions and data to be fetched in parallel.

	Contrast: {von Neumann architecture}.

	[Why Harvard?]

	(2004-01-14)

Harvard Graphics

	<graphics, tool> A presentation graphics product by {Software
	Publishing Corporation} (SPC) for creating presentations,
	speeches, slides, etc..

	(1998-07-20)

Harvard Mark II Machine

	<computer, history> A {relay}-based computer designed and
	built by {Howard Aiken}, with support from {IBM}, for the
	United States Navy's Naval Proving Ground, between 1942 -
	1947.  The Harvard Mark II was the second in a series of four
	{electro-mechanical} computers that were forerunners of the
	{ENIAC}.

	{Harvard machines
	(http://hoc.co.umist.ac.uk/storylines/compdev/electromechanical/harvardmarkmachines.html)}.

	(2003-09-13)

Harvest

	<tool, networking> A highly scalable, customisable system for
	discovering resources on the {Internet}.

	Version: 1.3.

	{(http://tardis.ed.ac.uk/harvest/)}.

	(1999-01-16)

Harvest C

	A {C} compiler, assembler and linker for the {Macintosh} by
	Eric W. Sink.  The parts of the system are integrated in a
	single application, which manages a "project" composed by
	several C source files and resource files (which contain
	data).  Version 1.3.

	{(ftp://archive.umich.edu/mac/development/languages/)}.

	(1992-05-26)

hash

	1. <character> {hash character}.

	2. <programming> {hash coding}.

	3. The preferred term for a {Perl} {associative array}.

	(1995-03-06)

hash bucket

	{hash coding}

hash character

	<character> "#", {ASCII} character 35.

	Common names: number sign; pound; pound sign; hash; sharp;
	{crunch}; hex; {INTERCAL}: mesh.  Rare: grid; crosshatch;
	octothorpe; flash; {ITU-T}: square, pig-pen; tictactoe;
	scratchmark; thud; thump; {splat}.

	The pronunciation of "#" as "pound" is common in the US but a
	bad idea; {Commonwealth Hackish} has its own, rather more
	apposite use of "pound sign" (confusingly, on British
	keyboards the pound graphic happens to replace "#"; thus
	Britishers sometimes call "#" on a US-ASCII keyboard "pound",
	compounding the American error).  The US usage derives from an
	old-fashioned commercial practice of using a "#" suffix to tag
	pound weights on bills of lading.  The character is usually
	pronounced "hash" outside the US.

	The name "octothorpe" was made up by a {Bell Labs} supervisor,
	Don Macpherson.

	{Octothorpe story
	(http://sigtel.com/tel_tech_octothorpe.html)}.

	(2003-07-05)

hash coding

	<programming, algorithm> (Or "hashing") A scheme for providing
	rapid access to data items which are distinguished by some
	{key}.  Each data item to be stored is associated with a key,
	e.g. the name of a person.  A {hash function} is applied to
	the item's key and the resulting hash value is used as an
	index to select one of a number of "hash buckets" in a hash
	table.  The table contains pointers to the original items.

	If, when adding a new item, the hash table already has an
	entry at the indicated location then that entry's key must be
	compared with the given key to see if it is the same.  If two
	items' keys hash to the same value (a "{hash collision}") then
	some alternative location is used (e.g. the next free location
	cyclically following the indicated one).  For best
	performance, the table size and {hash function} must be
	tailored to the number of entries and range of keys to be
	used.  The hash function usually depends on the table size so
	if the table needs to be enlarged it must usually be
	completely rebuilt.

	When you look up a name in the phone book (for example), you
	typically hash it by extracting its first letter; the hash
	buckets are the alphabetically ordered letter sections.

	See also: {btree}, {checksum}, {CRC}, {pseudorandom number},
	{random}, {random number}, {soundex}.

	(1997-08-03)

hash collision

	<programming> (Or "hash clash") When two different keys hash
	to the same value, i.e. to the same location in a {hash
	table}.

	{ESR} once asked a friend what he expected Berkeley to be
	like.  The friend replied, "Well, I have this mental picture
	of naked women throwing Molotov cocktails, but I think that's
	just a collision in my hash tables."

	[{Jargon File}]

	(1995-01-23)

hash function

	<programming> A {hash coding} {function} which assigns a data
	item distinguished by some "key" into one of a number of
	possible "hash buckets" in a hash table.  The hash function is
	usually combined with another more precise function.

	For example a program might take a string of letters and put
	it in one of twenty six lists depending on its first letter.
	Ideally, a hash function should distribute items evenly
	between the buckets to reduce the number of {hash collisions}.
	If, for example, the strings were names beginning with "Mr.",
	"Miss" or "Mrs." then taking the first letter would be a very
	poor hash function because all names would hash the same.

	(1997-08-03)

hashing

	{hash coding}

hash table

	{hash coding}

Haskell

	<language> (Named after the logician {Haskell Curry}) A {lazy}
	{purely functional} language largely derived from {Miranda}
	but with several extensions.  Haskell was designed by a
	committee from the {functional programming} community in April
	1990.  It features static {polymorphic} typing, {higher-order
	functions}, user-defined {algebraic data types}, and
	{pattern-matching} {list comprehensions}.  Innovations include
	a {class} system, systematic operator {overloading}, a
	{functional I/O} system, functional {arrays}, and {separate
	compilation}.

	Haskell 1.3 added many new features, including {monadic I/O},
	standard libraries, {constructor classes}, {labeled fields} in
	datatypes, {strictness} {annotations}, an improved {module}
	system, and many changes to the Prelude.

	{Gofer} is a cut-down version of Haskell with some extra
	features.

	{Filename extension}: .hs, .lhs ({literate programming}).

	{(http://haskell.org/)}.

	["Report on the Programming Language Haskell Version 1.1",
	Paul Hudak & P. Wadler eds, CS Depts, U Glasgow and Yale U.,
	Aug 1991].

	[Version 1.2: SIGPLAN Notices 27(5), Apr 1992].

	{Haskell 1.3 Report
	(http://haskell.cs.yale.edu/haskell-report/haskell-report.html)}.

	Mailing list: <haskell-request@cs.yale.edu>.

	Yale Haskell - Version 2.0.6, Haskell 1.2 built on {Common
	Lisp}.

	{(ftp://nebula.cs.yale.edu/pub/haskell/yale/)}.

	Glasgow Haskell (GHC) - Version 2.04 for {DEC Alpha}/{OSF}2;
	{HPPA1.1}/{HPUX}9,10; {SPARC}/{SunOs} 4, {Solaris} 2;
	{MIPS}/{Irix} 5,6; {Intel 80386}/{Linux},{Solaris}
	2,{FreeBSD},{CygWin} 32; {PowerPC}/{AIX}.  GHC generates {C}
	or {native code}.

	{(ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/glasgow/)}.

	E-mail: <glasgow-haskell-request@dcs.glasgow.ac.uk>.

	Haskell-B - Haskell 1.2 implemented in {LML}, generates
	{native code}.

	{(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers/)}.

	E-mail: <hbc@cs.chalmers.se>.

	(1997-06-06)

Haskell B

	<language> An early version of {Haskell} by Lennart Augustsson
	<augustss@cs.chalmers.se> from {Chalmers}.  Haskell B evolved
	into a full-featured implementation of Haskell 1.2, with quite
	a few extensions.

	Ports exist for many {platforms} including {Sun}, {DEC},
	{Sequent}, {IBM PC}, {Symmetry} and unsupported versions for
	{NS32000}, {IBM RT/PC}, {Cray}, {Sun-3}, {Vax}, {ARM}, and
	{RS/6000}.

	Version 0.999.5 included a compiler, interpreter, library,
	documentation, and examples.

	{(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers/)}.

	Mailing list: <haskell-request@cs.yale.edu>.

	E-mail: <hbc@cs.chalmers.se>.

	(1996-08-21)

Haskell Curry

	<person> Haskell Brooks Curry (1900-09-12 - 1982-09-01).  The
	logician who re-invented and developed {combinatory logic}.

	The {functional programming} language {Haskell} was named
	after him.

	{Biography
	(http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Curry.html)}.

	(1999-01-08)

Haskell User's Gofer System

	<language> (HUGS) An implementation of {Haskell} derived from
	{Gofer} 2.30b with an interactive development environment much
	like Gofer's.  Almost all of the features of Haskell 1.2 are
	implemented with the exception of the {module} system.  Hugs
	supports Haskell style {type class}es, a full prelude,
	{derived instances}, defaults, {overloaded} numeric {literals}
	and {pattern matching}, and {bignum} arithmetic.

	{Home
	(http://cs.nott.ac.uk/Department/Staff/mpj/hugs.html)}.

	{(ftp://ftp.cs.nott.ac.uk/pub/haskell/hugs)}.

	E-mail: Mark P. Jones <mpj@cs.nott.ac.uk>.

	(1995-02-14)

HASL

	<language> {SASL} plus {conditional unification}.

	["A Prological Definition of HASL, A Purely Functional
	Language with Unification Based Conditional Binding
	Expressions", H. Abramson in Logic Programming: Functions,
	Relations and Equations, D. DeGroot et al eds, P-H 1986].

	(1996-08-21)

HASP

	{Houston Automatic Spooling Program}

has the X nature

	(From Zen Buddhist koans of the form "Does an X have the
	Buddha-nature?") Common hacker construction for "is an X",
	used for humorous emphasis.  "Anyone who can't even use a
	program with on-screen help embedded in it truly has the
	{loser} nature!"  See also {the X that can be Y is not the
	true X}.

	[{Jargon File}]

	(1995-01-11)

hat

	A common (spoken) name for the circumflex ("^", ASCII 94)
	character.

	See {ASCII} for other synonyms.

	[{Jargon File}]

Hayes

	A {modem} manufacturer.

	{(gopher://leapfrog.almac.co.uk:70/00/business/comms/hayes/corporat.txt)}.

	Address: Atlanta, Georgia, USA.

	(1995-01-30)

Hayes-compatible

	<communications> A description of a {modem} which understands
	the same set of commands as one made by {Hayes}.

	[What are the commands?]

	(1996-12-08)

Haze

	<graphics> An {X Window System} {window manager} designed to
	be light-weight and look like {MacOS}.  Haze is based on
	{mlvwm}.  It support {virtual desktops}, configurable menu
	bar and shaded windows.

	{Haze home (http://www.escomposlinux.org/jes/description.html)}.

	(2010-05-03)

HBOOK

	A histogramming package in the CERN program library.

hc

	The compiler for the {h} {hyperbook} language.

HC-900

	<hardware> A hybrid {controller} made by {Honeywell}.

	{Honeywell
	(http://honeywell.silverw.com/docs/51-52-03-31.pdf)}.

	[Hybrid of what and what?]

	(2004-03-31)

HCF

	1. <operating system> {Host Command Facility}.

	2. <architecture> {Halt and Catch Fire}.

	[{Jargon File}]

	(1999-01-24)

HCI

	1. {Human-Computer Interaction}.

	2. {Human-Computer Interface}.

	3. {Host Control Interface}.

	(2002-06-21)

HCLP

	Hierarchical {CLP}.

	["Constraint Hierarchies and Logic Programming", A. Borning et
	al, in Proc Sixth Intl Logic Prog Conf, June 1989,
	pp. 149-164].

HCPRVR

	"HCPRVR: An Interpreter for Logic Programs", D. Chester in
	Proc First Natl Conf on AI, Stanford, 1980.

HCS

	{Heterogeneous Computer System}

	A {distributed system} project.

	[Where?  When?  What?]

	(1995-02-01)

HD

	{high density}

HD6309

	{Hitachi 6309}

HDA

	{Head Disk Assembly}

HDC

	{Disk Controller}

HDD

	{hard disk drive}

HDF

	{Hierarchical Data Format}

HDFL

	A {single assignment} language.

	["Methods for Handling Structures in Data-Flow Systems",
	J.L. Gaudiot, Proc 12th Intl Symp Comp Arch, June 1985].

HDL

	{Hardware Description Language}

HDLC

	{High-level Data Link Control}

HDM

	{Hierarchical Design Methodology}

HDMI

	{High-Definition Multimedia Interface}

HDSL

	{High bit-rate Digital Subscriber Line}

HDTV

	{High Definition Television}

hdx

	{half-duplex}

Head Disk Assembly

	<hardware, storage> (HDA) A sealed, high capacity {mainframe}
	{hard disk} with integral heads, as opposed to a {removable
	disk}.

	(1999-01-13)

header

	1. The portion of a {packet}, preceding the actual data,
	containing source and destination addresses, error checking
	and other fields.

	2. The part of an {electronic mail} message or {news} article
	that precedes the body of a message and contains, among other
	things, the sender's name and e-mail address and the date and
	time the message was sent.

Head Normal Form

	<theory, reduction> (HNF) A term describing a {lambda
	expression} whose top level is either a variable, a data
	value, a built-in function applied to too few arguments, or a
	{lambda abstraction} whose body is not reducible.  I.e. the
	top level is neither a {redex} nor a lambda abstraction with a
	reducible body.

	An expression in HNF may contain redexes in argument postions
	whereas a {normal form} may not.

	Compare {Weak Head Normal Form}.

	(2003-01-08)

head normalisation theorem

	Under the typed lambda-calculus, beta/delta reduction of the
	left-most redex (normal order reduction) is guaranteed to
	terminate with a head normal form if one exists.  See also
	Church-Rosser theorem.

heads down

	[Sun] Concentrating, usually so heavily and for so long that
	everything outside the focus area is missed.  See also {hack
	mode} and {larval stage}, although this mode is hardly
	confined to fledgling hackers.

	[{Jargon File}]

head-strict

	<theory> A head-strict function will not necessarily evaluate
	every {cons} cell of its (list) argument, but whenever it does
	evaluate a cons cell it will also evaluate the element in the
	head of that cell.  An example of a head-strict function is

		beforeZero :: [Int] -> [Int]
		beforeZero []     = []
		beforeZero (0:xs) = []
		beforeZero (x:xs) = x : beforeZero xs

	which returns a list up to the first zero.

	This pattern of evaluation is important because it is common
	in functions which operate on a list of inputs.

	See also {tail-strict}, {hyperstrict}.

	(1995-05-11)

heap

	1. <programming> An area of memory used for {dynamic memory
	allocation} where blocks of memory are allocated and freed in
	an arbitrary order and the pattern of allocation and size of
	blocks is not known until {run time}.  Typically, a program
	has one heap which it may use for several different purposes.

	Heap is required by languages in which functions can return
	arbitrary data structures or functions with {free variables}
	(see {closure}).  In {C} functions {malloc} and {free} provide
	access to the heap.

	Contrast {stack}.  See also {dangling pointer}.

	2. <programming> A data structure with its elements partially
	ordered (sorted) such that finding either the minimum or the
	maximum (but not both) of the elements is computationally
	inexpensive (independent of the number of elements), while
	both adding a new item and finding each subsequent
	smallest/largest element can be done in O(log n) time, where n
	is the number of elements.

	Formally, a heap is a {binary tree} with a key in each {node},
	such that all the {leaves} of the tree are on two adjacent
	levels; all leaves on the lowest level occur to the left and
	all levels, except possibly the lowest, are filled; and the
	key in the {root} is at least as large as the keys in its
	children (if any), and the left and right subtrees (if they
	exist) are again heaps.

	Note that the last condition assumes that the goal is finding
	the minimum quickly.

	Heaps are often implemented as one-dimensional {arrays}.
	Still assuming that the goal is finding the minimum quickly
	the {invariant} is

	   heap[i] <= heap[2*i] and heap[i] <= heap[2*i+1] for all i,

	where heap[i] denotes the i-th element, heap[1] being the
	first.  Heaps can be used to implement {priority queues} or in
	{sort} algorithms.

	(1996-02-26)

heartbeat

	1. <networking> The signal emitted by a Level 2 Ethernet
	transceiver at the end of every {packet} to show that the
	collision-detection circuit is still connected.

	2. A periodic synchronisation signal used by software or
	hardware, such as a {bus} clock or a periodic {interrupt}.

	3. The "natural" oscillation frequency of a computer's clock
	crystal, before frequency division down to the machine's clock
	rate.

	4. A signal emitted at regular intervals by software to
	demonstrate that it is still alive.  Sometimes hardware is
	designed to reboot the machine if it stops hearing a
	heartbeat.  See also {breath-of-life packet}, {watchdog}.

	[{Jargon File}]

	(1996-03-12)

heatseeker

	<person, jargon> (IBM) A customer who can be relied upon to
	buy, without fail, the latest version of an existing product
	(not quite the same as a member of the {lunatic fringe}).  A
	1993 example of a heatseeker is someone who, owning a 286 PC
	and Windows 3.0, goes out and buys {Windows 3.1} (which offers
	no worthwhile benefits unless you have a 386).  If all
	customers were heatseekers, vast amounts of money could be
	made by just fixing the bugs in each release (n) and selling
	it to them as release (n+1).

	[{Jargon File}]

	(1996-03-12)

heat sink

	<hardware> /heet sink/ (from "sink", electronics jargon for
	something which takes in current) A piece of thermally
	conductive metal attached to a {semiconductor} or other
	electronic device and designed to prevent it from overheating
	by conducting heat away from it and radiating it to the
	environment.  Heat sinks often have fins to increase their
	surface area.  They occasionally have fans attached.  Heat
	sink compound can be smeared between the device and the heat
	sink to improve thermal conduction.

	(1997-06-10)

heat slug

	<hardware, processor> A metal plate that helps dissipate heat
	away from the {silicon} {core} of a {processor} to the
	packaging or {heat-sink}.

	(2000-08-26)

heavy metal

	{big iron}

heavyweight

	High-overhead; {baroque}; code-intensive; featureful, but
	costly.  Especially used of communication protocols, language
	designs, and any sort of implementation in which maximum
	generality and/or ease of implementation has been pushed at
	the expense of mundane considerations such as speed, memory
	use and startup time.  {Emacs} is a heavyweight editor; {X} is
	an *extremely* heavyweight window system.  This term isn't
	pejorative, but one hacker's heavyweight is another's
	{elephantine} and a third's monstrosity.

	Opposite: "lightweight".  Usage: now borders on technical
	especially in the compound "heavyweight process".

	(1994-12-22)

heavy wizardry

	Code or designs that trade on a particularly intimate
	knowledge or experience of a particular operating system or
	language or complex application interface.  Distinguished from
	{deep magic}, which trades more on arcane *theoretical*
	knowledge.  Writing device drivers is heavy wizardry; so is
	interfacing to {X} (sense 2) without a toolkit.  Especially
	found in source-code comments of the form "Heavy wizardry
	begins here".

	Compare {voodoo programming}.

	[{Jargon File}]

Hebbian learning

	<artificial intelligence> The most common way to train a
	{neural network}; a kind of {unsupervised learning}; named
	after canadian neuropsychologist, Donald O. Hebb.

	The {algorithm} is based on Hebb's Postulate, which states
	that where one cell's firing repeatedly contributes to the
	firing of another cell, the magnitude of this contribution
	will tend to increase gradually with time.  This means that
	what may start as little more than a coincidental relationship
	between the firing of two nearby neurons becomes strongly
	causal.

	Despite limitations with Hebbian learning, e.g., the inability
	to learn certain patterns, variations such as {Signal Hebbian
	Learning} and {Differential Hebbian Learning} are still used.

	{(http://neuron-ai.tuke.sk/NCS/VOL1/P3_html/node14.html)}.

	(2003-11-07)

heisenbug

	<jargon> /hi:'zen-buhg/ (From Heisenberg's Uncertainty
	Principle in quantum physics) A bug that disappears or alters
	its behaviour when one attempts to probe or isolate it.  (This
	usage is not even particularly fanciful; the use of a debugger
	sometimes alters a program's operating environment enough that
	buggy code, such as that which relies on the values of
	uninitialised memory, behaves quite differently.)

	In {C}, nine out of ten heisenbugs result from uninitialised
	{auto variables}, {fandango on core} phenomena (especially
	corruption of the malloc {arena}) or errors that {smash the
	stack}.

	Opposite: {Bohr bug}.  See also {mandelbug}, {schroedinbug}.

	[{Jargon File}]

	(1995-02-28)

Helen Keller mode

	1. State of a hardware or software system that is deaf, dumb,
	and blind, i.e. accepting no input and generating no output,
	usually due to an infinite loop or some other excursion into
	{deep space}.  (Unfair to the real Helen Keller, whose success
	at learning speech was triumphant.)  See also {go flatline},
	{catatonic}.

	2. On {IBM PCs} under {MS-DOS}, refers to a specific failure
	mode in which a screen saver has kicked in over an
	{ill-behaved} application which bypasses the very interrupts
	the screen saver watches for activity.  Your choices are to
	try to get from the program's current state through a
	successful save-and-exit without being able to see what you're
	doing, or to {re-boot} the machine.  This isn't (strictly
	speaking) a crash.

	[{Jargon File}]

Helix

	A {hardware description language} from {Silvar-Lisco}.

hello

	{hello, world}

hello packet

	<networking, communications> An {OSPF} {packet} sent
	periodically on each {network interface}, real or {virtual},
	to discover and test connections to neighbours.  Hello packets
	are multicast on physical networks capable of {multicasting}
	or {broadcasting} to enable dynamic {router} discovery.  They
	include the parameters that routers connected to a common
	network must agree on.

	Hello packets increase network resilience by, e.g., allowing a
	router to establish a secondary connection when a primary
	connection fails.

	(1999-11-02)

hello, sailor!

	<jargon> Occasional West Coast equivalent of {hello, world};
	seems to have originated at SAIL, later associated with the
	game {Zork} (which also included "hello, aviator" and "hello,
	implementor").  Originally from the traditional hooker's
	greeting to a swabbie fresh off the boat, of course.

	[{Jargon File}]

	(2007-10-30)

hello, world

	<programming> The canonical, minimal, first program that a
	programmer writes in a new {programming language} or {development
	environment}.  The program just prints "hello, world" to {standard
	output} in order to verify that the programmer can successfully
	edit, compile and run a simple program before embarking on
	anything more challenging.

	Hello, world is the first example program in the {C} programming
	book, {K&R}, and the tradition has spread from there to pretty
	much every other language and many of their textbooks.

	Environments that generate an unreasonably large executable
	for this trivial test or which require a {hairy}
	compiler-linker invocation to generate it are considered bad.

	{Hello, World in over 400 programming languages
	(http://www.roesler-ac.de/wolfram/hello.htm)}.

	(2013-10-27)

HELP

	1. <language, robotics> {DEA}.  A Language for industrial
	robots.

	2. (Help Est un Lisp Paresseux - Help Is a Lazy Lisp).  A
	{lazy} version of {Scheme} with strictness {annotations}, by
	Thomas Schiex <schiex@europe.cert.fr>.

Helvetica

	<text> One of the most widely used {sans-serif} {typefaces},
	developed in 1957 by Swiss typeface designer Max Miedinger with
	Eduard Hoffmann.  Originally called Neue Haas Grotesk, it was
	renamed Helvetica for the international market.  Helvetica is very
	similar to the common {Arial} typeface.  The name is Latin for
	Swiss.

	{Linotype (http://www.linotype.com/526/helvetica-family.html)}.

	(2013-09-19)

henry

	<unit> (H) The {SI} unit of inductance: one henry is the
	inductance of a closed loop in which the induced voltage is
	one volt if the current flowing through it changes by one
	ampere each second, i.e., 1 H = 1 Vs/A.  Named after the
	American physicist Joseph Henry (1797-1878).

	(1997-03-16)

HENSA

	{Higher Education National Software Archive}

HEP

	High Energy (Particle) Physics.

HEPDB

	A {database management system} for {HEP}.

HEPiX

	A recently formed collaboration among various HEP institutes
	aiming at providing "compatible" versions of the Unix
	operating system at their sites.

HEPnet

	An association concerned with networking requirements for high
	energy physicists.

HEPVM

	A collaboration among various HEP institutes to implement
	"compatible" versions of IBM's VM-CMS operating system at
	their sites.

HEQS

	E. Derman.  Constraint language for financial modelling.  Uses
	an extension of the equation solver in IDEAL.  "A Simple
	Equation Solver and Its Application to Financial Modeling",
	E. Derman et al, Soft Prac & Exp 14(12):1169-1181 (Dec 1984).

HERA

	An electron-proton collider at DESY, W. Germany.

HERAKLIT

	<language> A distributed {object-oriented} language.

	["Definition einer objektorientierten Programmiersprache mit
	hierarchischem Typkonzept", B. Hindel, diss U
	Erlangen-Nuernberg, Dec 1987].

	(1995-03-16)

here document

	<operating system> Data included in a {Unix} {shell script} or
	{Perl} script using the "<<" syntax.

	(1995-04-19)

Herman Hollerith

	<person> The promulgator of the {punched card}.  Hollerith was
	born on 1860-02-29 and died on 1929-11-17.  He graduated from
	Columbia University, NewYork, NY, USA.  He joined the US
	Census Bureau as a statistician where he used a punched card
	device to help analyse the 1880 US census data.  This punched
	card system stored data in 80 columns.  This "80-column"
	concept has carried forward in various forms into modern
	applications.

	In 1896, Hollerith founded the {Tabulating Machine Company} to
	exploit his invention and in 1924 his firm became part of
	{IBM}.  The Hollerith system was used for the 1911 UK census.

	A correspondant writes:

	Wasn't Hollerith's original machine first used for the 1990 US
	census?  And I think I am right in saying that the physical
	layout was a 20x12 grid of round holes.  The one I have seen
	(picture only, unfortunately, not the real thing) did not use
	'columns' as such but holes were grouped into
	irregularly-shaped fields, such that each hole had a
	more-or-less independent function.

	(2001-08-30)

Hermes

	<language> An experimental, very high level, integrated
	language and system from the {IBM} {Watson Research Centre},
	produced in June 1990.  It is designed for implementation of
	large systems and distributed applications, as well as for
	general-purpose programming.  It is an {imperative language},
	{strongly typed} and is a {process-oriented} successor to
	{NIL}.

	Hermes hides distribution and heterogeneity from the
	programmer.  The programmer sees a single {abstract machine}
	containing processes that communicate using calls or sends.
	The {compiler}, not the programmer, deals with the complexity
	of data structure layout, local and remote communication, and
	interaction with the {operating system}.  As a result, Hermes
	programs are portable and easy to write.  Because the
	programming paradigm is simple and high level, there are many
	opportunities for optimisation which are not present in
	languages which give the programmer more direct control over
	the machine.

	Hermes features {threads}, {relational tables}Hermes is,
	{typestate} checking, {capability}-based access and {dynamic
	configuration}.

	Version 0.8alpha patchlevel 01 runs on {RS/6000}, {Sun-4},
	{NeXT}, {IBM-RT}/{BSD4.3} and includes a {bytecode compiler},
	a bytecode->C compiler and {run-time support}.

	{0.7alpha for Unix
	(ftp://software.watson.ibm.com/pub/hermes)}.

	E-mail: <hermes-request@watson.ibm.com>, Andy Lowry
	<lowry@watson.ibm.com>.

	{Usenet} newsgroup: {news:comp.lang.hermes}.

	["Hermes: A Language for Distributed Computing".  Strom,
	Bacon, Goldberg, Lowry, Yellin, Yemini.  Prentice-Hall,
	Englewood Cliffs, NJ.  1991.  ISBN: O-13-389537-8].

	(1992-03-22)

Hesiod

	<project> The {name server} of the {Athena} project.

	[Details?]

	(1997-10-27)

heterogeneous

	Composed of unrelated parts, different in kind.

	Often used in the context of {distributed systems} that may be
	running different {operating systems} or network {protocols}
	(a {heterogeneous network}).

	For examples see: {interoperable database}, {middleware}.

	Constrast {homogeneous}.

	(1999-05-06)

heterogeneous network

	<networking> A {network} running multiple {network layer}
	{protocols} such as {DECnet}, {IP}, {IPX}, {XNS}.

	(1997-10-27)

heterogenous

	<spelling> It's spelled {heterogeneous}.

	(1999-06-10)

heuristic

	1. <programming> A rule of thumb, simplification, or educated
	guess that reduces or limits the search for solutions in
	domains that are difficult and poorly understood.  Unlike
	{algorithms}, heuristics do not guarantee optimal, or even
	{feasible}, solutions and are often used with no theoretical
	guarantee.

	2. <algorithm> {approximation algorithm}.

	(2001-04-12)

heuristics testing

	{failure-directed testing}

Hewlett-Packard

	(HP) Hewlett-Packard designs, manufactures and services
	electronic products and systems for measurement, computation
	and communications.  The company's products and services are
	used in industry, business, engineering, science, medicine and
	education in approximately 110 countries.

	HP was founded in 1939 and employs 96600 people, 58900 in the
	USA.  They have manufacturing and R&D establishments in 54
	cities in 16 countries and approximately 600 sales and service
	offices in 110 countries.  Their revenue (in 1992/1993?) was
	$20.3 billion.  The Chief Executive Officer is Lewis E. Platt.
	HP's stock is traded on the New York Stock Exchange and the
	Pacific, Tokyo, London, Frankfurt, Zurich and Paris exchanges.

	Quarterly sales $6053M, profits $347M (Aug 1994).

	{(http://hp.com/home.html)}.

	(1994-09-26)

Hewlett-Packard Graphics Language

	<graphics, language> (HP-GL) A {vector graphics} language used
	by {HP} plotters.

	[Details?  On-line spec?]

	(1994-10-27)

Hewlett-Packard Interface Bus

	{IEEE 488}

Hewlett Packard Multi Processing Executive

	<operating system> (HP-MPE) The standard {operating system} on
	all {HP3000} {minicomputers}, in the same way that HP9000
	computers run {HP-UX}.

	Latest version: MPE/IX Version 5.5.04, as of 1998-02-17.

	(1998-02-17)

Hewlett Packard Precision Architecture

	(HP-PA) {Hewlett Packard}'s range of RISC processors.

	[Details?]

	(1995-02-22)

Hewlett-Packard Visual Engineering Environment

	(HP VEE) A package similar in intention to {LabVIEW}, running
	on {Unix} {workstations} under {OSF}/{Motif}.

	(1997-05-12)

hex

	1. {hexadecimal}.

	2. A 6-pack of anything (compare {quad}).  Neither usage has
	anything to do with {magic} or {black art}, though the pun is
	appreciated and occasionally used by hackers.  True story: As
	a joke, some hackers once offered some surplus ICs for sale to
	be worn as protective amulets against hostile magic.  The
	chips were, of course, hex inverters.

	3. <character> The {hash} character, used to introduce
	{hexadecimal} constants in some {assembly languages}.

	[{Jargon File}]

	(1995-03-06)

hexadecimal

	<mathematics> (Or "hex") {Base} 16.  A number representation
	using the digits 0-9, with their usual meaning, plus the
	letters A-F (or a-f) to represent hexadecimal digits with
	values of (decimal) 10 to 15.  The right-most digit counts
	ones, the next counts multiples of 16, then 16^2 = 256, etc.

	For example, hexadecimal BEAD is decimal 48813:

		digit    weight        value
		B = 11   16^3 = 4096   11*4096 = 45056
		E = 14   16^2 =  256   14* 256 =  3584
		A = 10   16^1 =   16   10*  16 =   160
		D = 13   16^0 =    1   13*   1 =    13
						 -----
					BEAD   = 48813

	There are many conventions for distinguishing hexadecimal
	numbers from decimal or other bases in programs.  In {C} for
	example, the prefix "0x" is used, e.g. 0x694A11.

	Hexadecimal is more succinct than {binary} for representing
	{bit-masks}, machines addresses, and other low-level constants
	but it is still reasonably easy to split a hex number into
	different bit positions, e.g. the top 16 bits of a 32-bit word
	are the first four hex digits.

	The term was coined in the early 1960s to replace earlier
	"sexadecimal", which was too racy and amusing for stuffy
	{IBM}, and later adopted by the rest of the industry.

	Actually, neither term is etymologically pure.  If we take
	"binary" to be paradigmatic, the most etymologically correct
	term for base ten, for example, is "denary", which comes from
	"deni" (ten at a time, ten each), a Latin "distributive"
	number; the corresponding term for base sixteen would be
	something like "sendenary".  "Decimal" is from an ordinal
	number; the corresponding prefix for six would imply something
	like "sextidecimal".  The "sexa-" prefix is Latin but
	incorrect in this context, and "hexa-" is Greek.  The word
	{octal} is similarly incorrect; a correct form would be
	"octaval" (to go with decimal), or "octonary" (to go with
	binary).  If anyone ever implements a base three computer,
	computer scientists will be faced with the unprecedented
	dilemma of a choice between two *correct* forms; both
	"ternary" and "trinary" have a claim to this throne.

	[{Jargon File}]

	(1996-03-09)

hexidecimal

	<spelling> Mis-spelling of "{hexadecimal}".

	(1998-03-03)

hexit

	<jargon> /hek'sit/ A {hexadecimal} digit (0-9, and A-F or
	a-f).  Used by people who claim that there are only *ten*
	digits, sixteen-fingered human beings being rather rare,
	despite what some keyboard designs might seem to imply (see
	{space-cadet keyboard}).

	[{Jargon File}]

	(1996-03-09)

HFC

	1. <networking> {Hybrid Fiber Coax}.

	2. <hardware> {hydrofluorocarbon}.

	(1999-11-02)

HHCP

	{Host Host Copy}

HHOJ

	<chat> ha ha only joking.

	Contrast {ha ha only serious}.

	(1998-01-18)

HHOK

	ha ha only kidding.  See {ha ha only serious}.

	[{Jargon File}]

HHOS

	{ha ha only serious}

hi

	{hmake interactive}

HIBOL

	<language> A variant of {DIBOL}, used in {Infotec} computers.
	HIBOL was considered to be a very high level language and
	significantly easier to maintain than {COBOL}.  It uses a
	single type of data object, called a flow, which is an indexed
	stream of data values.  Computation is expressed as operations
	acting on flows.

	{Language List
	(http://people.ku.edu/~nkinners/LangList/Langs/H/HIBOL.htm)}.

	{Translation of COBOL to HIBOL
	(http://dl.acm.org/citation.cfm?id=889862)}.

	["HIBOL: a language for fast prototyping in data processing
	environments", Roland T. Mittermeir, Technische Universitaet
	Wien, Vienna, Austria, Proceedings of the workshop on Rapid
	Prototyping, ACM New York, NY, USA 1982, ISBN:0-89791-094-X,
	{(http://dl.acm.org/citation.cfm?id=1006282)}].

	[R. T. Mittermeir, "HIBOL - A very High Level Business
	Oriented Language, User Manual", TR DA 81/04/04, Institut fuer
	Angewandte Informatik und Systemanalyse, Technische
	Universitaet Wien, Wien, 1981].

	(2012-01-08)

HID

	{Human Interface Device}

hidden flag

	(scientific computation) An extra option added to a routine
	without changing the calling sequence.  For example, instead
	of adding an explicit input variable to instruct a routine to
	give extra diagnostic output, the programmer might just add a
	test for some otherwise meaningless feature of the existing
	inputs, such as a negative mass.  The use of hidden flags can
	make a program very hard to debug and understand, but is all
	too common wherever programs are hacked in a hurry.

	[{Jargon File}]

	(1994-11-24)

hierarchical database

	<database> A kind of {database management system} that links
	records together like a family tree such that each record type
	has only one owner, e.g. an order is owned by only one
	customer.  Hierarchical structures were widely used in the
	first {mainframe} database management systems.  However, due
	to their restrictions, they often cannot be used to relate
	structures that exist in the real world.

Hierarchical Data Format

	<file format, data> (HDF) A {library} and multi-object file
	format for the transfer of graphical and numerical data
	between computeres.  The freely available HDF distribution
	consists of the library, command line utilities, test suite
	source, {Java} interface, and the Java-based HDF Viewer (JHV).

	HDF supports several different {data models}, including
	multidimensional {arrays}, {raster images}, and tables.  Each
	defines a specific aggregate data type and provides an {API}
	for reading, writing, and organising the data and {metadata}.
	New data models can be added by the HDF developers or users.

	HDF is self-describing, allowing an application to interpret
	the structure and contents of a file without any outside
	information.

	One HDF file can hold a mixture of related objects which can
	be accessed as a group or as individual objects.  Users can
	create their own grouping structures called "vgroups".

	HDF files can be shared across most common {platforms},
	including many workstations and high performance computers.
	An HDF file created on one computer can be read on a different
	system without modification.

	{(http://hdf.ncsa.uiuc.edu/)}.

	(2001-07-02)

Hierarchical Design Methodology

	<programming> (HDM) A method for specifying {software} and
	systems using hierarchies of {abstract machines}, developed by
	Larry Robinson at SRI International circa 1975-1976.  The
	specifications were written in {SPECIAL}.

	(2012-07-08)

hierarchical file system

	<file system> A {file system} in which the {files} are
	organised into a {hierarchy}.  The nodes of the hierarchy are
	called {directories} while the leaves are the files
	themselves.

	See also {root directory}.  Compare {flat file system}.

	(1996-11-21)

Hierarchical Music Specification Language

	<language, music> (HMSL) A programming language for
	experimental music composition and performance.  It is a set
	of {object-oriented} extensions to {Forth}.  (Its near-total
	unintelligibility to people unfamiliar with {Forth} has led
	some to expand "HMSL" as "Her Majesty's Secret Language".)

	Phil Burk (who also later developed {pForth}), Larry Polansky,
	and David Rosenboom started developing HMSL in 1980 while
	working at the {Mills College Center for Contemporary Music
	(http://mills.edu/LIFE/CCM/CCM.homepage.html)}.  As of
	June 1998, development is ongoing.

	{(http://softsynth.com/hmsl/)}.

	(1998-09-07)

hierarchical navigation

	<web> On a {web page}, any type of menu whose
	hierarchical structure matches that of the site to which the
	page belongs.  A hierarchical navigation menu allows the user
	to jump ("navigate") directly to a section of the site several
	levels below the top.  The menu may present only a fixed
	number of levels rather than the whole structure.

	(2003-10-01)

Hierarchical Object Oriented Design

	<programming> (HOOD) An architectural design method, primarily
	for {Ada}, leading to automated checking, {documentation} and
	{source code} generation.

	(2009-01-14)

hierarchical routing

	The complex problem of routing on large networks can be
	simplified by breaking a network into a hierarchy of smaller
	networks, where each level is responsible for its own routing.
	The Internet has, basically, three levels: the backbones, the
	mid-levels, and the stub networks.  The backbones know how to
	route between the mid-levels, the mid-levels know how to route
	between the sites, and each site (being an autonomous system)
	knows how to route internally.  See also Exterior Gateway
	Protocol, Interior Gateway Protocol, transit network.

hierarchy

	An organisation with few things, or one thing, at the top and
	with several things below each other thing.  An inverted tree
	structure.  Examples in computing include a directory
	hierarchy where each directory may contain files or other
	directories; a hierarchical {network} (see {hierarchical
	routing}), a {class hierarchy} in {object-oriented
	programming}.

	(1994-10-11)

Higgs Bugson

	<humour> A hypothetical {bug} predicted to exist based on a
	small number of possibly related event log entries and vague
	anecdotal user reports.  The Higgs Bugson is difficult to
	reproduce because you don't really know if it's there, and if
	it is there what is causing it.  To find one you will need a
	Large Hadron Debugger.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-08-31)

high bit

	(Or "high-order bit") The most significant {bit} in a {byte}.

	See also {meta bit}, {hobbit}, {dread high bit disease}.

	[{Jargon File}]

	(2012-08-31)

High bit-rate Digital Subscriber Line

	<communications, protocol> (HDSL) A form of {Digital
	Subscriber Line}, providing {T1} or {E1} connections over two
	or three {twisted-pair} copper lines, respectively.  Unlike
	most other forms of DSL HDSL is not a typical consumer
	service, it's used mostly to replace traditional T1/E1
	connections, such as connecting {PBXes} to {telco} offices.
	The advantage of HDSL over the {Alternate Mark Inversion} line
	coding scheme traditionally used on T1/E1 lines is that it
	requires about an order of magnitude lower bandwidth to carry
	the same traffic.

	(1998-05-18)

high colour

	<hardware> A {colour depth} of 16 (or 15) {bits per pixel}.

	Compare {true colour}.

	(1999-08-01)

High-Definition Multimedia Interface

	<video, standard> (HDMI) an industry standard for connecting
	digital audio and video devices via a single cable.  HDMI can
	connect any audio/video source, such as a {set-top box}, {DVD
	player}, or {A/V receiver} to an audio and/or video output
	device such as a digital television (DTV).

	HDMI supports standard, enhanced, or high-definition video,
	plus multi-channel digital audio.  It transmits all {ATSC}
	HDTV standards and supports 8-channel, 192kHz, uncompressed
	digital audio and all currently-available compressed formats
	(such as {Dolby Digital} and {DTS}), HDMI 1.3 adds additional
	support for new lossless digital audio formats {Dolby TrueHD}
	and {DTS-HD Master Audio} with {bandwidth} to spare to
	accommodate future enhancements.  HDMI 1.4 incorporates
	connection via {Ethernet}.

	HDMI was created by {Hitachi}, {Panasonic Corporation},
	{Philips}, {Sony}, {Thomson} (RCA), {Toshiba} and {Silicon
	Image} and has the support of several major motion picture
	producers and distributors.

	Latest version: 1.4 (2009-06-08), as of 2009-06-29.

	{hdmi.org (http://hdmi.org/)}.

	(2009-06-29)

high density

	{floppy disk}

Higher Education National Software Archive

	(HENSA)

	{(http://hensa.ac.uk/)}.

	(1995-01-06)

higher-order function

	(HOF) A function that can take one or more functions as
	argument and/or return a function as its value.  E.g. map in
	(map f l) which returns the list of results of applying
	function f to each of the elements of list l.  See also
	{curried function}.

higher-order macro

	A means of expressing certain {higher-order functions} in a
	first order language.  Proposed by Phil Wadler.  Higher-order
	macros cannot be recursive at the top level but they may
	contain recursive definitions.  E.g.

		map f l = m l
			  where
			  m []	   = []
			  m (x:xs) = f x : m xs

	Expanding a call to this macro is equivalent to specialising a
	call to map in its first argument.

	See {partial evaluation}.

High-level Data Link Control

	<networking> (HDLC) A general-purpose {data link} control
	{protocol} defined by {ISO} for use on both point-to-point and
	{multipoint} (multidrop) data links.  It supports
	{full-duplex}, {transparent-mode} operation.  It is used
	extensively in both multipoint and computer networks.

	Some manufacturers and other standards bodies still use their
	own acronyms, e.g. {IBM}'s SDLC ({Synchronous Data Link
	Control}), the forerunner of HDLC and {ANSI}'s ADCCP
	({Advanced Data Communications Control Procedure}).

	[Fred Halsall, "Data Communications, Computer Networks and
	Open Systems" 4th edition, 1996, p.237, Addison-Wesley
	Publishing Co. Reading, Mass., USA].

	(1997-11-09)

high-level language

	(HLL) A programming language which provides some level of
	abstraction above {assembly language}.  These normally use
	statements consisting of English-like keywords such as "FOR",
	"PRINT" or "GOTO", where each statement corresponds to several
	{machine language} instructions.  It is much easier to program
	in a high-level language than in {assembly language} though
	the efficiency of execution depends on how good the {compiler}
	or {interpreter} is at optimising the program.

	Rarely, the variants "{VHLL}" and "{MLL}" are found.

	See also {languages of choice}, {generation}.

	(1994-12-07)

high memory area

	<storage> (HMA) The first 64 {kilobytes} (minus 16 byte) of
	the {extended memory} on an {IBM PC}.  By a strange design
	glitch the {Intel 80x86} processors can actually address 17*64
	kbyte minus 16 byte of memory (from 0000:0000 to ffff:ffff) in
	real mode.  In the {Intel 8086} and {Intel 8088} processors,
	unable to handle more than 1 {megabyte} of memory, addressing
	wrapped around, that is, address ffff:0010 was equivalent to
	0000:0000.  For compatibility reasons, later processors still
	wrapped around by default, but this feature could be switched
	off.  Special programs called {A20 handlers} can control the
	addressing mode dynamically, thereby allowing programs to load
	themselves into the 1024--1088 kbyte region and run in {real
	mode}.  From version 5.0 parts of {MS-DOS} can be loaded into
	HMA as well freeing up to 46 kbytes of {conventional memory}.

	(1995-01-10)

high moby

	/hi:' mohb'ee/ The high half of a 512K {PDP-10}'s physical
	address space; the other half was of course the low moby.
	This usage has been generalised in a way that has outlasted
	the {PDP-10}; for example, at the 1990 Washington D.C.  Area
	Science Fiction Conclave (Disclave), when a miscommunication
	resulted in two separate wakes being held in commemoration of
	the shutdown of MIT's last {ITS} machines, the one on the
	upper floor was dubbed the "high moby" and the other the "low
	moby".  All parties involved {grok}ked this instantly.  See
	{moby}.

	[{Jargon File}]

High Performance Computing and Communications

	(HPCC) High performance computing includes scientific
	workstations, supercomputer systems, high speed networks,
	special purpose and experimental systems, the new generation
	of large scale parallel systems, and application and systems
	software with all components well integrated and linked over a
	high speed network.

	["Grand Challenges 1993: High Performance Computing and
	Communications", Committee on Physical, Mathematical and
	Engineering Sciences of the Federal Coordinating Council for
	Science, Engineering and Technology.]

High Performance File System

	<file system> (HPFS) The {native} {file system} for {IBM}'s
	{OS/2}.

	(1995-03-06)

High Performance Fortran

	<language> (HPF) A {data parallel} language extension to
	{Fortran 90} which provides a portable programming interface
	for a wide variety of target {platforms}.  The original HPF
	language specification was produced by the High Performance
	Fortran Forum, a broad consortium of industry and academia,
	which met regularly throughout 1992 and early 1993.  HPF
	{compilers} are now available on most commonly-used computing
	systems, and users are beginning to gain first hand experience
	with this language.  The Forum has continued to meet in order
	to address advanced topics.

	{HPF+ at Vienna (http://par.univie.ac.at/hpf+/)}.

	["High Performance Fortran: Status Report", G.L. Steele Jr
	<gls@think.com>, SIGPLAN Notices 28(1):1-4 (Jan 1993)].

	(1996-09-09)

High Performance Parallel Interface

	<hardware, standard> (HIPPI, previously HPPI) A
	{connection-oriented}, point-to-point networking {standard}
	using {circuit-switching} technology at a speed of 800 Mbits/s
	or 1.6 Gbits/s (simplex or full-duplex).  HIPPI is often used
	for short distances (up to 10km depending on cable type) to
	connect a {supercomputer} to {routers}, {frame buffers},
	{mass-storage} peripherals and other computers.

	HIPPI was developed at {Los Alamos National Laboratory} and is
	now {ANSI} standard X3T9/88-127.  Standards for
	interconnecting with {ATM}, {SONet}, and {fibre channel} are
	in development.

	{HIPPI Networking Forum (http://esscom.com/hnf)}.

	(1997-06-29)

High Performance Routing

	<networking> (HPR) Routing designed to work in conjunction
	with {APPN} {Intermediate Session Routing} (ISR) network
	nodes.  HPR nodes perform many of the same functions as ISR
	nodes.  For example, HPR nodes use the same method of
	calculating routes based on the {Topology} Routing Service
	database and {class of service} tables.  HPR nodes also
	supports such APPN features as connection networks and support
	for parallel {transmission groups} (TGs).  In the HPR
	architecture, both partner nodes must support HPR for {RTP}
	connections to take place between the nodes.  If one node
	supports HPR and the partner node does not, then the link will
	support ISR functionality only.

	["APPN Architecture and Product Implementations Tutorial",
	IBM, GG24-3669-92].

	(1997-05-08)

High Performance Serial Bus

	<hardware, standard> (Or "{IEEE} 1394") A 1995 {Macintosh}/{IBM
	PC} {serial bus} interface {standard} offering {isochronous}
	{real-time} data transfer.

	1394 can transfer data between a computer and its {peripherals} at
	100, 200, or 400 {Mbps}, with a planed increase to 2 {Gbps}.
	Cable length is limited to 4.5 m but up to 16 cables can be
	daisy-chained yielding a total length of 72 m.

	It can {daisy-chain} together up to 63 peripherals in a tree-like
	structure (as opposed to {SCSI}'s linear structure).  It allows
	peer-to-peer communication, e.g. between a {scanner} and a
	{printer}, without using system memory or the {CPU}.  It is
	designed to support {plug-and-play} and {hot swapping}.

	Its six-wire cable is not only more convenient than SCSI cables
	but can supply up to 60 watts of power, allowing low-consumption
	devices to operate without a separate power cord.

	Some expensive camcorders included this bus from 1995.  It is
	expected to be used to carry {SCSI}, with possible application to
	{home automation} using {repeaters}.

	{Sony} calls it {I-Link}, most people call it "FireWire".

	See also {Universal Serial Bus}, {FC-AL}.

	(2014-09-06)

High Speed Circuit Switched Data

	<communications> (HSCSD) A planned feature of {GSM Phase 2}
	defining a standard for {circuit switched} data transmission
	over a {GSM} link at up to 57.6 (78.8?) {kbps}.  This is
	achieved by concatenating up to four consecutive GSM
	{timeslots}, each of which is capable of 14.4 kbit/s.  It uses
	{multiplexing} and {compression} or filtering.

	The following services toward the fixed network are
	supported: {V.34} up to 28.8 kbps and {V.110} with rate
	adaptation up to 38.4 kbps.

	HSCSD is aimed at {mobile workstation} users.  As it is
	circuit switched, it is suited to {streaming} applications
	such as {video conferencing} and {multimedia}.  {Bursty}
	applications like {electronic mail}, are more suited to
	{packet switched} data (as in {GPRS}).

	{Ericsson
	(http://ericsson.com/wireless/products/mobsys/gsm/subpages/wise/subpages/hscsd.shtml)}.

	{(http://gsmworld.com/)}.

	(1999-12-04)

High Speed Connect

	<hardware> (HSC) A {Hewlett-Packard} bus like {EISA}.

	[HP9000 Configuration Guide, January 1996].

	[Details?]

	(1996-06-06)

High-speed Net Connect

	<hardware, communications> (HNC) A network interface unit for
	{BS2000} {mainframes} based on {Novell NetWare}, supporting
	{Ethernet} and {FDDI}.

	(2005-02-11)

high speed serial interface

	<hardware, communications> (HSSI) A {serial port} which
	supports serial transmit speeds of up to 52 megabits per
	second.  It is typically used for leased lines such as {DS3}
	(44.736 Mbps) and {E3} (34 Mbps) and for {Wide Area Network}
	devices such as {routers}.

	(1995-11-20)

High Voltage Differential

	<hardware> (HVD) {Differential SCSI} scheme that has been in
	use for years.  The {terminators} run on 5 Volts DC.

	See also {LVD}.

	(1999-02-16)

HIGZ

	High Level Interface to Graphics and Zebra.  Part of the {PAW}
	system.

hill climbing

	<algorithm> A {graph} search {algorithm} where the current
	path is extended with a successor node which is closer to the
	solution than the end of the current path.

	In simple hill climbing, the first closer node is chosen
	whereas in steepest ascent hill climbing all successors are
	compared and the closest to the solution is chosen.  Both
	forms fail if there is no closer node.  This may happen if
	there are local maxima in the {search space} which are not
	solutions.  Steepest ascent hill climbing is similar to {best
	first search} but the latter tries all possible extensions of
	the current path in order whereas steepest ascent only tries
	one.

	(1995-12-09)

HiLog

	A {higher-order logic} programming language.  An extension of
	normal {logic programming} where {predicate} symbols may be
	variable or structured.  This allows {unification} to be
	performed on the predicate symbols themselves in addition to
	their arguments.

	{(ftp://sbcs.sunysb.edu/SB-hilog)}.

	["HiLog as a Platform for Database Languages (Or Why Predicate
	Calculus is Not Enough)", W. Chen et al, Stony Brook, 2nd Intl
	Workshop on Database Prog Langs, Morgan Kaufmann, 1989].

	(1994-12-07)

HIMEM

	<software, storage> An {IBM PC} {extended memory manager},
	part of {MS-DOS} version 5.00 or higher.  HIMEM can also act
	as an {A20 handler}.

	(1996-01-10)

Hindenbug

	<humour> A catastrophic, data-destroying {bug}, after the 1937
	Hindenburg airship disaster.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-10-20)

hing

	({IRC}) Fortuitous typo for "hint", now in wide intentional
	use among players of {initgame}.

	Compare {newsfroup}, {filk}.

	[{Jargon File}]

	(1994-12-07)

HINT

	Hierarchical Information NeTs.

	A language for the {CDC 3600}.

	["HINT: A Graph Processing Language", R.D. Hart, Michigan
	State U, Apr 1970].

	(1994-12-07)

HiPAC

	An active DBMS from Xerox Advanced Information Technology.

HIPPI

	{High Performance Parallel Interface}

hiragana

	<Japanese> The cursive formed Japanese {kana} syllabary.
	Hiragana is mostly used for grammatical particles,
	verb-inflection, and Japanese words which are not written in
	{kanji} or which are too difficult for an educated person to
	read or write in {kanji}.  Hiragana are also used for
	{furigana}.

	(2001-03-18)

hirsute

	Occasionally used as a humorous synonym for {hairy}.

	[{Jargon File}]

HISTORIAN

	A {source code management} system sold by {OPCODE, Inc.}

history

	1. <history> {Virginia Tech history of computing
	(http://ei.cs.vt.edu/~history/index.html)}.  {IT Rentals computing
	timeline (http://www.itrentals.com/historyofcomputing/)}.

	2. <operating system> A record of previous user inputs (e.g. to a
	{command interpreter}) which can be re-entered without re-typing
	them.  The major improvement of the {C shell} (csh) over the
	{Bourne shell} (sh) was the addition of a command history.  This
	was still inferior to the history mechanism on {VMS} which allowed
	you to recall previous commands as the current input line.  You
	could then edit the command using cursor motion, insert and
	delete.  These sort of history editing facilities are available
	under {tcsh} and {GNU Emacs}.

	3. The history of the world was once discussed in {Usenet}
	newsgroups {news:soc.history} and {news:alt.history}.

	(2013-08-04)

hit

	1. <architecture> {cache hit}.

	2. <web> A request to a {web server} from a {web
	browser} or other {client} (e.g. a {robot}).

	The number of hits on a server may be important for
	determining advertising revenue.

	In the course of loading a single {web page}, a browser may
	hit a web server many times e.g. to retrieve the page itself
	and each {image} on the page.  In contrast, caching by
	browsers and {web proxies} reduces the number of hits on the
	server because some requests are satisfied from the cache.

	3. <jargon> To press and release a key on the keyboard.  Some
	prefer the less aggressive "tap".

	(2000-02-20)

Hitachi 6309

	<processor> (HD6309) {Hitachi}'s version of the {Motorola
	6809} {microprocessor}.  Compatible with the 6809, it added
	two new eight-bit {registers} that could be added to form a
	second 16-bit register, and all four eight-bit registers could
	form a 32-bit register.  It also featured division, and some
	32-bit arithmetic and was generally 30% faster in native mode.
	This information, surprisingly, was never published by
	Hitachi.

	{Technical reference
	(http://sandelman.ottawa.on.ca/People/Alan_DeKok/interests/6309.techref)}.

	(1997-03-21)

Hitachi HD64180

	<processor> A processor family which adds peripherals and an
	{MMU} to the {Zilog Z80}.

	(1995-10-06)

HITL

	{Human Interface Technology Laboratory}

hit rate

	<architecture> The fraction of all memory reads which are
	satisfied from the {cache}.

	(1997-01-21)

hk

	<networking> The {country code} for Hong Kong.

	(1999-01-27)

HL7

	<protocol> An information exchange {protocol} used in
	medicine, and possibly elsewhere.  It is different from
	{DICOM}.

	[Details?]

	(1998-12-23)

HLISP

	"Monocopy and Associative Algorithms in an Extended Lisp",
	E. Goto, U Tokyo May 1974.

HLL

	{high-level language}

HLLAPI

	{High Level Language Application Programming Interface}

hlp

	<filename extension> A {Microsoft Windows} {filename
	extension} for {hypertext} {WinHelp} files.  These are in a
	{proprietary} format, and are compiled from {source files}
	written in a dialect of {RTF}.

	See also {gid}.

	{Usenet} newsgroup:
	{news:comp.os.ms-windows.programmer.winhelp}.

	(1997-01-30)

hm

	<networking> The {country code} for the Heard and McDonald
	Islands.

	(1999-01-27)

HMA

	{High Memory Area}

HMAC

	{Keyed-Hashing Message Authentication}

hmake

	<programming> A {compilation manager} for {Haskell}.  hmake
	recompiles a given module or program by extracting
	dependencies between {source} modules and issuing appropriate
	compiler commands to rebuild only changed modules.  hmake can
	use whatever Haskell compilers and preprocessors you have
	installed.

	If an .hi interface file is unchanged then changes in the
	corresponding implementation code will not trigger
	recompilation of calling code.

	{hmake interactive} is an interactive development environment
	built on hmake.

	Malcolm Wallace of the {York Functional Programming Group}
	developed hmake in 2005 based on Thomas Hallgren's hbcmake and
	nhc13make.

	{hmake home (http://www.cs.york.ac.uk/fp/hmake/hmake.html)}.

	(2009-11-24)

HMP

	{hybrid multiprocessing}

HMSL

	{Hierarchical Music Specification Language}

HMTL

	<spelling> Do you mean {HTML}?

	(1998-06-30)

hn

	<networking> The {country code} for Honduras.

	(1999-01-27)

HNC

	{High-speed Net Connect}

HO

	{handover}

Hoare powerdomain

	{powerdomain}

Hobbit

	A {Scheme} to {C} compiler by Tanel Tammet
	<tammet@cs.chalmers.se>.  Hobbit attempts to retain most of
	the original Scheme program structure, making the output C
	program readable and modifiable.  Hobbit is written in Scheme
	and is able to self-compile.  Hobbit release 1 works together
	with the {scm} release scm4b3.  Future releases of scm and
	hobbit will be coordinated.

	Latest version: release 2.

	{(ftp://altdorf.ai.mit.edu/archive/scm/hobbit2.tar.Z)}.

	(1993-04-25)

	2. The non-{ITS} name of <vad@ai.mit.edu> (*Hobbit*), master of
	lasers.

hobbit

	High order bit.  The most significant bit (of a byte).  Also
	known as the {meta bit} or {high bit}.

	[{Jargon File}]

hog

	<jargon> A term used to describe programs, hardware or people that
	use more than their share of a system's resources, especially
	those which noticeably degrade interactive response.

	The term is usually qualified, e.g. "memory hog", "core hog", "hog
	the processor", "hog the disk".  E.g. "A {controller} that never
	gives up the {I/O bus} gets killed after the bus-hog timer
	expires."

	User also hog resources, particularly disk, where it seems that
	10% of the people use 90% of the disk, no matter how big the disk
	is or how many people use it.  Once a disk hog fills up one file
	system, he typically finds a new one to consume, claiming to the
	sysadmin that they have an important new project to complete.

	(2014-08-16)

HOL

	Higher Order Logic.  A proof-generating system for {higher
	order logic} based on {LCF}.  Implementations include {HOL-88}
	and {HOL-90}.

	{(ftp://ted.cs.uidaho.edu/pub/hol)}.  Mailing list:
	info-hol@ted.cs.uidaho.edu.

	["HOL: A Machine Oriented Formulation of Higher Order Logic",
	M.J.C. Gordon, Report 68, Comp Lab U Cambridge (1985)].

	["Introduction to HOL", M.J.C. Gordon et al, Cambridge U Press
	1993 ISBN 0-521-441897].

HOL-88

	An implementation of {HOL} built on {ML} by Mike Gordon
	<mjcg@cl.cam.ac.uk>.

HOL-90

	An implementation of {HOL} built on {SML/NJ} by Brian Graham
	<graham@cpsc.ucalgary.ca>.  Runs on {Sun-4}.

	{(ftp://fsa.cpsc.ucalgary.ca/pub/hol90.tar.Z)}.  Mailing list:
	info-hol@clover.ucdavis.edu.

hole

	<electronics> The absence of an {electron} in a
	{semiconductor} material.  In the {electron model}, a hole can
	be thought of as an incomplete outer electron shell in a
	doping substance.  Holes can also be thought of as positive
	charge carriers; while this is in a sense a fiction, it is a
	useful abstraction.

	(1995-10-06)

hole model

	<electronics> A {model} of semiconductor behaviour in which
	{donors} contribute a positive charge equal in magnitude to
	the charge of an {electron}, and {acceptors} contribute space
	for such a charge within the crystal lattice.  Honored by
	history well before electrons were discovered and described,
	much of {electronics}, especially at the engineering level,
	continues to consider {current} as flowing from positive to
	negative.

	(1995-10-05)

Hollerithabetical order

	<algorithm> Sorted into the order a standard {Hollerith} {card
	sorting machine} produces, with special characters interleaved
	within the alphabet.

	(1997-02-11)

Hollerith, Herman

	{Herman Hollerith}

Hollywired

	{Siliwood}

HOL-UNITY

	A verification tool for {UNITY}?  Version 2.1.

	E-mail: Flemming Andersen <fa@tfl.dk>?

holy wars

	[{Usenet}, but may predate it] {flame wars} over {religious
	issues}.  The paper by Danny Cohen that popularised the terms
	{big-endian} and {little-endian} was entitled "On Holy Wars
	and a Plea for Peace".  Other perennial Holy Wars have
	included {Emacs} vs. {vi}, my personal computer vs. everyone
	else's personal computer, {ITS} vs. {Unix}, {Unix} vs. {VMS},
	{BSD} Unix vs. {USG Unix}, {C} vs. {Pascal}, {C} vs. Fortran,
	etc., ad nauseam.  The characteristic that distinguishes holy
	wars from normal technical disputes is that in a holy wars
	most of the participants spend their time trying to pass off
	personal value choices and cultural attachments as objective
	technical evaluations.  See also {theology}.

	[{Jargon File}]

home

	1. <file system> {home directory}.

	2. <web> {home page}.

	3. <hardware> {home keys}.

home box

	<jargon, computer> A {hacker}'s personal machine, especially
	one he or she owns.  "Yeah?  Well, *my* home box runs a full
	{4.2BSD}, so there!"

	(2006-12-01)

home keys

	<hardware> The eight keys on a typewriter or computer keyboard
	on which a touch-typist positions their eight finger tips when
	starting to type or when resting between words or phrases.
	Typists learn the position of all keys on the keyboard in
	relation to the home keys.

	On a standard english keyboard layout, the home keys are ASDF
	for the left hand and JKL; for the right.  Most keyboards have
	small raised bumps on the left and right index finger keys (F
	and J) so you can find the home keys by touch without looking.

	(2006-12-01)

home machine

	1. Synonym {home box}.

	2. The machine that receives your e-mail.  These senses might
	be distinct, for example, for a hacker who owns one computer
	at home, but reads e-mail at work.

	[{Jargon File}]

	(2006-12-01)

home page

	<web> 1. The top-level entry point {web page}
	relating to an individual or institution, or possibly a
	subject area.  This often has a {URL} consisting of just a
	{hostname}, e.g. http://ncsa.uiuc.edu/.  All other pages
	on a {website} are usually accessible by following {links}
	from the home page.

	2. The {web page} a user's {web browser} is configured to load
	each time it is started.  This will typically default to the
	{home page} (sense 1) of the organisation that produced or
	distributed the browser.

	(1999-03-21)

Home Phoneline Networking Alliance

	<communications, networking, protocol, standard> (HomePNA) A
	non-profit association of more than 100 technology companies
	working together to ensure adoption of a phone line
	{networking} standard which should provide high-speed,
	affordable home networking.

	The Home Phoneline Networking Alliance (HomePNA) was founded
	in June 1998 by {3Com}, {AMD}, {AT&T Wireless Services},
	{Compaq}, Conexant, Epigram, {Hewlett-Packard}, {IBM},
	{Intel}, {Lucent Technologies}, Rockwell Semiconductor
	Systems, and Tut Systems.  The membership now spans the
	networking, telecommunications, {hardware}, {software}, and
	consumer electronics industries.

	The alliance was originally formed because of the increasing
	demand for home networking caused by the growing number of
	homes with multiple PCs (and other devices) to connect
	together to provide facilities such as shared {Internet}
	access, {networked gaming}, and sharing of {peripherals},
	{files} and {applications}.

	The member companies aimed to develop {open standards} to
	ensure compatibility between different manufacturers'
	products.  They also decided that this should be done using
	the phone wiring that already existed in people's homes.  The
	concept of "no new wires" networking meant installation was
	simpler.

	HomePNA's original specifications could be used to create a 1
	{Mbps} (megabits per second) {Ethernet}-compatible {LAN} with
	no {hubs}, {routers}, {splitters} or {terminations}.  Adapters
	would allow any computer (or other device) with an Ethernet
	port to be linked to the home network.  Up to 25 PCs,
	peripherals and network devices can be connected to such a
	network.

	On 1999-12-01, the HomePNA announced a new release of its
	networking technology specification, called Home PNA 2.0.
	Like the first specification, it uses existing phone lines,
	but it can operate at speeds up to 10 Mbps.  The new version
	is {backwardly compatible} with the original 1 Mbps HomePNA
	technology, and is designed to provide faster networks
	suitable for future voice, video and data applications.

	{HomePNA.org (http://homepna.org/)}.  {HomePNA.Com
	(http://HomePNA.com/)}.

	(2000-03-24)

HomePNA

	{Home Phoneline Networking Alliance}

home row keys

	{home keys}

homogeneous

	(Or "homogenous") Of uniform nature, similar in kind.

	1. In the context of {distributed systems}, {middleware} makes
	{heterogeneous} systems appear as a homogeneous entity.  For
	example see: {interoperable network}.

	Constrast {heterogeneous}.

	2. <mathematics> (Of a {polynomial}) containing terms of the
	same degree with respect to all the variables, as in x^2 + 2xy
	+ y^2.

	3. <mathematics> (Of a {function}) containing a set of
	variables such that when each is multiplied by a constant,
	this constant can be eliminated without altering the value of
	the function, as in cos x/y + x/y.

	4. <mathematics> (of an equation) containing a homogeneous
	function made equal to 0.

	(1999-05-06)

homogenous

	{homogeneous}

homomorphism

	<mathematics> A {map} f between groups A and B is a
	homomorphism of A into B if

	 f(a1 * a2) = f(a1) * f(a2)  for all a1, a2 in A.

	where the *s are the respective group operations.

	(2009-01-14)

Honeywell

	<company> A US company known for its {mainframes} and
	{operating systems}.

	The company's history is long and tortuous, with many mergers,
	acquisitions and name changes.  A company formed on 1886-04-23
	to make furnace regulators eventually merged in 1927 with
	another company formed in 1904 by a young plumbing and heating
	engineer named Mark Honeywell who was perfecting the heat
	generator.

	A 1955 joint venture with {Raytheon Corp.}, called {Datamatic
	Corporation}, marked Honeywell's entry into the computer
	business.  Their first computer was the {D-1000}.  In 1960
	Honeywell bought out Raytheon's interest and the name changed
	to {Electronic Data Processing} (EDP) then in 1963 it was
	officially renamed Honeywell Inc.

	In 1970 Honeywell merged its computer business with {General
	Electric}'s to form Honeywell Information Systems.  In 1986 a
	joint venture with the french company {Bull} and japanese {NEC
	Corporation} created Honeywell Bull.  By 1991 Honeywell had
	withdrawn from the computer business, focussing more on
	aeropspace.

	{CII Honeywell} was an important department.  Honeywell
	operating systems included {GCOS} and {Multics}.

	See also: {brain-damaged}.

	{History
	(http://www51.honeywell.com/honeywell/about-us/our-history.html)}.

	(2009-01-14)

Honeywell-800 Business Compiler

	{Fully Automated Compiling Technique}

HOOD

	{Hierarchical Object Oriented Design}

HOOK

	? Object Oriented Kernel.  Delphia.  An object-oriented
	extension of Delphia Prolog.

	[{Jargon File}]

hook

	<programming> A {software} or {hardware} feature included in
	order to simplify later additions or changes by a user.

	For example, a simple program that prints numbers might always
	print them in base 10, but a more flexible version would let a
	variable determine what base to use; setting the variable to 5
	would make the program print numbers in base 5.  The variable
	is a simple hook.  An even more flexible program might examine
	the variable and treat a value of 16 or less as the base to
	use, but treat any other number as the address of a
	user-supplied routine for printing a number.  This is a
	{hairy} but powerful hook; one can then write a routine to
	print numbers as Roman numerals, say, or as Hebrew characters,
	and plug it into the program through the hook.

	Often the difference between a good program and a superb one
	is that the latter has useful hooks in judiciously chosen
	places.  Both may do the original job about equally well, but
	the one with the hooks is much more flexible for future
	expansion of capabilities.

	{Emacs}, for example, is *all* hooks.

	The term "user exit" is synonymous but much more formal and
	less hackish.

	(1997-06-25)

hop

	1. <messaging> One point-to-point transmission in a series
	required to get a message from point A to point B on a {store
	and forward} network.  On such networks (including {UUCPNET}
	and {FidoNet}), an important inter-machine metric is the hop
	count of the shortest path between them.  This can be more
	significant than their geographical separation.

	Each {exclamation mark} in a {bang path} represents one hop.

	2. <networking> One direct host-to-host connection forming
	part of the route between two hosts in a {routed} {network}
	such as the {Internet}.  Some {protocols} place an upper limit
	on the hop count in order to detect routing loops.

	3. <jargon, networking> To {log in} to a {remote} computer,
	especially via {rlogin} or {telnet}.  "I'll hop over to foovax
	to FTP that."

	[{Jargon File}]

	(1997-06-25)

Hope

	<language> A {functional programming} language designed by
	R.M. Burstall, D.B. MacQueen and D.T. Sanella at {University
	of Edinburgh} in 1978.  It is a large language supporting
	user-defined {prefix}, {infix} or {distfix} operators.  Hope
	has {polymorphic} typing and allows {overloading} of operators
	which requires explicit type declarations.  Hope has {lazy
	lists} and was the first language to use {call-by-pattern}.

	It has been ported to {Unix}, {Macintosh}, and {IBM PC}.

	See also {Hope+}, {Hope+C}, {Massey Hope}, {Concurrent Massey
	Hope}.

	{(ftp://brolga.cc.uq.oz.au/pub/hope)}.

	[R.M.Burstall, D.B.MacQueen, D.T.Sanella, "HOPE: An
	experimental applicative language", Proc. 1980 Lisp conf.,
	Stanford, CA, p.136-143, Aug 1980].

	["A HOPE Tutorial", R. Bailey, BYTE Aug 1985, pp.235-258].

	["Functional Programming with Hope", R. Bailey, Ellis Horwood
	1990].

	(1992-11-27)

Hope+

	<language, functional programming> An extension of {Hope}
	implemented in the Alvey {Flagship} project at {Imperial
	College}.  Hope+ has vectors, real numbers, best fit {pattern
	matching}, lazy data constructors, absolute {set abstractions}
	and {constraints}.  It has a {continuation}-based I/O system
	with {referential transparency} and is capable of handling all
	common I/O tasks such as terminal and file I/O, {signal}
	handling and interprocess communications.  It has {modules}
	and {separate compilation}.

	See also {Hope+C}, {Massey Hope}, {Concurrent Massey Hope}.

	["Hope+", N. Perry, Imperial College, IC/FPR/LANG/2.5.1/7,
	1988.]

	(1999-08-24)

Hope+C

	<language> A further evolution of {Hope+} with
	{continuation-based I/O}, {coroutines}, and {RFCs}.  Hope+C
	was developed as part of the {Flagship} project at {Imperial
	College}.  It has been implemented for {Sun-3s} with
	{Motorola} {FPUs}.

	See also {Massey Hope}, {Concurrent Massey Hope}.

	E-mail: John Darlington <jd@doc.ic.ac.uk>.

	[What kind of RFCs?]

	(1999-06-23)

Hopfield model

	{Hopfield network}

Hopfield network

	<artificial intelligence> (Or "Hopfield model") A kind of
	{neural network} investigated by John Hopfield in the early
	1980s.  The Hopfield network has no special input or output
	neurons (see {McCulloch-Pitts}), but all are both input and
	output, and all are connected to all others in both directions
	(with equal weights in the two directions).  Input is applied
	simultaneously to all neurons which then output to each other
	and the process continues until a stable state is reached,
	which represents the network output.

	(1997-10-11)

horizontal application

	An {application program} common to different business
	processes, e.g. {office automation}.

	Compare {vertical application}.

	(1994-12-12)

horizontal encoding

	<processor> An {instruction set} where each field (a bit or
	group of bits) in an instruction word controls some
	{functional unit} or {gate} directly, as opposed to {vertical
	encoding} where instruction fields are decoded (by
	{hard-wired} {logic} or {microcode}) to produce the control
	signals.  Horizontal encoding allows all possible combinations
	of control signals (and therefore operations) to be expressed
	as instructions whereas vertical encoding uses a shorter
	instruction word but can only encode those combinations of
	operations built into the decoding logic.

	An {instruction set} may use a mixture of horizontal and
	vertical encoding within each instruction.  Because an
	architecture using horizontal encoding typically requires more
	instruction word bits it is sometimes known as a {very long
	instruction word} (VLIW) architecture.

	(1995-04-23)

horizontal loop combination

	{tupling}

horizontal microcode

	<processor> {Microcode} using {horizontal encoding}.

	(1995-04-23)

horizontal scan rate

	<hardware> (HSR) The measure of how many {scan lines} of
	{pixels} a {monitor} can display in one second, expressed in
	kHz (generally somewhere between 20 and 100 kHz).

	The HSR is controlled by the horizontal sync signal generated
	by the {video controller}, but is limited by the speed with
	which the monitor can scan the electron beam horizontally
	across the screen and then return it to the beginning of the
	next line.

	(1996-02-09)

horizontal tabulation

	<character> (tab, Control-I, HT, {ASCII 9}) A character which
	when displayed or printed causes the following character to be
	placed at the next "tabstop" - the column whose number is a
	multiple of the current tab width.  Commonly (especially in
	Unix(?)) the tab width is eight, so, counting from the left
	margin (column zero), the tab stops are at columns 8, 16, 24,
	up to the width of the screen or page.

	A tab width of four or two is often preferred when indenting
	program {source code} to conserve indentation.

	Represented as "\t" in {C}, {Unix}, and derivatives.

	(1999-07-05)

Horn clause

	<logic> A set of {atomic literals} with at most one {positive
	literal}.  Usually written

		L <- L1, ..., Ln
	or
		<- L1, ..., Ln

	where n>=0, "<-" means "is implied by" and comma stands for
	{conjuction} ("AND").  If L is false the clause is regarded as
	a {goal}.  Horn clauses can express a subset of statements of
	{first order logic}.

	The name "Horn Clause" comes from the logician Alfred Horn,
	who first pointed out the significance of such clauses in
	1951, in the article "On sentences which are true of direct
	unions of algebras", Journal of Symbolic Logic, 16, 14-21.

	A {definite clause} is a Horn clause that has exactly one
	positive literal.

	(2000-01-24)

hose

	1. To make non-functional or greatly degraded in performance.
	"That big ray-tracing program really hoses the system."  See
	{hosed}.

	2. A narrow channel through which data flows under pressure.
	Generally denotes data paths that represent performance
	bottlenecks.

	3. Cabling, especially {thick Ethernet cable}.  This is
	sometimes called "bit hose" or "hosery" (a play on "hosiery")
	or "etherhose".  See also {washing machine}.

	[{Jargon File}]

hosed

	<jargon> A somewhat humorous variant of "{down}", used
	primarily by {Unix} {hackers}.  "Hosed" implies a condition
	thought to be relatively easy to reverse.  It is also widely
	used of people in the mainstream sense of "in an extremely
	unfortunate situation".  The term was popularised by fighter
	pilots refering to being hosed by machine gun fire (date?).
	Usage in hackerdom dates back to {CMU} in the 1970s or
	earlier.

	{"Acronyms and Abbreviations" from UCC, Ireland
	(http://ucc.ie/cgi-bin/acronym)} expands it as "Hardware
	Or Software Error Detected", though this is probably a
	back-formation.

	The {Jargon File} version 4.1.4 1999-06-17 says that it was
	probably derived from the Canadian slang "hoser" (meaning "a
	man, esp. one who works at a job that uses physical rather
	than mental skills and whose habits are slightly offensive but
	amusing").

	One correspondant speculates about an allusion to a hose-like
	body part.

	Once upon a time, a {Cray} that had been experiencing periodic
	difficulties crashed, and it was announced to have been hosed.
	It was discovered that the crash was due to the disconnection
	of some coolant hoses.  The problem was corrected, and users
	were then assured that everything was OK because the system
	had been rehosed.  See also {dehose}.

	See also: {hose}.

	(1999-10-28)

HOS-STPL

	Hospital Operating System - STructured Programming Language.
	A {Fortran}-like language with structured extensions.

	["HOS-STPL User Manual", Health Services Research, US Public
	Health Service (Jan 1975)].

host

	1. <networking> A computer connected to a {network}.

	The term {node} includes devices such as routers and printers
	which would not normally be called "hosts".

	2. <communications> A computer to which one connects using a
	{terminal emulator}.

	(1995-02-16)

host adaptor

	{SCSI adaptor}

Host Command Facility

	<operating system> (HCF) Used to access {IBM S/36} and
	{AS/400} computers from a {mainframe}.

	[What is it?]

	(1999-01-24)

Host Control Interface

	<hardware, wireless> (HCI) A {network layer} in the {Bluetooth}
	{Core Protocol Stack}, lying between the {software} and the
	{hardware} stacks and serving as the {interface} through which the
	{software} controls two of {Bluetooth}'s four core {protocols}.

	(2002-06-28)

host-host layer

	{transport layer}

hosting

	{web hosting}

hostname

	1. (Or "sitename").  The unique name by which a computer is
	known on a {network}, used to identify it in {electronic
	mail}, {Usenet} {news}, or other forms of electronic
	information interchange.

	On the {Internet} the hostname is an {ASCII} string,
	e.g. "foldoc.doc.ic.ac.uk" which, consists of a local part
	(foldoc) and a {domain} name (doc.ic.ac.uk).  The hostname is
	translated into an {Internet address} either via the {hosts
	file}, {NIS} or by the {Domain Name System} (DNS) or
	{resolver}.  It is possible for one computer to have several
	hostnames (aliases) though one is designated as its
	{canonical} name.

	It is often possible to guess a hostname for a particular
	institution.  This is useful if you want to know if they
	operate network services like {anonymous FTP}, {World-Wide
	Web} or {finger}.  First try the institution's name or obvious
	abbreviations thereof, with the appropriate {domain} appended,
	e.g. "mit.edu".  If this fails, prepend "ftp." or "www." as
	appropriate, e.g. "www.data-io.com".  You can use the {ping}
	command as a quick way to test whether a hostname is valid.

	The folklore interest of hostnames stems from the creativity
	and humour they often display.  Interpreting a sitename is not
	unlike interpreting a vanity licence plate; one has to
	mentally unpack it, allowing for mono-case and length
	restrictions and the lack of whitespace.  Hacker tradition
	deprecates dull, institutional-sounding names in favour of
	punchy, humorous, and clever coinages (except that it is
	considered appropriate for the official public gateway machine
	of an organisation to bear the organisation's name or
	acronym).  Mythological references, cartoon characters, animal
	names, and allusions to SF or fantasy literature are probably
	the most popular sources for sitenames (in roughly descending
	order).  The obligatory comment is Harris's Lament: "All the
	good ones are taken!"

	See also {network address}.

	2. {Berkeley} {Unix} command to set and get the application
	level name used by the host.

	{Unix manual page}: hostname(1).

	(1995-02-16)

host number

	<networking> The host part of an {Internet address}.  The rest
	is the {network number}.

	(1994-10-27)

hosts file

	<networking> A {text file} on a networked computer used to
	associate {host names} with {IP addresses}.  A hosts file
	contains lines consisting of {whitespace}-separated fields
	giving an IP address followed by list of host names or
	{aliases} associated with that address.  The {name resolution}
	library software can use this file to look up the IP address
	for a host name.  The hosts file is "/etc/hosts" on {Unix} and
	"C:\Windows\System32\drivers\etc\hosts" or "lmhosts" on
	{Microsoft Windows},

	In most cases, hosts files have now been almost entirely
	replaced by {DNS}, in which distributed servers provide the
	same information.  A hosts file can still be used to override
	DNS for testing purposes or other special situations.

	(2007-05-09)

Hot Fix

	<storage> {Novell, Inc.}'s term for the feature of their
	network {file server} {operating system}, {Novell NetWare},
	which handles errors in disk write operations.  The OS
	re-reads every block it writes to disk while it holds the data
	to be written in memory.  In the case of an error, the data
	block is written to a spare area on the disk.

	The feature lost much of its importance with the widespread
	use of hard disk drives with built-in {error correction} and
	{bad block} re-mapping.

	(1997-05-27)

HotJava

	<web> A modular, extensible {web}
	{browser} from {Sun Microsystems} that can execute programs
	written in the {Java} programming language.  These programs,
	known as "{applets}", can be included (like images) in {HTML}
	pages.  Because Java programs are compiled into machine
	independent {bytecodes}, applets can run on any {platform} on
	which HotJava runs - currently (December 1995)
	{SPARC}/{Solaris} 2 and {Intel 80x86}/{Windows 95}, {Windows
	NT}.

	{(http://java.sun.com/hotjava.html)}.

	(1995-12-10)

Hotline

	1. <company> {Hotline Communications Ltd.}.

	2. <messaging> {Hotline Connect}.

	(1999-12-07)

Hotline Communications Ltd.

	<company> The company that developes and distributes {Hotline
	Connect}.

	{(http://BigRedH.com/index2.html)}.

	(1999-12-07)

Hotline Connect

	<messaging> A suite of communication products developed by
	{Hotline Communications Ltd.}  Hotline Connect is a
	{real-time}, {multi-platform Internet}/{Intranet}
	communication suite, that operates independent of the
	{web}.  It provides easy-to-use private and public
	{virtual community} building and live interaction with
	real-time {chat}, conferencing, {messaging}, {data
	warehousing}, {file transfer}, and viewing.

	Version: 1.7.2, as of 1999-12-07.

	(1999-12-07)

hotlink

	A mechanism for sharing data between two {application
	programs} where changes to the data made by one application
	appear instantly in the other's copy.

	Under {System 7} on the {Macintosh} the users establishes a
	hotlink by doing a "Create Publisher" on the server and
	"Subscribe" on the client.

	Under {Windows 3} it's "Cut Special"(?) and "Paste Special"
	(as opposed to the normal Cut and Paste).

	(1995-02-16)

hotlist

	<web> (From {hypertext} "{hot spot}") A {document}
	on the {web} or a user's {browser} configuration
	file containing {hypertext} {links}, often unorganised and
	undocumented, to notable pages on the Web.

	Compare the 19th century notion of a {commonplace book
	(http://c.gp.cs.cmu.edu:5103/prog/webster?commonplace+book)}.

	(1995-04-16)

Hotmail

	<messaging> A {web mail} service bought by {Microsoft}.

	{(http://hotmail.com/)}.

	(2006-10-30)

hot spot

	1. (primarily used by {C}/{Unix} programmers, but spreading)
	It is received wisdom that in most programs, less than 10% of
	the code eats 90% of the execution time; if one were to graph
	instruction visits versus code addresses, one would typically
	see a few huge spikes amidst a lot of low-level noise.  Such
	spikes are called "hot spots" and are good candidates for
	heavy optimisation or {hand-hacking}.  The term is especially
	used of tight loops and recursions in the code's central
	algorithm, as opposed to (say) initial set-up costs or large
	but infrequent I/O operations.

	See {tune}, {bum}, {hand-hacking}.

	2. The active location of a cursor on a bit-map display.  "Put
	the mouse's hot spot on the "ON" widget and click the left
	button."

	3. A screen region that is sensitive to mouse clicks, which
	trigger some action.  {Hypertext} help screens are an example,
	in which a hot spot exists in the vicinity of any word for
	which additional material is available.

	4. In a {massively parallel} computer with {shared memory},
	the one location that all 10,000 processors are trying to read
	or write at once (perhaps because they are all doing a
	{busy-wait} on the same lock).

	5. More generally, any place in a hardware design that turns
	into a performance {bottleneck} due to resource contention.

	6. {wireless hotspot}.

	[{Jargon File}]

	(1995-02-16)

Hot Standby Routing Protocol

	<protocol> (HSRP) A {CISCO} standard, defined in {RFC 2281},
	that calls for a {mirrored router} in {passive mode} to send
	{hello packets}, wait for a {lead router} to die and, without
	dropping a {packet}, take over from that router.

	Note: "standby", not "swappable" (and certainly not
	"swapable").

	(2005-01-26)

Hot Swapable Routing Protocol

	<spelling> Incorrect spelling of incorrect expansion of HSRP -
	{Hot Standby Routing Protocol}.

	(2005-01-26)

Hot Swappable Routing Protocol

	<spelling> Incorrect expansion of HSRP - {Hot Standby Routing
	Protocol}.

	(2005-01-26)

hot swapping

	<hardware> The connection and disconnection of {peripherals}
	or other components without interrupting system operation.
	This facility may have design implications for both hardware
	and software.

	[More detail?]

	(1997-03-15)

HOTT

	(Hot Off The Tree) An {Internet}-based electronic magazine
	edited by David Scott Lewis <d.s.lewis@ieee.org> and
	distributed by {electronic mail}.

	(1994-12-23)

house wizard

	(Probably from ad-agency tradetalk, "house freak") A hacker
	occupying a technical-specialist, R&D, or systems position at
	a commercial shop.  A really effective house wizard can have
	influence out of all proportion to his/her ostensible rank and
	still not have to wear a suit.  Used especially of {Unix}
	{wizards}.  The term "house guru" is equivalent.

	[{Jargon File}]

	(1995-02-16)

Houston Automatic Spooling Program

	<operating system> (HASP) A program developed by {IBM} for
	{NASA} in the 1960s to {SPOOL} output on {OS/MFT} and {OS/MVT}
	to improve job processing performance.

	(2003-05-19)

Howe, Denis

	{Denis Howe}

how many nibbles in a byte

	<data> There are two {nibbles} in a {byte}.

	(2009-09-17)

HP

	{Hewlett-Packard}

hp2ps

	<tool> An {HP-GL} {interpreter} written in {PostScript} by
	Alun Jones.  hp2ps runs on the printer itself.  Version 1.9c.

	(1999-11-23)

H/PC

	{Hand-held Personal Computer}

HPCC

	{High Performance Computing and Communications}

HPcode

	Stack-based intermediate language used by {HP} in many of its
	compilers for {RISC} and stack-based architectures.  Supports
	{Fortran}, {Ada}, {Pascal}, {COBOL} and {C++}.  Descended from
	Stanford's {U-code}.

HPCode-Plus

	A descendant of {HPcode} with {data types}, developed to be an
	{ANDF} language.

	["ANDF: Finally an UNCOL After 30 Years", M.E. Benitez, Jack
	Davidson <jwd@virginia.edu> et al, CS TR-91-05 U Virginia (Mar
	1991)].

	(1995-03-16)

HPF

	{High Performance Fortran}

HPFS

	{High Performance File System}

HP-GL

	{Hewlett-Packard Graphics Language}

HP-GL/2

	"HP-GL/2 Programmer's Guide", No. 5959-9733, HP.  (See PCL.)

HP-IB

	{IEEE 488}

HPL

	Language used in HP9825A/S/T "Desktop Calculators", 1978(?)
	and ported to the early Series 200 family (9826 and 9836,
	68000).  Fairly simple and standard, but with extensive I/O
	support for data acquisition and control (BCD, Serial, 16 bit
	custom and {IEEE 488} interfaces), including interrupt
	handling.  Currently owned by Structured Software Systems.
	"HPL Operating Manual for Series 200, Models 216, 226 and
	235\6", HP 98614-90010, Jan 1984.

HPLOT

	A graphical output facility for {HBOOK}.

	(1995-02-22)

HP-MPE

	{Hewlett Packard Multi Processing Executive}

HP-PA

	{Hewlett Packard Precision Architecture}

HPPI

	{High Performance Parallel Interface}

HPR

	{High Performance Routing}

HP-SUX

	<abuse, operating system> /H-P suhks/ An unflattering
	hackerism for {HP-UX} which features some truly unique
	bogosities in the {file system} internals and elsewhere (these
	occasionally create portability problems).  HP-UX is often
	referred to as "hockey-pux" inside HP, and one respondent
	claims that the proper pronunciation is /H-P ukkkhhhh/ as
	though one were about to spit.  Another such alternate
	spelling and pronunciation is "H-PUX" /H-puhks/.  Hackers at
	HP/Apollo (the former Apollo Computers which was swallowed by
	HP in 1989) have been heard to complain that Mr. Packard
	should have pushed to have his name first, if for no other
	reason than the greater eloquence of the resulting acronym.

	Compare {AIDX}, {buglix}, {Telerat}, {Open DeathTrap},
	{ScumOS}, {sun-stools}.

	[{Jargon File}]

	(1997-05-12)

HP-UX

	<operating system> The version of {Unix} running on
	{Hewlett-Packard} {workstations}.

	HP-UX conforms to {X/Open}'s Portability Guide Issue 4
	({XPG4}), Federal Information Processing Specification (FIPS)
	151.1, {POSIX} 1003.1, POSIX 1003.2, {AT&T}'s System V
	Interface Definition 2 ({SVID} 2).  HP-UX incorporates
	selected features from the University of California at
	Berkeley Software Distribution 4.3 ({4.3BSD}).

	It is known by some as "{HP-SUX}".

	[Features?]

	(1997-05-12)

HP VEE

	{Hewlett-Packard Visual Engineering Environment}

hqx

	{binhex}

hr

	<networking> The {country code} for Croatia.

	(1999-01-27)

href

	<web> ({hypertext} reference) The attribute of an
	{HTML} "a" (anchor or link) tag, whose value gives the {URL}
	of the {web page} or other resource that the link points to.
	For example,

	 <a href="http://foldoc.org/">FOLDOC href definition</a>

	would display an anchor pointing to this dictionary.

	(2008-02-22)

hs

	{Haskell}

HSB

	{hue, saturation, brightness}

HSC

	{High Speed Connect}

HSCSD

	{High Speed Circuit Switched Data}

HSL-FX

	{Hierarchical Specification Language - Function Extension}

HSM

	{Hierarchical Storage Management}

HSRP

	{Hot Standby Routing Protocol}

HSSI

	{high speed serial interface}

HSV

	{hue, saturation, value}

HT

	{horizontal tabulation}

ht

	<networking> The {country code} for Haiti.

	(1999-01-27)

HTH

	<chat> Hope This Helps.  Often used sarcastically, see {HAND}.

	(1998-03-06)

HTLM

	Do you mean {HTML}?

HTML

	{Hypertext Markup Language}

HTML+

	<hypertext, standard> A proposed successor to {HTML}.  HTML+
	was a superset of HTML designed to extend the capabilities of
	the language to incorporate better support for {multimedia}
	objects in documents.

	(1994-10-27)

htmlcommentbox.com

	<web> A service for adding a comment box to any web
	page, allowing visitors to leave comments and the site owner to
	review them.

	{(http://htmlcommentbox.com/)}

	(2013-03-20)

HTTL

	Do you mean {HTTP} or {HTML}?

HTTP

	{Hypertext Transfer Protocol}

HTTP/1.0

	{Hypertext Transfer Protocol} version 1.0.

HTTP cookie

	<web> A small string of information sent by a {web
	server} to a {web browser} that will be sent back by the browser
	each time it accesses that server.

	Cookies were invented by {Netscape} to make it easier to maintain
	{state} between {HTTP} {transactions}.  They can contain any
	arbitrary information the server chooses to put in them.

	The most common use of cookies is to identify and authenticate a
	user who has logged in to a {website}, so they don't have to sign
	in every time they visit.  Other example uses are maintaining a
	{shopping basket} of goods you have selected to purchase during a
	session at an online shop or site {personalisation} (presenting
	different pages to different users).

	The browser limits the size of each cookie and the number each
	server can store.  This prevents a malicious site consuming lots
	of disk space on the user's computer.  The only information that
	cookies can return to the server is what that server previously
	sent out.

	The main privacy concern is that it is not obvious when a site is
	using cookies or what for.  Even if you don't log in or supply any
	personal information to a site, it can still assign you a unique
	identifier and store it in a "tracking cookie".  This can then be
	used to track every page you ever visit on the site.  However,
	since it is possible to do the same thing without cookies, the UK
	law requiring sites to declare their use of cookies makes little
	sense and has been widely ignored.

	After using a shared computer, e.g. in an {Internet cafe}, you
	should remove all cookies to prevent the browser identifying
	the next user as you if they happen to visit the same sites.

	{Cookie Central (http://cookiecentral.com/c_concept.htm)}.

	{Stupid cookie law
	(http://blog.silktide.com/2013/01/the-stupid-cookie-law-is-dead-at-last/)}.

	(2013-12-05)

HTTPd

	<web> (Hypertext transfer protocol daemon).

	An {HTTP/1.0}-compatible {server}, written by Rob McCool
	<robm@ncsa.uiuc.edu> of {NCSA}, for making {hypertext} and
	other documents available to {web browsers}.

	HTTPd is designed to be small and fast and to work with most
	HTTP/0.9 and HTTP/1.0 {browsers}.  You can customise your
	server to execute searches and handle {HTML} {forms}.  It also
	supports {server side include} files, allowing you to include
	the output of commands or other files in {HTML} documents.

	The current (1994-08-08) version is 1.3.

	{(http://hoohoo.ncsa.uiuc.edu/docs/Overview.html)}.

	E-mail: <httpd@ncsa.uiuc.edu>.

	(1995-01-16)

HTTP proxy server

	<web> A {proxy server} for {HTTP} requests.
	Typically an HTTP proxy or "web proxy" accepts HTTP requests
	containing {URLs} with a special prefix.  The proxy removes
	the prefix and looks for the resulting URL in its local
	{cache} (if it is a caching proxy).  If found, it returns the
	document immediately, otherwise it fetches it from the remote
	server, saves a copy in its cache and returns it to the
	requester.  The cache will usually have an expiry {algorithm}
	which flushes documents according to their age, size and
	access history.

	The purpose is to reduce the amount of data flowing over the
	proxy's Internet connection and to speed up clients' access to
	frequently requested pages, e.g. at an {ISP} or on a large
	company's {firewall}.  The proxy may also reject requests
	where the URL or content matches certain conditions.

	The {Apache} HTTP server can be configured to act as a proxy
	server.  Another popular software proxy is {Squid}.

	(2008-07-01)

HTTPS

	{HyperText Transmission Protocol, Secure}

HTTP server

	<web> (Or "web server") A {server} process running
	at a {website} which sends out {web pages} in response to
	{HTTP} requests from remote {browsers}.

	If one site runs more than one server they must use different
	{port numbers}.  Alternatively, several hostnames may be
	mapped to the same computer in which case they are known as
	"{virtual servers}".

	{Apache} and {NCSA} {HTTPd} are two popular web servers.
	There are many others including some for practically every
	{platform}.  Servers differ mostly in the "server-side"
	features they offer such as {server-side include}, and in
	their {authentication} and access control mechanisms.  All
	decent servers support {CGI} and most have some binary {API}
	as well.

	(1997-02-05)

hu

	<networking> The {country code} for Hungary.

	(1999-01-27)

hub

	<networking> (By analogy with the hub of a wheel) A device
	connected to several other devices.

	In {ARCnet}, a hub is used to connect several computers
	together.  In a message handling service, a number of local
	computers might exchange messages solely with a hub computer.
	The hub would be responsible for exchanging messages with
	other hubs and non-local computers.

	(1995-01-16)

Hubnet

	<networking> A 50 Mb/s {optical fibre} {network} developed at
	{Toronto University}.  Network {topology} is a rooted tree
	with a maximum of 65536 hosts with maximum separation of 2 km.
	The {protocol} is multiple access, collision avoidance, echo
	detect and retry.

	[Computer Systems Equipment Design, Jan 85].

	(1994-11-22)

hubs

	{hub}

hue

	<graphics> (Or "tint") The coordinate in the {HSB} {colour
	model} that determines the frequency of light or the position
	in the spectrum or the relative amounts of red, green and
	blue.  Hue corresponds to the common definition of colour,
	e.g. "red", "orange", "violet" etc.  The other coordinates are
	{saturation} and {brightness}.

	(1999-07-05)

hue, saturation, brightness

	<graphics> (HSB) A {colour model} that describes colours in
	terms of {hue}, {saturation}, and {brightness}.

	In the tables below, a hue is a "pure" colour, i.e. one with
	no black or white in it.  A shade is a "dark" colour, i.e. one
	produced by mixing a hue with black.  A tint is a "light"
	colour, i.e. one produced by mixing a hue with white.  A tone
	is a colour produced by mixing a hue with a shade of grey.

	{Microsoft Windows} colour dialogs, {PagePlus}, and {Paint
	Shop Pro} use {HSB} but call the third dimension "luminosity"
	or "lightness".  It ranges from 0% (black) to 100% (white).  A
	pure hue is 50% luminosity, 100% saturation.

	 Colour type   S      L
	 Black        Any     0%
	 White        Any    100%
	 Grey          0%    1-99%
	 Hue          100%    50%
	 Shade        100%   1-49%
	 Tint         100%  51-99%
	 Tone         1-99%  1-99%

	{Quattro Pro}, {CorelDraw}, and {PhotoShop} use a variant
	(Quattro Pro calls the third parameter "brightness") in which
	a brightness of 100% can produce white, a pure hue, or
	anything in between, depending on the saturation.

	 Colour type   S      B
	 Black        Any     0%
	 White         0%    100%
	 Grey          0%    1-99%
	 Hue          100%   100%
	 Shade        100%   1-99%
	 Tint         1-99%  100%
	 Tone         1-99%  1-99%

	[Same as {HSV}?]

	(1999-07-05)

hue, saturation, value

	<graphics> (HSV) A {colour model} that describes colours in
	terms of {hue} (or "tint"), {saturation} (or "shade") and
	{value} (or "tone" or "luminance").

	[Same as {HSB}?]

	(1999-07-05)

huff

	<compression> To compress data using {Huffman coding}.
	Various programs that use such methods have been called "HUFF"
	or some variant thereof.

	Opposite: {puff}.  Compare {crunch}, {compress}.

	[{Jargon File}]

	(1994-12-23)

Huffman

	{Huffman coding}

Huffman code

	{Huffman coding}

Huffman coding

	<algorithm> A {data compression} technique which varies the
	length of the encoded symbol in proportion to its information
	content, that is the more often a symbol or token is used, the
	shorter the {binary string} used to represent it in the
	compressed stream.  Huffman codes can be properly decoded
	because they obey the prefix property, which means that no
	code can be a prefix of another code, and so the complete set
	of codes can be represented as a binary tree, known as a
	Huffman tree.  Huffman coding was first described in a seminal
	paper by D.A. Huffman in 1952.

	(1994-12-23)

Huffman encoding

	{Huffman coding}

Hugh Loebner

	<person> Dr. Hugh Gene Loebner, the instigator of the {Loebner
	Prize} in {artificial intelligence}.

	{(http://loebner.net/)}.

	E-mail address: Hugh Loebner <hugh@loebner.net>.

	(2003-11-30)

HUGO

	A {bytecode}-interpreted {transaction handler} from {Geac}.

	(1994-12-23)

HUGS

	{Haskell User's Gofer System}

Human-Computer Interaction

	<software, hardware> (HCI) The study of how humans interact
	with computers, and how to design computer systems that are
	easy, quick and productive for humans to use.

	See also {Human-Computer Interface}.

	{HCI Sites (http://acm.org/sigchi/hci-sites/)}.

	(1999-05-09)

Human-Computer Interface

	<software, hardware> (HCI) Any {software} or {hardware} that
	allows a user to interact with a computer.  Examples are
	{WIMP}, {command-line interpreter}, or {virtual reality}.

	See also {Human-Computer Interaction}.

	(1999-05-09)

Human Interface Device

	<hardware> (HID) Any device to interact directly with humans
	(mostly input) like {keyboard}, {mouse}, {joystick}, or {graphics
	tablet}.

	(2001-03-29)

Human Interface Technology Laboratory

	(HITL) The Human Interface Technology Laboratory at the
	{University of Washington} was founded in 1990.  It is a
	centre for research and development of advanced interface
	technology.  Located on the university campus, HITL forms a
	bridge between academia and industry.  It maintains its
	industrial focus via the Virtual Worlds Consortium and
	maintains contacts with academia by training students and
	teaching courses.  The lab has access to faculty and students
	throughout the State of Washington.

	Address: Human Interface Technology Laboratory, University of
	Washington, Seattle, USA.

	(1995-02-13)

humanist technology

	<philosophy> Technology centered around the interests, needs,
	and well-being of humans.

	(2002-07-16)

humma

	<chat> A filler word used on various "chat" and "talk"
	programs when you had nothing to say but felt that it was
	important to say something.

	The word apparently originated (at least with this definition)
	on the MECC Timeshare System (MTS, a now-defunct educational
	{time-sharing} system running in Minnesota during the 1970s
	and the early 1980s) but was later sighted on early Unix
	systems.

	[{Jargon File}]

	(1999-02-27)

humor

	{hacker humour}

humour

	{hacker humour}

hung

	["hung up"] Equivalent to {wedged}, but more common at Unix/C
	sites.  Not generally used of people.  Synonym with {locked
	up}, {wedged}; compare {hosed}.  See also {hang}.  A hung
	state is distinguished from {crash}ed or {down}, where the
	program or system is also unusable but because it is not
	running rather than because it is waiting for something.
	However, the recovery from both situations is often the same.

	[{Jargon File}]

Hungarian Notation

	<language, convention> A linguistic convention requiring one
	or more letters to be added to the start of {variable} names
	to denote {scope} and/or {type}.

	Hungarian Notation is mainly confined to {Microsoft Windows}
	programming environments, such as Microsoft {C}, {C++} and
	{Visual Basic}.  It was originally devised by {Charles
	Simonyi}, a Hungarian, who was a senior programmer at
	{Microsoft} for many years.  He disliked the way that names in
	C programs gave no clue as to the type, leading to frequent
	programmer errors.

	According to legend, fellow programmers at Microsoft, on
	seeing the convoluted, vowel-less variable names produced by
	his scheme, said, "This might as well be in Greek - or even
	Hungarian!".  They made up the name "Hungarian notation"
	(possibly with "{reverse Polish notation}" in mind).

	Hungarian Notation is not really necessary when using a modern
	{strongly-typed language} as the {compiler} warns the
	programmer if a variable of one type is used as if it were
	another type.  It is less useful in {object-oriented
	programming} languages such as {C++}, where many variables are
	going to be instances of {classes} and so begin with "obj".

	In addition, variable names are essentially only {comments},
	and thus are just as susceptible to becoming out-of-date and
	incorrect as any other comment.  For example, if a {signed}
	{short} {int} becomes an unsigned {long} int, the variable
	name, and every use of it, should be changed to reflect its
	new type.

	A variable's name should describe the values it holds.  Type
	and scope are aspects of this, but Hungarian Notation
	overemphasises their importance by allocating so much of the
	start of the name to them.  Furthermore, type and scope
	information can be found from the variable's declaration.
	Ironically, this is particularly easy in the development
	environments in which Hungarian Notation is typically used.

	{Simonyi's original monograph
	(http://msdn.microsoft.com/library/techart/hunganotat.htm)}.

	{Microsoft VB Naming Conventions
	(http://support.microsoft.com/support/kb/articles/Q110/2/64.asp)}.

	(2003-09-11)

Hungry Programmers

	<body> A group of programmers producing {free software}.

	{(http://hungry.com/)}.

	(1995-03-20)

hungry puppy

	Synonym {slopsucker}.

	[{Jargon File}]

Hungry ViewKit

	<operating system, library> A {C++} {class} library for
	developing {Motif} {application programs} (although this
	restriction will be lifted once {LessTif} is finished).  It
	follows the {API} of the {Iris}(tm) {ViewKit}, put out by
	{SGI}.  The Hungry ViewKit is a superset of the Iris ViewKit,
	so any code developed for the Iris version will work with the
	Hungry version, but possibly not vice versa.

	{(http://hungry.com/products/viewkit/)}.

	(1995-03-20)

hungus

	<jargon> /huhng'g*s/ (Perhaps related to slang "humongous")
	Large, unwieldy, usually unmanageable.  E.g. "{TCP} is a
	hungus piece of code."

	[{Jargon File}]

	(1999-01-26)

Hunt the Wumpus

	<games, history> (Or "Wumpus") /wuhm'p*s/ A famous fantasy
	computer game, created by {Gregory Yob} in about 1973.

	Hunt the Wumpus appeared in Creative Computing, Vol 1, No 5,
	Sep - Oct 1975, where Yob says he had come up with the game
	two years previously, after seeing the grid-based games
	Hurkle, Snark and Mugwump at {People's Computing Company}
	(PCC).  He later delivered Wumpus to PCC who published it in
	their newsletter.

	ESR says he saw a version including termites running on the
	{Dartmouth Time-Sharing System} in 1972-3.

	Magnus Olsson, in his 1992-07-07 {USENET} article
	<9207071854.AA21847@thep.lu.se>, posted the {BASIC} {source
	code} of what he believed was pretty much the version that was
	published in 1973 in David Ahl's "101 Basic Computer Games",
	by {Digital Equipment Corporation}.

	The wumpus lived somewhere in a cave with the topology of an
	dodecahedron's edge/vertex graph (later versions supported
	other topologies, including an icosahedron and M"obius
	strip). The player started somewhere at random in the cave
	with five "crooked arrows"; these could be shot through up to
	three connected rooms, and would kill the wumpus on a hit
	(later versions introduced the wounded wumpus, which got very
	angry).  Unfortunately for players, the movement necessary to
	map the maze was made hazardous not merely by the wumpus
	(which would eat you if you stepped on him) but also by
	bottomless pits and colonies of super bats that would pick you
	up and drop you at a random location (later versions added
	"anaerobic termites" that ate arrows, bat migrations and
	earthquakes that randomly changed pit locations).

	This game appears to have been the first to use a non-random
	graph-structured map (as opposed to a rectangular grid like
	the even older Star Trek games).  In this respect, as in the
	dungeon-like setting and its terse, amusing messages, it
	prefigured {ADVENT} and {Zork} and was directly ancestral to
	both (Zork acknowledged this heritage by including a super-bat
	colony).

	There have been many {ports} including one distributed with
	{SunOS}, a {freeware} one for the {Macintosh} and a {C}
	emulation by {ESR}.

	[Does "101 Basic Computer Games" give any history?]

	(2004-10-04)

Hurd

	<operating system> The {GNU} project's replacement for the
	{Unix} {kernel}.  The Hurd is a collection of {servers} that
	run on the {Mach} {microkernel} to implement {file systems},
	{network protocols}, file access control, and other features
	that are implemented by the Unix kernel or similar kernels
	such as {Linux}.  The GNU {C Library} provides the {Unix}
	{system call} interface, and calls the Hurd for services it
	can't provide itself.

	The Hurd aims to establish a framework for shared development
	and maintenance, allowing a broad range of users to share
	projects without knowing much about the internal workings of
	the system - projects that might never have been attempted
	without freely available source, a well-designed interface,
	and a multi-server-based design.

	Currently there are free ports of the {Mach} {kernel} to the
	{Intel 80386} {IBM PC}, the {DEC} {PMAX} {workstation}, the
	{Luna} {88k}, with more in progress, including the {Amiga} and
	{DEC} {Alpha}-3000 machines.

	According to Thomas Bushnell, BSG, the primary architect of
	the Hurd: 'Hurd' stands for 'Hird of Unix-Replacing Daemons'
	and 'Hird' stands for 'Hurd of Interfaces Representing Depth'.
	Possibly the first software to be named by a pair of {mutually
	recursive} acronyms.

	{The Hurd Home (http://gnu.org/software/hurd/hurd.html)}.

	[June 1994 GNU's Bulletin].

	(2004-02-24)

HVD

	{High Voltage Differential}

Hybrid

	A {concurrent} {object-oriented} language.

	["Active Objects in Hybrid", O.M. Nierstrasz, SIGPLAN Notices
	22(12):243-253 (OOPSLA '87) (Dec 1987)].

	(1994-12-07)

Hybrid Fiber Coax

	<networking> (HFC) A kind of physical connection used in
	networks for audio, video, and data.  DVB (Digital Video
	Broadcast) is used in Europe and DOCSIS is used in N America.

	[What is the relationship between HFC, DVB, DOCSIS?]

	(1999-11-02)

hybrid multiprocessing

	<parallel> (HMP) The kind of {multitasking} which {OS/2}
	supports.  HMP provides some elements of {symmetric
	multiprocessing}, using add-on {IBM} software called MP/2.
	OS/2 SMP was planned for release in late 1993.

	(1995-03-19)

hybrid testing

	<testing> A combination of {top-down testing} with {bottom-up
	testing} of prioritised or available components.

	(1996-05-22)

hydra code

	<humour, programming> {Code} that cannot be fixed because each
	time a {bug} is remove, two new bugs grow in its place.  Named
	after the many-headed Hydra of Greek mythology.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-01-04)

hydrofluorocarbon

	<hardware> (HFC) A suggested replacement for the
	chlorofluorocarbon (CFC) coolant gas used in chillers and air
	conditioners.

	(1996-11-05)

HyperBase

	<database> An experimental active multi-user {database} for
	{hypertext} systems from the {University of Aalborg}, written
	in {C++}.  It is built on the {client-server} model enabling
	distributed, {concurrent}, and shared access from
	{workstations} in a {local area network}.

	See also {EHTS}.

	(1995-03-19)

Hyper-C

	A {data parallel} extension of {C} from HyperParallel Tech,
	France, for {PVM}, {CM} and {Maspar}.  It is available from
	Fortunel Systems <fortunel@vnet.net>, +1 (919) 319 1624.

	E-mail: <hyperc-support@hyperparallel.polytechnique.fr>.

	(1994-11-17)

HyperCard

	A software package by Bill Atkinson for storage and retrieval
	of information on the {Macintosh}.  It can handle {images} and
	is designed for {browsing}.  The powerful customisable
	interactive {user interface} allows new {applications} to be
	easily constructed by manipulating objects on the screen,
	often without conventional programming, though the language
	{HyperTalk} can be used for more complex tasks.

	{Usenet} newsgroup: {news:comp.sys.mac.hypercard}.

	["Apple Macintosh HyperCard User Guide", Apple Computer 1987].

	(1995-02-10)

hypercube

	A cube of more than three dimensions.  A single (2^0 = 1)
	point (or "node") can be considered as a zero dimensional
	cube, two (2^1) nodes joined by a line (or "edge") are a one
	dimensional cube, four (2^2) nodes arranged in a square are a
	two dimensional cube and eight (2^3) nodes are an ordinary
	three dimensional cube.  Continuing this geometric
	progression, the first hypercube has 2^4 = 16 nodes and is a
	four dimensional shape (a "four-cube") and an N dimensional
	cube has 2^N nodes (an "N-cube").  To make an N+1 dimensional
	cube, take two N dimensional cubes and join each node on one
	cube to the corresponding node on the other.  A four-cube can
	be visualised as a three-cube with a smaller three-cube
	centred inside it with edges radiating diagonally out (in the
	fourth dimension) from each node on the inner cube to the
	corresponding node on the outer cube.

	Each node in an N dimensional cube is directly connected to N
	other nodes.  We can identify each node by a set of N
	{Cartesian coordinates} where each coordinate is either zero
	or one.  Two node will be directly connected if they differ in
	only one coordinate.

	The simple, regular geometrical structure and the close
	relationship between the coordinate system and binary numbers
	make the hypercube an appropriate topology for a parallel
	computer interconnection network.  The fact that the number of
	directly connected, "nearest neighbour", nodes increases with
	the total size of the network is also highly desirable for a
	{parallel computer}.

	(1994-11-17)

Hyperion

	<computer> An {MS-DOS} {personal computer} that was
	manufactured in Kanata (near Ottawa, Ontario, Canada) in the
	mid-1980s.  It received considerable government subsidies and,
	while it was considered well-designed and manufactured and a
	real threat to the {Compaq Portable}, the Ottawa firm that
	designed it was unable to beat {Compaq}.

	(1997-07-21)

hyperlink

	{hypertext link}

Hyper-Man

	A {browser} available with {Epoch} giving {hypertext} access
	to the {Unix} manual.

hypermedia

	{hypertext}

HyperNeWS

	A Hypertext system from the Turing Institute Glasgow, based on
	{NeWS}.

Hyperscript

	Informix.  The object-based programming language for Wingz,
	used for creating charts, graphs, graphics, and customised
	data entry.

hyperspace

	/hi:'per-spays/ A memory location that is *far* away from
	where the {program counter} should be pointing, often
	inaccessible because it is not even mapped in.  (Compare {jump
	off into never-never land}.)

	This usage is from the SF notion of a spaceship jumping "into
	hyperspace", that is, taking a shortcut through
	higher-dimensional space - in other words, bypassing this
	universe.  The variant "east hyperspace" is recorded among
	{CMU} and {Bliss} hackers.

	[{Jargon File}]

	(1994-11-23)

HyperSPARC

	<processor> The successor to the {SuperSPARC} processor, based
	on the {SPARC} {ISA}.  The HyperSPARC has smaller {caches}
	than the {SuperSPARC}: 8kb on-chip and 256kb off-chip
	(compared with 36kb and 1Mb).  The HyperSPARC's {memory
	management} is optimised for more efficient out-of-cache
	addressing which means quicker access to external (slower,
	cheaper) memory.

	(1994-11-23)

Hyperstrict

	A function which is hyperstrict in some argument will fully
	evaluate that argument.  To fully evaluate an object, evaluate
	it to WHNF and if it is a constructed data object (e.g. a list
	or tuple) then fully evaluate every component and so on
	recursively.  Thus a hyperstrict function will fail to
	terminate if its argument or any component or sub-component of
	its argument fails to terminate (i.e. if its argument is not
	"total").

HyperTalk

	A verbose semicompiled language by Bill Atkinson and Dan
	Winkler, with loose {syntax} and high readability.

	HyperTalk uses {HyperCard} as an object management system,
	development environment and interface builder.  Programs are
	organised into "stacks" of "cards", each of which may have
	"buttons" and "fields".  All data storage is in
	zero-terminated strings in fields, local, or global variables;
	all data references are through "chunk expressions" of the
	form:

		'last item of background field
		"Name List" of card ID 34217'.

	Flow of control is {event-driven} and uses message-passing
	among scripts that are attached to stack, background, card,
	field and button objects.

	{Apple Computer} has taken back distribution and maintenance of
	HyperCard from {Claris} Corporation

	["HyperTalk Language Reference Manual", A-W 1988].

	(1994-11-17)

hypertext

	<hypertext> A term coined by Ted Nelson around 1965 for a
	collection of documents (or "nodes") containing
	cross-references or "links" which, with the aid of an
	interactive {browser} program, allow the reader to move easily
	from one document to another.

	The extension of hypertext to include other media - {sound},
	{graphics}, and {video} - has been termed "{hypermedia}", but
	is usually just called "hypertext", especially since the
	advent of the {web} and {HTML}.

	(2000-09-10)

hypertext link

	<hypertext> (Or "{hyperlink}", "button", formerly "span",
	"region", "extent") A pointer from within the content of one
	{hypertext} {node} (e.g. a {web page}) to another node.  In
	{HTML} (the language used to write web pages), the source and
	destination of a {link} are known as "anchors".  A source
	anchor may be a word, phrase, image or the whole node.  A
	destination anchor may be a whole node or some position within
	the node.

	A {hypertext browser} displays source anchors in some
	distinctive way.  When the user activates the link (e.g. by
	clicking on it with the {mouse}), the browser displays the
	destination anchor to which the link refers.  Anchors should
	be recognisable at all times, not, for example, only when the
	mouse is over them.  Originally links were always underlined
	but the modern preference is to use {bold} text.

	In {HTML}, anchors are created with <a..>..</a> anchor
	elements.  The opening "a" tag of a source anchor has an
	"href" (hypertext reference) {attribute} giving the
	destination in the form of a {URL} - usually a whole "page".
	E.g.

		<a href="http://foldoc.org/">
		Free On-line Dictionary of Computing</a>

	Destination anchors can be used in HTML to name a position
	within a page using a "name" attribute.  E.g.

		<a name="chapter3">

	The name or "fragment identifier" is appended to the URL of
	the page after a "#":

		http://fairystory.com/goldilocks.html#chapter3

	(2008-12-10)

Hypertext Markup Language

	<hypertext, web, standard> (HTML) A {hypertext}
	document format used on the {web}.  HTML is built
	on top of {SGML}.  "Tags" are embedded in the text.  A tag
	consists of a "<", a "directive" (in lower case), zero or
	more parameters and a ">".  Matched pairs of directives, like
	"<title>" and "</title>" are used to delimit text which is to
	appear in a special place or style.

	Links to other documents are in the form

	 <a href="http://machine.edu/subdir/file.html">foo</a>

	where "<a>" and "</a>" delimit an "anchor", "href" introduces
	a hypertext reference, which is most often a {Uniform Resource
	Locator} (URL) (the string in double quotes in the example
	above).  The link will be represented in the browser by the
	text "foo" (typically shown underlined and in a different
	colour).

	A certain place within an HTML document can be marked with a
	named anchor, e.g.:

	 <a name="baz">

	The "fragment identifier", "baz", can be used in an href by
	appending "#baz" to the document name.

	Other common tags include <p> for a new paragraph, <b>..</b>
	for bold text, <ul> for an unnumbered list, <pre> for
	preformated text, <h1>, <h2> .. <h6> for headings.

	{HTML} supports some standard {SGML} {national characters} and
	other non-{ASCII} characters through special {escape
	sequences}, e.g. "&eacute;" for a lower case 'e' with an acute
	accent.  You can sometimes get away without the terminating
	semicolon but it's bad style.

	Most systems will ignore the case of tags and attributes but
	lower case should be used for compatibility with {XHTML}.

	The {web Consortium} (W3C) is the international
	{standards} body for HTML.

	Latest version: {XHTML} 1.0, as of 2000-09-10.

	{(http://w3.org/MarkUp/)}.

	{Character escape sequences
	(http://w3.org/hypertext/WWW/MarkUp/ISOlat1.html)}.

	See also {weblint}.

	(2006-01-19)

Hypertext Transfer Protocol

	<protocol> (HTTP) The {client-server} {TCP/IP} {protocol} used
	on the {web} for the exchange of {HTML} documents.
	It conventionally uses {port} 80.

	Latest version: HTTP 1.1, defined in {RFC 2068}, as of May
	1997.

	See also {Uniform Resource Locator}.

	(1994-10-27)

HyperText Transmission Protocol, Secure

	<protocol> (HTTPS) A variant of {HTTP} used by {Netscape} for
	handling secure transactions.

	The {Netscape Navigator} supports a {URL} {access method},
	"https", for connecting to {HTTP} {servers} using {SSL}.

	"https" is a unique protocol that is simply {SSL} underneath
	{HTTP}.  You need to use "https://" for HTTP {URLs} with
	{SSL}, whereas you continue to use "http://" for HTTP URLs
	without SSL.  The default "https" {port} number is 443, as
	assigned by the {Internet Assigned Numbers Authority}.

	{(http://netscape.com/info/security-doc.html)}.

	(1995-01-16)

hyperware

	<hypertext> {Software} that implements or uses {hypertext}.

	(2000-09-11)

hypotenuse

	<mathematics> The side of a right-angled triangle opposite the
	right angle.

	(2004-02-15)

hysterical reasons

	(Or "hysterical raisins") A variant on the stock phrase "for
	historical reasons", indicating specifically that something
	must be done in some stupid way for backward compatibility,
	and moreover that the feature it must be compatible with was
	the result of a bad design in the first place.  "All IBM PC
	video adaptors have to support MDA text mode for hysterical
	reasons."  Compare {bug-for-bug compatible}.

	[{Jargon File}]

Hytelnet

	<networking> A {hypertext} database of publicly accessible
	{Internet} sites created and maintained by Peter Scott
	<scottp@moondog.usask.ca>.  Hytelnet currently lists over 1400
	sites, including Libraries, Campus-Wide Information Systems,
	{Gopher}, {WAIS}, {WWW} and {Freenets}.

	Hytelnet software is available for the {IBM PC}, {Macintosh},
	{Unix} and {VMS} systems.

	{(ftp://ftp.usask.ca/pub/hytelnet)} (128.233.3.11).  {Telnet
	(telnet://access.usask.ca/)}, login: hytelnet.

	Mailing list: listserv@library.berkeley.edu (no subject, body:
	subscribe hytelnet FirstName LastName).

	(1995-10-18)

HyTime

	Hypermedia/Time-based Structuring Language: an emerging
	ANSI/ISO Standard from the {SGML} Users' Group's Special
	Interest Group on Hypertext and Multimedia (SIGhyper).  A
	hypermedia extension of {SGML}.

	["The HyTime Hypermedia/Time-based Document Structuring
	Language", S. Newcomb et al, CACM 34(11):67-83 (Nov 1991)].

i18n

	{internationalisation}

I2O

	{Intelligent Input/Output}

i386

	{Intel 80386}

i486

	{Intel 486}

i487

	{Intel 487SX}

i860

	<processor> A 32/64-bit {superscalar} {RISC} {microprocessor}
	from {Intel}, released in 1989.  Originally codenamed "N10".
	It has a 32-bit integer {ALU} and a 64-bit {floating-point
	unit}.  It has a 64-bit {data bus} with an initialisation mode
	which only uses eight bits of the data bus to allow the use of
	a small {boot ROM}.  It has a 32-bit wide {instruction cache}
	and a separate 64-bit wide {data cache}.  It uses {register
	scoreboarding} and {register bypassing}.  The {clock rate} is
	33 MHz with a clock-doubled version available.

	(1998-03-28)

IA

	{Information Appliance}

IA32

	<architecture> The {processor} chip architecture and
	{instruction set} used by {Intel} in its {Pentium} processors.

	(2007-06-17)

IAB

	{Internet Architecture Board}

IAD

	A dynamic analyser from {IBM} giving information on run-time
	performance and code use.

IAL

	{ALGOL 58}

IAM

	Interactive Algebraic Manipulation.  Interactive {symbolic
	mathematics} for {PDP-10}.

	["IAM, A System for Interactive Algebraic Manipulation", C.
	Christensen et al, Proc Second Symp Symb Alg Manip, ACM Mar
	1971].

IANA

	{Internet Assigned Numbers Authority}

IANAL

	<chat> I Am Not A Lawyer (but my legal opinion is...).

	(1998-07-28)

IAP

	{Internet Access Provider}

I-APL

	A version of {APL}.
	{(ftp://watserv1.waterloo.edu/languages/apl/)}.

	(1992-07-06)

IAR

	Instruction Address Register.

	The {IBM} name for {program counter}.

	(1995-03-21)

IAS

	1. <computer> The first modern computer.  It had main
	{registers}, processing circuits, information paths within the
	{central processing unit}, and used {Von Neumann}'s
	{fetch-execute cycle}.

	The IAS machine's basic unit of information was a 40-bit
	{word} and the memory had 4096 words.  A word stored in memory
	could represent either an instruction or data.  Each IAS
	instruction was twenty bits long, so that two instructions
	could be stored in each 40-bit memory location.  Each
	instruction consisted of an 8-bit {operation code} and a
	12-bit address that could identify any of 2^12 locations that
	may be used to store an {operand} of the instruction.

	The {CPU} consisted of a data processing unit and a program
	control unit.  It contained various processing and control
	circuits along with a set of high-speed {registers} for the
	temporary storage of instructions, memory addresses, and data.

	The main actions specified by instructions were performed by
	the arithmetic-logic circuits of the data processing unit.  An
	electronic clock circuit was used to generate the signals
	needed to synchronise the operation of the different parts of
	the system.

	[Who?  Where?  When?  Implemented using what?]

	2. {Immediate Access Storage}.

	(2003-10-24)

IAW

	<chat> inactive window.

	Used in {talk} systems to mean that that person will not be
	taking part in the conversation for a while.  The sadly
	mispelled alternative, "unactive window" (UAW) has also been
	reported.

	(1994-12-05)

IAYSDAH

	<chat> I acknowledge your strangely depressing attempt at
	humour.

	(2004-03-04)

IBEX

	<language> The command language for {Honeywell}'s {CP-6}
	{operating system}.

	(1994-12-06)

IBM

	{International Business Machines}

IBM 1130

	<computer> A computer introduced by {IBM} in 1965.  It was
	their cheapest computer to date, and was aimed at
	price-sensitive, computing-intensive technical markets like
	education and engineering.  It notably included inexpensive
	disk storage.  Non-IBM {clones} were produced.

	{IBM 1130 Enthusiasts (http://ibm1130.org/)}.

	(2005-01-17)

IBM 1403

	<printer> A printer used with the {IBM 360} {mainframe}, a
	successor to the 1401.

	(1999-01-11)

IBM 1620

	<computer> A computer built by {IBM} and released in late
	1959.  The 1620 cost from around $85,000(?) up to hundreds of
	thousands of dollars(?) according to the configuration.  It
	was billed as a "small scientific computer" to distinguish it
	from the business-oriented {IBM 1401}.  It was regarded as
	inexpensive, and many schools started out with one.

	It was either developed for the US Navy to teach computing, or
	as a replacement for the very successful {IBM 650} which did
	quite well in the low end scientific market.  Rumour has it
	that the Navy called this computer the CADET - Can't Add,
	Doesn't Even Try.

	The {ALU} used lookup tables to add, subtract and multiply but
	it could do address increments and the like without the
	tables.  You could change the number base by adjusting the
	tables, which were input during the boot sequence from
	{Hollerith} cards.  The divide instruction required additional
	hardware, as did {floating point} operations.

	The basic machine had 20,000 decimal digits of {ferrite core
	memory} arranged as a 100 by 100 array of 12-bit locations,
	each holding two digits.  Each digit was stored as four
	numeric bits, one flag bit and one parity bit.  The numeric
	bits stored a decimal digit (values above nine were illegal).

	Memory was logically divided into fields.  On the high-order
	digit of a field the flag bit indicated the end of the field.
	On the low-order digit it indicated a negative number.  A flag
	bit on the low order of the address indicated {indirect
	addressing} if you had that option installed.  A few "illegal"
	bit combinations were used to store things like record marks
	and "numeric blanks".

	On a {subroutine} call it stored the {return address} in the
	five digits just before the entry point to the routine, so you
	had to build your own {stack} to do {recursion}.

	The enclosure was grey, and the core was about four or five
	inches across.  The core memory was kept cool inside a
	temperature-controlled box.  The machine took a few minutes to
	warm up after power on before you could use it.  If it got too
	hot there was a thermal cut-out switch that would shut it
	down.

	Memory could be expanded up to 100,000 digits in a second
	cabinet.  The cheapest package used {paper tape} for I/O.  You
	could also get {punched cards} and later models could be
	hooked up to a 1311 {disk drive} (a two-{megabyte} {washing
	machine}), a 1627 {plotter}, and a 1443 {line printer}.

	Because the 1620 was popular with colleges, IBM ran a clearing
	house of software for a nominal cost such as {Snobol},
	{COBOL}, chess games, etc.

	The model II, released about three years later, could add and
	subtract without tables.  The {clock period} decreased from 20
	to 10 microseconds, instruction fetch sped up by a few cycles
	and it added {index registers} of some sort.  Some of the
	model I's options were standard on the model II, like
	{indirect addressing} and the {console} {teletype} changed
	from a model C to a {Selectric}.  Later still, IBM marketed
	the {IBM 1710}.

	A favorite use was to tune a FM radio to pick up the
	"interference" from the lights on the console.  With the right
	delay loops you could generate musical notes.  Hackers wrote
	{interpreters} that played music from notation like "C44".

	1620 consoles were used as props to represent {Colossus} in
	the film "The Forbin Project", though most of the machines had
	been scrapped by the time the film was made.

	{A fully configured 1620
	(http://uranus.ee.auth.gr/TMTh/exhibit.htm)}.

	{IBM 1620 console picture (/pub/misc/IBM1620-console.jpg)}.

	{IBM 1620 at Tuck School of Business, Dartmouth College, Hanover,
	NH, USA (/pub/misc/IBM1620-Tuck1960s.jpg)} (Thanks Victor
	E. McGee, pictured).

	["Basic Programming Concepts and the IBM 1620 Computer",
	Leeson and Dimitry, Holt, Rinehart and Winston, 1962].

	(1997-08-05)

IBM 1710

	<computer> An {IBM 1620} with additional features useful for
	industrial process control: {A/D convertors}, {D/A
	convertors}, general-purpose I/O lines, and {interrupts}.

	[Date?]

	(1997-07-20)

IBM 2741

	<printer> A slow, letter-quality printing device and
	{terminal} based on the {IBM Selectric} {typewriter}.  The
	print head was a little sphere resembling a golf ball, bearing
	reversed embossed images of 88 different characters arranged
	on four parallels of latitude; one could change the font by
	changing the golf ball.  The device communicated at 134.5 bits
	per second, {half duplex}.  When the computer transmitted, it
	physically locked the keyboard.

	This was the technology that enabled {APL} to use a
	non-{EBCDIC}, non-{ASCII}, and in fact completely non-standard
	{character set}.  This put it 10 years ahead of its time -
	where it stayed, firmly rooted, for the next 20, until
	{character displays} gave way to programmable {bit-mapped}
	devices with the flexibility to support other character sets.

	(2006-08-04)

IBM 3270

	<hardware> A class of {terminals} made by {IBM} known as
	"Display Devices", normally used to talk to {IBM}
	{mainframes}.  The 3270 attempts to minimise the number of
	{I/O} {interrupts} required by accepting large blocks of data,
	known as datastreams, in which both text and control (or
	formatting functions) are interspersed allowing an entire
	screen to be "painted" as a single output operation.  The
	concept of "formatting" in these devices allows the screen to
	be divided into clusters of contiguous character cells for
	which numerous attributes (color, highlighting, {character
	set}, protection from modification) can be set.  Further,
	using a technique known as 'Read Modified' the changes from
	any number of formatted fields that have been modified can be
	read as a single input without transferring any other data,
	another technique to enhance the terminal throughput of the
	CPU.

	The 3270 had twelve, and later twenty-four, special Programmed
	Function Keys, or PF keys.  When one of these keys was
	pressed, it would cause the device to generate an I/O
	{interrupt} and present a special code identifying which key
	was pressed.  {Application program} functions such as
	termination, page-up, page-down or help could be invoked by a
	single key-push, thereby reducing the load on very busy
	processors.

	A version of the {IBM PC} called the "3270 PC" was released in
	October 1983.  It included 3270 {terminal emulation}.

	{tn3270} is modified version of {Telnet} which acts as a 3270
	{terminal emulator} and can be used to connect to an IBM
	computer over a network.

	See also {broken arrow}.

	(1995-02-07)

IBM 360

	{System/360}

IBM 370

	{System/370}

IBM 370ESA

	<computer, IBM> (Enterprise System Architecture) An {IBM}
	{mainframe} {computer} introduced in 1988.  Successor to the
	{IBM 370XA} had enhanced access registers that allowed access
	to other forms of virtual memory.  This enhancement allowed
	more data storage in main and virtual memory, reducing {I/O}
	operating and improving speed and efficiency. The IBM 370ESA
	was rebranded as the IBM390, and later as the zSeries.

	(2004-06-06)

IBM 370XA

	<computer, IBM> An {IBM} {mainframe} {computer} introduced in
	1983.  Successor to the {System/370}, this machine had an
	enhanced {address space}.

	(2004-05-27)

IBM 3720

	<hardware> A {communications controller} made by {IBM},
	suitable for use in an {IBM S/390}.  Official service support
	was withdrawn in 1999 in favour of the {IBM 3745}.

	{(http://ibm.com/search?q=3720&realm=Networking)}.

	(2000-02-21)

IBM390

	{IBM 370ESA}

IBM 650

	<computer> A computer, produced ca. 1955 and in use in the
	late 1950s, with rotating {magnetic drum} storage and {punched
	card} input.  Its memory words could store 10-digit decimal
	numbers and each instruction had two addresses, one for the
	{operand} and one for address of the next instruction on the
	drum.

	{SOAP} was its (optimising) {assembler}.  Languages used on it
	included {BACAIC}, {BALITAC}, {BELL}, {CASE SOAP III}, {DRUCO
	I}, {EASE II}, {ELI}, {ESCAPE}, {FAST}, {FLAIR}, {FORTRANSIT},
	{FORTRUNCIBLE}, {GAT}, {IPL}, {Internal Translator}, {KISS},
	{MITILAC}, {MYSTIC}, {OMNICODE}, {PIT}, {RELATIVE},
	{RUNCIBLE}, {SIR}, {SOAP}, {Speedcoding}, {SPIT}, {SPUR}.

	[More details?]

	(1995-03-30)

IBM 700 series

	<computer> A family of computers made by IBM, including the
	{IBM 701}, {IBM 702}, {IBM 704}, {IBM 705} and {IBM 709}.

	(2005-06-20)

IBM 701

	<computer> ("Defense Calculator") The first of the {IBM 700
	series} of computers.

	The IBM 701 was annouced internally on 1952-04-29 as "the most
	advanced, most flexible high-speed computer in the world".
	Known as the Defense Calculator while in development at {IBM
	Poughkeepsie Laboratory}, it went public on 1953-04-07 as the
	"IBM 701 Electronic Data Processing Machines" (plural because
	it consisted of eleven connected units).

	The 701 was the first IBM large-scale electronic computer
	manufactured in quantity and their first commercial
	{scientific computer}.  It was the first IBM machine in which
	programs were stored in an internal, addressable, electronic
	memory.  It was developed and produced in less than two years
	from "first pencil on paper" to installation.  It was key to
	IBM's transition from {punched card} machines to electronic
	computers.

	It consisted of four {magnetic tape drives}, a {magnetic drum}
	memory unit, a {cathode-ray tube storage unit}, an L-shaped
	{arithmetic and control unit} with an operator's panel, a
	{punched card {reader}, a printer, a card punch and three
	power units.  It performed more than 16,000 additions or
	subtractions per second, read 12,500 digits a second from
	tape, print 180 letters or numbers a second and output 400
	digits a second from punched-cards.

	The IBM 701 ran the following languages and systems: {BACAIC},
	{BAP}, {DOUGLAS}, {DUAL-607}, {FLOP}, {GEPURS}, {JCS-13},
	{KOMPILER}, {LT-2}, {PACT I}, {QUEASY}, {QUICK}, {SEESAW},
	{SHACO}, {SO 2}, {Speedcoding}, {SPEEDEX}.

	{IBM History
	(http://www-03.ibm.com/ibm/history/exhibits/701/701_intro.html)}.

	(2005-06-20)

IBM 704

	<computer> A large, scientific computer made by {IBM} and used
	by the largest commercial, government and educational
	institutions.

	The IBM 704 had 36-bit memory words, 15-bit addresses and
	instructions with one address.  A few {index register}
	instructions had the infamous 15-bit decrement field in
	addition to the 15-bit address.

	The 704, and {IBM 709} which had the same basic architecture,
	represented a substantial step forward from the {IBM 650}'s
	{magnetic drum} storage as they provided random access at
	electronic speed to {core storage}, typically 32k words of 36
	bits each.

	[Or did the 704 actually come *before* the 650?]

	A typical 700 series installation would be in a specially
	built room of perhaps 1000 to 2000 square feet, with cables
	running under a raised floor and substantial air conditioning.
	There might be up to eight {magnetic tape} transports, each
	about 3 x 3 x 6 feet, on one or two "channels."  The 1/2 inch
	tape had seven tracks and moved at 150 inches per second,
	giving a read/write speed of 15,000 six bit characters (plus
	parity) per second.

	In the centre would be the operator's {console} consisting of
	cabinets and tables for storage of tapes and boxes of cards;
	and a {card reader}, a {card punch}, and a {line printer},
	each perhaps 4 x 4 x 5 feet in dimension.  Small {jobs} could
	be entered via {punched cards} at the console, but as a rule
	the user jobs were transferred from cards to {magnetic tape}
	by {off-line} equipment and only control information was
	entered at the console (see {SPOOL}).  Before each job, the
	{operating system} was loaded from a read-only system tape
	(because the system in {core} could have been corrupted by the
	previous user), and then the user's program, in the form of
	card images on the input tape, would be run.  Program output
	would be written to another tape (typically on another
	channel) for printing off-line.

	Well run installations would transfer the user's cards to
	tape, run the job, and print the output tape with a turnaround
	time of one to four hours.

	The processing unit typically occupied a position symmetric
	but opposite the operator's console.  Physically the largest
	of the units, it included a glass enclosure a few feet in
	dimension in which could be seen the "core" about one foot on
	each side.  The 36-bit word could hold two 18-bit addresses
	called the "Contents of the Address Register" ({CAR}) and the
	"Contents of the Decrement Register" ({CDR}).

	On the opposite side of the floor from the tape drives and
	operator's console would be a desk and bookshelves for the
	ever-present (24 hours a day) "field engineer" dressed in, you
	guessed it, a grey flannel suit and tie.  The maintenance of
	the many thousands of {vacuum tubes}, each with limited
	lifetime, and the cleaning, lubrication, and adjustment of
	mechanical equipment, was augmented by a constant flow of
	{bug} reports, change orders to both hardware and software,
	and hand-holding for worried users.

	The 704 was oriented toward scientific work and included
	{floating point} hardware and the first {Fortran}
	implementation.  Its hardware was the basis for the
	requirement in some programming languages that loops must be
	executed at least once.

	The {IBM 705} was the business counterpart of the 704.  The
	705 was a decimal machine with a circular register which could
	hold several variables (numbers, values) at the same time.

	Very few 700 series computers remained in service by 1965, but
	the {IBM 7090}, using {transistors} but similar in logical
	structure, remained an important machine until the production
	of the earliest {integrated circuits}.

	[Was the 704 scientific, business or general purpose?
	Difference between 704 and 709?]

	(1996-01-24)

IBM 7040

	<computer> A scaled down version of the {IBM 7090}.

	(1997-02-23)

IBM 705

	<computer> A business-oriented counterpart of the {IBM 704}.
	The 705 was a decimal machine with a circular {register} which
	could hold several values at the same time.

	Languages incuded {ACOM}, {Autocode}, {ELI}, {PRINT}, {PRINT
	I}, {SOHIO}, {SYMBOLIC ASSEMBLY}.

	(2000-06-01)

IBM 709

	<computer> A computer made by {IBM} oriented toward
	scientific work.  The 709 had the same basic architecture as
	the {IBM 704} but with many {I/O} and performance refinements
	over the 704.

	The IBM 709 (like the 704) had 36-bit memory words, 15-bit
	addresses and instructions with one address.  A few {index
	register} instructions had the infamous 15-bit decrement field
	in addition to the 15-bit address.

	The {IBM 7090} was a transistorised version of the 709.

	[Difference between 704 and 709?]

	(1999-01-19)

IBM 7090

	<computer> A transistorised version of the {IBM 709} which was
	a very popular high end computer in the early 1960s.  The 7090
	had 32Kbytes of 36-bit {core} memory and a hardware {floating
	point unit}.  {Fortran} was its most popular language, but it
	supported many others.  It was later upgraded to the {IBM
	7094}, and a scaled down version, the IBM 7040 was also
	introduced.

	IBM 7090s controlled the Mercury and Gemini space flights, the
	Balistic Missile Early Warning System (until well into the
	1980s), and the {CTSS} {time sharing} system at {MIT}.

	The 7090 was not good at unit record I/O, so in small
	configurations an {IBM 1401} was used for {SPOOL} I/O and in
	large configurations (such as a 7090/94) a 7040/44 would be
	directly coupled and dedicated to handling printers and {card
	readers}.  (See the film Dr Strangelove).

	(1999-01-19)

IBM 7094

	<computer> A faster version of the {IBM 7090} with more {index
	registers}.

	(1997-02-23)

IBM 801

	The original {IBM} {RISC} processor, developed as a research
	project.  It was named after the building in which it was
	designed.

	[Features?  Dates?]

	(1995-03-01)

IBM compatible

	<computer> A computer which can use hardware and software
	designed for the {IBM PC} (or, less often, IBM {mainframes}).

	This was once a key phrase in marketing a new PC {clone} but
	now in 1998 is rarely used, the non-IBM {wintel} {personal
	computer} manufacturers such as {Compaq}, {Dell} and {Gateway
	2000} and OS vendor {Microsoft} having taken control of the
	market, marginalising IBM.

	(1998-07-30)

IBM Customer Engineer

	<job> (CE) A hardware guy from {IBM}.

	[Are/were any CEs female?]

	(1998-07-08)

IBM discount

	A price increase.  Outside IBM, this derives from the common
	perception that IBM products are generally overpriced (see
	{clone}); inside, it is said to spring from a belief that
	large numbers of IBM employees living in an area cause prices
	to rise.

	[{Jargon File}]

	(1995-02-07)

IBM PC

	<computer> International Business Machines Personal Computer.

	IBM PCs and compatible models from other vendors are the most
	widely used computer systems in the world.  They are typically
	single user {personal computers}, although they have been
	adapted into multi-user models for special applications.

	Note: "IBM PC" is used in this dictionary to denote IBM and
	compatible personal computers, and to distinguish these from
	other {personal computers}, though the phrase "PC" is often
	used elsewhere, by those who know no better, to mean "IBM PC
	or compatible".

	There are hundreds of models of IBM compatible computers.
	They are based on {Intel}'s {microprocessors}: {Intel 8086},
	{Intel 8088}, {Intel 80286}, {Intel 80386}, {Intel 486} or
	{Pentium}.  The models of IBM's first-generation Personal
	Computer (PC) series have names: IBM PC, {IBM PC XT}, {IBM PC
	AT}, Convertible and Portable.  The models of its second
	generation, the Personal System/2 ({PS/2}), are known by model
	number: Model 25, Model 30.  Within each series, the models
	are also commonly referenced by their {CPU} {clock rate}.

	All IBM personal computers are software compatible with each
	other in general, but not every program will work in every
	machine.  Some programs are time sensitive to a particular
	speed class.  Older programs will not take advantage of newer
	higher-resolution {display standards}.

	The speed of the {CPU} ({microprocessor}) is the most
	significant factor in machine performance.  It is determined
	by its {clock rate} and the number of bits it can process
	internally.  It is also determined by the number of bits it
	transfers across its {data bus}.  The second major performance
	factor is the speed of the {hard disk}.

	{CAD} and other graphics-intensive {application programs} can
	be sped up with the addition of a mathematics {coprocessor}, a
	chip which plugs into a special socket available in almost all
	machines.

	{Intel 8086} and {Intel 8088}-based PCs require {EMS}
	(expanded memory) boards to work with more than one megabyte
	of memory.  All these machines run under {MS-DOS}.  The
	original {IBM PC AT} used an {Intel 80286} processor which can
	access up to 16 megabytes of memory (though standard {MS-DOS}
	applications cannot use more than one megabyte without {EMS}).
	{Intel 80286}-based computers running under {OS/2} can work
	with the maximum memory.

	Although IBM sells {printers} for PCs, most printers will work
	with them.  As with display hardware, the software vendor must
	support a wide variety of printers.  Each program must be
	installed with the appropriate {printer driver}.

	The original 1981 IBM PC's keyboard was severely criticised by
	typists for its non-standard placement of the return and left
	shift keys.  In 1984, IBM corrected this on its AT keyboard,
	but shortened the backspace key, making it harder to reach.
	In 1987, it introduced its Enhanced keyboard, which relocated
	all the function keys and placed the control key in an awkward
	location for touch typists.  The escape key was relocated to
	the opposite side of the keyboard.  By relocating the function
	keys, IBM made it impossible for software vendors to use them
	intelligently.  What's easy to reach on one keyboard is
	difficult on the other, and vice versa.  To the touch typist,
	these deficiencies are maddening.

	An "IBM PC compatible" may have a keyboard which does not
	recognize every key combination a true IBM PC does,
	e.g. shifted cursor keys.  In addition, the "compatible"
	vendors sometimes use proprietary keyboard interfaces,
	preventing you from replacing the keyboard.

	The 1981 PC had 360K {floppy disks}.  In 1984, IBM introduced
	the 1.2 megabyte floppy disk along with its AT model.
	Although often used as {backup} storage, the high density
	floppy is not often used for interchangeability.  In 1986, IBM
	introduced the 720K 3.5" microfloppy disk on its Convertible
	{laptop computer}.  It introduced the 1.44 megabyte double
	density version with the PS/2 line.  These disk drives can be
	added to existing PCs.

	Fixed, non-removable, {hard disks} for IBM compatibles are
	available with storage capacities from 20 to over 600
	megabytes.  If a hard disk is added that is not compatible
	with the existing {disk controller}, a new controller board
	must be plugged in.  However, one disk's internal standard
	does not conflict with another, since all programs and data
	must be copied onto it to begin with.  Removable hard disks
	that hold at least 20 megabytes are also available.

	When a new peripheral device, such as a {monitor} or
	{scanner}, is added to an IBM compatible, a corresponding, new
	controller board must be plugged into an {expansion slot} (in
	the bus) in order to electronically control its operation.
	The PC and XT had eight-bit busses; the AT had a 16-bit bus.
	16-bit boards will not fit into 8-bit slots, but 8-bit boards
	will fit into 16-bit slots.  {Intel 80286} and {Intel 80386}
	computers provide both 8-bit and 16-bit slots, while the 386s
	also have proprietary 32-bit memory slots.  The bus in
	high-end models of the PS/2 line is called "{Micro Channel}".
	{EISA} is a non-IBM rival to Micro Channel.

	The original IBM PC came with {BASIC} in {ROM}.  Later, Basic
	and BasicA were distributed on floppy but ran and referenced
	routines in ROM.

	IBM PC and PS/2 models

	PC range

			Intro	  CPU	  Features
	 PC		Aug 1981   8088	  Floppy disk system
	 XT		Mar 1983   8088	  Slow hard disk
	 XT/370		Oct 1983   8088	  IBM 370 mainframe emulation
	 3270 PC	Oct 1983   8088	  with 3270 terminal emulation
	 PCjr		Nov 1983   8088	  Floppy-based home computer
	 PC Portable	Feb 1984   8088	  Floppy-based portable
	 AT		Aug 1984   286	  Medium-speed hard disk
	 Convertible	Apr 1986   8088	  Microfloppy laptop portable
	 XT 286		Sep 1986   286	  Slow hard disk

	PS/2 range

			Intro	  CPU	  Features
	 Model 1987-08-25   8086	  PC bus (limited expansion)
	 Model 1987-04-30   8086	  PC bus
	 Model 30 1988-09-286   286	  PC bus
	 Model 1987-04-50   286	  Micro Channel bus
	 Model 50Z	Jun 1988   286	  Faster Model 50
	 Model 55 SX	May 1989   386SX  Micro Channel bus
	 Model 1987-04-60   286	  Micro Channel bus
	 Model 1988-06-70   386	  Desktop, Micro Channel bus
	 Model P1989-05-70   386	  Portable, Micro Channel bus
	 Model 1987-04-80   386	  Tower, Micro Channel bus

	IBM PC compatible specifications

	 CPU   CPU    Clock    Bus	    Floppy	  Hard
	       bus    speed   width  RAM    disk	  disk	   OS
	       bit    Mhz     bit   byte    inch   byte	  Mbyte

	 8088  16    4.8-9.5	8    1M*     5.25  360K	  10-40	  DOS
					     3.5   720K
					     3.5   1.44M

	 8086  16     6-12     16    1M*		  20-60

	 286   16     6-25     16   1-8M*    5.25  360K	  20-300  DOS
					     5.25  1.2M		  OS/2

	 386   32     16-33    32   1-16M**  3.5   720K		  Unix
					     3.5   1.44M  40-600

	 386SX 32     16-33    16   1-16M**		  40-600

	*Under DOS, RAM is expanded beyond 1M with EMS memory boards

	**Under DOS, RAM is expanded beyond 1M with normal "extended"
	memory and a memory management program.

	See also {BIOS}, {display standard}.

	(1995-05-12)

IBM PC AT

	<computer> ("Advanced Technology") A version of the {IBM PC},
	released in Aug 1984 with an {Intel 80286} processor, a 16-bit
	{bus}, a medium-speed {hard disk} and a 1.2 {megabyte}
	{floppy} {disk drive}.  It had a larger case than the PC,
	which allowed it to accept "{tall cards}".

	The AT keyboard corrected the PC's non-standard placement of
	the {return} and left shift keys but shortened the {backspace}
	key, making it harder to reach.

	(1995-03-01)

IBM PCjr

	<computer> ({IBM PC} Junior) A {floppy disk}-based home
	computer with an {Intel 8088} {CPU} and a {chiclet keyboard},
	released in November 1983.  The PCjr could be expanded to have
	two floppy drives and 640 kilobytes of {RAM} using {sidecars}.
	Some even had a {mouse} and could run drawing programs with
	{popup menus}.

	(1995-10-06)

IBM PC XT

	<computer> An {IBM PC} with a (slow) {hard disk}.  The XT was
	released in March 1983.  It had an {Intel 8088} {CPU}.  The
	XT/370, released in October 1983, added {IBM 370} {mainframe}
	{emulation}, and the XT 286 followed in September 1986 with an
	{Intel 80286} CPU [Why?].

	(1996-05-21)

IBM System/36

	<computer> A mid-range {computer} introduced in 1983, which
	remained popular in the 1990s because of its low cost and high
	performance.  Prices started in the $20k range for the small
	5362 to $100+k for the expanded 5360.  In 1994, IBM introduced
	the Advanced 36 for $9,000.

	The largest 5360 had 7MB of {RAM} and 1432MB of {hard disk}.
	The smallest 5362 had 256K of RAM and 30MB of hard disk.  The
	Advanced 36 had 64MB of RAM and 4300MB of hard disk, but
	design issues limit the amount of storage that can actually be
	addressed by the {operating system}; underlying {microcode}
	allowed additional RAM to cache disk reads and writes,
	allowing the Advanced 36 to outperform the S/36 by 600 to
	800%.

	There was only one operating system for the S/36: SSP ({System
	Support Product}).  SSP consumed about 7-10MB of hard drive
	space.  Computer programs on the S/36 reside in "libraries,"
	and the SSP itself resides in a special system library called
	#LIBRARY.

	Components of SSP include the {Data File Utility} (DFU), the
	{Source Entry Utility} (SEU), the largely obselete {Work
	Station Utility} (WSU), the {Screen Design Aid} (SDA) and
	{Operational Control Language} (OCL).

	Using the IBM S/36 is relatively simple.  The operator sits in
	front of a computer monitor, types on a keyboard, and
	interacts using a series of on-screen forms.  S/36 is
	command-oriented, like MS-DOS, however, S/36 additionally uses
	more than 70 menus which allow operators to type the number of
	an appropriate command or response, and application writers
	can create their own menus and commands ("procedures.")

	Programmers use SEU to create or modify a {source} program
	which is then compiled into an {object program}.  SEU uses 50
	or so {templates} to assist the operator with the {syntax} of
	different types of sources.

	By 1985, an application called {Programmer/Operator
	Productivity} was widely available and was probably the most
	popular (and pirated) S/36 software ever written.  POP
	included a {full-screen editor} called {FSEDIT} which could be
	used in place of SEU, which only allowed single-line editing.

	Data File Utility allows the programmer to quickly create a
	simple, single-record display program to add, update and
	delete {records} within a file.  Also, simple report programs
	can be created.

	Screen Design Aid allows the programmer to create menus,
	create and update simple forms which are called "display
	formats" or "prompt screens", and view existing display
	formats.

	By using Operational Control Language, the programmer can
	assign files and resources to a particular program and pass
	run-time information like a processing date, order number, or
	user name to the compiled program.  Programs can acquire up to
	8 workstations, or run in the background, but usually they run
	on only one workstation.  The largest program size is 64K.

	Whenever a program is called, SSP searches in the named user
	library and then #LIBRARY.  Therefore, a system program can be
	called from any library and all users have access to it.

	S/36 has three types of security: (1) password security, (2) a
	badge reader option that almost no-one ever bought, and (3)
	resource security.  There are five levels of users access and
	five levels of resource access.  By using password and
	resource security effectively, the administrator (who was at
	that time often called a DP Manager or Information Systems
	Manager) can restrict access to critical and secure
	applications.

	The cheapest, and therefore most popular, language {compiler}
	for the S/36 is {RPG II}, a language based on fixed logic
	cycles which arose in the days of {card readers}.  Other
	languages include {COBOL}, {FORTRAN} and {BASIC}.  Almost
	every S/36 shop with in-house design uses RPG.

	It's interesting to note that the S/36 allows the operator to
	change a program while it is being used, which can be very
	dangerous on live data.  The S/38 and the iSeries computer do
	not allow this.

	IBM has not marketed the S/36 or Advanced 36 since 2000.
	Price/performance of the {AS/400} (aka iSeries) and hardware
	technology of the present-generation {PC} makes the S/36 a
	much less attractive offering from a different era in
	computing.

	(2005-04-05)

IBM Systems Engineer

	<job> (SE) A software person from {IBM}.

	(1998-07-08)

IBM zSeries

	{IBM 370ESA}

Ibpag2

	{Icon-Based Parser Generation System 2}

Iburg

	A program by Christopher W. Fraser <cwf@research.att.com>,
	David R. Hanson <drh@princeton.edu> and Todd A. Proebsting
	<todd@cs.arizona.edu> that generates a fast tree parser.

	Iburg is compatible with {Burg}.  Both programs accept a
	cost-augmented tree {grammar} and emit a {C} program that
	discovers an optimal parse of trees in the language described
	by the grammar.  They have been used to construct fast optimal
	instruction selectors for use in code generation.  Burg uses
	{BURS}.  Iburg's matchers do {dynamic programming} at compile
	time.

	{(ftp://ftp.cs.princeton.edu/pub/iburg.tar.Z)}.

	(1993-02-10)

IC

	1. <hardware> {integrated circuit}.

	2. {Independent Carrier}.

	3. {Imperial College}.

	(1997-04-12)

ICA

	{Independent Computing Architecture}

ICAM

	{Integrated Computer Aided Manufacturing}

ICANN

	{Internet Corporation for Assigned Names and Numbers}

I-CASE

	Integrated {CASE}.  Another term for an {IPSE}.

ICBM address

	<networking, humour> (Or "missile address") The form used to
	register a site with the {Usenet} mapping project includes a
	space for longitude and latitude, preferably to seconds-of-arc
	accuracy.  This is actually used for generating
	geographically-correct maps of {Usenet} links on a plotter;
	however, it has become traditional to refer to this as one's
	"ICBM address" or "missile address", and many people include
	it in their {sig block} with that name.  (A real missile
	address would include target altitude.)

	[{Jargon File}]

	(1994-12-15)

ICE

	1. <electronics> {in-circuit emulator}.

	2. <security, jargon> {Intrusion Countermeasure Electronics}.

	(2000-03-18)

icebreaker

	<security, jargon> A program designed for cracking security on
	a system.

	See also: {ICE}.

	[{Jargon File}]

	(2000-03-18)

ICES

	Integrated Civil Engineering System.  Subsystems include COGO,
	STRUDL, BRIDGE, LEASE, PROJECT, ROADS and TRANSET.  Internal
	languages include ICETRAN and CDL.  "An Integrated Computer
	System for Engineering Problem Solving", D. Roos, Proc SJCC
	27(2), AFIPS (Spring 1965).  Sammet 1969, pp.615-620.

ICETRAN

	An extension of {Fortran IV} and a component of {ICES}.

	[Sammet 1969, p. 617].

ICI

	<language> An extensible, interpretated language by Tim Long
	with {syntax} similar to {C}.  ICI adds high-level
	garbage-collected {associative} data structures, {exception}
	handling, sets, {regular expressions}, and {dynamic arrays}.

	Libraries provide additional types and functions to support
	common needs such as I/O, simple {databases}, character based
	screen handling, direct access to {system calls}, {safe
	pointers}, and {floating-point}.

	ICI runs on {Microsoft Windows}, {MS-DOS}, {Unix}, and {Linux}
	and in {embedded} environments.

	{(http://zeta.org.au/~atrn/ici/)}.

	{(ftp://ftp.research.canon.com.au/pub/misc/ici)}.

	E-mail: Andy Newman <andy@research.canon.com.au>.

	Mailing list: ici@research.canon.com.au.

	(1999-12-07)

ICL

	{International Computers Limited}.

ICMP

	{Internet Control Message Protocol}

ICMP Router Discovery Protocol

	<protocol> (IRDP) A {routing} {protocol} used by {Microsoft
	Windows} {DHCP} clients and various {Unix} flavors.

	{Vulnerability
	(http://securiteam.com/securitynews/Most_DHCP_clients_are_vulnerable_to_an_IRDP_attack.html)}.

	[Details?  Reference?]

	(1999-10-31)

I-Comm

	<tool, web> A graphical {web browser}
	for {IBM PCs} with a {window system} ({Windows 95}, {Windows
	NT} or {OS/2}).  I-Comm does NOT require a {SLIP} or {PPP}
	connection, just a {modem}.  It is available as a {shareware}
	program.

	Version: 1.15 Beta1.

	{(http://talentcom.com/icomm/icomm.htm)}, {mirror
	(http://best.com:80/~icomm/icomm/icomm.htm)}.

	{FTP netcom.com (ftp://ftp.netcom.com/pub/ic/icomm/)},
	{FTP best.com (ftp://ftp.best.com/pub/icomm/icomm/)}.

	E-Mail: <icomm@talentcom.com>.

	(1996-03-22)
iCOMP

	{Intel Comparative Microprocessor Performance index}

Icon

	<language> A descendant of {SNOBOL4} with {Pascal}-like
	syntax, produced by Griswold in the 1970's.  Icon is a
	general-purpose language with special features for string
	scanning.  It has dynamic types: records, sets, lists,
	strings, tables.  If has some {object oriented} features but
	no {modules} or {exceptions}.  It has a primitive {Unix}
	interface.

	The central theme of Icon is the generator: when an expression
	is evaluated it may be suspended and later resumed, producing
	a result sequence of values until it fails.  Resumption takes
	place implicitly in two contexts: iteration which is
	syntactically loop-like ('every-do'), and goal-directed
	evaluation in which a conditional expression automatically
	attempts to produce at least one result.  Expressions that
	fail are used in lieu of Booleans.  Data {backtracking} is
	supported by a reversible {assignment}.  Icon also has
	{co-expressions}, which can be explicitly resumed at any time.

	Version 8.8 by Ralph Griswold <ralph@cs.arizona.edu> includes
	an {interpreter}, a compiler (for some {platforms}) and a
	library (v8.8).  Icon has been ported to {Amiga}, {Atari},
	{CMS}, {Macintosh}, {Macintosh/MPW}, {MS-DOS}, {MVS}, {OS/2},
	{Unix}, {VMS}, {Acorn}.

	See also {Ibpag2}.

	{(ftp://cs.arizona.edu/icon/)}, {MS-DOS FTP
	(ftp://bellcore.com norman/iconexe.zip)}.

	{Usenet} newsgroup: {news:comp.lang.icon}.

	E-mail: <icon-project@cs.arizona.edu>, <mengarini@delphi.com>.

	Mailing list: icon-group@arizona.edu.

	["The Icon Programmming Language", Ralph E. Griswold and Madge
	T. Griswold, Prentice Hall, seond edition, 1990].

	["The Implementation of the Icon Programmming Language", Ralph
	E. Griswold and Madge T. Griswold, Princeton University Press
	1986].

	(1992-08-21)

icon

	<graphics> A small picture intended to represent something (a
	file, directory, or action) in a {graphical user interface}.
	When an icon is clicked on, some action is performed such as
	opening a directory or aborting a file transfer.

	Icons are usually stored as {bitmap} images.  {Microsoft
	Windows} uses a special bitmap format with file name extension
	".ico" as well as embedding icons in executable (".exe") and
	{Dynamically Linked Library} (DLL) files.

	The term originates from {Alan Kay}'s theory for designing
	interfaces which was primarily based on the work of Jerome
	Bruner.  Bruner's second developmental stage, iconic, uses a
	system of representation that depends on visual or other
	sensory organization and upon the use of summarising images.

	{IEEE publication
	(http://ieee.org/organizations/history_center/cht_papers/Barnes.pdf)}.

	[What MS tool can create .ico files?]

	(2003-08-01)

Icon-Based Parser Generation System 2

	<language> (Ibpag2) A {parser generator} for {Icon} by Richard
	L. Goerwitz <goer@midway.uchicago.edu>.  It can handle both
	{SLR1 grammars} and even {GLR grammars} ({Tomita grammars}).
	Ibpag2 runs under {Unix}.

	Latest version: 1.0 (beta), as of 1993-07-13.

	(2004-06-06)

Iconicode

	1990-1992.  Visual dataflow language, token-based with
	hierarchical, recursive and iterative constructs.  Version:
	IDF with extensions for image processing.

	["IDF: A Graphical Data Flow Programming Language for Image
	Processing and Computer Vision", Neil Hunt, Proc IEEE Conf on
	Systems Man & Cybernetics, IEEE, Nov 1990.  Available from
	Iconicon <icon@teleos.com>].

ICONIX Software Engineering, Inc.

	<company> Makers of {ICONIX PowerTools}, software development
	tools, and the first {CD-ROM} training course in
	{object-oriented} methods.  ICONIX started operating in 1984.

	{(http://biap.com/iconix/)}.

	Address: 2800 28th Street, Suite 320, Santa Monica, CA 90405,
	USA.  Telephone: +1 (310) 458 0092

	(1995-04-30)

IC-Prolog

	Clark & McCabe, Imperial College 1979.  Logic language with
	coroutining.

	["IC-Prolog Language Features", K.L. Clark <klc@doc.ic.ac.uk>
	et al in Logic Programming, K.L. Clark et al eds, pp.253-266,
	Academic Press 1982].

IC Prolog II

	<language, Prolog> {Imperial College} Prolog.  A {Prolog} with
	{multi-threading}, {TCP} primitives for {interprocess
	communication}, {mailboxes}, and an interface to {Parlog}.

	{(ftp://doc.ic.ac.uk/computing/programming/languages)}.

	["IC Prolog II: A Language for Implementing Multi-Agent
	Systems", Y. Cosmadopoulos et al, in Tutorial and Workshop on
	Cooperating Knowledge Based Systems, Keele U 1992].

	(1994-11-01)

ICQ

	<chat> 1. Abbreviation for "I seek you".

	2. A proprietary {chat} system created by a couple of israeli
	guys, who later founded "mirabilis".  ICQ was sold to {America
	On-Line} around 1998.

	The name "ICQ" is a play on "cq", the radio signal for seeking
	conversation.

	{(http://icq.com/)}.

	[Confirm derivation?  TCP?  Summary?]

	(2000-04-03)

ICSI

	{International Computer Science Institute} at Berkeley, CA.

ICT

	1. <education> {Information and Communication Technology}.

	2. <testing> {In Circuit Test}.

	(2000-04-04)

ICW

	{Interactive CourseWare}

ICWS

	International {Core War} Society.

Id

	{Irvine Dataflow}

id

	<networking> The {country code} for Indonesia.

	(1999-01-27)

I-D

	{Internet-Draft}

ID10T

	<abuse> /I D ten T/ A grade of user problem somewhere between
	{PEBCAK} and {UBD}.  Considered friendlier than saying, "You
	called me down here to exit a modal dialog box for you?"

	(2003-06-07)

IDAMS

	A pictorial retrieval language implemented in {APL}.

	["Concept of the Diagnostic Image Workstation",
	D. Meyer-Ebrecht, Proc 2nd Conf on Picture Archiving (PACS
	II), SPIE 418, pp.180-183 (1983)].

IDD

	{international direct dialing}

IDE

	1. <storage> Integrated Drive Electronics, see {Advanced
	Technology Attachment}.

	2. <programming, tool> {integrated development environment}.

	3. <company> {Interactive Development Environments}.

	(2002-04-14)

IDEA

	1. <language> {Interactive Data Entry/Access}.

	2. <algorithm> {International Data Encryption Algorithm}.

	(1996-02-16)

IDEAL

	1. Ideal DEductive Applicative Language.  A language by Pier
	Bosco and Elio Giovannetti combining {Miranda} and {Prolog}.
	Function definitions can have a {guard} condition (introduced
	by ":-") which is a conjunction of equalities between
	arbitrary terms, including functions.  These guards are solved
	by normal {Prolog} {resolution} and {unification}.  It was
	originally compiled into {C-Prolog} but was eventually to be
	compiled to {K-leaf}.

	2. A numerical {constraint} language written by Van Wyk of
	{Stanford} in 1980 for {typesetting} graphics in documents.
	It was inspired partly by {Metafont} and is distributed as
	part of {Troff}.

	["A High-Level Language for Specifying Pictures", C.J. Van
	Wyk, ACM Trans Graphics 1(2):163-182 (Apr 1982)].

	(1994-12-15)

ideal

	<theory> In {domain theory}, a non-empty, {downward closed}
	subset which is also closed under binary {least upper bounds}.
	I.e. anything less than an element is also an element and the
	least upper bound of any two elements is also an element.

	(1997-09-26)

Idealized CSP

	<language> A programming language combining simply typed,
	{call-by-name} {procedures} with {asynchronous} communicating
	processes, assuming fair parallel execution.  Idealized CSP
	generalises {Anthony Hoare}'s original {CSP} and Kahn's
	networks of {deterministic} processes, and is closely related
	to {Parallel Algol} by Stephen Brookes of {CMU}.

	Procedures permit the encapsulation of common {protocols} and
	parallel programming idioms.  {Local variables} and local
	channel declarations provide a way to delimit the scope of
	interference between parallel agents, and allow a form of
	concurrent {object-oriented programming}.

	[Was this language also designed by Brookes?]

	(1997-09-26)

Idealized Instruction Set

	<language> (IIS) The {assembly language} for the {Flagship}
	parallel machine.

	["An Idealized Instruction Set for a Packet Rewrite Machine",
	J. Sargeant, Manchester U, 1988].

	(1994-11-07)

IDEF

	{ICAM} Definition.

IDEF0

	<modeling> A minor elaboration on {SADT}.

	{IDEF Home (http://www.idef.com/idef0.html)}.

	(2007-02-12)

idempotent

	1. A function f : D -> D is idempotent if

		f (f x) = f x  for all x in D.

	I.e. repeated applications have the same effect as one.  This
	can be extended to functions of more than one argument,
	e.g. Boolean & has x & x = x.  Any value in the {image} of an
	idempotent function is a {fixed point} of the function.

	2. This term can be used to describe {C} header files, which
	contain common definitions and declarations to be included by
	several source files.  If a header file is ever included twice
	during the same compilation (perhaps due to nested #include
	files), compilation errors can result unless the header file
	has protected itself against multiple inclusion; a header file
	so protected is said to be idempotent.

	3. The term can also be used to describe an initialisation
	subroutine that is arranged to perform some critical action
	exactly once, even if the routine is called several times.

	[{Jargon File}]

	(1995-01-11)

identifier

	1. <programming, operating system> A formal name used in
	{source code} to refer to a {variable}, {function},
	{procedure}, {package}, etc. or in an {operating system} to
	refer to a {process}, {user}, {group}, etc.

	Each different type of entity may have a different range of
	valid identifiers or "name space".  For example, an identifier
	in {C} is a series of one or more letters, digits and
	{underscores} that does not begin with a digit.  An identifier
	has a type, e.g. integer variable, {hash}, {variant} and a
	{scope}, e.g. {block}, {global}.

	(2006-05-29)

	2. <database> (id) A {primary key}.  The column containing a
	table's primary key is frequently named after the table with
	"_id" appended, e.g. "customer_id".

	(2006-05-29)

ideogram

	<text, graphics> A {symbol} representing a concept.  Nearly all
	ideograms are {pictograms} - pictures of the thing represented,
	others are merely conventional.  An example of non-pictorial
	ideogram might be the {degree} symbol (a superfix circle) when
	used for temperature.

	(2014-07-30)

{IDF}

	<networking> {Intermediate Distribution Frame}.

I didn't change anything!

	An aggrieved cry often heard as bugs manifest during a
	regression test.  The {canonical} reply to this assertion is
	"Then it works just the same as it did before, doesn't it?"
	See also {one-line fix}.  This is also heard from applications
	programmers trying to blame an obvious applications problem on
	an unrelated systems software change, for example a
	divide-by-0 fault after terminals were added to a network.
	Usually, their statement is found to be false.  Upon close
	questioning, they will admit some major restructuring of the
	program that shouldn't have broken anything, in their opinion,
	but which actually {hosed} the code completely.

	[{Jargon File}]

idk

	<chat> I don't know.

	(2003-09-23)

IDL

	<language>

	1. {Interactive Data analysis Language} ({Xerox}).

	2. {Interface Description Language} (Snodgrass, UNC, Arizona).

	3. {Interface Definition Language} ({SunSoft}, {OMG}).

	4. {Interactive Data Language} ({Research Systems}).

	(2004-05-07)

IDMS

	1. <language, database> A pictorial {query language},
	an extension of {Sequel2}.

	["A Management System for an Integrated Database of Pictures
	and Alphanumeric Data", G.Y. Tang, Computer Graphics Image
	Processing 16:270-286 (1981)].

	2. <database> {Integrated Database Management System}.

	(2002-06-10)

IDMSX

	<database> {IDMS} extended.

	(1995-04-19)

Id Nouveau

	A {dataflow} language by Arvind <arvind@lcs.mit.edu> and
	R.S. Nikhil <nikhil@crl.dec.com>, {MIT} {LCS}, ca. 1986.

	Id Nouveau began as a {functional language}, added {streams},
	resource managers and {I-structures} ({mutable arrays}).
	Loops are {syntactic sugar} for {tail recursion}.

	See also {Id}.

	["Id Nouveau Reference Manual", R.S.  Nikhil, CS TR, MIT,
	March 1988].

	["Id (Version 90.1) Reference Manual", R.S. Nikhil, CSG Memo
	284-2, LCS MIT, July 15, 1991].

IDOL

	Icon-Derived Object Language.  An {object-oriented}
	{preprocessor} for {Icon}.

	{(ftp://src.doc.ic.ac.uk/pub/languages/icon/idol.tar.Z)}.

	["Programming in Idol: An Object Primer", C.L. Jeffery, U
	Arizona CS TR #90-10].

IDS/I

	Integrated Data Store.  An extension to {COBOL} involving
	"chains" (circular lists), for {General Electric} computers.

	["A General Purpose Programming System for Random Access
	Memories", C.W. Bachman et al, Proc FJCC 26(1), AFIPS (Fall
	1964)].

	[Sammet 1969, p. 376].

IDSN

	{ISDN}

id Software

	<games> Creators and publishers of the {DOOM} game for {IBM
	PCs}.

	E-mail: <help@idsoftware.com>.  Telephone: +1 800-ID-GAMES
	(Orders only).

IDSS

	{Intelligent Decision Support Systems}

IE

	{Internet Explorer}

ie

	<networking> The {country code} for Ireland.

	(1999-01-27)

IEC

	{International Electrotechnical Commission}

IEC 559

	{IEEE Floating Point Standard}

IEEE

	{Institute of Electrical and Electronics Engineers}

IEEE 1076

	The {IEEE} standard for {VHDL}.

IEEE 1394

	{High Performance Serial Bus}

IEEE 488

	<hardware, standard> (GPIB, General-Purpose Interface Bus,
	HP-IB, Hewlett-Packard Interface Bus) An 8-bit parallel {bus}
	common on {test equipment}.

	The IEEE-488 standard was proposed by {Hewlett-Packard} in the
	late 1970s and has undergone a couple of revisions.  HP
	documentation (including data sheets and manuals) calls it
	HP-IB, or Hewlett-Packard Interface Bus.

	It allows up to 15 intelligent devices to share a single bus,
	with the slowest device participating in the control and data
	transfer handshakes to drive the speed of the transaction.
	The maximum data rate is about one {megabit} per second.

	Other standards committees have adopted HP-IB (American
	Standards Institute with ANSI Standard MC 1.1 and
	International Electro-technical Commission with IEC
	Publication 625-1).

	To paraphrase from the HP 1989 Test & Measurement Catalog (the
	50th Anniversary version): The HP-IB has a party-line
	structure wherein all devices on the bus are connected in
	parallel.  The 16 signal lines within the passive
	interconnecting HP-IB (IEEE-488) cable are grouped into three
	clusters according to their functions (Data Bus, Data Byte
	Transfer Control Bus, General Interface Management Bus).

	In June 1987 the IEEE approved a new standard for programmable
	instruments called IEEE Std. 488.2-1987 Codes, Formats,
	Protocols, and Common Commands.  It works with the IEEE
	Standard Digital Interface for Programmable Instrumentation,
	IEEE 488-1978 (now 488.1).  HP-IB is Hewlett-Packard's
	implementation of IEEE 488.1.

	(1996-05-10)

IEEE 754

	{IEEE Floating Point Standard}

IEEE 802

	<networking, standard> The {IEEE} standards for {local area
	networks}.  The {spanning tree algorithm} is defined in {IEEE
	802.1} (under consideration), {Logical Link Control} (LLC, the
	upper portion of the {data link layer}) in {IEEE 802.2},
	{Ethernet} in {IEEE 802.3}, {Token Bus} in IEEE 802.4 and IBM
	{Token Ring} in {IEEE 802.5}.

	The equivalent {ISO} {standard} is IS 8802.

	(1995-02-15)

IEEE 802.1

	<networking, standard> An {IEEE} working group concerned with
	the {IEEE 802} family of {networking} {standards},
	specifically {bridging} and {network management}.

	The {spanning tree protocol} is standardised as 802.1D.

	(2010-09-26)

IEEE 802.2

	(Networks) The {IEEE} standard defining {Logical Link Control}
	(LLC, the upper portion of the {data link layer}) for {local
	area networks}.

	(1995-02-14)

IEEE 802.3

	<networking> The {IEEE} standard defining the {hardware layer}
	and {transport layer} of (a varient of) {Ethernet}.  The
	maximum {segment} length is 500m and the maximum total length
	is 2.5km.  The maximum number of hosts is 1024.

	The maximum {packet} size is 1518 bytes.  If the upper layer
	{protocol} submits a {PDU} less than 64 bytes, 802.3 will pad
	the {LLC Info} field to achieve the minimum 64 bytes.

	Although it is not technically correct, the terms "{packet}"
	and frame are used interchangeably.  The {ISO}/{IEC} 8802-3
	{ANSI}/{IEEE} 802.3 Standards refer to {MAC} sub-layer
	{frames} consisting of the Destination Address, Source
	Address, Length, LLC Info., and {FCS} fields.  The {Preamble}
	and {SFD} are (usually) considered a header to the {MAC}
	Frame.  This header plus the MAC Frame constitute a "Packet".

	(1995-07-09)

IEEE 802.3u

	<networking, standard> The {IEEE} committee working on
	standards for {Fast Ethernet}.

	(1998-06-30)

IEEE 802.3z

	<networking, standard> The {IEEE} committee working on
	standards for {Gigabit Ethernet}.

	(1998-06-30)

IEEE 802.4

	<networking, standard> The {IEEE} {Token Bus} {standard}.

	(1996-12-12)

IEEE 802.5

	The {IEEE} {token ring} {standard}.  The most common type of
	token ring.

	(1994-10-27)

IEEE Computer Society

	<body> The society of the {IEEE} which publishes the journal
	"Computer".

	{(http://computer.org/)}.

	(1995-03-10)

IEEE Floating Point Standard

	<standard, mathematics> (IEEE 754) "{IEEE} Standard for Binary
	{Floating-Point} Arithmetic (ANSI/IEEE Std 754-1985)" or {IEC}
	559: "Binary floating-point arithmetic for microprocessor
	systems".  A {standard}, used by many {CPUs} and {FPUs}, which
	defines formats for representing floating-point numbers;
	representations of special values (e.g. {infinity}, very small
	values, {NaN}); five {exceptions}, when they occur, and what
	happens when they do occur; four {rounding modes}; and a set
	of floating-point operations that will work identically on any
	conforming system.

	IEEE 754 specifies formats for representing floating-point
	values: single-precision (32-bit) is required,
	double-precision (64-bit) is optional.  The standard also
	mentions that some implementations may include single-extended
	precision (80-bit) and double-extended precision (128-bit)
	formats.

	[On-line document?]

	(2003-06-17)

IEEE Standard 1149.1

	{Joint Test Action Group}

IEF

	{Advantage Gen}

IEN

	{Internet Experiment Note}

IEPG

	{Internet Engineering and Planning Group}

IESG

	{Internet Engineering Steering Group}

IETF

	{Internet Engineering Task Force}

IF1

	<language> A graph language used as an intermediate language
	for {dataflow} hardware.  Used by the {OSC} {SISAL} compiler.

	["The Manchester Prototype Dataflow Computer", J.R. Gurd et
	al, CACM 28(1):34-52, Jan 1985].

	(1996-01-05)

IF2

	<language> S graph language used by the {OSC} {SISAL}
	compiler, a superset of {IF1}.

	["IF2: An Applicative Language Intermediate Form with Explicit
	Memory Management", M. L. Welcome et al, UC-LLNL, Nov 1986].

	(1996-01-05)

IFAC

	International Federation of Automatic Control, involved in
	informatics related to control systems.

IFC

	{Internet Foundation Classes}

ifdef out

	/if'def owt/ v. Synonym for {condition out}, specific
	to {C}.

	[{Jargon File}]

IFDL

	<language> Independent Form Description Language.

	{DEC}'s language for describing form-based human interfaces in
	{DECforms}.

	(1995-04-21)

IFF

	1. <file format> {Interchange File Format}.

	2. Identify friend or foe (radar).

iff

	<mathematics, logic> if and only if, i.e. necessary and
	sufficient.  For example, two figures are {congruent} iff one
	can be placed over the other so that they coincide.

	(2002-12-28)

IFIP

	1. {International Federation for Information Processing}.

	2. A subset of {ALGOL}.

	[Sammet 1969, p. 180].

IFP

	{Illinois Functional Programming}

IFS

	1. <operating system> {internal field separators}.

	2. <operating system> {Installable File System}.

	3. <graphics> {Iterated Function System}.

	(1999-04-07)

IFX

	["Type Reconstruction with First-Class Polymorphic Values",
	J. O'Toole et al, SIGPLAN Notices 24(7):207-217 (Jul 1989)].

If you want X, you know where to find it.

	<exclamation> There is a legend that {Dennis Ritchie},
	inventor of {C}, once responded to demands for features
	resembling those of what at the time was a much more popular
	language by observing "If you want {PL/I}, you know where to
	find it."  Ever since, this has been hackish standard form for
	fending off requests to alter a new design to mimic some older
	(and, by implication, inferior and {baroque}) one.  The case X
	= {Pascal} manifests semi-regularly on {Usenet}'s
	{news:comp.lang.c} {newsgroup}.  Indeed, the case X = X has
	been reported in discussions of graphics software (see {X
	Window System}).

	[{Jargon File}]

	(1995-10-25)

IGC

	{Institute for Global Communications}

IGES

	Initial Graphics Exchange Specification: an ASME/ANSI standard
	for the exchange of CAD data.

IGL

	Interactive Graphic Language.  Used primarily by Physics Dept
	at Brooklyn Poly, uses numerical methods on vectors to
	approximate continuous function problems that don't have
	closed form solutions.

	[Is this being confused with Tektronix's graphics library by
	the same name?]

IGMP

	{Internet Group Management Protocol}

IGP

	{Interior Gateway Protocol}

IGPL

	{Interest Group in Pure and Applied Logics}

IGS

	{Internet Go Server}.

IGU

	<chat> I Give Up.  Often found appended to documents, e-mail,
	programs that don't work, etc.

	(1999-09-30)

IHS

	{Integrated Home System}

IHV

	{Independent Hardware Vendor}

IIcx

	{Apple IIcx}

IIDMS/R

	{Integrated database management system}

IIL

	{Integrated Injection Logic}

IINREN

	{Interagency Interim National Research and Education Network}

IIOP

	{Internet Inter-ORB Protocol}

IIR

	{Infinite Impulse Response}

IIRC

	<chat> If I recall/remember correctly.

	(1996-11-28)

IIS

	1. <web> {Internet Information Server}.

	2. <language> {Idealized Instruction Set}.

	(1999-08-26)

IIT

	{Integrated Information Technology}

IITF

	{Information Infrastructure Task Force}

IITRAN

	Simple PL/I-like language for students, on IBM 360.

	["The IITRAN Programming Language", R. Dewar et al, CACM
	12(10):569-575 (Oct 1969)].

il

	<networking> The {country code} for Israel.

	(1999-01-27)

ILBM

	{interleaved bit-map}

ILF

	{Independent Logical File}

ILIAD

	<language, real-time> A {real-time} language.

	["On the Design of a Language for Programming Real-Time
	Concurrent Processes", H.A. Schutz, IEEE Trans Soft Eng
	SE-5(3):248-255, May 1979].

	(2000-09-03)

I-Link

	{High Performance Serial Bus}

ILISP

	A somewhat {LISP Machine}-like interface to {lisp listeners}
	from {Emacs}.

	Version 5.0 Emacs interface by ? Ivan Vazquez
	<ivan@haldane.bu.edu>.

	{(ftp://haldane.bu.edu/)} (128.197.54.25).  E-mail:
	<ilisp-bug@darwin.bu.edu>, <ilisp-bugs@darwin.bu.edu>,
	<ilisp-request@darwin.bu.edu> (discussion).

	(1993-06-28)

ill-behaved

	1. [numerical analysis] Said of an {algorithm} or
	computational method that tends to blow up because of
	accumulated roundoff error or poor convergence properties.

	2. Software that bypasses the defined {operating system}
	interfaces to do things (like screen, keyboard, and disk I/O)
	itself, often in a way that depends on the hardware of the
	machine it is running on or which is nonportable or
	incompatible with other pieces of software.

	In the {IBM PC}/{mess-dos} world, there is a folk theorem
	(nearly true) to the effect that (owing to gross inadequacies
	and performance penalties in the OS interface) all interesting
	applications are ill-behaved.

	See also {bare metal}. Opposite: {well-behaved}, compare
	{PC-ism}.

	[{Jargon File}]

ILLIAC

	Assembly language for the ILLIAC computer.  Listed in CACM
	2(5):16, (May 1959) p.16.

Illiac IV

	<computer> One of the most infamous {supercomputers} ever.  It
	used early ideas on {SIMD} (single instruction stream,
	multiple data streams).  The project started in 1965, it used
	64 processors and a 13MHz clock.  In 1976 it ran its first
	sucessfull application.  It had 1MB memory (64x16KB).

	Its actual performance was 15 MFLOPS, it was estimated in
	initial predictions to be 1000 MFLOPS.  It totally failed as a
	computer, only a quarter of the fully planned machine was ever
	built, costs escalated from the $8 million estimated in 1966
	to $31 million by 1972, and the computer took three more years
	of enginering before it was operational.

	The only good it did was to push research forward a bit,
	leading way for machines such as the {Thinking Machines}
	{CM-1} and CM-2.

	(1995-04-28)

Illinois Functional Programming

	<language> (IFP) An {interpreter} written in {portable} {C} by
	Arch D. Robison for a variant of {Backus}'s {FP} with syntax
	like {ALGOL} or {Modula-2}.  IFP Runs under {Unix}, {CTSS}
	({Cray}) and {MS-DOS}.

	Version: 0.5.

	{(ftp://a.cs.uiuc.edu/pub/ifp)}.  Posted to comp.sources.unix
	volume 10.

	["The Illinois Functional Programming Interpreter",
	A.D. Robison, Proc 1987 SIGPLAN Conf on Interpreters and
	Interpretive Techniques (June 1987), pp. 64-73].

	["Illinois Functional Programming: A Tutorial", A.D. Robison,
	BYTE Feb 1987, pp. 115-125].

	(1994-10-24)

ILOC

	Rice U.  Register-oriented intermediate language targeted to
	PC/RT.  Source languages include {Fortran} and {Russell}.

Ilog Solver

	A commercial {constraint} programming system.

	(1994-11-15)

iMac

	<computer> One of the trademark/brand names that {Apple Inc}
	use for their {Mac} family of {personal computers}.

	(2009-05-05)

image

	1. <data, graphics> Data representing a two-dimensional scene.
	A digital image is composed of {pixels} arranged in a
	rectangular array with a certain height and width.  Each pixel
	may consist of one or more {bits} of information, representing
	the brightness of the image at that point and possibly
	including colour information encoded as {RGB} triples.

	{Images} are usually taken from the real world via a {digital
	camera}, {frame grabber}, or {scanner}; or they may be
	generated by computer, e.g. by {ray tracing} software.

	See also {image formats}, {image processing}.

	(1994-10-21)

	2. <mathematics> The image (or range) of a {function} is the
	set of values obtained by applying the function to all
	elements of its {domain}.  So, if f : D -> C then the set f(D)
	= \{ f(d) | d in D \} is the image of D under f.  The image is
	a subset of C, the {codomain}.

	(2000-01-19)

image formats

	<graphics, file format> There are many formats used to store
	{images} in files.  {GIF}, {TIFF} and {JPEG} are very common.
	Others are {BIFF}, {bmp}, {Clear}, {FITS}, {IFF}, {NFF},
	{OFF}, {PCX}, {PNG}, {TGA}, {XBM}.

	Some of these are documented on-line at the following sites:

	{The Graphics File Format Page
	(http://dcs.ed.ac.uk/~mxr/gfx/)}.
	{The NCSA file formats archive
	(ftp://ftp.ncsa.uiuc.edu/misc/file.formats/graphics.formats)}.
	{The Avalon repository
	(ftp://avalon.viewpoint.com/pub/format_specs)}.

	[Others?]

	(1997-08-07)

image map

	<web> An image in an {HTML} document with "hot
	spots" which when clicked on in a suitable {browser}, act as
	{anchors} or links to other information.  For example, an
	image of a map of the world might provide links to resources
	related to different countries.  Clicking on a country would
	take the user to the relevant information.

	[Documentation URL?]

	(1995-12-05)

image processing

	<graphics> Computer manipulation of {images}.  Some of the
	many {algorithms} used in image processing include
	{convolution} (on which many others are based), {FFT}, {DCT},
	{thinning} (or {skeletonisation}), {edge detection} and
	{contrast enhancement}.  These are usually implemented in
	{software} but may also use special purpose {hardware} for
	speed.

	Image processing contrasts with {computer graphics}, which is
	usually more concerned with the generation of artificial
	images, and {visualisation}, which attempts to understand
	(real-world) data by displaying it as an artificial image
	(e.g. a graph).  Image processing is used in {image
	recognition} and {computer vision}.

	{Silicon Graphics} manufacture {workstations} which are often
	used for image processing.  There are a few programming
	languages designed for image processing, e.g. {CELIP}, {VPL}.

	See also {Pilot European Image Processing Archive}.

	{Usenet} newsgroup: {news:sci.image.processing}.

	[Other algorithms, languages?  FAQ?]

	(1995-04-12)

image recognition

	<graphics, artificial intelligence> The identification of
	objects in an {image}.  This process would probably start with
	{image processing} techniques such as {noise removal},
	followed by (low-level) {feature extraction} to locate lines,
	regions and possibly areas with certain textures.

	The clever bit is to interpret collections of these shapes as
	single objects, e.g. cars on a road, boxes on a conveyor belt
	or cancerous cells on a microscope slide.  One reason this is
	an {AI} problem is that an object can appear very different
	when viewed from different angles or under different lighting.
	Another problem is deciding what features belong to what
	object and which are background or shadows etc.  The human
	visual system performs these tasks mostly unconsciously but a
	computer requires skillful programming and lots of processing
	power to approach human performance.

	(1997-07-20)

imaging

	<graphics> The production of graphic {images}, either from a
	video camera or from digitally generated data (see
	{visualisation}), or the recording of such images on
	microfilm, videotape or laser disk.

	See also {scanner}.

	(1997-07-20)

Imago Europe plc

	A UK {Internet} provider.  There sevice is called {Imago
	On-line}.  E-mail: <info@imago.com>.

Imago On-line

	An {Internet} {electronic mail} and {news} service in the
	United Kingdom provided by {Imago Europe} plc.

	A one year subscription to the service costs just seventy five
	pounds plus VAT and offers {dial-up} access with a {graphical
	user interface} for users of {Macintosh} and {Microsoft
	Windows} {PCs} and the {Apple Newton} {MessagePad} {PDA}
	family.

imake

	A tool which generates {Makefiles} from a template, a set of
	{cpp} {macros}, and a per-directory input file called an
	Imakefile.  This allows machine dependencies (such has
	compiler options, alternate command names, and special make
	rules) to be kept separate from the descriptions of the
	various items to be built.

	imake is distributed with, and used extensively by, the {X
	Window System}.

	(1995-02-21)

IMAO

	{IMHO}

IMAP

	{Internet Message Access Protocol}

imc

	<language> A {REXX} {interpreter} for {SunOS}.

	Current version 1.3 [?].

	{(ftp://rexx.uwaterloo.ca/pub/freerexx/imc/)}.

	(2000-11-07)

IMD

	{intermodulation distortion}

IMHO

	<chat> (From SF fandom via {Usenet}) In My Humble Opinion.
	Also seen in variant forms such as IMO, IMNSHO (In My
	Not-So-Humble Opinion) and IMAO (In My Arrogant Opinion).

	[{Jargon File}]

	(1998-09-24)

IML

	{Initial Microprogram Load}

immediate version

	{child version}

Imminent Death Of The Net Predicted!

	<messaging> Since {Usenet} first got off the ground in
	1980-81, it has grown exponentially, approximately doubling in
	size every year.  On the other hand, most people feel the
	{signal-to-noise ratio} of {Usenet} has dropped steadily.
	These trends led, as far back as mid-1983, to predictions of
	the imminent collapse (or death) of the net.  Ten years and
	numerous doublings later, enough of these gloomy
	prognostications have been confounded that the phrase
	"Imminent Death Of The Net Predicted!" has become a running
	joke, hauled out any time someone grumbles about the {S/N
	ratio} or the huge and steadily increasing volume, or the
	possible loss of a key node or link, or the potential for
	lawsuits when ignoramuses post copyrighted material etc.

	[{Jargon File}]

	(1998-09-24)

IMNSHO

	{IMHO}

IMO

	{IMHO}

IMP

	1. <language> {IMProved Mercury autocode}.

	2. <language> An extensible dialect of {ALGOL 60}, for {CDC
	1604}.

	["Experience with an Extensible Language", Edgar T. Irons,
	CACM 13(1):31-39, Jan 1970].

	3. <language> {Interpretive Menu Processor}.

	4. <language> {IMPlementation language}.

	5. <networking> {Interface Message Processor}.

	(1996-04-07)

impact printer

	<printer> The earlier, noisier kind of {printer} where part of
	the mechanism comes into contact with the paper.  The term
	would only be only used in contrast to "{non-impact printer}".
	Examples include {line printer}, {daisy wheel printer}, {golf
	ball printer}, {dot matrix printer}, {Braille printer}.

	(1998-10-13)

impedance

	<electronics, physics> Opposition to flow of alternating
	current.  Impedance consists of {resistance} plus {reactance}
	(capacitive or inductive).  Measured in {Ohms}.

	(2003-12-02)

imperative

	{imperative language}

imperative language

	<language> Any {programming language} that specifies explicit
	manipulation of the state of the computer system, not to be
	confused with a {procedural language}, which specifies an
	explicit sequence of steps to perform.

	An example of an imperative (but non-procedural) language is a
	{data manipulation language} for a {relational database
	management system}.  This specifies changes to the database
	but does not necessarily require anyone to specify a sequence
	of steps.

	Both contrast with {declarative languages}, which specify
	neither explicit state manipulation nor a sequence of steps.

	(2007-10-02)

imperative programming

	{imperative language}

Imperial College of Science, Technology and Medicine

	<education> (IC, ICST&M) One of the colleges of London
	University.  The Department of Computing is the home of
	{FOLDOC}.

	{IC Home (http://ic.ac.uk/)}.

	(2005-05-09)

Imperial Software Technology

	<company> A {software engineering} company which emerged from
	{Imperial College} in about 1982.  It enjoys a world-wide
	reputation for technical excellence as a software product and
	technology provider in the Open Systems market.  Its flagship
	product is {X-Designer}, the award-winning {graphical user
	interface builder}.  It also has considerable expertise in the
	{Z} language and {Formal Methods}.

	{(http://ist.co.uk/)}.

	(1995-11-23)

IMPlementation language

	<language> (IMP) An extension of {B} with {floating-point}
	operations, developed by W. Davidsen at {General Electric} in
	1970 for the {GE 600}.  It was also {cross-compiled} to {VAX}
	and {Intel 8080}.

	(1996-04-07)

implication

	{implies}

implicit parallelism

	<parallel> A feature of a programming language for a {parallel
	processing} system which decides automatically which parts to
	run in parallel.

	The best way of providing implicit parallelism is still (1995)
	an active research topic.  The problem is to generate the
	right number of parallel tasks of the right size (or
	"{granularity}").  Too many tasks and the system gets bogged
	down in house-keeping, or memory for waiting tasks runs out,
	too few tasks and processors are left idle.

	The best performance is usually achieved with {explicit
	parallelism} where the programmer can annotate his program to
	indicate which parts should be executed as independent
	parallel tasks.

	(1995-02-16)

implicit type conversion

	<programming> (Or "coercion") The abilty of some {compilers}
	to automatically insert {type} conversion {functions} where an
	expression of one type is used in a context where another type
	is expected.

	A common example is coercion of {integers} to {reals} so that
	an expression like sin(1) is compiled as sin(integerToReal(1))
	where sin is of type Real -> Real.

	A coercion is usually performed automatically by the compiler
	whereas a {cast} is an {explicit type conversion} inserted by
	the programmer.

	See also {subtype}.

	(1997-07-28)

implies

	<logic> (=> or a thin right arrow) A binary {Boolean} function
	and {logical connective}.  A => B is a true implication unless
	A is true and B is false.  The {truth table} is

		A B | A => B
		----+-------
		F F |   T
		F T |   T
		T F |   F
		T T |   T

	It is surprising at first that A => B is always true if A is
	false, but if X => Y then we would expect that (X & Z) => Y
	for any Z.

	If A is actually an expression X & Y then the implication is
	called a {syllogism}.

	(2009-10-28)

imply

	{implies}

import

	<data> To read data that is not in the native format of the
	application.  For example, a {web browser} will have its own
	way of storing {bookmarks} but it will usually provide a
	function to import bookmarks from {Internet Explorer}.  The
	alternative is to provide an independent external conversion
	utility but this is usually less convenient for the user.

	(2004-11-15)

imprecise probability

	<probability> A {probability} that is represented as an
	interval (as opposed to a single number) included in [0,1].

	(2001-02-21)

IMProved Mercury autocode

	<language> (IMP) A version of {Autocode} used to program the
	{Edinburgh Multi Access System} (EMAS), one of the first
	{operating systems} written in a {high-level language},
	apparently predating {Unix}.

	Luis Damas' {Prolog} {interpreter} in IMP for EMAS led to
	{C-Prolog}.

	[Papers in J. {British Computer Society}].

	(1996-04-07)

IMR

	{Internet Monthly Report}

IMS

	{Information Management System}

IMS 6100

	{Intersil 6100}

Imsai

	<company> One of the companies that made very early
	{microprocessor} systems.

	[Where?  When?  Who?  What?]

	(1995-05-12)

IMS/Data Base

	<database> (IMS/DB) A hierarchical high performance {database}
	for {IBM} {mainframes}, part of {IMS}.  IMS/DB is implemented
	on top of {VSAM} and uses its underlying data structures.

	(1999-01-11)

IMS/Data Communications

	<database> (IMS/DC) The {teleprocessing monitor}/{transaction
	processing} sytem in {IMS} from {IBM}.

	(1999-01-11)

IMSE

	{Integrated Modelling Support Environment}

IMTC

	{International Multimedia Teleconferencing Consortium}

in

	1. <networking> The {country code} for India.

	(1999-01-27)

	2. The typical type or "mode" of {function} {parameter} that
	passes information in one direction - from the caller to the
	function.  Other modes are {out} and {inout}.

	(2010-01-19)

Ina Jo

	<specification, language> [FDM?]

	["The Ina Jo Specification Language Reference Manual", J.
	Scheid et al, TR TM-(L)-6021/001/00, SDC Mar 1985].

	(2000-02-24)

InARP

	{Inverse Address Resolution Protocol}

in-band signaling

	{in-band signalling}

in-band signalling

	<communications> (Or CAS, channel associated signaling)
	Transmission of control signals in the same channel as data.
	This is commonly used in the {Public Switched Telephone
	Network} where the same pair of wires carry both voice and
	control signals (e.g. dialling, ringing).  Another example is
	the use on a computer {serial line} of Control-S and Control-Q
	characters for {flow control} as opposed to {hardware flow
	control} which would be out-of-band signalling.

	In digital communications, in-band signalling often uses
	"bit-robbing" where, for example, one {bit} in each {frame} is
	used for signalling instead of data.  This is the reason why a
	{D1} channel in the T-carrier system can only carry 56 Kbps of
	usable data instead of the 64 Kbps carried by the {D0} channel
	in the E-carrier system.

	(2007-01-26)

inc

	/ink/ increment, i.e. increase by one.  Especially used by
	{assembly} programmers, as many assembly languages have an
	"inc" {mnemonic}.

	Antonym: {dec}.

	[{Jargon File}]

incantation

	Any particularly arbitrary or obscure command that one must
	mutter at a system to attain a desired result.  Not used of
	passwords or other explicit security features.  Especially
	used of tricks that are so poorly documented that they must be
	learned from a {wizard}.  "This compiler normally locates
	initialised data in the data segment, but if you {mutter} the
	right incantation they will be forced into text space."

include

	[{Usenet}] 1. To duplicate a portion (or whole) of another's
	message (typically with attribution to the source) in a reply
	or followup, for clarifying the context of one's response.
	See the discussion of inclusion styles under "Hacker Writing
	Style".

	2. [{C}] "#include <disclaimer.h>" has appeared in {sig
	blocks} to refer to a notional "standard {disclaimer} file".

	[{Jargon File}]

include war

	Excessive multi-leveled including within a discussion
	{thread}, a practice that tends to annoy readers.  In a forum
	with high-traffic newsgroups, such as {Usenet}, this can lead
	to {flames} and the urge to start a {kill file}.

inclusive

	<theory> In {domain theory}, a {predicate} P : D -> Bool is
	inclusive iff

		For any {chain} C, a subset of D, and
		for all c in C,
		P(c) => P(lub C)

	In other words, if the predicate holds for all elements of an
	increasing sequence then it holds for their {least upper
	bound}.

	("lub is written in {LaTeX} as {\sqcup}).

	(1995-02-03)

incomparable

	<mathematics> Two elements a, b of a set are incomparable
	under some relation <= if neither a <= b, nor b <= a.

	(1995-09-21)

incremental analysis

	<testing> Partial analysis of an incomplete product to allow
	early feedback on its development.

	(1996-05-22)

incremental backup

	<operating system> A kind of {backup} that copies all files
	which have changed since the date of the previous backup.  The
	first backup of a file system should include all files - a
	"{full backup}".  Call this level 0.  The next backup could
	also be a full level 0 backup but it is usually much quicker
	to do a level 1 backup which will include only those files
	which have changed since the level 0 backup.  Together the
	level 0 and level 1 backups will include the latest version of
	every file.  Level 1 backups can be made until, say, the
	backup tape is nearly full, after which we can switch to level
	2.  Each level includes those files which have changed since
	the last backup at a lower level.  The more levels you use,
	the longer it will take to restore the latest version of a
	file (or all files) if you don't know when it was last
	modified.

	Compare {differential backup}.

	(2004-03-01)

incremental constraint solver

	A system in which a {constraint solver} is given {constraints}
	one at a time by an {inference engine} (as is found in
	{Prolog}).  The solver adds the new constraint to an initially
	empty set of solved constraints.  If the new constraint is
	consistent with the solved constraints it will be added to the
	set.  If it was inconsistent, the inference engine
	{backtracks}.  This is the basis of {Constraint Logic
	Programming}.

	(1994-11-01)

Incremental Prototyping Technology for Embedded Realtime Systems

	<project> An {Esprit} project.

	[Partners?  Results?]

	(1998-11-27)

[incr Tcl]

	<language> An extension of {Tcl} that adds {classes} and
	{inheritence}.

	The name is a pun on {C++} - an {object-oriented} extension of
	{C} - [incr variable] is the Tcl {syntax} for adding one to a
	variable.

	[Origin?  Availability?]

	(1998-11-27)

indent

	{indentation}

indentation

	<document, text, programming> Space and/or {tab} characters
	added at the beginning of one or more consecutive lines to
	indicate the structure of a piece of text, e.g.  indenting a
	passage to make it stand out.

	Indentation is important in {source code} for readability.
	See {indent style}.  Some programming languages go further and
	use indentation as the main method to represent block
	structure to the {compiler} or {interpreter}, see {off-side
	rule}.

	(2008-10-23)

indent style

	<programming> Rules for formatting {code} to make it easier to
	visually match up the beginning and end of a {block} of
	statements, particularly one controlled by a {control
	statement} such as "if", "else", "for", "while", "do".  This
	becomes important with large, nested blocks of code.

	The {C} programming language's four indent styles vary in the
	placement of "{" and "}" with respect to the statement(s) they
	enclose and the controlling statement.

	"Allman style" is named after {Eric Allman}, a {Berkeley} {hacker}
	who wrote many {BSD} {utilities} in it.  It is sometimes called
	"BSD style".  It resembles normal indent style in {Pascal} and
	{ALGOL}.  Basic indent per level is eight or four spaces.  This is
	the only indent style to clearly associate the controlling
	statement and the beginning and the end of the block by aligning
	them vertically, which probably explains its widespread adoption.

	 if (cond)
	 {
		<body>
	 }

	"K&R style" is named after {Kernighan} & {Ritchie} because the
	examples in {K&R} are formatted this way.  It is also called
	"kernel style" because the {Unix} {kernel} was written in it, or
	"{One True Brace Style}" (1TBS) by its partisans, or {Egyptian
	brackets}.  The basic indent shown here is eight spaces (or one
	tab) per level; four spaces are much less common.  This style was
	popular when programmers worked on small displays (or paper!)
	becuase it saves vertical space but the opening brace is easy to
	miss at the end of a long condition in an "if" or "while"
	statement.

	 if (cond) {
		<body>
	 }

	"Whitesmiths style" - popularised by the examples that came
	with {Whitesmiths C}, an early commercial C compiler.  Basic
	indent per level shown here is eight spaces, but four spaces
	are occasionally seen.

	 if (cond)
		{
		<body>
		}

	"GNU style" - Used throughout {GNU} {Emacs} and the {Free
	Software Foundation} code, and just about nowhere else.
	Indents are always four spaces per level, with "{" and "}"
	halfway between the outer and inner indent levels.

	 if (cond)
	  {
	    <body>
	  }

	Many related languages such as {Perl} offer the same choices while
	others, following {B}, eschew braces and rely entirely on relative
	indentation to express block structure.  In {Python}, braces can
	be used to override indentation.

	[{Jargon File}]

	(2013-05-14)

Independent Computing Architecture

	<protocol> (ICA) {Citrix}'s {proprietary} {protocol} that
	allows {client} {desktop computers} to run {applications} on
	{application servers}.  Originally used between {Windows}
	systems, ICA is now also suported on {Unix} and {Macintosh}
	desktops and servers as well as some {thin client} hardware.

	(2012-07-08)

Independent Logical File

	<database> (ILF) One kind of {dynamic database management
	system}.

	Examples of ILF databases are {INQUIRE}, {ADABAS}, {NOMAD},
	{FOCUS} and {DATACOM}.

	[More details?]

	(1998-10-07)

Independent Verification and Validation

	<testing> (IV&V) The verification and validation of a software
	product by an organisation that is both technically and
	managerially separate from the organisation responsible for
	developing the product.

	(1996-12-27)

index

	(Plural "indices" or "indexes")

	1. <programming> A number used to select an element of a list,
	vector, {array} or other sequence.  Such indices are nearly
	always non-negative integers but see {associative array}.

	2. <database> See {inverted index}.  [Other kinds?]

	3. <web> A {search engine}.

	4. <web> A {subject index}.

	[{Jargon File}]

	(1997-04-09)

Index Data

	<company> A Danish company who have released a lot of {ANSI
	Z39.50} related source under {GPL}.

	{(http://130.228.5.168)}.

	(1996-07-22)

Indexed Sequential Access Method

	<database> (ISAM) An {IBM} file management system allowing
	records to be accessed either sequentially (in the order they
	were entered) or via an index.  Each index orders the records
	on a different key.

	ISAM was followed by VSAM ({Virtual Storage Access Method})
	and pre-dated {relational databases}.

	(2003-07-13)

index.htm

	{index.html}

index.html

	<web> The default {HTML} page served by most {web
	servers} in response to a request for a {directory}.  The name
	suggests that the page will contain some kind of index of the
	contents of the requested directory.

	For example, if the content for {website} example.com is stored
	in the {file system} in directory /var/www/example.com, then a
	request for http://example.com/products would return the contents
	of file /var/www/example.com/products/index.html.

	A {website}'s {home page} follows the same logic.  For the above
	example, a request for http://example.com/ would return the
	contents of /var/www/example.com/index.html.

	It is often possible, and occasionally necessary, to specify
	index.html explicitly in the URL, as in
	http://example.com/index.html, though modern practice is to omit
	it.

	If you're looking for {FOLDOC's home page (/)} at
	http://foldoc.org/index.html, then you followed an out-of-date
	link.  Please update your bookmark to http://foldoc.org/ or inform
	the owner of the site you came from.

	{Microsoft}, of course, has to be different and uses default.htm
	instead of index.html.  The variant index.htm is a throw-back to
	the days when some file systems only allowed three-character file
	name extensions.

	(2014-06-22)

index register

	<processor> A {register} found in some {CPUs}, whose contents
	can be added to the address {operand} to give the {effective
	address}.  Incrementing the index register then allows the
	program to access the next location in memory and so on,
	making it very useful for working with {arrays} or blocks of
	memory.

	Index registers first appeared around April 1949 in the
	{Manchester Mark I}.  The Mark I's index register's contents
	were simply added to the entire instruction, thus potentially
	changing the {opcode} (see {The story of Mel})!

	(2006-09-20)

indices

	<spelling> A plural of "{index}".

indirect address

	<processor> An {addressing mode} found in many processors'
	{instruction sets} where the instruction contains the address
	of a memory location which contains the address of the operand
	(the "{effective address}") or specifies a {register} which
	contains the effective address.  In the first case
	(indirection via memory), accessing the operand requires two
	memory accesses - one to fetch the effective address and
	another to read or write the actual operand.  Register
	indirect addressing requires only one memory access.

	An indirect address may be indicated in {assembly language} by
	an operand in parentheses, e.g. in {Motorola 68000} assembly

		MOV D0,(A0)

	writes the contents of register D0 to the location pointed to
	by the address in register A0.

	Indirect addressing is often combined with pre- or post-
	increment or decrement addressing, allowing the address of the
	operand to be increased or decreased by one (or some specified
	number) either before or after using it.

	(1994-11-07)

indirect addressing

	{indirect address}

indirection

	<programming> Manipulating data via its address.  Indirection
	is a powerful and general programming technique.  It can be
	used for example to process data stored in a sequence of
	consecutive memory locations by maintaining a {pointer} to the
	current item and incrementing it to point to the next item.

	Indirection is supported at the {machine language} level by
	{indirect addressing}.  Many processor and {operating system}
	architectures use {vectors} which are also an instance of
	indirection, being locations which hold the address of a
	routine to handle a particular event.  The event handler can
	be changed simply by pointing the vector at a new piece of
	code.

	{C} includes operators "&" which returns the address of a
	{variable} and its inverse "*" which returns the variable at a
	given address.

	(1997-02-06)

indirect jump

	<programming> A {jump} via an {indirect address}, i.e. the
	jump {instruction} contains the address of a memory location
	that contains the address of the next instruction to execute.

	The location containing the address to jump to is sometimes
	called a {vector}.

	Indirect jumps make normal code hard to understand because the
	jump target is a run-time property of the program that depends
	on the execution history.  They are useful for, e.g. allowing
	user code to replace operating system code or setting up
	{event handlers}.

	(2010-01-01)

induction

	<logic> A method of proving statements about {well-ordered
	sets}.  If S is a well-ordered set with ordering "<", and we
	want to show that a property P holds for every element of S,
	it is sufficient to show that, for all s in S,

		IF for all t in S, t < s => P(t) THEN P(s)

	I.e. if P holds for anything less than s then it holds for s.
	In this case we say P is proved by induction.

	The most common instance of proof by induction is induction
	over the {natural numbers} where we prove that some property
	holds for n=0 and that if it holds for n, it holds for n+1.

	(In fact it is sufficient for "<" to be a {well-founded}
	{partial order} on S, not necessarily a well-ordering of S.)

	(1999-12-09)

inductive inference

	{grammatical inference}

inductive relation

	A relation R between {domains} D and E is inductive if for all
	{chains} {d1 .. dn} in D and {e1 .. en} in E,

		For all i, di R ei  =>  lub(d) R lub(e)

Industrial Programming, Inc.

	<company> The company which developed {MTOS}.

	{(http://ipi.com)}.

	E-mail: <info@ipi.com>.

	Telephone: +1 (516) 938 6600.  Address: 100 Jericho
	Quadrangle, Jericho, NY 11753, USA.

	(1997-07-23)

Industrial Robot Language

	<language, robotics> (IRL) A {high-level language} for
	programming industrial {robots}.

	["IRL, Industrial Robot Language", DIN 66312, Beuth-Verlag
	1992].

	(1996-11-28)

Industry Standard Architecture

	<architecture, standard> (ISA) A {bus} {standard} for {IBM
	compatibles} that extends the {XT bus architecture} to 16
	bits.  It also allows for {bus mastering} although only the
	first 16 {MB} of {main memory} is available for direct access.
	In reference to the XT bus architecture it is sometimes
	referred to as "AT bus architecture".

	Compare {EISA}, {MCA}.

	(1996-06-25)

inetd

	<networking, tool> Berkeley daemon program that listens for
	connection requests or messages for certain ports and starts
	server programs to perform the services associated with those
	ports.  Sometimes known as netd.

	{Unix manual page}: inetd(8).

	(1995-03-20)

inews

	<messaging, application> A {Unix} program for posting {Usenet}
	news articles, written by Rich $alz <rsalz@uunet.uu.net> for
	{InterNetNews}.  inews reads an article (perhaps with headers)
	from a file or {standard}, adds some {headers} and possibly a
	{signature}, and, if the article passes some consistency
	checks (too much quoting, non-existent {newsgroup}) then inews
	sends the article to the local news {server} for distribution.

	If an unapproved posting is made to a {moderated} newsgroup,
	inews will try to send the article to the moderator (specified
	in a configuration file) by {electronic mail}.

	Version: 1.25, dated 1993/03/18.

	{Unix manual page}: inews(1).

	(1996-02-27)

infant mortality

	<hardware> It is common lore among hackers (and in the
	electronics industry at large) that the chances of sudden
	hardware failure drop off exponentially with a machine's time
	since first use (that is, until the relatively distant time at
	which enough mechanical wear in I/O devices and
	thermal-cycling stress in components has accumulated for the
	machine to start going senile).  Up to half of all chip and
	wire failures happen within a new system's first few weeks;
	such failures are often referred to as "infant mortality"
	problems (or, occasionally, as "sudden infant death
	syndrome").

	See {bathtub curve}, {burn-in period}.

	[{Jargon File}]

	(1995-03-20)

infeasible path

	{dead code}

inference

	<logic> The logical process by which new facts are derived
	from known facts by the application of {inference rules}.

	See also {symbolic inference}, {type inference}.

	(1995-03-20)

inference engine

	A program that infers new {facts} from known facts using
	{inference rules}.  Commonly found as part of a {Prolog}
	{interpreter}, {expert system} or {knowledge based system}.

	(1994-11-01)

inference rule

	<logic> A procedure which combines known facts to produce
	("infer") new facts.  For example, given that

		1. Socrates is a man and that
		2. all men are motal,

	we can infer that Socrates is mortal.  This uses the rule
	known as "modus ponens" which can be written in {Boolean
	algebra} as

		(A & A => B) => B

	(if {proposition} A is true, and A implies B, then B is true).

	Or given that,

		1. Either Denis is programming or Denis is sad and
		2. Denis is not sad,

	we can infer that Denis is programming.  This rule can be
	written

		((A OR B) & not B) => A

	(If either A is true or B is true (or both), and B is false,
	then A must be true).

	Compare {syllogism}.

	(1994-10-31)

infimum

	{greatest lower bound}

infinite

	<mathematics> 1. Bigger than any {natural number}.  There are
	various formal set definitions in {set theory}: a set X is
	infinite if

	(i) There is a {bijection} between X and a {proper subset} of X.

	(ii) There is an {injection} from the set N of natural numbers to
	X.

	(iii) There is an injection from each natural number n to X.

	These definitions are not necessarily equivalent unless we
	accept the {Axiom of Choice}.

	2. The length of a line extended indefinitely.

	See also {infinite loop}, {infinite set}.

	[{Jargon File}]

	(1995-03-29)

Infinite Impulse Response

	<electronics, DSP> A type of {digital signal} {filter}, in
	which every {sample} of output is the weighted sum of past and
	current samples of input, using all past samples, but the
	weights of past samples are an inverse function of the sample
	age, approaching zero for old samples.

	(2001-06-06)

infinite loop

	<programming> (Or "endless loop") Where a piece of program is
	executed repeatedly with no hope of stopping.  This is nearly
	always because of a {bug}, e.g. if the condition for exiting
	the loop is wrong, though it may be intentional if the program
	is controlling an {embedded system} which is supposed to run
	continuously until it is turned off.  The programmer may also
	intend the program to run until interrupted by the user.  An
	endless loop may also be used as a last-resort error handler
	when no other action is appropriate.  This is used in some
	{operating system} kernels following a {panic}.

	A program executing an infinite loop is said to {spin} or
	{buzz} forever and goes {catatonic}.  The program is "wound
	around the axle".

	A standard joke has been made about each generation's exemplar
	of the ultra-fast machine: "The Cray-3 is so fast it can
	execute an infinite loop in under 2 seconds!"

	See also {black hole}, {recursion}, {infinite loop}.

	[{Jargon File}]

	(1996-05-11)

Infinite Monkey Theorem

	<humour> "If you put an {infinite} number of monkeys at
	typewriters, eventually one will bash out the script for
	Hamlet."  (One may also hypothesise a small number of monkeys
	and a very long period of time.)  This theorem asserts nothing
	about the intelligence of the one {random} monkey that
	eventually comes up with the script (and note that the mob
	will also type out all the possible *incorrect* versions of
	Hamlet).  It may be referred to semi-seriously when justifying
	a {brute force} method; the implication is that, with enough
	resources thrown at it, any technical challenge becomes a
	{one-banana problem}.

	This theorem was first popularised by the astronomer Sir
	Arthur Eddington.  It became part of the idiom through the
	classic short story "Inflexible Logic" by Russell Maloney, and
	many younger hackers know it through a reference in Douglas
	Adams's "Hitchhiker's Guide to the Galaxy".

	See also: {RFC 2795}.

	[{Jargon File}]

	(2002-04-07)

infinite set

	<mathematics> A set with an infinite number of elements.
	There are several possible definitions, e.g.

	(i) ("Dedekind infinite") A set X is infinite if there exists
	a {bijection} (one-to-one mapping) between X and some proper
	subset of X.

	(ii) A set X is infinite if there exists an {injection} from N
	(the set of {natural numbers}) to X.

	In the presence of the {Axiom of Choice} all such definitions
	are equivalent.

	(1995-03-27)

infinity

	1. <mathematics> The size of something {infinite}.

	Using the word in the context of sets is sloppy, since
	different {infinite sets} aren't necessarily the same size
	{cardinality} as each other.

	See also {aleph 0}

	2. <programming> The largest value that can be represented in
	a particular type of variable ({register}, memory location,
	data type, whatever).

	See also {minus infinity}.

	[{Jargon File}]

	(1994-11-18)

infix notation

	<language> One of the possible orderings of {functions} and
	{operands}: in infix notation the functions are placed between
	their operands, such as "1+2".  Although infix notation is
	limited to binary functions most languages mix infix notation
	with {prefix} or {postfix} notation, as a form of {syntactic
	sugar}.

	(1997-01-17)

infix syntax

	{infix notation}

inflate

	{deflate}

INFN

	Istituto Nazionale di Fisica Nucleare: an Italian State
	research organisation.

Infobahn

	(After the German "Autobahn") {Information Superhighway}.

Info BASIC

	Variant of {Pick BASIC} used with {PRIME}'s {PRIMOS}.

infobot

	<chat> A {bot} that serves as a common database of information
	(often noteworthy {URLs}) for users on a {chat} system.
	Infobots often have a simple {chatbot interface}, responding
	to key-phrases, as well as to direct queries.

	Here, in a real conversation, the bot Purl's first response is
	triggered by the phrase "just tell me", and its second
	response is triggered by being directly asked "perlfunc?":

	 <eesh> can someone tell me what: $num9 =
	        substr($number,9,1); means

	 <Tkil> eesh -- man perlfunc, look at "substr".

	 <eesh> just tell me

	 <purl> Didn't your momma ever tell you, "Go
	        look it up in the dictionary"?!

	 <Tkil> eesh -- no.  that's all we'll tell
	        you.  read the documentation.

	 <Tkil> eesh -- if you haven't man pages or
	        perldoc, you can read them on the 'net.

	 <Tkil> purl, perlfunc?

	 <purl> well, perlfunc is Perl builtin
	        functions, at man perlfunc or
	        http://perl.com/CPAN-local/doc/manual/html/pod/perlfunc.html

	{(http://cs.cmu.edu/~lenzo/infobot.html/)}.

	(1998-10-30)

Informatics Corporation

	<company> Renamed to {Sterling Software Corp}.

	[When?]

	(1998-10-30)

information

	<data> The result of applying {data processing} to {data},
	giving it context and meaning.  Information can then be
	further processed to yeild {knowledge}.

	People or computers can find patterns in data to perceive
	information, and information can be used to enhance
	{knowledge}.  Since knowledge is prerequisite to wisdom, we
	always want more data and information.  But, as modern
	societies verge on {information overload}, we especially need
	better ways to find patterns.

	1234567.89 is data.

	"Your bank balance has jumped 8087% to $1234567.89" is
	information.

	"Nobody owes me that much money" is knowledge.

	"I'd better talk to the bank before I spend it, because of
	what has happened to other people" is wisdom.

	(2007-09-10)

Information Algebra

	Theoretical formalism for DP, never resulted in a language.
	Language Structure Group of CODASYL, ca. 1962.  Sammet 1969,
	709.

Information and Communication Technology

	<education> (ICT) The study of the technology used to handle
	information and aid communication.  The phrase was coined by
	[?] Stevenson in his 1997 report to the UK government and
	promoted by the new National Curriculum documents for the UK
	in 2000.  In addition to the subjects included in {Information
	Technology} (IT), ICT emcompasses areas such as {telephony},
	{broadcast media} and all types of {audio} and {video}
	processing and transmission.

	{(http://rubble.ultralab.anglia.ac.uk/stevenson/ICTUKIndex.html)}.

	(2008-09-19)

Information Appliance

	<hardware> (IA) A consumer device that performs only a few
	targeted tasks and is controlled by a simple {touch-screen}
	interface or push buttons on the device's enclosure.

	[How does this differ from a {PDA}?]

	(1998-02-24)

Information Builders

	Distributors of {LEVEL5 OBJECT}.  Telephone +1 800 969 INFO.

Information Engineering Facility

	{Advantage Gen}

information highway

	{information superhighway}

Information Infrastructure Task Force

	<networking, body> (IITF) A US government body created in 1993 by
	President Clinton to control and oversee the {NII} project.  The
	IITF consists of representatives of the federal agencies involved
	in information technology.  They work with the private sector to
	develop policy.  Various IITF committees work on
	telecommunications, {IPR}, {privacy}, government information and
	applications.

	In 2013, the IITF does not appear to have any presence on the
	{WWW}, which strongly suggests that it no longer exists (or that
	it is pretty out of touch with modern information infrastructure).

	{(http://itlaw.wikia.com/wiki/Information_Infrastructure_Task_Force)}.

	[Did it ever achieve anything?  What happened to it?]

	(2013-11-16)

Information Innovation

	A group of companies with offices in Amsterdam and New York
	which acts as an information filter for the {web}.
	They analyse what happens in the Web community and organise
	the Web's information so that it is accessible and efficient
	to use.

	Information Innovation provides:

	"The Management Guide" - a guide for managers in the
	information age.  The Guide consists of 22 parts, each
	concentrating on a particular technology or issue facing
	managers.  Topics range from {Artificial Intelligence} and
	Telecommunications to Finance and Marketing.  Each part
	contains references to additional valuable information,
	including {CD ROMs}, conferences, magazines, articles and
	books.

	"The Hypergraphic Matrix" - a "hypergraphic" matrix of 250
	graphics discussing the interrelationships between technology,
	change, business functions and specific industries.

	"Dictionary" - the largest Internet dictionary on management
	and technology.

	"The Delphi Oracle" - a comprehensive guide to the latest
	management ideas and issues.  Over 500 articles and books have
	been read, analysed, rated and catalogued.

	"Management Software" - a guide to software which is useful to
	managers.  Both Web software, Internet software and commecial
	products are included in this guide.

	"The Web Word" - an information service about the Web.  It
	includes a regular newsletter and databases about Web
	resources, news, interviews with Web personalities and, of
	course, the most comprehensive guide to sites.

	"Web Bibliography" - a guide to the latest Web information
	printed.  Over 150 articles, magazines, market research
	reports and books are catalogued.

	"The Power Launch Pad" - our own list of useful sites on the
	Web.  Also includes links to our own lists of special subjects
	such as Finance, Telecommunications, Manufacturing, Technology
	and so forth.

	{(http://euro.net/innovation/WelcomeHP.html)}.  E-mail:
	<innovation@euronet.nl>.

	(1994-10-27)

information island

	<jargon> A body of information (i.e. electronic files) that
	needs to be shared but has no network connection.

	(1995-03-16)

Information Management

	The planning, budgeting, control and exploitation of the
	information resources in an organisation.  The term
	encompasses both the information itself and the related
	aspects such as personnel, finance, marketing, organisation
	and technologies and systems.  Information Managers are
	responsible for the coordination and integration of a wide
	range of information handling activities within the
	organisation.  These include the formulation of corporate
	information policy, design, evaluation and integration of
	effective information systems and services, the exploitation
	of IT for competitive advantage and the integration of
	internal and external information and data.

Information Management System

	<database> (IMS, IMS/VS, IMS/ESA) A database system from {IBM}
	consisting of {IMS/Data Base} and {IMS/Data Communications}.

	(1999-01-11)

information overload

	<jargon> When a person feels unable to read all the
	information that is presented or available to them,
	particularly where they need to make decisions based on that
	information but can't because there is just too much to take
	in in the time available.

	(2005-01-09)

Information Processing Language

	(IPL) Said to be the first list-processing language, also the
	first language to support {recursion}.  Written by Allen
	Newell, J.C. Shaw and H. Simon at Carnegie ca. 1956.  It was
	very low level.

	Versions: IPL-I (never implemented), IPL-II (1957 for
	{JOHNNIAC}), IPL-III (existed briefly), IPL-IV, IPL-V (1958,
	for {IBM 650}, {IBM 704}, {IBM 7090}, many others.  Widely
	used), IPL-VI.

	[Sammet 1969, pp. 388-400].

	["Information Processing Language-V Manual", A. Newell ed, P-H
	1965].

	(1994-11-04)

Information Resource Management

	(IRM) A philosophical and practical approach to managing
	government information.  Information is regarded as a valuable
	resource which should be managed like other resources, and
	should contribute directly to accomplishing organisational
	goals and objectives.  IRM provides an integrated view for
	managing the entire life-cycle of information, from
	generation, to dissemination, to archiving and/or destruction,
	for maximising the overall usefulness of information, and
	improving service delivery and program management.

	IRM views information and {Information Technology} as an
	integrating factor in the organisation, that is, the various
	organisational positions that manage information are
	coordinated and work together toward common ends.  Further,
	IRM looks for ways in which the management of information and
	the management of Information Technology are interrelated, and
	fosters that interrelationship and organisational integration.

	IRM includes the management of (1) the broad range of
	information resources, e.g., printed materials, electronic
	information, and microforms, (2) the various technologies and
	equipment that manipulate these resources, and (3) the people
	who generate, organise, and disseminate those resources.
	Overall the intent of IRM is to increase the usefulness of
	government information both to the government and to the
	public.

	[Gary D. Blass et al. "Finding Government Information: The
	Federal Information Locator System (FILS)", Government
	Information Quarterly, JAI Press, Inc., Greenwich,
	Connecticut. Vol. 8, No. 1, pp.  11-32. 1991].

	(1995-11-12)

information superhighway

	<communications> (Or "Infobahn", "Info Strada") The name
	coined by US Vice-president Al Gore in the early 1990s for the
	emerging high-speed global communications network capable of
	carrying voice, data, video, and other services around the
	world.  These services use satellite, copper cable, {optical
	fibre}, {cellular telecommunications}, and are accessible via
	{set-top boxes} or suitably equipped computers.

	See also {National Information Infrastructure}.

	(2001-03-31)

Information Systems Factory

	(ISF) An equivalent to an {SEE}.

	[{Simultaneous Engineering Environment} or {Software
	Engineering Environment}?]

	(2000-12-30)

information technology

	<business, jargon> (IT) Applied computer systems - both
	{hardware} and {software}, and often including {networking}
	and {telecommunications}, usually in the context of a business
	or other enterprise.  Often the name of the part of an
	enterprise that deals with all things electronic.

	The term "{computer science}" is usually reserved for the more
	theoretical, academic aspects of computing, while the vaguer
	terms "information systems" (IS) or "information services" may
	include more of the human activities and non-computerised
	business processes like {knowledge management}.  Others say
	that IT includes computer science.

	(2000-10-02)

information technology governance

	<business> The structure, oversight and management processes
	which ensure the delivery of the expected benefits of IT in a
	controlled way to help enhance the long term sustainable
	success of the enterprise.

	(2009-04-27)

Information Technology Infrastructure Library

	(ITIL) A method of organising the system and network
	management departments of large organisations.  ITIL defines
	the (work) processes involved and the interfaces between them.

	(1995-06-27)

Informix

	A {relational DBMS} vendor.

InfoSeek

	<company> A company providing InfoSeek Net Search, a free
	{web} search service which, in August 1995, indexed
	the full text of over 400,000 web pages.  Net Search was rated
	as the fourth most popular site on the web by Interactive Age
	magazine.

	The also sell a commercial service, InfoSeek Search, that
	offers access to all the {Usenet} {news groups}, daily
	newswires, business and computer periodicals, and more.

	{(http://www2.infoseek.com/)}.

	(1995-11-09)

InfoStreet, Inc.

	<company> An Internet consulting and development company
	dedicated to assisting companies in establishing an Internet
	presence.  InfoStreet develope Internet strategies, design and
	create web pages, and host and maintain {websites}.

	InfoStreet, has been recognized by PC/Computing as the "Best
	of the Top Home Page Services" (August 1996) and has been
	featured in Netguide magazine and the Wiley and Son's
	Electronic Marketing book.

	{(http://InfoStreet.com/)}.

	{Home page hosting service (http://instantweb.com)}.

	(1997-01-30)

infotainment

	<application> {Interactive} services or software that provides
	some combination of information and entertainment.

	(2010-03-02)

InfoWord Office

	<tool> A suite of applications for {Unix} including a {word
	processor}, {spreadsheet} and {database}.

	{Light Infocon S.A. (http://light.com.br/)}.

	(1998-07-21)

infrared

	<electronics> (IR) Electromagnetic waves in the frequency
	range just below visible light corresponding to radiated heat.
	IR waves can be generated by a kind of {LED} and are often
	used for remote controls for televisions etc. and in some
	{docking stations}.

	(1997-01-30)

Infrared Data Association

	<standard, body> (IrDA) A non-profit trade association
	providing standards to ensure the quality and interoperability
	of {infrared} (IR) hardware.

	The association currently has a membership of over 160
	companies from around the world, representing computer and
	telecommunications hardware, software, components and
	adapters.

	IrDA typically uses direct infrared i.e. {point-to-point},
	{line-of-sight}, one-to-one communications.  The standards
	include: {IrDA Data} ({SIR}, {FIR}, {VFIR}), {IrDA Control},
	and {AIR}.

	Ports built to the above standards can be found in products
	such as {PDAs}, {Palm} devices, {printers}, desktop adapters,
	{notebooks}, and {digital cameras}.

	{(http://irda.org)}.

	{IrDA Serial Infrared Interface
	(http://cesdis1.gsfc.nasa.gov/linux/misc/irda.html)}.

	{Linux-IrDA support (http://cs.uit.no/linux-irda/)}.

	(1999-10-14)

infrastructure

	<systems> Basic support services for computing, particularly
	national networks.

	See also {information superhighway}.

	(1995-06-27)

Inglish

	<games> An English-like language used for {Adventure} games
	like "The Hobbit".  Inglish could distinguish between "take
	the rope and axe" and "take the money and run".

	(1995-06-27)

INGRES

	A {relational DBMS} vendor.

inheritance

	<programming, object-oriented> In {object-oriented
	programming}, the ability to derive new {classes} from
	existing classes.  A {derived class} (or "subclass") inherits
	the {instance variables} and {methods} of the "{base class}"
	(or "superclass"), and may add new instance variables and
	methods.  New methods may be defined with the same names as
	those in the base class, in which case they override the
	original one.

	For example, bytes might belong to the class of integers for
	which an add method might be defined.  The byte class would
	inherit the add method from the integer class.

	See also {Liskov substitution principle}, {multiple
	inheritance}.

	(2000-10-10)

initgame

	<games> /in-it'gaym/ [IRC] An {IRC} version of the venerable
	trivia game "20 questions", in which one user changes his
	{nick} to the initials of a famous person or other named
	entity, and the others on the channel ask yes or no questions,
	with the one to guess the person getting to be "it" next.  As
	a courtesy, the one picking the initials starts by providing a
	4-letter hint of the form sex, nationality, life-status,
	reality-status.  For example, MAAR means "Male, American,
	Alive, Real" (as opposed to "fictional").  Initgame can be
	surprisingly addictive.  See also {hing}.

	[{Jargon File}]

initialise

	<programming> To give a {variable} its first value.  This may
	be done automatically by some languages or it may require
	explicit code by the programmer.  Some languages allow
	initialisation to be combined with variable definition,
	e.g. in {C}:

		int i = 0;

	Failing to initialise a variable before using it is a common
	programming error, but one which compilers and automatic
	checkers like {lint} can easily detect.

	(1997-06-08)

Initial Microprogram Load

	<operating system> (IML) Loading {microcode} into microcode
	memory.

	(1997-08-31)

Initial Operational Test and Evaluation

	<testing> (IOT&E) The first phase of {operational test} and
	evaluation conducted on {pre-protectional} items,
	{prototypes}, or pilot production items and normally completed
	prior to the first major production decision.  Conducted to
	provide a valid estimate of expected system operational
	effectiveness and suitability.

	(1996-12-27)

Initial Program Load

	<operating system> (IPL) The procedure used to (re-)start a
	computer system by copying the {operating system} {kernel}
	into {main memory} and running it.  Part of the {boot
	sequence}.

	(1997-08-31)

Initial Program Loader

	<operating system> (IPL) A {bootstrap loader} which loads the
	part of an {operating system} needed to load the remainder of
	the operating system.

	(1997-08-31)

initiator

	{SCSI initiator}

injection

	1. <mathematics> A {function}, f : A -> B, is injective or
	one-one, or is an injection, if and only if

		for all a, b in A, f(a) = f(b) => a = b.

	I.e. no two different inputs give the same output (contrast
	many-to-one).  This is sometimes called an embedding.  Only
	injective functions have left inverses f' where f'(f(x)) = x,
	since if f were not an injection, there would be elements of B
	for which the value of f' was not unique.  If an injective
	function is also a {surjection} then is it a {bijection}.

	2. <reduction> An injection function is one which takes
	objects of type T and returns objects of type C(T) where C is
	some {type constructor}.  An example is

		f x = (x, 0).

	The opposite of an injection function is a {projection}
	function which extracts a component of a constructed object,
	e.g.

		fst (x,y) = x.

	We say that f injects its argument into the data type and fst
	projects it out.

	(1995-03-14)

inkjet printer

	<hardware, printer> A class of printer in which small ink
	droplets are sprayed electrostatically from a nozzle onto the
	paper.

	Inkjet printers are very quiet in comparison to {impact
	printers}.

	A popular example is the {Olivetti} {BJ10}.

	(1995-03-14)

ink printer

	<printer> A {retronym} used by Blind users to refer to all
	printers which are not {Braille printers}, regardless of
	whether they actually use ink.

	(1998-10-13)

inline

	<programming> (Or "unfold") To replace a {function} call with
	an instance of the function's body.  {Actual argument}
	expressions are substituted for {formal parameters} as in
	{beta reduction}.  Inlining is usually done as a
	{compile-time} transformation.

	If done recklessly (e.g. attempting to inline a {recursive}
	function) the {compiler} will fail to terminate.  If done
	over-enthusiastically the code size may increase
	exponentially, e.g. if function f calls g twice, and g calls h
	twice and h is inlined in g which is inlined in f (in either
	order) then there will be four copies of h's body in f.

	See also {linear argument}, {unfold/fold}.

	(1994-11-03)

inline element

	<web> Any {HTML element} that is rendered in the
	same position as normal plain text, i.e. to the right of the
	preceding text (for left-to-right scripts).

	This contrasts with a {block-level elements} that is always
	placed below the preceding text line.

	Inline elements typically specify formatting, e.g. <B>
	({bold}), <SMALL> or the kind of content, e.g. <CODE>, <KBD>,
	though they also include things like {inline images} (<IMG>)
	and {text areas} (<TEXTAREA>).

	{(http://htmlhelp.com/reference/html40/inline.html)}

	(2011-01-04)

inline image

	<web> An image that appears within the body of a
	{web page}.  Most graphical {web browsers} display images
	inline (with an option to turn off inline images, to speed up
	the display of web pages).

	Other {image formats} may have to be displayed in a separate
	{window} and/or by another {application program}.

	An inline image in a web page is specified with the <IMG>
	{HTML} {tag}, which can take many {attributes}, the most
	important of which is the SRC attribute that gives the {URL}
	from which to fetch the image.  The ALT attribute gives text
	to display in place of the image for users with images
	disabled or who are using text-only browsers or text-to-speech
	convertors (e.g. blind users).

	(2011-01-04)

INMOS transputer

	{transputer}

inner class

	<Java> In {Java}, a non-{static}, {nested class}.

	(2006-11-18)

inner join

	<database> (Commonly "join", but see also "{outer join}") A
	{relational database} operation which selects rows from two
	{tables} such that the value in one {column} of the first
	table also appears in a certain column of the second table.

	An example in {SQL}:

		select * from A, B
		where A.x = B.y

	The column names (x and y in this example) are often, but not
	necessarily, the same.

	(1998-11-23)

inner product

	<mathematics> In {linear algebra}, any linear map from a
	{vector space} to its {dual} defines a product on the vector
	space: for u, v in V and linear g: V -> V' we have gu in V' so
	(gu): V -> scalars, whence (gu)(v) is a scalar, known as the
	inner product of u and v under g.  If the value of this scalar
	is unchanged under interchange of u and v (i.e. (gu)(v) =
	(gv)(u)), we say the inner product, g, is symmetric.
	Attention is seldom paid to any other kind of inner product.

	An inner product, g: V -> V', is said to be positive definite
	iff, for all non-zero v in V, (gv)v > 0; likewise negative
	definite iff all such (gv)v < 0; positive semi-definite or
	non-negative definite iff all such (gv)v >= 0; negative
	semi-definite or non-positive definite iff all such (gv)v <=
	0.  Outside relativity, attention is seldom paid to any but
	positive definite inner products.

	Where only one inner product enters into discussion, it is
	generally elided in favour of some piece of syntactic sugar,
	like a big dot between the two vectors, and practitioners
	don't take much effort to distinguish between vectors and
	their duals.

	(1997-03-16)

InnovAda

	An {object-oriented} extension to {Ada}, said to be
	{Lisp}-like.  Implemented as an {Ada} {preprocessor}.

	(1994-11-03)

	[Where?  Who?  When?]

inode

	A data structure holding information about files in a {Unix}
	{file system}.  There is an inode for each file and a file
	is uniquely identified by the file system on which it
	resides and its inode number on that system.  Each inode
	contains the following information: the device where the inode
	resides, locking information, mode and type of file, the
	number of links to the file, the owner's user and group ids,
	the number of bytes in the file, access and modification
	times, the time the inode itself was last modified and the
	addresses of the file's blocks on disk.  A {Unix} directory is
	an association between file leafnames and inode numbers.  A
	file's inode number can be found using the "-i" switch to ls.

	{Unix manual page}: fs(5).

	See also /usr/include/ufs/inode.h.

in-order traversal

	{traverse}

inout

	<programming> A type or "mode" of {function} {parameter} that
	passes information in both directions - from the caller to the
	function and back to the caller, combining the {in} and {out}
	modes.  An "inout" parameter might be used where the function
	needs to read and update some data belonging to the caller as
	a side effect of its main purpose.

	(2010-01-19)

IN point

	<unit, text> (l'Imprimerie nationale point) A variant of the
	{point} equal to 0.4 mm.

	(2002-03-11)

Inprise Corporation

	{Borland Software Corporation}.

Input

	{ALPHA}

input

	<architecture> {Data} transferred from the outside world into
	a computer system via some kind of {input device}.

	Opposite: {output}.

	(1997-04-28)

input device

	<hardware> A {peripheral} used to transfer data from the
	outside world into a computer system.  Some input devices are
	operated directly by the user, e.g. {keyboard}, {mouse},
	{touch screen}, {joystick}, {digitising tablet}, {microphone};
	others are sensors or transducers which convert external
	signals into data, e.g. using an {ananlog to digital
	converter} (this would also be true of a microphone).  Other
	kinds of inputs are really one half of a bidirectional link
	with another computer or storage device, e.g. {serial line},
	{SCSI} interface.

	(1996-11-03)

input/output

	<programming, operating system> (I/O) Communication between a
	computer and its users, its storage devices, other computers
	(via a {network}) or the outside world.  The devices the
	computer uses to do this are called "{peripherals}".  What
	actually counts as I/O depends on what level of detail you are
	considering, e.g. communication between processors would not
	be considered I/O when considering a {multiprocessor} as a
	single system.

	Important aspects of I/O are {throughput}, {latency}, and
	whether the communications is {synchronous} or {asynchronous}
	(using some kind of {buffer}).

	(2003-12-04)

input/output redirection

	<operating system> In {Unix}, to send ouput from a {process}
	to different {file} or {device} or to another process via a
	{pipe}, or to have a process read its input from a different
	file, device or pipe.  Some other {operating systems} have
	similar facilities.

	To redirect input to come from a file instead of the keyboard,
	use "<":

		myprog < myfile

	Similarly to redirect output to a file instead of the screen:

		ls > filelist

	A pipe redirects the output of one process directly into the
	input of another

		who | wc -l

	A common misuse by beginners is

		cat myfile | myprog

	Which is more or less equivalent to "myprog < myfile" except
	that it introduces an extra unnecessary cat process and buffer
	space for the pipe.  Even the "<" is unnecessary with many
	standard Unix commands since they accept input file names as
	command line arguments anyway.

	Unix's concept of {standard input/output} and I/O redirection
	make it easy to combine simple processes in powerful ways and
	to use the same commands for different purposes.

	(1998-04-24)

inquiry/response system

	<business> Any computer system in which data is entered
	{offline} and processed in {batch} form, but information can
	be retrieved on-line.  An example is the checking of credit
	cards.

	["Computer Information Systems for Business V", Thomas Dock
	and James C Wetherbe, West Publishing Company 1988].

	(1996-06-24)

INRIA

	{Institut National de Recherche en Informatique et Automatique}

insanely great

	({Macintosh} community, from {Steve Jobs}; also {BSD Unix}
	people via {Bill Joy}) Something so incredibly {elegant} that
	it is imaginable only to someone possessing the most puissant
	of {hacker}-natures.

	[{Jargon File}]

	(1994-12-06)

insertion sort

	<algorithm> A sorting {algorithm} that inserts each item in
	the proper place into an initially empty list by comparing it
	with each item in the list until it finds the new element's
	successor or the end of the list.

	Compare {bubble sort}.

	(1997-02-12)

INSIGHT

	A {simulation} and modelling language especially for health
	care problems.

	["Simulation Modeling with INSIGHT", S.D. Roberts Proc 1983
	Winter Sim Conf, S.D. Roberts et al eds, pp.7-16].

	(1995-03-03)

Insignia Solutions, Inc.

	<company> /in-sig'nee-* s*-loosh'nz/ A company that made its
	name as a provider of software that allows users to run
	{Microsoft Windows} and {MS-DOS} {application programs} on
	{Digital}, {HP}, {IBM}, {Motorola}, {NeXT}, {Silicon Graphics}
	and {Sun}/{SPARC} {workstations}, {X terminals}, {Java}
	desktops, and {Apple Computer}'s {Power Mac} and {Motorola
	68000}-based computers.

	Insignia Solutions was founded in 1986.  Their first product,
	{SoftPC} 1.0 for Sun workstations, was introduced in 1988.
	Also in 1988, Insignia shipped its first version of SoftPC for
	Apple Computer's Macintosh.  As the demand to run Windows and
	MS-DOS applications on non-Intel computers grew, Insignia
	signed {OEM} agreements with several companies including {Data
	General}, Digital, {Fujitsu}, HP, {Intergraph Corp.},
	Motorola, Silicon Graphics, and Sun Microsystems.

	Insignia Solutions sold its {SoftWindows} and {RealPC} product
	lines to {FWB Software} [when?].  Its major product in 2000 is
	the {Jeode} platform, a {Java virtual machine} for {Internet
	appliances} and {embedded} devices.

	{Home Page (http://insignia.com/)}.

	(2000-02-14)

inspection

	<testing> A formal evaluation technique in which software
	{requirements}, design, or code are examined in detail by a
	person or group other than the author to detect faults,
	violations of development standards, and other problems.

	(1996-05-22)

installable file system

	<operating system> (IFS or "File System Driver", "FSD") An
	{API} that allows you to extend {OS/2} to access files stored
	on disk in formats other than {FAT} and {HPFS}, and access
	files that are stored on a {network file server}.

	For example an IFS could provide programs running under OS/2
	(including DOS and Windows programs) with access to files
	stored under {Unix} using the {Berkeley fast file system}.

	The other variety of IFS (a "remote file system" or
	"redirector") allows file sharing over a {LAN}, e.g. using
	Unix's {Network File System} {protocol}.  In this case, the
	IFS passes a program's file access requests to a remote file
	server, possibly also translating between different file
	attributes used by OS/2 and the remote system.

	Documentation on the IFS API has been available only by
	special request from IBM.

	An IFS is structured as an ordinary 16-bit {DLL} with entry
	points for opening, closing, reading, and writing files, the
	swapper, file locking, and {Universal Naming Convention}.  The
	main part of an IFS that runs in {ring} 0 is called by the
	OS/2 {kernel} in the context of the caller's process and
	{thread}.  The other part that runs in ring 3 is a utility
	library with entry points for FORMAT, RECOVER, SYS, and
	CHKDSK.

	{EDM/2 article (http://edm2.com/0103/)}.

	(1999-04-07)

installed user base

	{user base}

installer

	<operating system> A {utility program} to ease the
	installation of another, probably larger, {application}.  It
	is also possible for {hardware} to have an installer accompany
	it, to install any low level {device drivers} required.

	The installer commonly asks the user to enter desired
	configuration options for the main program or hardware, and
	sets up various initialisation files accordingly, as well as
	copying the main program to a {hard disc}.

	Some badly designed operating systems require applications to
	provide an {uninstaller} because of the number of different
	files modified or created during the installation process.

	(1998-02-09)

instance

	<programming> An individual {object} of a certain {class}.
	While a class is just the type definition, an actual usage of
	a class is called "instance".  Each instance of a class can
	have different values for its {instance variables}, i.e. its
	{state}.

	(1998-03-06)

instance variable

	<programming> In {object-oriented programming}, one of the
	variables of a {class template} which may have a different
	value for each {object} of that {class}.  Instance variables
	hold the {state} of an object.

	(1998-01-16)

instantiate

	{instantiation}

instantiation

	<programming> Producing a more defined version of some object
	by replacing variables with values (or other variables).

	1. In {object-oriented programming}, producing a particular
	{object} from its {class template}.  This involves allocation
	of a structure with the types specified by the template, and
	initialisation of {instance variables} with either default
	values or those provided by the class's {constructor}
	function.

	2. In {unification}, (as used in {logic programming}, {type
	checking} and {type inference}), binding a {logic variable}
	({type variable}) to some value (type).

	(1995-03-28)

Institute for Global Communications

	(IGC) Provider of computer networking tools for international
	communications and information exchange.  The IGC Networks --
	PeaceNet, EcoNet, ConflictNet and LaborNet -- comprise the
	world's only computer communications system dedicated solely
	to environmental preservation, peace, and human rights.  New
	technologies are helping these worldwide communities cooperate
	more effectively and efficiently.

	Address: 18 De Boom Street, San Francisco, CA 94107 USA.  A
	division of the Tides Foundation, a 501(c)(3) tax-exempt
	organisation.  A founding member of the world-wide Association
	of Progressive Communications (APC).

	{(ftp://igc.apc.org)}.

	E-mail: <support@igc.apc.org>.

	(1996-06-24)

Institute of Electrical and Electronics Engineers, Inc.

	(IEEE) The world's largest technical professional society,
	based in the USA.  Founded in 1884 by a handful of
	practitioners of the new electrical engineering discipline,
	today's Institute has more than 320,000 members who
	participate in its activities in 147 countries.  The IEEE
	sponsors technical conferences, symposia and local meetings
	worldwide, publishes nearly 25% of the world's technical
	papers in electrical, electronics and computer engineering and
	computer science, provides educational programs for its
	members and promotes standardisation.  Areas covered include
	aerospace, computers and communications, biomedical
	technology, electric power and consumer electronics.

	{(http://ieee.org/)}.
	{Gopher (gopher://gopher.ieee.org/)}.
	{(ftp://ftp.ieee.org/)}.

	E-mail file-server: <fileserver-help@info.ieee.org>.

	{ IEEE Standards Process Automation (SPA) System
	(http://stdsbbs.ieee.org/)},
	{telnet	(telnet:stdsbbs.ieee.org)} [140.98.1.11].

	(1995-03-10)

Institut National de Recherche en Informatique et Automatique

	<body> (INRIA) A French research institute for computer
	science, {control theory}, and applied mathematics.  INRIA has
	research units in Rocquencourt (near Paris), Sophia-Antipolis
	(near Nice), Grenoble, Nancy (also known as LORIA) and Rennes
	(known as IRISA), the last two in partnership with {CNRS} and
	local universities.

	INRIA works on various projects, including the development of
	{free software} such as {SciLab}, {Objective Caml}, {Bigloo},
	and projects such as {GNU MP}.

	(2003-07-13)

instruction

	{machine instruction}

Instruction Address Register

	<architecture> (IAR) The {IBM} name for {program counter}.

	The IAR can be accessed by way of a {supervisor} call in
	{supervisor state}, but cannot be directly addressed in
	{problem state}.

	(1995-03-21)

instructional technology

	<education> Design, development, use, management and
	evaluation of process and resources for learning.

	Instructional technology aims to promote the application of
	validated, practical procedures in the design and delivery of
	instruction.  It is often defined either in terms of media and
	other technology used (e.g. {audiovisual media} and equipment
	and computers), or in terms of a systematic process which
	encompasses instructional design, development, delivery and
	evaluation.

	["Instructional Technology: The Definition and Domains of the
	Field", 1994, Barbara Seels and Rita Richey, Washington, D.C.,
	Association for Educational Communications and Technology].

	(2010-01-29)

instruction mnemonic

	<programming> A word or acronym used in {assembly language} to
	represent a {binary} machine instruction {operation code}.
	Different processors have different {instruction sets} and
	therefore use a different set of {mnemonics} to represent
	them.

	E.g. ADD, B (branch), BLT (branch if less than), {SVC}, MOVE,
	LDR (load register).

	(1997-02-18)

instruction prefetch

	<architecture> A technique which attempts to minimise the time
	a {processor} spends waiting for {instructions} to be fetched
	from memory.  Instructions following the one currently being
	executed are loaded into a prefetch queue when the processor's
	{external bus} is otherwise idle.  If the processor executes a
	{branch} instruction or receives an {interrupt} then the queue
	must be flushed and reloaded from the new address.

	Instruction prefetch is often combined with {pipelining} in
	an attempt to keep the pipeline busy.

	By 1995 most processors used prefetching, e.g. {Motorola
	680x0}, {Intel 80x86}.

	[First processors using prefetch?]

	(1998-03-29)

instruction scheduling

	The {compiler} phase that orders instructions on a
	{pipelined}, {superscalar}, or {VLIW} architecture so as to
	maximise the number of function units operating in parallel
	and to minimise the time they spend waiting for each other.

	Examples are filling a {delay slot}; interspersing
	{floating-point} instructions with integer instructions to
	keep both units operating; making adjacent instructions
	independent, e.g. one which writes a register and another which
	reads from it; separating memory writes to avoid filling the
	{write buffer}.

	Norman P. Jouppi and David W. Wall, {"Available
	Instruction-Level Parallelism for Superscalar and
	Superpipelined Processors"
	(ftp://gatekeeper.dec.com/archive/pub/DEC/WRL/research-reports/WRL-TR-89.7.ps.Z)},
	Proceedings of the Third International Conference on
	Architectural Support for Programming Languages and Operating
	Systems, pp. 272--282, 1989.

	[The SPARC Architecture Manual, v8, ISBN 0-13-825001-4]

instruction set

	<architecture> The collection of {machine language}
	{instructions} that a particular {processor} understands.

	The term is almost synonymous with "{instruction set
	architecture}" since the instructions are fairly meaningless
	in isolation from the {registers} etc. that they manipulate.

	(1999-07-05)

instruction set architecture

	<architecture> (ISA) The parts of a {processor}'s design that
	need to be understood in order to write {assembly language},
	such as the {machine language} instructions and {registers}.
	Parts of the architecture that are left to the implementation,
	such as number of {superscalar} {functional units}, {cache}
	size and {cycle} speed, are not part of the ISA.

	The definition of {SPARC}, for example, carefully
	distinguishes between an implementation and a specification.

	(1999-01-16)

Instruction Set Processor

	<language> (ISP) A family of languages for describing the
	{instruction sets} of computers.

	["Computer Structures: Readings and Examples", D.P. Siewiorek
	et al, McGraw-Hill 1982].

	(1995-10-12)

instrument

	<programming> To install devices or instructions into hardware
	or software to monitor the operation of a system or component.

	(1996-05-22)

int

	1. <programming> A common name for the {integer} data type.
	In {C} for example, it means a (signed) integer of the
	computer's native {word length}.

	2. <networking> The {top-level domain} for international
	organisations.

	(1999-01-26)

INTCODE

	<language> A low-level {interpreted language} used in
	{bootstrapping} the {BCPL} compiler.  The INTCODE machine has six
	control {registers} and eight functions.  {OCODE} was used as the
	intermediate language.

	["INTCODE - An Interpretive Machine Code for BCPL",
	M. Richards, Computer Lab, U Cambridge 1972].

	["BCPL - The Language and its Compiler", Martin Richards &
	Colin Whitby-Stevens, Cambridge U Press 1979].

	(2014-08-21)

integer

	<mathematics> (Or "whole number") One of the numbers in the set

		..., -3, -2, -1, 0, 1, 2, 3, ...

	There are an {infinite} number of integers, though each one is
	{finite}.

	An {inductive definition} of an integer is a number that is either
	zero or an integer plus or minus one.  An integer has no
	{fractional} part.  If written as a {real} number, e.g. 42.0, the
	part after the decimal point will be zero.

	A {natural number} is a non-negative integer.

	Computers usually store integers in {binary}.  Natural numbers can
	be stored as {unsigned integers} and integers that may be negative
	require a {sign bit} and typically use {twos complement}
	representation.  Other representations have been used, such as
	{binary-coded decimal}.

	(2002-04-07)

Integer SPECbaserate

	{SPECrate_base_int92}

Integer SPECbaseratio

	{SPECbase_int92}

Integer SPECrate

	{SPECrate_int92}

Integer SPECratio

	{SPECint92}

integrated circuit

	<electronics> (IC, or "chip") A microelectronic
	{semiconductor} device consisting of many interconnected
	transistors and other components.  ICs are constructed
	("fabricated") on a small rectangle (a "die") cut from a
	Silicon (or for special applications, Sapphire) wafer.  This
	is known as the "substrate".  Different areas of the substrate
	are "doped" with other elements to make them either "p-type"
	or "n-type" and polysilicon or aluminium tracks are etched in
	one to three layers deposited over the surface.  The die is
	then connected into a package using gold wires which are
	welded to "pads", usually found around the edge of the die.

	Integrated circuits can be classified into analogue, digital
	and hybrid (both analogue and digital on the same chip).
	Digital integrated circuits can contain anything from one to
	millions of {logic gates} - {inverters}, {AND}, {OR}, {NAND}
	and {NOR} gates, {flip-flops}, {multiplexors} etc. on a few
	square millimeters.  The small size of these circuits allows
	high speed, low power dissipation, and reduced manufacturing
	cost compared with board-level integration.

	The first integrated circuits contained only a few
	{transistors}.  Small Scale Integration ({SSI}) brought
	circuits containing transistors numbered in the tens.  Later,
	Medium Scale Integration ({MSI}) contained hundreds of
	transistors.  Further development lead to Large Scale
	Integration ({LSI}) (thousands), and VLSI (hundreds of
	thousands and beyond).  In 1986 the first one {megabyte} {RAM}
	was introduced which contained more than one million
	transistors.

	LSI circuits began to be produced in large quantities around
	1970 for computer main memories and pocket calculators.  For
	the first time it became possible to fabricate a {CPU} or even
	an entire {microprocesor} on a single integrated circuit.  The
	most extreme technique is {wafer-scale integration} which uses
	whole uncut wafers as components.

	[Where and when was the term "chip" introduced?]

	(1997-07-03)

Integrated Database Management System

	<database> (IDMS) A network {DBMS} written by the staff of
	B.F.Goorich (Akron, Ohio, USA) circa 1972 and sold to
	{Cullinet} (Originally Cullinane, now part of {Computer
	Associates}).

	IDMS was licensed to {ICL} in 1976 for porting to, and
	subsequent development on, their computers.  It was
	implemented on the {ICL 1900} Series ({DME} {George 2},
	{George 3}, {CME}, {TME}), {System 4}, and {ICL 2900} Series
	(later Series 39 Corporate Servers).  The latest version runs
	on Series 39 {OpenVME} as IDMSX (IDMS extended).

	[Was it a {relational database}?]

	(1995-04-19)

integrated development environment

	{interactive development environment}

Integrated Drive Electronics

	{Advanced Technology Attachment}

Integrated Information Technology

	<company> (IIT) A Santa Clara based company producing a
	programmable, single chip {H.261} and {MPEG} system.  The chip
	contains a {RISC} processor, originally based on the {MIPS}
	architecture but now called {RISCit}, and a "Pixel Processor".

	(1994-11-03)

Integrated Modelling Support Environment

	<project> (IMSE) An {Esprit} programme.

	[Details?]

	(1999-04-26)

Integrated Project Support Environment

	<software> (IPSE) A set of management and technical tools to
	support software development, usually integrated in a coherent
	framework, equivalent to a {Software Engineering Environment}.

	(1999-04-26)

Integrated Services Digital Network

	<communications> (ISDN) A set of communications {standards}
	allowing a single wire or {optical fibre} to carry voice,
	digital network services and video.  ISDN is intended to
	eventually replace the {plain old telephone system}.

	ISDN was first published as one of the 1984 {ITU-T} {Red Book}
	recommendations.  The 1988 {Blue Book} recommendations added
	many new features.  ISDN uses mostly existing {Public Switched
	Telephone Network} (PSTN) switches and wiring, upgraded so
	that the basic "call" is a 64 kilobits per second, all-digital
	end-to-end channel.  {Packet} and {frame} modes are also
	provided in some places.

	There are different kinds of ISDN connection of varying
	bandwidth (see {DS level}):

		DS0  =    1 channel  PCM at      64 kbps
	 T1  or DS1  =   24 channels PCM at   1.54  Mbps
	 T1C or DS1C =   48 channels PCM at   3.15  Mbps
	 T2  or DS2  =   96 channels PCM at   6.31  Mbps
	 T3  or DS3  =  672 channels PCM at  44.736 Mbps
	 T4  or DS4  = 4032 channels PCM at 274.1   Mbps

	Each channel here is equivalent to one voice channel.  DS0 is
	the lowest level of the circuit.  T1C, T2 and T4 are rarely
	used, except maybe for T2 over microwave links.  For some
	reason 64 kbps is never called "T0".

	A {Basic Rate Interface} (BRI) is two 64K "bearer" channels
	and a single "delta" channel ("2B+D").  A {Primary Rate
	Interface} (PRI) in North America and Japan consists of 24
	channels, usually 23 B + 1 D channel with the same physical
	interface as T1.  Elsewhere the PRI usually has 30 B + 1 D
	channel and an {E1} interface.

	A {Terminal Adaptor} (TA) can be used to connect ISDN channels
	to existing interfaces such as {EIA-232} and {V.35}.

	Different services may be requested by specifying different
	values in the "Bearer Capability" field in the call setup
	message.  One ISDN service is "telephony" (i.e. voice), which
	can be provided using less than the full 64 kbps bandwidth (64
	kbps would provide for 8192 eight-bit samples per second) but
	will require the same special processing or {bit diddling} as
	ordinary PSTN calls.  Data calls have a Bearer Capability of
	"64 kbps unrestricted".

	ISDN is offered by local telephone companies, but most readily
	in Australia, France, Japan and Singapore, with the UK
	somewhat behind and availability in the USA rather spotty.

	(In March 1994) ISDN deployment in Germany is quite
	impressive, although (or perhaps, because) they use a
	specifically German signalling specification, called {1.TR.6}.
	The French {Numeris} also uses a non-standard protocol (called
	{VN4}; the 4th version), but the popularity of ISDN in France
	is probably lower than in Germany, given the ludicrous
	pricing.  There is also a specifically-Belgian V1 experimental
	system.  The whole of Europe is now phasing in {Euro-ISDN}.

	See also {Frame Relay}, {Network Termination}, {SAPI}.

	{FAQ
	(ftp://src.doc.ic.ac.uk/usenet/news-info/comp.dcom.isdn/)}.

	{Usenet} newsgroup: {news:comp.dcom.isdn}.

	(1998-03-29)

Integrated Systems Architecture

	(ISA for {ODP}) An {Esprit} 2 project continuing the {ANSA}
	project.

	(1995-02-21)

Integrated Systems Laboratory

	<company> A joint project of {Control Data Corporation} and
	{NCR Corporation}, established in 1973 and dissolved in 1976.

	Integrated Systems Laboratory developed {Software Writer's
	Language}.

	Address: Escondidio, California, USA.

	(2003-12-31)

integration

	<programming> Combining software or hardware components or
	both into an overall system.

	(1996-05-22)

integration testing

	<testing> A type of {testing} in which {software} and/or
	{hardware} components are combined and tested to confirm that
	they interact according to their requirements.  Integration
	testing can continue progressively until the entire system has
	been integrated.

	(2003-09-24)

integrity

	1. <data> {data integrity}.

	2. <database> {referential integrity}.

integrity constraint

	<database> A {constraint} (rule) that must remain true for a
	{database} to preserve {data integrity}.  Integrity
	constraints are specified at database creation time and
	enforced by the {database management system}.

	Examples from a genealogical database would be that every
	individual must be their parent's child or that they can have
	no more than two natural parents.

	(1995-11-11)

Intel

	{Intel Corporation}

Intel 4004

	<processor> The world's first {microprocessor}, released in
	1971.  The 4004 contained 2300 transistors (compared with 5.5
	million in the 1996 {Pentium Pro}) and was intended for use in
	a calculator.  It processed data in 4 bits, but its
	instructions were 8 bits long.  Program and Data memory were
	separate, it had 1 {kilobyte} of data memory and a 12-bit {PC}
	for 4K of program memory (in the form of a 4 level {stack},
	used for CALL and RET instructions).  There were also sixteen
	4-bit (or eight 8-bit) general purpose {registers}.  The 4004
	had 46 instructions.

	(1997-03-30)

Intel 4040

	<processor> An enhanced version of the {Intel 4004}, adding 14
	instructions, larger (8 level) {stack}, 8 kbyte program memory
	and {interrupt} abilities (including shadows of the first 8
	{registers}).  The 4040 was similar to the {Intel 8008}.

	(1994-10-31)

Intel 486

	<processor> (Or "i486", "iAPX 80486", and "Intel DX4" but
	usually just "486").  A range of {Intel} {CISC}
	{microprocessors} which is part of the {Intel 80x86} family of
	processors.

	The 486s are very similar to their immediate predecessor, the
	{Intel 80386}DX.  The main differences are that the 486 has an
	optimised {instruction set}, has an on-chip unified
	instruction and data {cache}, an optional on-chip
	{floating-point unit} (FPU), and an enhanced {bus interface
	unit}.  These improvements yield a rough doubling in
	performance over an {Intel 80386} at the same {clock rate}.

	There are several suffixes and variants including:

	{Intel 486SX} - a 486DX with a faulty {FPU} that has been
	disabled in the factory.

	{Intel 486DX} - 486SX with a working {FPU}.

	486DX-2 - runs at twice the external {clock rate}.

	486SX-2 - runs at twice the external {clock rate}.

	486SL - 486DX with power conservation circuitry.

	486SL-NM - 486SX with power conservation circuitry; SL
	enhanced suffix, denotes a 486 with special power conservation
	circuitry similar to that in the 486SL processors.

	487 - 486DX with a slightly different pinout for use in 486SX
	systems.

	OverDrive - 486DX-2 with a slightly different pinout for use
	in 486SX systems.

	{RapidCAD} - 486DX in a special package with a companion {FPU}
	dummy package for use in {Intel 80386} systems.

	{Intel DX4}, {Cyrix} {Cy486SLC}.

	External {clock rates} include 16MHz, 20MHz, 25MHz, 33MHz,
	40MHz, although 16Mhz is rare now, and the 20MHz processors
	are often clock doubled.

	The 486 processor has been licensed or reverse engineered by
	other companies such as {IBM}, {AMD}, {Cyrix}, and {Chips &
	Technologies}.  Some are almost exact duplicates in
	specications and performance, some aren't.

	The successor to the 486 is the {Pentium}.

	(1995-02-21)

Intel 486DX

	<processor> One of {Intel}'s {Intel 486} family of
	{microprocessors} (one of the last before the {Pentium}).  The
	486DX has a working built-in {floating point unit} (FPU).  The
	{Intel 486SX} is effectively a DX with the FPU disabled.  The
	DX has a pin to select the external {data bus} width (16 or
	32).

	The {Intel 487SX} is a 486DX with a 486SX pinout.

	(1995-05-09)

Intel 486SX

	<processor> An {Intel 486DX} {microprocessor} with its
	{floating-point unit} disconnected.  All 486SX chips were
	fabricated with FPUs.  If testing showed that the CPU was OK
	but the FPU was defective, the FPU's power and bus connections
	were destroyed with a laser and the chip was sold cheaper as
	an SX, if the FPU worked it was sold as a DX.

	[Was this true of all 486SX chips?]

	Some systems, e.g. Aopen 486SX, allowed a DX to be plugged
	into an expansion socket.  A board jumper would disable the SX
	which was hard to remove because it was surface mounted.

	Some SX chips only had a 16-bit wide external {data bus}.  The
	DX has a pin to select the data bus width (16 or 32).  On the
	smaller SX, that line is {hard-wired} to 16 inside the
	package.  This is similar to the 286 SX, which was a 16-bit
	processor with an 8-bit external data bus.

	The {Jargon File} claimed that the SX was deliberately
	disabled {crippleware}.  The German computer magazine, "c't",
	made this same theory the basis of an {April Fools Joke}.
	They claimed that if one drilled a hole of a specified
	diameter through the right point on a SX chip, this would
	brake the circuit that disables the FPU.  Some people actually
	tried (and then bought themselves new processors).

	(1997-02-14)

Intel 487SX

	<processor> A version of the {Intel 486DX} {microprocessor}
	with an extra pin, for use in the {coprocessor} socket of an
	{Intel 486SX} system.  The 487SX provides the {FPU} which is
	missing in the 486SX.

	Although the 486SX is completely disabled when you install a
	487SX, the 487SX design requires that you leave the 486SX in
	your PC [why?], rather than use it elsewhere.  Intel admits
	that in some systems you can unplug the 486SX and fit a 487SX
	in its place but they don't guarantee that it will always
	work.

	See {Intel 486}.

	(1995-05-10)

Intel 8008

	<processor> A {microprocessor} intended for use as a terminal
	controller, and similar to the {Intel 4040}.  The 8008 had a
	14-bit {PC} and addressing and an eight level internal
	{stack}.  It was followed by the {Intel 8080}.

	[Date?]

	(1994-10-31)

Intel 80186

	<processor> A {microprocessor} developed by {Intel} circa
	1982.  The 80186 was an improvement on the {Intel 8086} and
	{Intel 8088}.  As with the 8086, it had a 16-bit {external
	bus} and was also available as the {Intel 80188}, with an
	8-bit external {data bus}.  The initial {clock rate} of the
	80186 and 80188 was 6 MHz.  They were not used in many
	computers, but one notable exception was the {Mindset}, a very
	advanced computer for the time.  They were used as {embedded
	processors}.

	One major function of the 80186/80188 series was to reduce the
	number of chips required.

	"To satisfy this market, we defined a processor with a
	significant performance increase over the 8086 that also
	included such common peripheral functions as
	software-controlled wait state and chip select logic, three
	timers, priority interrupt controller, and two channels of DMA
	(direct memory access).  This processor, the 80186, could
	replace up to 22 separate VLSI (very large scale integration)
	and TTL (transistor-transistor logic) packages and sell for
	less than the cost of the parts it replaced."

	-- Paul Wells of Intel Corporation writing in Byte (reference
	below)

	New instructions were also introduced as follows:

	 ENTER	Make stcak frame for procedure parameters
	 LEAVE	High-level procedure exit
	 PUSHA	Push all general registers
	 POPA	Pop all general registers
	 BOUND	Check array index against bounds
	 IMUL	Signed (integer) multiply
	 INS	Input from port to string
	 OUTS	Output string to port

	["The Evolution of the iAPX 286", Bob Greene, Intel
	Corporation, PC Tech Journal, December 1984, page 134].

	["The 80286 Microprocessor", Paul Wells, Intel Corporation,
	Byte, November 1984, p. 231].

	(1999-05-10)

Intel 80188

	<processor> A version of the {Intel 80186} with an 8 bit
	external data bus (instead of 16 bit).  This makes it cheaper
	to connect to peripherals.

	(1995-01-13)

Intel 80286

	<processor> (Or "286", "i286") A {microprocessor} developed by
	{Intel}.  THe 80286 processor has a 16-bit {data bus} and
	incorporates a {memory management unit} that allowed a limited
	amount of {multitasking}.  The 80286 only has a segmented MMU
	while the later processors add a {page}d MMU "behind" the
	segmented one.

	The 80286 was the processor in the {IBM PC AT} {personal
	computer}.

	(1995-02-21)

Intel 80386

	<processor> (Commonly abbreviated to "386", trademark
	"Intel386") The successor to the {Intel 80286}
	{microprocessor}.  It was the first Intel processor with
	32-bit data and address {buss}es.  It can address four
	{gigabytes} (2^32 bytes) of memory; however, 16 megabytes is a
	typical maximum in {IBM PCs}.  The 386 allows multiple
	{application programs} to run at the same time (when running
	under 386-specific {operating systems}) using "{protected
	mode}".

	The first {IBM compatible} to use the 386 was the {Compaq}
	386, before {IBM} used it in high-end models of their {PS/2}
	series.  It is also used in {HP}'s {RS} series and many
	others.

	It does not require special {EMS} memory boards to expand
	{MS-DOS} memory limits.  With the 386, the EMS standard can be
	simulated in normal {extended memory}, and many DOS add-ons
	provide this "Expanded Memory Manager" feature.

	See also {Intel 80386SX}, {BSD386}.

	(1995-02-21)

Intel 80386DX

	<processor> A version of the {Intel 80386} with a 32-bit {data
	bus} and 32-bit {address bus}, a BGA.  The 386DX was clocked
	at 16 to 33 MHz by {Intel} and up to 40 MHz by {AMD}.  It
	comes in a {BGA} package.

	(2003-07-05)

Intel 80386SX

	<processor> A lower-speed version of the {Intel 80386}.  It
	uses a 16-bit data bus instead of a 32-bit data bus.  It has a
	24-bit {address bus}.  It is faster than the 286, and more
	importantly, like the full-size 386, provides more flexibility
	in running existing DOS applications.  Intel's version runs at
	16 MHz, while {AMD}'s can run at up to 33 MHz.  It comes in a
	{PFP} package.

	(2003-07-05)

Intel 8048

	<processor> The {microcontroller} used in {IBM PC} keyboards.
	The 8048 was inspired by, and similar to, the {Fairchild F8}
	microprocessor but, being a microcontroller, was designed for
	low cost and small size.  The 8048 has a modified {Harvard
	architecture}, with program {ROM} on chip and 64 to 256 bytes
	of {RAM} also on chip.  I/O is mapped in its own {address
	space}.

	Though the 8048 was eventually replaced by the very popular
	but bizarre {Intel 8051} and {Intel 8052}, even in 2000 it is
	still very popular due to its low cost, wide availability, and
	development tools.

	[Was it really __the_first__ microcontroller?  Are the ROM and
	RAM both on-chip?]

	(2000-06-01)

Intel 80486

	{Intel 486}

Intel 8051

	<processor> A {microcontroller} developed by {Intel} in 1980
	for use in {embedded} products and still (1999) one of the
	most popular microcontrollers.

	The 8051/8031 {cores} are used in over 100 devices from 10
	independent manufacturers such as Dallas and Philips.

	[What is the difference between the 8031/8051/8052?]

	See also {CAS 8051 Assembler}, {as31} assembler, {51forth}.

	{8051 FAQ
	(http://ece.orst.edu/~pricec/8051/faq/index.html)}.

	{The 8031/51 series microcontroller
	(http://rehn.org/YAM51/)}.

	{Intel MCS51 series microcontrollers
	(http://intel.com/design/mcs51/)}.

	(1999-11-21)

Intel 8080

	<processor> The successor to the {Intel 8008}.  The 8080 had a
	16-bit {address bus} and an 8-bit {data bus}.  It had seven
	8-bit {registers} (six which could also be combined as three
	16-bit registers), a 16-bit {stack pointer} to memory which
	replaced the 8008's internal stack and a 16-bit {program
	counter}.  It also had 256 I/O ports (so I/O devices could be
	connected without needing to allocate any addressing space as
	is required for {memory mapped} devices) and a signal pin that
	allowed the {stack} to occupy a separate bank of memory.

	Shortly after the 8080, the {Motorola 6800} was introduced.

	[Date?]

	(1994-10-31)

Intel 8085

	<processor> A {microprocessor} intended to be an improved
	{Intel 8080}, as was the {Zilog Z80}.

	(1994-10-31)

Intel 8086

	<processor> A sixteen bit {microprocessor} chip used in early
	{IBM PCs}.  The {Intel 8088} was a version with an eight-bit
	external data bus.

	The Intel 8086 was based on the design of the {Intel 8080} and
	{Intel 8085} (it was {source compatible} with the 8080) with a
	similar {register set}, but was expanded to 16 bits.  The Bus
	Interface Unit fed the instruction stream to the Execution
	Unit through a 6 byte {prefetch} queue, so fetch and execution
	were concurrent - a primitive form of {pipelining} (8086
	instructions varied from 1 to 4 bytes).

	It featured four 16-bit general {registers}, which could also
	be accessed as eight 8-bit registers, and four 16-bit {index
	registers} (including the {stack pointer}).  The data
	registers were often used implicitly by instructions,
	complicating {register allocation} for temporary values.  It
	featured 64K 8-bit I/O (or 32K 16 bit) ports and fixed
	{vectored interrupts}.  There were also four {segment
	registers} that could be set from index registers.

	The segment registers allowed the CPU to access 1 meg of
	memory in an odd way.  Rather than just supplying missing
	bytes, as most segmented processors, the 8086 actually shifted
	the segment registers left 4 bits and added it to the address.
	As a result, segments overlapped, and it was possible to have
	two pointers with the same value point to two different memory
	locations, or two pointers with different values pointing to
	the same location.  Most people consider this a {brain
	damaged} design.

	Although this was largely acceptable for {assembly language},
	where control of the segments was complete (it could even be
	useful then), in higher level languages it caused constant
	confusion (e.g. near/far pointers).  Even worse, this made
	expanding the address space to more than 1 meg difficult.  A
	later version, the {Intel 80386}, expanded the design to 32
	bits, and "fixed" the segmentation, but required extra modes
	(suppressing the new features) for compatibility, and retains
	the awkward architecture.  In fact, with the right assembler,
	code written for the 8008 can still be run on the most recent
	{Intel 486}.

	The {Intel 80386} added new {op codes} in a kludgy fashion
	similar to the {Zilog Z80} and {Zilog Z280}.  The {Intel
	486} added full {pipelines}, and {clock doubling} (like the
	{Zilog Z280}).

	So why did {IBM} chose the 8086 series when most of the
	alternatives were so much better?  Apparently IBM's own
	engineers wanted to use the {Motorola 68000}, and it was used
	later in the forgotten {IBM Instruments} 9000 Laboratory
	Computer, but IBM already had rights to manufacture the 8086,
	in exchange for giving Intel the rights to its {bubble memory}
	designs.  Apparently IBM was using 8086s in the IBM
	{Displaywriter} {word processor}.

	Other factors were the 8-bit {Intel 8088} version, which could
	use existing {Intel 8085}-type components, and allowed the
	computer to be based on a modified 8085 design.  68000
	components were not widely available, though it could use
	{Motorola 6800} components to an extent.

	{Intel} {bubble memory} was on the market for a while, but
	faded away as better and cheaper memory technologies arrived.

	(1994-12-23)

Intel 8088

	<processor> An {Intel 8086} with 16-bit {registers} and an
	8-bit data bus.

	The 8088 was the processor used in the original {IBM PC}.

	(1995-02-21)

Intel 80x86

	<processor> (x86) One of the family of {Intel}
	{microprocessors} including the {Intel 80186}, {Intel 80286},
	{Intel 80386}, {Intel 486}, in a more general sense also
	{Intel 8086}, {Pentium}, {Pentium Pro}, and {Pentium II}.

	The abbreviation "x86" also includes compatible processors,
	e.g. from {Cyrix} or {AMD}.

	(2004-02-27)

Intel 8751

	<processor> A {microcontroller} from {Intel} including a
	{CPU}, two timers.  128 bytes of {RAM}, 4 kBytes of {EEPROM},
	four eight-bit biderectional I/O ports and an {EIA-232} port.

	The 8751 belongs to the Intel i51 Microcontroller family.  It
	was designed by Intel but is now manufactured by Intel,
	{Philips}, {Siemens}, {AMD} and others.  Motorola's
	microcontroller families (68HC05, 68HC08 and 68HC11) are meant
	to compete with the i51 family.

	(1995-04-22)

Intel Comparative Microprocessor Performance index

	<benchmark, unit> (iCOMP) A unit used by {Intel} to indicate
	the relative performance of their {80x86} {microprocessors}.

	{(http://134.134.214.1/procs/perf/icomp/)}.

	(1997-06-07)

Intel Corporation

	<company> A US microelectronics manufacturer.  They produced
	the {Intel 4004}, {Intel 8080}, {Intel 8086}, {Intel 80186},
	{Intel 80286}, {Intel 80386}, {Intel 486} and {Pentium}
	{microprocessor} families as well as many other {integrated
	circuits} and {personal computer} networking and
	communications products.

	Gordon Moore and Robert Noyce founded Intel in 1968 to design,
	manufacture, and market semiconductor computer memory to
	replace {magnetic core} memory, the dominant computer memory
	at that time.  Dr. Andrew S. Grove joined Intel soon after its
	incorporation.  Three years later, in 1971, Intel introduced
	the world's first {microprocessor}, the {Intel 4004}.

	Intel has design, development, production, and administration
	facilities throughout the western US, Europe and Asia.  In
	1995 nearly 75% of the world's {personal computers} use Intel
	architecture.  Annual revenues are rapidly approaching $10
	billion.  In March, 1994, "Business Week" named Intel one of
	the top ten American companies in terms of profit, one of the
	top 15 market value winners, and 16th out of the magazine's
	top 1,000 companies overall.

	Intel invested a record $2.9 billion in capital and R&D in
	1993, and expects to increase combined spending on these
	activities to $3.5 billion in 1994.  Quarterly sales were
	$2770M and profits, $640M in Aug 1994.

	{(http://intel.com/)}.

	Address: Santa Clara, CA, USA.

	(1995-03-01)

IntelDX4

	<processor> Essentially an {Intel 486DX} {microprocessor} with
	a 16 kilobyte on-chip {cache}.

	The DX4 is the fastest member of the {Intel 486} family.  75
	and 100MHz versions are available.  At an iCOMP index rating
	of 435, the 100 MHz DX4 performs up to 50% faster than the 66
	MHz {Intel DX2}.  The DX4's {clock multiplier} allows the
	processor to run three times faster than the {system clock}.
	This performance is achieved in part by a 16K on-chip {cache}
	(double that of the other 486s).  The DX4 has an integrated
	{floating point unit}.

	Like the other 486s, the DX4 achieves performance through a
	{RISC} integer core that executes frequently used instructions
	in a single {clock cycle} (the {Pentium}'s can execute
	multiple instructions in a single clock cycle).

	Low power consumption has been achieved with {SL} Technology
	and a 0.6 micron manufacturing process, giving 1.6 million
	{transistors} on a single chip operating at only 3.3 Volts.

	"IntelDX4" is the entire name, the "486" has been dropped and
	I am assured that there is no space in the same.

	(1995-04-28)

Intel i960

	<processor> A {superscalar} 32-bit {RISC} {microprocessor}
	from {Intel} intended for {embedded} applications.

	The i960 CA variant can reach 66 native MIPS peak performance
	with a sustained execution of two instructions per clock
	cycle.  The i960 CF has an on-chip, four kilobyte two-way
	{set-associative} {instruction cache} and a one kilobyte {data
	cache}.  Both the CA and CF processors have on-chip {RAM}; a
	four-channel {DMA} unit; and integrated peripherals.

	(1996-05-23)

INTELLECT

	<language> A {query language} written by Larry Harris in 1977,
	close to natural English.

	(1995-04-14)

intellectual property

	<legal> (IP) The ownership of ideas and control over the
	tangible or virtual representation of those ideas.  Use of
	another person's intellectual property may or may not involve
	royalty payments or permission, but should always include
	proper credit to the source.

	(1997-03-27)

intelligent backtracking

	<algorithm> An improved {backtracking} {algorithm} for
	{Prolog} {interpreters}, which records the point at which each
	{logic variable} becomes bound and, when a given set of
	bindings leads to failure, ignores any {choice point} which
	does not bind any of those variables.  No choice from such a
	choice point can succeed since it does not change the bindings
	which caused the failure.

	(1996-04-06)

intelligent database

	<database> A {database management system} which performs data
	validation and processing traditionally done by {application
	programs}.  Most DBMSs provide some data validation,
	e.g. rejecting invalid dates or alphabetic data entered into
	money fields, but often most processing is done by application
	programs.  There is however no limit to the amount of
	processing that can be done by an intelligent database as long
	as the process is a standard function for that data.

	Examples of techniques used to implement intelligent databases
	are {constraints}, {triggers} and {stored procedures}.

	Moving processing to the database aids {data integrity}
	because it is guaranteed to be consistent across all uses of
	the data.  {Mainframe} databases have increasingly become more
	intelligent and personal computer database systems are rapidly
	following.

	(1998-10-07)

Intelligent Input/Output

	<architecture> /i:-too-oh/ (I2O) A specification which aims to
	provide an {I/O} {device driver} architecture that is
	independent of both the specific device being controlled and
	the host {operating system}.  The Hardware Device Module (HDM)
	manages the device and the OS Services Module (OSM) interfaces
	to the host operating system.  The HDM is portable across
	multiple operating systems, processors and busses.  The HDM
	and OSM communicate via a two layer {message passing}
	{protocol}.  A Message Layer sets up a communications session
	and runs on top of a Transport Layer which defines how the two
	parties share information.

	I2O is also designed to facilitate intelligent I/O subsystems,
	with support for {message passing} between multiple
	independent processors.  By relieving the host of {interrupt}
	intensive I/O tasks required by the various layers of a driver
	architecture, the I2O intelligent I/O architecture greatly
	improves I/O performance.  I2O systems will be able to more
	efficiently deliver the I/O throughput required by a wide
	range of high bandwidth applications, such as networked
	{video}, {groupware} and {client-server} processing.  I2O does
	not restrict where the layered modules execute, providing
	support for single processor, {multiprocessor}, and
	{clustered} systems.

	I2O is not intended to replace the driver architectures
	currently in existence.  Rather, the objective is to provide
	an open, standards-based approach, which is complementary to
	existing drivers, and provides a framework for the rapid
	development of a new generation of portable, intelligent I/O.

	{(http://i2osig.org/)}.

	(1997-11-04)

Intelligent I/O

	{Intelligent Input/Output}

intelligent key

	<database> A {relational database} {key} which depends wholly
	on one or more other columns in the same table.  An
	intelligent key might be identified for implementation
	convenience, where there is no good {candidate key}.

	For example, if the three-letter initials of a group of people
	are known to be unique but only their full names are recorded,
	a three letter acronym for their names (e.g. John Doe Smith ->
	JDS) would be an intelligent key.

	Intelligent keys are a {Bad Thing} because it is hard to
	guarantee uniqueness, and if the value on which an intelligent
	key depends changes then the key must either stay the same,
	creating an inconsistency within the containing table, or
	change, requiring changes to all other tables in which it
	appears as a {foreign key}.  The correct solution is to use a
	{surrogate key}.

	(1999-12-07)

intelligent terminal

	<hardware> (or "smart terminal", "programmable terminal") A
	terminal that often contains not only a keyboard and screen,
	but also comes with a disk drive and printer, so it can
	perform limited processing tasks when not communicating
	directly with the central computer.  Some can be programmed by
	the user to perform many basic tasks, including both
	arithmetic and logic operations.  In some cases, when the user
	enters data, the {data} will be checked for errors and some
	type of report will be produced.  In addition, the valid data
	that is entered may be stored on the disk, it will be
	transmitted over communication lines to the central computer.

	An intelligent terminal may have enough computing capability
	to draw graphics or to offload some kind of front-end
	processing from the computer it talks to.

	The development of {workstations} and {personal computers} has
	made this term and the product it describes semi-obsolescent,
	but one may still hear variants of the phrase "act like a
	smart terminal" used to describe the behaviour of workstations
	or PCs with respect to programs that execute almost entirely
	out of a remote {server}'s storage, using said devices as
	displays.

	The term once meant any terminal with an {addressable cursor};
	the opposite of a {glass tty}.  Today, a terminal with merely
	an addressable cursor, but with none of the more-powerful
	features mentioned above, is called a {dumb terminal}.

	There is a classic quote from Rob Pike (inventor of the {blit}
	terminal): "A smart terminal is not a smart*ass* terminal, but
	rather a terminal you can educate".  This illustrates a common
	design problem: The attempt to make peripherals (or anything
	else) intelligent sometimes results in finicky, rigid "special
	features" that become just so much dead weight if you try to
	use the device in any way the designer didn't anticipate.
	Flexibility and programmability, on the other hand, are
	*really* smart.

	Compare {hook}.

	(1995-04-14)

IntelliMouse

	{Microsoft IntelliMouse Explorer}

Intel Literature Sales

	Address: PO Box 58130, Santa Clara, CA 95052, USA.

	Telephone: +1 800 548 4725.

	(1995-01-12)

Intelsat

	<company, communications> A private satellite communications
	company that provides telephony, corporate network, {video}
	and {Internet} solutions around the globe via capacity on 25
	geosynchronous satellites.

	(2003-05-13)

Intel x86

	{Intel 80x86}

intensional

	<philosophy> A description of properties, e.g. intensional
	equality, that relate to how an object is implemented as
	opposed to extensional properties which concern only how its
	output depends on its input.

	(1995-01-12)

Intent to Package

	<Debian> (ITP) A notice, posted to the {Debian} developer
	{mailing list}, announcing a developer's intent to make a new
	Debian package, including a brief description of the package
	and its license.

	(2000-05-31)

INTERACTIVE

	A network simulation language.

	["Design and Implementation of a Pascal Based Interactive
	Network Simulation Language", R. Lakshmanan, PhD Thesis,
	Oakland U, Rochester MI 1983].

	(1995-01-12)

interactive

	<programming> A term describing a program whose input and
	output are interleaved, like a conversation, allowing the
	user's input to depend on earlier output from the same run.

	The interaction with the user is usually conducted through
	either a text-based interface or a {graphical user interface}.
	Other kinds of interface, e.g. using {speech recognition}
	and/or {speech synthesis}, are also possible.

	This is in contrast to {batch} processing where all the input
	is prepared before the program runs and so cannot depend on
	the program's output.

	(1996-06-21)

Interactive CourseWare

	(ICW) A training program controlled by a computer that relies
	on trainee input to determine the order and pace of
	instruction delivery.  The trainee advances through the
	sequence of instructional events by making decisions and
	selections.  The instruction branches according to the
	trainee's responses.

	ICW is a US military term which includes {computer-aided
	instruction} and {computer-based training}.

	(1995-11-08)

Interactive Data analysis Language

	<language> (IDL) A language from {Xerox}, built on
	{Interlisp-D}.

	(2004-05-07)

Interactive Data Entry/Access

	<language> (IDEA) A language from {Data General} in which you
	designed the screen first, and then wrote the program around
	the predefined fields.  IDEA was a precursor to the {DG COBOL}
	{Screen Section}.

	(1996-02-16)

Interactive Data Language

	(IDL) A commercial {array}-oriented language with numerical
	analysis and display features, first released in 1977.  It
	supports interactive {reduction}, analysis, and
	{visualisation} of scientific data.  It is sold by {Research
	Systems, Inc.}

	Version: 3.6.1 runs under {Unix}, {MS-DOS}, {MS Windows},
	{VAX}/{VMS} and {Macintosh}.

	Not to be confused with any of the other {IDLs}.

	{(ftp://gateway.rs.inc.com/pub/idl)}.

	E-mail: <info@rsinc.com>.

	(1994-10-07)

interactive development environment

	<programming, tool> (IDE, integrated development environment)
	A system for supporting the process of writing software.  Such
	a system may include a {syntax-directed editor}, graphical
	tools for program entry, and integrated support for compiling
	and running the program and relating compilation errors back
	to the {source}.

	Such systems are typically both interactive and integrated,
	hence the ambiguous acronym.  They are interactive in that the
	developer can view and alter the execution of the program at
	the level of statements and variables.  They are integrated in
	that, partly to support the above interaction, the source code
	editor and the execution environment are tightly coupled,
	e.g. allowing the developer to see which line of source code
	is about to be executed and the current values of any
	variables it refers to.

	Examples include {Visual C++} and {Visual Basic}.

	(2002-09-21)

Interactive Development Environments

	<company> (IDE) A US {software engineering} company.

	(1996-03-04)

Interactive Software Engineering

	<company> (ISE) The company set up by {Bertrand Meyer}, now
	its president, to develop and distribute {Eiffel}, the
	language which he created.  ISE also organises the {TOOLS}
	conference (Technology of Object-Oriented Languages and
	Systems).

	{(http://eiffel.com/)}.

	E-mail: info@eiffel.com.

	Telephone: +1 (805) 685 1006.

	Address: Santa Barbara, Goleta CA, USA.

	(1995-12-28)

Interactive System Productivity Facility

	<operating system> (ISPF) Something to do with {IBM}'s
	{OS/390}.

	{(http://s390.ibm.com/bookmgr-cgi/bookmgr.cmd/BOOKS/ISPDGD02/COVER?SHELF=ISP5BK01)}.

	[Summary?]

	(1999-07-14)

Interactive Voice Response

	<communications> (IVR) <communications> A {telecommunications}
	system, prevelant with {PBX} and {voice mail} systems, that
	uses a prerecorded database of voice messages to present
	options to a user, typically over telephone lines.  User input
	is retrieved via {DTMF} tone key presses.

	When used in conjunction with {voice mail}, for example, these
	systems typically allow users to store, retrieve, and route
	messages, as well as interact with an underlying {database}
	server which may allow for automated transactions and {data
	processing}.

	(15 Sept 1997)

	(1997-09-21)

Interagency Interim National Research and Education Network

	(IINREN) An evolving operating network system.  Near term
	(1992-1996) research and development activities will provide
	for the smooth evolution of this networking infrastructure
	into the future gigabit {NREN}.

	(1994-12-06)

InterBase

	A commercial {active DBMS}.

INTERCAL

	<language, humour> /in't*r-kal/ (Said by the authors to stand
	for "Compiler Language With No Pronounceable Acronym").

	Possibly the most elaborate and long-lived joke in the history
	of programming languages.  It was designed on 1972-05-26 by
	Don Woods and Jim Lyons at Princeton University.

	INTERCAL is purposely different from all other computer
	languages in all ways but one; it is purely a written
	language, being totally unspeakable.  The INTERCAL Reference
	Manual, describing features of horrifying uniqueness, became
	an underground classic.  An excerpt will make the style of the
	language clear:

	It is a well-known and oft-demonstrated fact that a person
	whose work is incomprehensible is held in high esteem.  For
	example, if one were to state that the simplest way to store a
	value of 65536 in a 32-bit INTERCAL variable is:

	    DO :1 <- #0$#256

	any sensible programmer would say that that was absurd.  Since
	this is indeed the simplest method, the programmer would be
	made to look foolish in front of his boss, who would of course
	have happened to turn up, as bosses are wont to do.  The
	effect would be no less devastating for the programmer having
	been correct.

	INTERCAL has many other peculiar features designed to make it
	even more unspeakable.  The Woods-Lyons implementation was
	actually used by many (well, at least several) people at
	{Princeton}.

	Eric S. Raymond <esr@snark.thyrsus.com> wrote C-INTERCAL in
	1990 as a break from editing "The New Hacker's Dictionary",
	adding to it the first implementation of {COME FROM} under its
	own name.  The compiler has since been maintained and extended
	by an international community of technomasochists and is
	consequently enjoying an unprecedented level of unpopularity.

	The version 0.9 distribution includes the compiler, extensive
	documentation and a program library.  C-INTERCAL is actually
	an INTERCAL-to-C source translator which then calls the local
	{C} compiler to generate a binary.  The code is thus quite
	portable.

	{Intercal Resource Page
	(http://locke.ccil.org/~esr/intercal/)}.

	{Usenet} newsgroup: {news:alt.lang.intercal}.

	["The INTERCAL Programming Language Reference Manual", Donald
	R. Woods & James M. Lyon].

	[{Jargon File}]

	(1997-04-09)

Interchange File Format

	<file format> (IFF, full name "EA IFF 1985") A generic file
	format published by {Electronic Arts} as an open standard.
	IFF is {chunk}-based and hierarchical so files can include
	other files.  It is easily extensible and an all round Good
	Idea.

	An IFF file starts with one of the following "group IDs":
	'FORM', 'LIST' or 'CAT '.  This is followed by an unsigned
	32-bit number of bytes in the remainder of the file.  Then
	comes an ID that indicates which type of IFF file this is.
	The main image type is {ILBM}, {audio} is either {AIFF} or
	{8SVX}, animations are {ANIM} etc.  An IFF file will probably
	have a {filename extension} related to this file type stored
	in the file.  The rest of the file is divided into {chunks}
	each of which also has a four-byte header and byte count.

	{Microsoft} {WAV} and {AVI} are all based around an almost
	identical scheme to IFF called {RIFF}.  The main difference is
	that, in RIFF files, numbers are little-endian as on {Intel}
	processors, whereas in IFF files they are big-endian, as on
	the {Motorola 68000} processors in the {Amiga} where IFF files
	were first used.

	(1997-07-23)

INTERCOM

	<language> The {assembly language} for the {G-15}.

	Versions: INTERCOM 101, INTERCOM 1000.

	[Listed in CACM 2(5):16, May 1959].

	(1997-07-23)

Interdata

	<company> A computer manufacturer.  Interdata became
	{Perkin-Elmer}, then {Concurrent}.

	(2004-05-12)

Interest Group in Pure and Applied Logics

	(IGPL) A body of 700 researchers in various aspects of {logic}
	(symbolic, mathematical, computational, philosophical, etc.)
	from all over the world.  The group's main rôle is as a
	research and information clearing house.  The group also:
	supports exchange of information about research problems,
	references and common interest among group members; helps to
	obtain photocopies of papers; supplies review copies of books
	through the Journals on which some members are editors;
	organises exchange visits and workshops; advises on papers for
	publication; edits and distributes a Newsletter and an
	electronic Bulletin; keeps an {FTP archive} of papers,
	abstracts; obtains reductions on group purchases of logic
	books from publishers.

	{(http://theory.doc.ic.ac.uk/tfm/igpl.html)}.

	E-mail: <igpl-request@doc.ic.ac.uk>.

	(1995-02-10)

interesting

	In hacker parlance, this word has strong connotations of
	"annoying", or "difficult", or both.  Hackers relish a
	challenge, and enjoy wringing all the irony possible out of
	the ancient Chinese curse "May you live in interesting times".

	[{Jargon File}]

inter-exchange carrier

	<communications> (IXC) A company allowed to handle
	long-distance calls following the break-up of the Bell system
	in the US by anti-trust regulators.

	{Local Exchange Carriers} (LEC) are not allowed to handle
	long-distance traffic and Inter Exchange carriers are not
	allowed to handle local calls.

	(2002-08-28)

interface

	<jargon> A boundary across which two systems communicate.  An
	interface might be a hardware connector used to link to other
	devices, or it might be a convention used to allow
	communication between two software systems.  Often there is
	some intermediate component between the two systems which
	connects their interfaces together.  For example, two {EIA-232}
	interfaces connected via a serial cable.

	See also {graphical user interface}, {Application Program
	Interface}.

	(1996-05-22)

interface analysis

	<testing> A software test which checks the interfaces between
	program elements for consistency and adherence to predefined
	rules or {axioms}.

	(1996-07-09)

Interface Architect

	An interface builder for Motif distributed by Hewlett-Packard
	(see UIMX).

Interface Definition Language

	(IDL) 1. An {OSF} standard for defining {RPC} stubs.

	[Details?]

	2. Part of an effort by {Project DOE} at {SunSoft, Inc.}  to
	integrate distributed {object} technology into the {Solaris}
	{operating system}.  IDL provides the standard interface
	between objects, and is the base mechanism for object
	interaction.

	The {Object Management Group}'s {CORBA} 1.1 (Common Object
	Request Broker Architecture) specifies the interface between
	objects.  IDL (Interface Definition Language) is the base
	mechanism for object interaction.

	The SunSoft OMG IDL CFE (Compiler Front End) version 1.2
	provides a complete framework for building CORBA 1.1-compliant
	preprocessors for OMG IDL.  To use it you write a back-end.  A
	complete compiler of IDL would translate IDL into {client}
	side and {server} side routines for remote communication in
	the same manner as {Sun}'s current {RPCL} compiler.  The IDL
	compiler front end allows integration of new back ends which
	can translate IDL to various programming languages.

	Several companies including Sunsoft are building back ends to
	the CFE which translate IDL into target languages,
	e.g. {Pascal} or {C++}, in the context of planned
	CORBA-compliant products.  IDL requires C++ 2.1.

	Not to be confused with any of the other {IDLs}.

	E-mail: <idl-cfe@sun.com>.

	{(ftp://omg.org/pub/omg_idl_cfe.tar.Z)},
	{(ftp://omg.org/pub/OMG_IDL_CFE_1.2/)}.

	Telephone: Mache Creeger, SunSoft, Inc. +1 (415) 336 5884.

	(1993-05-04)

Interface Description Language

	(IDL) A language designed by Nestor, Lamb and Wulf of {CMU} in
	1981 for describing the data structures passed between parts
	of an application, to provide a language-independent
	intermediate representation.

	It forms part of Richard Snodgrass <rts@cs.arizona.edu>'s
	{Scorpion} environment development system.

	Not to be confused with any of the other {IDLs}.

	Mailing list: info-idl@sei.cmu.edu.

	["The Interface Description Language: Definition and Use," by
	Richard Snodgrass, Computer Science Press, 1989, ISBN
	0-7167-8198-0].

	[SIGPLAN Notices 22(11) (Nov 1987) special issue].

	(1994-11-11)

Interface Message Processor

	<networking> (IMP) The original {message switching node} on
	the {ARPANET}.

	[More details?]

	(1996-04-07)

Interior Gateway Protocol

	(IGP) An {Internet} {protocol} which distributes {routing}
	information to the {routers} within an {autonomous system}.
	The term "{gateway}" is historical, "router" is currently the
	preferred term.

	See also {Exterior Gateway Protocol}, {Open Shortest Path
	First}, {Routing Information Protocol}.

	(1994-11-09)

interlace

	{progressive coding}

interlaced image

	{progressive coding}

interlacing

	1. <hardware> A {video} display system which builds an {image}
	on the {VDU} in two phases, known as "fields", consisting of
	even and odd horizontal lines.

	The complete image (a "frame") is created by scanning an
	electron beam horizontally across the screen, starting at the
	top and moving down after each horizontal scan until the
	bottom of the screen is reached, at which point the scan
	starts again at the top.  On an interlaced display, even
	numbered {scan lines} are displayed in the first field and
	then odd numbered lines in the second field.

	For a given screen {resolution}, {refresh rate} (frames per
	second) and {phosphor} {persistence}, interlacing reduces
	flicker because the top and bottom of the screen are redrawn
	twice as often as if the scan simply proceded from top to
	bottom in a single vertical sweep.

	2. <graphics> {progressive coding}.

	(1998-02-25)

Interlan

	A brand of {Ethernet} card.

	(1994-11-09)

Interleaf

	A document preparation system for {Sun}, {VAX}, {Apollo} and
	other {workstations}.

	(1994-11-09)

interleave

	{interleaving}

interleaving

	{sector interleave}

INTERLINK

	A commercial product comprising hardware and software for file
	transfer between IBM and VAX computers.

Interlisp

	<language> A dialect of {Lisp} developed in 1967 by {Bolt,
	Beranek and Newman} (Cambridge, MA) as a descendant of
	{BBN-Lisp}.  It emphasises user interfaces.  It is
	currently[?] supported by {Xerox PARC}.

	Interlisp was one of two main branches of LISP (the other
	being {MACLISP}).  In 1981 {Common LISP} was begun in an
	effort to combine the best features of both.  Interlisp
	includes a Lisp programming environment.  It is {dynamically
	scoped}.  LAMBDA functions evaluate their arguments, NLAMBDA
	functions do not.  Any function could be called with optional
	arguments.

	See also {AM}, {CLISP}, {Interlisp-10}, {Interlisp-D}.

	["Interlisp Programming Manual", W. Teitelman, TR, Xerox Rec
	Ctr 1975].

	(2004-05-07)

Interlisp-10

	An {Interlisp} with {shallow binding}.

Interlisp-D

	{Xerox}'s {Interlisp} with {deep binding}.

Intermedia

	A hypertext system developed by a research group at IRIS
	(Brown University).

Intermedia Interchange Format

	A Standard {Hypertext} Interchange format from IRIS.

intermediate code

	{intermediate language}

Intermediate Distribution Frame

	<networking> (IDF) A {network closet} containing a secondary
	{hub}, fed from the main hub.

	(1995-05-05)

Intermediate Programming Language

	<language> A very early attempt by Arthur W. Burks to express
	machine language at a higher level of abstraction.  Like
	{Plankalkul}, it used a right-handed style of {assignment}, in
	which the location appears on the right.

	(1995-05-09)

Intermediate System

	<networking> (IS) An {Open Systems Interconnection} system
	which performs {network layer} forwarding.  It is analogous to
	an {IP} {router}.

	(1994-11-29)

Intermediate System-Intermediate System

	<networking> (IS-IS) The {OSI} {Interior Gateway Protocol}.

	(2003-07-12)

intermercial

	{interstitial}

Intermetrics, Inc.

	{AverStar}

intermodulation distortion

	<electronics, communications> (IMD) {Nonlinear} {distortion}
	in a system or {transducer}, characterised by the appearance
	in the output of frequencies equal to the sums and differences
	of integral multiples of the two or more component frequencies
	present in the {input} waveform.

	(2000-08-21)

internal field separators

	<operating system> ($IFS) A predefined {environment variable}
	in the {Unix} {Bourne shell} whose default value is the
	three-character string containing {space}, {tab} and {line
	feed}.  Any string of one or more of these characters
	separates the command and each of its arguments in a command
	line.

	$IFS also tells the shell's built-in read command where to
	split an input line when reading into multiple variables.
	E.g. setting IFS=: would be appropriate for reading a file
	with ':'-separated fields, such as /etc/passwd.

	(1999-04-07)

Internal Translator

	<language, mathematics> (IT) An early {compiler} for
	mathematics developed by A.J. {Perlis} et al at Carnegie Tech
	ca 1957.  IT was originally written for the {Burroughs 205},
	then the {IBM 650}.

	IT was the forerunner of RUNCIBLE, GATE, CORRELATE and GAT.
	IT source code was converted to PIT, thence to SPIT.

	IT-2 produced machine language directly, IT-3 developed at
	Carnegie added double-precision {floating-point}.

	[Sammet 1969, pp. 139-141].

	[CACM 1(5):22 1958].

	(1994-11-30)

International Algebraic Language

	{ALGOL 58}

International Atomic Time

	<time, standard> (TAI) An international standard measurement
	of time based on the comparison of many {atomic clocks}.  TAI
	is maintained by the Bureau International des Poids et Mesures
	(BIPM), the world's governing body for civil atomic time
	measurement.  TAI is the basis for {Coordinated Universal
	Time}.

	{BIPM
	(http://www.bipm.org/enus/5_Scientific/c_time/time_1.html)}.

	(2001-08-02)

International Business Machines

	<company> (IBM) The best known American computer manufacturer,
	founded by Thomas J. Watson (born 1874-02-17), known as "Big
	Blue" after the colour of its logo.  IBM makes everything from
	{mainframes} to {personal computers} (PCs) and has been
	immensely successful in selling them, chiefly to business.  It
	has often been said that "Nobody has ever been sacked for
	buying IBM".

	The {IBM PC} in its various versions has been so successful
	that unqualified reference to a "PC" almost certainly means a
	PC from IBM, or one of the many brands of {clone} produced by
	other manufacturers to cash in on IBM's original success.

	Alternative expansions of "IBM" such as Inferior But
	Marketable; It's Better Manually; Insidious Black Magic; It's
	Been Malfunctioning; Incontinent Bowel Movement, illustrate
	the considerable antipathy most hackers have long felt toward
	the "industry leader" (see {fear and loathing}).

	Quarterly sales $15351M, profits $689M (Aug 1994).

	{(http://ibm.com/)}.

	(1999-04-07)

International Computers Limited plc

	<company> (ICL) A UK hardware and software manufacturer
	specialising in systems integration in selected markets,
	supported by its service and technology businesses.  ICL
	operates in over 80 countries worldwide, with 24000 employees
	and revenues of  £2.6 billion in 1993.

	ICL produced {George 2}, {George 3}, {VME}, {OpenVME}, {Series
	39}, {DME}, {CME}, the {ICL 1900} and {ICL 2900} series.

	{(http://icl.co.uk/)}.

	{Usenet} newsgroup: {news:alt.sys.icl}.

	(1995-04-19)

International Core War Society

	<games, standard, body> (ICWS) The official standards body for
	{Core War}.

	(1996-02-16)

International Data Encryption Algorithm

	<algorithm, cryptography> (IDEA) A conventional {encryption}
	{algorithm}, written by Xuejia Lai and James Massey, in 1992.

	It is a {block cipher}, considered to be the best and most
	secure available, and operates on 64-bit blocks with a 128 bit
	{key}.

	It is used by {Pretty Good Privacy}.

	(1996-03-07)

International Electrotechnical Commission

	<standard, body> (IEC) A {standard}isation body at the same
	level as {ISO}.

	[Relationship?  Why separate?]

	(1995-04-21)

International Federation for Information Processing

	<body> A multinational federation of professional and technical
	organisations (or national groupings of such organisations)
	concerned with information processing.  From any one country,
	only one such organisation - which must be representative of
	the national activities in the field of information processing
	- can be admitted as a Full Member.  In addition, a regional
	group of developing countries can be admitted as a Full
	Member.  On 1 October 1993, 46 organisations were Full Members
	of the Federation, representing 66 countries.

	IFIP was founded under the auspices of UNESCO and advises them
	and the {ITU-T}.

	{(http://dit.upm.es/~cdk/ifip.html)}.

	(1995-03-10)

International Function Point Users Group

	<body, programming> (IFPUG) A forum for the exchange of ideas
	about {Function Point Analysis}.  IFPUG's membership now
	includes over 500 companies on four continents.

	Telephone: +1 (614) 8957130.

	(1995-03-10)

internationalisation

	<programming> (i18n, globalisation, enabling, software
	enabling) The process and philosophy of making software
	portable to other {locales}.

	For successful {localisation}, products must be technically
	and culturally neutral.  Effective internationalisation
	reduces the time and resources required for localisation,
	improving time-to-market abroad and allowing {simultaneous
	shipment}.  In orther words, internationalisation abstracts
	out local details, localisation specifies those details for a
	particular locale.

	Technically this may include allowing {double-byte character
	sets} such as {unicode} or Japanese, local numbering, date and
	currency formats, and other local format conventions.

	It also includes the separation of {user interface} text
	e.g. in {dialog boxes} and {menus}.  All the text used by an
	application may be kept in a separate file or directory, so
	that it can be translated all at once.  User interfaces may
	require more screen space for text in other languages.

	The simplest form of internationalisation may be to make use
	of {operating system} calls that format time, date and
	currency values according to the operating system's
	configuration.

	The abbreviation i18n means "I - eighteen letters - N".

	(1999-06-28)

internationalization

	{internationalisation}

International Multimedia Teleconferencing Consortium

	<body> (IMTC) A non-profit corporation formed in September
	1994 comprising more than 150 companies from around the world.
	The IMTC encourages the development and implementation of
	interoperable {multimedia} {teleconferencing} systems based on
	international {open standards}.

	{(http://imtc.org/)}.

	(1999-03-17)

International Olympiad in Informatics

	<event> (IOI) An annual competition in computing science for
	senior pupils at secondary schools all over the world.

	{(http://win.tue.nl/win/ioi/)}.

	(1996-12-07)

International Organisation for Standardisation

	{International Organization for Standardization}

International Organization for Standardization

	<standard, body> (ISO) A voluntary, nontreaty organisation
	founded in 1946, responsible for creating international
	{standards} in many areas, including computers and
	communications.  Its members are the national standards
	organisations of 89 countries, including the {American
	National Standards Institute}.

	ISO produced the {OSI} seven layer model for network
	architecture.

	The term "ISO" is not actually an acronym for anything.  It is
	a pun on the Greek prefix "iso-", meaning "same".  Some ISO
	documents say ISO is not an acronym even though it is an
	anagram of the initials of the organisation's name.

	{(http://iso.ch/)}.

	(1999-06-22)

International Phonetic Alphabet

	<text, human language> (IPA) A system of symbols for
	representing pronunciation.  There is no commonly agreed way
	to represent IPA in {ASCII} characters though it can be
	represented in {Unicode}.

	[Reference?]

	(1998-12-30)

International Programmable Airline Reservation System

	<application> (IPARS) The international version of {PARS},
	designated by {IBM} for use in all IBM World trade countries
	(i.e. outside domestic USA).

	(1999-01-18)

International Smalltalk Association

	<body> (ISA) A user group which published newsletters on
	{Smalltalk}-related issues, technical and general information.
	Its goal was to champion Smalltalk and its uses.  It was
	disbanded around 1991.

	(1995-02-16)

International Standard

	<standard> The series of {standards} from {ISO} and its
	subcommitees.

	[List?  Text?]

	(1995-04-21)

International Telecommunications Union

	<body, standard> (ITU) ITU-T, the telecommunication
	standardisation sector of ITU, is responsible for making
	technical recommendations about telephone and data (including
	fax) communications systems for {PTTs} and suppliers.  Before
	1993-03-01 ITU-T was known as CCITT.  Every four years they
	hold plenary sessions where they adopt new standards; there
	was one in 1992.

	ITU works closely with all {standards} organisations to form
	an international uniform standards system for communication.
	Study Group XVII is responsible for recommending standards for
	data communications over telephone networks.  They publish the
	V.XX standards and X.n {protocols}.  {V.21} is the same as
	{EIA}'s {EIA-232}.  {V.24} is the same as EIA's {EIA-232C}.
	{V.28} is the same as EIA's {EIA-232D}.

	Address: International Telecommunication Union, Information
	Services Department, Place des Nations, 1211 Geneva 20,
	Switzerland.

	Telephone: +41 (22) 730 5554.  Fax: +41 (22) 730 5337.

	E-mail: <helpdesk@itu.ch>, <teledoc@itu.arcom.ch> (Mail body:
	HELP).

	{(http://itu.ch/)}.

	ITU-T standards can be obtained by {FTP} from {Korea
	(ftp://kum.kaist.ac.kr/doc/STANDARDS/ccitt)}; UK - {Imperial
	(ftp://src.doc.ic.ac.uk/pub/computing/ccitt/ccitt-standards/)},
	{HENSA
	(ftp://unix.hensa.ac.uk/pub/uunet/doc/literary/obi/Standards/CCITT)};
	France - {INRIA (ftp://croton.inria.fr/ITU/ccitt)}, {IMAG
	(ftp://imag.imag.fr/doc/ccitt)}; {Israel
	(ftp://cs.huji.ac.il/pub/doc/standards/ccitt)}; FTP USA:
	{UUNET (ftp://ftp.uu.net/pub/lietrary/obi/Standards/CCITT)},
	{gatekeeper
	(ftp://gatekeeper.dec.com/pub/net/info/bruno.cs.colorado.edu/pub/standards/ccitt)},
	{world.std.com (ftp://world.std.com/obi/Standards/CCITT)};
	{Australia (ftp://metro.ucc.su.oz.au/pub/ccitt)}; {Germany
	(ftp://quepasa.cs.tu-berlin.de/pub/doc/CCITT)}; {Japan
	(ftp://sh.wide.ad.jp/CCITT)};

	(1995-01-16)

International Traffic in Arms Regulation

	<legal> (ITAR) Now called the {Defense Trade Regulations}.

Internaut

	<jargon, web> (From "Internet" + "astronaut") A
	person who explores the {Internet} (or "{cyberspace}"),
	normally searching for information.

	(2002-06-30)

Internet

	<networking> (Note: capital "I").  The Internet is the largest
	{internet} (with a small "i") in the world.  It is a three
	level {hierarchy} composed of {backbone networks}, {mid-level
	networks}, and {stub networks}.  These include commercial
	(.com or .co), university (.ac or .edu) and other research
	networks (.org, .net) and military (.mil) networks and span
	many different physical networks around the world with various
	{protocols}, chiefly the {Internet Protocol}.

	Until the advent of the {web} in 1990, the Internet
	was almost entirely unknown outside universities and corporate
	research departments and was accessed mostly via {command
	line} interfaces such as {telnet} and {FTP}.  Since then it
	has grown to become an almost-ubiquitous aspect of modern
	information systems, becoming highly commercial and a widely
	accepted medium for all sort of customer relations such as
	advertising, brand building, and online sales and services.
	Its original spirit of cooperation and freedom have, to a
	great extent, survived this explosive transformation with the
	result that the vast majority of information available on the
	Internet is free of charge.

	While the web (primarily in the form of {HTML} and {HTTP}) is
	the best known aspect of the Internet, there are many other
	{protocols} in use, supporting applications such as
	{electronic mail}, {Usenet}, {chat}, {remote login}, and {file
	transfer}.

	There were 20,242 unique commercial domains registered with
	{InterNIC} in September 1994, 10% more than in August 1994.
	In 1996 there were over 100 {Internet access providers} in the
	US and a few in the UK (e.g. the {BBC Networking Club},
	{Demon}, {PIPEX}).

	There are several bodies associated with the running of the
	Internet, including the {Internet Architecture Board}, the
	{Internet Assigned Numbers Authority}, the {Internet
	Engineering and Planning Group}, {Internet Engineering
	Steering Group}, and the {Internet Society}.

	See also {NYsernet}, {EUNet}.

	{The Internet Index (http://openmarket.com/intindex)} -
	statistics about the Internet.

	(2000-02-21)

internet

	<networking> (Note: not capitalised) Any set of networks
	interconnected with {routers}.  The {Internet} is the biggest
	example of an internet.

	(1996-09-17)

Internet Access Provider

	<networking, company> (IAP) A company or other origanisation
	which provides access to the {Internet} to businesses and/or
	consumers.  An IAP purchases an Internet link from another
	company that has a direct link to the Internet and resells
	portions of that {bandwidth} to the general public.

	For example, an IAP may purchase a {T1} link (1.544Mb/s) and
	resell that bandwidth in chunks consisting of {ISDN} (64Kb/s,
	128Kb/s) and analog {modems} (14.4Kb/s, 28.8Kb/s).  The IAP's
	customer base is likely to include both businesses and
	individuals.  Individual customers usually connect to the IAP
	via a modem and telephone line to a (preferably local) {point
	of presence}.

	An IAP may also be an {Internet Service Provider}.

	(1996-06-25)

Internet Adapter

	<networking, product> The Internet Adapter (TIA).  A program
	from {Cyberspace Development} which runs on a {Unix} shell
	account and acts as a {SLIP} {emulator}.  A TIA emulated SLIP
	account is not quite the same as a real SLIP account but TIA's
	SLIP emulation is completely standard in terms of working with
	{MacTCP}-based software on the {Macintosh} (or {WinSock} on a
	{Microsoft Windows} machine).

	You do not get your own {Internet Address} as you do with a
	real SLIP account, instead, TIA uses the IP number of the
	machine it runs on and "redirects" traffic back to you.  You
	cannot set up your machine as an {FTP} {server}, for instance,
	since there's no IP number for an {FTP} {client} elsewhere to
	connect to.

	TIA's performance is reportedly good, faster than normal SLIP
	in fact, and about as fast as {Compressed SLIP}.  Future
	releases will support {CSLIP} and even {PPP}.

	{Cyberspace Development} has ported TIA to several versions of
	{Unix} and more are on the way.

	{TERM} is a free program which performs a similar function
	between two machines both running {Unix}.

	{(http://marketplace.com/)}.

	{Setting up TIA
	(http://webcom.com/~llarrow/tiarefg.html)}.

	{Telnet (telnet://marketplace.com)}.

	{Gopher (gopher://marketplace.com/)}.

	{FTP (ftp://marketplace.com/tia/)}.

	E-mail: <tia-info@marketplace.com>.

	(1995-04-12)

Internet address

	{IP address}

internet address

	<networking> (Note lower case "i").  An {IP} address that
	uniquely identifies a node on an {internet}.

	[{Jargon File}]

	(1995-04-12)

Internet Architecture Board

	(IAB) The technical body that oversees the development of the
	{Internet} suite of {protocols}.  It has two task forces: the
	{Internet Engineering Task Force} and the {Internet Research
	Task Force}.

	"IAB" previously stood for Internet Activities Board.

	(1994-12-06)

Internet Assigned Numbers Authority

	<body, networking> (IANA) The central registry for various
	"{assigned numbers}": {Internet Protocol} parameters, such as
	{port}, {protocol}, and {enterprise} numbers; and options,
	codes, and types.  The currently assigned values are listed in
	the "Assigned Numbers" document {STD 2}.  To request a number
	assignment, e-mail <iana@isi.edu>.

	(1994-12-06)

Internet backbone

	<communications, networking> High-speed networks that carry
	{Internet} traffic.

	These {communications} {networks} are provided by companies
	such as {AT&T}, {GTE}, {IBM}, {MCI}, {Netcom}, {Sprint},
	{UUNET} and consist of high-speed links in the {T1}, {T3},
	{OC1} and {OC3} ranges.  The {backbones} carry {Internet}
	traffic around the world and meet at {Network Access Points}
	(NAPs).

	{Internet Service Providers} (ISPs) connect either directly to
	a backbone, or they connect to a larger ISP with a connection
	to a backbone.

	The {topology} of the "backbone" and its interconnections may
	once have resembled a spine with ribs connected along its
	length but is now almost certainly more like a fishing net
	wrapped around the world with many circular paths.

	[Map?]

	(1998-07-02)

Internet Chess Server

	<networking, games> An interactive meeting-place on the
	{Internet} where people can play {chess} against each other.

	{Usenet} newsgroup: {news:alt.chess.ics}.

	[Server address?]

	(1995-03-25)

Internet Control Message Protocol

	<protocol> (ICMP) An extension to the {Internet Protocol} (IP)
	that allows for the generation of error messages, test
	packets, and informational messages related to IP.  It is
	defined in STD 5, {RFC 792}.

	(1999-09-18)

Internet Corporation for Assigned Names and Numbers

	<body, networking> (ICANN) The non-profit corporation that was
	formed to assume responsibility for {IP address} allocation,
	protocol parameter assignment, {domain name system}
	management, and {root server} system management functions now
	performed under U.S. Government contract by {IANA} and other
	entities.

	{ICANN Home (http://icann.org/)}.

	(2002-01-09)

Internet-Draft

	(I-D) A draft working document of the {Internet Engineering
	Task Force}, its Areas, and its Working Groups.  As the name
	implies, Internet-Drafts are purely discussion documents with
	no formal status.  They are valid for a maximum of six months
	and may be updated, replaced, or obsoleted by other documents
	at any time.  Very often, an I-D is a precursor to a {Request
	For Comments}.

	(1994-12-08)

Internet Engineering and Planning Group

	(IEPG) {(http://iepg.org/)}.

Internet Engineering Steering Group

	(IESG) A body composed of the {Internet Engineering Task
	Force} Area Directors and the IETF Chair.  It provides the
	first technical review of {Internet} standards and is
	responsible for day-to-day "management" of the IETF.

	(1994-12-08)

Internet Engineering Task Force

	<networking, standard, body> (IETF) The IETF is a large, open
	international community of network designers, operators,
	vendors and researchers whose purpose is to coordinate the
	operation, management and evolution of the {Internet} and to
	resolve short- and mid-range {protocol} and architectural
	issues.  It is a major source of proposals for {protocol}
	{standards} which are submitted to the {Internet Architecture
	Board} (IAB) for final approval.  The IETF meets three times a
	year and extensive minutes are included in the IETF
	Proceedings.

	The IETF Secretariat, run by The {Corporation for National
	Research Initiatives} with funding from the US government,
	maintains an index of {Internet-Drafts} whereas {RFCs} are
	maintained by The {Internet Architecture Board}.

	{(http://ietf.org)}.

	(1999-01-27)

Internet Experiment Note

	(IEN) A series of reports pertinent to the {Internet}.  IENs
	were published in parallel to RFCs and are no longer active.

	See also {Internet-Draft}, {Request For Comments}.

	(1994-12-08)

Internet Explorer

	<web> (IE, MSIE) {Microsoft}'s free {World-Wide
	Web} {browser} for {Microsoft Windows}, {Windows 95}, {Windows
	NT}, and {Macintosh}.  Internet Explorer is the main rival to
	{Netscape Navigator} (which runs on many more {platforms}).
	Both support the same core features and offer incompatible
	extensions.

	Microsoft combined later versions of IE with their {file
	system} browser, "Explorer" and bundled it with {Windows 95}
	in an attempt to use their dominance of the {desktop}
	{operating system} market to force users to abandon Netscape's
	browser, which they perceived as a potential threat.  This,
	and other dubious business moves, became the subject of a US
	Department of Justice antitrust trial in late 1998/early 1999.

	{(http://microsoft.com/ie/)}.

	(1999-01-31)

Internet Express

	An {Internet provider} in Colorado Springs, USA.  Formerly
	called the Community News Service.  They provide {SLIP}
	accounts at no extra charge.

	(1994-12-08)

Internet Foundation Classes

	<language, library, programming, standard> (IFC) A {library}
	of {classes} used in the creation of {Java} {applets} with
	{GUIs}.

	Created by {Netscape}, the Internet Foundation Classes provide
	GUI elements, as well as classes for {Applications Services},
	{Security}, {Messaging}, and {Distributed Objects}.

	The IFC code, which is exclusively Java, is layered on top of
	the Java {Abstract Windowing Toolkit} (AWT), thus preserving
	{platform independence}.

	The AWT and IFC collectively form the {Java Foundation
	Classes}, which provide a standardised framework for
	developing powerful Java applications.

	{IFC download (http://wp.netscape.com/eng/ifc/download.html)}.

	(2003-08-17)

Internet Go Server

	<games, networking> (IGS) A place for {Go} players to meet and
	play via the {Internet}.

	{IGS Home (http://pandanet.co.jp/English/)}.

	(1995-03-17)

Internet Group Management Protocol

	<protocol> (IGMP) An extension to the {Internet Protocol},
	used by IP {hosts} to report their {host group} memberships to
	immediately-neighbouring {multicast} {routers}.

	See also {MBONE}.

	Version 1 of IGMP is defined in Appendix 1 of {RFC 1112}.

	Version 2 is proposed in {RFC 2236}.

	(1999-11-08)

Internet Information Server

	<web> (IIS) {Microsoft's} {web server} and {FTP
	server} for {Windows NT}.

	IIS is intended to meet the needs of a range of users: from
	workgroups and departments on a corporate {intranet} to {ISPs}
	hosting {websites} that receive millions of {hits} per day.

	Features include innovative web publishing, customisable
	tools, {wizards}, customisable management tools, flexible
	administration options, and analysis tools.

	IIS makes it easy to share documents and information across a
	company intranet or the {Internet}, and is completely
	integrated with {Windows NT Directory Services}.

	IIS 1.0 was released for {Windows NT 3.51} and had a limited
	feature set.

	IIS 2.0 was released with {Windows NT 4.0} with a similar
	feature set to IIS 1.0.

	IIS 3.0 quickly followed with many additions including
	{Active Server Pages} (ASP), {ISAPI} and {ADO} 1.0.

	IIS 4.0 is built into {Windows NT Server 4.0}.  It includes
	ASP 2.0, ISAPI and ADO 1.5.

	{(http://microsoft.com/iis)}.

	Rival servers include {Apache} and {Netscape Enterprise
	Server}.

	(1999-08-04)

Internet Inter-ORB Protocol

	<protocol, standard> (IIOP) A protocol which will be mandatory
	for all {CORBA} 2.0 compliant {platforms}.  The initial phase
	of the project is to build an infrastructure consisting of: an
	IIOP to {HTTP} {gateway} which allows CORBA {clients} to
	access {WWW} resources; an HTTP to IIOP gateway to let WWW
	clients access CORBA resources; a {web server} which makes
	resources available by both IIOP and HTTP; web browsers which
	can use IIOP as their {native} protocol.

	{(http://ansa.co.uk/ANSA/ISF/wwwCorba_1.html)}.

	(1996-04-01)

Internet Message Access Protocol

	<protocol, messaging> (IMAP) A {protocol} allowing a {client}
	to access and manipulate {electronic mail} messages on a
	{server}.  It permits manipulation of remote message folders
	({mailboxes}), in a way that is functionally equivalent to
	local mailboxes.

	IMAP includes operations for creating, deleting, and renaming
	mailboxes; checking for new messages; permanently removing
	messages; searching; and selective fetching of message
	attributes, texts, and portions thereof.  It does not specify
	a means of posting mail; this function is handled by a mail
	transfer protocol such as {SMTP}.

	Latest version: 4.

	See {RFC 2060}, {RFC 2061}, and others.

	Compare: {POP}.

	(1999-03-14)

Internet Monthly Report

	(IMR) Publication designed to communicate to the {Internet
	Research Group} the accomplishments, milestones reached, or
	problems discovered by the participating organisations.

	(1994-12-08)

Internet Network Information Center

	<networking> (InterNIC) An umbrella entity created by the
	{National Science Foundation} in Spring 1992, in cooperation
	with the Internet community, consisting of Network Information
	Service Managers who provided and/or coordinated {NSFNet}
	services.  {General Atomics} provided information services,
	{AT&T} provided directory and database services, and {Network
	Solutions, Inc.} (NSI) provided registration services.

	In 1999 Internic was replaced by {ICANN}.

	{(http://internic.net/)}.

	{(http://nic.net/)}.

	(2003-04-16)

internet number

	{internet address}

Internet Open Trading Protocol

	<protocol, business> (IOTP, Formerly "Open Trading Protocol",
	OTP) A specification that provides an interoperable framework
	for Internet commerce.  It is optimised for the case where the
	buyer and the merchant do not have a prior acquaintance and is
	payment system independent.  It will be able to encapsulate
	and support payment systems such as {SET}, {Mondex},
	CyberCash's {CyberCoin}, DigiCash's {e-cash}, GeldKarte, etc.
	IOTP is able to handle cases where such merchant roles as the
	shopping site, the payment handler, the deliverer of goods or
	services, and the provider of customer support are performed
	by different Internet sites.

	The IOTP specification is maintained by the {IETF} {Internet
	Open Trading Protocol (trade) Working Group
	(http://ietf.org/html.charters/trade-charter.html)}.

	{(http://otp.org/)}.

	(2001-09-22)

Internet Protocol

	<networking> (IP) The {network layer} for the {TCP/IP}
	{protocol} suite widely used on {Ethernet} networks, defined
	in {STD} 5, {RFC} 791.  IP is a {connectionless},
	{best-effort} {packet switching} protocol.  It provides
	{packet} {routing}, {fragmentation} and re-assembly through
	the {data link layer}.

	IPv4 is the version in widespread use and {IPv6} was just
	beginning to come into use in 2000 but is still not widespread
	by 2008.

	[Other versions?  Dates?]

	(2000-12-19)

Internet Protocol Control Protocol

	<networking> (IPCP) The {Control Protocol} for {Internet
	Protocol}.

	[Details?]

	(2002-06-29)

Internet Protocol version 4

	<networking, protocol> The version of {Internet Protocol} in
	widespread use in 2000.

	(2000-12-19)

Internet Protocol version 6

	<networking, protocol> (IPv6, IPng, IP next generation) The
	most viable candidate to replace the current {Internet
	Protocol}.  The primary purpose of IPv6 is to solve the
	problem of the shortage of {IP addresses}.

	The following features have been purposed: 16-byte addresses
	instead of the current four bytes; embedded {encryption} - a
	32-bit {Security Association ID} (SAID) plus a variable length
	initialisation vector in {packet} headers; user
	{authentication} (a 32-bit SAID plus variable length
	{authentication} data in headers); autoconfiguration
	(currently partly handled by {Dynamic Host Configuration
	Protocol}); support for {delay-sensitive traffic} - a 24 bit
	flow ID field in headers to denote voice or video, etc.

	One possible solution is based on the {TUBA} protocol (RFC
	1347, 1526, 1561) which is itself based on the {OSI}
	{Connectionless Network Protocol} (CNLP).  Another is {TP/IX}
	(RFC 1475) which changes {TCP} and {UDP} headers to give a
	64-bit {IP address}, a 32-bit {port} number, and a 64 bit
	sequence number.

	{RFC 1550} is a white paper on IPng.

	{IPv6.org (http://ipv6.org/)}.

	["Doubts About IPng could create TCP/IP chaos", Johna Till
	Johnson, Data Communications, Nov 1994].

	(2004-06-17)

Internet provider

	{Internet Service Provider}

Internet Public Library

	(IPL) A project at the {University of Michigan} School of
	Information and Library Studies to provide an on-line, 24 hour
	public library, chaired by an assemblage of librarians and
	information industry professionals.  The library aims to
	provide library services to a target audience estimated to
	number 1/4 of the entire American population by the end of the
	century.

	The Internet Public Library is scheduled to go on-line in
	March 1995.  Among the first services will be on-line
	reference; youth services; user education; and professional
	services for librarians.

	{(http://ipl.sils.umich.edu/)}.

	{(telnet://ipl.sils.umich.edu/)}.

	Mailing list: majordomo@sils.umich.edu.

	(1995-07-20)

Internet Registry

	(IR) The {Internet Assigned Numbers Authority} has the
	discretionary authority to delegate portions of its
	responsibility and, with respect to {network address} and
	{Autonomous System} identifiers, has lodged this
	responsibility with the {IR}.  The IR function is performed by
	the {Defense Data Network} {Network Information Center}.

Internet Relay Chat

	<chat, messaging> (IRC) /I-R-C/, occasionally /*rk/ A
	{client-server} {chat} system of large (often worldwide)
	networks.  IRC is structured as networks of {Internet}
	{servers}, each accepting connections from {client} programs,
	one per user.

	The IRC community and the {Usenet} and {MUD} communities
	overlap to some extent, including both {hackers} and regular
	folks who have discovered the wonders of computer networks.
	Some {Usenet} jargon has been adopted on IRC, as have some
	conventions such as {emoticons}.  There is also a vigorous
	native jargon (see the entry for "{chat}").

	The largest and first IRC network is {EFNet}, with a smaller
	breakaway network called the {Undernet} having existed since
	1992, and dozens of other networks having appeared (and
	sometimes disappeared) since.

	See also {nick}, {bot}, {op}.

	{Yahoo's IRC index
	(http://yahoo.com/Computers_and_Internet/Internet/Chat/IRC/)}.

	(1998-01-25)

Internet Research Steering Group

	<body, standard> (IRSG) The "governing body" of the {Internet
	Research Task Force}.

	(1994-12-08)

Internet Research Task Force

	(IRTF) The IRTF is chartered by the {Internet Architecture
	Board} to consider long-term {Internet} issues from a
	theoretical point of view.  It has Research Groups, similar to
	{Internet Engineering Task Force} Working Groups, which are
	each tasked to discuss different research topics.  Multi-cast
	audio/video conferencing and {privacy enhanced mail} are
	samples of IRTF output.

	(1994-12-08)

Internet Security Association and Key Management Protocol

	<networking, protocol> (ISAKMP) The definitions and procedures
	for {authenticating} communication between 2 {peers}.  This
	includes the creation and management of {Security
	Associations}, {key} generation techniques, and {threat
	mitigation}.  ISAKMP is proposed in {RFC 2408}.

	(2000-02-08)

Internet Server Application Programming Interface

	<web> (ISAPI) {Microsoft}'s programming interface
	between applications and their {Internet Server}.  Active
	Servers created with ISAPI extensions can be complete
	in-process applications themselves, or can "connect" to other
	services.  ISAPI is used for the same sort of functions as
	{CGI} but uses {Microsoft Windows} {dynamic link libraries}
	(DLL) for greater efficiency.  The server loads the DLL the
	first time a request is received and the DLL then stays in
	memory, ready to service other requests until the server
	decides it is no longer needed.  This minimises the overhead
	associated with executing such applications many times.

	An HTTP server can unload ISAPI application DLLs to free
	memory or preload them to speed up the first access.
	Applications can also be enhanced by {ISAPI filters}

	(1997-01-06)

Internet Service Provider

	<company, networking> (ISP) A company which provides other
	companies or individuals with access to, or presence on, the
	{Internet}.  Most ISPs are also {Internet Access Providers};
	extra services include help with design, creation and
	administration of {website}s, training and
	administration of {intranets} and {domain name} registration.

	(2005-06-19)

Internet Society

	<body> (ISOC) A non-profit, professional membership
	organisation which facilitates and supports the technical
	evolution of the {Internet}, stimulates interest in and
	educates the scientific and academic communities, industry and
	the public about the technology, uses and applications of the
	Internet, and promotes the development of new applications for
	the system.  The Society provides a forum for discussion and
	collaboration in the operation and use of the global Internet
	infrastructure.

	The Internet Society publishes a quarterly newsletter, the
	Internet Society News, and holds an annual conference, INET.
	The development of Internet technical standards takes place
	under the auspices of the Internet Society with substantial
	support from the {Corporation for National Research
	Initiatives} under a cooperative agreement with the US Federal
	Government.

	{(http://info.isoc.org/)}.

	(1994-10-27)

Internet Telephony

	{IP Telephony}

Internet Telephony Service Providers

	<communications> (ITSP) Companies providing {IP Telephony}.

	(1999-04-26)

internetworking

	The interconnection of two or more {networks}, usually {local
	area networks} so that data can pass between {hosts} on the
	different networks as though they were one network.  This
	requires some kind of {router} or {gateway}.

	(1994-11-30)

Internetwork Packet eXchange

	<networking> (IPX) A {network layer} {protocol} initially
	developed at {XEROX Corporation} and made popular by {Novell,
	Inc.} as the basic protocol in its {Novell NetWare} {file
	server} {operating system}.

	A {router} with IPX routing can interconnect {Local Area
	Networks} so that Netware {clients} and {servers} can
	communicate.

	The {SPX} {transport layer} protocol runs on top of IPX.

	(1997-03-04)

Internet Worm

	<networking, security> The November 1988 {worm} perpetrated by
	{Robert T. Morris}.  The worm was a program which took
	advantage of bugs in the {Sun} {Unix} {sendmail} program,
	{Vax} programs, and other security loopholes to distribute
	itself to over 6000 computers on the {Internet}.  The worm
	itself had a bug which made it create many copies of itself on
	machines it infected, which quickly used up all available
	processor time on those systems.

	Some call it "The Great Worm" in a play on Tolkien (compare
	{elvish}, {elder days}).  In the fantasy history of his Middle
	Earth books, there were dragons powerful enough to lay waste
	to entire regions; two of these (Scatha and Glaurung) were
	known as "the Great Worms".  This usage expresses the
	connotation that the RTM hack was a sort of devastating
	watershed event in hackish history; certainly it did more to
	make non-hackers nervous about the Internet than anything
	before or since.

	(1995-01-12)

Internex On-Line

	A rather cheap {Internet} service provider in Toronto, Canada.

	{(http://io.org/)}.

	(1994-11-30)

InterNIC

	{Internet Network Information Center}

interoperability

	The ability of software and hardware on multiple machines from
	multiple vendors to communicate.

interoperable database

	A {database} {front-end} which communicates with multiple
	heterogenous databases and makes them appear as a single
	homogenous entity with {semantic calls}.

	See {ODBC}.

	(1995-02-06)

inter-packet gap

	<networking> A time delay between successive data {packets}
	mandated by the network standard for {protocol} reasons.

	In {Ethernet}, the medium has to be "silent" (i.e., no data
	transfer) for a few microseconds before a {node} can consider
	the network idle and start to transmit.  This is necessary for
	fairness reasons.  The delay time, which approximately equals
	the signal propagation time on the cable, allows the "silence"
	to reach the far end so that all nodes consider the net idle.

	(1995-11-11)

interpolation

	{extrapolation}

Interpress

	Interpreted {FORTH}-like graphics language, possibly the first
	{page description language}, predating {PostScript}.  Both are
	descendants of {JaM}.  Used on {Xerox} printers.

	["Interpress, The Source Book", Steven Harrington et al, P-H
	1988.]

interpreted

	{interpreter}

interpreter

	<programming> A program which executes other programs.  This
	is in contrast to a {compiler} which does not execute its
	input program (the "{source code}") but translates it into
	executable "{machine code}" (also called "{object code}")
	which is output to a file for later execution.  It may be
	possible to execute the same source code either directly by an
	interpreter or by compiling it and then executing the {machine
	code} produced.

	It takes longer to run a program under an interpreter than to
	run the compiled code but it can take less time to interpret
	it than the total required to compile and run it.  This is
	especially important when prototyping and testing code when an
	edit-interpret-debug cycle can often be much shorter than an
	edit-compile-run-debug cycle.

	Interpreting code is slower than running the compiled code
	because the interpreter must analyse each statement in the
	program each time it is executed and then perform the desired
	action whereas the compiled code just performs the action.
	This run-time analysis is known as "interpretive overhead".
	Access to variables is also slower in an interpreter because
	the mapping of identifiers to storage locations must be done
	repeatedly at run time rather than at compile time.

	There are various compromises between the development speed
	when using an interpreter and the execution speed when using a
	compiler.  Some systems (e.g. some {Lisps}) allow interpreted
	and compiled code to call each other and to share variables.
	This means that once a routine has been tested and debugged
	under the interpreter it can be compiled and thus benefit from
	faster execution while other routines are being developed.
	Many interpreters do not execute the source code as it stands
	but convert it into some more compact internal form.  For
	example, some {BASIC} interpreters replace {keywords} with
	single byte tokens which can be used to {index} into a {jump
	table}.  An interpreter might well use the same {lexical
	analyser} and {parser} as the compiler and then interpret the
	resulting {abstract syntax tree}.

	There is thus a spectrum of possibilities between interpreting
	and compiling, depending on the amount of analysis performed
	before the program is executed.  For example {Emacs Lisp} is
	compiled to "{byte-code}" which is a highly compressed and
	optimised representation of the Lisp source but is not machine
	code (and therefore not tied to any particular hardware).
	This "compiled" code is then executed (interpreted) by a {byte
	code interpreter} (itself written in {C}).  The compiled code
	in this case is {machine code} for a {virtual machine} which
	is implemented not in hardware but in the byte-code
	interpreter.

	See also {partial evaluation}.

	(1995-01-30)

Interpretive Menu Processor

	<language> (IMP) The language used to implement much of the
	{user interface} of the {Alis} {office automation} package
	from {Applix, Inc}.

	(1996-04-07)

Inter-process Communication

	<programming, operating system> (IPC) Exchange of data between
	one {process} and another, either within the same computer or
	over a {network}.  It implies a {protocol} that guarantees a
	response to a request.  Examples are {Unix} {sockets}, {RISC
	OS}'s messages, {OS/2}'s {Named Pipes}, {Microsoft Windows}'
	{DDE}, {Novell}'s {SPX} and {Macintosh}'s IAC.

	Although IPC is performed automatically by programs, an
	analogous function can be performed interactively when users
	cut and paste data from one process to another using a
	{clipboard}.

	(1995-12-14)

interrupt

	<programming> 1. An {asynchronous} event that suspends normal
	processing and temporarily diverts the {flow of control}
	through an "{interrupt handler}" routine.

	Interrupts may be caused by both {hardware} (I/O, timer,
	machine check) and {software} (supervisor, {system call} or
	{trap} instruction).

	In general the computer responds to an interrupt by storing
	the information about the current state of the running
	program; storing information to identify the source of the
	interrupt; and invoking a first-level {interrupt handler}.
	This is usually a {kernel} level privileged process that can
	discover the precise cause of the interrupt (e.g. if several
	devices share one interrupt) and what must be done to keep
	operating system tables (such as the process table) updated.
	This first-level handler may then call another handler,
	e.g. one associated with the particular device which generated
	the interrupt.

	2. Under {MS-DOS}, nearly synonymous with "{system call}"
	because the {OS} and {BIOS} routines are both called using the
	INT instruction (see {interrupt list}) and because programmers
	so often have to bypass the operating system (going directly
	to a BIOS interrupt) to get reasonable performance.

	[{Jargon File}]

	(1995-02-07)

interrupt handler

	<software> A routine which is executed when an {interrupt}
	occurs.  Interrupt handlers typically deal with low-level
	events in the hardware of a computer system such as a
	character arriving at a {serial port} or a tick of a
	{real-time clock}.  Special care is required when writing an
	interrupt handler to ensure that either the interrupt which
	triggered the handler's execution is masked out (inhibitted)
	until the handler exits, or the handler is {re-entrant} so
	that multiple concurrent invocations will not interfere with
	each other.

	If interrupts are masked then the handler must execute as
	quickly as possible so that important events are not missed.
	This is often arranged by splitting the processing associated
	with the event into "upper" and "lower" halves.  The lower
	part is the interrupt handler which masks out further
	interrupts as required, checks that the appropriate event has
	occurred (this may be necessary if several events share the
	same interrupt), services the interrupt, e.g. by reading a
	character from a {UART} and writing it to a {queue}, and
	re-enabling interrupts.

	The upper half executes as part of a user process.  It waits
	until the interrupt handler has run.  Normally the {operating
	system} is responsible for reactivating a process which is
	waiting for some low-level event.  It detects this by a shared
	{flag} or by inspecting a shared queue or by some other
	synchronisation mechanism.  It is important that the upper and
	lower halves do not interfere if an interrupt occurs during
	the execution of upper half code.  This is usually ensured by
	disabling interrupts during {critical sections} of code such
	as removing a character from a queue.

	(2002-07-24)

interrupt list

	[{MS-DOS}] The list of all known {software interrupt} calls
	(both documented and undocumented) for {IBM PCs} and
	compatibles, maintained and made available for free
	redistribution by Ralf Brown <ralf@cs.cmu.edu>.  As of late
	1992, it had grown to approximately two megabytes in length.

interrupt priority level

	The {Motorola 68000} family of processors can be at an
	interrupt priority level from 0 (no interrupt in progress) up
	to 7.  While the processor is handling an interrupt at one
	level, it will ignore other interrupts at that level or lower.

	(1994-11-23)

interrupt request

	(IRQ) The name of an input found on many processors which
	causes the processor to suspend normal instruction execution
	temporarily and to start executing an {interrupt handler}
	routine.  Such an input may be either "{level sensitive}" -
	the {interrupt} condition will persist as long as the input is
	active or "{edge triggered}" - an interrupt is signalled by a
	low-to-high or high-to-low transition on the input.  Some
	processors have several interrupt request inputs allowing
	different priority interrupts.

	(1994-12-08)

interrupts

	{interrupt}

Intersil 6100

	<programming> (IMS 6100) A single chip design of the {DEC}
	{PDP-8} {minicomputer}.  The old PDP-8 design was very
	strange, and if it hadn't been popular, an awkward {CPU} like
	the 6100 would never been designed.

	The 6100 was a 12-bit processor, which had three {registers}:
	the {PC}, AC (accumulator), and MQ.  All 2-operand
	instructions read AC and MQ and wrote back to AC.  It had a
	12-bit {address bus}, limiting {RAM} to only 4K.  Memory
	references were 7-bit, offset either from address 0, or from
	the PC page base address (PC AND 7600 oct).

	It had no {stack}.  Subroutines stored the {PC} in the first
	word of the subroutine code itself, so {recursion} required
	fancy programming.

	4K RAM was pretty much hopeless for general purpose use.  The
	6102 support chip (included in the 6120) added 3 address
	lines, expanding memory to 32K the same way that the PDP-8/E
	expanded the PDP-8.  Two registers, IFR and DFR, held the page
	for instructions and data respectively (IFR was always used
	until a data address was detected).  At the top of the 4K
	page, the PC wrapped back to 0, so the last instruction on a
	page had to load a new value into the IFR if execution was to
	continue.

	(2003-04-04)

Intersil 6120

	<processor> (IMS 6120) An improved version of the {Intersil
	6100}.  The 6120 was used in the {DECmate}.

	[Details?]

	(1994-11-23)

interstitial

	<web> A {web} page that appears before
	the expected content page.  Interstitials can be used for
	advertising (intermercial, transition ad) or to confirm that
	the user is old enough to view the requested page, etc..

	(2003-07-11)

Intertec

	<company> The computer manufacturer that built the {Superbrain}.

	All Intertec systems were sold, installed and serviced by dealers.
	Intertec manufactured the entire product including designing and
	producing the circuit boards and molding the cabinets.

	Intertec's first products were terminals - a {dumb terminal}
	called "Intertube" and a {smart terminal} that emulated various
	common terminals ({VT100} etc.) called "The Emulator".  The
	terminals looked similar to the Superbrain, but smaller.

	{(http://www.old-computers.com/museum/computer.asp?st=1&c=204)}.

	(2013-12-30)

interupt

	<spelling> It's spelled "{interrupt}".

	(1996-12-13)

InterViews

	An object-oriented toolkit developed at Stanford University
	for building graphical user interfaces.  It is implemented in
	C++ and provides a library of objects and a set of protocols
	for composing them.

interworking

	<standard> Systems or components, possibly from different
	origins, working together to perform some task.  Interworking
	depends crucially on {standards} to define the {interfaces}
	between the components.  The term implies that there is some
	difference between the components which, in the absence of
	common standards, would make it unlikely that they could be
	used together.  For example, {software} from different
	companies, running on different {hardware} and {operating
	systems} can interwork via standard network {protocols}.

	(1998-11-22)

intranet

	<networking> Any {network} which provides similar services
	within an organisation to those provided by the {Internet}
	outside it but which is not necessarily connected to the
	Internet.  The commonest example is the use by a company of
	one or more {web} servers on an internal {TCP/IP}
	network for distribution of information within the company.

	Since about 1995, intranets have become a major growth area in
	corporate computing due to the availability of cheap or free
	commercial {browser} and {web server} software which allows
	them to provide a simple, uniform {hypertext} interface to
	many kinds of information and {application programs}.

	Some companies give limited access to their intranets to other
	companies or the general public.  This is known as an
	"{extranet}".

	(1997-07-14)

Intrinsics

	<operating system, graphics> A library package on top of
	{Xlib}, extending the basic functions of the {X Window
	System}.  It provides mechanisms for building {widget sets}
	and application environments.

	(1996-08-26)

introspection

	<programming, philosophy> A feature of some {programming
	languages} that allows a running {program} to obtain
	information about its own implementation.

	For example, the {Lisp} function, "symbol-function" takes a
	Lisp symbol and returns the function definition associated
	with that symbol.  Lisp is particularly suited to
	introspection because its {source code} uses the same
	underlying representation as its data.  Another example is
	{Perl}'s "can" {method} which returns true if a given
	{object}'s {class} provides a given method.

	(2010-01-19)

introspection annotation

	<programming> A kind of {pragma} that makes information about
	the implementation of a program available to the program at
	{run-time}, allowing it to do {introspection}.

	For example, {gtk-doc} defines a {GObject Introspection}
	{syntax} for {annotations} that give {machine readable}
	information about function {parameters} and {return values},
	though these don't appear to be intended for actual
	introspection.

	(2010-01-19)

Intrusion Countermeasure Electronics

	<security, jargon> (ICE) A contrived acronym for security
	software, coined by {Usenet}ter Tom Maddox and popularised by
	{William Gibson}'s {cyberpunk} SF novels.  In Gibson's novels
	ICE software responds to intrusion by attempting to literally
	kill the intruder.

	The term is not in serious use as of 2000 apart from the
	commercial software product, {BlackICE} and a growing number
	of others.

	See also: {icebreaker}.

	[{Jargon File}]

	(2000-03-18)

Intrusive Testing

	<testing> Testing that collects timing and processing
	information during program execution that may change the
	behaviour of the software from its behavior in a real
	environment.  Intrusive testing usually involves additional
	code embedded in the software being tested or additional
	processes running concurrently with software being tested on
	the same processor.

	(1996-12-01)

Intuition

	<operating system> The {Amiga} {windowing system} (a
	shared-code library).

	(1997-08-01)

intuitionism

	{intuitionistic logic}

intuitionistic logic

	<logic, mathematics> Brouwer's foundational theory of
	mathematics which says that you should not count a proof of
	(There exists x such that P(x)) valid unless the proof
	actually gives a method of constructing such an x.  Similarly,
	a proof of (A or B) is valid only if it actually exhibits
	either a proof of A or a proof of B.

	In intuitionism, you cannot in general assert the statement (A
	or not-A) (the principle of the {excluded middle}); (A or
	not-A) is not proven unless you have a proof of A or a proof
	of not-A.  If A happens to be {undecidable} in your system
	(some things certainly will be), then there will be no proof
	of (A or not-A).

	This is pretty annoying; some kinds of perfectly
	healthy-looking examples of {proof by contradiction} just stop
	working.  Of course, excluded middle is a theorem of
	{classical logic} (i.e. non-intuitionistic logic).

	{History
	(http://britanica.com/bcom/eb/article/3/0,5716,118173+14+109826,00.html)}.

	(2001-03-18)

intuitionistic probability

	<logic> Florentin Smarandache's representation of the
	probability of an event occuring, given by T, I, F which are real
	subsets representing the truth, indeterminacy, and falsity
	percentages respectively, and

	 n_sup = sup(T) + sup(I) + sup(F) < 100

	Related to {intuitionistic logic}.

	[Florentin Smarandache, "A Unifying Field in Logics. /
	{Neutrosophy}: Neutrosophic Probability, Set, and Logic",
	American Research Press, Rehoboth 1999].

	(2001-03-18)

intuitionist logic

	<spelling> Incorrect term for "{intuitionistic logic}".

	(1999-11-24)

invariant

	<programming> A rule, such as the {ordering} of an ordered
	list or {heap}, that applies throughout the life of a data
	structure or procedure.  Each change to the data structure
	must maintain the correctness of the invariant.

	(1996-03-12)

inverse

	<mathematics> Given a {function}, f : D -> C, a function g : C
	-> D is called a left inverse for f if for all d in D, g (f d)
	= d and a right inverse if, for all c in C, f (g c) = c and an
	inverse if both conditions hold.  Only an {injection} has a
	left inverse, only a {surjection} has a right inverse and only
	a {bijection} has inverses.  The inverse of f is often written
	as f with a -1 superscript.

	(1996-03-12)

Inverse Address Resolution Protocol

	<networking, protocol> (InARP) Additions to {ARP} typically
	used for {Frame Relay}.  [Any other examples of its use?]

	{Frame Relay} stations {route} {frames} of a higher level
	protocol between {LANs}, across a {Permanent Virtual Circuit}.
	These stations are identified by their {Data Link Control
	Identifier} (DLCI), equivalent to an {Ethernet address} in a
	{LAN} itself.

	InARP allows a station to determine a protocol address (e.g.
	{IP address}) from a DLCI. This is useful if a new {virtual
	circuit} becomes available.  Signalling messages announce its
	DLCI, but without the corresponding protocol address it is
	unusable: no {frames} can be {routed} to it.

	{Reverse ARP} (RARP) performs a similar task on an {Ethernet}
	{LAN}, however RARP answers the question "What is my IP
	Address?" whereas InARP answers the question "What is your
	protocol address?".

	See {RFC 2390}.

	(2000-01-15)

inverse comment convention

	<programming> A kind of {literate programming} where the
	program code is marked to distinguish it from the text, rather
	than the other way around as in normal programs.

	(2003-09-24)

inverted index

	<database, information science> A sequence of ({key}, pointer)
	pairs where each pointer points to a {record} in a {database}
	which contains the key value in some particular field.  The
	index is sorted on the key values to allow rapid searching for
	a particular key value, using e.g. {binary search}.  The index
	is "inverted" in the sense that the key value is used to find
	the record rather than the other way round.  For databases in
	which the records may be searched based on more than one
	field, multiple indices may be created that are sorted on
	those keys.

	An index may contain gaps to allow for new entries to be added
	in the correct sort order without always requiring the
	following entries to be shifted out of the way.

	(1995-02-08)

invoking a method

	{method invocation}

InWorld VR

	<company, virtual reality> Manufacturers of the {CyberWand}.

	(1995-04-04)

IO

	<humour, abuse> Idiotic operator.

	(2003-05-15)

io

	<networking> The {country code} for British Indian Ocean
	territory.

	(1999-01-27)

I/O

	{Input/Output}

IOI

	{International Olympiad in Informatics}

Iomega Corporation

	<company, storage> A storage device manufacturer whose major
	products are the {Zip} and {Jaz} removable {disk drives} and
	{Ditto} {tape drives}.  They became popular with an early
	product called the {Bernoulli Box}.

	These products fall in line with their focus set in 1994 "to
	help people manage their stuff".  The company's stated aim is
	to create portable, fast, large and cheap storage solutions.
	Iomega's major competitor in the growing market for removable
	disks is {SyQuest}, who seem to always be a few weeks behind
	them.

	In general, Iomega target the {Small Office/Home Office}.
	They are also investigating the growing {digital photography}
	market which also needs large removable storage devices.

	Iomega's president and CEO is Kim Edwards.  They have nearly
	2000 employees in offices world-wide.  Revenue for the quarter
	ending Dec 1996 was $371 million and net income was $20
	million.

	Headquarters: Roy, Utah, USA.

	{(http://iomega.com/index.html)}.

	(1997-04-15)

I-OOA

	A tool, developed and sold by the Kennedy-Carter company, that
	supports the {Schlaer Mellor} design method, and that
	generates code in {C} and {C++}.  This tool can be modified to
	generate code of different styles, and also, to generate code
	in different programming languages.

	(1995-01-31)

I/O redirection

	{input/output redirection}

IOS

	{Internetworking Operating System}

Iota

	<language, specification> A specification language.

	["The Iota Programming System", R. Nakajima er al, Springer
	1983].

	(1994-12-08)

IOT&E

	{Initial Operational Test and Evaluation}

IOW

	<chat> in other words.

	(1997-05-26)

IP

	{Internet Protocol}

IPA

	{International Phonetic Alphabet}

iPad

	<computer> A {tablet computer} announced by {Apple Computer,
	Inc.} on 2010-01-27 to be released in March 2010.  The iPad
	runs {iPhone OS} 3.2, providing {multi-touch} interaction and
	{multimedia} processing.  Like {Apple}'s {iPhone} and {iPod},
	it uses a {virtual keyboard} for text input and runs most
	{iPhone apps}.  It adds the {iBooks} application for reading
	text in {ePub} format.

	It has a 1GHz {Apple A4} {SoC} processor, up to 64GB of flash
	memory, a 250mm LED-backlit colour LCD display ({resolution}
	1024x768 pixels) and a 25 {Wh} lithium-polymer battery.
	{Internet} access will be {Wi-Fi} in early models with {HSDPA}
	{3G} available soon after using a {micro-SIM}.  It weighs
	730g.  Features it lacks include a camera, the ability to
	{multitask} and an open developement environment.

	The iPad is the culmination of a series of attempts by Apple
	to produce a tablet device, starting with the {Newton
	MessagePad 100} in 1993 and including collaboration with
	{Acorn Computers} in developing the {ARM6} processor.

	{Apple iPad (http://www.apple.com/ipad)}.

	(2010-01-31)

IP address

	<networking> (Internet address) The 32-bit number uniquely
	identifying a {node} on a network using {Internet Protocol},
	as defined in {STD} 5, {RFC} 791.  An IP address is normally
	displayed in {dotted decimal notation}, e.g. 128.121.4.5.

	The address can be split into a {network number} (or network
	address) and a {host number} unique to each host on the
	network and sometimes also a {subnet address}.

	The way the address is split depends on its "class", A, B or C
	(but see also {CIDR}).  The class is determined by the high
	address bits:

	Class A - high bit 0, 7-bit network number, 24-bit host
	number.  n1.a.a.a 0 <= n1 <= 127

	Class B - high 2 bits 10, 14-bit network number, 16-bit host
	number.  n1.n2.a.a 128 <= n1 <= 191

	Class C - high 3 bits 110, 21-bit network number, 8-bit host
	number.  n1.n2.n3.a 192 <= n1 <= 223

	{DNS} translates a node's {fully qualified domain name} to an
	Internet address which {ARP} (or {constant mapping})
	translates to an {Ethernet address}.

	[{Jargon File}]

	(2006-01-27)

IPARS

	{International Programmable Airline Reservation System}

I-Pay

	<protocol> A Dutch only payment system for the {Internet}.

	[Reference?]

	(1998-04-28)

IPC

	{Inter-Process Communication}

ipconfig

	<networking> A {Microsoft Windows} program to display
	information about the the computer's {Internet Protocol}
	settings, including {IP address}, {DHCP} lease information,
	network card {Ethernet address}, and {DNS} information.

	[Was it ever "winipcfg"?]

	(2006-02-12)

IPCP

	{Internet Protocol Control Protocol}

IPE

	{Integrated Programming Environment}

Iperf

	<networking, tool> A tool to measure maximum {TCP}
	{bandwidth}, allowing the tuning of various parameters and
	{UDP} characteristics.  Iperf reports bandwidth, {delay
	jitter}, and {datagram} loss.  An {IPv6} version is also
	available.

	Latest version: 1.7.0, as of 2004-01-18.

	{Iperf Home (http://dast.nlanr.net/Projects/Iperf/)}.

	(2004-01-18)

IPL

	1. {Information Processing Language}.

	2. {Internet Public Library}.

	3. {Initial Program Load}.

	4. {Initial Program Loader}.

	(1997-08-31)

IP next generation

	{Internet Protocol Version 6}

IPng

	{Internet Protocol Version 6}

IP number

	{Internet address}

IPS

	A {thread}ed language.

	["IPS, An Unorthodox High Level Language", K. Meinzer, BYTE
	pp. 146-159 (Jan 1979)].

	(1994-11-04)

IPSE

	{Integrated Project Support Environment}

IPsec

	<networking, protocol, security> ("{IP} Secure"?) A {protocol}
	that provides {security} for transmission of sensitive
	information over unprotected {networks} such as the
	{Internet}.  IPsec acts at the {network layer}, protecting and
	authenticating {IP} {packets} between participating devices
	("peers"), such as {Cisco} {routers}.

	{IETF IPsec (http://ietf.org/ids.by.wg/ipsec.html)}.

	(2002-05-06)

IPT

	{IP Telephony}

IP Telephony

	<communications> (IPT, Internet Telephony) Use of {IP} data
	connections to exchange {voice} and {fax} data that have
	traditionally been carried over the {public switched telephone
	network}.

	During the late 1990s, an increasing number of telephone calls
	have been routed over the {Internet}.  Calls made in this way
	avoid PSTN charges.  Unlike traditional telephony, IP
	telephony is relatively unregulated.

	Companies providing these services are known as {Internet
	Telephony Service Providers} (ITSPs).  They include telephone
	companies, cable TV companies and {Internet Service Providers}
	(ISPs).

	There are still many problems with voice quality, {latency},
	{compression} {algorithms}, and {quality of service}.

	{Voice over IP} is an organised effort to standardise IP
	telephony.

	See also {Computer Telephone Integration}.

	{Internet Telephony Overview
	(http://fokus.gmd.de/research/cc/glone/projects/ipt/)}.

	(1999-03-17)

IPv4

	{Internet Protocol version 4}

IPv6

	{Internet Protocol version 6}

IPX

	{Internetwork Packet eXchange}

IPXCP

	<networking> {Internetwork Packet eXchange} {Control
	Protocol}.

	(1995-09-27)

IQ

	Pictorial query language, implemented in Ratfor.

	["Structured Implementation of an Image Query Language",
	Y.E. Lien et al, in Database Techniques for Pictorial
	Applications, A. Blaser ed, pp.416-430].

iq

	<networking> The {country code} for Iraq.

	(1999-01-27)

IQL

	An object-oriented deductive language/database system.

IR

	1. <networking> {Internet Registry}.

	2. <electronics> {infrared}.

	(1997-01-30)

ir

	<networking> The {country code} for Iran.

	(1999-01-27)

IrBUS

	{IrDA Control}

IRC

	{Internet Relay Chat}

ircop

	<messaging> /*r'-kop/ ("{IRC}" + "{op}", but with the,
	presumably intentional, alternate analysis "IRC" + "cop")
	Someone who is endowed with privileges on {IRC}, not limited
	to a particular {channel}.  These privileges include {channel
	op} privileges in any channel, but also notably include the
	ability to disconnect a user from the IRC network.

	Ircops are generally people who are in charge of the IRC
	{server} at their particular {site}.  Compare {op}.

	(1997-12-12)

IRC penis war

	{penis war}

IrDA

	{Infrared Data Association}

IrDA-C

	{IrDA Control}

IrDA Control

	<standard> (IrDA-C, formerly IrBUS) {Infrared} standard from
	{IrDA}.  IrDA Control is a low speed communication standard
	that allows cordless peripherals such as keyboards, mice,
	{game pads}, and {joysticks} to interact with intelligent host
	devices.  Host devices include {PCs}, home appliances, game
	machines, and television and web {set-top boxes}.

	IrDA Control supports data rates of 75 Kbps at up to 8 metres,
	and is designed to integrate with devices that use {USB}
	{HID}.  Parts and products featuring IrDA Control are expected
	in 1998.

	See also {IrDA Data}, {AIR}.

	(1999-10-14)

IrDA Data

	<standard> (IrDA-D) {Infrared} standards from {IrDA}.  IrDA
	Data is designed for data transfer over a distance of up to 1
	metre, acting as a point-to-point cable replacement.  Several
	IrDA Data standards exist, supporting data rates from 9600 bps
	- 50 Mbps, namely {SIR}, {FIR}, and {VFIR}.

	See also {IrDA Control}, {AIR}.

	(1999-10-14)

IRDATA

	<robotics> Industrial Robot DATA.  A standardised robot
	control code.  "IRDATA, Industrial Robot Data", DIN 66313,
	Beuth-Verlag 1991.

IRDP

	{ICMP Router Discovery Protocol}

IRDS

	Information Resource Dictionary System.  A set of ISO
	standards for CASE repositories.  It governs the definition of
	data dictionaries to be implemented on top of relational
	databases (see repository, data dictionary).

IRET

	{Return from interrupt}

IRIS

	<body> Institute for Research in Information and Scholarship
	of Brown University (Providence RI).

	(1994-11-04)

Iris

	An {object-oriented} {DBMS}.

	(1994-11-04)

IRISA

	{INRIA}

IRIS Explorer

	<mathematics, tool> {Numerical Algorithms Group} (NAG)'s tool
	for developing {visualisation} applications via a {visual
	programming environment}.  IRIS Explorer has a range of
	visualisation techniques, from simple graphs to
	multidimensional animation, that can help show trends and
	relationships in data.

	IRIS Explorer uses standard {Open Inventor}, {ImageVision} and
	{OpenGL} libraries as well as NAG's own numerical libraries.
	It is available for Windows, Unix and Linux.  It has a
	point-and-click interface and a library of "modules" (software
	routines).

	{IRIS Explorer home (http://www.nag.co.uk/Welcome_IEC.asp)}.

	(2008-09-04)

IRIX

	<operating system> /ir'iks/ The main {operating system} used
	by {Silicon Graphics} {workstations} and {servers}.  IRIX is
	{multiprocessor} and {multi-threaded}.  It incorporates
	substantial functionality from {UNIX} {System V}, Release 4.1
	and 4.2.

	(1997-06-17)

IRL

	1. <jargon, chat> In real life.  Generally synonymous with
	{f2f}.

	2. <language, robotics> {Industrial Robot Language}.

	(1997-01-31)

IRM

	{Information Resource Management}

iron

	Hardware, especially older and larger hardware of {mainframe}
	class with big metal cabinets housing relatively low-density
	electronics (but the term is also used of modern
	{supercomputers}).  Often in the phrase {big iron}.  Oppose
	{silicon}.

	See also {dinosaur}.

	[{Jargon File}]

	(1994-11-04)

Iron Age

	<history> In the history of computing, 1961-1971 - the
	formative era of commercial {mainframe} technology, when
	{ferrite core memory} {dinosaurs} ruled the earth.  The Iron
	Age began, ironically enough, with the delivery of the first
	{minicomputer} (the {PDP-1}) and ended with the introduction
	of the first commercial {microprocessor} (the {Intel 4004}) in
	1971.

	See also {Stone Age}; compare {elder days}.

	[{Jargon File}]

	(2003-09-27)

iron box

	[Unix/Internet] A special environment set up to trap a
	{cracker} logging in over remote connections long enough to be
	traced.  May include a modified {shell} restricting the
	cracker's movements in unobvious ways, and "bait" files
	designed to keep him interested and logged on.  See also {back
	door}, {firewall machine}, {Venus flytrap}, and Clifford
	Stoll's account in "{The Cuckoo's Egg}" of how he made and
	used one.  Compare {padded cell}.

	[{Jargon File}]

Ironman

	HOLWG, DoD, Jan 1977, revised Jul 1977.  Fourth of the series
	of DoD requirements that led to Ada.  "Department of Defense
	Requirements for High Order Computer Programming Languages",
	SIGPLAN Notices 12(12):39-54 (Dec 1977).  "Revised Ironman
	Requirements for High Order Computer Programming Languages",
	US Dept of Defense, Jul 1977.  (See Strawman, Woodenman,
	Tinman, Steelman).

ironmonger

	[IBM]  A hardware specialist (derogatory).  Compare
	{sandbender}, {polygon pusher}.

	[{Jargon File}]

IRQ

	{interrupt request}

irrational number

	<mathematics> A {real number} which is not a {rational
	number}, i.e. it is not the ratio of two {integers}.

	The decimal expansion of an irrational is infinite but does
	not end in an infinite repeating sequence of digits.

	Examples of irrational numbers are {pi}, {e} and the square
	root of two.

	(1995-04-12)

irrefutable

	The opposite of {refutable}.

IRSG

	{Internet Research Steering Group}

IRTF

	{Internet Research Task Force}

IRUS

	{Irvine Research Unit in Software}

Irvine Dataflow

	<language> (Always called "Id") A non-{strict}, {single
	assignment} language and {incremental compiler} developed by
	Arvind and Gostelow and used on {MIT}'s {Tagged-Token Dataflow
	Architecture} and planned to be used on {Motorola}'s
	{Monsoon}.

	See also {Id Nouveau}.

	["An Asynchronous Programming Language for a Large
	Multiprocessor Machine", Arvind et al, TR114a, Dept ISC, UC
	Irvine, Dec 1978].

	["The U-Interpreter", Arvind et al, Computer 15(2):42-50,
	1982].

	(1998-02-14)

Irvine Research Unit in Software

	<body> (IRUS) The {University of California, Irvine}.

	[Details?]

	(1995-04-18)

IS

	1. <standard> {International Standard}.

	2. {Intermediate System}.

is

	<networking> The {country code} for Iceland.

	(1999-01-27)

IS-11172

	<standard> The {International Standard} for {MPEG-1}
	{compression}.

	(1999-01-06)

IS-13818

	<standard> The {International Standard} for {MPEG-2}
	{compression}.

	(1999-01-06)

ISA

	1. <architecture> {Integrated Systems Architecture}.

	2. <body> {International Smalltalk Association}.

	3. <architecture> {instruction set architecture}.

	4. <architecture> {Industry Standard Architecture}.

	(1997-02-13)

Isabelle

	<theory, tool> A generic {theorem prover} with support for
	several {object-logics}, developed by Lawrence C. Paulson
	<Larry.Paulson@cl.cam.ac.uk> in collaboration with {Tobias
	Nipkow (http://in.tum.de/~nipkow/)} at the {Technical
	University of Munich}.

	A system of {type classes} allows {polymorphic} object-logics
	with {overloading} and automatic {type inference}.

	Isabelle supports {first-order logic} - {constructive} and
	classical versions; {higher-order logic}, similar to Gordon's
	{HOL}; {Zermelo Fränkel set theory}; an {extensional} version
	of {Martin Löf}'s {type theory}, the classical first-order
	{sequent calculus}, {LK}; the {modal logics} {T}, {S4}, and
	{S43}; and {Logic for Computable Functions}.

	An object logic's {syntax} and {inference rules} are specified
	{declaratively} allowing single-step proof construction.
	{Proof procedures} can be expressed using "tactics" and
	"tacticals".  Isabelle provides control structures for
	expressing search procedures and generic tools such as
	simplifiers and classical theorem provers which can be applied
	to object-logics.  Isabelle is built on top of {Standard ML}
	and uses its user interface.

	{(http://cl.cam.ac.uk/Research/HVG/Isabelle/)}.

	Mailing list: isabelle-users@cl.cam.ac.uk.

	["tactics"?  "tacticals"?]

	(1999-07-26)

Isabelle-92

	{Isabelle}

Isabelle-93

	{Isabelle}

ISA bus

	{Industry Standard Architecture}

ISAKMP

	{Internet Security Association and Key Management Protocol}

ISAM

	{Indexed Sequential Access Method}

ISAPI

	{Internet Server Application Programming Interface}

ISAPI filter

	<web> A replaceable {DLL} which the {server} calls
	whenever there is an {HTTP} request.  When the filter is first
	loaded, it communicates to the server what sort of
	notifications will be accepted.  After that, whenever a
	selected event occurs, the filter is called to process the
	event.

	Example applications of ISAPI filters include custom
	{authentication} schemes, {compression}, {encryption},
	logging, traffic analysis or other request analyses.

	(1997-01-06)

ISBL

	<language> A mathematical {query language}.

	[Stands for?  Details?]

	(1997-01-06)

ISDE

	Integrated Software Development Environment: equivalent to an
	IPSE.

ISDN

	{Integrated Services Digital Network}

ISE

	{Interactive Software Engineering}

ISEE

	Integrated {Software Engineering Environment} - equivalent to
	{SEE}.

I see no X here.

	<games> Hackers (and the interactive computer games they
	write) traditionally favour this slightly marked usage over
	other possible equivalents such as "There's no X here!" or "X
	is missing."  or "Where's the X?".  This goes back to the
	original PDP-10 {ADVENT}, which would respond in this wise if
	you asked it to do something involving an object not present
	at your location in the game.

	[{Jargon File}]

ISETL

	Interactive {SETL} by Gary Levin <gary@clutx.clarkson.edu>.

	Latest version: 3.0.

	{Binaries (ftp://sun.soe.clarkson.edu/)} and source for
	{MS-DOS}, {Macintosh}, {Unix}, {VAX}/{VMS}.

	[Clarkson U.  "An Introduction to ISETL Version 1.9",
	G.M. Levin, Dept MCS, Clarkson U].

	["Learning discrete mathematics with ISETL", Nancy Baxter.
	Ed. Gary Levin Dubinsky.  Springer-Verlag, c.1989.]

	(Apr 1994)

ISF

	{Information Systems Factory}

ISINDEX

	<web> An {HTML} tag which tells the {browser} to
	display a text entry box on the current page.  Any text
	entered in the box by the user is appended as a URL-encoded
	query string to the current {URL} and sent to the {server}
	using a GET method.

	This is a simple way of making a {website} searchable or
	allowing other kinds of simple user input.  It relies on the
	server mapping the query URL to an appropriate process,
	probably depending on the page in which the ISINDEX appeared.
	More complex input can be catered for using the {FORM} tag, or
	{Java}.

	(1996-12-22)

ISIS

	1. A toolkit for implementing fault-tolerant distributed
	systems, developed at Cornell and now available commercially

	2. A dialect of {JOSS}.

	[Sammet 1969, p. 217].

IS-IS

	{Intermediate System-Intermediate System}

ISL

	Interface Specification Language.  Xerox PARC.  Interface
	description language used by the ILU (Inter-Language
	Unification) system.  Includes descriptions of multiple
	inheritance, exceptions and garbage collection.

	E-mail: Bill Janssen <janssen@parc.xerox.com>.

ISLisp

	International Standard Lisp.

	An {object-oriented} Lisp intended as an international
	replacement for {Common Lisp}, {EuLisp}, {Le-Lisp} and
	{Scheme}.  The standard's goals are object orientation,
	extensibility, efficiency, and suitability for non-academic
	use.

	The standard is defined in {ISO} WG 16, draft Dec 1992.

	{(ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/islisp/)}.

	(1995-02-14)

ISMAP

	(web) An attribute of the {HTML} tag <IMG> (inline
	image) which specifies that if the image is selected, the
	{browser} will generate a request indicating the coordinates
	of the point which was clicked.  This request is then
	interpreted by the server by mapping certain regions of the
	image to certain actions.

	{Documentation
	(http://utirc.utoronto.ca/HTMLdocs/NewHTML/image.html)}.

	(1995-02-14)

ISO

	{International Organization for Standardization}

ISO 10646

	{Universal Character Set}

ISO 3166

	{country code}

ISO 639-1

	{language code}

ISO 639-2

	{language code}

ISO 8072

	{transport layer}

ISO 8073

	{transport layer}

ISO 8208

	{X.25}

ISO 8326

	{session layer}

ISO 8327

	{session layer}

ISO 8485

	{A Programming Language}

ISO 8613

	{Open Document Architecture}

ISO 8649

	{Association Control Service Element}

ISO 8650

	{Association Control Service Element}

ISO 8805

	{GKS-3D}

ISO 8807

	{LOTOS}

ISO 8822

	{presentation layer}

ISO 8823

	{presentation layer}

ISO 8825

	{Basic Encoding Rules}

ISO 8859

	<standard, character> {ISO}/{IEC}'s set of 8-bit coded graphic
	{character sets} for European languages.

	Part 1 (full name: "ISO 8859-1:1987 Information processing --
	8-bit single-byte coded graphic character sets -- Part 1:
	Latin alphabet No. 1") is a common extension of, and
	replacement for, {ASCII}.

	{ISO shop
	(http://iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=28245)}.

	(2001-12-28)

ISO 8859-1

	{ISO 8859}

ISO 8879

	<standard, character> The {ISO} standard defining {SGML}.

	(1995-05-03)

ISO 9000

	A set of international {standards} for both quality management
	and quality assurance that has been adopted by over 90
	countries worldwide.  The ISO 9000 standards apply to all
	types of organisations, large and small, and in many
	industries.

	The standards require: standard language for documenting
	quality processes; system to manage evidence that these
	practices are instituted throughout an organisation; and
	third-party auditing to review, certify, and maintain
	certification of organisations.  The ISO 9000 series
	classifies products into generic product categories: hardware,
	software, processed materials, and services.

	Documentation is at the core of ISO 9000 conformance. In fact,
	the standards have been paraphrased as:

	"Say what you do.  Do what you say.  Write it down."

	In Britain it is associated with BS5750 which may become
	obsolete.

	["The ISO 9000 Guide," c. 1993 Interleaf, Inc].

	(1995-01-30)

ISO 9072

	{Remote Operations Service Element}

ISO 9660

	<standard, storage> The {ISO} {standard} {file system} for
	{CD-ROMs}, later extended by the {Joliet} standard to allow
	{Unicode} characters.

	(2006-09-25)

ISO 9735

	<standard, protocol> (Or "EDIFACT") {ISO}'s 1988 {standard}
	for Electronic data interchange for administration, commerce
	and transport.  It defines {application layer} {syntax}.  It
	was amended and reprinted in 1990.

	{(http://iso.ch/cate/d17592.html)}.

	(1995-03-10)

ISOC

	{Internet Society}

ISO C

	{ANSI C}

isochronous

	<communications> /i:-sok'rn-*s/ A form of {multiplexing} that
	guarantees to provide a certain minimum {data rate}, as
	required for time-dependent data such as {video} or {audio}.

	Isochronous transmission transmits asynchronous data over a
	synchronous data link so that individual characters are only
	separated by a whole number of bit-length intervals.  This is
	in contrast to {asynchronous} transmission, in which the
	characters may be separated by arbitrary intervals, and with
	{synchronous} transmission [which does what?].

	An isochronous message protocol assigns each data source a
	fixed amount of time to transmit (its "slot") within each
	cycle through the sources.  That guarantees that each source
	will have regular opportunities to transmit the latest
	information.  If a source has no more data to transmit, then
	the rest of its time slot is wasted.  If it has more to send
	than will fit in its slot, it has to either store the excess
	data and transmit it in its next slot, or discard it.

	Note that whether messages are isochronous or asynchronous is
	independent of whether the transmision of individual bits is
	{synchronous} or {asynchronous}.

	Isochronous communication suits applications where a steady
	data stream is more important than completeness and accuracy,
	e.g. {video conferencing}.

	{Asynchronous Transfer Mode} and {High Performance Serial Bus}
	can provide isochronous service.

	Compare: {plesiochronous}.

	[ANIXTER, LAN Magazine 7.93]

	(2006-06-13)

isochronous transfer

	{isochronous}

ISODE

	{ISO Development Environment}

ISO Development Environment

	(ISODE) /eye-so-dee-eee/ Software that implements a set of
	{OSI} upper-layer services.  It supports OSI applications on
	top of OSI and {TCP/IP} networks.

	(1994-12-15)

ISO/IEC 10646-1

	{Universal Character Set}

ISO/IEC 26300

	{OpenDocument}

isolated

	{compact}

ISO Latin 1

	{ISO 8859}

isometric joystick

	<hardware> Any kind of {joystick} where the input depends on
	the force exerted rather than the position of the control,
	e.g. {TrackPoint}.

	(2003-06-26)

isometry

	<mathematics> A {mapping} of a {metric space} onto another or
	onto itself so that the distance between any two points in the
	original space is the same as the distance between their
	images in the second space.  For example, any combination of
	rotation and translation is an isometry of the plane.

	(1997-12-13)

isomorphic

	<mathematics> Two mathematical objects are isomorphic if they
	have the same structure, i.e. if there is an {isomorphism}
	between them.  For every component of one there is a
	corresponding component of the other.

	(1995-03-25)

isomorphism

	<mathematics> A {bijective} {map} between two objects which
	preserves, in both directions, any structure under
	consideration.  Thus a `group isomorphism' preserves group
	structure; an order isomorphism (between {posets}) preserves
	the order relation, and so on.  Usually it is clear from
	context what sort of isomorphism is intended.

	(1995-03-25)

isomorphism class

	<mathematics> A collection of all the objects {isomorphic} to
	a given object.  Talking about the isomorphism class (of a
	{poset}, say) ensures that we will only consider its
	properties as a poset, and will not consider other incidental
	properties it happens to have.

	(1995-03-25)

ISO Pascal

	A {Lex} {scanner} and {Yacc} {parser} are in the
	comp.sources.unix volume 13 archive.

	[More detail?]

ISO seven layer model

	{Open Systems Interconnect}

ISP

	1. {Internet Service Provider}.

	2. {Instruction Set Processor}.

ISPBX

	{Integrated Services Digital Network} {PBX}.

ISPF

	{Interactive System Productivity Facility}

ISPL

	Instruction Set Processor Language.  The original {ISP}
	language, written in {BLISS} ca 1971.

	["Computer Structures: Readings and Examples", D.P. Siewiorek
	et al, McGraw-Hill 1982].

ISPS

	Instruction Set Processor Specifications.  Operational
	hardware specification language.  Successor to ISPL.

	["Instruction Set Processor Specifications", M.R. Barbacci et
	al, IEEE Trans Computers, C-30(1):24-80 (Jan 1981)].

	[Bell, Newell, Siewiorek, Barbacci 1982?]

IST

	<company> {Imperial Software Technology}.

	(1995-10-12)

ISTAR

	<programming, tool> An experimental {IPSE} from {Imperial
	Software Technology}.

	(1995-10-12)

ISTM

	<chat> It seems to me.

	(2000-07-06)

ISV

	Independent Software Vendor (not a hardware manufacturer).

ISWIM

	<language> (If You See What I Mean) An influential but
	unimplemented computer programming language described in the
	article by {Peter J. Landin} cited below.  Landin attempted to
	capture all known programming language concepts, including
	{assignment} and control operators such as {goto} and
	{coroutines}, within a single {lambda calculus} based
	framework.

	ISWIM is an {imperative language} with a functional core,
	consisting of {sugared} {lambda calculus} plus {mutable
	variables} and {assignment}.  A powerful control mechanism,
	Landin's {J operator}, enables capture of the current
	{continuation} (the {call/cc} operator of {Scheme} is a
	simplified version).  Being based on lambda calculus ISWIM had
	{higher order functions} and {lexically scoped} variables.

	The {operational semantics} of ISWIM are defined using
	Landin's {SECD machine} and use {call-by-value} ({eager
	evaluation}).  To make ISWIM look more like mathematical
	notation, Landin replaced {ALGOL}'s semicolons and begin end
	blocks with the {off-side rule} and scoping based on
	indentation.

	An ISWIM program is a single {expression} qualified by "where"
	clauses (auxiliary definitions including equations among
	variables), conditional expressions and function definitions.
	With {CPL}, ISWIM was one of the first programming languages
	to use "where" clauses.

	New {data types} could be defined as a (possibly recursive)
	{sum of products} like the {algebraic data types} found in
	modern functional languages.  ISWIM variables were probably
	{dynamically typed} but Landin may have planned some form of
	{type inference}.

	Concepts from ISWIM appear in Art Evan's {PAL} and John
	Reynold's {Gedanken}, Milner's {ML} and purely functional
	languages with lazy evaluation like {SASL}, {Miranda} and
	{Haskell}.

	[{"The Next 700 Programming Languages"
	(http://www.cs.utah.edu/~wilson/compilers/old/papers/p157-landin.pdf)},
	P.J. Landin, CACM 9(3):157-166, Mar 1966].

	(2007-03-20)

IT

	1. <business, jargon> {Information Technology}.

	2. <language, mathematics, history> {Internal Translator}.

	(2000-10-02)

it

	<networking> The {country code} for Italy.

	(1999-01-27)

ITAR

	{International Traffic in Arms Regulation}

Iterated Function System

	<graphics> (IFS) A class of {fractals} that yield
	natural-looking forms like ferns or snowflakes.  Iterated
	Function Systems use a very easy transformation that is done
	recursively.

	(1998-04-04)

iteration

	<programming> Repetition of a sequence of instructions.  A
	fundamental part of many {algorithms}.  Iteration is
	characterised by a set of initial conditions, an iterative
	step and a termination condition.

	A well known example of iteration in mathematics is
	Newton-Raphson iteration.  Iteration in programs is expressed
	using {loops}, e.g. in {C}:

		new_x = n/2;
		do
		{
		  x = new_x;
		  new_x = 0.5 * (x + n/x);
		} while (abs(new_x-x) > epsilon);

	Iteration can be expressed in functional languages using
	recursion:

		solve x n = if abs(new_x-x) > epsilon
			    then solve new_x n
			    else new_x
			    where new_x = 0.5 * (x + n/x)

	        solve n/2 n

	(1998-04-04)

iterative deepening

	<algorithm> A {graph} search {algorithm} that will find the
	shortest path with some given property, even when the graph
	contains {cycles}.  When searching for a path through a graph,
	starting at a given initial {node}, where the path (or its end
	node) has some desired property, a {depth-first search} may
	never find a solution if it enters a cycle in the graph.
	Rather than avoiding cycles (i.e. never extend a path with a
	node it already contains), iterative deepening explores all
	paths up to length (or "depth") N, starting from N=0 and
	increasing N until a solution is found.

	(2004-01-26)

iterator

	<programming> An {object} or {routine} for accessing items
	from a {list}, {array} or {stream} one at a time.

	By extension, the term can be used for an object or routine
	for accesing items from any data structure that can be viewed
	as a list.  For example, a {traverser} is an {iterator} for
	{tree}-shaped data structures.

	(2001-10-04)

Iternet

	<spelling> It's spelled "{Internet}".

	(1997-04-07)

IT governance

	{information technology governance}

ITHACA

	<project> An {Esprit} project to put a {4th generation}
	{object-oriented} system to practical use in an industrial
	environment.  The ITHACA environment offered an application
	support system incorporating advanced technologies in the
	fields of object-oriented programming, programming languages,
	{databases}, user interfaces and software development tools.

	(2009-04-27)

ITIL

	{Information Technology Infrastructure Library}

ITP

	{Intent to Package}

ITS

	1. Incompatible {time-sharing} System

	An influential but highly idiosyncratic {operating system}
	written for the {PDP-6} and {PDP-10} at {MIT} and long used at
	the {MIT AI Lab}.  Much AI-hacker jargon derives from ITS
	folklore, and to have been "an ITS hacker" qualifies one
	instantly as an old-timer of the most venerable sort.  ITS
	pioneered many important innovations, including transparent
	file sharing between machines and terminal-independent I/O.
	After about 1982, most actual work was shifted to newer
	machines, with the remaining ITS boxes run essentially as a
	hobby and service to the hacker community.  The shutdown of
	the lab's last ITS machine in May 1990 marked the end of an
	era and sent old-time hackers into mourning nationwide (see
	{high moby}).  The Royal Institute of Technology in Sweden is
	maintaining one "live" ITS site at its computer museum (right
	next to the only {TOPS-10} system still on the {Internet}), so
	ITS is still alleged to hold the record for OS in longest
	continuous use (however, {WAITS} is a credible rival for this
	palm).

	2. A mythical image of {operating system} perfection worshiped
	by a bizarre, fervent retro-cult of old-time hackers and
	ex-users (see {troglodyte}).  ITS worshipers manage somehow to
	continue believing that an OS maintained by {assembly
	language} hand-hacking that supported only monocase
	6-character filenames in one directory per account remains
	superior to today's state of commercial art (their venom
	against {Unix} is particularly intense).

	See also {holy wars}, {Weenix}.

	[{Jargon File}]

	(1994-12-15)

it's a feature

	<jargon> From the adage "It's not a bug, it's a feature."
	Used sarcastically to describe an unpleasant experience that
	you wish to gloss over.

	(1997-04-29)

ITSP

	{Internet Telephony Service Providers}

ITU

	{International Telecommunications Union}

ITU-T

	{International Telecommunications Union}

ITU-T X.680

	{Coordinated Universal Time}

ITU X.209

	{Basic Encoding Rules}

Ivan

	A {Diana}-like language making up part of {VHDL}.

	["VHDL - The Designer Environment", A. Gilman, IEEE Design &
	Test 3, (Apr 1986)].

Ivan Sutherland

	Ivan E. Sutherland is widely known for his pioneering
	contributions.  His 1963 MIT PhD thesis, {Sketchpad}, opened
	the field of computer graphics.  His 1966 work, with Sproull,
	on a head-mounted display anticipated today's {virtual
	reality} by 25 years.  He co-founded {Evans and Sutherland},
	which manufactures the most advanced computer image generators
	now in use.  As head of Computer Science Department of
	{Caltech} he helped make {integrated circuit} design an
	acceptable field of academic study.  Dr. Sutherland is on the
	boards of several small companies and is a member of the
	National Academy of Engineering and the National Academy of
	Sciences, the {ACM} and {IEEE}.  He received the {ACM}'s
	{Turing Award} in 1988.  He is now Vice President and Fellow
	of {Sun Microsystems} Laboratories in Mountain View, CA, USA.

	(1994-11-16)

Iverson's Language

	{APL}, which went unnamed for many years.

	[Sammet 1969, p.770].

	(1994-11-16)

IVR

	{Interactive Voice Response}

ivs

	{INRIA} Videoconferencing System.

	A {video-conferencing} tool for the {Internet} based on the
	{H.261} {video compression} {standard}.

	{(http://zenon.inria.fr:8003/rodeo/personnel/Thierry.Turletti/ivs.html)}.

	(1994-11-16)

IVTRAN

	Parallel {Fortran} for the {Illiac IV}.  1966.

IV&V

	{Independent Verification and Validation}

IVY

	A language with a more pleasant syntax than {Perl}, {tcl} or
	{Lisp}.  It has nice features like low punctuation count,
	blocks indicated by indentation, and similarity to normal
	procedural languages.  This language started out as an idea
	for an extension language for the editor {JOE}.

	An experimental {interpreter} by Joseph H Allen
	<jhallen@world.std.com> was posted to {alt.sources} on 28 Sep
	1993.

IWay

	{Information Superhighway}

IWBNI

	It Would Be Nice If.

	Compare {WIBNI}.

	[{Jargon File}]

	(1994-11-24)

IXC

	{IntereXchange Carrier}

IXI Limited

	<company> A Cambridge, England company who were the leading
	supplier of {Unix} System windowing software when they were
	acquired by {SCO} in February 1993.

	(1994-12-12)

IXO

	{Telocator Alphanumeric Protocol}

IYFEG

	({Usenet}) Insert Your Favourite Ethnic Group.

	Used as a meta-name when telling ethnic jokes on the net to
	avoid offending anyone.

	See also {JEDR}.

	[{Jargon File}]

	(1994-11-24)

J

	A derivative and redesign of {APL} with added features and
	control structures.  J is {purely functional} with {lexical
	scope} and more conventional control structures, plus several
	new concepts such as {function rank} and {function arrays}.  J
	was designed and developed by Kennneth E. Iverson and Roger
	Hui <hui@yrloc.ipsa.reuter.com>.  J uses only the {ASCII}
	character set but has a spelling scheme that retains the
	advantages of {APL}'s special alphabet.  J is a conventional
	procedural programming language but can be used as a {purely
	functional} language.

	Version 4.1 for {MS-DOS}, Sun, Mac, Archimedes.  Source
	available in C from {Iverson Software}, +1 (416) 925 6096.

	Version 6 package from ISI includes an interpreter and
	tutorial.  Ported to {DEC}, {NeXT}, {SGI}, {Sun-3}, {Sun-4},
	{Vax}, {RS/6000}, {MIPS}, {Macintosh}, {Acorn Archimedes},
	{IBM PC}, {Atari}, {3b1}, {Amiga}.

	{(ftp://watserv1.waterloo.edu/languages/apl/j)}.

	J-mode {GNU Emacs} macros available by
	{(ftp://think.com/pub/j/gmacs/j-interaction-mode.el)}.

	["APL\?", Roger K.W. Hui et al, APL90 Conf Proc, Quote Quad
	20(4):192-200].

	(1992-10-31)

J2EE

	{Java 2 Platform, Enterprise Edition}

J2ME

	{Java 2 Platform, Micro Edition}

J2SE

	{Java 2 Platform, Standard Edition}

J3

	A dialect of {JOVIAL}.

	["Military Standard JOVIAL (J3)", MIL-STD-1588 (USAF), June
	1976].

	(1994-12-07)

J73

	A dialect of {JOVIAL}.

	["Military Standard JOVIAL (J73)", MIL-STD-1589 (USAF), Feb
	1977].

	(1994-12-07)

jabber

	<networking> When a network {node} transmits a {packet} longer
	than the maximum permissible length, usually due to a fault
	condition.

	(1996-05-10)

JACAL

	{JAffer's Canonical ALgebra}

jaccl

	<tool> An {LR1 grammar} {parser generator} written by Dave
	Jones at Megatest.

	(1989-09-08)

jack in

	To log on to a machine or connect to a network or {BBS},
	especially for purposes of entering a {virtual reality}
	simulation such as a {MUD} or {IRC} (leaving is "jacking
	out").  This term derives from {cyberpunk} SF, in which it was
	used for the act of plugging an electrode set into neural
	sockets in order to interface the brain directly to a virtual
	reality.  It is primarily used by MUD and IRC fans and younger
	hackers on BBS systems.

	[{Jargon File}]

Jack Kilby

	<person> (1924 - 2005-06-20) The electronics engineer who
	invented the {integrated circuit} in 1958 at {Texas
	Instruments}.

	{TI Biography
	(http://ti.com/corp/docs/kilbyctr/jackstclair.shtml)}.

	[Was the {JK flip-flop} named after him?]

	(2005-06-22)

Jackson method

	<programming> A proprietary structured method for software
	analysis, design and programming.

	(2005-06-22)

Jacquard, Joseph-Marie

	{Joseph-Marie Jacquard}

Jacquard loom

	<history> /zhah-kar'/ A mechanical loom, invented by
	{Joseph-Marie Jacquard} in 1801, which used the holes punched
	in pasteboard {punch cards} (which see) to control the weaving
	of patterns in fabric.  It was the first machine to use punch
	cards, although it did no computation based on them.

	{(http://history.rochester.edu/steam/hollerith/loom.htm)}.

	(1998-10-19)

JAD

	{Joint Application Design}

	Or "Joint Application Development".

	[What is it?]

	(1995-11-15)

JADE

	{James' DSSSL Engine}

Jade

	1. U Washington, late 80's.  A strongly-typed language,
	object-oriented but without classes.  For type research.  The
	compiler output is Smalltalk.  [Submitter claimed that Jade
	has exactly one user!]

	2. Implicit {coarse-grained concurrency}.  The constructs
	'with', 'withonly' and 'without' create tasks with specified
	side effects to shared data objects.  Implemented as a C
	preprocessor.  "Coarse-Grain Parallel Programming in Jade",
	M.S. Lam et al, SIGPLAN Notices 26(7):94-105 (Jul 1991).

jadeTeX

	<text, tool> A program which uses {TeX} as a back-end for
	producing {DVI} (or {PDF}) printable output from {James' DSSSL
	Engine}.

	{(ftp://ftp.tug.org/tex-archive/macros/jadetex/)}.

	(1997-11-20)

JAffer's Canonical ALgebra

	<mathematics, tool> (JACAL) A {symbolic mathematics} program,
	most of which was written in {Scheme} by Aubrey Jaffer.

	{(http://swissnet.ai.mit.edu/~jaffer/JACAL.html)}.

	(1999-06-27)

jaggies

	<graphics> /jag'eez/ (Or "staircase") The "staircase" effect
	observable when an edge (especially a linear edge of very
	shallow or steep slope) is rendered on a {bitmap display} (as
	opposed to a {vector display}).  The effect is even more
	pronounced when a bitmap image or text in a bitmap font is
	enlarged.  {Outline fonts} and {anti-aliasing} are two
	techniques used to solve this problem with text.

	[{Jargon File}]

	(1997-12-01)

JaM

	John and Martin.  An interpreted {FORTH}-like graphics
	language by John Warnock and Martin Newell, {Xerox PARC},
	1978.  JaM was the forerunner of both {Interpress} and
	{PostScript}.  It is mentioned in PostScript Language
	reference Manual, Adobe Systems, A-W 1985.

jam

	A condition on a network where two nodes transmitting
	simultaneously detect the collision and continue to transmit
	for a certain time (4 to 6 bytes on Ethernet) to ensure that
	the collision has been detected by all nodes involved.

	(1994-12-12)

James Clark

	{Dr. James H. Clark}

James' DSSSL Engine

	<text, tool> (JADE) A {DSSSL} tool by {James J. Clark}.  Jade
	is an implementation of the DSSSL style language for {Unix}
	and {Microsoft Windows}.  It can turn the {SGML} source of the
	DSSSL standard into an {RTF} file of about 200 pages using a
	fairly complex DSSSL specification.

	{(http://jclark.com/)}.

	(1996-10-13)

James Gosling

	<person> The software engineer who wrote {GOSMACS}, and served
	as {Sun Microsystems, Inc.} project leader for both {NeWS},
	and {Java}.  He is currently (1997) a Vice President and
	"Distinguished Engineer" at Sun.

	{(http://java.sun.com:80/people/jag/)}.

	{Biography
	(http://sun.com/sunergy/Bios/gosling_bio.html)}.

	(1997-03-12)

James H. Clark

	{Dr. James H. Clark}

JAM Programming Language

	<language> (JPL) A string-based {imperative language} from
	{JYACC Corporation}, part of the JAM tool for developing
	screen (non-window) applications.

	(2007-10-02)

JANET

	{Joint Academic NETwork}

JANET IP Service

	<networking> (JIPS) {Joint Academic NETwork} {Internet
	Protocol}.

	E-mail: <jips-nosc@nic.ja.net>.

	[Details?]

	(1994-12-12)

Janus

	1. Distributed language with an ask/tell constraint system.

	{qdjanus} is a Janus-to-{Prolog} compiler for {Sicstus Prolog}
	and {jc} is compiles to {C}.

	["Janus: A Step Towards Distributed Constraint Programming",
	V. Saraswat <saraswat@parc.xerox.com> et al in Logic
	Programming: Proc 1990 North Am Conf, S. Debray et al eds, MIT
	Press 1990].

	["Programming in Janus", Saraswat, Kahn, and Levy].

	2. W.M. Waite, U Colorado.  Intermediate language, claimed as
	an implementation of {UNCOL}.  Used on {CDC 6600}.

	["Experience with the Universal Intermediate Language Janus",
	B.K. Haddon et al, Soft Prac & Exp 8(5):601- 616 (Sep 1978)].

japh

	<programming> A {Perl} program which prints "Just another Perl
	hacker" using extremely obfuscated methods, typically ones
	based on obscure behaviours of sometimes rarely-used functions,
	in the spirit of the {Obfuscated C Contest}.

	The obfuscation can result from the code being total
	gibberish, e.g.:

	 $_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;

	or from having "Just another Perl hacker" embedded in opaque
	code:

	 $_='987;s/^(\d+)/$1-1/e;$1?eval:print"Just another Perl hacker,"';eval

	or from looking like it does something simple and completely
	unrelated to printing "Just another Perl hacker":

	 $_ = "wftedskaebjgdpjgidbsmnjgc";
	 tr/a-z/oh, turtleneck Phrase Jar!/; print;

	{Examples (http://perl.com/CPAN/misc/japh)}.

	(1997-09-14)

jar

	{Java archive}

jargon

	<human language, jargon> Language specific to some field of human
	endeavour, in this case, computing, that might not be understood
	by those outside that area.

	{This dictionary} contains many {examples of jargon
	(/contents/jargon.html)}.

	The {Jargon File} is the definitive collection of computing
	jargon.

	(2014-09-01)

Jargon File

	<jargon, publication, humour> The on-line hacker Jargon File
	maintained by {Eric S. Raymond}.  A large collection of
	definitions of computing terms, including much wit, wisdom,
	and history.

	{Many definitions (/contents/jargon.html)} in {this dictionary}
	are from v3.0.0 of 1993-07-27.

	{Jargon File Home (http://catb.org/~esr/jargon/)}.

	See also {Yellow Book, Jargon}.

	(2014-08-14)

Java

	<programming, language> An {object-oriented}, {distributed},
	{interpreted}, {architecture-neutral}, {portable},
	{multithreaded}, dynamic, buzzword-compliant, general-purpose
	programming language developed by {Sun Microsystems} in the early
	1990s (initially for set-top television controllers) and released
	to the public in 1995.

	Java was named after the Indonesian island, a source of
	{programming fluid}.

	Java first became popular as the earliest portable dynamic
	client-side content for the {web} in the form of
	{platform}-independent {Java applets}.  In the late 1990s and
	into the 2000s it also became very popular on the server side,
	where an entire set of {APIs} defines the {J2EE}.

	Java is both a set of public specifications (controlled by
	{Oracle}, who bought {Sun Microsystems}, through the {JCP}) and a
	series of implementations of those specifications.

	Java is syntactially similar to {C++} without user-definable
	{operator overloading}, (though it does have {method}
	overloading), without {multiple inheritance} and extensive
	automatic {coercions}.  It has automatic {garbage collection}.
	Java extends {C++}'s {object-oriented} facilities with those
	of {Objective C} for {dynamic method resolution}.

	Whereas programs in C++ and similar languages are compiled and
	linked to platform-specific binary executables, Java programs
	are typically compiled to portable {architecture-neutral}
	{bytecode} ".class" files, which are run using a {Java Virtual
	Machine}.  The JVM is also called an {interpreter}, though it
	is more correct to say that it uses {Just-In-Time Compilation}
	to convert the {bytecode} into {native} {machine code},
	yielding greater efficiency than most interpreted languages,
	rivalling C++ for many long-running, non-GUI applications.
	The run-time system is typically written in {POSIX}-compliant
	{ANSI C} or {C++}.  Some implementations allow Java class
	files to be translated into {native} {machine code} during or
	after compilation.

	The Java compiler and {linker} both enforce {strong type
	checking} - procedures must be explicitly typed.  Java
	aids in the creation of {virus}-free, tamper-free systems
	with {authentication} based on {public-key encryption}.

	Java has an extensive library of routines for all kinds of
	programming tasks, rivalling that of other languages.  For
	example, the {java.net} package supports {TCP/IP} {protocols}
	like {HTTP} and {FTP}.  Java applications can access objects
	across the {Internet} via {URLs} almost as easily as on the
	local {file system}.  There are also capabilities for several
	types of distributed applications.

	The Java {GUI} libraries provide portable interfaces.  For
	example, there is an abstract {Window} class with implementations
	for {Unix}, {Microsoft Windows} and the {Macintosh}.  The
	{java.awt} and {javax.swing} classes can be used either in
	web-based {Applets} or in {client-side applications} or {desktop
	applications}.

	There are also packages for developing {XML} applications,
	{web services}, {servlets} and other web applications,
	{security}, date and time calculations and I/O formatting,
	database ({JDBC}), and many others.

	Java is not related to {JavaScript} despite the name.

	{(http://oracle.com/java)}.

	(2011-08-21)

Java 2

	{Java 2 Platform, Standard Edition}

Java 2 Platform

	{Java 2 Platform, Standard Edition}

Java 2 Platform, Enterprise Edition

	<language, programming> (J2EE) {Sun}'s {Java} platform for
	{multi-tier} {server}-oriented {enterprise} {applications}.

	The basis of J2EE is {Enterprise JavaBeans} (EJB).

	See also the Standard edition {J2SE} and the Micro edition
	{J2ME}.

	{(http://java.sun.com/j2ee/)}.

	(2000-04-20)

Java 2 Platform, Micro Edition

	<language, programming> (J2ME) {Sun}'s {Java} platform for
	consumer devices.

	J2ME defines Configurations and Profiles for different classes
	of small memory device, from {smart cards} to {pagers} to
	{set-top boxes}.  It can run on various {Java virtual
	machines} including {KVM}.

	Related products include {PersonalJava} and {EmbeddedJava}.

	See also the Standard edition {J2SE} and the Enterprise
	edition {J2EE}.

	(Home (http://javasoft.com/j2me/)}.

	(2000-04-20)

Java 2 Platform, Standard Edition

	<language, programming> (J2SE) {Sun}'s {Java} programming
	platform aimed at network-oriented enterprise applications.
	J2SE comprises the {Java 2 Software Development Kit} (SDK) and
	the {Java 2 Run-Time Environment}.

	See also the Micro edition {J2ME} and the Enterprise edition
	{J2EE}.

	{Java 2 Platform (http://javasoft.com/j2se/)}.

	(2000-04-20)

Java 2 SDK

	{Java 2 Software Development Kit}

Java 2 Software Development Kit

	<language, programming> (Java 2 SDK) {Sun}'s tools to develop
	{Java} applications, part of the {Java 2 Platform}.

	Latest version: Java 2 SDK version 1.2.2, as of April 2000.

	Versions prior to 1.2 were known as the {Java Development Kit}
	(JDK).

	{(http://javasoft.com/j2se/)}.

	(2000-04-20)

Java archive

	<file format, filename extension> (jar) A compressed {archive}
	file containing {Java} {class} files, filename extension:
	".jar".  The {Java Development Kit} contains a tool called
	"jar" for creating .jar files, similar to the standard {Unix}
	{tar} command.  As well as archiving and compressing the Java
	class files, it also inserts a "manifest" file which can
	contain information about the class files, such as a {digital
	signature}.  Combining class files into a single archive file
	makes it possible to download them in a single {HTTP}
	transaction.  This, and the {compression}, speeds up execution
	of Java programs delivered via the {Internet}.

	(2001}-02-03)

JavaBeans

	<programming> A {component architecture} for the {Java}
	programming language, developed initially by {Sun}, but now
	available from several other vendors.  JavaBeans components
	are called "{beans}".

	JavaBeans allows developers to create reusable software
	components that can then be assembled together using visual
	application builder tools including {Sybase}'s {PowerJ},
	{Borland}'s {JBuilder}, {IBM}'s {Visual Age for Java},
	{SunSoft}'s {Java Workshop} and {Symantec}'s {Visual Cafe}.

	JavaBeans support Introspection (a builder tool can analyze
	how a Bean works), Customisation (developers can customise the
	appearance and behaviour of a Bean), Events (Beans can
	communicate), Properties (developers can customise and program
	with Beans(?)) and Persistence (customised Beans can be stored
	and reused).

	{(http://javasoft.com/beans/)}.

	(1997-11-20)

Java Community Process

	<project> (JCP) An organization controlled by {Sun Microsystems}
	to further the growth of the {Java} language and runtime.
	The JCP produces {standards} called Java Standard Requests,
	which are "requests" in the same sense as {RFCs}.

	(2005-01-21)

Java Database Connectivity

	<database, programming> (JDBC) Part of the {Java Development
	Kit} which defines an {application programming interface} for
	{Java} for standard {SQL} access to {databases} from Java
	{programs}.

	{Home
	(http://java.sun.com/products/jdk/1.1/docs/guide/jdbc/index.html)}.

	{FAQ (http://yoyoweb.com/Javanese/JDBC/FAQ.html)}.

	See also {Open Database Connectivity}.

	(1997-09-04)

Java Development Kit

	<language, compiler> (JDK) A free {Sun Microsystems} product
	which provides the {environment} required for programming in
	{Java}.  The JDK is available for a variety of {platforms},
	but most notably {Sun Solaris} and {Microsoft Windows}.

	{(http://java.sun.com/products/jdk/1.1/index.html)}.

	[Version?]

	(1997-09-04)

Java Message Service

	<programming, messaging> (JMS) An {API} for accessing
	enterprise messaging systems from {Java} programs.  Java
	Message Service, part of the {J2EE} suite, provides standard
	APIs that Java developers can use to access the common
	features of enterprise message systems.  JMS supports the
	{publish/subscribe} and {point-to-point} models and allows the
	creation of message types consisting of arbitrary Java
	objects.  JMS provides support for administration, security,
	error handling, and recovery, optimisation, distributed
	transactions, message ordering, message acknowledgment, and
	more.

	{(http://java.sun.com/products/jms)}.

	{Overview
	(http://developer.java.sun.com/developer/technicalArticles/Networking/messaging/)}.

	(2001-06-22)

Java Native Interface

	<programming> (JNI) A {native} programming interface for
	{Java} that allows Java code running inside a {Java Virtual
	Machine} to interoperate with {applications} and {libraries}
	written in other programming languages such as {C}, {C++} and
	{assembly language}.

	(1997-12-07)

Java Open Language Toolkit

	<project> (JOLT) A project aimed at providing a freely
	available and redistributale implementation of {Sun
	Microsystems}'s {Java} language and tools.

	{(http://redhat.com/linux-info/jolt/)}.

	(1996-12-17)

Java Remote Method Protocol

	<protocol> (JRMP) A proprietary {wire-level protocol} designed
	by {Sun Microsystems} to transport {Java} {RMI}.

	JRMP serves the same function as {IIOP}, but also supports
	object passing.  {Sun} plans to offer {IIOP} as an alternative
	to JRMP.

	Sun do not appear to use this term any longer, simply
	referring to the "RMI transport protocol".

	{(http://java.sun.com/j2se/1.3.0/docs/guide/rmi/spec/rmi-protocol3.html)}.

	{Comparison (http://execpc.com/~gopalan/misc/compare.html)}.

	(2001-07-21)

Java Run-Time Environment

	<language> (JRE) The part of the {Java Development Kit}
	required to run Java programs.  The JRE consists of the {Java
	Virtual Machine}, the {Java} platform core {classes} and
	supporting files.  It does not include the compiler, debugger
	or other tools present in the JDK.  The JRE is the smallest
	set of executables and files that constitute the standard Java
	platform.

	(1998-11-30)

JavaScript

	<language> (Formerly "LiveScript") {Netscape}'s simple,
	cross-{platform}, {web} {scripting language}, only
	very vaguely related to {Java} (which is a {Sun} trademark).
	JavaScript is intimately tied to the {web}, and
	currently runs in only three environments - as a {server}-side
	{scripting} language, as an embedded language in
	{server-parsed HTML}, and as an embedded language run in web
	{browsers} where it is the most important part of {DHTML}.

	JavaScript has a simplified {C}-like {syntax} and is tightly
	integrated with the browser {Document Object Model}.  It is
	useful for implementing enhanced {forms}, simple web
	{database} {front-ends}, and navigation enhancements.  It is
	unusual in that the {scope} of {variables} extends throughout
	the function in which they are declared rather than the
	smallest enclosing block as in C.

	JavaScript originated from {Netscape} and, for a time, only
	their products supported it.  {Microsoft} now supports a
	work-alike which they call JScript.  The resulting
	inconsistencies make it difficult to write JavaScript that
	behaves the same in all browsers.  This could be attributed to
	the slow progress of JavaScript through the standards bodies.

	JavaScript runs "100x" slower than {C}, as it is purely
	interpreted ({Java} runs "10x" slower than C code).
	{Netscape} and allies say JavaScript is an "open standard" in
	an effort to keep {Microsoft} from monopolising web software
	as they have desktop software.  {Netscape} and {Sun} have
	co-operated to enable {Java} and JavaScript to exchange
	messages and data.

	See also {VBScript}.

	{Usenet} newsgroup: {news:comp.lang.javascript}.

	Mailing List: <majordomo@obscure.org> ("subscribe javascript"
	in body).

	(2003-04-28)

JavaScript Object Notation

	<programming> (JSON) {Syntax} for serialising {JavaScript}
	objects, often used as a data carrier format.  JSON is based
	on a subset of the JavaScript programming language.  It uses a
	file extension of .json and is considered a
	language-independent data format.

	(2008-05-28)

Java servelet

	{Java servlet}

JavaServer Faces

	<programming, Java> (JSF) A system for building {web
	applications} by assembling reusable {user interface}
	components in a web page, connecting these components to a
	data source and passing client events to server handlers.

	{(http://java.sun.com/j2ee/javaserverfaces/overview.html)}.

	(2006-07-21)

JavaServer Pages

	<programming, web> (JSP) A freely available
	specification for extending the {Java Servlet} {API} to
	generate dynamic {web pages} on a {web server}.  The JSP
	specification was written by industry leaders as part of the
	Java development program.

	JSP assists developers in creating {HTML} or {XML} pages that
	combine static (fixed) page templates with dynamic content.
	Separating the {user interface} from content generation allows
	page designers to change the page layout without having to
	rewrite program code.  JSP was designed to be simpler than
	pure servlets or {CGI} {scripting}.

	JSP uses XML-like tags and scripts written in Java to generate
	the page content.  HTML or XML formatting {tags} are passed
	back to the client.  Application logic can live on the server,
	e.g. in {JavaBeans}.

	JSP is a {cross-platform} alternative to {Microsoft's} {Active
	Server Pages}, which only runs in {IIS} on {Windows NT}.

	Applications written to the JSP specification can be run on
	compliant web servers, and web servers such as {Apache},
	{Netscape Enterprise Server}, and Microsoft {IIS} that have
	had Java support added.  JSP should soon be available on
	{Unix}, {AS/400}, and {mainframe} platforms.

	{JavaServer Pages (http://java.sun.com/products/jsp/)}.

	{Infoworld Article
	(http://infoworld.com/cgi-bin/displayStory.pl?99063.ecjsp.htm)}.

	(1999-11-28)

Java servlet

	<web> (By analogy with "{applet}") A {Java} program
	that runs as part of a {network} service, typically an {HTTP
	server} and responds to requests from {clients}.

	The most common use for a servlet is to extend a {web server}
	by generating {web content} dynamically.  For example, a
	{client} may need {information} from a {database}; a servlet
	can be written that receives the request, gets and processes
	the data as needed by the {client} and then returns the result
	to the {client}.

	{Applets} are also written in {Java} but run inside the {JVM}
	of a {HTML} {browser} on the {client}.  Servlets and applets
	allow the server and client to be extended in a modular way by
	dynamically loading code which communicates with the main
	program via a standard programming interface.

	Servlets are more flexible than {CGI scripts} and, being
	written in {Java}, more portable.

	The spelling "servelet" is occasionally seen but {JavaSoft}
	spell it "servlet".  There is no such thing as a "serverlet".

	{(http://java.sun.com/products/servlet/)}.

	(2002-10-06)

Java Servlet Development Kit

	<web> (JSDK) A suite of software for easing the
	development of {Java servlets}.

	{JavaSoft Servlet Development Kit
	(http://javasoft.com/products/jdk/1.2/docs/ext/servlet/)}.

	(1998-05-26)

Java Virtual Machine

	<language, architecture> (JVM) A specification for software
	which interprets {Java} programs that have been compiled into
	{byte-codes}, and usually stored in a ".class" file.  The JVM
	{instruction set} is {stack}-oriented, with variable
	instruction length.  Unlike some other instruction sets, the
	JVM's supports {object-oriented} programming directly by
	including instructions for object {method} invocation (similar
	to {subroutine} call in other instruction sets).

	The JVM itself is written in {C} and so can be {ported} to run
	on most {platforms}.  It needs {thread} support and {I/O} (for
	{dynamic class loading}).  The Java byte-code is independent
	of the platform.

	There are also some hardware implementations of the JVM.

	{Specification
	(http://javasoft.com/docs/books/vmspec/html/VMSpecTOC.doc.html)}.

	{Sun's Java chip
	(http://news.com/News/Item/0,4,9328,00.html)}.

	[Documentation?  Versions?]

	(2000-01-03)

Java VM

	{Java Virtual Machine}

JAZ

	<language> An early system on the {LGP-30}.

	[CACM 2(5):16, May 1959].

	(1997-05-16)

Jaz

	{Jaz Drive}

Jaz Drive

	<hardware, storage> {Iomega Corporation}'s drive which takes
	removable one or two {gigabyte} disk cartridges which contain
	conventional {hard disks}.

	Internal and external drives are available claiming an average
	transfer rate of 330 {megabytes} per minute - though that is
	dependant on the {SCSI} adapter, the parallel port adapter is
	unlikely to reach anything like this speed.  The Jaz drive was
	the successor to the company's more establistablished {Zip
	Drive}.

	(1998-08-28)

JAZELLE

	<database> A data management system for High Energy Physics
	from Stanford Linear Accelerator.

	(1995-02-22)

JBIG

	{Joint Bi-level Image Experts Group}

JBOD

	{Just a Bunch Of Disks}

JBOPS

	<business, jargon> A nickname for the major {ERP} and
	enterprise software application companies: {JD Edwards},
	{Baan}, {Oracle}, {PeopleSoft}, and {SAP}.

	(1999-07-27)

jc

	<language> Version 1.50 alpha

	compiler(->C)

	David Gudeman <gudeman@cs.arizona.edu>

	{(ftp://cs.arizona.edu/janus/jc/)}.

	A janus-to-C compiler (considerably faster than qdjanus).  jc
	is a {sequential} implementation of a {concurrent} language.

	bugs: <jc-bugs@cs.arizona.edu>

	ports: sun-4, sun-3, Sequent Symmetry

	jc is an experimental system, undergoing rapid development.

	Mailing list: janusinterest-request@parc.xerox.com

	(1992-06-09)

JCL

	{Job Control Language}

JCOOL

	<language> A version of the {COOL} {C++} {class library} that
	uses real C++ {templates}.

	(2007-10-14)

JCP

	{Java Community Process}

JCS-13

	<language> An early system on the {IBM 701}.

	[Listed in CACM 2(5):16, May 1959].

	(1997-06-16)

JDBC

	{Java Database Connectivity}

JDK

	{Java Development Kit}

JEAN

	<language> A dialect of {JOSS}.

	[Details?]

	(1997-09-14)

Jean E. Sammet

	<person> Author of several surveys of early programming
	languages, refererred to in many entries in this dictionary.

	E-mail: sammet@vtvm1.cc.vt.edu

	Relevant publications include:

	[Sammet, Jean E., "Programming Languages: History and
	Fundamentals", P-H 1969.  QA76.5 .S213].  The definitive work
	on early computer language development.

	[Sammet, Jean E., "Programming Languages: History and Future",
	CACM 15(7):601-610, Jul 1972].

	[Sammet, Jean E., "Roster of Programming Languages"
	Computers & Automation 16(6):80-82, June 1967;
	Computers & Automation 17(6):120-123, June 1968;
	Computers & Automation 18(7):153-158, June 1969;
	Computers & Automation 19(6B):6-11, 30 Nov 1970;
	Computers & Automation 20(6B):6-13, 30 Jun, 1971;
	Computers & Automation 21(6B), 30 Aug 1972;
	Computing Reviews 15(4): 147-160, April 1974;
	CACM 19(12):655-669, Dec 1976;
	SIGPLAN Notices 13(11):56, Nov 1978].

	(1998-10-03)

Jean-Maurice-Émile Baudot

	<person> (1845-1903) The inventor of the {Baudot code}.  Baudot
	joined the French Post & Telegraph Administration in 1869 as a
	telegraph operator.  In his own time he developed a code for
	sending several messages at once.  In 1874 Baudot patented his
	first printing telegraph where signals were translated onto paper
	tape.  The {Baudot code} was adopted first in France and then by
	other nations for <telegraph> and <teletype> transmissions.

	The unit of transmission speed, {baud}, is named after him.

	(2013-01-12)

JEDR

	<person, abuse, humour> Synonymous with {IYFEG}.  At one time,
	people in the {Usenet} {newsgroup} {news:rec.humor.funny}
	tended to use "JEDR" instead of {IYFEG} or "<ethnic>"; this
	stemmed from a public attempt to suppress the group once made
	by a loser with initials JEDR after he was offended by an
	ethnic joke posted there.  (The practice was {retcon}ned by
	expanding these initials as "Joke Ethnic/Denomination/Race".)
	After much sound and fury JEDR faded away; this term appears
	to be doing likewise.  JEDR's only permanent effect on the
	net.culture was to discredit "sensitivity" arguments for
	censorship so thoroughly that more recent attempts to raise
	them have met with immediate and near-universal rejection.

	[{Jargon File}]

	(1994-11-22)

Jef Raskin

	<person> The person who started the {Macintosh} project at
	{Apple Computer, Inc.} but left the company before the product
	was launched.

	(1999-08-24)

Jenga Code

	<humour, programming> A style of programming which results in the
	whole thing collapsing when you touch a single block of code.
	Named after the game where players try to remove wooden blocks
	from a tower without it falling down.

	Also known as Crispy Noodle Code.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	[Why crispy noodle?]

	(2013-12-25)

Jerry Sussman

	{Gerald Sussman}

JES

	{job entry system}

JES2

	<operating system> One of {IBM}'s {job entry systems} for
	{MVS}.

	(1995-08-16)

JES3

	<operating system> One of {IBM}'s {job entry systems} for
	{MVS}.

	(1995-08-16)

JFCL

	/jif'kl/, /jaf'kl/, /j*-fi'kl/ (obsolete) To cancel or annul
	something.  "Why don't you jfcl that out?"  The fastest
	do-nothing instruction on older models of the {PDP-10}
	happened to be JFCL, which stands for "Jump if Flag set and
	then CLear the flag"; this does something useful, but is a
	very fast no-operation if no flag is specified.  Geoff
	Goodfellow, one of the jargon-1 co-authors, had JFCL on the
	licence plate of his BMW for years.  Usage: rare except among
	old-time PDP-10 hackers.

	[{Jargon File}]

	(1994-11-22)

JFDI

	<chat> Just fucking do it.

	(2008-04-18)

JFET

	{Junction Field Effect Transistor}

JFGI

	<chat, WWW> Just Fucking Google It.  See {STFW}.

	(2014-05-23)

JFIF

	{JPEG File Interchange Format}

jiffy

	1. The duration of one {tick} of the computer's {system
	clock}.  Often one AC cycle time (1/60 second in the US and
	Canada, 1/50 most other places), but more recently 1/100 sec
	has become common.

	2. Confusingly, the term is sometimes also used for a
	1-millisecond {wall time} interval.  Even more confusingly,
	physicists semi-jokingly use "jiffy" to mean the time required
	for light to travel one foot in a vacuum, which turns out to
	be close to one *nanosecond*.

	[{Jargon File}]

	(2002-03-02)

Jim Clark

	{Dr. James H. Clark}

Jini

	<networking> /jee'nee/ {Sun}'s {Java}-based system for
	networking home appliances, {desktop computers} and other
	kinds of consumer electronics.

	{(http://java.sun.com/products/jini/)}.

	[Details?]

	(1998-11-14)

JIPS

	{JANET IP Service}

JIT

	{dynamic translation}

jitter

	Random variation in the timing of a signal, especially a
	clock.

	(1995-01-16)

JK flip-flop

	<hardware> An {edge triggered} {SR flip-flop} with extra logic
	such that only one of the R and S inputs is enabled at any
	time.  This prevents a {race condition} which can occur when
	both inputs of an RS flip-flop are active at the same time.
	In a JK flip-flop the R and S inputs are renamed J and K.  The
	set input (J) is only enabled when the flip-flop is reset and
	K when it is set.

	If both J and K inputs are held active then the outputs will
	change ("togle") on each falling edge of the clock.  JK
	flip-flops can be used to build a {binary counter} with a
	reset input.

	{(http://play-hookey.com/digital/logic7.html)}.

	[Was it named after {Jack Kilby}?]

	(2004-07-17)

jm

	<networking> The {country code} for Jamaica.

	(1999-01-27)

J.M.E. Baudot

	{Jean-Maurice-Émile Baudot}

JMHO

	<chat> Just My Humble Opinion.

	(1999-02-18)

JMS

	{Java Message Service}

JNI

	{Java Native Interface}

jo

	<networking> The {country code} for Jordan.

	(1999-01-27)

job

	<operating system> All activities involved in completing any
	project on a computer from start to finish.  A job may involve
	several {processes} and several {programs}.

	This term originates from a time when a user would manually
	submit a job as a deck of {punched cards} which would
	typically include {source code} interspersed with {job control
	language} instructions to guide phases of the job such as
	{compilation}, {linking}, {execution} and printing.

	(2005-03-16)

Job Control Language

	<language, operating system> (JCL) {IBM}'s supremely {rude}
	{script} language, used to control the execution of programs
	in IBM {OS/360}'s {batch} systems.  JCL has a very {fascist}
	{syntax}, and some versions will, for example, {barf} if two
	spaces appear where it expects one.

	Most programmers confronted with JCL simply copy a working
	file (or {card deck}), changing the file names.  Someone who
	actually understands and generates unique JCL is regarded with
	the mixed respect one gives to someone who memorises the phone
	book.  It is reported that hackers at IBM itself sometimes
	sing "Who's the breeder of the crud that mangles you and me?
	I-B-M, J-C-L, M-o-u-s-e" to the tune of the "Mickey Mouse
	Club" theme to express their opinion of the beast.

	As with {COBOL}, JCL is often used as an archetype of ugliness
	even by those who haven't experienced it.  However, no
	self-respecting {mainframe} {MVS} programmer would admit
	ignorance of JCL.

	See also {fear and loathing}.

	(1999-03-03)

Job Entry System

	<operating system> (JES) An {IBM} {mainframe} term.  There are
	really two JESs.  JES2 is smaller and simpler, and can handle
	99.99% of most jobs that run on IBM's {MVS} {operating
	system}.  JES3 is much bigger and requires really {big iron}
	to run.

	(1996-03-23)

Jobs

	{Stephen Jobs}

job security

	<jargon> When some piece of code is written in a particularly
	obscure fashion, and no good reason (such as time or space
	optimisation) can be discovered, it is often said that the
	programmer was attempting to increase his job security (i.e.
	by making himself indispensable for maintenance).  This sour
	joke seldom has to be said in full; if two hackers are looking
	over some code together and one points at a section and says
	"job security", the other one may just nod.

	[{Jargon File}]

	(1996-09-17)

jock

	1. A programmer who is characterised by large and somewhat
	{brute-force} programs.

	2. When modified by another noun, describes a specialist in
	some particular computing area.  The compounds "compiler jock"
	and "systems jock" seem to be the best-established examples.

	[{Jargon File}]

	(1995-01-19)

joe

	<jargon, security> A computer account whose user name and
	password are the same.  Joes are {considered harmful}, as are
	any passwords which are easy to guess.

	(1995-06-21)

joe code

	/joh' kohd"/ 1. Code that is overly {tense} and
	unmaintainable.  "{Perl} may be a handy program, but if you
	look at the source, it's complete joe code."

	2. Badly written, possibly buggy code.

	Correspondents wishing to remain anonymous have fingered a
	particular Joe at the Lawrence Berkeley Laboratory and
	observed that usage has drifted slightly; the original
	sobriquet "Joe code" was intended in sense 1.

	[{Jargon File}]

John Atanasoff

	{John Vincent Atanasoff}

John Gilmore

	<person> A noted {Unix} {hacker} who cofounded {Usenet}'s
	anarchic alt.* {newsgroup} {hierarchy} with {Brian Reid}.  He
	also worked on {GDB}.

	E-mail: John Gilmore <gnu@toad.com>.

	(1995-04-18)

John Mauchly

	<person> /jon W mok'*-lee/ (rhymes with "broccoli") Dr. John
	W. Mauchly, one of the developers of {ENIAC}.

	(2002-10-06)

John McCarthy

	<person, artificial intelligence> A pioneer of {artificial
	intelligence} (he coined ther term).  He invented {Lisp} at
	{MIT} in the late 1950s and later worked at {SAIL}.

	{(ftp://www-formal.stanford.edu/jmc)}.

	E-mail: <jmc@cs.stanford.edu>.

	(2003-08-06)

Johnniac

	<computer> A {mainframe} computer based on a design by {John
	von Neuman} built at the {Institute for Advanced Study}, USA.
	The Johnniac went live in 1953 and was decommissioned in 1966.
	Its memory consisted of 80 special "{Selectron}" {vacuum
	tubes}, each of which held 256 bits of data.

	(2003-06-07)

JOHNNIAC Open Shop System

	<language> (JOSS) An early, simple, {interactive} calculator
	language developed by Charles L. Baker at Rand in 1964.  There
	were two versions: JOSS I and JOSS II.

	[Connection with {Johnniac}?]

	["JOSS Users' Reference Manual", R.L. Clark, Report F-1535/9,
	RAND Corp (Jan 1975)].

	[Sammet 1969, pp. 217-226].

	(2004-07-11)

John Ousterhout

	<person> /oh'st*r-howt/ John K. Ousterhout, the designer of
	{Tcl} and {Tk}, and founder of {Scriptics}.

	See also: {Ousterhout's dichotomy}.

	E-mail: john.ousterhout@scriptics.com.

	(1999-02-21)

John Tukey

	<person> The eminent statistician credited with coining the
	term "{bit}" in 1949.

	{(http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Tukey.html)}.

	(2003-02-28)

John Vincent Atanasoff

	<person> John Vincent Atanasoff, 1903-10-04 - 1995-06-15.  An
	American mathemetical physicist, and the inventor of the
	electronic {digital computer}.  Between 1937 and 1942 he built
	the {Atanasoff-Berry Computer} with {Clifford Berry}, at the
	{Iowa State University}.

	Atanasoff was born on 1903-10-04 in Hamilton, New York.  In
	1925, he got a Bachelor of Science degree in Electrical
	Engineering from the University of Florida.  In 1926 he
	received a Master's degree in Maths from Iowa State
	University.  He received a PhD as a theoretical physicist from
	the University of Wisconsin in 1930.

	While an associate professor of mathematics and physics at
	Iowa State University, Atanasoff began to envision a {digital}
	computational device, believing {analogue} devices to be too
	restrictive.  Whilst working on his electronic {digital
	computer}, Atanasoff was introduced to a graduate student
	named {Clifford Berry}, who helped him build the {computer}.

	The first prototype of the {Atanasoff-Berry Computer} was
	demonstrated in December 1939.  Although no patent was awarded
	for the new {computer}, in 1973 US District Judge Earl R.
	Larson declared Atanasoff the inventor of the digital computer
	(declaring the {ENIAC} patent invalid).

	Atanasoff was awarded the National Medal of {Technology} by US
	President Bush on 1990-11-13.  He died following a stroke on
	1995-06-15.

	{John Vincent Atanasoff and the Birth of the Digital Computer
	(http://cs.iastate.edu/jva/jva-archive.shtml)}.

	["Atanasoff Forgotten Father of the Computer", C. R.
	Mollenhoff, Iowa State University Press 1988].

	(2001-10-03)

John von Neumann

	<person> /jon von noy'mahn/ Born 1903-12-28, died 1957-02-08.

	A Hungarian-born mathematician who did pioneering work in
	quantum physics, game theory, and {computer science}.  He
	contributed to the USA's Manhattan Project that built the
	first atomic bomb.

	von Neumann was invited to Princeton University in 1930, and
	was a mathematics professor at the {Institute for Advanced
	Studies} from its formation in 1933 until his death.

	From 1936 to 1938 {Alan Turing} was a visitor at the Institute
	and completed a Ph.D. dissertation under von Neumann's
	supervision.  This visit occurred shortly after Turing's
	publication of his 1934 paper "On Computable Numbers with an
	Application to the Entscheidungs-problem" which involved the
	concepts of logical design and the universal machine.  von
	Neumann must have known of Turing's ideas but it is not clear
	whether he applied them to the design of the IAS Machine ten
	years later.

	While serving on the BRL Scientific Advisory Committee, von
	Neumann joined the developers of {ENIAC} and made some
	critical contributions.  In 1947, while working on the design
	for the successor machine, {EDVAC}, von Neumann realized that
	ENIAC's lack of a centralized control unit could be overcome
	to obtain a rudimentary stored program computer.  He also
	proposed the {fetch-execute cycle}.  His ideas led to what is
	now often called the {von Neumann architecture}.

	{(http://sis.pitt.edu/~mbsclass/is2000/hall_of_fame/vonneuma.htm)}.

	{(http://ei.cs.vt.edu/~history/VonNeumann.html)}.

	{(http://ftp.arl.mil/~mike/comphist/54nord/)}.

	(2004-01-14)

join

	1. <database> {inner join} (common) or {outer join} (less
	common).

	2. <theory> {least upper bound}.

	(1998-11-23)

Joint Academic NETwork

	(JANET) The {wide area network} which links UK academic and
	research institutes.  JANET is controlled by the {Joint
	Network Team} (JNT) and Network Executive (NE).  It is an
	{internet} (a large number of interconnected sub-networks)
	that provides connectivity within the community as well as
	access to external services and other communities.  The {hub}
	is the JANET subnetwork, a private {X.25} {packet-switched}
	network that interconnects over 100 sites.  At the majority of
	sites, {local area networks} (LANs) are connected to JANET
	allowing off-site access for the computers and terminals
	connected to these networks.  The {Coloured Book} {protocol}
	architecture is used to support interactive terminal access to
	computers (for both character terminals and screen terminals),
	inter-host file transfers, {electronic mail} and remote
	{batch} job submission.

	{(http://nic.ja.net/)}.

	See also {JIPS}, {SuperJanet}.

	(1995-02-07)

Joint Bi-level Image Experts Group

	<algorithm> (JBIG) An experts group of {ISO}, {IEC} and
	{ITU-T} (JTC1/SC2/WG9 and SGVIII) working to define a
	{compression} {standard} for {lossless} {image} coding.  Their
	proposed {algorithm} features compatible {progressive coding}
	and {sequential coding} and is lossless - the image is
	unaltered after compression and decompression.

	JBIG can handle images with from one to 255 bits per {pixel}.
	Better compression algorithms exist for more than about eight
	bits per pixel.  With multiple bits per pixel, {Gray code} can
	be used to reduce the number of bit changes between adjacent
	decimal values (e.g. 127 and 128), and thus improve the
	compression which JBIG does on each {bitplane}.

	JBIG uses discrete steps of detail by successively doubling
	the {resolution}.  The sender computes a number of resolution
	layers and transmits these starting at the lowest resolution.
	Resolution reduction uses pixels in the high resolution layer
	and some already computed low resolution pixels as an index
	into a lookup table. The contents of this table can be
	specified by the user.

	Compatibility between progressive and sequential coding is
	achieved by dividing an image into stripes.  Each stripe is a
	horizontal bar with a user definable height.  Each stripe is
	separately coded and transmitted, and the user can define in
	which order stripes, resolutions and bitplanes are intermixed
	in the coded data.  A progressively coded image can be decoded
	sequentially by decoding each stripe, beginning by the one at
	the top of the image, to its full resolution, and then
	proceeding to the next stripe.  Progressive decoding can be
	done by decoding only a specific resolution layer from all
	stripes.

	After dividing an image into {bitplanes}, {resolution layers}
	and stripes, eventually a number of small bi-level {bitmaps}
	are left to compress.  Compression is done using a {Q-coder}.

	The Q-coder codes bi-level pixels as symbols using the
	probability of occurrence of these symbols in a certain
	context.  JBIG defines two kinds of context, one for the
	lowest resolution layer (the base layer), and one for all
	other layers (differential layers).  Differential layer
	contexts contain pixels in the layer to be coded, and in the
	corresponding lower resolution layer.

	For each combination of pixel values in a context, the
	probability distribution of black and white pixels can be
	different.  In an all white context, the probability of coding
	a white pixel will be much greater than that of coding a black
	pixel.  The Q-coder, like {Huffman coding}, achieves
	{compression} by assigning more bits to less probable symbols.
	The Q-coder can, unlike a Huffman coder, assign one output
	code bit to more than one input symbol, and thus is able to
	compress bi-level pixels without explicit {clustering}, as
	would be necessary using a Huffman coder.

	[What is "clustering"?]

	Maximum compression will be achieved when all probabilities
	(one set for each combination of pixel values in the context)
	follow the probabilities of the pixels.  The Q-coder therefore
	continuously adapts these probabilities to the symbols it
	sees.

	JBIG can be regarded as two combined algorithms:

	(1) Sending or storing multiple representations of images at
	different resolutions with no extra storage cost.
	Differential layer contexts contain pixels in two resolution
	layers, and so enable the Q-coder to effectively code the
	difference in information between the two layers, instead of
	the information contained in every layer.  This means that,
	within a margin of approximately 5%, the number of resolution
	layers doesn't effect the compression ratio.

	(2) A very efficient compression algorithm, mainly for use
	with bi-level images.  Compared to {CCITT Group 4}, JBIG is
	approximately 10% to 50% better on text and line art, and even
	better on {halftones}.  JBIG, just like Group 4, gives worse
	compression in the presence of noise in images.

	An example application would be browsing through an image
	database.

	["An overview of the basic principles of the Q-coder adaptive
	binary arithmetic coder", W.B. Pennebaker, J.L. Mitchell,
	G.G. Langdon, R.B. Arps, IBM Journal of research and
	development, Vol.32, No.6, November 1988, pp. 771-726].

	{(http://crs4.it/~luigi/MPEG/jbig.html)}.

	(1998-03-29)

Joint Photographic Experts Group

	<image, body, file format, standard> (JPEG) The original name
	of the committee that designed the standard {image}
	{compression} {algorithm}.  JPEG is designed for compressing
	either {full-colour} or {grey-scale} {digital} images of
	"natural", real-world scenes.  It does not work so well on
	non-realistic images, such as cartoons or line drawings.  JPEG
	does not handle compression of black-and-white (1
	bit-per-pixel) images or {moving pictures}.  Standards for
	compressing those types of images are being worked on by other
	committees, named {JBIG} and {MPEG}.

	{(http://jpeg.org/)}.

	{Filename extension}: .jpg, .jpeg.

	See also {PJPEG}.

	(2000-09-11)

Joint Technical Committee

	<standard, body> (JTC) A {standards} body straddling {ISO} and
	{IEC}.

	(1995-04-21)

Joint Test Action Group

	<architecture, body, electronics, integrated circuit, standard,
	testing> (JTAG, or "IEEE Standard 1149.1") A {standard} specifying
	how to control and monitor the pins of compliant devices on a
	{printed circuit board}.

	Each device has four JTAG control lines.  There is a
	common reset (TRST) and clock (TCLK).  The data line
	{daisy chains} one device's test data out (TDO) pin
	to the test data in (TDI) pin on the next device.

	The {protocol} contains commands to read and set the values of
	the pins (and, optionally {internal registers}) of devices.
	This is called "{boundary scanning}".  The protocol makes
	board testing easier as signals that are not visible at the
	board connector may be read and set.

	The protocol also allows the testing of equipment, connected
	to the JTAG port, to identify components on the board (by
	reading the device identification register) and to control and
	monitor the device's outputs.

	JTAG is not used during normal operation of a board.

	{JTAG Technologies B.V. (http://jtag.com/)}.

	{Boundary Scan/JTAG Technical Information - Xilinx, Inc.
	(http://xilinx.com/support/techsup/journals/jtag/)}.

	{Java API for Boundary Scan FAQs - Xilinx Inc.
	(http://xilinx.com/products/software/sx/sxfaqs.htm)}.

	{JTAG Boundary-Scan Test Products - Corelis, Inc.
	(http://corelis.com/products/scanovrv.html)}.

	{"Logic analyzers stamping out bugs at the cutting edge", EDN
	Access, 1997-04-10
	(http://ednmag.com/ednmag/reg/1997/041097/08df_02.htm)}.

	{IEEE 1149.1 Device Architecture - Boundary-Scan Tutorial from
	ASSET InterTech, Inc.
	(http://asset-intertech.com/tutorial/arch.htm)}.

	{"Application-Specific Integrated Circuits", Michael John
	Sebatian Smith, published Addison-Wesley - Design Automation
	Cafe
	(http://dacafe.com/DACafe/EDATools/EDAbooks/ASIC/Book/CH14/CH14.2.htm)}.

	{Software Debug options on ASIC cores - Embedded Systems
	Programming Archive (http://embedded.com/97/feat9701.htm)}.

	{Designing for On-Board Programming Using the IEEE 1149.1
	(JTAG) Access Port - Intel
	(http://developer.intel.com/design/flcomp/applnots/292186.htm)}.

	{Built-In Self-Test Using Boundary Scan by Texas Instruments -
	EDTN Network
	(http://edtn.com/scribe/reference/appnotes/md003e9a.htm)}.

	(1999-11-15)

Joliet

	<standard, storage> An extension of the {ISO 9660:1988} {ISO}
	{standard} {file system} for {CD-ROMs} that allows {Unicode}
	characters in file names and other enhancements.  Version 1 of
	Joliet was released on 1995-05-22.

	Joiliet supports file and directory names up to 128 bytes (64
	unicode characters) long, directory names with file name
	extensions, a directory hierarchy deeper than 8 levels and the
	{volume recognition sequence} supports {multisession}.

	Joliet uses ISO 9660's "supplementary volume descriptor" (SVD)
	to specify Unicode files.  Use of the previously unused escape
	sequence ISO 2022 means that Joliet is {backward compatible}
	with ISO 9660..

	{(http://www-plateau.cs.berkeley.edu/people/chaffee/jolspec.html)}.

	(2006-09-25)

jolix

	{386BSD}

JOLT

	{Java Open Language Toolkit}

Jonathan's Own Version Of Emacs

	<editor> (jove) A version of the {GNU} {Emacs} editor.
	Similar to {MicroGnuEmacs}.

	(2008-05-29)

Jon Postel

	<person> (Jonathan Bruce Postel, 1943 - 1998-10-16) /p*-stel'/
	One of the {Internet}'s founding fathers.  Jon's name is
	prominent on many of the fundamental {standards} on which the
	Internet is built, such as {UDP}.  He ran {IANA} for as long
	as anybody could remember, in fact for most of the time he
	*was* IANA.

	He wrote {STD 1}, {STD 2} and several dozen other {RFCs}.  His
	friend {Vinton Cerf} noted his passing in {RFC 2468}.

	(1998-10-21)

JOOP

	{Journal of Object-Oriented Programming}

Joseph-Marie Jacquard

	<person> /zhoh-zef' mah-ree' zhah-kar'/ (1752-07-07 to
	1834-08-07) The inventor of the {Jacquard loom}.

	(1998-10-19)

Josephson Junction

	<electronics> A type of {electronic} {circuit} capable of
	switching at very high speeds when operated at temperatures
	approaching {absolute zero}.  The low power dissipation of a
	Josepshson Junction makes it useful in {high density computer
	circuits}.

	(2004-06-28)

JOSS

	{JOHNNIAC Open Shop System}.

Jossle

	<language> A type checked language with {separate compilation}
	using a program library.

	Mentioned in ["Rationale for the Design of Ada", J.  Ichbiah,
	Cambridge U Press, 1986, p.192].

	(2005-02-19)

journal

	<operating system> An on-going record of transactions, such as
	{database} updates, {file system} writes, procedure calls or
	message transmissions.  A journal differs from a simple {log}
	in that the contents of the journal can be used to reconstruct
	the state of the system after a failure by re-applying the
	transactions in the journal to a snapshot of the system
	previous state.

	(2008-05-29)

journalling

	{journal}

jove

	{Jonathan's Own Version Of Emacs}.

JOVIAL

	<language> (Jule's Own Version of IAL) A version of {IAL}
	produced by Jules I. Schwartz in 1959-1960.  JOVIAL was based
	on {ALGOL 58}, with extensions for large scale {real-time}
	programming.  It saw extensive use by the US Air Force.  The
	data elements were items, entries ({records}) and tables.

	Versions include JOVIAL I ({IBM 709}, 1960), JOVIAL II ({IBM
	7090}, 1961) and JOVIAL 3 (1965).  Dialects: {J3}, {JOVIAL
	J73}, {JS}, {JTS}.

	Ada/Jovial Newsletter, Dale Lange +1 (513) 255-4472.

	[CACM 6(12):721, Dec 1960].

	(1996-07-19)

Joy

	<language> A {functional programming} language by Manfred von
	Thun.  Joy is unusual because it is not based on {lambda
	calculus}, but on the {composition} of {functions}.  Functions
	take a stack as argument, consume any number of parameters
	from it, and return it with any number of results on it.  The
	concatenation of programs denotes the composition of
	functions.  One of the datatypes of Joy is that of quoted
	programs, of which lists are a special case.

	{Joy Home
	(http://latrobe.edu.au/philosophy/phimvt/joy.html)}.

	(2003-06-13)

Joyce

	A distributed language based on {Pascal} and {CSP}, by Per
	Brinch Hansen.

	["Joyce - A Programming Language for Distributed Systems", Per
	Brinch Hansen, Soft Prac & Exp 17(1):29-50 (Jan 1987)].

	(1994-12-06)

joystick

	<hardware, games> A device consisting of a hand held stick that
	pivots about one end and transmits its angle in two dimensions
	to a computer.  Joysticks are often used to control games, and
	usually have one or more push-buttons whose state can also be
	read by the computer.  Most I/O interface cards for {IBM PCs}
	have a joystick (game control) port.

	(1995-03-08)

Joy, William

	{William Joy}

jp

	<networking> The {country code} for Japan.

	(1999-01-27)

JPEG

	{Joint Photographic Experts Group}

JPEG-2000

	<image, file format> A potential successor to {JPEG} with
	better compression and {multiresolution} {images}.  JPEG-2000
	gives reasonable quality down to 0.1 bits/pixel (JPEG quality
	drops dramatically below about 0.4 bits/pixel).

	(2001-12-02)

JPEG File Interchange Format

	<graphics, file format> (JFIF) The technical name for the file
	format better known as {JPEG}.  This term is used only when
	the difference between the JPEG file format and the JPEG image
	{compression} {algorithm} is crucial.

	(1998-02-10)

jpg

	{JPEG}

JPL

	<language> {JAM Programming Language}.

JPLDIS

	{Jet Propulsion Laboratory} Display Information System.  Query
	system for {UNIVAC 1108} [or PDP's?] written in {Fortran},
	based on {Tymshare}'s "Retrieve".  Indirectly led to {Vulcan}
	which led to {dBASE II}.  Jack Hatfield, George Masters,
	W. Van Snyder, Jeb Long et al, JPL.

J. Presper Eckert

	<person> One of the developers of {ENIAC}.

	{Biography
	(http://www-groups.dcs.st-and.ac.uk/~history/ShortBiogs/E.html)}.

	[Summary?]

	(1995-11-14)

J. Random

	<jargon> /J rand'm/ (Generalised from {J. Random Hacker})
	Arbitrary; ordinary; any one; any old.  "J. Random" is often
	prefixed to a noun to make a name out of it.  It means roughly
	"some particular" or "any specific one".  "Would you let
	J. Random Loser marry your daughter?"  The most common uses
	are "J. Random Hacker", "J. Random Loser", and "J. Random
	Nerd" ("Should J. Random Loser be allowed to {gun} down other
	people?"), but it can be used simply as an elaborate version
	of {random} in any sense.

	[{Jargon File}]

J. Random Hacker

	<jargon> /J rand'm hak'r/ {MIT} jargon for a mythical figure;
	the archetypal {hacker} {nerd}.

	This may originally have been inspired by "J. Fred Muggs", a
	show-biz chimpanzee whose name was a household word back in
	the early days of {TMRC}, and was probably influenced by
	{J. Presper Eckert} (one of the co-inventors of the electronic
	computer).

	See {random}, {Suzie COBOL}.

	(1996-10-16)

JRE

	{Java Run-Time Environment}

JRL

	{J. Random} Loser.  The names JRL and JRN were sometimes used
	as example names when discussing a kind of user ID used under
	{TOPS-10} and {WAITS}.  They were understood to be the
	initials of (fictitious) programmers named "J. Random Loser"
	and "J. Random Nerd".  For example, if one said "To log in,
	type log one comma jay are en" (that is, "log 1,JRN"), the
	listener would have understood that he should use his own
	computer ID in place of "JRN".

JRMP

	{Java Remote Method Protocol}

JRN

	{J. Random} Nerd.  See {JRL}.

JRST

	/jerst/ [based on the {PDP-10} jump instruction, obsolete] To
	suddenly change subjects, with no intention of returning to
	the previous topic.  Usage: rather rare except among PDP-10
	diehards, and considered silly.  See also {AOS}.

	[{Jargon File}]

JS

	Dialect of {JOVIAL}.  [Sammet 1969, p.639].

JSA

	Japanese Standards Association.

JSDK

	{Java Servlet Development Kit}

JSF

	{JavaServer Faces}

JSON

	{JavaScript Object Notation}

JSP

	{JavaServer Pages}

JTAG

	{Joint Test Action Group}

JTB

	{jump trace buffer}

JTC

	<standard, body> {Joint Technical Committee}.

JTC1/SC24

	The {ISO}/{IEC} group which has worked on {standards} like
	{GKS}, {PHIGS}, {CGM}, and is now also involved in the area of
	standardisation in {Multimedia Presentation}.

	{(http://cwi.nl/JTC1SC24/)}.

	(1995-01-04)

JTS

	A simple dialect of {JOVIAL}.

	[Sammet 1969, p. 528].

	(1995-01-04)

juggling eggs

	Keeping a lot of {state} in your head while modifying a
	program.  "Don't bother me now, I'm juggling eggs", means that
	an interrupt is likely to result in the program's being
	scrambled.  In the classic first-contact SF novel "The Mote in
	God's Eye", by Larry Niven and Jerry Pournelle, an alien
	describes a very difficult task by saying "We juggle priceless
	eggs in variable gravity."  See also {hack mode}.

	[{Jargon File}]

Jughead

	Jughead is a tool for Gopher administrators to get menu
	information from various gopher servers, and is an acronym
	for: Jonzy's Universal Gopher Hierarchy Excavation And
	Display.  Jughead was written in ANSI C.  Gopher:
	gopher.cc.utah.edu, About U of U Gopher/Gopher Tools/jughead.

	{(ftp://ftp.cc.utah.edu/pub/gopher/GopherTools)}.  Mailing
	list: jughead-news@lists.utah.edu.

jukebox

	<hardware, storage> A hardware mechanism for allowing access
	to one of a group of discs, especially CD-ROMs or other
	optical media.

	[Or magnetic tapes?]

	(1996-12-10)

jump

	<programming> (Or "branch") The term for a {goto} instruction,
	usually in a context of {machine languages}.  "Branch" may be
	synonymous with "jump", or may refer to jumps that depend on a
	condition.

	(1998-11-14)

jumper

	<hardware> A removable wire or small plug whose presence or
	absence is used to determine some aspect of hardware
	configuration.

	(1995-03-14)

jump off into never-never land

	[J. M. Barrie's "Peter Pan"] Same as {branch to Fishkill}, but
	more common in technical cultures associated with non-{IBM}
	computers that use the term "jump" rather than "branch".

	Compare {hyperspace}.

	[{Jargon File}]

	(1994-12-15)

jump trace buffer

	(JTB) A feature of some {pipelined} processors (e.g. {Amulet},
	{Pentium}?) which stores the source and destination addresses
	of the last few branch instuctions executed.  When a branch
	instruction is fetched, its source is looked for in the JTB.
	If found, the next instuction fetch will be from the previous
	destination of that branch.  If it turns out that the branch
	shouldn't have been taken this time, then the {pipeline} is
	flushed.  This means that in a {tight loop} it is not
	necessary to flush the {pipeline} every time you jump back to
	the start.

	(1994-12-15)

Junction FET

	{Junction Field Effect Transistor}

Junction Field Effect Transistor

	<electronics> (JFET, Junction FET) A {Field Effect Transistor}
	in which the conducting channel lies between pn junctions in
	the silicon material.  A pn junction acts as a {diode}, so it
	becomes conductive if the gate voltage gets reversed.

	(1997-02-24)

Juno

	A numerical {constraint}-oriented language for graphics
	applications.  It solves its constraints using
	{Newton-Raphson} {relaxation}.  It was inspired partly by
	{Metafont}.

	["Juno, a Constraint-Based Graphics System", G. Nelson in
	SIGGRAPH '85 Conf Readings, B.A. Barsky ed, Jul 1985,
	pp. 235-243].

	(1994-11-23)

jupiter

	To kill an {IRC} {robot} or user and then take its place by
	adopting its {nick} so that it cannot reconnect.  Named after
	a particular IRC user who did this to {NickServ}, the robot in
	charge of preventing people from inadvertently using a nick
	claimed by another user.

	[{Jargon File}]

	(1994-11-23)

Just a Bunch Of Disks

	<jargon, storage> (JBOD, or "Just a Bunch of Drives") A
	storage subsystems using multiple independent {disk drives},
	as opposed to one form of {RAID} or another.

	For example, {Unisys} open storage provides JBOD in both
	{SCSI} and {fibre channel} interfaces.

	{Unisys JBOD
	(http://marketplace.unisys.com/storage/jbod.html)}.

	(1998-12-21)

just-in-time

	{dynamic translation}

JVM

	{Java Virtual Machine}

Jym

	A predecessor to {Graal} by Patrick Bellot, France.

K

	<unit> {kilo-}, a {kilobyte}.  Used both as a spoken word and
	a written suffix, like {meg} and {gig} for {megabyte} and
	{gigabyte}.

	See {prefix}.

	[{Jargon File}]

	(1995-09-29)

K5

	An early system on the {Larc} computer.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-23)

K56flex

	<protocol> A modem standard developed by {Rockwell} for 56
	{kbps} communications.  K56flex Became more popular than the
	rival {X2} but will be superseded by the official {V.90}
	standard.

	[Already superseded?]

	(1998-09-08)

K6

	<processor> A {Pentium II} class {microprocessor},
	manufactured by {AMD}.

	[100% Compatible?  Speed?]

	(1998-02-27)

K7

	{Athlon}

KA9Q

	<networking> A popular implementation of {TCP/IP} and
	associated {protocols} for amateur {packet radio} systems and
	{personal computers} connected via {serial lines}.  It was
	named after the call-sign of Phil Karn - the radio ham who
	first wrote it for {MS-DOS} on the {IBM PC}.

	KA9Q is currently maintained by Anthony Frost
	<vulch@kernow.demon.co.uk> (call-sign G8UDV) and Adam
	Goodfellow <tcpip2@comptech.demon.co.uk>.  It has been ported
	to the {Archimedes} by Jonathan Naylor (G4KLX).

	[FTP?]

	(1994-11-08)

KADS

	{Knowledge Analysis and Design System}

kahuna

	<person> /k*-hoo'n*/ (From the Hawaiian title for a shaman) An
	{IBM} synonym for {wizard} or {guru}.

	[{Jargon File}]

	(1994-11-09)

Kaleidoscope

	<language> An {object-oriented} language which mixes
	{imperative programming} and {constraint}-oriented features.
	Kaleidoscope was written by Freeman-Benson of the {University
	of Washington}, {Universite de Nantes}, 1989; {University of
	Victoria}, 1992.  It is similar to {Siri} and vaguely related
	to {Prose}.

	Versions: Kaleidoscope '90 and Kaleidoscope '91.

	["Kaleidoscope: Mixing Objects, Constraints and Imperative
	Programming", B.N. Freeman-Benson, SIGPLAN Notices
	25(10):77-88 (OOPSLA/ECOOP '90) (Oct 1990)].

	["Constraint Imperative Programming", B.N. Freeman-Benson,
	Ph.D. Thesis, TR 91-07-02, U Wash (1991)].

	["Constraint Imperative Programming", Freeman-Benson et al,
	IEEE Conf on Comp Lang, Apr 1992].

	(1994-11-09)

Kali

	A {data parallel} language.

	["Supporting Shared Data Structures on Distributed Memory
	Architectures", C. Koelbel et al in Second ACM SIGPLAN Symp on
	Princ and Prac of Parallel Programming, pp.177-186, Mar 1990].

	(1994-11-09)

kamikaze packet

	{Christmas tree packet}

Kamin's interpreters

	<language, tool> A set of {interpreters} for {Pascal}, {Lisp},
	{APL}, {Scheme}, {SASL}, {CLU}, {Smalltalk}, and {Prolog}.
	Tim Budd <budd@cs.orst.edu> implemented them as {subclasses}
	in {C++} sometime before 1991-09-12.

	{(ftp://cs.orst.edu/pub/budd/kamin/)}.

	["Programming Languages, An Interpreter-Based Approach",
	Samuel Kamin].

	(2002-03-14)

kana

	<Japanese> The two Japanese syllabaries, {hiragana} and
	{katakana}.

	(2001-03-18)

kangaroo code

	{spaghetti code}

kanji

	<human language, character> /kahn'jee/ (From the Japanese
	"kan" - the Chinese Han dynasty, and "ji" - {glyph} or letter
	of the alphabet.  Not capitalised.  Plural "kanji") The
	Japanese word for a {Han character} used in Japanese.  Kanji
	constitute a part of the {writing system} used to represent
	the Japanese language in written, printed and displayed form.
	The term is also used for the collection of all kanji
	{letters}.

	{US-ASCII} doesn't include kanji characters, but some
	{character encodings}, including {Unicode}, do.

	The Japanese writing system also uses hiragana, katakana, and
	sometimes romaji ({Roman alphabet} letters).  These characters
	are distinct from, though commonly used in combination with,
	kanji.  {Furigana} are also added sometimes.

	(2000-12-30)

KAOS

	{Kent Applicative Operating System}

KAP

	Kernel Andorra Prolog.  The predecessor of {AKL}.

	["Kernel Andorra Prolog and its Computation Model", S. Haridi
	<seif@sics.se> et al, in Logic Programming: Proc 7th Intl
	Conf, MIT Press 1990].

	(1994-11-02)

Karel

	Language featured in Karel the Robot: A Gentle Introduction to
	Computer Programming, Richard E. Pattis, Wiley 1981.

	{(ftp://ftp.wustl.edu/mirrors/Unix-c/languages/pascal/karel.tar-z)}.

katakana

	<Japanese> The square-formed Japanese {kana} syllabary.
	Katakana is mostly used to write foreign names, foreign words,
	and loan words as well as many onomatopeia, plant and animal
	names.

	(2001-03-18)

Katmai New Instructions

	{Streaming SIMD Extensions}

KB

	{kilobyte}

KBMS

	An {expert system}.

kbps

	{kilobits per second}

KBS

	{Knowledge-Based System}

KC-85/1

	<computer> A commercial {home computer} from East Germany.
	The KC-85/1 runs at 2.45 {MHz} and uses a {Z80} {clone}
	{CPU}. The computer allows for only semigraphics.

	(2004-03-31)

KC85/2

	<computer> A commercial {home computer} introduced in East
	Germany in 1984. The KC85/2 has 32 {KB} of {RAM} and uses a
	{Z80} {clone} {CPU}.

	(2004-03-31)

KC85/3

	<computer> A commercial {home computer} introduced in East
	Germany in 1986.  The KC85/3 has 32 {KB} of {RAM} and uses a
	{Z80} {clone} {CPU}.

	(2004-03-31)

KC85/4

	<computer> The last commercial home computer from East Germany
	in the KC series.  The KC85/4 was introduced in 1988.  It runs
	at 1.77 {MHz}, has 64 {KB} of {RAM} and uses a {Z80} {clone}
	{CPU}.  It displays graphics at a {resolution} of 320x256.

	(2004-03-31)

KCL

	{Kyoto Common Lisp}

ke

	<networking> The {country code} for Kenya.

	(1999-01-27)

KEE

	Knowledge Engineering Environment.  Frame-based expert system.
	Supports dynamic inheritance, {multiple inheritance},
	polymorphism.  Classes, meta-classes and objects are all
	treated alike.  A class is an instance of a meta-class.  Can
	control rules for merging of each field when multiple
	inheritance takes place.  Methods are written in LISP.
	Actions may be triggered when fields are accessed or modified.
	Extensive GUI integrates with objects.  Can easily make object
	updates to be reflected on display or display selections to
	update fields.  This can in turn trigger other methods or
	inference rules which may then update other parts of the
	display.  Intellicorp, for TI Explorer.  "The Role of
	Frame-Based Representation in Reasoning", R. Fikes et al, CACM
	28(9):904- 920 (Sept 1985).

keep-alive

	<communications> A short message sent periodically on a
	communication channel that would otherwise {time out} and
	close due to inactivity.

	(2012-07-18)

Keldysh Institute of Applied Mathematics

	Address: Russian Academy of Sciences Miusskaya Pl. 4, 125047
	Moscow, Russia.

	(1994-12-12)

ken

	/ken/ 1. {Ken Thompson}

	2. A flaming user.  This was originated by the Software
	Support group at {Symbolics} because the two greatest flamers
	in the user community were both named Ken.

	[{Jargon File}]

Ken Thompson

	<person> The principal inventor of the {Unix} {operating
	system} and author of the {B} language, the predecessor of
	{C}.

	In the early days Ken used to hand-cut {Unix} distribution
	tapes, often with a note that read "Love, ken".  Old-timers
	still use his first name (sometimes uncapitalised, because
	it's a login name and mail address) in third-person reference;
	it is widely understood (on {Usenet} in particular) that
	without a last name "Ken" refers only to Ken Thompson.
	Similarly, Dennis without last name means {Dennis Ritchie}
	(and he is often known as dmr).

	Ken was first hired to work on the {Multics} project, which
	was a huge production with many people working on it.  Multics
	was supposed to support hundreds of on-line logins but could
	barely handle three.

	In 1969, when Bell Labs withdrew from the project, Ken got fed
	up with Multics and went off to write his own operating
	system.  People said "well, if zillions of people wrote
	Multics, then an OS written by one guy must be Unix!".  There
	was some joking about eunichs as well.

	Ken's wife Bonnie and son Corey (then 18 months old) went to
	visit family in San Diego.  Ken spent one week each on the
	{kernel}, {file system}, etc., and finished UNIX in one month
	along with developing {SPACEWAR} (or was it "Space Travel"?).

	See also {back door}, {brute force}, {demigod}, {wumpus}.

	(1999-01-26)

Kent Recursive Calculator

	<language> (KRC) A {lazy} {functional language} developed by
	{David Turner} in 1981, based on {SASL}, with {pattern
	matching} and {ZF expressions}.

	["Functional Programming and its Applications", David
	A. Turner, Cambridge U Press 1982].

	See also {continental drift}.

	(2011-11-30)

Kerberos

	<security> The {authentication} system of {MIT}'s Project
	{Athena}.  It is based on {symmetric key cryptography}.
	Adopted by {OSF} as the basis of security for {DME}.

	(1997-02-04)

Kermit

	<communications> A popular {packet-oriented} {protocol} from
	{Columbia University} for transferring {text files} and
	{binary files} on both {full-duplex} and {half-duplex} 8 bit
	and 7-bit serial connections in a system- and
	medium-independent fashion, and implemented on hundreds of
	different computer and {operating system} {platforms}.  On
	full-duplex connections a {sliding window} protocol with
	selective retransmission provides excellent performance and
	error recovery characteristics.  On 7-bit connections, locking
	shifts provide efficient transfer of 8-bit data.

	When properly implemented, as in the Columbia University
	Kermit Software collection, performance is equal to or better
	than other protocols such as {ZMODEM}, {YMODEM}, and {XMODEM},
	especially on poor connections.

	Kermit is an open protocol - anybody can base their own
	program on it, but some Kermit software and {source code} is
	{copyright} by Columbia University.

	{(http://columbia.edu/kermit/)}.

	(1996-01-29)

kernal

	{kernel}

kernel

	(Note: NOT "kernal").

	1. <operating system> The essential part of {Unix} or other
	{operating systems}, responsible for resource allocation,
	low-level hardware interfaces, security etc.  See also
	{microkernel}.

	2. <language> An essential subset of a programming language,
	in terms of which other constructs are (or could be) defined.
	Also known as a {core} language.

	(1996-06-07)

Kernel Parlog

	<language> A {modeless} {intermediate language} for {Parlog}
	compilation.

	["Notes on the Implementation of Parlog", K.L. Clark et al, J
	Logic Prog 2(1):17-42 1985].

	(1996-06-07)

Kernel User Interface Package

	<tool> (KUIP) The human interface to {Physics Analysis
	Workbench} (PAW).

	(1994-11-11)

kerning

	<text> In {typography}, the process of adjusting the spacing
	between certain pairs of {characters} to improve the appearance of
	the text.  Roughly speaking, this can be thought of as equalising
	the area of space between adjacent characters.  Each {character}
	of a {proportional font} has a width that includes some space on
	either side so that adjacent letters don't touch.  Some pairs of
	characters such as A and V, look better if the spaces overlap
	slightly, bringing the characters closer together (but still not
	touching).  In most cases, kerning reduces the spacing ("negative
	kerning") but some pairs like "r" and "y" look better with extra
	space ("positive kerning").

	See also {tracking}, {leading}.

	(2014-01-14)

Kevo

	<language> A {prototype}-based {object-oriented} language
	written for {Macintosh} by Antero Taivalsaari at UTA, Finland.
	Kevo is built around a {threaded code} {interpreter} and
	features a unique prototype-based {object} model (which is
	based neither on {classes} nor {Self}-style {delegation}),
	{pre-emptive multitasking}, {cooperative multitasking},
	dynamic {memory management}, an icon-based {object browser}
	and editor modelled loosely after Mac {Finder}.  Kevo's
	{syntax} is close to {Forth} and its {semantics} resembles
	{Self} and {Omega}.

	Latest version: 0.9b6.

	{(ftp://cs.uta.fi/pub/kevo/)}.

	E-mail: <kevo-interest@ursamajor.uvic.ca>.

	[TR DCS-197-19, U Victoria, June 1992].

	(1993-05-18)

key

	1. <database> A value used to identify a {record} in a
	database, derived by applying some fixed function to the
	record.  The key is often simply one of the {fields} (a
	{column} if the database is considered as a table with records
	being rows, see "{key field}").  Alternatively the key may be
	obtained by applying some function, e.g. a {hash function}, to
	one or more of the fields.  The set of keys for all records
	forms an {index}.  Multiple indexes may be built for one
	database depending on how it is to be searched.

	2. <cryptography> A value which must be fed into the
	{algorithm} used to decode an encrypted message in order to
	reproduce the original {plain text}.  Some encryption schemes
	use the same (secret) key to encrypt and decrypt a message,
	but {public key encryption} uses a "private" (secret) key and
	a "public" key which is known by all parties.

	3. <hardware> An electromechanical {keyboard} button.

	(2003-07-04)

keyboard

	<hardware> A {hardware} device consisting of a number of
	mechanical buttons (keys) which the user presses to input
	characters to a computer.

	Keyboards were originally part of {terminals} which were
	separate {peripheral} devices that performed both input and
	output and communicated with the computer via a {serial line}.
	Today a keyboard is more likely to be connected more directly
	to the processor, allowing the processor to scan it and detect
	which key or keys are currently pressed.  Pressing a key sends
	a low-level {key code} to the keyboard input driver routine
	which translates this to one or more {characters} or special
	actions.

	Keyboards vary in the keys they have, most have keys to
	generate the {ASCII} {character set} as well as various
	{function keys} and special purpose keys, e.g. reset or volume
	control.

	(2003-07-04)

Keyboard Commando

	<messaging> A {bulletin board} user who posts authoritatively
	on military or combat topics, but who has never served in
	uniform or heard a shot fired in anger.  A poseur.

	(1997-04-25)

keyboard plaque

	<jargon> The disgusting buildup of dirt and crud found on
	computer keyboards.  "Are there any other terminals I can use?
	This one has a bad case of keyboard plaque."

	(1997-04-30)

Keyboard Send Receive

	<hardware> (KSR) Part of a designation for a hard-copy
	{terminal}, manufactured by {Teletype Corporation}.  The KSR
	range were lower cost versions of the {ASR} models.

	(1995-11-23)

Keyboard Video Mouse

	<hardware> (KVM) Used to describe a "KVM switch" that allows
	one keyboard, one video display and one mouse to be switched
	between two or more computers.

	(2007-03-22)

Keyed-Hashing Message Authentication

	<messaging, cryptography> (HMAC) A mechanism for message
	{authentication} using cryptographic {hash functions}.  HMAC
	can be used with any iterative cryptographic hash function,
	e.g., {MD5}, {SHA-1}, in combination with a secret shared key.
	The cryptographic strength of HMAC depends on the properties
	of the underlying hash function.

	[RFC 2104].

	(1997-05-10)

Keyed Sequenced Data Set

	<database> (KSDS) One of the access methods used by {VSAM}.
	KSDS has indexes and data split into CI (Control Interval) in
	CA (Control Area) and multi index levelled.  Forward and
	backward compression is applied to key values.

	(1999-01-11)

key escrow

	<security> A controversial arrangement where the {keys} needed
	to decrypt encrypted data must be held in {escrow} by a third
	party so that government agencies can obtain them to decrypt
	messages which they suspect to be relevant to national
	security.

	(1999-12-14)

key field

	<database> A field of a {database} (typically a {relational
	database}) {table} which together form a unique identifier for
	a record (a table entry).  The aggregate of these fields is
	usually referred to simply as "the {key}".

	(1997-08-03)

key frame

	<graphics> A frame in an animated sequence of frames which was
	drawn or otherwise constructed directly by the user rather
	than generated automatically, e.g. by {tweening}.

	(1995-04-06)

KeyNote Software

	A company which offers {software}-based business contact
	directories for people who develop, manufacture, market, or
	distribute {software} or {multimedia} products.

	E-mail: <server@netmail.com> (Subject: SEND INDEX).

keypad

	<hardware> An input device with a small array of {push
	buttons} labeled with numbers or other symbols, designed to
	allow rapid entry of characters from a small set, e.g. decimal
	digits 0-9 or, historically, hexadecimal digits.

	The most common form of keypad is the {numeric keypad} found
	on a standard {PC} {keyboard}.

	(2008-10-10)

keypal

	The {electronic mail} equivalent of a pen pal - someone with
	whom to exchange electronic mail for the simple joy of
	communicating.

	{Request for keypals
	(gopher://wealaka.okgeosurvey1.gov/11/K12/keypals)}.

	[Is there some kind of central clearing-house for requests on
	the net?]

KeySpell

	<text, tool, education> A spell checker and teaching aid from
	UK company KeySpell Limited for {Microsoft Windows}.  KeySpell
	offers a selection of phonetically similar words, phrases,
	confusable terms, and examples in context.  Even correctly
	spelt homophones can be checked.

	KeySpell can be run with {Microsoft Word} 97 or stand-alone.
	It includes 225,000 words and phrases and can use subsets of
	these.

	{(http://keyspell.com)}.

	(1999-05-21)

keyword

	1. One of a fixed set of symbols built into the syntax of a
	language.  Typical keywords would be if, then, else, print,
	goto, while, switch.  There are usually restrictions about
	reusing keywords as names for user-defined objects such as
	variables or procedures.  Languages vary as to what is
	provided as a keyword and what is a library routine, for
	example some languages provide keywords for input/output
	operations whereas in others these are library routines.

	2. A small set of words designed to convey the subject of a
	technical article.  Some publications specify a fixed set of
	keywords from which those for a particular article should be
	chosen.

keyword in context

	<algorithm, information science> (KWIC) A document search
	method that creates indexes of document text or titles.  Each
	keyword is stored in the resulting index along with some
	surrounding text, usually the word or phrase that precedes or
	follows the keyword in the text or title.

	(2004-02-17)

KFX

	<language> The {kernel} language of {FX-87}.

	["Polymorphic Effect Systems", J.M. Lucassen et al, Proc 15th
	Ann ACM Conf POPL, ACM 1988, pp.47-57].

	(1995-02-15)

kg

	<networking> The {country code} for Kyrgyzstan.

	(1999-01-27)

kgbvax

	{kremvax}

kh

	<networking> The {country code} for Cambodia (formerly
	Kampuchea).

	(1999-01-27)

Khornerstone

	A multipurpose {benchmark} from {Workstation Labs} used in
	various periodicals.  The source is not free.  Results are
	published in "UNIX Review".

	(1993-04-15)

Khwarizmi

	{Muhammad ibn Musa al-Khwarizmi}

ki

	<networking> The {country code} for Kiribati.

	(1999-01-27)

kibibyte

	<unit> The official ISO[?] name for 1024 {bytes}, to
	distinguish it from 1000 bytes which they call a kilobyte.
	"Mebibyte", "Gibibyte", etc, are prefixes for other powers of
	1024.  Although this new naming standard has been widely
	reported in 2003, it seems unlikely to catch on.

	(2003-09-27)

KIBO

	/ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out.  A summary
	of what happens whenever valid data is passed through an
	organisation (or person) that deliberately or accidentally
	disregards or ignores its significance.  Consider, for
	example, what an advertising campaign can do with a product's
	actual specifications.  Compare {GIGO}; see also {SNAFU
	principle}.

	2. James Parry <kibo@world.std.com>, a {Usenet}ter infamous
	for various surrealist net.pranks and an uncanny,
	machine-assisted knack for joining any thread in which his nom
	de guerre is mentioned.

	{(http://kibo.com/)}.

	[{Jargon File}]

	(2003-05-20)

kiboze

	[{Usenet}] To {grep} the {Usenet} news for a string,
	especially with the intention of posting a follow-up.  This
	activity was popularised by {Kibo}.

kick

	[IRC] To cause somebody to be removed from a {IRC} channel, an
	option only available to {CHOPs}.  This is an extreme measure,
	often used to combat extreme {flamage} or {flood}ing, but
	sometimes used at the chop's whim.  Compare {gun}.

	[{Jargon File}]

kicking dead whales down the beach

	<jargon, humour> A simile for a slow, difficult, and
	disgusting process.  First popularised by a famous quote about
	the difficulty of getting work done under one of {IBM}'s
	{mainframe} {OS}es.  "Well, you *could* write a C compiler in
	COBOL, but it would be like kicking dead whales down the
	beach."

	[{Jargon File}]

	(2012-09-21)

Kid

	{Kernel} language for {Id}.  A refinement of {P-TAC}, used as
	an intermediate language for Id.  {Lambda-calculus} with
	first-class {let}-blocks and {I-structures}.

	["A Syntactic Approach to Program Transformations", Z. Ariola
	et al, SIGPLAN Notices 26(9):116-129 (Sept 1991)].

	(1996-07-22)

KIDASA Software

	<company> A company which develops project management software
	for {Microsoft Windows}.

	{(http://kidasa.com)}.

	(1996-07-22)

killer micro

	[Popularised by Eugene Brooks] A {microprocessor}-based
	machine that infringes on mini, mainframe, or supercomputer
	performance turf.  Often heard in "No one will survive the
	attack of the killer micros!", the battle cry of the
	downsizers.  Used especially of {RISC} architectures.

	The popularity of the phrase "attack of the killer micros" is
	doubtless reinforced by the movie title "Attack Of The Killer
	Tomatoes" (one of the {canonical} examples of
	so-bad-it's-wonderful among hackers).  This has even more
	flavour now that killer micros have gone on the offensive not
	just individually (in workstations) but in hordes (within
	{massively parallel computers}).

	[{Jargon File}]

killer poke

	A recipe for inducing hardware damage on a machine via
	insertion of invalid values (see {poke}) into a
	{memory-mapped} control {register}; used especially of various
	fairly well-known tricks on {bitty box}es without hardware
	memory management (such as the {IBM PC} and {Commodore} {PET})
	that can overload analog electronics in the monitor.

	See also {HCF}.

	(1994-11-04)

kill file

	[{Usenet}] Per-user file(s) used by some {Usenet} reading
	programs (originally {Larry Wall}'s {rn}) to discard summarily
	(without presenting for reading) articles matching some
	particularly uninteresting (or unwanted) patterns of subject,
	author, or other header lines.  Thus to add a person (or
	subject) to one's kill file is to arrange for that person to
	be ignored by one's newsreader in future.  By extension, it
	may be used for a decision to ignore the person or subject in
	other media.  See also {plonk}.

	[{Jargon File}]

kilo-

	{prefix}

kilobaud

	<unit> 1000 {baud}.

	(1996-02-12)

kilobit

	<unit> 2^10 = 1024 {bits} of storage (1 Kb).

	Compare {kilobits per second}.

	(2002-03-23)

kilobits per second

	<unit> (kbps, kb/s) A unit of {data rate} where 1 kb/s = 1000
	bits per second.  This contrasts with units of storage where 1
	Kb = 1024 bits (note upper case K).

	(2002-03-23)

kilobyte

	<unit, data> (KB) A unit of {data} equal to 1000 {bytes} (but see
	{binary prefix} for other definitions).

	One kilobyte is the amount of data in 1000 {ASCII} (or {UTF-8})
	characters or about 250 English words (whose average length is
	about four characters).

	1000 kilobytes are one {megabyte}.

	(2014-07-21)

kiloflops

	<unit> 1000 {FLOPS}.

	See {prefix}.

	(1998-09-07)

kiosk

	A stall set up in a public place where one can obtain
	information, e.g. tourist information.  The information may be
	provided by a human or by a computer.  In the latter case, the
	data may be stored locally (e.g. on {CD-ROM}) or accessed via
	a network using some kind of distributed information retreival
	system such as {Gopher} or {web}.

	(1998-09-07)

KIPS

	/kips/ [by analogy with {MIPS}] Thousands (*not* 1024s) of
	instructions per second.  Usage: rare.

	[{Jargon File}]

KIS

	{Knowbot Information Service}

KISS

	Early system on IBM 650.  Listed in CACM 2(5):16 (May 1959).

KISS Principle

	/kis' prin'si-pl/ Keep It Simple, Stupid.

	A maxim often invoked when discussing design to fend off
	{creeping featurism} and control complexity of development.
	Possibly related to the {marketroid} maxim on sales
	presentations, "Keep It Short and Simple".

	See also {Occam's Razor}.

	[{Jargon File}]

	(1994-11-18)

kit

	<jargon> ({Usenet}, possibly from {DEC}) Slang for a full
	software distribution, as opposed to a {patch} or upgrade.  A
	source software distribution that has been packaged in such a
	way that it can (theoretically) be unpacked and installed
	according to a series of steps using only standard {Unix}
	tools, and entirely documented by some reasonable chain of
	references from the top-level {README file}.  The more general
	term {distribution} may imply that special tools or more
	stringent conditions on the host environment are required.

	[{Jargon File}]

	(1994-11-18)

KL0

	Kernel Language 0.

	A sequential {logic language} based on {Prolog}, used in the
	Japanese {ICOT} project.

	(1994-11-18)

KL1

	Kernel Language 1.

	An experimental {AND-parallel} version of {KL0} for the {ICOT}
	project in Japan.  KL1 is an implementation of {FGHC}.

	Not to be confused with {KL-ONE}.

	["Design of the Kernel Language for the Parallel Inference
	Machine", U. Kazunori et al, Computer J (Dec 1990)].

	(1994-10-24)

Klamath

	<processor> The pre-release "code name" for {Intel}'s {Pentium
	II} {microprocessor}.

	(1998-09-07)

KLB

	{Known Lazy Bastard}

Kleene closure

	{Kleene star}

Kleene star

	<text> (Or "Kleene closure", named after {Stephen Kleene}) The
	{postfix} "*" operator used in {regular expressions},
	{Extended Backus-Naur Form}, and similar formalisms to specify
	a match for zero or more occurrences of the preceding
	expression.  For example, the regular expression "be*t" would
	match the string "bt", "bet", "beet", "beeeeet", and so on.

	(2000-07-26)

Kleene, Stephen Cole

	{Stephen Kleene}

Klerer-May System

	Early system from {Columbia University} with special
	mathematics symbols.  Its reference manual was two pages long!

	["Further Advances in Two-Dimensional Input-Output by
	Typewriter Terminals", M. Klerer et al, Proc FJCC 31 (1967)].

	[Sammet 1969, pp. 284-294].

	(1994-10-24)

KLOC

	<unit, programming> Thousand (kilo-) {Lines of code}.

	(1995-03-12)

klone

	/klohn/ {clone}.

	[{Jargon File}]

KL-ONE

	A {frame language}.

	Not to be confused with {KL1}.

	["An Overview of the KL-ONE Knowledge Representation System",
	R.J. Brachman and J. Schmolze, Cognitive Sci 9(2), 1985].

	(1994-11-18)

kludge

	<jargon> /kluhj/ (From the old Scots "kludgie" meaning an
	outside toilet) A Scottish engineering term for anything added
	in an ad hoc (and possibly unhygenic!) manner.  At some point
	during the Second World War, Scottish engineers met Americans
	and the meaning, spelling and pronunciation of kludge became
	confused with that of "{kluge}".

	The spelling "kludge" was apparently popularised by the
	"Datamation" cited below which defined it as "An ill-assorted
	collection of poorly matching parts, forming a distressing
	whole."

	The result of this tangled history is a mess; in 1993, many
	(perhaps even most) hackers pronounce the word /klooj/ but
	spell it "kludge" (compare the pronunciation drift of {mung}).
	Some observers consider this appropriate in view of its
	meaning.

	["How to Design a Kludge", Jackson Granholme, Datamation,
	February 1962, pp. 30-31].

	[{Jargon File}]

	(1998-12-09)

kluge

	<jargon> /klooj/, /kluhj/ (From German "klug" /kloog/ - clever
	and Scottish "{kludge}") 1. A Rube Goldberg (or Heath
	Robinson) device, whether in {hardware} or {software}.

	The spelling "kluge" (as opposed to "kludge") was used in
	connection with computers as far back as the mid-1950s and, at
	that time, was used exclusively of *hardware* kluges.

	2. <programming> A clever programming trick intended to solve
	a particular nasty case in an expedient, if not clear, manner.
	Often used to repair bugs.  Often involves {ad-hockery} and
	verges on being a {crock}.  In fact, the TMRC Dictionary
	defined "kludge" as "a crock that works".

	3. Something that works for the wrong reason.

	4. ({WPI}) A {feature} that is implemented in a {rude} manner.

	In 1947, the "New York Folklore Quarterly" reported a classic
	shaggy-dog story "Murgatroyd the Kluge Maker" then current in
	the Armed Forces, in which a "kluge" was a complex and
	puzzling artifact with a trivial function.  Other sources
	report that "kluge" was common Navy slang in the WWII era for
	any piece of electronics that worked well on shore but
	consistently failed at sea.

	However, there is reason to believe this slang use may be a
	decade older.  Several respondents have connected it to the
	brand name of a device called a "Kluge paper feeder" dating
	back at least to 1935, an adjunct to mechanical printing
	presses.  The Kluge feeder was designed before small, cheap
	electric motors and control electronics; it relied on a
	fiendishly complex assortment of cams, belts, and linkages to
	both power and synchronise all its operations from one motive
	driveshaft.  It was accordingly tempermental, subject to
	frequent breakdowns, and devilishly difficult to repair - but
	oh, so clever!  One traditional folk etymology of "klugen"
	makes it the name of a design engineer; in fact, "Kluge" is a
	surname in German, and the designer of the Kluge feeder may
	well have been the man behind this myth.

	{TMRC} and the MIT hacker culture of the early 1960s seems to
	have developed in a milieu that remembered and still used some
	WWII military slang (see also {foobar}).  It seems likely that
	"kluge" came to MIT via alumni of the many military
	electronics projects run in Cambridge during the war (many in
	MIT's venerable Building 20, which housed {TMRC} until the
	building was demolished in 1999).

	[{Jargon File}]

	(2002-10-02)

kluge around

	<jargon> To avoid a bug or difficult condition by inserting a
	{kluge}.

	Compare {workaround}.

	[{Jargon File}]

	(1995-03-10)

km

	<networking> The {country code} for Comoros.

	(1999-01-27)

KMODEL

	An ancestor of Model-K.  "Preliminary Results on the BEHAVIOUR
	Specifications Language KMODEL-0", BEHAVIOUR Memo 5-91, 1991,
	GMD, Sankt Augustin, Germany

KMS

	{Knowledge Management System}

kn

	<networking> The {country code} for Saint Kitts and Nevis.

	(1999-01-27)

knapsack problem

	<application, mathematics> Given a {set} of items, each with a
	cost and a value, determine the number of each item to include
	in a collection so that the total cost is less than some given
	cost and the total value is as large as possible.

	The 0/1 knapsack problem restricts the number of each items to
	zero or one.

	Such {constraint satisfaction} problems are often solved using
	{dynamic programming}.

	The general knapsack problem is {NP-hard}, and this has led to
	attempts to use it as the basis for {public-key encryption}
	systems.  Several such attempts failed because the knapsack
	problems they produced were in fact solvable by
	{polynomial-time algorithms}.

	[Are there any trusted knapsack-based public-key
	cryptosystems?].

	(1995-04-10)

KNI

	{Streaming SIMD Extensions}

Knights of the Lambda-Calculus

	A semi-mythical organisation of wizardly LISP and Scheme
	hackers.  The name refers to a mathematical formalism invented
	by Alonzo Church, with which LISP is intimately connected.
	There is no enrollment list and the criteria for induction are
	unclear, but one well-known LISPer has been known to give out
	buttons and, in general, the *members* know who they are.

	[{Jargon File}]

knowbot

	<web> A kind of {bot} that collects information by
	automatically gathering certain specified information from
	{websites}.

	(1999-06-19)

Knowbot Information Service

	<networking, information science> (KIS) Also known as
	netaddress.  The Knowbot Information Service (KIS) provides a
	uniform user interface to a variety of {remote directory
	services} such as {whois}, {finger}, {X.500}, {MCIMail}.  By
	submitting a single query to KIS, a user can search a set of
	remote {white pages} services and see the results of the
	search in a uniform format.

	There are several interfaces to the KIS service including
	{electronic mail} and {telnet}.  Another KIS interface
	imitates the Berkeley {whois} command.

	KIS consists of two distinct types of modules which interact
	with each other (typically across a network) to provide the
	service.  One module is a user agent module that runs on the
	KIS mail host machine.  The second module is a remote server
	module (possibly on a different machine) that interrogates
	various database services across the network and provides the
	results to the user agent module in a uniform fashion.
	Interactions between the two modules can be via messages
	between Knowbots or by actual movement of Knowbots.

	There are electronic mail interfaces for KIS at the hosts
	cnri.reston.va.us and sol.bucknell.edu.  Send a message
	containing just the word "man" to <kis@cnri.reston.va.us> or
	<netaddress@sol.bucknell.edu>.  Telnet: info.cnri.reston.va.us
	port 185.

knowledge

	<artificial intelligence, information science> The objects,
	concepts and relationships that are assumed to exist in some
	area of interest.  A collection of {knowledge}, represented
	using some {knowledge representation} language is known as a
	{knowledge base} and a program for extending and/or querying a
	knowledge base is a {knowledge-based system}.

	Knowledge differs from {data} or {information} in that new
	knowledge may be created from existing knowledge using logical
	{inference}.  If information is data plus meaning then
	knowledge is information plus processing.

	A common form of knowledge, e.g. in a {Prolog} program, is a
	collection of {facts} and {rules} about some subject.

	For example, a {knowledge base} about a family might contain
	the facts that John is David's son and Tom is John's son and
	the rule that the son of someone's son is their grandson.
	From this knowledge it could infer the new fact that Tom is
	David's grandson.

	See also {Knowledge Level}.

	(1994-10-19)

Knowledge Analysis and Design System

	<process> (KADS) A structured way of developing
	{knowledge-based systems} ({expert systems}).  KADS was
	developed as an alternative to an evolutionary approach and is
	now accepted as the European standard for knowledge based
	systems.

	{(http://cse.unsw.edu.au/~timm/pub/slides/kltut/index.html)}.

	["Knowledge Based Systems Analysis and Design: A KADS
	Developers Handbook", Tansley and Hayball]

	(1998-03-12)

knowledge base

	<artificial intelligence> A collection of {knowledge}
	expressed using some formal {knowledge representation}
	language.  A knowledge base forms part of a {knowledge-based
	system} (KBS).

	(1994-10-19)

knowledge-based system

	<artificial intelligence> (KBS) A program for extending and/or
	querying a {knowledge base}.

	The related term {expert system} is normally used to refer to
	a highly domain-specific type of KBS used for a specialised
	purpose such as medical diagnosis.

	The {Cyc} project is an example of a large KBS.

	(1999-09-07)

knowledge level

	<artificial intelligence> A level of description of the
	{knowledge} of an {agent} that is independent of the agent's
	internal {symbol-level} representation.  Knowledge can be
	attributed to agents by observing their actions.  An agent
	"knows" something if it acts as if it had the information and
	is acting rationally to achieve its goals.  The "actions" of
	agents, including knowledge base servers and {knowledge-based
	systems}, can be seen through a "tell and ask" functional
	interface, where a client interacts with an agent by making
	{logical assertions} (tell), and posing queries (ask).

	(1994-10-19)

Knowledge Management System

	(KMS) A distributed {hypermedia} system for managing knowledge
	in organisations.  KMS is a commercial system from {Knowledge
	Systems, Inc.} running on {workstations}, based on previous
	research with {ZOG} at {Carnegie Mellon University}.

	(1994-10-28)

Knowledge Query and Manipulation Language

	<language, protocol, artificial intelligence> (KQML) A
	language and {protocol}, based on {SGML}, for exchanging
	{information} and {knowledge}, proposed in 1993(?).

	Work on KQML is led(?) by Tim Finin <finin@umbc.edu> of the
	University of Maryland Baltimore County, Lab for Advanced
	Information Technology.  It is part of the {ARPA} {Knowledge
	Sharing Effort}.

	The KQML message format and protocol can be used to interact
	with an intelligent system, either by an {application
	program}, or by another intelligent system.  KQML's
	"performatives" are operations that agents perform on each
	other's knowledge and {goal} stores.  Higher-level
	interactions such as {contract nets} and negotiation are built
	using these.  KQML's "communication facilitators" coordinate
	the interactions of other agents to support knowledge sharing.

	Experimental prototype systems support concurrent engineering,
	intelligent design, intelligent planning, and scheduling.

	{(http://cs.umbc.edu/kqml/)}.

	(1999-09-28)

knowledge representation

	The subfield of {artificial intelligence} concerned with
	designing and using systems for storing knowledge - {facts}
	and {rules} about some subject.

	A body of formally represented knowledge is based on a
	{conceptualisation} - an {abstract} view of the world that we
	wish to represent.  In order to manipulate this knowledge we
	must specify how the abstract conceptualisation is represented
	as a {concrete} data structure.  An {ontology} is an explicit
	specification of a conceptualisation.

	(1994-10-19)

Knowledge Sharing Effort

	<project> An {ARPA} project developing techniques and methods
	for building large-scale {knowledge bases} which are sharable
	and reusable.

	{KQML} is part of it.

	(1999-09-28)

Knowledge Systems Laboratory

	(KSL) An {artificial intelligence} research laboratory within
	the Department of Computer Science at {Stanford University}.
	Current work focuses on {knowledge representation} for
	sharable engineering knowledge bases and systems,
	computational environments for modelling physical devices,
	architectures for adaptive intelligent systems, and {expert
	systems} for science and engineering.

	(1994-12-06)

Known Lazy Bastard

	<abuse> (KLB) A term, used among technical support staff, for
	a user who repeatedly asks for help with problems whose
	solutions are clearly explained in the documentation, and
	persists in doing so after having been told to {RTFM}.

	KLBs are singled out for special treatment (i.e. ridicule),
	especially if they have been heard to say "It's so boring to
	read the manual!  Why don't you just tell me?".  The deepest
	pit in Hell is reserved for KLBs whose questions reveal total
	ignorance of the basic concepts (e.g., "How do I make a font
	in {Excel}?", "Where do I turn on my {RAM}?"), and who refuse
	to accept that their questions are neither simple nor
	well-formed.

	(1998-09-07)

Knuth

	/knooth/ 1. {Donald Knuth}.

	2. ["The Art of Computer Programming", Donald E. Knuth]
	Mythically, the reference that answers all questions about
	data structures or algorithms.  A safe answer when you do not
	know: "I think you can find that in Knuth."

	Contrast {literature}.  See also {bible}.

	[{Jargon File}]

Kodak

	<company> The photographic company responsible for {Photo CD}.

	{(http://kodak.com/)}.

	(1995-12-13)

Kohonen

	{T. Kohonen}

KOMPILER

	<language> An early system on the {IBM 701}.

	Versions: KOMPILER 2 for IBM 701, KOMPILER 3 for IBM 704.

	[Listed in CACM 2(5):16, May 1959].

	(2005-06-20)

Konrad Zuse

	<person> The designer of the first programming language,
	{Plankalkül}, and the first fully functional
	program-controlled electromechanical {digital computer} in the
	world, the {Z3}.  He died on 1995-12-18 in Huenfeld, Germany.

	{Biography (http://ei.cs.vt.edu/~history/Zuse.html)}.

	["Konrad Zuse: Mein Leben" (My Life), published 1956].

	["Konrad Zuse: The Computer my Life, Springer, 1993].

	(1999-02-18)

Korf, Richard

	{Richard Korf}

Korn Shell

	(ksh) A {command interpreter} for {Unix}.

	{SKsh} is an {AmigaDos}-specific version and {pdksh} is a free
	{Unix} version.

	[More details?]

kp

	<networking> The {country code} for North Korea.

	(1999-01-27)

KQML

	{Knowledge Query and Manipulation Language}

KR

	{knowledge representation}

kr

	<networking> The {country code} for South Korea.

	[{Jargon File}]

	(1999-01-27)

K&R

	<publication> Kernighan and Ritchie.  {Brian Kernighan} and
	{Dennis Ritchie}'s book, cited below, describing the basis of
	{K&R C}, especially the classic and influential first edition.

	Synonyms: {White Book}, {Old Testament}.  See also {New
	Testament}.

	[{Jargon File}]

	[Brian Kernighan, Dennis Ritchie, "The C Programming
	Language", Prentice-Hall 1978; ISBN 0-113-110163-3].

	(2011-11-30)

KRC

	{Kent Recursive Calculator}

K&R C

	<language> (C Classic) The {C} programming language as defined
	in the first edition of {K&R}, with some small additions.  The
	name "C Classic", a play on "Coke Classic", came into use
	while {ANSI C} was being standardised by the {ANSI X3J11}
	committee.

	See also {classic}.

	[{Jargon File}]

	(2006-09-26)

kremvax

	/krem-vaks/ (Or kgbvax) Originally, a fictitious {Usenet} site
	at the Kremlin, named like the then large number of {Usenet}
	{VAXen} with names of the form foovax.  Kremvax was announced
	on April 1, 1984 in a posting ostensibly originated there by
	Soviet leader Konstantin Chernenko.  The posting was actually
	forged by Piet Beertema as an April Fool's joke.  Other
	fictitious sites mentioned in the hoax were moskvax and
	{kgbvax}.  This was probably the funniest of the many April
	Fool's forgeries perpetrated on {Usenet} (which has negligible
	security against them), because the notion that {Usenet} might
	ever penetrate the Iron Curtain seemed so totally absurd at
	the time.

	In fact, it was only six years later that the first genuine
	site in Moscow, demos.su, joined {Usenet}.  Some readers
	needed convincing that the postings from it weren't just
	another prank.  Vadim Antonov, senior programmer at Demos and
	the major poster from there up to mid-1991, was quite aware of
	all this, referred to it frequently in his own postings, and
	at one point twitted some credulous readers by blandly
	asserting that he *was* a hoax!

	Eventually he even arranged to have the domain's gateway site
	*named* kremvax, thus neatly turning fiction into truth and
	demonstrating that the hackish sense of humour transcends
	cultural barriers.  Mr. Antonov also contributed some
	Russian-language material for the {Jargon File}.

	In an even more ironic historical footnote, kremvax became an
	electronic centre of the anti-communist resistance during the
	bungled hard-line coup of August 1991.  During those three
	days the Soviet UUCP network centreed on kremvax became the
	only trustworthy news source for many places within the USSR.
	Though the sysops were concentrating on internal
	communications, cross-border postings included immediate
	transliterations of Boris Yeltsin's decrees condemning the
	coup and eyewitness reports of the demonstrations in Moscow's
	streets.  In those hours, years of speculation that
	totalitarianism would prove unable to maintain its grip on
	politically-loaded information in the age of computer
	networking were proved devastatingly accurate - and the
	original kremvax joke became a reality as Yeltsin and the new
	Russian revolutionaries of "glasnost" and "perestroika" made
	kremvax one of the timeliest means of their outreach to the
	West.

	[{Jargon File}]

KRL

	{Knowledge Representation} Language.  A {frame}-based
	language.

	["An Overview of KRL, a Knowledge Representation Language",
	D.G. Bobrow and T. Winograd, Cognitive Sci 1:1 (1977)].

KRS

	<language> A {frame-based language} built on {Common LISP}.

	(2011-12-05)

K&R stlye

	<programming> The ugly and hard-to-read {indent style} used in
	{K&R}.

	(2011-11-30)

KRYPTON

	<language> A {frame language}.

	["An Essential Hybrid Reasoning System: Knowledge and Symbol
	Level Accounts of KRYPTON", R.J. Brachman et al, Proc
	IJCAI-85, 1985].

	(2011-12-05)

ksh

	{Korn Shell}

KSL

	{Knowledge Systems Laboratory}

KSR

	1. {Keyboard Send Receive}.

	2. <company> {Kendall Square Research}.

	(1995-11-23)

KTH

	{Kungliga Tekniska Högskolan}

kthx

	<chat> OK, thanks.  Can be used as a (sarcastic) prefix, as in
	"plz2stfukthx".

	(2008-03-14)

KUIP

	{Kernel User Interface Package}

Kungliga Tekniska Högskolan

	<body, education> (KTH, Royal Institute of Art and Technology)
	A Swedish university founded in 1827 that is strong in
	engineering and computing (e.g. {AI}, {Virtual Reality}).  In
	1998 KTH had nearly 11,000 undergraduate students, 1,300
	postgraduate students, and 2,900 staff, making it the largest
	of Sweden's six universitites of technology.

	{(http://kth.se/index-eng.html)}.

	Address: Stockholm, Sweden.

	(2001-03-18)

KUTGW

	<chat> Keep up the good work.

	(1999-03-08)

Kvatro Telecom AS

	<company> The company that maintains {Mary}.

	Address: Trondheim, Norway.

	{(http://kvatro.no/)}.

	(1998-11-10)

Kvikkalkul

	<language> /kveek`kahl-kool'/ A deliberately cryptic
	programming language said to have been devised by the Swedish
	Navy in the 1950s as part of their abortive attempt at a
	nuclear weapons program.  What little is known about it comes
	from a series of an anonymous posts to {Usenet} in 1994.  The
	poster described the language, saying that he had programmed
	in Kvikkalkul when he worked for the Swedish Navy in the
	1950s.  It is an open question whether the posts were a
	{troll}, a subtle parody or truth stranger than fiction could
	ever be.

	Assuming it existed, Kvikkalkul is so much a
	{bondage-and-discipline language} that it is, in its own ways,
	even more bizarre than the deliberate parody language
	{INTERCAL}.  Among its notable "features", all symbols in
	Kvikkalkul, including variable names and program labels, can
	consist only of digits.  Operators consist entirely of the
	punctuation symbols (, ), -, and :.  Kvikkalkul allows no
	{comments} - they might not correspond with the code.
	Kvikkalkul's only data type is the signed fixed-point
	fractional number, i.e. a number between (but not including)
	-1 and 1.  Dealings with the {Real World} that require numbers
	outside that range are done with functions that notionally map
	that range to a larger range (e.g., -16383 to -16383) and
	back.  Kvikkalkul had a probabilistic jump operator which, if
	given a negative probability, would act like a {COME FROM}.
	This was, sadly, deleted in later versions of the language.

	{(http://prefect.com/home24/kvikkalkul/)}.

	(1998-11-14)

KVM

	{Keyboard Video Mouse}

kw

	<networking> The {country code} for Kuwait.

	(1999-01-27)

KWIC

	{keyword in context}

ky

	<networking> The {country code} for the Cayman Islands.

	(1999-01-27)

Kyoto Common Lisp

	<language> (KCL) An implementation of {Common Lisp} by
	T. Yuasa <yuasa@tutics.tut.ac.jp> and M. Hagiya
	<hagiya@is.s.u-tokyo.ac.jp>, written in {C} to run under
	{Unix}-like {operating systems}.  KCL is compiled to {ANSI C}.
	It conforms to {Common Lisp} as described in {Guy Steele}'s
	book and is available under a licence agreement.

	{(ftp://rascal.ics.utexas.edu/pub/kcl.tar.Z)}.

	E-mail: <kcl@cli.com> (bug reports).

	Mailing list: kcl-request@cli.com, kcl@rascal.ics.utexas.edu.

	["Design and Implementation of Kyoto Common Lisp", T. Yuasa
	<yuasa@tutics.tut.ac.jp>, J Info Proc 13(3):284-295 (1990)].

	["Kyoto Common Lisp Report", T. Yuasa & M. Hagiya].

	(1987-06-01)

kyrka

	{feature key}

kz

	<networking> The {country code} for Kazakhstan.

	(1999-01-27)

L0

	<language> A low-level language developed at the {Technical
	University of Munich}.  L0 was typed and had the usual {flow
	control}, but only 3-address expressions.  Higher level
	languages, L1 and L2 were planned.

	["Brief Survey of L0", H. Scheidig, in Machine Oriented Higher
	Level Languages, W. van der Poel ed, N-H 1974, pp. 239-247].

	(2003-06-12)

L0pht

	<security> /loft/ An Internet security organisation that
	merged with {@stake} in January 2000.

	(2003-06-12)

l10n

	{localisation}

L1 cache

	{primary cache}

L2 cache

	{secondary cache}

L2CAP

	{Logical Link Control and Adaptation Protocol}

L2TP

	{Layer Two Tunneling Protocol}

L6

	Bell Telephone Laboratories Low-Level Linked List Language.
	Ken Knowlton, 1965.  List processing language, typeless.

	["A Programmer's Description of L6, Bell Telephone
	Laboratories' Low-Level Linked List Language", K. Knowlton
	CACM 9(8):616-625 (Aug 1966).  Sammet 1969, pp.400- 405].

la

	<networking> The {country code} for Laos.

	(1999-01-27)

label

	1. <programming> An identifier used to mark a position in a
	program so that it can be the destination of a {goto}
	statement.

	2. <networking> The identifier assigned to a {datagram} for
	{label switching}.

	(2007-10-17)

label edge router

	<networking> (LER) A device that sits at the edge of an {MPLS
	domain}, that uses {routing} information to assign labels to
	{datagrams} and then forwards them into the MPLS domain.

	(1999-06-14)

Label Forwarding Information Base

	<networking> (LFIB) A {label switching} scheme used in
	{MultiProtocol Label Switching} (MPLS).

	[Details?]

	(2007-06-25)

label switched path

	<networking> (LSP) The specific path through a network that a
	{datagram} follows, based on its {MPLS} labels.

	(1999-06-14)

label switching

	<networking> A routing technique that uses information from
	existing IP routing protocols to identify {IP} {datagrams}
	with labels and forwards them to a modified {switch} or
	{router}, which then uses the labels to switch the datagrams
	through the network.

	Label switching combines the best attributes of {data link
	layer} (layer two) {switching} (as in {ATM} and {Frame Relay})
	with the best attributes of {network layer} (layer three)
	{routing} (as in {IP}).

	Prior to the formation of the {MPLS} Working Group in 1997, a
	number of vendors had announced and/or implemented proprietary
	label switching.

	(2007-10-17)

Label Switching Router

	<networking> (LSR) A device that typically resides somewhere
	in the middle of a {network} and is capable of forwarding
	{datagrams} by {label switching}.  In many cases, especially
	early versions of {MPLS} networks, a LSR will typically be a
	modified {ATM} {switch} that forwards datagrams based upon a
	label in the {VPI}/{VCI} field.

	(1999-06-14)

Lab for Computer Science

	{MIT}.  {(http://lcs.mit.edu/)}.

Laboratoire lorrain de recherche en informatique et ses applications

	<body> (LORIA) A French research institute associated with
	{INRIA}.

	(2007-06-01)

Laboratory INstrument Computer

	<computer> (LINC) A computer which was originally designed in
	1962 by {Wesley Clark}, {Charles Molnar}, Severo Ornstein and
	others at the {Lincoln Laboratory Group}, to facilitate
	scientific research.  With its {digital logic} and {stored
	programs}, the LINC is accepted by the {IEEE Computer Society}
	to be the World's first {interactive} {personal computer}.

	The machine was developed to fulfil a need for better
	laboratory tools by doctors and medical researchers.  It would
	supplant the 1958 {Average Response Computer}, and was
	designed for individual use.

	Led by William N. Papian and mainly funded by the {National
	Institute of Health}, Wesley Clark designed the logic while
	Charles Molnar did the engineering.  The first LINC was
	finished in March 1962.

	In January 1963, the project moved to {MIT}, and then to
	{Washington University} (in St. Louis) in 1964.

	The LINC had a simple {operating system}, four "knobs" (which
	was used like a {mouse}), a {Soroban keyboard} (for
	alpha-numeric data entry), two {LINCtape} drives and a small
	{CRT} display.  It originally had one {kilobit} of {core
	memory}, but this was expanded to 2 Kb later.  The computer
	was made out of {Digital Equipment Corporation} (DEC) hardware
	modules.

	Over 24 LINC systems had been built before late 1964 when
	DEC began to sell the LINC commercially.

	After the introduction of the {PDP-8}, {Dick Clayton} at
	DEC produced a rather frightening hybrid of the LINC and
	PDP-8 called a LINC-8.  This really was not a very
	satisfactory machine, but it used the new PDP-8 style DEC
	cards and was cheaper and easier to produce.  It still
	didn't sell that well.

	In the late 1960s, Clayton brought the design to its pinnacle
	with the PDP-12, an amazing tour de force of the LINC concept;
	along with about as seamless a merger as could be done with
	the PDP-8.  This attempted to incorporate {TTL logic} into the
	machine.  The end of the LINC line had been reached.

	Due to the success of the LINC-8, {Spear, Inc.} produced a
	LINC clone (since the design was in the {public domain}).
	The interesting thing about the Spear {micro-LINC 300} was
	that it used {MECL} II logic.  MECL logic was known for its
	blazing speed (at the time!), but the Spear computer ran at
	very modest rates.

	In 1995 the last of the classic LINCs was turned off for
	the final time after 28 years of service.  This LINC had
	been in use in the Eaton-Peabody Laboratory of Auditory
	Physiology (EPL) of the Massachusetts Eye and Ear
	Infirmary.

	On 15 August 1995, it was transferred to the MIT {Computer
	Museum} where it was put on display.

	{LINC/8, PDP-12
	(http://faqs.org/faqs/dec-faq/pdp8/section-7.html)}.

	{Lights out for last LINC
	(http://rleweb.mit.edu/publications/currents/6-1linc.HTM)}.

	["Computers and Automation", Nov. 1964, page 43].

	(1999-05-20)

Laboratory Virtual Instrument Engineering Workbench

	<tool> (LabVIEW) A package from National Instruments Corp
	originally developed to provide a {graphical user interface}
	to instruments connected by the {IEEE 488} (GPIB) bus.  It has
	powerful graphical editing facilities for defining and
	interconnecting "virtual instruments".

	(1996-04-24)

LaborNet

	An {IGC} network serving groups, unions and labour advocates
	interested in information sharing and collaboration with the
	intent of enhancing the human rights and economic justice of
	workers.  Issues covered include workplace and community
	health and safety issues, trade issues and international union
	solidarity and collaboration.

Labtech Notebook

	<tool, product> Commercial {data aquisition} software.

	(1995-03-08)

LabVIEW

	{Laboratory Virtual Instrument Engineering Workbench}

Lace

	Language for Assembling Classes in Eiffel.  Specifies how to
	assemble an Eiffel system : in which directories to find the
	clusters, which class to use as the root, permits class
	renaming to avoid name clashes.  "Eiffel: The Language",
	Bertrand Meyer, P-H 1992.

lace card

	(Obsolete) A {punched card} with all holes punched (also
	called a "whoopee card" or "ventilator card").  Card readers
	tended to jam when they got to one of these, as the resulting
	card had too little structural strength to avoid buckling
	inside the mechanism.  Card punches could also jam trying to
	produce these things owing to power-supply problems.  When
	some practical joker fed a lace card through the reader, you
	needed to clear the jam with a "card knife" - which you used
	on the joker first.

	[{Jargon File}]

ladder logic

	<programming> {Source code} formatted in two columns with
	conditions on the left that lead to outputs on the right:

	  if (c1)     s1 else
	  if (c2)     s2 else
	  if (c3)     s3 ...

	(2007-03-15)

LADY

	<language> ["Key Concepts in the INCAS Multicomputer Project",
	J. Nehmer et al IEEE Trans Soft Eng SE-13(8):913-923 (Aug
	1987)].

	(1996-06-21)

lag

	{netlag}

Lakota

	Scripting language, extends existing OS commands.
	E-mail: Richard Harter <rh@smds.UUCP>, SMDS, Inc.

LALR

	{Look Ahead Left-to-right parse, Rightmost-derivation}

lalr.ss

	<tool> An {LALR1 grammar} {parser generator} written in, and
	outputting, {Scheme} by Mark Johnson <mj@cs.brown.edu>.

	Version 0.9 (before 1995-10-30).

	FTP new/lalr.shar from the {Scheme Repository}.

	(1993-05-24)

Lambada-Calculus

	<humour, logic> (A pun on "{lambda-calculus}") Teaching logic
	thru spanish dance steps.  Invented by P. van der Linden
	<linden@eng.sun.com>.

	(1996-08-10)

LAMBDA

	A version of {typed lambda-calculus}, used to describe
	semantic {domains}.

	["Outline of a Mathematical Theory of Computation",
	D.S. Scott, TM PRG-2, PRG, Oxford U, 1971].

lambda abstraction

	A term in {lambda-calculus} denoting a function.  A lambda
	abstraction begins with a lower-case lambda (represented as
	"\" in this document), followed by a variable name (the "bound
	variable"), a full stop and a {lambda expression} (the body).
	The body is taken to extend as far to the right as possible
	so, for example an expression,

		\ x . \ y . x+y

	is read as

		\ x . (\ y . x+y).

	A nested abstraction such as this is often abbreviated to:

		\ x y . x + y

	The lambda expression (\ v . E) denotes a function which takes
	an argument and returns the term E with all {free} occurrences
	of v replaced by the {actual argument}.  Application is
	represented by {juxtaposition} so

		(\ x . x) 42

	represents the identity function applied to the constant 42.

	A {lambda abstraction} in {Lisp} is written as the symbol
	lambda, a list of zero or more variable names and a list of
	zero or more terms, e.g.

		(lambda (x y) (plus x y))

	Lambda expressions in {Haskell} are written as a backslash,
	"\", one or more patterns (e.g. variable names), "->" and an
	expression, e.g. \ x -> x.

	(1995-01-24)

lambda-calculus

	<mathematics> (Normally written with a Greek letter lambda).
	A branch of mathematical logic developed by {Alonzo Church} in
	the late 1930s and early 1940s, dealing with the application
	of {functions} to their arguments.  The {pure lambda-calculus}
	contains no constants - neither numbers nor mathematical
	functions such as plus - and is untyped.  It consists only of
	{lambda abstractions} (functions), variables and applications
	of one function to another.  All entities must therefore be
	represented as functions.  For example, the natural number N
	can be represented as the function which applies its first
	argument to its second N times ({Church integer} N).

	Church invented lambda-calculus in order to set up a
	foundational project restricting mathematics to quantities
	with "{effective procedures}".  Unfortunately, the resulting
	system admits {Russell's paradox} in a particularly nasty way;
	Church couldn't see any way to get rid of it, and gave the
	project up.

	Most {functional programming} languages are equivalent to
	lambda-calculus extended with constants and types.  {Lisp}
	uses a variant of lambda notation for defining functions but
	only its {purely functional} subset is really equivalent to
	lambda-calculus.

	See {reduction}.

	(1995-04-13)

lambda expression

	<mathematics> A term in the {lambda-calculus} denoting an
	unnamed function (a "{lambda abstraction}"), a variable or a
	constant.  The {pure lambda-calculus} has only functions and
	no constants.

	(1995-04-13)

lambda lifting

	A program transformation to remove free variables.  An
	expression containing a free variable is replaced by a
	function applied to that variable.  E.g.

		f x = g 3  where g y = y + x

	x is a free variable of g so it is added as an extra argument:

		f x = g 3 x  where g y x = y + x

	Functions like this with no free variables are known as
	supercombinators and are traditionally given upper-case names
	beginning with "$".  This transformation tends to produce many
	supercombinators of the form f x = g x which can be eliminated
	by {eta reduction} and substitution.  Changing the order of
	the parameters may also allow more optimisations.  References
	to global (top-level) constants and functions are not
	transformed to function parameters though they are technically
	free variables.

	A closely related technique is closure conversion.  See also
	Full laziness.

LambdaMOO

	<games> The most frequently used {server} {software} for
	running a {MOO} and also the nerve-center (of sorts) of the
	MOO community.

	{(ftp://ftp.lambda.moo.mud.org/pub/MOO/)}.

	{Telnet (telnet://lambda.moo.mud.org:8888)}.

	(1999-05-25)

Lambda Prolog

	<language> An extension of standard {Prolog} defined by Dale
	A. Miller and Gopalan Nadathur in 1986, in which terms are
	{strongly typed} lambda terms.  {Clauses} are {higher order}
	{hereditary Harrop formulas}.  The main novelties are
	{universal quantification} on {goals} and {implication}.

	The {Prolog/Mali} compiler compiles Lambda Prolog for the
	{MALI} abstract memory system.

	{Teyjus (http://teyjus.cs.umn.edu/)} is an implementation of
	Lambda Prolog.

	{Lambda Prolog home (http://cse.psu.edu/~dale/lProlog/)}.

	Mailing list: lprolog@cs.umn.edu.

	["Higher-order logic programming", Miller D.A. and Nadathur
	G., 3rd International Conference on Logic Programming, pp
	448-462, London 1986].

	[Nadathur G. "A Higher-Order Logic as a Basis for Logic
	Programming", Thesis, University of Pennsylvania, 1987].

	(2002-10-15)

lamer

	<jargon> A hopelessly clueless {luser}.

	(1997-01-31)

LAMINA

	A {concurrent} {object-oriented} language.

	["Experiments with a Knowledge-based System on a
	Multiprocessor", Third Intl Conf Supercomputing Proc, 1988].

	["ELINT in LAMINA, Application of a Concurrent Object
	language", Delagi et al, KSL-88-3, Knowledge Sys Labs,
	Stanford U].

lamp-post error

	{fencepost error}

LAN

	{local area network}

LAN administrator

	<job> A person who installs and maintains {LAN} {hardware} and
	{software}.  A LAN administrator troubleshoots network usage
	and computer peripherals.  He installs new users, performs
	system {backups} and data recovery, and resolves LAN
	communications problems.

	(2004-03-12)

LANCE

	Local Area Network Controller for Ethernet.

	The alternative name for the Am7990 {integrated circuit} used
	in a {Filtabyte} {Ethernet} controller card.

	(1995-02-15)

language

	1. <language, programming> {programming language}.

	2. <human language> {natural language}.

	(1998-09-07)

language-based editor

	{language-sensitive editor}

language code

	<human language, standard> A set of standard names and
	abbreviations maintained by {ISO} for identifying human
	languages, natural and invented, past and present.  Each
	language has a list of English and French names and an ISO
	639-2 three-letter code.  Some also have an ISO 639-1
	two-letter code.

	The list even includes the Klingon language from the Star Trek
	science fiction series.

	{Latest list
	(http://www.loc.gov/standards/iso639-2/php/English_list.php)}.

	There are also {country codes}.

	(2006-12-11)

Language for Communicating Systems

	<language> (LCS) A {concurrent} {SML} by Bernard Berthomieu
	with {behaviours} and processes, based upon {higher order
	CCS}.  LCS is implemented as a {bytecode interpreter} and runs
	on {Sun} {SPARC}, {SGI} {MIPS}, and {Linux}.

	Latest version: 5.1, as of 2000-03-17.

	{(http://laas.fr/~bernard/lcs.html)}.

	E-mail: Bernard Berthomieu <Bernard.Berthomieu@laas.fr>.

	Mailing list: lcs@laas.fr

	(2000-03-28)

Language for the On-Line Investigation and Transformation of Abstractions

	<language> (LOLITA) An extension of the {Culler-Fried System}
	for {symbolic mathematics}.

	["An On- line Symbol Manipulation System", F.W. Blackwell, Proc
	ACM 22nd Natl Conf, 1967].

	[Sammet 1969, p. 464].

	(2003-07-29)

Language H

	An early business-oriented language from {NCR}.

language lawyer

	A person, usually an experienced or senior software engineer,
	who is intimately familiar with many or most of the numerous
	restrictions and features (both useful and esoteric)
	applicable to one or more computer programming languages.  A
	language lawyer is distinguished by the ability to show you
	the five sentences scattered through a 200-page manual that
	together imply the answer to your question "if only you had
	thought to look there".

	Compare {wizard}, {legal}, {legalese}.

	[{Jargon File}]

	(1995-02-15)

Language Of Temporal Ordering Specification

	<language> (LOTOS) A formal {specification language} based on
	temporal ordering used for {protocol} specfication in {ISO}
	{OSI} {standards}.  It is published as ISO 8807 in 1990 and
	describes the order in which events occur.

	["The Formal Description Technique LOTOS", P.H.J. van Eijk et
	al eds, N-H 1989].

	(1995-03-18)

Language Sensitive Editor

	(LSE) A {language-sensitive editor} from {DEC}.

	(1995-02-15)

language-sensitive editor

	An editor that is aware of the syntactic, semantic and in some
	cases the structural rules of a specific programming language
	and provides a framework for the user to enter {source code}.
	Programs or changes to previously stored programs are
	incrementally parsed into an {abstract syntax tree} and
	automatically checked for correctness.

	(1995-02-15)

languages of choice

	{C} and {Lisp}.  Nearly every hacker knows one of these, and
	most good ones are fluent in both.  Smalltalk and Prolog are
	also popular in small but influential communities.

	There is also a rapidly dwindling category of older hackers
	with Fortran, or even assembler, as their language of choice.
	They often prefer to be known as {Real Programmers}, and other
	hackers consider them a bit odd (see "{The Story of Mel}").
	Assembler is generally no longer considered interesting or
	appropriate for anything but {HLL} implementation, {glue}, and
	a few time-critical and hardware-specific uses in systems
	programs.  Fortran occupies a shrinking niche in scientific
	programming.

	Most hackers tend to frown on languages like {Pascal} and
	{Ada}, which don't give them the near-total freedom considered
	necessary for hacking (see {bondage-and-discipline language}),
	and to regard everything even remotely connected with {COBOL}
	or other traditional {card walloper} languages as a total and
	unmitigated {loss}.

	[{Jargon File}]

Laning and Zierler

	<language> Possibly the first true working algebraic
	{compiler}.  Written by J.H. Laning Jr and N. Zierler in
	1953-1954 to run on {MIT}'s {Whirlwind} computer.

	[Sammet 1969, pp. 131-132].

	[Did the language have a name?]

	(1994-11-01)

Lan Kanal Adapter

	<networking> (LKA) A sort of external {LAN} interface for a
	{BS200} computer.

	(2005-02-11)

LANL

	Los Alamos National Laboratory, Los Alamos, NM, USA.

Lan Manager

	<operating system> {Microsoft}'s {OS/2}-based {network
	operating system}.  Developed in conjunction with {3Com}, Lan
	Manager runs as a task under OS/2.  Because of this, a {file
	server} may concurrently be used for other tasks, such as
	{database} services.  It offers good {mulitasking}.

	(1997-03-19)

LANtastic

	<networking, product> A trademarked name for numerous products
	of {Artisoft, Inc.}.

	(1995-04-16)

LAP

	LISP Assembly Program.  The {assembly language} embedded into
	early {Lisp}.  LAP was also used by the {Liar} compiler for
	{MIT Scheme} and {MACLISP}.

	[Sammet 1969, p. 597].

	(1994-11-01)

LAP4

	Early assembly language for Linc-8 machine.

LAPB

	{Link Access Protocol Balanced}

LAPD

	1. {Link Access Procedure on the D channel}.

	2. Los Angeles Police Department.

LAPM

	{Link Access Protocol for Modems}

LAPSE

	<language> A {single assignment} language for the {Manchester
	dataflow machine}.

	["A Single Assignment Language for Data Flow Computing",
	J.R.W. Glauert, M.Sc Diss, Victoria U Manchester, 1978].

	(1994-12-21)

laptop

	{portable computer}

laptop computer

	{portable computer}

LaQuey

	<networking> [LaQuey, T. (with J. Ryer), "The Internet
	Companion: A Beginner's Guide to Global Networking",
	Addison-Wesley, Reading, MA, 1992]

	(2007-09-27)

Larch

	The Larch Project develops aids for formal specifications.
	Each Larch specification has two components: an interface
	containing predicates written in the LIL ({Larch Interface
	Language}) designed for the target language and a 'trait'
	containing assertions about the {predicates} written in LSL,
	the {Larch Shared Language} common to all.

	["The Larch Family of Specification Languages", J. Guttag et
	al, IEEE Trans Soft Eng 2(5):24-365 (Sep 1985)].

Larch/C++

	An interface specification language which can be used to
	formally specify {C++} program {modules}.

LARCH/CLU

	<language, specification> The {Larch} specification language
	for {CLU}.  Used in "Abstraction and Specification in Program
	Development", B. Liskov & J. Guttag, MIT Press 1986.

	(1996-01-02)

Large Installation Systems Administration

	(LISA) The {USENIX} systems administration conference.  It is
	now more general that its title suggests.  It is sponsored and
	organised by {SAGE}, the USENIX Systems Administrators Guild.

	{(ftp://ftp.sage.usenix.org/pub/sage/)}.

	(1996-01-02)

Larry Wall

	<person> A {demigod}, the author of {Perl}, {patch}, and {rn}.

	In the Perl {README}, he says, "I want you to know that I
	create nice things like this because it pleases the Author of
	my story.  If this bothers you, then your notion of Authorship
	needs some revision.  But you can use Perl anyway."

	E-mail: Larry Wall <lwall@sems.com>.

	(1996-06-04)

LART

	{Luser Attitude Re-adjustment Tool}

larval stage

	Describes a period of monomaniacal concentration on coding
	apparently passed through by all fledgling hackers.  Common
	symptoms include the perpetration of more than one 36-hour
	{hacking run} in a given week; neglect of all other activities
	including usual basics like food, sleep, and personal hygiene;
	and a chronic case of advanced bleary-eye.  Can last from 6
	months to 2 years, the apparent median being around 18 months.
	A few so afflicted never resume a more "normal" life, but the
	ordeal seems to be necessary to produce really wizardly (as
	opposed to merely competent) programmers.  See also
	{wannabee}.  A less protracted and intense version of larval
	stage (typically lasting about a month) may recur when one is
	learning a new {OS} or programming language.

	[{Jargon File}]

lase

	/layz/ To print a given document via a laser printer.  "OK,
	let's lase that sucker and see if all those graphics-macro
	calls did the right things."

laser

	<hardware> (Light Amplification by Stimulated Emission of
	Radiation) The type of light source used in a {laser
	printer}.

	(2003-05-08)

laser printer

	<printer> A non-impact high-resolution printer which uses a
	rotating disk to reflect laser beams to form an electrostatic
	image on a selenium imaging drum.  The developer drum
	transfers toner from the toner bin to the charged areas of the
	imaging drum, which then transfers it onto the paper into
	which it is fused by heat.  Toner is dry ink powder, generally
	a plastic heat-sensitive polymer.

	Print resolution currently (2001) ranges between 300 and 2400
	dots per inch (DPI).  Laser printers using chemical
	photoreproduction techniques can produce resolutions of up to
	2400 DPI.

	Print speed is limited by whichever is slower - the printer
	hardware (the "engine speed"), or the software {rendering}
	process that converts the data to be printed into a {bit map}.

	The print speed may exceed 21,000 lines per minute, though
	printing speed is more often given in pages per minute.  If a
	laser printer is rated at 12 pages per minute (PPM), this
	figure would be true only if the printer is printing the same
	data on each of the twelve pages, so that the bit map is
	identical.  This speed however, is rarely reached if each page
	contains different codes, text, and graphics.

	In 2001, Xerox's Phaser 1235 and 2135 (with Okidata engines)
	could print up to 21 colour ppm at 1200x1200 DPI using a
	single-pass process.

	Colour laser printers can reach 2400 DPI easily (e.g. an HP
	LaserJet 8550).  Some printers with large amounts of RAM can
	print at engine speed with different text pages and some of
	the larger lasers intended for graphics design work can print
	graphics at full engine speed.

	Although there are dozens of retail brands of laser printers,
	only a few {original equipment manufacturers} make {print
	engines}, e.g. {Canon}, {Ricoh}, {Toshiba}, and {Xerox}.

	(2002-01-06)

Lasherism

	<jargon, algorithm> (Harvard) A program that solves a standard
	problem (such as the {Eight Queens Puzzle} or implementing the
	{life} {algorithm}) in a deliberately nonstandard way.
	Distinguished from a {crock} or {kluge} by the fact that the
	programmer did it on purpose as a mental exercise.  Such
	constructions are quite popular in exercises such as the
	{Obfuscated C contest}, and occasionally in {retrocomputing}.
	Lew Lasher was a student at Harvard around 1980 who became
	notorious for such behaviour.

	[{Jargon File}]

	(1994-12-07)

last call optimisation

	<programming> (Or "tail call optimisation") Discarding the
	immediate calling context ({call stack} {frame}) when the last
	action of a function or procedure, A, is to call another
	function or procedure, B.  B will then return directly to A's
	caller, or possibly further up the call stack if the
	optimisation has been applied to several consecutive calls.

	Last call optimisation allows arbitrarily deep nesting of
	procedure calls without consuming memory to store useless
	environments.  This is particularly useful in the special case
	of {tail recursion optimisation}, where a procedure's last
	action is to call itself (possibly indirectly).

	(2007-03-16)

last-in first-out

	{stack}

LAT

	{Local Area Transport}

latch

	A digital logic circuit used to store one or more bits.  A
	latch has a data input, a clock input and an output.  When the
	clock input is active, data on the input is "latched" or
	stored and transfered to the output either immediately or when
	the clock input goes inactive.  The output will then retain
	its value until the clock goes active again.

	See also {flip-flop}.

	(1995-02-03)

latency

	<communications> 1. The time it takes for a {packet} to cross
	a network connection, from sender to receiver.

	2. The period of time that a frame is held by a network device
	before it is forwarded.

	Two of the most important parameters of a communications
	channel are its latency, which should be low, and its
	{bandwidth}, which should be high.  Latency is particularly
	important for a {synchronous} {protocol} where each packet
	must be acknowledged before the next can be transmitted.

	(2000-02-27)

LaTeX

	<language, text, tool> (Lamport TeX) Leslie Lamport
	<lamport@pa.dec.com>'s document preparation system built on
	top of {TeX}.  LaTeX was developed at {SRI International}'s
	Computer Science Laboratory and was built to resemble
	{Scribe}.

	LaTeX adds commands to simplify typesetting and lets the user
	concentrate on the structure of the text rather than on
	formatting commands.

	{BibTeX} is a LaTeX package for bibliographic citations.

	Lamport's LaTeX book has an exemplary index listing every
	symbol, concept and example in the book.  The index in the,
	now obsolete, first edition includes (on page 221) the
	mysterious entry "Gilkerson, Ellen, 221".  The second edition
	(1994) has an entry for "infinite loop" instead.

	["LaTeX, A Document Preparation System", Leslie Lamport, A-W
	1986, ISBN 0-201-15790-X (first edition, now obsolete)].

	(1997-11-17)

Latin 1

	{ISO 8859}

lattice

	<theory> A {partially ordered set} in which all finite subsets
	have a {least upper bound} and {greatest lower bound}.

	This definition has been standard at least since the 1930s and
	probably since Dedekind worked on lattice theory in the 19th
	century; though he may not have used that name.

	See also {complete lattice}, {domain theory}.

	(1999-12-09)

LAU

	Langage a Assignation Unique.  A {single assignment} language
	for the LAU {dataflow} machine, Toulouse.

	["Pipelining, Parallelism and Asynchronism in the LAU System",
	J.C. Syre et al, Proc 1977 Intl Conf Parallel Proc,
	pp. 87-92].

laundromat

	<jargon, storage> Synonym {disk farm}; see {washing machine}.

	[{Jargon File}]

	(1998-02-01)

LAURE

	<language> A language for {knowledge representation} combining
	{object-oriented} features and {logic programming}.  It has
	set operations, object-oriented {exception} handling and a
	{polymorphic} type system.

	["An Object-Oriented Language for Advanced Applications", in
	Proc TOOLS 5, Santa Barbara 1991, P-H].

	(1998-02-01)

LAVA

	A language for {VLSI} that deals with "sticks", i.e. wires
	represented as lines with thickness.

	["A Target Language for Silicon Compilers", R.J. Matthews et
	al, IEEE COMPCON, 1982, pp. 349-353].

	(1994-12-07)

law

	{software law}

LAWN

	{wireless local area network}

Lawrence Livermore Labs

	{Lawrence Livermore National Laboratory}

Lawrence Livermore National Laboratory

	<body> (LLNL) A research organaisatin operated by the
	{University of California} under a contract with the US
	Department of Energy.  LLNL was founded on 2 September 1952 at
	the site of an old World War II naval air station.

	The Lab employs researchers from many scientific and
	engineering disciplines.  Some of its departments are the
	National Ignition Facility, the Human Genome Center, the ASCI
	Tera-Scale Computing partnership, the Computer Security
	Technology Center, and the Site 300 Experimental Test
	Facility.  Other research areas are Astronomy and
	Astrophysics, Atmospheric Science, Automation and Robotics,
	Biology, Chemistry, Computing, Energy Research, Engineering,
	Environmental Science, Fusion, Geology and Geophysics, Health,
	Lasers and Optics, Materials Science, National Security,
	Physics, Sensors and Instrumentation, Space Science.

	LLNL also works with industry in research and licensing
	projects.  At the end of fiscal year 1995, the lab had signed
	agreements for 193 cost-shared research projects involving 201
	companies and worth nearly $600m.

	{(http://llnl.gov/)}.

	Address: Fremont, California, USA.

	(1996-10-30)

LAX

	LAnguage eXample.

	A {toy language} used to illustrate {compiler} design.

	["Compiler Construction", W.M. Waite et al, Springer 1984].

	(1994-12-07)

layer

	{protocol layer}

layer 1

	{physical layer}

layer 2

	{data link layer}

layer 3

	{network layer}

layer 4

	{transport layer}

layer 5

	{session layer}

layer 6

	{presentation layer}

layer 7

	{application layer}

Layer Two Tunneling Protocol

	<protocol> (L2TP) An {IETF} standard {protocol} for creating
	{Virtual Private Networks}.  L2TP is an {open standard} with
	mutlivendor {interoperability} and acceptance.

	Compare: {PPTP}.

	[Sponsored by {Cisco Systems, Inc.}?]

	(1998-09-24)

laziness

	{lazy evaluation}

lazy evaluation

	<reduction> An {evaluation strategy} combining {normal order
	evaluation} with updating.  Under normal order evaluation
	(outermost or call-by-name evaluation) an expression is
	evaluated only when its value is needed in order for the
	program to return (the next part of) its result.  Updating
	means that if an expression's value is needed more than once
	(i.e. it is shared), the result of the first evaluation is
	remembered and subsequent requests for it will return the
	remembered value immediately without further evaluation.  This
	is often implemented by graph reduction.  An unevaluated
	expression is represented as a {closure} - a data structure
	containing all the information required to evaluate the
	expression.

	Lazy evaluation is one {evaluation strategy} used to implement
	non-{strict} functions.  Function arguments may be infinite
	data structures (especially lists) of values, the components
	of which are evaluated as needed.

	According to Phil Wadler the term was invented by Jim Morris.

	Opposite: {eager evaluation}.

	A partial kind of lazy evaluation implements lazy data
	structures or especially {lazy lists} where function arguments
	are passed evaluated but the arguments of data constructors
	are not evaluated.

	{Full laziness} is a {program transformation} which aims to
	optimise lazy evaluation by ensuring that all subexpressions
	in a function body which do not depend on the function's
	arguments are only evaluated once.

	(1994-12-14)

lazy list

	A list which is built using a non-strict constructor.  Any
	head or tail of the list may be an unevaluated closure.  Also
	known as streams since they may be used to carry a sequence of
	values from the output of one function to an input of another.
	See also Lazy evaluation.

Lazy SML

	{Lazy Standard ML}

lazy sml2c

	A {lazy} version {sml2c}.  Portable, written in {SML}.
	Language extensions include {first-class continuations},
	{asynchronous signal} handling.

	E-mail: <david.tarditi@cs.cmu.edu>.
	{(ftp://dravido.soar.cs.cmu.edu/usr/nemo/sml2c)}.

Lazy Standard ML

	<language> (LSML) A {lazy} varient of {SML}, allowing cyclic
	val definitions, by Prateek Mishra <mishra@sbcs.sunysb.edu>.

	Latest version: 0.43-1, as of 1993-11-15.

	Not to be confused with {LML}.

	{(ftp://sbcs.sunysb.edu/pub/lsml)}.

	(1999-08-30)

lb

	<networking> The {country code} for Lebanon.

	(1999-01-27)

LBA

	{Logical Block Addressing}

LBE

	{Language-Based Editor}

LBL

	Lawrence Berkeley Laboratory, Berkeley, CA, USA.

LBX

	{Low Bandwidth X}.

lc

	<networking> The {country code} for Saint Lucia.

	(1999-01-27)

LCC

	Language for Conversational Computing.  Written at {CMU} in
	the 1960's.  Similar to {JOSS}, with declarations, pointers
	and block structure from {ALGOL 60}.  Implemented for {IBM
	360}/{IBM 370} under {TSS}.

	["LCC Reference Manual", H.R. Van Zoeren, CMU 196]9.

lcc

	<programming, tool> A hand-coded, {retargetable} compiler for
	{ANSI C} written by Dave Hanson <drh@cs.princeton.edu>.  lcc's
	{parser} is faster than {yacc} and the code it generates is
	"as good as {GCC}".

	Version 1.8 includes a {compiler}, test suite and
	documentation.  lcc has been ported to {Vax}, commercial
	backends for {MIPS}, {SPARC}, {68000} are cheap for
	universities.  {Chop} is a {code generator} for use with lcc.

	{(http://cs.princeton.edu/software/lcc/)}.

	E-mail: <lcc-requests@princeton.edu>.

	["A Retargetable C Compiler: Design and Implementation",
	Addison-Wesley, 1995, ISBN 0-8053-1670-1].

	(1998-03-20)

LCD

	{liquid crystal display}

LCF

	{Logic for Computable Functions}

LCL

	1. The Larch interface language for ANSI standard C.

	[J.V. Guttag et al, TR 74, DEC SRC, Palo Alto CA, 1991].

	2. Liga Control Language.

	Controls the attribute evaluator generator LIGA, part of the
	{Eli} {compiler-compiler}.

	["LCL: Liga Control Language", U. Kastens
	<uwe@uni-paderborn.de>, U Paderborn].

	(1995-01-23)

lclint

	<tool, programming> A lint-like {ANSI C} source checker from
	{MIT}.  If formal specifications are supplied (in a separate
	file), lclint can do more powerful checking to detect
	inconsistencies between specifications and code.  Adding
	specifications enables further checking, types can be defined
	as {abstract} and lclint can detect inconsistent use of
	{global variables}; undocumented modification of
	client-visible state; inconsistent use of an uninitialised
	{formal parameter}; or failure to initialise an actual
	parameter.

	{(http://larch-www.lcs.mit.edu:8001/larch/lclint.html)}.

	(1995-05-11)

LCP

	{Link Control Protocol}

LCS

	{Language for Communicating Systems}

ld

	1. <programming, tool> (Load) {Unix}'s {linker}.

	2. <mathematics> {logarithmus dualis}.

	(1999-03-19)

LDAP

	{Lightweight Directory Access Protocol}

LDB

	/l*'d*b/ [PDP-10 instruction] To extract from the middle.
	"LDB me a slice of cake, please."  This usage has been kept
	alive by Common LISP's function of the same name.  Considered
	silly.  See also {DPB}.

	[{Jargon File}]

LDL

	["LDL: A Logic-Based Data-Language", S. Tsur et al, Proc VLDB
	1986, Kyoto Japan, Aug 1986, pp.33-41].

LDL1

	Successor of LDL.  "Sets and Negation in a Logic Database
	Language", C. Beeri et al, in Proc 6th Ann ACM Symp Princs
	Database Sys (1987), pp.21- 37.

LDP

	{Linux Documentation Project}

LDT

	Logic Design Translator.

	Computer system design analysis.

	[Sammet 1969, p. 621].

	(1994-12-01)

LE/1

	Langage External.

	["An Evaluation of the LE/1 Network Command Language Designed
	for the SOC Network", J. du Masle, in Command Languages,
	C. Unger ed, N-H 1973].

	(1994-12-01)

leading

	<text> /ledding/ The spacing between lines of {text}.  This is
	defined when a {font} is designed but can often be altered in
	order to change the appearance of the text or for special
	effects.  It is measured in {points} and is normally 120% of
	the height of the text.

	See also {kerning}, {tracking}.

	(1996-06-07)

LEAF

	<language> 1. {LISP Extended Algebraic Facility}.

	2. "LEAF: A Language which Integrates Logic, Equations and
	Functions", R.  Barbuti et al in Logic Programming, Functions
	Relations and Equations, D.  DeGroot et al eds, P-H 1986,
	pp.201-238.

leaf

	<mathematics, data> (Or "terminal node") In a {tree}, a node
	which has no {daughter}.

	(1998-11-14)

Leaf Distribution Limited

	A UK connectivity software supplier which also provides
	SERVELAN, a country-wide {Internet} access service.

	E-mail: <sales@leaf.co.uk>.

	Address: 7 Elmwood, Chineham Business Park, Crockford Lane,
	BASINGSTOKE RG24 0WG.  Telephone: +44 (1256) 707 777.  Fax:
	+44 (1256) 707 555.

	(1995-01-04)

leaf site

	A machine that merely originates and reads {Usenet} news or
	mail, and does not relay any third-party traffic.  Often
	uttered in a critical tone; when the ratio of leaf sites to
	backbone, rib, and other relay sites gets too high, the
	network tends to develop bottlenecks.  Compare {backbone
	site}, {rib site}.

	[{Jargon File}]

League for Programming Freedom

	<body, legal> (LPF) A grass-roots organisation of professors,
	students, businessmen, programmers and users dedicated to
	bringing back the freedom to write programs.  Once programmers
	were allowed to write programs using all the techniques they
	knew, and providing whatever features they felt were useful.
	Monopolies, {software patents} and {interface copyrights} have
	taken away freedom of expression and the ability to do a good
	job.

	"{Look and feel}" lawsuits attempt to monopolise well-known
	command languages; some have succeeded.  Copyrights on command
	languages enforce gratuitous incompatibility, close
	opportunities for competition and stifle incremental
	improvements.

	{Software patents} are even more dangerous; they make every
	design decision in the development of a program carry a risk
	of a lawsuit, with draconian pre-trial seizure.  It is
	difficult and expensive to find out whether the techniques you
	consider using are patented; it is impossible to find out
	whether they will be patented in the future.

	The League is not opposed to the legal system that Congress
	intended -- {copyright} on individual programs.  They aim to
	reverse the changes made by judges in response to special
	interests, often explicitly rejecting the public interest
	principles of the Constitution.

	The League works to abolish the monopolies by publishing
	articles, talking with public officials, boycotting egregious
	offenders and in the future may intervene in court cases.  On
	1989-05-24, the League picketed {Lotus} headquarters on
	account of their lawsuits, and then again on 1990-08-02.
	These marches stimulated widespread media coverage for the
	issue.

	The League's funds are used for filing briefs; printing
	handouts, buttons and signs and whatever will persuade the
	courts, the legislators and the people.  The League is a
	non-profit corporation, but not considered a tax-exempt
	charity.

	{LPF Home (http://progfree.org/)}.

	(2007-02-28)

leak

	<programming> With a qualifier, one of a class of
	resource-management bugs that occur when resources are not
	freed properly after operations on them are finished, so they
	effectively disappear (leak out).  This leads to eventual
	exhaustion as new allocation requests come in.

	One might refer to, say, a "window handle leak" in a {window
	system}.

	See {memory leak}, {fd leak}.

	[{Jargon File}]

	(1995-04-18)

leaky heap

	{memory leak}

Lean

	An experimental language from the {University of Nijmegen} and
	{University of East Anglia}, based on graph rewriting and
	useful as an intermediate language.  Lean is descended from
	{Dactl0}.

	{Clean} is a subset of Lean.

	["Towards an Intermediate Language Based on Graph Rewriting",
	H.P.  Barendregt et al in PARLE: Parallel Architectures and
	Languages Europe, G. Goos ed, LNCS 259, Springer 1987,
	pp.159-175].

	(1995-01-25)

LEAP

	Language for the Expression of Associative Procedures.

	ALGOL-based formalism for sets and associative retrieval, for
	TX-2.  Became part of SAIL.

	"An ALGOL-based Associative Language", J.A. Feldman et al,
	CACM 12(8):439-449 (Aug 1969).

leapfrog attack

	Use of userid and password information obtained illicitly from
	one {host} (e.g. {download}ing a file of account IDs and
	passwords, tapping {TELNET}, etc.) to compromise another host.
	Also, the act of TELNETting through one or more hosts in order
	to confuse a trace (a standard {cracker} procedure).

	[{Jargon File}]

leap second

	{Coordinated Universal Time}

learning curve

	<jargon> A graph showing some measure of the cost of
	performing some action against the number of times it has been
	performed.  The term probably entered engineering via the
	aircraft industry in the 1930s, where it was used to describe
	plots showing the cost of making some particular design of
	aeroplane against the number of units made.

	The term is also used in psychology to mean a graph showing
	some measure of something learned against the number of
	trials.  The psychology graphs normally slope upward whereas
	the manufacturing ones normally slope downward but they are
	both usually steep to start with and then level out.

	{Marketroids} often misuse the term to mean the amount of time
	it takes to learn to use something ("reduce the learning
	curve") or the ease of learning it ("easy learning curve").
	The phrase "steep learning curve" is sometimes used
	incorrectly to mean "hard to learn" whereas of course it
	implies rapid learning.

	{Engineering
	(http://computerworld.com/cwi/story/0,1199,NAV47-68-85-1942_STO61762,00.html)}.

	{Psychology
	(http://sun.science.wayne.edu/~wpoff/cor/mem/opereinf.html)}.

	(2002-01-22)

leased line

	<communications, networking> A private telephone circuit
	permanently connecting two points, normally provided on a
	lease by a local {PTT}.

	(1998-03-24)

least fixed point

	<mathematics> A {function} f may have many {fixed points} (x
	such that f x = x).  For example, any value is a fixed point
	of the identity function, (\ x . x).

	If f is {recursive}, we can represent it as

		f = fix F

	where F is some {higher-order function} and

		fix F = F (fix F).

	The standard {denotational semantics} of f is then given by
	the least fixed point of F.  This is the {least upper bound}
	of the infinite sequence (the {ascending Kleene chain})
	obtained by repeatedly applying F to the totally undefined
	value, bottom.  I.e.

		fix F = LUB {bottom, F bottom, F (F bottom), ...}.

	The least fixed point is guaranteed to exist for a
	{continuous} function over a {cpo}.

	(2005-04-12)

least recently used

	(operating systems) (LRU) A rule used in a {paging} system
	which selects a page to be {paged out} if it has been used
	(read or written) less recently than any other page.  The same
	rule may also be used in a {cache} to select which cache entry
	to {flush}.

	This rule is based on {temporal locality} - the observation
	that, in general, the page (or cache entry) which has not been
	accessed for longest is least likely to be accessed in the
	near future.

	(1995-02-15)

least significant bit

	<data> (LSB) {Bit} zero, the bit of a {binary} number giving
	the number of ones, the last or rightmost bit when the number
	is written in the usual way.

	(1995-07-13)

least upper bound

	<theory> (lub or "join", "supremum") The least upper bound of
	two elements a and b is an upper bound c such that a <= c and
	b <= c and if there is any other upper bound c' then c <= c'.
	The least upper bound of a set S is the smallest b such that
	for all s in S, s <= b.  The lub of mutually comparable
	elements is their maximum but in the presence of incomparable
	elements, if the lub exists, it will be some other element
	greater than all of them.

	Lub is the dual to {greatest lower bound}.

	(In {LaTeX}, "<=" is written as {\sqsubseteq}, the lub of two
	elements a and b is written a {\sqcup} b, and the lub of set S
	is written as \bigsqcup S).

	(1995-02-03)

leaves

	{leaf}

LEC

	{Local Exchange Carrier}

LECOM

	Version of COMIT on GE 225 ca. 1966.  Sammet 1969, p.419.

LED

	<electronics> {Light-Emitting Diode}.

LEDA

	{Library of Efficient Data types and Algorithms}

Leda

	<language> A multi-paradigm language supporting {imperative
	programming}, {declarative programming}, {procedural
	programming}, {functional programming}, {logic programming}
	and {object-oriented programming} developed by Tim Budd
	<budd@cs.orst.edu> at Oregon State University in 1990-1993.

	["Blending Imperative and Relational Programming", Tim Budd,
	IEEE Software 8(1):58-65 (Jan 1991)].  Forthcoming book.

	{(ftp://cs.orst.edu/pub/budd/leda/)}.

	(2007-10-02)

LED page printer

	{LED printer}

LED printer

	<printer> (Or "LED page printer") A printer which is similar
	in operation to a {laser printer}, but where an array of
	{LEDs} is used in place of the laser.

	(1996-12-08)

leech

	<networking> Someone who {downloads} files but provides
	nothing for others to download.  The term is common on
	{BitTorrent}, which relies on having multiple sources for
	files to improve download speed.

	(2007-03-27)

leet

	{elite}

left arrow

	<character> The graphic which the 1963 version of {ASCII} had
	in place of the {underscore} character, {ASCII} 95.

	(1995-03-06)

left brace

	<character> "{".  {ASCII} character 123.

	Common names: open brace; left brace; left squiggly; left
	squiggly bracket/brace; left curly bracket/brace; {ITU-T}:
	opening brace.  Rare: brace ("}" = unbrace); curly ("}" =
	uncurly); leftit ("}" = rytit); left squirrelly; {INTERCAL}:
	embrace ("}" = bracelet).

	Paired with {right brace} ("}").

	(1995-03-16)

left bracket

	<character> "[".  {ASCII} character 91.

	Common: left square bracket; {ITU-T}: opening bracket;
	bracket.  Rare: square; {INTERCAL}: U turn.

	Paired with {right bracket} ("]").

	(1995-03-16)

left join

	{outer join}

left outer join

	{outer join}

left parenthesis

	<character> "(".  {ASCII} character 40.

	Common names: left paren; left parenthesis; left; {open};
	paren (")" = thesis); open paren; open parenthesis; left
	parenthesis; left banana.  Rare: so (")" = already); lparen;
	{ITU-T}: opening parenthesis; open round bracket, left round
	bracket, {INTERCAL}: wax (")" = wane); parenthisey (")" =
	unparenthisey); left ear.

	Paired with {right parenthesis} (")").

	(1995-03-06)

LeFun

	Logic, Equations and Functions.  An integration of {logic
	programming} and {functional programming} by H. Ait-Kaci et al
	of {MCC}, Austin TX.

	["LeFun: Logic, Equations and Functions", H. Ait-Kaci et al,
	Proc 1987 Symp on Logic Programming, San Francisco].

	(1994-10-21)

legacy

	{legacy system}

legacy code

	{legacy system}

legacy software

	{legacy system}

legacy system

	<jargon> A computer system or {application program} which
	continues to be used because of the cost of replacing or
	redesigning it and often despite its poor competitiveness and
	compatibility with modern equivalents.  The implication is
	that the system is large, monolithic and difficult to modify.

	If legacy software only runs on antiquated {hardware} the cost
	of maintaining this may eventually outweigh the cost of
	replacing both the software and hardware unless some form of
	{emulation} or {backward compatibility} allows the software to
	run on new hardware.

	(1998-08-09)

legal

	Loosely used to mean "in accordance with all the relevant
	rules", especially in connection with some set of constraints
	defined by software.  "The older =+ alternate for += is no
	longer legal syntax in ANSI C."  "This parser processes each
	line of legal input the moment it sees the trailing linefeed."
	Hackers often model their work as a sort of game played with
	the environment in which the objective is to maneuver through
	the thicket of "natural laws" to achieve a desired objective.
	Their use of "legal" is flavoured as much by this game-playing
	sense as by the more conventional one having to do with courts
	and lawyers.  Compare {language lawyer}, {legalese}.

	[{Jargon File}]

legalese

	Dense, pedantic verbiage in a language description, product
	specification, or interface standard; text that seems designed
	to obfuscate and requires a {language lawyer} to {parse} it.
	Though hackers are not afraid of high information density and
	complexity in language (indeed, they rather enjoy both), they
	share a deep and abiding loathing for legalese; they associate
	it with deception, {suits}, and situations in which hackers
	generally get the short end of the stick.

LEGOL

	"Application of MP/3 to the Design and Implementation of
	LEGOL, A Legally Oriented Language", S.H. Mandil et al, Intl
	Symp Programming, Paris 1974.

Le-Lisp

	Jerome Chailloux and Emmanuel St James, INRIA, France.  A LISP
	dialect close to Common Lisp, lexically scoped, with a
	CLOS-like object system.  Uses both packages and modules.
	"le-lisp: A Portable and Efficient Lisp System", J. Chailloux
	et al, Proc 1984 ACM Symp on Lisp and Functional Programming,
	ACM.  Version v.16, available from ILOG, France.

lemma

	<logic> A result already proved, which is needed in the proof
	of some further result.

	(1995-03-25)

Lempel-Ziv compression

	{Substitutional compression} schemes proposed by Jakob Ziv and
	Abraham Lempel in 1977 and 1978.  There are two main schemes,
	{LZ77} and {LZ78}.  {Lempel-Ziv Welch compression} is a
	variant of {LZ78}.

Lempel-Ziv Welch compression

	(LZW) The {algorithm} used by the {Unix} {compress} command to
	reduce the size of files, e.g. for archival or transmission.
	LZW was designed by Terry Welch in 1984 for implementation in
	hardware for high-performance disk controllers.  It is a
	variant of {LZ78}, one of the two {Lempel-Ziv compression}
	schemes.

	The LZW algorithm relies on reoccurrence of byte sequences
	(strings) in its input.  It maintains a table mapping input
	strings to their associated output codes.  The table initially
	contains mappings for all possible strings of length one.
	Input is taken one byte at a time to find the longest initial
	string present in the table.  The code for that string is
	output and then the string is extended with one more input
	byte, b.  A new entry is added to the table mapping the
	extended string to the next unused code (obtained by
	incrementing a counter).  The process repeats, starting from
	byte b.  The number of bits in an output code, and hence the
	maximum number of entries in the table is usually fixed and
	once this limit is reached, no more entries are added.

	LZW compression and decompression are licensed under {Unisys}
	Corporation's 1984 U.S. Patent 4,558,302 and equivalent
	foreign patents.  This kind of patent isn't legal in most
	coutries of the world (including the UK) except the USA.
	Patents in the UK can't describe {algorithms} or mathematical
	methods.

	[A Technique for High Performance Data Compression, Terry A.
	Welch, IEEE Computer, 17(6), June 1984, pp. 8-19]

	[J. Ziv and A. Lempel, "A Universal Algorithm for Sequential
	Data Compression," IEEE Transactions on Information Theory,
	Vol. IT-23, No. 3, May 1977, pp. 337-343].

Lenat, Doug

	{Doug Lenat}

lenient evaluation

	<reduction> An {evaluation strategy}, described in [Traub,
	FPCA 89], under which all {redex}es are evaluated in parallel
	except inside the arms of conditionals and inside {lambda
	abstractions}.  Lenient evaluation is an example of an {eager}
	evaluation strategy.

	(2004-01-22)

LEO

	{Low Earth Orbit}

Leo

	1. <language> A general-purpose {systems language},
	syntactically like {Pascal} and {Y}, semantically like {C}.

	["The Leo Programming Language", G. Townsend, CS TR 84-7, U
	Arizona 1984].

	(1996-02-06)

	2. <application> A general data management environment which
	can show user-created relationships among any kind data.  It
	can also be used as an {outlining editor} as it embeds the
	{noweb} and {CWEB} markup languages in an outline context.

	Leo is written in pure {Python} using {Tk/tcl} and so runs on
	{Windows}, {Linux} and {MacOS X}.  It isdistributed under the
	{Python License}.

	(2006-07-12)

LER

	1. <networking> {Label Edge Router}.

	2. <electronics, humour> {Light-Emitting Resistor}.

	[{Jargon File}]

	(1999-06-30)

LERP

	/lerp/ vi., Quasi-acronym for Linear Interpolation, used as a
	verb or noun for the operation. "Bresenham's algorithm lerps
	incrementally between the two endpoints of the line."

	[{Jargon File}]

less than

	<character> "<" {ASCII} character 60.

	Common names: {ITU-T}: less than; bra (">" = ket); left angle;
	left angle bracket; left broket.  Rare: from; read from; suck
	(">" = blow); comes-from; in; crunch (all from Unix);
	{INTERCAL}: angle.

	See also {greater than}.

	(1995-03-20)

LessTif

	<library> The {Hungry Programmers}' version of {OSF}/{Motif}.
	It will be source code compatible with Motif, meaning that the
	same source will compile with both libraries and work exactly
	the same.  All the programming is being done with no reference
	to the header files for the motif widgets, so that LessTif can
	be distributed as {free software}.

	{(http://hungry.com/products/lesstif)}.

	(1995-03-20)

let floating

	<programming> A {program transformation} used in {functional
	programming} to implement {full laziness}.  E.g. the function

		f x = x + sqrt 4

	can be expressed as

		f x = let t = sqrt 4 in x + t

	but note that t does not depend on the argument x so we can
	automatically transform this to

		t = sqrt 4
		f x = x + t

	Making t into a global constant which need only be evaluated
	at most once, rather than every time f is called.  The general
	idea is to float each subexpression as far out (toward the
	top level) as possible to maximise sharing.

	(1997-07-09)

letterbomb

	<messaging> 1. An {e-mail} message containing {live data}
	intended to do nefarious things to the recipient's computer or
	terminal.  It is possible, for example, to send letterbombs
	that will lock up some specific kinds of terminals when they
	are viewed, so thoroughly that the user must turn the terminal
	off to unwedge it.  Under {Unix}, a letterbomb can also try to
	get part of its contents interpreted as a shell command.  The
	results of this could range from silly to tragic.

	See also {Trojan horse}; compare {nastygram}, {talk bomb}.

	2. Loosely, a {mailbomb}.

	[{Jargon File}]

	(1998-01-16)

level 1 cache

	{primary cache}

level 2 cache

	{secondary cache}

LEVEL5 OBJECT

	From {Information Builders}.

	[What is it?]

level one cache

	{primary cache}

level-sensitive scan design

	(circuit design) (LSSD) A kind of {scan design} which uses
	separate system and scan clocks to distinguish between normal
	and test mode.  Latches are used in pairs, each has a normal
	data input, data output and clock for system operation.  For
	test operation, the two latches form a master/slave pair with
	one scan input, one scan output and non-overlapping scan
	clocks A and B which are held low during system operation but
	cause the scan data to be latched when pulsed high during
	scan.

		  ____
		 |    |
	 Sin ----|S   |
	 A ------|>   |
		 |   Q|---+--------------- Q1
	 D1 -----|D   |   |
	 CLK1 ---|>   |	  |
		 |____|	  |    ____
			  |   |	   |
			  +---|S   |
	 B -------------------|>   |
			      |	  Q|------ Q2 / SOut
	 D2 ------------------|D   |
	 CLK2 ----------------|>   |
			      |____|

	In a single latch LSSD configuration, the second latch is used
	only for scan operation.  Allowing it to be use as a second
	system latch reduces the silicon overhead.

	(1995-02-15)

level two cache

	{secondary cache}

Lex

	1. <tool> A {lexical analyser} generator for {Unix} and its
	input language.  There is a {GNU} version called {flex} and a
	version written in, and outputting, {SML/NJ} called {ML-lex}.
	A version, by David Poole at Montana has been retargeted to
	{Turbo Pascal}, {(ftp://iecc.com/pub/file/lyprg.zip)}.

	["Lex - A Lexical Analyzer Generator", M.E. Lesk, CS TR 39,
	Bell Labs, Oct 1975].

	2. <language, specification> The lexical specification
	language for {COPS}.

	["Metalanguages of the Compiler Production System COPS",
	J. Borowiec, in GI Fachgesprach "Compiler-Compiler", ed
	W. Henhapl, Tech Hochs Darmstadt 1978, pp.122-159].

	(2000-11-15)

lexeme

	<grammar> A minimal lexical unit of a language.  {Lexical
	analysis} converts strings in a language into a list of
	lexemes.  For a programming language these word-like pieces
	would include {keywords}, {identifiers}, {literals} and
	punctutation.  The lexemes are then passed to the {parser} for
	syntactic analysis.

	(1996-04-06)

lexer

	{lexical analyser}

lexical analyser

	<language> (Or "scanner") The initial input stage of a
	language processor (e.g. a {compiler}), the part that performs
	{lexical analysis}.

	(1995-04-05)

lexical analysis

	<programming> (Or "linear analysis", "scanning") The first
	stage of processing a language.  The stream of characters
	making up the source program or other input is read one at a
	time and grouped into {lexemes} (or "tokens") - word-like
	pieces such as keywords, identifiers, {literals} and
	punctutation.  The lexemes are then passed to the {parser}.

	["Compilers - Principles, Techniques and Tools", by Alfred
	V. Aho, Ravi Sethi and Jeffrey D. Ullman, pp. 4-5]

	(1995-04-05)

lexical scope

	<programming> (Or "static scope") When the {scope} of an
	{identifier} is fixed at {compile time} to some region in the
	{source code} containing the identifier's declaration.  This
	means that an identifier is only accessible within that region
	(including procedures declared within it).

	This contrasts with {dynamic scope} where the scope depends on
	the nesting of {procedure} and {function} calls at {run time}.

	Statically scoped languages differ as to whether the scope is
	limited to the smallest {block} (including {begin}/end blocks)
	containing the identifier's declaration (e.g. {C}, {Perl}) or
	to whole function and procedure bodies (e.g. {ECMAScript}), or
	some larger unit of code (e.g. ?).  The former is known as
	{static nested scope}.

	(2005-07-28)

lexical scoping

	{lexical scope}

lexiphage

	<graphics> /lek'si-fayj"/ A notorious word {chomper},
	implemented and named by John Doty in late 1972 on and {HP}
	calculator and later on {ITS}.  The lexiphage program would
	draw on a selected victim's {bitmapped} terminal the words
	"THE BAG" in ornate letters, followed a pair of jaws biting
	pieces of it off.

	{http://lexiphage.com/)}.

	[{Jargon File}]

	(2002-06-12)

LF

	{Line Feed}

LFIB

	{Label Forwarding Information Base}

LG

	Simple language for analytic geometry, with graphic output.
	"LG: A Language for Analytic Geometry", J. Reymond, CACM 12(8)
	(Aug 1969).

LGDF

	Large-Grain DataFlow.

	["A Large-grain Data Flow Scheduler for Parallel Processing on
	Cyberplus", R.G. Babb et al, Proc 1986 Intl Conf on Parallel
	Proc, Aug 1986].

	(2000-07-07)

LGEN

	A {logic language} for {VLSI} implementation by {S.C. Johnson}
	of {Bell Labs}.

	[S.C. Johnson, "Code Generation for Silicon", Proc 10th POPL,
	1983].

	(1995-02-15)

LGN

	{Linear Graph Notation}

lha

	1. <filename extension> The {filename extension} for a file
	produced by the {shareware} {compression} and {archive}
	software {LHARC}.

	2. <tool> A {compression} program for {MS-DOS}.  Output files
	have the extension ".lzh".

	[Does it use {LZH} compression?]

	(2002-07-28)

LHARC

	<compression, algorithm> A {compression} program developed by
	Rahul Dhesi.  LHARC was later replaced with {LHA}, which
	produces files with extension ".lzh".

	(2002-07-28)

lhs

	<filename extension> The {filename extension} for {literate}
	{Haskell} source files.

	(1995-02-15)

li

	<networking> The {country code} for Liechtenstein.

	(1999-01-27)

Liana

	<language> A {C}-like, interpretive, {object-oriented
	programming} language, {class} library, and integrated
	development environment designed specifically for development
	of {application programs} for {Microsoft Windows} and {Windows
	NT}.  Designed by Jack Krupansky <Jack@BaseTechnology.com> of
	{Base Technology}, Liana was first released as a commercial
	product in August 1991.  The language is designed to be as
	easy to use as {BASIC}, as concise as {C}, and as flexible as
	{Smalltalk}.

	The {OOP} {syntax} of {C++} was chosen over the less familiar
	syntax of {Smalltalk} and {Objective-C} to appeal to {C}
	programmers and in recognition of C++ being the leading OOP
	language.  The syntax is a simplified subset of {C/C++}.  The
	{semantics} are also a simplified subset of C/C++, but
	extended to achieve the flexibility of Smalltalk.

	Liana is a typeless language (like {Lisp}, {Snobol} and
	{Smalltalk}), which means that the datatypes of variables,
	function parameters, and function return values are not needed
	since values carry the type information.  Hence, variables are
	simply containers for values and function parameters are
	simply pipes through which any type of value can flow.
	{Single inheritance}, but not {multiple inheritance}, is
	supported.  {Memory management} is automatic using {reference
	counting}.

	The library includes over 150 {classes}, for {dynamic arrays},
	{associative lookup} tables, windows, menus, dialogs,
	controls, bitmaps, cursors, icons, mouse movement, keyboard
	input, fonts, text and graphics display, {DDE}, and {MDI}.

	Liana provides flexible OOP support for Windows programming.
	For example, a {list box} automatically fills itself from an
	associated {object}.  That object is not some sort of special
	object, but is merely any object that "behaves like" an array
	(i.e., has a "size" member function that returns the number of
	elements, a "get" function that returns the ith element, and
	the text for each element is returned by calling the "text"
	member function for the element).

	A related product, C-odeScript, is an embeddable application
	scripting language.  It is an implementation of Liana which
	can be called from C/C++ applications to dynamically evaluate
	expressions and statement sequences.  This can be used to
	offer the end-user a macro/scripting capability or to allow
	the C/C++ application to be customized without changing the
	C/C++ source code.

	Here's a complete Liana program which illustrates the
	flexibility of the language semantics and the power of the
	class library:

	 main
	 {
	   // Prompt user for a string.
	   // No declaration needed for "x" (becomes a global variable.)
	   x = ask ("Enter a String");

	   // Use "+" operator to concatenate strings. Memory
	   // management for string temporaries is automatic.  The
	   // "message" function displays a Windows message box.
	   message ("You entered: " + x);

	   // Now x will take on a different type.  The "ask_number"
	   // function will return a "real" if the user's input
	   // contains a decimal point or an "int" if no decimal
	   // point.
	   x = ask_number ("Enter a Number");

	   // The "+" operator with a string operand will
	   // automatically convert the other operand to a string.

	   message ("You entered: " + x);

	   // Prompt user for a Liana expression.  Store it in a
	   // local variable (the type, string, is merely for
	   // documentation.)
	   string expr = ask ("Enter an Expression");

	   // Evaluate the expression. The return value of "eval"
	   // could be any type.  The "source_format" member function
	   // converts any value to its source format (e.g., add
	   // quotes for a string.)  The "class_name" member function
	   // return the name of the class of an object/value.
	   // Empty parens can be left off for member function calls.
	   x = eval (expr);
	   message ("The value of " + expr + " is " + x.source_format +
	       " its type is " + x.class_name);
	 }

	The author explained that the "Li" of Liana stands for
	"Language interpreter" and liana are vines that grow up trees
	in tropical forests, which seemed quite appropriate for a tool
	to deal with the complexity of MS Windows!  It is also a
	woman's name.

	["Liana for Windows", Aitken, P., PC TECHNIQUES, Dec/Jan
	1993].

	["Liana: A Language For Writing Windows Programs", Burk, R.,
	Tech Specialist (R&D Publications), Sep 1991].

	["Liana v. 1.0." Hildebrand, J.D., Computer Language, Dec
	1992].

	["Liana: A Windows Programming Language Based on C and C++",
	Krupansky, J., The C Users Journal, Jul 1992].

	["Writing a Multimedia App in Liana", Krupansky, J.,
	Dr. Dobb's Journal, Winter Multimedia Sourcebook 1994].

	["The Liana Programming Language", R. Valdes, Dr Dobbs J Oct
	1993, pp.50-52].

	(1999-06-29)

Liar

	{MIT Scheme}

liar paradox

	<philosophy> A sentence which asserts its own falsity,
	e.g. "This sentence is false" or "I am lying".  These
	paradoxical assertions are meaningless in the sense that there
	is nothing in the world which could serve to either support or
	refute them.  Philosophers, of course, have a great deal more
	to say on the subject.

	["The Liar: an Essay on Truth and Circularity", Jon Barwise
	and John Etchemendy, Oxford University Press (1987). ISBN
	0-19-505944-1 (PBK), Library of Congress BC199.P2B37].

	(1995-02-22)

lib

	<operating system> Library.  In {Unix}, the directories /lib
	and /usr/lib traditionally contain files with {filename
	extension} ".lib" that are special {archives} containing
	modules of standard {object code}.  In modern Unixes the same
	directories contain ".so" (shared object) files, which are
	similar except that the object code they contain is designed
	to be loaded once and shared by all application code that
	needs it, thus saving memory.

	(2008-11-25)

libg++

	<library> The {run-time library} for the {GNU} {C++} compiler,
	{g++}.  Version: 2.5.1 is a superset of {ANSI} and {POSIX.1}.

	libg++ is no longer maintained, use libstd++ instead if
	possible.

	Available by {FTP} from a {GNU archive site}.

	Bug reports: <bug-lib-g++@gnu.org>.

	(2000-04-24)

library

	<programming, library> A collection of {subroutines} and
	{functions} stored in one or more files, usually in compiled
	form, for linking with other programs.  Libraries are one of
	the earliest forms of organised {code reuse}.  They are often
	supplied by the {operating system} or {software development
	environment} developer to be used in many different programs.
	The routines in a library may be general purpose or designed
	for some specific function such as three dimensional animated
	graphics.

	Libraries are linked with the user's program to form a
	complete {executable}.  The linking may be {static linking}
	or, in some systems, {dynamic linking}.

	(1998-11-21)

Library of Efficient Data types and Algorithms

	<library> (LEDA) A {class library} for {C++} of efficient data
	types (e.g. {graph} {classes}) and {algorithms} by Stefan
	N"aher <stefan@mpi-sb.mpg.de> of the {University of
	Saarbruecken}.  Version 3.0 includes both {template} and
	non-template versions.

	{(ftp://ftp.mpi-sb.mpg.de/pub/LEDA)}.

	(1996-04-15)

librery

	<spelling> It's spelled "{library}".

	(1996-12-13)

LIDO

	An input language for the attribute evaluator generator {LIGA}
	(a successor of {GAG} and a subsystem of the {Eli}
	compiler-compiler).  LIDO is derived from GAG's input language
	{ALADIN}.

	["LIDO: A Specification Language for Attribute Grammars",
	U. Kastens <uwe@uni-paderborn.de>, Fab Math-Inf, U Paderborn
	(Oct 1989)].

	(1994-10-20)

LiE

	A {symbolic mathematics} package aimed at {Lie groups}.

	["LiE, a Package for Lie Group Computations", M.A.A. van
	Leeuwen et al, in Computer Algebra Nederland, 1992 (ISBN
	90-741160-02-7)].

	(1994-10-20)

LIF

	1. <hardware> {Low Insertion Force}.

	2. <file format> {Logical Interchange Format}.

	(2003-10-15)

LIFE

	<language> Logic of Inheritance, Functions and Equations.

	An {object-oriented}, {functional}, {constraint}-based
	language by Hassan Ait-Kacy <hak@prl.dec.com> et al of {MCC},
	Austin TX, 1987.  LIFE integrates ideas from {LOGIN} and
	{LeFun}.

	Mailing list: life-users@prl.dec.com.

	See also {Wild_LIFE}.

	["Is There a Meaning to LIFE?", H. Ait-Kacy et al, Intl Conf
	on Logic Prog, 1991].

	[{Jargon File}]

	(1995-04-21)

Life

	<games> The first popular {cellular automata} based
	{artificial life} "game".  Life was invented by British
	mathematician {John Horton Conway} in 1970 and was first
	introduced publicly in "Scientific American" later that year.

	Conway first devised what he called "The Game of Life" and
	"ran" it using plates placed on floor tiles in his house.
	Because of he ran out of floor space and kept stepping on the
	plates, he later moved to doing it on paper or on a
	checkerboard, and then moved to running Life as a computer
	program on a {PDP-7}.  That first implementation of Life as a
	computer program was written by M. J. T. Guy and
	{S. R. Bourne} (the author of {Unix}'s {Bourne shell}).

	Life uses a rectangular grid of binary (live or dead) cells
	each of which is updated at each step according to the
	previous state of its eight neighbours as follows: a live cell
	with less than two, or more than three, live neighbours dies.
	A dead cell with exactly three neighbours becomes alive.
	Other cells do not change.

	While the rules are fairly simple, the patterns that can arise
	are of a complexity resembling that of organic systems -- hence
	the name "Life".

	Many hackers pass through a stage of fascination with Life,
	and hackers at various places contributed heavily to the
	mathematical analysis of this game (most notably {Bill Gosper}
	at {MIT}, who even implemented Life in {TECO}!; see
	{Gosperism}).  When a hacker mentions "life", he is more
	likely to mean this game than the magazine, the breakfast
	cereal, the 1950s-era board game or the human state of
	existence.

	{Yahoo!
	(http://yahoo.com/Science/Artificial_Life/Conway_s_Game_of_Life/)}.

	{Demonstration
	(http://research.digital.com/nsl/projects/life/)}.

	["Scientific American" 223, October 1970, p120-123, 224;
	February 1971 p121-117, Martin Gardner].

	["The Garden in The Machine: the Emerging Science of
	Artificial Life", Claus Emmeche, 1994].

	["Winning Ways, For Your Mathematical Plays", Elwyn
	R. Berlekamp, John Horton Conway and Richard K. Guy, 1982].

	["The Recursive Universe: Cosmic Complexity and the Limits of
	Scientific Knowledge", William Poundstone, 1985].

	[{Jargon File}]

	(1997-09-07)

life

	<jargon> The opposite of {Usenet}.  As in "{Get a life!}"

	[{Jargon File}]

	(1995-04-21)

life-cycle

	{software life-cycle}

Life is hard

	[XEROX PARC] This phrase has two possible interpretations: (1)
	"While your suggestion may have some merit, I will behave as
	though I hadn't heard it."  (2) "While your suggestion has
	obvious merit, equally obvious circumstances prevent it from
	being seriously considered."  The charm of the phrase lies
	precisely in this subtle but important ambiguity.

	[{Jargon File}]

LIFIA

	Laboratoire d'Informatique Fondamentale et d'Intelligence
	Artificielle.

LIFO

	{stack}

lifted domain

	<theory> In {domain theory}, a {domain} with a new {bottom}
	element added.  Given a domain D, the lifted domain, lift D
	contains an element lift d corresponding to each element d in
	D with the same ordering as in D and a new element bottom
	which is less than every other element in lift D.

	In {functional languages}, a lifted domain can be used to
	model a {constructed type}, e.g. the type

		data LiftedInt = K Int

	contains the values K minint .. K maxint and K bottom,
	corresponding to the values in Int, and a new value bottom.
	This denotes the fact that when computing a value v = (K n)
	the computation of either n or v may fail to terminate
	yielding the values (K bottom) or bottom respectively.

	(In LaTeX, a lifted domain or element is indicated by a
	subscript {\perp}).

	See also {tuple}.

LIGHT

	LIfecycle Global HyperText.

	A project in the CERN ECP/TP group whereby documents resulting
	from the {software life cycle} are available as {hypertext}.

	(1995-02-03)

light client

	{thin client}

light-emitting diode

	<electronics> (LED) a type of {diode} that emits light when
	current passes through it.  Depending on the material used the
	colour can be visible or infrared.  LEDs have many uses,
	visible LEDs are used as indicator lights on all sorts of
	electronic devices and in moving-message panels, while
	infrared LEDs are the heart of remote control devices.

	See also {smoke-emitting diode}.

	(1996-01-05)

light-emitting resistor

	<electronics, humour> (LER, from "{light-emitting diode}") A
	{resistor} in the final stages of burning up.

	(Though intended as purely humorous, the term could sensibly
	describe the filament of a common incandescent electric light
	bulb).

	See also {SED}.

	(1996-02-06)

light pen

	<hardware> An early {pointing device} which the user pointed
	at a {raster}-scanned display screen.  A {photocell} in the
	pen detected the flying spot of the raster scan.  The position
	of the spot at that instant, obtained from the scanning
	electronics, was made available to software as (x, y)
	co-ordinates.

	(2003-12-02)

light pipe

	{optical fibre}

light-weight

	<jargon> Opposite of {heavy-weight}; usually found in
	combining forms such as "{light-weight process}".

	[{Jargon File}]

	(1996-02-22)

Lightweight Directory Access Protocol

	<protocol> (LDAP) A {protocol} for accessing on-line
	{directory services}.

	LDAP was defined by the {IETF} in order to encourage adoption
	of {X.500} directories.  The {Directory Access Protocol} (DAP)
	was seen as too complex for simple {internet clients} to use.
	LDAP defines a relatively simple protocol for updating and
	searching directories running over {TCP/IP}.

	LDAP is gaining support from vendors such as {Netscape},
	{Novell}, {Sun}, {HP}, {IBM}/Lotus, {SGI}, {AT&T}, and
	{Banyan}

	An LDAP directory entry is a collection of attributes with a
	name, called a distinguished name (DN).  The DN refers to the
	entry unambiguously.  Each of the entry's attributes has a
	{type} and one or more values.  The types are typically
	mnemonic strings, like "cn" for common name, or "mail" for
	{e-mail address}.  The values depend on the type.  For
	example, a mail attribute might contain the value
	"donald.duck@disney.com".  A jpegPhoto attribute would contain
	a photograph in binary {JPEG}/{JFIF} format.

	LDAP directory entries are arranged in a {hierarchical}
	structure that reflects political, geographic, and/or
	organisational boundaries.  Entries representing countries
	appear at the top of the tree.  Below them are entries
	representing states or national organisations.  Below them
	might be entries representing people, organisational units,
	printers, documents, or just about anything else.

	{RFC 1777}, {RFC 1778}, {RFC 1959}, {RFC 1960}, {RFC 1823}.

	{LDAP v3
	(http://kingsmountain.com/LDAPRoadmap/CurrentState.html)}.

	[Difference v1, v2, v3?]

	(2003-09-27)

light-weight process

	<operating system, parallel> (LWP) A single-threaded
	sub-process which, unlike a {thread}, has its own {process
	identifier} and may also differ in its inheritance and
	controlling features.

	Several {operating systems}, e.g. {SunOS} 5.x, provide {system
	calls} for creating and controlling LWPs.

	(1996-02-22)

like kicking dead whales down the beach

	{kicking dead whales down the beach}

like nailing jelly to a tree

	<jargon, humour> Used to describe a task thought to be
	impossible, especially one in which the difficulty arises from
	poor specification or inherent slipperiness in the problem
	domain.  "Trying to display the "prettiest" arrangement of
	nodes and arcs that diagrams a given graph is like nailing
	jelly to a tree, because nobody's sure what "prettiest" means
	algorithmically."

	[{Jargon File}]

	(1997-12-23)

like this

	You weren't supposed to follow that link, it was just an
	example of what a link looks like.

Lila

	Patrick Salle'<salle@geocub.greco-prog.fr>.  A small
	assembly-like language used for implementation of Actor
	languages.  [Plasma perhaps?].

Lilith

	<computer> The {workstation} for which {Modula-2} was
	developed as the system language.

	[Details?]

	(1995-10-25)

LILLIAC IV

	<computer> A {supercomputer} designed in the late 1960s at the
	{University of Illinois} which had 64 separate {CPUs} all
	supervised by a common control unit and all capable of
	operating simultaneously.

	(1996-11-25)

lilo

	1. <operating system> {Linux Loader}.

	2. {first-in first-out}.

	(2001-03-26)

Lily

	(LIsp LibrarY) A {C++} {class} library by Roger Sheldon
	<sheldon@kong.gsfc.nasa.gov> which gives C++ programmers the
	capability to write {Lisp}-style code.  Lily's {garbage
	collection} mechanism is not sufficient for commercial use
	however and the documentation is incomplete.  It is
	distributed under the {GNU} Library {General Public License}.

	Version: 0.1.

	{(ftp://sunsite.unc.edu/uploads/lily-0.1.tar.gz)}.

	(1993-11-08)

LIMDEP

	A {linear programming} language used by economists.

LIM EMS

	{Expanded Memory Specification}

LIMP

	["Messages in Typed Languages", J. Hunt et al, SIGPLAN Notices
	14(1):27-45 (Jan 1979)].

Linc

	1. <language> A {Burroughs}/{Unisys} {4GL} designed in New
	Zealand.

	2. {Laboratory Instrument Computer}.

	(1999-03-29)

Lincoln Reckoner

	An interactive mathematics program including matrix
	operations, written about 1965.  It ran on the {TX-2}.

	["The Lincoln Reckonere: An Operation-Oriented On-line
	Facility with Distributed Control", A.N. Stowe et al, Proc
	FJCC 29 (1966)].

	[Sammet 1969, pp. 245-247].

LINCtape

	<storage> A formatted, block-oriented, high-reliability,
	{random access} tape system used on the {Laboratory Instrument
	Computer}.  The tape was 3/4" wide.

	The funny {DECtape} is actually a variant of the original
	LINCtape.  According to {Wesley Clark}, DEC tried to "improve"
	the LINCtape system, which mechanically, was wonderfully
	simple and elegant.  The DEC version had pressure fingers and
	tape guides to force alignment as well as huge {DC} servo
	motors and complex control circuitry.  These literally
	shredded the tape to bits if not carefully adjusted, and
	required frequent cleaning to remove all the shedded tape
	oxide.  That was amazing, because the tape had a micro-thin
	plastic layer OVER the oxide to protect it.  What happened was
	that all the forced alignment stuff caused shredding at the
	edge.

	An independent company, Computer Operations[?], built LINCtape
	drives for use in nuclear submarines.  This was based on the
	tape system's high reliability.  Correspondent Brian Converse
	has a picture of himself holding a LINCtape punched full of
	1/4" holes.  It still worked!

	(1999-03-29)

Linda

	<language> A "coordination language" from {Yale}, providing a
	model for {concurrency} with communication via a shared
	{tuple} space.  Linda is usually implemented as a subroutine
	library for a specific base language, as in {C-Linda},
	{Fortran-Linda}, {LindaLISP} and {Prolog-Linda}.  It is
	available from {Scientific Computing Associates, Inc.}  [What
	is?]

	{(http://cs.yale.edu/HTML/YALE/CS/Linda/linda.html)}.

	There is a {Multi-BinProlog} Linda implementation available by
	{(ftp://clement.info.umoncton.ca/)}.

	["Generative Communication in Linda", D. Gelernter
	<gelernter@cs.yale.edu>, ACM TOPLAS 7(1):80-112 (1985)].

	["Linda in Context", N. Carreiro et al, Yale U., CACM
	32(4):444-458, Apr 1989].

	See also {Ease}, {Lucinda}, {Melinda}.

	(2000-07-07)

LindaLISP

	{Linda} for {Lisp}.

line

	1. <hardware> An electrical conductor.  For distances larger
	than a breadbox, a single line may consist of two electrical
	conductors in twisted, parallel, or concentric arrangement
	used to transport one logical signal.

	By extension, a (usually physical) medium such as an {optical
	fibre} which carries a signal.

	(1995-09-29)

line 666

	<jargon> (Christian eschatological myth) The notional line of
	source at which a program fails for obscure reasons, implying
	either that *somebody* is out to get it (when you are the
	programmer), or that it richly deserves to be got (when you
	are not).

	E.g. "It works when I trace through it, but seems to crash on
	line 666 when I run it."  "What happens is that whenever a
	large batch comes through, mmdf dies on the Line of the Beast.
	Probably some twit {hard-coded} a buffer size."

	[{Jargon File}]

	(1999-03-01)

linear address space

	A memory addressing scheme used in processors where the whole
	memory can be accessed using a single address that fits in a
	single register or instruction.  This contrasts with a
	{segmented memory} architecture, such as that used on the
	{Intel 8086}, where an address is given by an offset from a
	base address held in one of the "segment registers".  Linear
	addressing greatly simplifies programming at the {assembly
	language} level but requires more instruction word bits to be
	allocated for an address.

	(1995-02-16)

linear argument

	<theory> A function argument which is used exactly once by the
	function.

	If the argument is used at most once then it is safe to
	{inline} the function and replace the single occurrence of the
	formal parameter with the actual argument expression.  If the
	argument was used more than once this transformation would
	duplicate the argument expression, causing it to be evaluated
	more than once.

	If the argument is sure to be used at least once then it is
	safe to evaluate it in advance (see {strictness analysis})
	whereas if the argument was not used then this would waste
	work and might prevent the program from terminating.

	(1994-11-03)

linear assignment

	{assignment problem}

linear function

	A {recursive} function is linear if it is of the form

		f x = if p x then q x else h f x

	where h is a "linear functional" which means that

	(1) for all functions, a, b c and some function ht

		h (if a then b else c) = if ht a then h b else h c

	Function ht is known as the "predicate transformer" of h.

	(2) If for some x,

		h (\ y . bottom) x  /=  bottom

	then

		for all g,  ht g x  =  True.

	I.e. if h g x terminates despite g x not terminating then ht g
	x doesn't depend on g.

	See also {linear argument}.

	(1995-02-15)

Linear Graph Notation

	(LGN) A linearised representation of {TCOL} trees.

	[B.W. Leverett et al, "An Overview of the Production Quality
	Compiler-Compiler Projects", TR CMU-CS-79-105, Carnegie Mellon
	1979].

	(1995-01-23)

linear logic

	<theory> A {logic} invented by Girard in 1987 that can be used
	in proofs related to resource usage.

	{(http://brics.dk/LS/96/6/BRICS-LS-96-6/BRICS-LS-96-6.html)}.

	[Wadler, P., "Is there a use for linear logic", ACM/IFIP PEPM
	Conference, 1991].

	[Summary?]

	(2003-05-02)

linear map

	<mathematics> (Or "linear transformation") A {function} from a
	{vector space} to a vector space which respects the {additive}
	and {multiplicative} structures of the two: that is, for any
	two {vectors}, u, v, in the source vector space and any
	scalar, k, in the {field} over which it is a vector space, a
	linear map f satisfies f(u+kv) = f(u) + kf(v).

	(1996-09-30)

linear programming

	<application> A procedure for finding the maximum or minimum
	of a {linear function} where the arguments are subject to
	linear {constraints}.  The {simplex method} is one well known
	{algorithm}.

	(1995-04-06)

linear space

	<mathematics> A {vector space} where all {linear combinations}
	of elements are also elements of the space.  This is easy for
	spaces of numbers but not for a space of functions.  Roughly,
	this is to say that multiplication by numbers, and addition of
	elements is defined in the space.

	(2000-03-10)

linear topology

	<theory> A linear topology on a {left A-module} M is a {topology}
	on M that is invariant under translations and admits a
	{fundamental system of neighborhood} of 0 that consists of
	{submodules} of M.  If there is such a topology, M is said to be
	linearly topologized.  If A is given a {discrete topology}, then M
	becomes a topological A-module with respect to a linear topology.

	[Wikipedia]

	(2014-06-30)

linear transformation

	{linear map}

linear type

	1. <theory, programming> An attribute of values which are used
	exactly once: they are neither duplicated nor destroyed.  Such
	values require no {garbage collection}, and can safely be
	updated in place, even if they form part of a data structure.

	Linear types are related to the {linear logic} of J.-Y Girard.
	They extend Schmidt's notion of {single threading}, provide an
	alternative to Hudak and Bloss' {update analysis}, and offer a
	practical complement to Lafont and Holmström's elegant {linear
	languages}.

	['Use-Once' Variables and Linear Objects - Storage Management,
	Reflection and Multi-Threading, Henry Baker.
	{(http://home.pipeline.com/~hbaker1/Use1Var.html)}].

	["Linear types can change the world!", Philip Wadler,
	"Programming Concepts and Methods", April 1990, eds. M. Broy,
	C. Jones, pub. North-Holland, IFIP TC2 Working Conference on
	Programming Concepts and Methods, Sea of Galilee, Israel].

	(1995-03-03)

line conditioning

	<communications> The adjustment of electrical characteristics
	of, e.g., {twisted pair} telephone lines by insertion of
	components such as resistors, capacitors, transformers or
	(commonly) inductors.  Lines intended for analogue voice
	signals usually have inductors inserted every few miles; such
	a line is said to be "loaded".

	The special purpose lines which have neither inductors nor the
	DC voltage which powers ordinary telephones are said to be
	"dry," and are much better for data transmission.

	(1996-04-07)

line eater

	<messaging> 1. A {bug} in some now-obsolete versions of the
	{Usenet} software that used to eat up to {BUFSIZ} bytes of the
	article text.  The bug was triggered by having the text of the
	article start with a space or tab.  This bug was quickly
	personified as a mythical creature called the "line eater",
	and postings often included a dummy line of "line eater food".
	Ironically, line eater "food" not beginning with a space or
	tab wasn't actually eaten, since the bug was avoided; but if
	there *was* a space or tab before it, then the line eater
	would eat the food *and* the beginning of the text it was
	supposed to be protecting.  The practice of "sacrificing to
	the line eater" continued for some time after the bug had been
	{nailed to the wall}, and is still humorously referred to.
	The bug itself is still (in mid-1991) occasionally reported to
	be lurking in some mail-to-netnews {gateways}.

	2. {NSA line eater}.

	(1996-04-09)

line editor

	<tool, text> An early kind of {text editor} suited to use on a
	{teletype}.  The user enters editing commands which apply to
	the current line or some given range of lines.  These include
	moving forward and backward through the buffer, inserting and
	deleting lines, substituting a string for a pattern match, and
	printing lines.  Visual feedback is restricted to explicitly
	requesting the display of one or more lines, in contrast to a
	{screen editor}.

	{ed} is {Unix}'s line editor.

	(1999-03-01)

line feed

	<character> (LF, control-J, {ASCII} 10) The {ASCII} character
	meaning move the {cursor} down to the same column on the next
	line.  Originally this would have been done by "feeding" paper
	through the printer.

	{Unix} uses line feed as its text line terminator ({newline}
	character).

	(1997-07-14)

line noise

	<communications> 1. Spurious characters due to electrical
	{noise} in a communications link, especially an {EIA-232}
	serial connection.  Line noise may be induced by poor
	connections, interference or {crosstalk} from other circuits,
	electrical storms, {cosmic rays}, or (notionally) birds
	crapping on the phone wires.

	2. Any chunk of data in a file or elsewhere that looks like
	the results of electrical line noise.

	3. Text that is theoretically a readable text or program
	source but employs {syntax} so bizarre that it looks like line
	noise.  Yes, there are languages this ugly.  The canonical
	example is {TECO}, whose input syntax is often said to be
	indistinguishable from line noise.  Other non-{WYSIWYG}
	editors, such as {Multics} "{qed}" and {Unix} "{ed}", in the
	hands of a real hacker, also qualify easily, as do
	deliberately {obfuscate}d languages such as {INTERCAL}.

	[{Jargon File}]

	(1994-12-22)

line printer

	<printer> A {printer} that prints one entire line at a time.
	Print quality is low compared with a {laser printer}.  Line
	printers typically use {sprocket feed} and wide fanfold paper.

	Line printer speed is usually measured in lines per minute
	(lpm).  1200 lpm is a good rate for a line printer like a 3205
	m5.  66 lines per page is typical, giving 18 pages per minute
	(ppm).  This assumes all upper case, if a mixed case print
	train is used, throughput is halved.  By comparison, a fast
	{laser printer} can output 100+ ppm

	(1999-01-13)

line probing

	A feature of some {V.34} {modems} that will allow them to
	identify the capacity and quality of the phone line and adjust
	themselves to allow, for each individual connection, for
	maximum throughput using the highest possible data
	transmission rate.

	(1994-06-09)

lines of code

	<programming, unit> (LOC) A common measure of the size or
	progress of a programming project.  For example, one can
	describe a completed project as consisting of 100,000 LOC; or
	one can characterise a week's progress as 5000 LOC.

	Using LOC as a metric of progress encourages programmers to
	{reinvent the wheel} or split their code into lots of short
	lines.

	(2001-05-28)

lines per minute

	<unit> (lpm) A unit used to measure {line printer} throughput.

	(1999-01-13)

line starve

	(MIT, opposite of {line feed}) 1. To feed paper through a
	printer the wrong way by one line (most printers can't do
	this).  On a display terminal, to move the cursor up to the
	previous line of the screen.  "To print "X squared", you just
	output "X", line starve, "2", line feed."  (The line starve
	causes the "2" to appear on the line above the "X", and the
	line feed gets back to the original line.)

	2. A character (or character sequence) that causes a terminal
	to perform this action.  ASCII 26, also called SUB or
	control-Z, was one common line-starve character in the days
	before {microcomputers} and the {X3.64} terminal standard.
	Unlike "line feed", "line starve" is *not* standard {ASCII}
	terminology.  Even among hackers it is considered silly.

	3. (Proposed) A sequence such as \c (used in {System V}
	{echo}, as well as {nroff} and {troff}) that suppresses a
	{newline} or other character(s) that would normally be
	emitted.

	[{Jargon File}]

	(1995-02-03)

Lingo

	An animation scripting language.

	[MacroMind Director V3.0 Interactivity Manual, MacroMind
	1991].

LINGOL

	LINguistics Oriented Language.  Natural language processing.

	["A Linguistics Oriented Programming Language", V.R. Pratt,
	Third Intl Joint Conf on AI, 1973].

link

	1. <file system> {hard link} or {symbolic link}.

	2. <hypertext> {hypertext link}.

	(1997-10-22)

Link Access Procedure on the D channel

	(LAPD) (Q.921).  An {Integrated Services Digital Network}
	{data link layer} protocol.

Link Access Protocol Balanced

	<protocol> (LAPB) {X.25} layer 2 ({data link layer})
	{protocol}.

	[Details?]

	(1996-01-22)

Link Access Protocol for Modems

	(LAPM) The {Automatic Repeat Request} system used in the
	{V.42} {protocol}.

linkage editor

	{linker}

Link Control Protocol

	<protocol> A {protocol} used to automatically agree upon
	{encapsulation} format options, handle varying packet size
	limits, authenticate the identity of its {peer} on the link,
	determine when a link is functioning properly and when it is
	defunct, detect a looped-back link and other common
	misconfiguration errors, and terminate the link.

	[RFC 1570].

	(1997-05-10)

link-dead

	Said of a {MUD} character who has frozen in place because of a
	dropped network connection.

	[{Jargon File}]

	(1995-01-24)

link editor

	{linker}

linked list

	<programming> A data structure in which each element contains
	a pointer to the next element, thus forming a linear list.

	A doubly linked list contains pointers to both the next and
	previous elements.

	(1995-03-28)

linker

	<programming, tool> (link editor, linkage editor, link loader)
	A program that combines one or more files containing {object
	code} from separately compiled program {modules} into a single
	file containing loadable or executable code

	This process involves resolving references between the
	{modules} and fixing the {relocation} information used by the
	operating system {kernel} when loading the file into memory to
	run it.

	Under {Unix}, the linker is called "ld" and {object files}
	have filename extension .o (object), .so (shared object), or
	.lib ({library}), and the resulting {executable} is called
	"a.out" by default.

	(2001-10-13)

link farm

	<file system, Unix> A directory tree that contains mostly
	{symbolic links} to files in a master directory tree of files.
	Link farms save space when one is maintaining several nearly
	identical copies of the same source tree - for example, when
	the only difference is architecture-dependent object files.
	They also mean that changes to the master tree are instantly
	visible in the link farm.  Good {text editors} provide the
	option to replace a link with a new version of the target file
	when saving thus allowing the farm to have its own versions of
	just those files that differ from the master tree.

	E.g. "Let's freeze the source and then rebuild the FROBOZZ-3
	and FROBOZZ-4 link farms."

	Link farms may also be used to get around restrictions on the
	number of "-I" (include-file directory) arguments on older C
	preprocessors.  However, they can also get completely out of
	hand, becoming the file system equivalent of {spaghetti code}.

	[{Jargon File}]

	(2001-02-08)

link loader

	{linker}

link rot

	<web> The process by which links on a {web page}
	became unusable as the pages they point to change location or
	are removed.

	(1997-03-29)

links

	{link}

Link State Routing Protocol

	<networking, communications> A {routing} {protocol} such as
	{OSPF} which permits routers to exchange information with one
	another about the reachability of other networks and the cost
	or metric to reach the other networks.

	The cost/metric is based on number of {hops}, link speeds,
	traffic congestion, and other factors as determined by the
	network designer.  Link state routers use {Dijkstra's
	algorithm} to calculate shortest (lowest cost) paths, and
	normally update other routers with whom they are connected
	only when their own routing tables change.

	Link state routing is an improvement over {distance-vector
	routing} protocols such as {RIP} which normally use only a
	single metric (such as hop count) and which exchange all of
	their table information with all other routers on a regular
	schedule.  Link state routing normally requires more
	processing but less transmission overhead.

	(2000-03-14)

LINPACK

	1. A package of {linear algebra} routines.

	2. The kernel {benchmark} developed from the "LINPACK" package
	of linear algebra routines.  It was written by Jack Dongarra
	<dongarra@cs.utk.edu> in {Fortran} and is commonly used in
	that language but there is also a {C} version.

	Source Code by FTP: {single precision Fortran
	(ftp://netlib.att.com/netlib/benchmark/linpacks.Z)},
	{double precision Fortran
	(ftp://netlib.att.com/netlib/benchmark/linpackd.Z)},
	{C (ftp://netlib.att.com:/netlib/benchmark/linpackc.Z)}.

	{Results
	(http://performance.netlib.org/performance/html/linpack.data.col0.html)}.

	(1994-11-14)

lint

	A {Unix} {C} language processor which carries out more
	thorough checks on the code than is usual with C {compilers}.

	Lint is named after the bits of fluff it supposedly picks from
	programs.  Judging by references on {Usenet} this term has
	become a shorthand for {desk check} at some non-Unix shops,
	even in languages other than {C}.  Also used as {delint}.

	[{Jargon File}]

	(1994-11-14)

Linux

	<operating system> ("Linus Unix") /li'nuks/ (but see below)
	An implementation of the {Unix} {kernel} originally written
	from scratch with no proprietary code.

	The kernel runs on {Intel} and {Alpha} hardware in the general
	release, with {SPARC}, {PowerPC}, {MIPS}, {ARM}, {Amiga},
	{Atari}, and {SGI} in active development.  The SPARC, PowerPC,
	ARM, {PowerMAC} - {OSF}, and 68k ports all support {shells},
	{X} and {networking}.  The Intel and SPARC versions have
	reliable {symmetric multiprocessing}.

	Work on the kernel is coordinated by Linus Torvalds, who holds
	the copyright on a large part of it.  The rest of the
	copyright is held by a large number of other contributors (or
	their employers).  Regardless of the copyright ownerships, the
	kernel as a whole is available under the {GNU} {General Public
	License}.  The GNU project supports Linux as its kernel until
	the research {Hurd} kernel is completed.

	This kernel would be no use without {application programs}.
	The GNU project has provided large numbers of quality tools,
	and together with other {public domain} software it is a rich
	Unix environment.  A compilation of the Linux kernel and these
	tools is known as a Linux distribution.  Compatibility modules
	and/or {emulators} exist for dozens of other computing
	environments.

	The kernel version numbers are significant: the odd numbered
	series (e.g. 1.3.xx) is the development (or beta) kernel which
	evolves very quickly.  Stable (or release) kernels have even
	major version numbers (e.g. 1.2.xx).

	There is a lot of commercial support for and use of Linux,
	both by hardware companies such as {Digital}, {IBM}, and
	{Apple} and numerous smaller network and integration
	specialists.  There are many commercially supported
	distributions which are generally entirely under the GPL.  At
	least one distribution vendor guarantees {Posix} compliance.
	Linux is particularly popular for {Internet Service
	Providers}, and there are ports to both parallel
	supercomputers and {embedded} {microcontrollers}.  {Debian} is
	one popular {open source} distribution.

	The pronunciation of "Linux" has been a matter of much debate.
	Many, including Torvalds, insist on the short I pronunciation
	/li'nuks/ because "Linus" has an /ee/ sound in Swedish
	(Linus's family is part of Finland's 6% ethnic-Swedish
	minority) and Linus considers English short /i/ to be closer
	to /ee/ than English long /i:/ dipthong.  This is consistent
	with the short I in words like "linen".  This doesn't stop
	others demanding a long I /li:'nuks/ following the english
	pronunciation of "Linus" and "minus".  Others say /li'niks/
	following {Minix}, which Torvalds was working on before Linux.

	{More on pronunciation (/pub/misc/linux-pronunciation)}.

	{LinuxHQ (http://linuxhq.com/)}.  {slashdot
	(http://slashdot.org/)}.  {freshmeat (http://freshmeat.net/)}.
	{Woven Goods (http://fokus.gmd.de/linux/)}.  {Linux
	Gazette (http://ssc.com/lg)}.

	{funet Linux Archive (ftp://ftp.funet.fi/pub/Linux)}, {US
	mirror (ftp://sunsite.unc.edu/pub/Linux/)}, {UK Mirror
	(ftp://sunsite.doc.ic.ac.uk/packages/Linux/)}.

	(2000-06-09)

Linux Documentation Project

	<project> (LDP) A team of volunteers developing documentation
	for the {Linux} {operating system}.  The LDP aims to handle
	all of the issues of Linux documentation, ranging from on-line
	documentation to printed manuals, covering topics such as
	installing, using, and running Linux.  The LDP has no central
	organisation; anyone can join in.

	{(http://metalab.unc.edu/LDP/)}.

	(1999-06-10)

Linux Loader

	<operating system> (LILO) A {boot loader} for {Linux}.  LILO
	does not depend on a specific {file system}, it can boot Linux
	{kernel images} from {floppy disks} and {hard disks} and can
	even boot other {operating systems}.  One of up to sixteen
	differernt images can be selected at {boot time}.  Various
	{parameters}, such as the {root device}, can be set
	independantly for each kernel.  LILO can even be used as the
	{master boot record}.

	(2006-09-12)

Linux Network Administrators' Guide

	(NAG) A book on setting up and running {Unix} networks.  NAG
	is freely available in electronic form.  It was produced by
	Olaf Kirch, <okir@monad.swb.de> and others as part of the
	{Linux Documentation Project} with help from {O'Reilly and
	Associates}.

	It includes the following sections: Introduction to
	Networking, Issues of {TCP/IP} Networking, Configuring the
	Networking Hardware, Setting up the Serial Hardware,
	Configuring TCP/IP Networking, {Name Service} and {Resolver}
	Configuraton, {Serial Line IP}, The {Point-to-Point Protocol},
	Various Network Applications, The {Network Information
	System}, The {Network File System}, Managing {Taylor UUCP},
	{Electronic Mail}, Getting {smail} Up and Running,
	{Sendmail+IDA}, {Netnews}, {C} News, A Description of NNTP,
	Newsreader Configuration, Glossary, Annotated Bibliography.

	{FTP from UNC (ftp://sunsite.unc.edu/pub/Linux/docs/LDP)}.
	{FTP from MIT (ftp://tsx-11.mit.edu/pub/linux/docs/LDP)}.

	(1994-12-01)

Linux User Group

	<body, operating system> (LUG) Any organisation of {Linux} users
	in a local area, university, etc., that offers mutual technical
	support, companionship with people of similar interests and
	promotes the use of Linux among computer users generally.

	LUGs often hold Install Fests for the general public, in which
	experienced Linux users explain and supervise the installation
	of Linux on new users' systems.

	(2003-09-14)

lion food

	<humour> (IBM) Middle management or HQ staff, or, by
	extension, administrative drones in general.  The term derives
	from an old joke:

	Two lions escape from the zoo and split up to increase their
	chances.  When they finally meet after two months, one is
	skinny and the other overweight.  The thin one says, "How did
	you manage?  I ate a human just once and they turned out a
	small army to chase me with guns and nets, it was terrible.
	Since then I've been reduced to eating mice, insects, even
	grass."  The fat one replies: "Well, *I* hid near an IBM
	office and ate a manager every day.  Nobody even noticed!"

	[{Jargon File}]

	(1994-12-01)

Lions Book

	<publication> "Source Code and Commentary on Unix level 6", by
	John Lions.

	The two parts of this book contained the entire source listing
	of the {Unix} Version 6 {kernel}, and a commentary on the
	source discussing the {algorithms}.  These were circulated
	internally at the {University of New South Wales} beginning
	1976-77, and were, for years after, the *only* detailed kernel
	documentation available to anyone outside {Bell Labs}.
	Because {Western Electric} wished to maintain trade secret
	status on the kernel, the Lions book was never formally
	published and was only supposed to be distributed to
	affiliates of source licensees (it is still possible to get a
	Bell Labs reprint of the book by sending a copy of a V6 {source
	licence} to the right person at {Bellcore}, but *real* insiders
	have the UNSW edition).  In spite of this, it soon spread by
	{samizdat} to a good many of the early Unix hackers.

	{(http://peer-to-peer.com/catalog/history/lions.html)}.

	In 1996 it was reprinted as a "classic":

	[John Lions, "Lions' Comentary on UNIX 6th Edition with Source
	Code", Computer Classics Revisited Series, Peer-to-Peer
	Communications, 1996, ISBN 1-57398-013-7].

	[{Jargon File}]

	(1997-06-25)

LIPL

	Linear IPL.

	A linearised (i.e. horizontal format) version of IPL-V.

	[Sammet 1969, p. 394].

	[R. Dupchak, "LIPL - Linear Information Processing Language",
	Rand Memo RM-4320-PR, Feb 1965].

	(1994-12-01)

liquid crystal display

	<hardware> (LCD) An electro-optical device used to display
	digits, characters or images, commonly used in digital
	watches, calculators, and portable computers.

	The heart of the liquid crystal display is a piece of {liquid
	crystal} material placed between a pair of transparent
	{electrodes}.  The liquid crystal changes the phase of the
	light passing through it and this phase change can be
	controlled by the {voltage} applied between the electrodes.
	If such a unit is placed between a pair of {plane polariser}
	plates then light can pass through it only if the correct
	voltage is applied.  Liquid crystal displays are formed by
	integrating a number of such cells, or more usually, by using
	a single liquid crystal plate and a pattern of electrodes.

	The simplest kind of liquid crystal displays, those used in
	digital watches and calculators, contain a common electrode
	plane covering one side and a pattern of electrodes on the
	other.  These electrodes can be individually controlled to
	produce the appropriate display.  Computer displays, however,
	require far too many pixels (typically between 50,000 and
	several millions) to make this scheme, in particular its
	wiring, feasible.  The electrodes are therefore replaced by a
	number of row electrodes on one side and column electrodes on
	the other.  By applying voltage to one row and several columns
	the {pixels} at the intersections are set.

	The pixels being set one row after the other, in {passive
	matrix} displays the number of rows is limited by the ratio of
	the setting and fading times.  In the setup described above
	(known as "{twisted nematic}") the number of rows is limited
	to about 20.  Using an alternative "{supertwisted nematic}"
	setup {VGA} quality displays (480 rows) can be easily built.
	As of 1995 most {notebook computers} used this technique.

	Fading can be slowed by putting an active element, such as a
	{transistor}, on the top of each pixel.  This "remembers" the
	setting of that pixel.  These {active matrix} displays are of
	much better quality (as good as {CRTs}) but are much more
	expensive than the passive matrix displays.

	LCDs are slimmer, lighter and consume less power than the
	previous dominant display type, the {cathode ray tube}, hence
	their importance for {portable computers}.

	(1995-12-09)

LIS

	Langage Implementation Systeme.

	A predecessor of {Ada} developed by Ichbiah in 1973.  It was
	influenced by {Pascal}'s data structures and {Sue}'s control
	structures.  A type declaration can have a low-level
	implementation specification.

	["The System Implementation Language LIS", J.D. Ichbiah et al,
	CII Honeywell-Bull, TR 4549 E/EN, Louveciennes France (Dec
	1974)].

	["The Two-Level Approach to Data Independent Programming in
	LIS", J.D. Ichbiah et al, in Machine Oriented Higher Level
	Languages, W. van der Poel ed, N-H 1974, pp.161-169].

	(1994-12-01)

LISA

	1. <computer> Local Integrated Software Architecture.

	A {personal computer} introduced by {Apple Computer, Inc.} in
	1983.  The LISA was a predecessor of the {Macintosh} and was
	the first personal computer on the market with a {graphical
	user interface}.

	It was origionally named after {Steve Jobs}'s daughter.  The
	acronym was applied later.

	[Spec?]

	2. <tool> A system for statistical data analysis, similar to
	{S}.

	{FTP MIT (ftp://dolphin.mit.edu/)}.

	3. <event> {Large Installation Systems Administration}.

	(2001-10-16)

Liskov, Barbara

	{Barbara Liskov}

Liskov substitution principle

	<programming, theory> (LSP) The principle that
	{object-oriented} {functions} that use {pointers} or
	references to a {base class} must be able to use {objects} of
	a {derived class} without knowing it.

	{Barbara Liskov} first wrote it as follows: If for each object
	o1 of type S there is an object o2 of type T such that for all
	programs P defined in terms of T, the behaviour of P is
	unchanged when o1 is substituted for o2 then S is a {subtype}
	of T.

	A function that violates the LSP uses a reference to a base
	class and must know about all the derivatives of that base
	class.  Such a function violates the {open/closed principle}
	because it must be modified whenever a new derivative of the
	base class is created.

	[Liskov, B. Data Abstraction and Hierarchy, SIGPLAN
	Notices. 23(5), May 1988].

	(2001-09-14)

Lisp

	<language> LISt Processing language.

	(Or mythically "Lots of Irritating Superfluous Parentheses").
	{Artificial Intelligence}'s mother tongue, a symbolic,
	{functional}, {recursive} language based on the ideas of
	{lambda-calculus}, variable-length lists and trees as
	fundamental data types and the interpretation of code as data
	and vice-versa.

	Data objects in Lisp are lists and {atoms}.  Lists may contain
	lists and atoms.  Atoms are either numbers or symbols.
	Programs in Lisp are themselves lists of symbols which can be
	treated as data.  Most implementations of Lisp allow functions
	with {side-effects} but there is a core of Lisp which is
	{purely functional}.

	All Lisp functions and programs are expressions that return
	values; this, together with the high memory use of Lisp, gave
	rise to {Alan Perlis}'s famous quip (itself a take on an Oscar
	Wilde quote) that "Lisp programmers know the value of
	everything and the cost of nothing".

	The original version was {LISP 1}, invented by {John McCarthy}
	<jmc@sail.stanford.edu> at {MIT} in the late 1950s.  Lisp is
	actually older than any other {high level language} still in
	use except {Fortran}.  Accordingly, it has undergone
	considerable change over the years.  Modern variants are quite
	different in detail.  The dominant {HLL} among hackers until
	the early 1980s, Lisp now shares the throne with {C}.  See
	{languages of choice}.

	One significant application for Lisp has been as a proof by
	example that most newer languages, such as {COBOL} and {Ada},
	are full of unnecessary {crocks}.  When the {Right Thing} has
	already been done once, there is no justification for
	{bogosity} in newer languages.

	See also {Association of Lisp Users}, {Common Lisp}, {Franz
	Lisp}, {MacLisp}, {Portable Standard Lisp}, {Interlisp},
	{Scheme}, {ELisp}, {Kamin's interpreters}.

	[{Jargon File}]

	(1995-04-16)

*LISP

	(StarLISP) A {data-parallel} extension of {Common LISP} for
	the {Connection Machine}, uses "{pvars}".

	{A *LISP simulator
	(ftp://think.com/public/starsim-f19-sharfile)}.

	E-mail: <customer-support@think.com>,
	<documentation-order@think.com>.

	[Cliff Lasser, Jeff Mincy, J.P. Massar, Thinking Machines
	Corporation  "The Essential *LISP Manual", TM Corp 1986].

	[{Jargon File}]

LISP 1

	The original {Lisp}.  Invented by John McCarthy et al at {MIT}
	in the late 50's.  Followed by {LISP 1.5}.

LISP 1.5

	The second version of {Lisp}, successor to {LISP 1}.
	Developed at {MIT} in 1959.  Followed by LISP 1.75, LISP 1.9,
	{Lisp 2} and many other versions.

LISP 2

	{LISP 1.5} with an {ALGOL 60}-like surface syntax.  Also
	optional type declarations, new data types including
	integer-indexed {arrays} and character strings, partial-word
	extraction/insertion operators and {macros}.  A
	{pattern-matching} facility similar to {COMIT} was proposed.
	Implemented for the {Q-32} computer.

	["The LISP 2 Programming Language and System", P.W.  Abrahams
	et al, Proc FJCC 29:661-676, AFIPS (Fall 1966).]

LISP70

	A {Lisp} dialect descended from {MLISP} and {MLISP2}.  Also
	known as PLISP and VEL.  Useful for parsing.  Only the
	pattern-matching system was published and fully implemented.
	According to Alan Kay, LISP70 had an influence on
	{Smalltalk-72}.  "The LISP70 Pattern Matching System, Larry
	Tesler et al, IJCAI 73.

LISP A

	"LISP A: A LISP-like System for Incremental Computing", E.J.
	Sandewall, Proc SJCC 32 (1968).

LISP Extended Algebraic Facility

	<language> (LEAF)

	["An Algebraic Extension to LISP", P.H. Knowlton, Proc FJCC 35
	1969].

	(1996-06-07)

Lispkit

	<language> A {functional programming} language designed by
	Peter Henderson with Lisp syntax. Designed for portability.
	The Lispkit implementation is an extension to Landin's SECD
	machine that supports lazy evaluation.  See also Stack
	environment control dump machine.

Lispkit Lisp

	Purely functional version of LISP.  "Functional Programming,
	Application and Implementation", P. Henderson, P-H 1980.

Lisp-Linda

	P. Dourish, U Edinburgh 1988.

Lisp Machine

	1. <architecture> Any {machine} (whether notional or actual)
	whose instruction set is {Lisp}.

	2. <hardware, operating system> A line of {workstations} made
	by {Symbolics, Inc.} from the mid-1970s (having grown out of
	the {MIT AI Lab}) to late 1980s.  All system code for
	Symbolics Lisp Machines was written in {Lisp Machine Lisp}.
	Symbolics Lisp Machines were also notable for having had
	{space-cadet keyboards}.

	[More details and historical background?]

	{Lisp Machine Museum
	(http://kogs-www.informatik.uni-hamburg.de/~moeller/symbolics-info/symbolics.html)}.

	(2003-07-03)

LISP Machine LISP

	<language> An extension of {Maclisp}, now called {Zetalisp}.

	(1998-12-13)

Lisp Object-Oriented Programming System

	(LOOPS) An {object-oriented} extension of {Lisp} from the
	{Intelligent Systems Laboratory} at {Xerox} {Palo Alto
	Research Center}.  It is used in the development of
	{knowledge-based systems}.

	See also {CommonLoops}.

	["The LOOPS Manual", D.G. Bobrow & M. Stefik, Xerox Corp
	1983].

LISP, Objects, and Symbolic Programming

	A book with compiler included by Robert R. Kessler and Amy
	R. Petajan, published by Scott, Foresman and Company,
	Glenview, IL, USA.  (1988).

Lisptalk

	"Concurrent Programming Language Lisptalk", C. Li, SIGPLAN
	Notices 23(4):71-80 (Apr 1988).

LispView

	CLOS based windowing system on OpenWindows.

list

	<data> A data structure holding many values, possibly of
	different types, which is usually accessed sequentially,
	working from the head to the end of the tail - an "ordered
	list".  This contrasts with a (one-dimensional) {array}, any
	element of which can be accessed equally quickly.

	Lists are often stored using a cell and pointer arrangement
	where each value is stored in a cell along with an associated
	pointer to the next cell.  A special pointer, e.g. zero, marks
	the end of the list.  This is known as a (singly) "linked
	list".  A doubly linked list has pointers from each cell to
	both next and previous cells.

	An unordered list is a {set}.

	(1998-11-12)

list comprehension

	<functional programming> An expression in a {functional
	language} denoting the results of some operation on (selected)
	elements of one or more lists.  An example in {Haskell}:

	[ (x,y) | x <- [1 .. 6], y <- [1 .. x], x+y < 10]

	This returns all pairs of numbers (x,y) where x and y are
	elements of the list 1, 2, ..., 10, y <= x and their sum is
	less than 10.

	A list comprehension is simply "{syntactic sugar}" for a
	combination of applications of the functions, concat, map and
	filter.  For instance the above example could be written:

		filter p (concat (map (\ x -> map (\ y -> (x,y))
				 [1..x]) [1..6]))
		where
		p (x,y) = x+y < 10

	According to a note by Rishiyur Nikhil <nikhil@crl.dec.com>,
	(August 1992), the term itself seems to have been coined by
	Phil Wadler circa 1983-5, although the programming construct
	itself goes back much further (most likely Jack Schwartz and
	the SETL language).

	The term "list comprehension" appears in the references below.

	The earliest reference to the notation is in Rod Burstall and
	John Darlington's description of their language, NPL.

	David Turner subsequently adopted this notation in his
	languages SASL, KRC and Miranda, where he has called them "{ZF
	expressions}", set abstractions and list abstractions (in his
	1985 FPCA paper [Miranda: A Non-Strict Functional Language
	with Polymorphic Types]).

	["The OL Manual" Philip Wadler, Quentin Miller and Martin
	Raskovsky, probably 1983-1985].

	["How to Replace Failure by a List of Successes" FPCA
	September 1985, Nancy, France, pp. 113-146].

	(1995-02-22)

List Enhanced

	<operating system, tool> An {MS-DOS} file browsing utility
	written by Vern Buerg in 1983.  A former {mainframe} systems
	programmer, Buerg wrote DOS utilities when he began using an
	{IBM PC} and missed the file-scanning ability he had on
	mainframes.  The software became an instant success, and his
	list utility was in use on an estimated 5 million PCs.

	{shareware version (http://buerg.com/ftp.html)}.

	(1997-05-16)

listless

	<programming> In {functional programming}, a property of a
	{function} which allows it to be combined with other functions
	in a way that eliminates intermediate data structures,
	especially lists.

	{Phil Wadler}'s thesis gives the conditions for a function to
	be in listless form: each input list is traversed only once,
	one element at a time, from left to right.  Each output list
	is generated once, one element at a time, from left to right.
	No other lists are generated or traversed.

	Not all functions can be expressed in listless form
	(e.g. reverse).

	(1995-02-22)

Listproc

	A {mailing list} processor owned and developed by {BITNET}
	which runs under {Unix}.

	See also {Listserv}, {Majordomo}.

	[Details?]

	(1995-02-22)

lists

	{list}

Listserv

	<messaging> An automatic {mailing list} server, initially
	written to run under {IBM}'s {VM} {operating system} by Eric
	Thomas.

	Listserv is a {user name} on some computers on {BITNET}/{EARN}
	which processes {electronic mail} requests for addition to or
	deletion from mailing lists.  Examples are listserv@ucsd.edu,
	listserver@nysernet.org.

	Some listservs provide other facilities such as retrieving
	files from {archives} and {database} search.  Full details of
	available services can usually be obtained by sending a
	message with the word HELP in the subject and body to the
	listserv address.

	Eric Thomas, has recently formed an international corporation,
	L-Soft, and has ported Listserv to a number of other
	{platforms} including {Unix}.  Listserv has simultaneously
	been enhanced to use both the {Internet} and {BITNET}.

	Two other major {mailing list} processors, both of which run
	under {Unix}, are {Majordomo}, a {freeware} system, and
	{Listproc}, currently owned and developed by {BITNET}.

	(1995-02-22)

Liszt

	A {Franz Lisp} compiler in {C} which emits {C}, by Jeff
	W. Dalton <jeff@festival.ed.ac.uk>.

	Mailing list: franz-friends-request@berkeley.edu.

	(1994-10-20)

lite

	<spelling> (Misspelling of "light", when used to mean
	"lightweight") A suffix denoting a scaled-down or crippled
	product, often designed to be distributed without charge,
	e.g. on a magazine {coverdisk}.  An example is {pklite}.

	(1995-10-06)

literal

	<programming> A constant made available to a process, by
	inclusion in the executable text.  Most modern systems do not
	allow texts to modify themselves during execution, so literals
	are indeed constant; their value is written at compile-time
	and is read-only at run time.

	In contrast, values placed in variables or files and accessed
	by the process via a symbolic name, can be changed during
	execution.  This may be an asset.  For example, messages can
	be given in a choice of languages by placing the translation
	in a file.

	Literals are used when such modification is not desired.  The
	name of the file mentioned above (not its content), or a
	physical constant such as 3.14159, might be coded as a
	literal.  Literals can be accessed quickly, a potential
	advantage of their use.

	(1996-01-23)

literate programming

	<programming, text> Combining the use of a {text formatting}
	language such as {TeX} and a conventional programming language
	so as to maintain {documentation} and {source code} together.

	Literate programming may use the {inverse comment convention}.

	{Perl}'s literate programming system is called {pod}.

	(2003-09-24)

literature

	The literature.  Computer-science journals and other
	publications, vaguely gestured at to answer a question that
	the speaker believes is trivial.  Thus, one might answer an
	annoying question by saying "It's in the literature."  Oppose
	{Knuth}, which has no connotation of triviality.

	(1994-11-04)

LITHE

	Object-oriented with extensible syntax.

	"LITHE: A Language Combining a Flexible Syntax and Classes",
	D. Sandberg, Conf Rec 9th Ann ACM Sym POPL, ACM 1982,
	pp.142-145.

lithium lick

	{NeXT} employees who have had too much attention from their
	esteemed founder, {Steve Jobs}, are said to have "lithium
	lick" when they begin to show signs of Jobsian fervour and
	repeat the most recent catch phrases in normal conversation,
	e.g. "It just works, right out of the box!"

	[{Jargon File}]

LitProg

	{literate programming}

LITTLE

	A typeless language used to produce machine-independent
	software.  LITTLE has been used to implement SETL.

	"Guide to the LITTLE Language", D. Shields, LITTLE Newsletter
	33, Courant Inst (Aug 1977).

little-endian

	<data, architecture> A computer architecture in which, within
	a given 16- or 32-bit {word}, bytes at lower addresses have
	lower significance (the word is stored "little-end-first").
	The {PDP-11} and {VAX} families of computers and {Intel}
	{microprocessors} and a lot of communications and networking
	hardware are little-endian.

	The term is sometimes used to describe the ordering of units
	other than bytes; most often, bits within a byte.

	Compare {big-endian}, {middle-endian}.  See {NUXI problem}.

	[{Jargon File}]

	(1995-08-16)

Little Smalltalk

	A line-oriented near-subset of {Smalltalk-80} written in {C}
	by Tim Budd <budd@cs.orst.edu>.  Version 3 runs on {Unix},
	{IBM PC}, {Atari} and {VMS}.

	{(ftp://cs.orst.edu/pub/budd/)}.

	["A Little Smalltalk", Timothy Budd, A-W 1987].

live data

	1. Data that is written to be interpreted and takes over
	program flow when triggered by some un-obvious operation, such
	as viewing it.  One use of such hacks is to break security.
	For example, some smart terminals have commands that allow one
	to download strings to program keys; this can be used to write
	live data that, when listed to the terminal, infects it with a
	security-breaking {virus} that is triggered the next time a
	hapless user strikes that key.  For another, there are some
	well-known bugs in {vi} that allow certain texts to send
	arbitrary commands back to the machine when they are simply
	viewed.

	2. In {C}, data that includes pointers to functions
	(executable code).

	3. An object, such as a {trampoline}, that is constructed on
	the fly by a program and intended to be executed as code.

	4. Actual real-world data, as opposed to "test data".  For
	example, "I think I have the record deletion module finished."
	"Have you tried it out on live data?"  This usage usually
	carries the connotation that live data is more fragile and
	must not be corrupted, or bad things will happen.  So a more
	appropriate response to the above claim might be: "Well, make
	sure it works perfectly before we throw live data at it."  The
	implication here is that record deletion is something pretty
	significant, and a haywire record-deletion module running amok
	on live data would probably cause great harm.

	[{Jargon File}]

Live Free Or Die!

	1. The state motto of New Hampshire, which appears on that
	state's automobile licence plates.

	2. A slogan associated with Unix in the romantic days when
	Unix aficionados saw themselves as a tiny, beleaguered
	underground tilting against the windmills of industry.  The
	"free" referred specifically to freedom from the {fascist}
	design philosophies and {crufty} misfeatures common on
	commercial operating systems.  Armando Stettner, one of the
	early Unix developers, used to give out fake licence plates
	bearing this motto under a large Unix, all in New Hampshire
	colours of green and white.  These are now valued collector's
	items.

livelock

	<parallel> /li:v'lok/ When two or more processes continuously
	change their state in response to changes in the other
	process(es) without doing any useful work.

	This is similar to {deadlock} in that no progress is made but
	differs in that neither process is blocked or waiting for
	anything.

	A human example of livelock would be two people who meet
	face-to-face in a corridor and each moves aside to let the
	other pass, but they end up swaying from side to side without
	making any progress because they always move the same way at
	the same time.

	[{Jargon File}]

	(1998-07-05)

LiveScript

	{JavaScript}

liveware

	/li:v'weir/ 1. A less common synonym for {wetware}

	2. (Cambridge) Vermin.  "Waiter, there's some liveware in my
	salad."

	[{Jargon File}]

	(1995-10-30)

lk

	<networking> The {country code} for Sri Lanka.

	(1999-01-27)

LKA

	{Lan Kanal Adapter}

LL

	<grammar> A class of language {grammars}, which can
	be {parse}d without {backtrack}ing.  The first L stands for
	Left-to-right scan, the second for Leftmost derivation.

	Often found in the form LL(k) where k is the number of
	{tokens} of {look-ahead} required when parsing a sentence of
	the language.  In particular, LL(1) is a fairly restrictive
	class of grammar, but allows simple {top-down} parsing
	(e.g. {recursive-descent}) to be used without wasteful
	{backtracking}.  A number of programming languages are LL(1)
	(or close).

	(1995-10-30)

LLC

	{Logical Link Control}

LLGen

	<tool> A {BNF}-based {LL1} {parser generator} by Fischer and
	LeBlanc.  It conforms to a subset of {FMQ}.

	{(ftp://csczar.ncsu.edu/)}.

	["Crafting A Compiler", Fischer and LeBlanc].

	(1990-03-31)

LLM3

	/el el em trwa/ The {assembly language} for a {virtual
	machine} used as the implementation language for {Le-Lisp}.
	Developed by J. Chailloux of {INRIA}.

LLNL

	{Lawrence Livermore National Laboratory}

LLP

	{Lower Layer Protocol}

LM3

	The {Larch} interface language for {Modula-3}.

	["LM3: A Larch/Modula-3 Interface Language", Kevin D. Jones,
	TR 72, DEC SRC, Palo Alto CA].

LMAO

	<chat> laughed my ass off.  Seen on {Compuserve}.

	(1996-02-04)

LMDS

	{Local Multipoint Distribution System}

lmgtfy.com

	<humour, WWW> A somewhat sarcastic {web} service that
	animates the action of searching on {Google}.

	Instead of displaying the search results, the site creates a
	self-referential URL like

	{(http://lmgtfy.com/?q=GIYF)}

	that takes you to a page showing an animation of the actions of
	clicking in the Google search box, entering some text and clicking
	the submit button.  It then takes you to the results on Google.

	The link is intended be sent to in answer to a question that could
	easily have been answered by Google.  It is a more polite, if
	long-winded, way of saying {JFGI} or {STFW}.

	In the belief that it is better to teach a man to fish than to
	give him a fish, the service helps the recipient to help himself
	while succinctly conveying the message that he is too stupid to
	use Google.

	(2014-05-23)

LML

	1. Lazy ML.

	A {lazy}, {purely functional} variant of {ML} designed by
	Thomas Johnson and Lennart Augustsson at the Chalmers
	University of Technology, Gothenburg, Sweden in 1984.  LML is
	implemented on the {G-machine}, and was used to implement the
	first {Haskell B compiler}.  There is a compiler (lmlc) and
	interpreter.

	{(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers)}.

	(1994-12-14)

	2. Logical ML.

	Adds to {Lazy ML} a data type of "theories" whose objects
	represent {logic programs}.

	["Logic Programming within a Functional Framework", A. Brogi
	et al, in Programming Language Implementation and Logic
	Programming, P. Deransart et al eds, LNCS 456, Springer 1990].

	(1994-12-14)

LM-Prolog

	Lisp Machine Prolog.

	A {Prolog} {interpreter} in {Zetalisp} for the {Lisp Machine}
	developed by Ken Kahn and Mats Carlsson in 1983.

	{(ftp://sics.se/archive/lm-prolog.tar.Z)}.

	["LM-Prolog User Manual", M. Carlsson et al, Uppsala Dec
	1983].

	(1994-12-14)

LMTP

	{Local Mail Transfer Protocol}

LNF

	["A Fully Lazy Higher Order Purely Functional Programming
	Language With Reduction Semantics", K.L. Greene, CASE Center
	TR 8503, Syracuse U 1985].

LO

	Linear Objects.  A {concurrent} {logic programming} language
	based on {linear logic}, an extension of {Horn logic} with a
	new kind of {OR-concurrency}.

	["LO and Behold! Concurrent Structured Processes", J. Andreoli
	et al, SIGPLAN Notices 25(10):44-56 (OOPSLA/ECOOP '90) (Oct
	1990)].

L&O

	Logic and Objects.  A front end for {IC Prolog}.

	{(ftp://src.doc.ic.ac.uk/computing/programming/languages/pd-ICP-0,90.tar.Z)}.
	E-mail: Zacharias Bobolakis <zb@doc.ic.ac.uk>.

	["Logic and Objects", Frank McCabe, Prentice-Hall].

load

	1. To copy {data} (often {program} {code} to be {run}) into
	{memory}, possibly {parsing} it somehow in the process.
	E.g. "{WordPerfect} can't load this {RTF} file - are you sure
	it didn't get corrupted in the {download}?"  Opposite of
	{save}.

	2. The degree to which a computer, {network}, or other
	resource is used, sometimes expressed as a percentage of the
	maximum available.  E.g. "What kind of CPU load does that
	program give?", "The network's constantly running at 100%
	load".  Sometimes used, by extension, to mean "to increase the
	level of use of a resource".  E.g. "Loading a spreadsheet
	really loads the CPU".  See also: {load balancing}.

	3. To {install} a piece of {software} onto a system.
	E.g. "The computer guy is gonna come load Excel on my laptop
	for me".  This usage is widely considered to be incorrect.

	(2002-07-02)

load balancing

	<operating system, parallel> Techniques which aim to spread
	tasks among the processors in a {parallel processor} to avoid
	some processors being idle while others have tasks queueing
	for execution.  Load balancing may be performed either by
	heavily loaded processors (with many tasks in their queues)
	sending tasks to other processors; by idle processors
	requesting work from others; by some centralised task
	distribution mechanism; or some combination of these.  Some
	systems allow tasks to be moved after they have started
	executing ("{task migration}") others do not.  It is important
	that the {overhead} of executing the load balancing
	{algorithm} does not contribute significantly to the overall
	processing or communications load.

	Distributed scheduling {algorithms} may be static, dynamic or
	preemptive.  Static algorithms allocate processes to
	processors at run time while taking no account of current
	network load.  Dynamic algorithms are more flexible, though
	more computationally expensive, and give some consideration to
	the network load before allocating the new process to a
	processor.  Preemptive algorithms are more expensive and
	flexible still, and may migrate running processes from one
	host to another if deemed beneficial.  Research to date
	indicates that dynamic algorithms yield significant
	performance benefits, but that further (though lesser) gains
	may be had through the addition of process migration
	facilities.

	(1995-03-13)

load-bearing printf

	<programming, humour> The kind of {bug} present in a {program}
	which works correctly when producing debug output but fails when
	the {debugging} is turned off.

	The expression combines {load-bearing wall
	(http://en.wikipedia.org/wiki/The_Builders)} and {printf} as used
	in {debugging by printf}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-05-10)

lobotomy

	1. What a hacker subjected to formal management training is
	said to have undergone.  At {IBM} and elsewhere this term is
	used by both hackers and low-level management; the latter
	doubtless intend it as a joke.

	2. The act of removing the processor from a {microcomputer} in
	order to replace or upgrade it.  Some very cheap {clone}
	systems are sold in "lobotomised" form - everything but the
	brain.

	[{Jargon File}]

LOC

	{lines of code}

local area network

	<networking> (LAN) A data communications network which is
	geographically limited (typically to a 1 km radius) allowing
	easy interconnection of terminals, {microprocessors} and
	computers within adjacent buildings.  {Ethernet} and {FDDI}
	are examples of standard LANs.

	Because the network is known to cover only a small area,
	optimisations can be made in the network signal protocols that
	permit data rates up to 100Mb/s.

	See also {token ring}, {wide area network}, {metropolitan area
	network}..

	{Usenet} newsgroup: {news:comp.dcom.lans.misc}.

	(1995-03-13)

Local Area Terminal

	<protocol> (LAT) A {DECnet}-related, non-routable network
	{protocol}.

	[Details?]

	(1999-01-14)

local bus

	<hardware> A {bus} connecting a {processor} to {memory},
	usually on the same {circuit board} as opposed to a
	{backplane} and therefore faster.

	Various proprietary local busses for {personal computers} are
	still in use.  The most common are {Vesa local bus} (VLB or
	VL), and {Peripheral Component Interconnect} (PCI).  Some
	computers, e.g. {notebook computers}, use a local bus with no
	expansion slots.  Previous non-local bus standards include
	{ISA}, {EISA} and {MCA}.

	(1997-08-25)

locale

	<programming> A geopolitical place or area, especially in the
	context of configuring an {operating system} or {application
	program} with its {character sets}, date and time formats,
	currency formats etc.

	Locales are significant for {internationalisation} and
	{localisation}.

	(1999-06-09)

local echo

	<communications> (Obsolete: "{half-duplex}") A mode of
	operation of a communications program or device in which it
	displays the characters the user enters at the same time as it
	sends them to the remote system.

	In communications between computers or computing processes,
	particularly those involving human keyboarding and/or reading,
	duplex came to mean the re-transmission of a keyboard
	character to the output display.

	Early input device such as the Teletype {ASR-33}
	{teleprinter}, being descended from the electric typewriter,
	printed all input characters as they were typed (i.e. they did
	local echo).  Local echo was typically optional on the {video
	terminals} that replaced them, and usually disabled in favour
	of {remote echo}.  A disadvantage of local echo is that it
	will continue, even when the communication circuit has failed,
	which can be misleading.

	(2000-03-30)

local exchange carrier

	<communications> (LEC) A company allowed to handle local calls
	following the break-up of the Bell system in the US by
	anti-trust regulators.  These vary from Regional Bell
	Operating Companies (RBOC) through to small independents such
	as Farmers Cooperative.

	Local exchange carriers are not allowed to handle
	long-distance traffic.  This is handled by inter-exchange
	carriers (IXC) who are not allowed to handle local calls.

	(2002-08-28)

localisation

	<programming> (l10n) Adapting a product to meet the language,
	cultural and other requirements of a specific target market
	"{locale}".

	Localisation includes the translation of the {user interface},
	{on-line help} and {documentation}, and ensuring the images
	and concepts are culturally appropriate and sensitive.  There
	may be subtle cross-cultural considerations, e.g. do the icons
	make sense in other parts of the world?

	{Internationalisation} is the process that occurs during
	application development that makes localisation easier by
	separating the details that differ between locales from the
	rest of the program that stays the same.  If
	internationalisation is thorough, localisation will require no
	programming.

	The abbreviation l10n means "L - 10 letters - N".

	(1999-06-09)

localised

	{localisation}

locality

	1. In sequential architectures programs tend to access data
	that has been accessed recently (temporal locality) or that is
	at an address near recently referenced data (spatial
	locality).  This is the basis for the speed-up obtained with a
	{cache} memory.

	2. In a multi-processor architecture with distributed memory
	it takes longer to access the memory attached to a different
	processor.  This overhead increases with the number of
	communicating processors. Thus to efficiently employ many
	processors on a problem we must increase the proportion of
	references which are to local memory.

	(1995-02-28)

local loop

	<communications> The circuits between a telephone subscriber's
	residence or business and the switching equipment at the local
	{central office}.

	(1995-03-17)

local loopback addresses

	The special {Internet address}, 127.0.0.1, defined by the
	{Internet Protocol}.  A {host} can use local the loopback
	address to send messages to itself.

	(1995-03-21)

Local Mail Transfer Protocol

	<messaging, protocol> (LMTP) A {protocol} designed as an
	alternative to {ESMTP} for cases where the mail receiver does
	not manage a queue.  LMTP is an {application level} {protocol}
	that runs on top of {TCP/IP}.  It was initially defined in
	{RFC 2033}, and uses (with a few changes) the syntax and
	semantics of {ESMTP}.  It should be used only by specific
	prior arrangement and configuration, and it must not be used
	on TCP {port} 25 (the {SMTP} port).

	(2002-03-09)

Local Multipoint Distribution System

	<wireless> (LMDS) A {broadband wireless} technology.

	[Details?]

locals

	The users on one's local network (as opposed, say, to people
	one reaches via public {Internet} or {UUCP} connections).  The
	marked thing about this usage is how little it has to do with
	real-space distance. "I have to do some tweaking on this mail
	utility before releasing it to the locals."

	(1994-11-29)

Local Shared Resources

	<operating system> (LSR) A way of controlling {VSAM} buffers
	in {OS/390}.

	(2002-02-17)

LocalTalk

	<networking> An {Apple Computer} {network} {standard} using
	{Apple Computer}'s own networking hardware.

	Compare {EtherTalk}.

	(1994-11-29)

local variable

	<programming> A {variable} with {lexical scope}, i.e. one
	which only exists in some particular part of the {source
	code}, typically within a {block} or a {function} or
	{procedure} body.  This contrasts with a {global variable},
	which is defined throughout the whole program.

	Code is easier to understand and modify when the scope of
	variables is as small as possible because it is easier to see
	how the variable is set and used.  Code containing global
	variables is harder to modify because its behaviour may depend
	on and affect other sections of code that refer to that
	variable.

	(2009-12-14)

location

	{memory location}

Loch Ness Monster Bug

	<humour> (Or "Bugfoot") A {bug} which cannot be reproduced or has
	only been sighted by one person.  Named after the mythical
	creature claimed to inhabit Loch Ness in Scotland.

	(2012-12-29)

locked and loaded

	[Military slang for an M-16 rifle with magazine inserted and
	prepared for firing] Said of a removable disk volume properly
	prepared for use - that is, locked into the drive and with
	the heads loaded.  Ironically, because their heads are
	"loaded" whenever the power is up, this description is never
	used of {Winchester} drives (which are named after a rifle).

	[{Jargon File}]

locked up

	Synonym for {hung}, {wedged}.

lock-in

	<standard> When an existing standard becomes almost impossible
	to supersede because of the cost or logistical difficulties
	involved in convincing all its users to switch something
	different and, typically, {incompatible}.

	The common implication is that the existing standard is
	notably inferior to other comparable standards developed
	before or since.

	Things which have been accused of benefiting from lock-in in
	the absence of being truly worthwhile include: the {QWERTY}
	keyboard; any well-known {operating system} or programming
	language you don't like (e.g., see "{Unix conspiracy}"); every
	product ever made by {Microsoft Corporation}; and most
	currently deployed formats for transmitting or storing data of
	any kind (especially the {Internet Protocol}, 7-bit (or even
	8-bit) {character sets}, analog video or audio broadcast
	formats and nearly any file format).

	Because of {network effects} outside of just computer
	networks, {Real World} examples of lock-in include the current
	spelling conventions for writing English (or French, Japanese,
	Hebrew, Arabic, etc.); the design of American money; the
	imperial (feet, inches, ounces, etc.) system of measurement;
	and the various and anachronistic aspects of the internal
	organisation of any government (e.g., the American Electoral
	College).

	(1998-01-15)

Locus

	A distributed system project supporting transparent access to
	data through a network-wide file system.

Loebner Prize

	<artificial intelligence> An annual competition in {artificial
	intelligence} started by Dr. {Hugh Loebner} of New York City
	in 1991.  A $100,000 prize is offered to the author of the
	first computer program to pass an unrestricted {Turing test}.
	Annual competitions are held each year with a $2000 prize for
	the best program on a restricted {Turing test}.

	Sponsors of previous competitions include: {Apple Computer},
	{Computerland}, Crown Industries, GDE Systems, {IBM} Personal
	Computer Company's {Center for Natural Computing}, Greenwich
	Capital Markets, {Motorola}, the {National Science
	Foundation}, The Alfred P. Sloan Foundation, and The Weingart
	Foundation.

	The 1995 and 1996 events were unrestricted Turing Tests,
	requiring computer entries to converse indefinitely with no
	topic restrictions.  So far, even the best programs give
	themselves away almost immediately, either by simple
	grammatical mistakes or by repetition.

	Complete transcripts and {IBM compatible} diskettes that play
	the 1991, 1992, and 1993 conversations in real-time are
	available for purchase from the Cambridge Center for
	Behavioral Studies (telephone: +1 (617) 491 9020, Fax: 1072).
	Sponsorship opportunities are available.

	{Loebner Prize Home (http://loebner.net/)}.

	(2003-11-30)

log

	1. <mathematics, programming> {logarithm}.

	2. <operating system, programming> A record of the activity of
	some system, often stored in a particular file.

	Different {operating systems} have different conventions and
	support for storing logs.  {Unix} has the {syslog} system and
	the /var/log directory hierarchy, {Microsoft Windows} has
	{event logs}.  {Web servers}, for example, typically record
	information about every page accessed in one or more "web
	logs".

	(2009-05-29)

{log}

	["{log}: A Logic Programming Language with Finite Sets", A
	Dovier et al, Proc 8th Intl Conf Logic Prog, June 1991,
	pp.111-124].

logarithmus dualis

	<mathematics> (ld) Latin for {logarithm} base two.  More
	commonly written as "log" with a subscript "2".

	Roughly the number of {bits} required to represent an
	{integer}.

	(1999-03-19)

LogC

	A {C} extension incorporating {rule-oriented programming}, for
	{AI} {application programs}.  {Production rules} are
	encapsulated into functional components called rulesets.  LogC
	uses a {search network algorithm} similar to {RETE}.

	Version 1.6.

	["LogC: A Language and Environment for Embedded Rule Based
	Systems", F. Yulin et al, SIGPLAN Notices 27(11):27-32 (Nov
	1992)].

logic

	1. <philosophy, logic> A branch of philosophy and mathematics
	that deals with the formal principles, methods and criteria of
	validity of {inference}, reasoning and {knowledge}.

	Logic is concerned with what is true and how we can know
	whether something is true.  This involves the formalisation of
	logical arguments and {proofs} in terms of symbols
	representing {propositions} and {logical connectives}.  The
	meanings of these logical connectives are expressed by a set
	of rules which are assumed to be self-evident.

	{Boolean algebra} deals with the basic operations of truth
	values: AND, OR, NOT and combinations thereof.  {Predicate
	logic} extends this with existential and universal
	{quantifiers} and symbols standing for {predicates} which may
	depend on variables.  The rules of {natural deduction}
	describe how we may proceed from valid premises to valid
	conclusions, where the premises and conclusions are
	expressions in {predicate logic}.

	Symbolic logic uses a {meta-language} concerned with truth,
	which may or may not have a corresponding expression in the
	world of objects called existance.  In symbolic logic,
	arguments and {proofs} are made in terms of symbols
	representing {propositions} and {logical connectives}.  The
	meanings of these begin with a set of rules or {primitives}
	which are assumed to be self-evident.  Fortunately, even from
	vague primitives, functions can be defined with precise
	meaning.

	{Boolean logic} deals with the basic operations of {truth
	values}: AND, OR, NOT and combinations thereof.  {Predicate
	logic} extends this with {existential quantifiers} and
	{universal quantifiers} which introduce {bound variables}
	ranging over {finite} sets; the {predicate} itself takes on
	only the values true and false.  Deduction describes how we
	may proceed from valid {premises} to valid conclusions, where
	these are expressions in {predicate logic}.

	Carnap used the phrase "rational reconstruction" to describe
	the logical analysis of thought.  Thus logic is less concerned
	with how thought does proceed, which is considered the realm
	of psychology, and more with how it should proceed to discover
	truth.  It is the touchstone of the results of thinking, but
	neither its regulator nor a motive for its practice.

	See also fuzzy logic, logic programming, arithmetic and logic unit,
	first-order logic,

	See also {Boolean logic}, {fuzzy logic}, {logic programming},
	{first-order logic}, {logic bomb}, {combinatory logic},
	{higher-order logic}, {intuitionistic logic}, {equational
	logic}, {modal logic}, {linear logic}, {paradox}.

	2. <electronics> {Boolean} logic circuits.

	See also {arithmetic and logic unit}, {asynchronous logic},
	{TTL}.

	(1995-03-17)

logical

	(From the technical term "logical device", wherein a physical
	device is referred to by an arbitrary "logical" name) Having
	the role of.  If a person (say, Les Earnest at SAIL) who had
	long held a certain post left and were replaced, the
	replacement would for a while be known as the "logical" Les
	Earnest.  (This does not imply any judgment on the
	replacement).

	Compare {virtual}.

	At Stanford, "logical" compass directions denote a coordinate
	system in which "logical north" is toward San Francisco,
	"logical west" is toward the ocean, etc., even though logical
	north varies between physical (true) north near San Francisco
	and physical west near San Jose.  (The best rule of thumb here
	is that, by definition, El Camino Real always runs logical
	north-and-south.)  In giving directions, one might say: "To
	get to Rincon Tarasco restaurant, get onto {El Camino Bignum}
	going logical north."  Using the word "logical" helps to
	prevent the recipient from worrying about that the fact that
	the sun is setting almost directly in front of him.  The
	concept is reinforced by North American highways which are
	almost, but not quite, consistently labelled with logical
	rather than physical directions.

	A similar situation exists at MIT: Route 128 (famous for the
	electronics industry that has grown up along it) is a
	3-quarters circle surrounding Boston at a radius of 10 miles,
	terminating near the coastline at each end.  It would be most
	precise to describe the two directions along this highway as
	"clockwise" and "counterclockwise", but the road signs all say
	"north" and "south", respectively.  A hacker might describe
	these directions as "logical north" and "logical south", to
	indicate that they are conventional directions not
	corresponding to the usual denotation for those words.  (If
	you went logical south along the entire length of route 128,
	you would start out going northwest, curve around to the
	south, and finish headed due east, passing along one infamous
	stretch of pavement that is simultaneously route 128 south and
	Interstate 93 north, and is signed as such!)

	[{Jargon File}]

	(1995-01-24)

logical address

	{virtual address}

Logical Block Addressing

	<storage> (LBA) A {hard disk} {sector} addressing scheme used
	on all {SCSI} hard disks, and on {ATA-2} conforming {IDE} hard
	disks.  The addressing conversion is performed by the hard
	disk firmware.

	Prior to LBA, combined limitations of {IBM PC} {BIOS} and
	{ATA} restricted the useful capacity of IDE hard disks on IBM
	PCs and compatibles to 1024 cylinders * 63 sectors per track *
	16 heads * 512 bytes per sector = 528 million bytes = 504
	megabytes.  Modern BIOSes select LBA mode automatically, and
	work around the 1024-cylinder BIOS limit by representing a
	hard disk to the OS as having e.g. half as many cylinders and
	twice as many heads.  However, there is still an unbreakable
	BIOS disk size limit of 1024 cylinders * 63 sectors per track
	* 256 heads * 512 bytes per sector = 8 gigabytes, but modern
	OSes (including {Windows 9x}, {Windows NT} and {Linux}) are
	not affected by it, since they issue direct LBA-based calls,
	bypassing the BIOS hard disk services completely.

	(2000-04-30)

logical complement

	<logic> In {Boolean algebra}, the logical complement or
	negation of a Boolean value is the opposite value, given by
	the following {truth table}:

		A | -A
		--+---
		T | F
		F | T

	-A is also written as A with a bar over it or with a small
	vertical line hanging from the right-hand end of the "-"
	({LaTeX} \neg) or as A'.  In the {C} programming language, it
	is !A and in digital circuit design, /A.

	(1995-01-24)

Logical Interchange Format

	<file format, file system> (LIF) A {Hewlett-Packard} simple
	{file system} format used to {boot} {HP-PA} machines and to
	interchange files between older HP machines.  A LIF file
	system is a header, containing a single directory, with
	10-character {case sensitive} filenames and 2-byte {file
	types}, followed by the files.

	{LIF Utilities for linux
	(http://hpcc.org/hpil/lif_utils.html)}.

	(2003-10-09)

Logical Link Control

	<networking> (LLC) The upper portion of the {data link layer},
	as defined in {IEEE 802.2}.  The LLC sublayer presents a
	uniform interface to the user of the data link service, usually
	the {network layer}.  Beneath the LLC sublayer is the {Media
	Access Control} (MAC) sublayer.

	(1995-02-14)

Logical Link Control and Adaptation Protocol

	<protocol> (L2CAP) A {Bluetooth} {protocol} in the {Core
	Protocol Stack} providing data services to higher layer
	Bluetooth protocols.

	{L2CAP Layer Tutorial
	(http://palowireless.com/infotooth/tutorial/l2cap.asp)}.

	(2002-06-28)

logical relation

	A {relation} R satisfying

	f R g  <=>  For all a, b,  a R b => f a R g b

	This definition, by Plotkin, can be used to extend the
	definition of a relation on the types of a and b to a relation
	on functions.

logical shift

	<programming> (Either shift left logical or shift right
	logical) Machine-level operations available on nearly all
	processors which move each bit in a word one or more bit
	positions in the given direction.  A left shift moves the bits
	to more significant positions (like multiplying by two), a
	right shift moves them to less significant positions (like
	dividing by two).  The comparison with multiplication and
	division breaks down in certain circumstances - a logical
	shift may discard bits that are shifted off either end of the
	word and does not preserve the sign of the word (positive or
	negative).

	Logical shift is approriate when treating the word as a {bit
	string} or a sequence of {bit fields}, whereas {arithmetic
	shift} is appropriate when treating it as a binary number.
	The word to be shifted is usually stored in a {register}, or
	possibly in memory.

	(1996-07-02)

logical shift left

	{logical shift}

logical shift right

	{logical shift}

Logical Unit

	<networking> (LU) A primary component of {SNA}, an {LU} is a
	type of {NAU} that enables end users to communicate with each
	other and gain access to SNA network resources.

	(1997-04-30)

Logical Unit 6.2

	<networking> (LU6.2) A type of {logical unit} that governs
	peer-to-peer {SNA} communications.  LU6.2 supports general
	communication between programs in a distributed processing
	environment.

	LU6.2 is characterised by a {peer} relationship between
	{session partners}, efficient use of a session for multiple
	{transactions}, comprehensive end-to-end error processing and
	a generic {application program interface} consisting of
	{structured verbs} that are mapped into a product
	inplementation.

	LU6.2 is used by {IBM}'s {TPF} {operating system}.

	[IBM Dictionary of Computing, McGraw-Hill 1993].

	(1996-08-26)

Logical Unit Number

	<storage> (LUN) A 3-bit identifier used on a {SCSI} bus to
	distinguish between up to eight devices ({logical units}) with
	the same {SCSI ID}.

	(1999-02-11)

logic bomb

	<programming, security> Code surreptitiously inserted into an
	application or {operating system} that causes it to perform
	some destructive or security-compromising activity whenever
	specified conditions are met.

	Compare {back door}.

	[{Jargon File}]

	(1996-07-02)

Logic Design Language

	<language> A language for computer design.

	["A System Description Language Using Parametric Text
	Generation", R.H. Williams, TR 02.487, IBM San Jose, Aug
	1970].

	(1994-11-29)

logic emulator

	A system of {FPGAs}, programmable interconnect and software
	which automatically configures itself into an operating
	prototype of a large-scale logic design, such as a
	{microprocessor}.  An emulated design can be connected into
	the target system and really operated and tested before the
	design is made into an {integrated circuit}.

	{Quickturn} is the leading logic emulation system.

	(1994-11-29)

Logic for Computable Functions

	<language> (LCF) Part of the {Edinburgh proof assistant}.

	[What is it?  Address?]

	(1995-01-06)

logic gate

	An {integrated circuit} or other device whose inputs and
	outputs represent {Boolean} or binary values as voltages
	({TTL} uses 0V for False or 0, +5V for True or 1).  Different
	gates implement different Boolean functions: {AND}, {OR},
	{NAND}, {NOR} (these may take two or more inputs) {NOT} (one
	input), {XOR} (two inputs).  NOT, NAND and NOR are often
	constructed from single {transistors} and the other gates made
	from combinations of these basic ones.  These functions are
	all {combinatorial logic} functions, i.e. their outputs depend
	only on their inputs and there is no internal state.  Gates
	with state, such as {latches} and {flip-flops}, are
	constructed by feeding some of their outputs back to their
	inputs.

	(1995-02-08)

logic programming

	<artificial intelligence, programming, language> A
	{declarative}, {relational} style of programming based on
	{first-order logic}.  The original logic programming language
	was {Prolog}.  The concept is based on {Horn clauses}.

	The programmer writes a "database" of "{facts}", e.g.

		wet(water).

	("water is wet") and "{rules}", e.g.

		mortal(X) :- human(X).

	("X is mortal is implied by X is human").  Facts and rules are
	collectively known as "{clauses}".

	The user supplies a "{goal}" which the system attempts to
	prove using "{resolution}" or "{backward chaining}".  This
	involves matching the current goal against each fact or the
	left hand side of each rule using "{unification}".  If the
	goal matches a fact, the goal succeeds; if it matches a rule
	then the process recurses, taking each sub-goal on the right
	hand side of the rule as the current goal.  If all sub-goals
	succeed then the rule succeeds.

	Each time a possible clause is chosen, a "{choice point}" is
	created on a {stack}.  If subsequent {resolution} fails then
	control eventually returns to the choice point and subsequent
	clauses are tried.  This is known as "{backtracking}".

	Clauses may contain {logic variables} which take on any value
	necessary to make the fact or the left hand side of the rule
	match a goal.  Unification binds these variables to the
	corresponding subterms of the goal.  Such bindings are
	associated with the {choice point} at which the clause was
	chosen and are undone when backtracking reaches that choice
	point.

	The user is informed of the success or failure of his first
	goal and if it succeeds and contains variables he is told what
	values of those variables caused it to succeed.  He can then
	ask for alternative solutions.

	(1997-07-14)

Logic Replacement Technology

	(LRT) Reading, BERKS. Tel: (0734) 751087.  Marketing Director
	Bob Barrett.  Manufacturers of the Ethernet hardware including
	the Filtabyte Ethernet controller card and EtherGate open
	access gateway.

logic variable

	<programming> A variable in a {logic programming} language
	which is initially undefined ("unbound") but may get bound to
	a value or another logic variable during {unification} of the
	containing clause with the current {goal}.  The value to which
	it is bound may contain other variables which may themselves
	be bound or unbound.

	For example, when unifying the clause

		sad(X) :- computer(X, ibmpc).

	with the goal

		sad(billgates).

	the variable X will become bound to the atom "billgates"
	yielding the new subgoal "computer(billgates, ibmpc)".

	(1995-03-14)

LOGIN

	1. An {object-oriented} {deductive language} and {database}
	system integrating {logic programming} and {inheritance}.

	["LOGIN: A Logic Programming Language with Built-In
	Inheritance", H. Ait-Kaci et al, J Logic Programming
	3(3):185-215 (1986)].

log in

	<security> (Or "login", "log on", "logon") To start a
	{session} with a system, usually by giving a {user name} and
	{password} as a means of user {authentication}.  The term is
	also used to mean the ability to access a service (also called
	an account), e.g. "Have you been given a login yet?"

	"Log in/on" is occasionally misused to refer to starting a
	session where no authorisation is involved, or to access where
	there is no session involved.  E.g. "Log on to our {Web
	site}!"

	"login" is also the {Unix} program which reads and verifies a
	user's user name and password and starts an {interactive}
	session.

	The noun forms are usually written as a single word whereas
	the verb forms are often written as two words.

	To end a session is to "{log out}" or "off".

	(2006-07-10)

LOGISCOPE

	Software quality analysis tools from {Verilog} SA, used to
	evaluate the quality of software, both statically (based on
	{software metrics}) and dynamically.

Loglan

	<human language> An artificial human language designed by
	James Cooke Brown in the late 1950s.

	Most artificial human languages devised in the 19th and 20th
	centuries (e.g. Esperanto) were designed to be easy to learn.
	Loglan, however, is unique in that its chief design goal was
	to avoid synactic ambiguity -- the kind that arises when
	trying to {parse} sentences like "The blind man picked up the
	hammer and saw".

	Loglan is thus the only human language unambiguously parseable
	by a formal grammar (assuming you count Loglan as a human
	language; its grammar is not at all like that of any natural
	human language).

	Most later development on Loglan continued under the name
	"Lojban".

	The Loglan Institute, Inc. is a non-profit research
	corporation.

	Loglan is unrelated to the programming languages {Loglan'82}
	or {Loglan-88}.

	{Halcyon Loglan (http://halcyon.com/loglan/welcome.html)}.

	E-mail: loglan@compuserve.com

	Telephone: +1 (619) 270 1691.

	Address: The Loglan Institute, Inc., 3009 Peters Way, San
	Diego, CA, 92117-4313 U.S.A.

	["Scientific American", June 1960].

	(1999-01-14)

Loglan'82

	<language> A teaching language including all the programming
	tools used in {object-oriented programming}, {modular
	programming}, and {structured programming} as well as
	programming by rules and {functional programming}.

	Supported {object-oriented programming} features include
	{classes}, {objects}, {coroutines}, processes (in Loglan'82
	{processes} are {objects} which are able to act in parallel),
	{inheritance}, {exception handling}, and {dynamic arrays}.

	Loglan'82 is apparently unrelated to {Loglan}.

	{(http://univ-pau.fr/~salwicki/loghome.html)}.

	A {cross-compiler} to {C} is {here
	(ftp://infpc1.univ-pau.fr/pub/Loglan82)}.

	[Related to {Loglan-88}?]

	(1999-07-02)

Loglan-88

	<language> An {object-oriented} language from the Institute of
	Informatics at {Warsaw University}.

	Loglan-88 is apparently unrelated to {Loglan}.

	[Loglan-88, "Report on the Programming Language, LNCS 414,
	Springer-Verlag, 1990, ISBN 3-540-52325-1].

	[Related to {Loglan'82}?]

	(1997-08-01)

LOGLISP

	A version of {Prolog} implemented by Robinson in {Lisp} which
	allows Prolog programs to call Lisp and vice versa.

	["LOGLISP: An Alternative to Prolog", J. Alan Robinson et al
	in Machine Intelligence 10, D. Michie ed, Ellis Horwood 1982].

LOGO

	<language, education> A {Lisp}-like language for teaching
	programming, noted for its "turtle graphics" used to draw
	geometric shapes.  LOGO was developed in 1966-1968 by a group
	at Bolt, Beranek & Newman (now "{BBN Technologies}") headed
	by Wally Fuerzeig <fuerzeig@bbn.com> (who still works there in
	2003) and including Seymour Papert <seymour@media.mit.edu>.

	There are Logo {interpreters} for {Macintosh}, {Unix}, {IBM
	PC}, {X Window System}, and many PCs.  Implmentations include
	{Berkeley Logo}, {MswLogo}.

	(2000-03-28)

log off

	{log out}

LOGOL

	Strings are stored on cyclic lists or 'tapes', which are
	operated upon by finite automata.  J. Mysior et al, "LOGOL, A
	String manipulation Language", in Symbol Manipulations
	Languages and Techniques, D.G. Bobrow ed, N-H 1968,
	pp.166-177.

logon

	1. <jargon> {login}.

	2. <networking> In {ACF}/{VTAM}, an unformatted
	session-initiation request for a session between two {logical
	units}.

	(1996-03-07)

log out

	<security> (Or "log off") To end an authenticated session,
	undoing what happens when you {log in}.  This is primarily to
	prevent other users gaining access to your logged in session,
	e.g. at an unattended computer, but typically also terminates
	any processes and network connections started as part of your
	session.

	(2004-11-16)

Lojban

	<human language> /lozh'bahn/ A language for humans developed
	by former members of the {Loglan} project.

	{Helsinki Lojban (http://xiron.pc.helsinki.fi/lojban/)}.

	(2007-02-18)

LOL

	<chat> "laughing out loud", or "lots of love" or "luck".

	(2003-07-29)

LOLITA

	{Language for the On-Line Investigation and Transformation of Abstractions}

Lolli

	<language> (Named after the "lollipop" operator "-o") An
	{interpreter} for {logic programming} based on {linear logic},
	written by Josh Hodas <hodas@saul.cis.upenn.edu>.

	Lolli can be viewed as a refinement of the {Hereditary Harrop
	formulas} of {Lambda-Prolog}.  All the operators (though not
	the {higher order unification}) of Lambda-Prolog are
	supported, but with the addition of linear variations.  Thus a
	Lolli program distinguishes between clauses which can be used
	as many, or as few, times as desired, and those that must be
	used exactly once.  Lolli is implemented in {SML/NJ}.

	{(ftp://ftp.cis.upenn.edu/pub/Lolli/Lolli-0.7.tar.Z)}.

	[Josh Hodas et al, "Logic Programming in a Fragment of
	Intuitionistic Linear Logic", Information and Computation, to
	appear].

	(1992-11-18)

LOM

	<language> A programming language developed in Toulouse in the
	early 1980s for {data processing}.

	(1996-03-01)

longitudinal parity

	<storage, communications> An extra {byte} (or word) appended
	to a block of data in order to reveal corruption of the data.
	Bit n of this byte indicates whether there was an even or odd
	number of "1" bits in bit position n of the bytes in the
	block.  The parity byte is computed by {XOR}ing the data bytes
	in the block.  Longitudinal parity allows single bit errors to
	be detected.

	(1996-03-01)

Longitudinal Redundancy Check

	<storage, communications> (LRC, Block Redundancy Check) An
	{error checking} method that generates a {longitudinal parity}
	{byte} from a specified {string} or block of {bytes} on a
	longitudinal track.

	The longitudinal parity byte is created by placing individual
	bytes of a string in a two-dimensional {array} and performing
	a {Vertical Redundancy Check} vertically and horizontally on
	the array, creating an extra byte.  This is an improvement
	over the VRC because it will catch two errors in the
	individual characters of the string, beyond the odd errors.

	(2004-01-26)

LOOK

	A specification language.

	["A Look at Algebraic Specifications", S.N. Zilles et al, IBM
	RR, 1982].

	(1994-11-16)

Look Ahead Left-to-right parse, Rightmost-derivation

	<algorithm> (LALR, Look ahead LR) A type of {LR parser} that can
	deal with more {context-free grammars} than {SLR parsers} but less
	than {LR[1]} parsers.  LALR parsers are popular because they give
	a good trade-off between the number of grammars they can deal with
	and the size of the {parsing table} required.

	{Compiler compilers} like {yacc} and {Bison} generate LALR
	parsers.

	{Wikipedia (http://wikipedia.org/wiki/LALR_parser)}.

	(2003-05-13)

Look ahead LR

	{Look Ahead Left-to-right parse, Rightmost-derivation}

look and feel

	<operating system> The appearance and function of a program's
	{user interface}.  The term is most often applied to
	{graphical user interfaces} (GUI) but might also be used by
	extension for a textual command language used to control a
	program.

	Look and feel includes such things as the {icons} used to
	represent certain functions such as opening and closing files,
	directories and {application programs} and changing the size
	and position of windows; conventions for the meaning of
	different buttons on a {mouse} and keys on the keyboard; and
	the appearance and operation of menus.

	A {user interface} with a consistent look and feel is
	considered by many to be an important factor in the ease of
	use of a computer system.  The success of the {Macintosh user
	interface} was partly due to its consistency.

	Because of the perceived importance of look and feel, there
	have been several legal actions claiming breech of {copyright}
	on the look and feel of user interfaces, most notably by
	{Apple Computer} against {Microsoft} and {Hewlett-Packard} (which Apple
	lost) and, later, by {Xerox} against {Apple Computer}.  Such legal
	action attempts to force suppliers to make their interfaces
	inconsistent with those of other vendors' products.  This can
	only be bad for users and the industry as a whole.

	(1995-03-03)

Looking Glass

	A {desktop} manager for {Unix} from {Visix}.

LOOKS

	["LOOKS: Knowledge-Representation System for Designing Expert
	Systems in a Logical Programming Framework", F. Mizoguchi,
	Proc Intl Conf 5th Gen Comp Sys, ICOT 1984].

loop

	<programming> A sequence of {instructions} that the
	{processor} repeats, either until some condition is met, or
	indefinitely.

	In an {structured language} (e.g. {C}, {Pascal}, {BASIC}, or
	{Fortran}), a loop is usually achieved with {for loop}, {while
	loop} or {repeat loop} constructs.

	In other languages these constructs may be synthesised with a
	{jump} ({assembly language}) or a {GOTO} (early Fortran or
	BASIC).

	(1999-05-06)

loop combination

	A {program transformation} where the bodies of two loops are
	merged into one thus reducing the overhead of manipulating and
	testing the control variable and branching.  Further
	optimisation of the merged code may then become possible.

	In {horizontal loop combination} the bodies of the loops are
	largely independent so only the loop overhead is saved.
	{Vertical loop combination} applies where the results of the
	first loop are used by the second.  Combining the two allows
	the intermediate results to be used immediately (in
	{registers}) rather than requiring them to be stored in an
	{array}.

	The functional equivalent of horizontal and vertical loop
	combination are {tupling} and {fusion}.

loop fusion

	{loop combination}

LOOPN

	<language, simulation> A {compiler}, {simulator}, and associated
	{source} control for an {object-oriented} {Petri net} language
	developed by Charles Lakos <Charles.Lakos@adelaide.edu.au> at the
	{University of Tasmania}.  In LOOPN, a Petri net is an extension
	of a {coloured timed Petri net}.  The extension means firstly that
	token types are {class}es.  In other words, they consist of both
	data fields and functions, they can be declared by inheriting from
	other token types, and they can be used {polymorphic}ally.  The
	object-oriented extensions also mean that module or subnet types
	are classes.

	LOOPN has been developed over a period of about five years at
	the University of Tasmania, where it has been used in teaching
	computer simulation and the modelling of {network}
	{protocols}.

	{(ftp://ftp.cs.adelaide.edu.au/pub/OPN/loopn/)}.

	(2000-09-02)

LOOPS

	{Lisp Object-oriented Programming System}

loop through

	To process each element of a list of things.  "Hold on, I've
	got to loop through my paper mail."  Derives from the
	computer-language notion of an iterative loop; compare "cdr
	down" (under {cdr}), which is less common among C and Unix
	programmers.  ITS hackers used to say "IRP over" after an
	obscure pseudo-op in the MIDAS PDP-10 assembler.

	[{Jargon File}]

loose bytes

	Commonwealth hackish term for the padding bytes or {shims}
	many compilers insert between members of a {record} or
	{structure} to cope with alignment requirements imposed by the
	machine architecture.

LOP

	A language based on {first-order logic}.

	["SETHEO - A High-Perormance Theorem Prover for First-Order
	Logic", Reinhold Letz et al, J Automated Reasoning
	8(2):183-212 (1992)].

lord high fixer

	[Primarily British, from Gilbert & Sullivan's "Lord High
	Executioner"] The person in an organisation who knows the most
	about some aspect of a system.  See {wizard}.

	[{Jargon File}]

Lore

	1. Object-oriented language for knowledge representation.
	"Etude et Realisation d'un Language Objet: LORE", Y. Caseau,
	These, Paris-Sud, Nov 1987.

	2. CGE, Marcoussis, France.  Set-based language [same as 1?]
	E-mail: Christophe Dony <chd.ibp.fr>

Lorem ipsum

	<text> A common piece of text used as mock-{content} when
	testing a given page layout or {font}.

	The following text is often used:

	"Lorem ipsum dolor sit amet, consectetaur adipisicing elit,
	sed do eiusmod tempor incididunt ut labore et dolore magna
	aliqua. Ut enim ad minim veniam, quis nostrud exercitation
	ullamco laboris nisi ut aliquip ex ea commodo consequat.  Duis
	aute irure dolor in reprehenderit in voluptate velit esse
	cillum dolore eu fugiat nulla pariatur. Excepteur sint
	occaecat cupidatat non proident, sunt in culpa qui officia
	deserunt mollit anim id est laborum."

	This continues at length and variously.  The text is not
	really Greek, but badly garbled Latin.  It started life as
	extracted phrases from sections 1.10.32 and 1.10.33 of
	Cicero's "De Finibus Bonorum et Malorum" ("The Extremes of
	Good and Evil"), which read:

	Sed ut perspiciatis unde omnis iste natus error sit voluptatem
	accusantium doloremque laudantium, totam rem aperiam, eaque
	ipsa quae ab illo inventore veritatis et quasi architecto
	beatae vitae dicta sunt explicabo.  Nemo enim ipsam voluptatem
	quia voluptas sit aspernatur aut odit aut fugit, sed quia
	consequuntur magni dolores eos qui ratione voluptatem sequi
	nesciunt.  Neque porro quisquam est, qui dolorem ipsum quia
	dolor sit amet, consectetur, adipisci velit, sed quia non
	numquam eius modi tempora incidunt ut labore et dolore magnam
	aliquam quaerat voluptatem.  Ut enim ad minima veniam, quis
	nostrum exercitationem ullam corporis suscipit laboriosam,
	nisi ut aliquid ex ea commodi consequatur?  Quis autem vel eum
	iure reprehenderit qui in ea voluptate velit esse quam nihil
	molestiae consequatur, vel illum qui dolorem eum fugiat quo
	voluptas nulla pariatur?

	At vero eos et accusamus et iusto odio dignissimos ducimus qui
	blanditiis praesentium voluptatum deleniti atque corrupti quos
	dolores et quas molestias excepturi sint occaecati cupiditate
	non provident, similique sunt in culpa qui officia deserunt
	mollitia animi, id est laborum et dolorum fuga.  Et harum
	quidem rerum facilis est et expedita distinctio.  Nam libero
	tempore, cum soluta nobis est eligendi optio cumque nihil
	impedit quo minus id quod maxime placeat facere possimus,
	omnis voluptas assumenda est, omnis dolor repellendus.
	Temporibus autem quibusdam et aut officiis debitis aut rerum
	necessitatibus saepe eveniet ut et voluptates repudiandae sint
	et molestiae non recusandae.  Itaque earum rerum hic tenetur a
	sapiente delectus, ut aut reiciendis voluptatibus maiores
	alias consequatur aut perferendis doloribus asperiores
	repellat.

	Translation:

	But I must explain to you how all this mistaken idea of
	denouncing pleasure and praising pain was born and I will give
	you a complete account of the system, and expound the actual
	teachings of the great explorer of the truth, the
	master-builder of human happiness.  No one rejects, dislikes,
	or avoids pleasure itself, because it is pleasure, but because
	those who do not know how to pursue pleasure rationally
	encounter consequences that are extremely painful.  Nor again
	is there anyone who loves or pursues or desires to obtain pain
	of itself, because it is pain, but because occasionally
	circumstances occur in which toil and pain can procure him
	some great pleasure.  To take a trivial example, which of us
	ever undertakes laborious physical exercise, except to obtain
	some advantage from it?  But who has any right to find fault
	with a man who chooses to enjoy a pleasure that has no
	annoying consequences, or one who avoids a pain that produces
	no resultant pleasure?

	On the other hand, we denounce with righteous indignation and
	dislike men who are so beguiled and demoralized by the charms
	of pleasure of the moment, so blinded by desire, that they
	cannot foresee the pain and trouble that are bound to ensue;
	and equal blame belongs to those who fail in their duty
	through weakness of will, which is the same as saying through
	shrinking from toil and pain.  These cases are perfectly
	simple and easy to distinguish.  In a free hour, when our
	power of choice is untrammelled and when nothing prevents our
	being able to do what we like best, every pleasure is to be
	welcomed and every pain avoided.  But in certain circumstances
	and owing to the claims of duty or the obligations of business
	it will frequently occur that pleasures have to be repudiated
	and annoyances accepted.  The wise man therefore always holds
	in these matters to this principle of selection: he rejects
	pleasures to secure other greater pleasures, or else he
	endures pains to avoid worse pains.

	-- Translation by H. Rackham, from his 1914 edition of De
	Finibus.

	However, since textual fidelity was unimportant to the goal of
	having {random} text to fill a page, it has degraded over the
	centuries, into "Lorem ipsum...".

	The point of using this text, or some other text of incidental
	intelligibility, is that it has a more-or-less normal (for
	English and Latin, at least) distribution of ascenders,
	descenders, and word-lengths, as opposed to just using "abc
	123 abc 123", "Content here content here", or the like.

	The text is often used when previewing the layout of a
	document, as the use of more understandable text would
	distract the user from the layout being examined.  A related
	technique is {greeking}.

	{Lorem Ipsum - All the facts (http://lipsum.com/)}.

	(2006-09-18)

Lorenz attractor

	<mathematics> (After {Edward Lorenz}, its discoverer) A region
	in the {phase space} of the solution to certain systems of
	(non-linear) {differential equations}.  Under certain
	conditions, the motion of a particle described by such as
	system will neither converge to a steady state nor diverge to
	infinity, but will stay in a bounded but chaotically defined
	region.  By {chaotic}, we mean that the particle's location,
	while definitely in the attractor, might as well be randomly
	placed there.  That is, the particle appears to move randomly,
	and yet obeys a deeper order, since is never leaves the
	attractor.

	Lorenz modelled the location of a particle moving subject to
	atmospheric forces and obtained a certain system of {ordinary
	differential equations}.  When he solved the system
	numerically, he found that his particle moved wildly and
	apparently randomly.  After a while, though, he found that
	while the momentary behaviour of the particle was chaotic, the
	general pattern of an attractor appeared.  In his case, the
	pattern was the butterfly shaped attractor now known as the
	{Lorenz attractor}.

	(1996-01-13)

LORIA

	{Laboratoire lorrain de recherche en informatique et ses applications}

lose

	<jargon> ({MIT}) 1. To fail.  A program loses when it
	encounters an exceptional condition or fails to work in the
	expected manner.

	2. To be exceptionally unesthetic or crocky.

	3. Of people, to be obnoxious or unusually stupid (as opposed
	to ignorant).

	4. Refers to something that is {losing}, especially in the
	phrases "That's a lose!" and "What a lose!"

	[{Jargon File}]

	(1995-04-19)

loser

	<jargon> An unexpectedly bad situation, program, programmer,
	or person.  Someone who habitually loses.  (Even winners can
	lose occasionally).  Someone who knows not and knows not that
	he knows not.  Emphatic forms are "real loser", "total loser",
	and "complete loser" (but not **"moby loser", which would be a
	contradiction in terms).

	See {luser}.

	[{Jargon File}]

	(1995-04-19)

losing

	<jargon> Said of anything that is or causes a {lose} or
	{lossage}.

	[{Jargon File}]

loss

	<jargon> Something (not a person) that loses; a situation in
	which something is losing.  Emphatic forms include "moby
	loss", and "total loss", "complete loss".  Common
	interjections are "What a loss!"  and "What a moby loss!"
	Note that "moby loss" is OK even though **"moby loser" is not
	used; applied to an abstract noun, moby is simply a magnifier,
	whereas when applied to a person it implies substance and has
	positive connotations.

	Compare {lossage}.

	(1995-04-19)

lossage

	<jargon> /los'*j/ The result of a {bug} or malfunction.  This
	is a mass or collective noun.  "What a loss!" and "What
	lossage!"  are nearly synonymous.  The former is slightly more
	particular to the speaker's present circumstances; the latter
	implies a continuing {lose} of which the speaker is currently
	a victim.  Thus (for example) a temporary hardware failure is
	a loss, but bugs in an important tool (like a compiler) are
	serious lossage.

	[{Jargon File}]

	(1995-04-19)

lossless

	<algorithm, compression> A term describing a data
	{compression} {algorithm} which retains all the information in
	the data, allowing it to be recovered perfectly by
	decompression.

	{Unix} {compress} and {GNU} {gzip} perform lossless
	compression.

	Opposite: {lossy}.

	(1995-03-29)

lossless audio compression

	<audio, compression> Any kind of {audio compression} in which
	the original signal and the decoded signal are bitwise
	identical.  Lossless audio compression algorithms are usually
	based on a data compression algorithm like {PKzip} or {gzip}
	but specialized for {PCM} audio data.  The signal is divided
	into predictable {tonal} components and unpredictable noisy
	components.  Tonal components are stored as coefficients of a
	predictor, the remaining signal is coded by {Rice coding},
	{Huffman coding} or {arithmetic coding}.

	(2001-12-24)

Lossless Predictive Audio Compression

	<audio, compression> (LPAC) A {lossless} {audio} {compression}
	{algorithm} with compression ratios from 1.5 to 4, depending
	on the input.  Software is available for {Microsoft Windows},
	{Linux} and {Solaris}.  LPAC files (*.pac) can be played with
	a {Winamp} {plug-in}.

	{(http://www-ft.ee.tu-berlin.de/~liebchen/lpac.html)}.

	(2001-12-17)

lossy

	<algorithm> A term describing a data {compression} {algorithm}
	which actually reduces the amount of information in the data,
	rather than just the number of bits used to represent that
	information.  The lost information is usually removed because
	it is subjectively less important to the quality of the data
	(usually an {image} or {sound}) or because it can be recovered
	reasonably by {interpolation} from the remaining data.

	{MPEG} and {JPEG} are examples of lossy compression
	techniques.

	Opposite: {lossless}.

	(1995-03-29)

lossy audio compression

	<audio, compression> Any audio compression algorithm which
	does not retain every bit of data but only reproduces a signal
	that sounds more or less like the original.  Examples are
	{MP1}, {MP2}, {MP3}, {AAC}.

	(2001-12-24)

lost in the noise

	Synonym {lost in the underflow}.  This term is from signal
	processing, where signals of very small amplitude cannot be
	separated from low-intensity noise in the system.  Though
	popular among hackers, it is not confined to hackerdom;
	physicists, engineers, astronomers, and statisticians all use
	it.

	[{Jargon File}]

lost in the underflow

	<jargon> Too small to be worth considering; more specifically,
	small beyond the limits of accuracy or measurement.  This is a
	reference to "{floating point underflow}".

	The {Hacker's Jargon File} claimed that it is also a pun on
	"undertow" (a kind of fast, cold current that sometimes runs
	just offshore and can be dangerous to swimmers).

	"Well, sure, photon pressure from the stadium lights alters
	the path of a thrown baseball, but that effect gets lost in
	the underflow".

	Compare {epsilon}, {epsilon squared}; see also {overflow bit}.

	(1997-09-05)

LOTIS

	LOgic, TIming, Sequencing.  A language which describes a
	computer via its data flow.

	[Sammet 1969, p. 620].

LOTOS

	{Language Of Temporal Ordering Specification}

lots of MIPS but no I/O

	Used to describe a person who is technically brilliant but
	can't seem to communicate with human beings effectively.
	Technically it describes a machine that has lots of processing
	power but is bottlenecked on input-output (in 1991, the IBM
	Rios, a.k.a. RS/6000, is a notorious recent example).

	[{Jargon File}]

Lotus 1-2-3

	<tool, product> A {spreadsheet} for {MS-DOS} from {Lotus
	Development Corporation}.  It can be programmed using
	"{macros}" and comes with a separate program to produce graphs
	and charts but this cannot be run at the same time as the
	spreadsheet.  It has keyboard-driven {pop-up menus} as well as
	one-key commands, making it fast to operate.  Lotus 1-2-3
	supported {EGA} and later {VGA} graphics.  Early versions used
	the {filename extension} "WK1".

	Version: 4.

	Lotus 1-2-3 has been the subject of several {user interface
	copyright} court cases in the US.

	{(http://nyweb.com/lotus/123.html)}.

	1-2-3's successor, {Symphony}, had simultaneous update of
	spreadsheet, graph and {word processor} windows.

	(1995-11-28)

Lotus Development Corporation

	<company> A software company who produced {Lotus 1-2-3}, the
	{Symphony} {spreadsheet} and {Lotus Notes} for the {IBM PC}.

	Disliked by the {League for Programming Freedom} on account of
	their lawsuits.

	Quarterly sales $224M, profits $10M (Aug 1994).

	Telephone: +1 (617) 225 1284.

	[Where are they?  Founded when?  Other products?  E-mail?
	Internet?]

	(1994-11-16)

Lotus Notes

	A group of {application programs} from {Lotus Development
	Corporation} which allows organisations to share documents and
	exchange {electronic mail} messages.  Notes supports
	{replication}.

	(1994-10-27)

Lotus Notes Formula Language

	<language> A {macro} language for {Lotus Notes} that uses
	commands starting with @, e.g. @If, @Left, @Right, @Username.
	Many Notes applications are built with just this language.

	(2003-10-06)

LotusScript

	<language> A {Visual BASIC}-like {scripting language} for
	{Lotus Notes} and {Lotus SmartSuite}.  LotusScript is
	{object-oriented} and can be used for complex Notes
	programming, although {Java} is also available.

	{LotusScript Documentation
	(http://lotus.com/products/lotusscript.nsf)}.

	(2003-10-06)

loudspeaker

	<audio, hardware> An electromechanical device for converting
	an electrical signal into sound.

	(2008-10-09)

Lout

	Lout is a batch text formatting system and an embedded
	language by Jeffrey H. Kingston <jeff@cs.su.oz.au>.  The
	language is procedural, with {Scribe}-like {syntax}.

	Lout features equation formatting, tables, diagrams, rotation
	and scaling, sorted indexes, bibliographic databases, running
	headers and odd-even pages and automatic cross-referencing.
	Lout is easily extended with definitions which are very much
	easier to write than {troff} of {TeX} {macros} because Lout is
	a {high-level language}, the outcome of an eight-year research
	project that went back to the beginning.

	Version 2.05 includes a translator from Lout to {PostScript}
	and documentation. and runs under {Unix} and on the {Amiga}.

	{Author's site (ftp://ftp.cs.su.oz.au/jeff/lout.2.03.tar.Z)},
	{(ftp://ftp.uu.net/tmp/lout.tar.Z)}.  {Amiga
	(ftp://ftp.wustl.edu/pub/aminet/text/dtp/loutBin203.lha)}.

	(1993-07-30)

love

	<humour> What some users feel for computers.

	"There is no truth in the rumour that I love computers, it's
	just what I tell them to get them to bed."

		-- Terry Pratchett

	[What did you expect in a computing dictionary?]

	(2007-05-11)

low-bandwidth

	[communication theory] Used to indicate a talk that, although
	not {content-free}, was not terribly informative.  "That was a
	low-bandwidth talk, but what can you expect for an audience of
	{suits}!"  Compare {zero-content}, {bandwidth}, {math-out}.

	[{Jargon File}]

Low Bandwidth X

	<networking> (LBX) An implementation of the {X Window System}
	designed to improve performance over {ISDN}, {WAN}, and
	{serial lines}.

	[Details?]

	(2003-07-09)

low earth orbit

	<communications> (LEO) The kind of orbit used by
	communications satellites that will offer high {bandwidth} for
	{video on demand}, television, and {Internet} communications.
	A satellite in LEO, in contrast to one in a {geostationary
	orbit}, is not in a fixed position relative to the Earth's
	surface so several satellites are required to provide
	continuous service.

	[Ovum report, "Applications for the superhighway", John
	Moroney].

	(1996-02-06)

Lower Layer Protocol

	<networking, protocol> (LLP, or lower-layer protocol)
	Any {protocol} residing in {OSI} layers one to four.

	These protocols package, {route}, verify and transmit
	{datagrams}.  A prime example would be {TCP/IP}.  Lower layer
	protocols support the {upper layer protocols}.

	(1999-02-17)

lower set

	<mathematics> A {finite} non-empty {downward closed} subset of
	a {partial order}.

	(1999-03-17)

Low Insertion Force

	<hardware> (LIF) {PGA}/{SPGA} sockets with no handle.  The
	{integrated circuit} is simply pushed into the socket, and
	levered out to remove.  Most {motherboard} {processor} sockets
	are now {ZIF} rather than LIF.

	(1999-08-05)

LOWL

	<language> The {abstract machine} for {bootstrapping} {ML/1},
	developed by P.J. Brown of the {University of Kent at
	Canterbury}.

	["Macro Processors and Techniques for Portable Software",
	P.J. Brown, published by Wiley, ISBN 0.471.11005.1].

	[Mentioned in "Machine Oriented Higher Level Languages",
	W. van der Poel, N-H 1974, p. 271].

	[What does LOWL stand for?]

	(1997-11-04)

low-level language

	<language> Any {programming language} which either is
	{assembly language}, or which is meant to be closely related
	to, and easily translated into, {machine language}.  Low-level
	languages lack the amenities of {high-level languages} but it
	may be possible to write more efficient code in them.

	(2000-08-10)

low pass filter

	<electronics, graphics> A filter that attenuates high
	frequency components of a signal.

	In {image processing}, a low pass filter might be used to
	remove {noise} from an {image}.

	(2000-04-19)

Low Voltage Differential

	<hardware> (LVD) A method of driving {SCSI} cables that will
	be formalised in the {SCSI-3} specifications.  LVD uses less
	power than the current differential drive ({HVD}), is less
	expensive and will allow the higher speeds of {Ultra-2 SCSI}.
	LVD requires 3.3 Volts DC instead of 5 Volts DC for HVD.

	(1999-02-16)

LPAC

	1. <audio, compression> {Lossless Predictive Audio Compression}.

	2. {London Parallel Applications Centre}.

	(2001-12-17)

LPC

	<language> A variant of {C} designed ca 1988 to program
	{LP MUDs}.

	(1995-04-18)

LPF

	{League for Programming Freedom}

LPG

	1. Linguaggio Procedure Grafiche (Italian for "Graphical
	Procedures Language").  dott. Gabriele Selmi.  Roughly a cross
	between Fortran and APL, with graphical-oriented extensions
	and several peculiarities.  Underlies the products of CAD.LAB
	Spa.  "Graphical Procedure Language User's Guide and Reference
	Manual", CAD.LAB, Bologna, Italy, 1989, order code GO89/9.

	2. Langage de Programmation Generique.  An applicative
	language, both specification and functional.  Special emphasis
	on parametrised declarations.  "Design and Implementation of a
	Generic, Logic and Functional Programming Language", D. Bert
	et al, ESOP 86, LNCS 213, Springer 1986.

LPI

	<language> A {PL/I} {interpreter} for {IBM PCs} and
	{workstations}.

	{(ftp://ftp.wustl.edu/mirrors/msdos/pli/runpli1a.arc)}.

	E-mail: <rcg@lpi.liant.com>.

	(1999-09-03)

LPL

	List Programming Language.  LISP-like language with ALGOL-like
	syntax, for IBM 360.  "LPL - LISP Programming Language",
	F.W. Blair et al, RC 3062, IBM TJWRC, Sep 1970.

lpm

	{lines per minute}

LP MUD

	<games> A kind of player-programmable multi-user adventure
	game.

	[More details?]

	See {MUD}.

lpr

	Line printer.  The {Unix} print command.  This does not
	actually print files but rather copies (or links) them to a
	{spool} area from where a {daemon} copies them to the printer.

LPS

	Sets with restricted {universal quantifiers}.

	["Logic Programming with Sets", G. Kuper, J Computer Sys Sci
	41:44-64 (1990)].

lp spooler

	<printer> A {line printer} {spooler}.

	(2000-04-03)

LPT

	/L-P-T/ or /lip'it/ or /lip-it'/ Line printer.  Rare under
	{Unix}, more common among hackers who grew up with {ITS},
	{MS-DOS}, {CP/M} and other {operating systems} that were
	strongly influenced by early {DEC} conventions.

	[{Jargon File}]

lr

	<networking> The {country code} for Liberia.

	(1999-01-27)

LRC

	{Longitudinal Redundancy Check}

LRLTRAN

	Lawrence Radiation Laboratory TRANslator.

	A {Fortran} extension with vector arithmetic and {dynamic
	storage}, used for scientific work and systems programming,
	including the {LTSS} {operating system}.

	["The LRLTRAN Compiler", S.F. Mendicino, CACM 11(11):747-775
	(Nov 1969)].

LRU

	{Least Recently Used}

ls

	1. <file system, tool> The {Unix} command for listing a
	{directory}.

	{Unix manual page}: ls(1).

	2. <networking> The {country code} for Lesotho.

	(2000-03-18)

LSA

	{Link State Advertisement}

LSB

	1. {Least Significant Bit}.

	2. (Rarely) Least Significant Byte.

LSE

	{Language Sensitive Editor}

LSL

	1. Larch Shared Language.  An assertion language.  (See
	Larch).

	2. Link and Selector Language.  Graphic query language.  "LSL:
	A Link and Selector Language", D.C. Tsichritzis, Proc Intl
	Conf Management of Data, ACM 1976, pp.123-134.

LSML

	{Lazy Standard ML}

L-Soft

	An international corporation formed by Eric Thomas, the author
	of {Listserv}, to develop it and port it to platforms other
	than the {IBM} {VM} {operating system}, including {Unix}.
	Listserv has been enhanced to use both the {Internet} and
	{BITNET}.

	(1995-02-22)

LSP

	{Label Switched Path}

LSR

	1. <networking> {Label Switching Router}.

	2. <operating system> {Local Shared Resources}.

	(2002-02-17)

LSSD

	{level-sensitive scan design}

LSYD

	Language for SYstems Development.

	A {PL/I}-like language with data structure and character
	extensions.

	["Systems Programming Languages", R.D. Bergeron et al, in
	Advances in Computers 1971, A-P].

	(1995-01-31)

lt

	<networking> The {country code} for Lithuania.

	(1999-01-27)

LT-2

	An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-01-31)

LTL

	{Linear Temporal Logic}

LTPS

	{Low Temperature Polysilicon}

LTR

	Langage Temps-Réel.

	(French for "real-time language") A French predecessor to
	{Ada}, LTR is {Modula}-like with a set of special-purpose
	{real-time} constructs based on an event model.  It was
	mentioned in the reference below.

	["An Overview of Ada", J.G.P. Barnes, Soft Prac & Exp
	10:851-887 (1980)].

	(1995-01-31)

LTR3

	Version three of {LTR}, by A. Parayre of Delegation Generale
	pour l'Armement, France.  LTR3 was widely used by the French
	military and avionics companies.

	["The LTR3 Reference Manual", A. Parayre, Delegation Generale
	pour l'Armement, France].

	(1995-01-31)

lu

	<networking> The {country code} for Luxembourg.

	(1999-01-27)

LU6.2

	{Logical Unit 6.2}

lub

	{least upper bound}

Lubarsky's Law of Cybernetic Entomology

	<humour> There is always one more {bug}.

	[{Jargon File}]

	(2001-07-12)

Lucent Technologies

	<company, telecommunications, Unix> The former systems and
	equipment portion of {AT&T} (including {Bell Laboratories}),
	split off in 1996.

	{Lucent Home (http://lucent.com/)}.

	(2002-06-23)

LUCID

	1. Early query language, ca. 1965, System Development Corp,
	Santa Monica, CA.  [Sammet 1969, p.701].

	2. A family of dataflow languages descended from {ISWIM},
	{lazy} but {first-order}.

	Ashcroft & Wadge <wwadge@csr.uvic.ca>, 1981.

	They use a dynamic {demand driven} model.  Statements are
	regarded as equations defining a network of processors and
	communication lines, through which the data flows.  Every data
	object is thought of as an infinite {stream} of simple values,
	every function as a {filter}.  Lucid has no {data
	constructors} such as {arrays} or {records}.  {Iteration} is
	simulated with 'is current' and 'fby' (concatenation of
	sequences).  Higher-order functions are implemented using pure
	dataflow and no closures or heaps.

	["Lucid: The Dataflow Language" by Bill Wadge
	<wwadge@csr.UVic.CA> and Ed Ashcroft, c. 1985].  ["Lucid, the
	Dataflow Programming Language", W. Wadge, Academic Press
	1985].

	(1995-02-16)

Lucid Emacs

	{Xemacs}

Lucinda

	<language> A language which combines {Russell}-like
	{polymorphism} with {Linda}-like {concurrency}.  Lucinda is
	implemented as a {threaded interpreter} written in {C}, for a
	{Sun} network and a {Meiko Computing Surface}.

	["Lucinda - An Overview", P. Butcher, U York et al, SIGPLAN
	Notices 26(8):90-100, Aug 1991].

	E-mail: Alan Wood <wood@cs.york.ac.uk>.

	(1996-08-20)

Lucy

	<language> A {distributed} {constraint programming} language,
	which is an {actor} subset of {Janus}.

	["Actors as a Special Case of Concurrent Constraint
	Programming", K.  Kahn <kahn@parc.xerox.com> et al, SIGPLAN
	Notices 25(10):57-66 (OOPSLA/ ECOOP '90), Oct 1990].

	(2001-03-04)

LUG

	{Linux User Group}

luminance

	{brightness}

lump uncurrying

	Chin's generalisation of {uncurrying}.  A curried function
	taking several {tuples} as arguments can be transformed to
	take a single tuple containing all the components of the
	original tuples.

LUN

	{Logical Unit Number}

lunatic fringe

	[IBM] Customers who can be relied upon to accept release 1
	versions of software.

	[{Jargon File}]

Lund Simula

	<language> A version of {SIMULA} from {Lund Software House}.

	Version 4.07.

	(FTP: rascal.ics.utexas.edu/misc/mac/programming/ no longer
	exists).

	(1995-03-29)

Lund Software House AB

	<company> The company who produced {Lund Simula}.

	Address: Box 7056, S-22007 Lund, Sweden.

	(1995-03-29)

lurk

	{lurking}

lurker

	{lurking}

lurking

	<messaging, jargon> The activity of one of the "silent
	majority" in a electronic forum such as {Usenet}; posting
	occasionally or not at all but reading the group's postings
	regularly.  This term is not pejorative and indeed is casually
	used reflexively: "Oh, I'm just lurking".  Often used in "the
	lurkers", the hypothetical audience for the group's
	{flamage}-emitting regulars.

	Lurking and reading the {FAQ} are recommended {netiquette} for
	beginners who need to learn the history and practises of the
	group before posting.

	(1997-06-14)

luser

	<jargon, abuse> /loo'zr/ A {user}; especially one who is also
	a {loser}.  ({luser} and {loser} are pronounced identically.)
	This word was coined around 1975 at {MIT}.

	Under {ITS}, when you first walked up to a terminal at MIT and
	typed Control-Z to get the computer's attention, it printed
	out some status information, including how many people were
	already using the computer; it might print "14 users", for
	example.  Someone thought it would be a great joke to patch
	the system to print "14 losers" instead.  There ensued a great
	controversy, as some of the users didn't particularly want to
	be called losers to their faces every time they used the
	computer.  For a while several hackers struggled covertly,
	each changing the message behind the back of the others; any
	time you logged into the computer it was even money whether it
	would say "users" or "losers".  Finally, someone tried the
	compromise "lusers", and it stuck.

	Later one of the ITS machines supported "luser" as a
	request-for-help command.  ITS died the death in mid-1990,
	except as a museum piece; the usage lives on, however, and the
	term "luser" is often seen in program comments.

	See: also {LART}.  Compare: {tourist}, {weenie}.

	[{Jargon File}]

	(1998-07-01)

Luser Attitude Re-adjustment Tool

	<jargon> (LART) Something large, heavy and painful, used to
	respond appropriately to particularly annoying {lusers}.

	The alt.sysadmin.recovery {FAQ} recommends the following
	LARTs.  A 2x4 works fine, but a real professional needs
	something a little more effective.  Unfortunately, this is a
	very personal thing, and no consensus has yet been reached on
	the group.  Everything from a simple, 7.65mm Walther (for the
	Bond fans only, it's not a very good gun) to a 155mm with
	depleted Uranium rounds has been suggested, some even going
	for exotic things like Thermite, nukes or flamethrowers.  For
	further info, look at the rec.guns home page.

	{alt.sysadmin.recovery FAQ
	(http://ctrl-c.liu.se/~ingvar/asr/overview.html)}.

	(1998-12-09)

LUSTRE

	(A French acronym for Synchronous real-time Lucid).  Real-time
	dataflow language for synchronous systems, especially
	automatic control and signal processing.  A {Lucid} subset,
	plus timing operators and user-defined clocks.

	Designed for automatic control applications.  It is based on
	the idea that automatic control engineers use to analyse, and
	specify their systems in terms of functions over sequences
	(sampled signals).  It thus seems both safe and cost effective
	to try to compile directly those descriptions into executable
	code.  A lot of work has been done, so as to get efficient
	compilation, and also in formal verification.  The language
	has been used in nuclear plant control, and will be used in
	aircraft control.

	["Outline of a Real-Time Data-Flow Language", J.-L. Bergerand
	et al, Proc IEE-CS Real Time Systems Symp, San Diego, IEEE Dec
	1985, pp. 33-42].

	["LUSTRE: A Declarative Language for Programming Synchronous
	Systems", P. Caspi et al, Conf Rec 14th Ann ACM Symp on Princ
	Prog Langs, 1987].

	(1994-10-12)

lv

	<networking> The {country code} for Latvia.

	(1999-01-27)

lvalue

	<programming> A reference to a location, an expression which
	can appear as the destination of an {assignment} operator
	indicating where a value should be stored.  For example, a
	variable or an array element are lvalues but the constant 42
	and the expression i+1 are not.  A constant string may or may
	not be an lvalue (it usually is in {C}).

	(1995-04-28)

LVD

	{Low Voltage Differential}

LWP

	<programming> {light-weight process}.

	(1996-02-22)

ly

	<networking> The {country code} for Libya.

	(1999-01-27)

LYaPAS

	(Russian acronym for "Logical Language for the Representation
	of Synthesis Algorithms")

	A language for the {URAL-1} computer.  It was coded in
	{octal}!

	["LYaPAS: A Programming Language for Logic and Coding
	Algorithms", M.A. Gavrilov et al eds, Academic Press 1969].

	(1995-02-16)

Lycos

	<web> A {web} index, served by {Carnegie
	Mellon University}.  It allows you to search on document title
	and content for a list of keywords.  Lycos is probably the
	biggest such index on the web.  By April 1995, the Lycos
	database contained 2.95 million unique documents.

	The Lycos database is built by a {Web crawler} that can bring
	in 5000 documents per day.  The index searches document title,
	headings, links, and keywords it locates in these documents.

	The Lycos servers are efficient but overloaded.  Failure to
	connect or "please try later" messages are common.

	{(http://lycos.cs.cmu.edu/)}.

	(1995-04-06)

lylafklc

	<chat> Love you like a fat kid loves cake.

	(2006-12-12)

lynix

	<spelling> Misspelling of "{Linux}" (the {Unix} {clone}), or
	possibly "{lynx}" (the {web browser}).

	(1995-04-06)

LYNX

	A language for large distributed {networks}, using {remote
	procedure calls}, developed by the {University of Wisconsin}
	in 1984.

	["The Lynx Distributed Programming Language: Motivation,
	Design and Experience", M.L. Scott, Computer Langs 16:209-233
	(1991)].

	(1994-10-12)

Lynx

	1. A {WWW} {browser} from the {University of Kansas} for use
	on {cursor-addressable}, {character cell} {terminals} or
	{terminals emulators} under {Unix} or {VMS}.  Lynx is a
	product of the Distributed Computing Group within Academic
	Computing Services of The {University of Kansas}.  Lynx was
	originally developed by Lou Montulli, Michael Grobe and
	Charles Rezac.  Garrett Blythe created {DosLynx} and later
	joined the Lynx effort as well.  Foteos Macrides ported much
	of Lynx to VMS and is now maintaining it.

	Version: 2.4-FM (1995-10-25).

	{(http://cc.ukans.edu/about_lynx/about_lynx.html)}.

	Mailing list: lynx-dev@ukanaix.cc.ukans.edu (send "subscribe
	lynx-dev <your-name>" in the message body to
	listserv@ukanaix.cc.ukans.edu).

	(1994-12-07)

	2. {Lynx Real-Time Systems}.

	(1996-03-25)

LynxOS

	A {POSIX} compliant {real-time} {operating system} from {Lynx
	Real-Time Systems}.  It has a {Unix}-like interface to
	{application programs}.

	(1994-10-12)

Lynx Real-Time Systems

	A company in Los Gatos, California who distribute {LynxOS}.

	{(http://lynx.com/)}.

	E-mail: <sales@lynx.com>, <support@lynx.com>.

	Address: 16780 Lark Avenue, Los Gatos, CA 95030, USA.

	Telephone:: +1 (408) 354 7770, +1 (800) 255 LYNX. Fax: +1
	(408) 354 7085.

	(1995-01-18)

LYRIC

	Language for Your Remote Instruction by Computer.  A {CAI}
	language implemented as a {Fortran} {preprocessor}.

	["Computer Assisted Instruction: Specification of Attributes
	for CAI Programs and Programmers", G.M. Silvern et al, Proc
	ACM 21st Natl Conf (1966)].

	(1994-10-12)

LZ77 compression

	The first {algorithm} to use the {Lempel-Ziv} {substitutional
	compression} schemes, proposed in 1977.  LZ77 compression
	keeps track of the last n bytes of data seen, and when a
	phrase is encountered that has already been seen, it outputs a
	pair of values corresponding to the position of the phrase in
	the previously-seen buffer of data, and the length of the
	phrase.  In effect the compressor moves a fixed-size "window"
	over the data (generally referred to as a "sliding window"),
	with the position part of the (position, length) pair
	referring to the position of the phrase within the window.

	The most commonly used {algorithms} are derived from the
	{LZSS} scheme described by James Storer and Thomas Szymanski
	in 1982.  In this the compressor maintains a window of size N
	bytes and a "lookahead buffer", the contents of which it tries
	to find a match for in the window:

	 while (lookAheadBuffer not empty)
	 {
	     get a pointer (position, match) to the longest match in
	     the window for the lookahead buffer;

	     if (length > MINIMUM_MATCH_LENGTH)
	     {
	       output a (position, length) pair;
	       shift the window length characters along;
	     }
	     else
	     {
	       output the first character in the lookahead buffer;
	       shift the window 1 character along;
	     }
	  }

	Decompression is simple and fast: whenever a (POSITION,
	LENGTH) pair is encountered, go to that POSITION in the window
	and copy LENGTH bytes to the output.

	Sliding-window-based schemes can be simplified by numbering
	the input text characters mod N, in effect creating a circular
	buffer.  The sliding window approach automatically creates the
	{LRU} effect which must be done explicitly in {LZ78} schemes.
	Variants of this method apply additional compression to the
	output of the LZSS compressor, which include a simple
	variable-length code ({LZB}), dynamic {Huffman coding}
	({LZH}), and {Shannon-Fano} coding ({ZIP} 1.x), all of which
	result in a certain degree of improvement over the basic
	scheme, especially when the data are rather random and the
	LZSS compressor has little effect.  An algorithm was developed
	which combines the ideas behind LZ77 and LZ78 to produce a
	hybrid called {LZFG}.  LZFG uses the standard sliding window,
	but stores the data in a modified {trie} data structure and
	produces as output the position of the text in the trie.
	Since LZFG only inserts complete *phrases* into the
	dictionary, it should run faster than other LZ77-based
	compressors.

	All popular archivers ({arj}, {lha}, {zip}, {zoo}) are
	variations on LZ77.

	[comp.compression {FAQ}].

	(1995-04-07)

LZ78 compression

	A {substitutional compression} scheme which works by entering
	phrases into a dictionary and then, when a reoccurrence of
	that particular phrase is found, outputting the dictionary
	index instead of the phrase.  Several {algorithms} are based
	on this principle, differing mainly in the manner in which
	they manage the dictionary.

	The most well-known Lempel-Ziv scheme is Terry Welch's
	{Lempel-Ziv Welch} variant of LZ78.

	[comp.compression {FAQ}].

LZ compression

	{Lempel-Ziv compression}

lzexe

	An executable file {compression} utility for {MS-DOS}.  It
	adds a minimal header to the executable to decompress it when
	it is executed.  See also {pklite}.

lzh

	<filename extension> The {filename extension} for a file
	produced by the {LHA} program.

	(1995-04-03)

LZH compression

	<algorithm> (After Lempel-Ziv and Haruyasu, the inventors) A
	{compression} {algorithm} derived from the {LZSS} scheme with
	a sliding window and additional compression applied to the
	output of the LZSS compressor by {dynamic Huffman coding}.

	(1995-04-07)

LZW compression

	{Lempel-Ziv Welch compression}

M

	1. Alternative name for {MUMPS}.

	2. A {C}-like language from {Silicon Compiler Systems} for
	multilevel {hardware description}.  It is currently available
	in the {GDT} package from {Mentor Graphics}.

	[{Jargon File}]

	(1994-10-26)

	3. <unit> The abbreviated for of {mega-}.

	(1995-01-10)

m2

	A {Modula-2} {compiler} for {VAX} and {MIPS}.  A {Pascal}
	compiler for VAX is also included.  The Pascal compiler
	accepts a language that is almost identical to {Berkeley
	Pascal}.  It was originally designed and built by Michael L.
	Powell in 1984.  Joel McCormack made it faster, fixed lots of
	bugs, and swiped/wrote a User's Manual.  Len Lattanzi ported
	it to the MIPS.

	It has the following extensions: {foreign function} and data
	interface, {dynamic array} variables, {subarray parameters},
	multi-dimensional {open array parameters}, {inline
	procedures}, longfloat type, type-checked interface to {C}
	library I/O routines.

	It runs on {VAX} ({Ultrix}, {BSD}) and {MIPS} ({Ultrix}).

	{(ftp://gatekeeper.dec.com/pub/DEC/Modula-2/m2.tar.Z)}.

	E-mail: <modula-2@decwrl.pa.dec.com>.

	(1992-07-06)

M2toM3

	A simple {Modula-2} to {Modula-3} translator by Peter Klein
	<pk@i3.informatik.rwth-aachen.de> which covers most of the
	syntactic differences between those languages.  No context
	sensitive analysis is done, so WITH statements, local
	{modules}, {enumeration type} literals and {variant RECORDs}
	have to be dealt with by hand.  Part of the {Sun} Modula 2
	library is emulated by the Modula 3 library.

	Version 1.01.

	{(ftp://martha.informatik.rwth-aachen.de/pub/Modula3)}.

	(1992-12-01)

M3

	A {macro} processor, forerunner of {M4}, for the {AP-3}
	{minicomputer}.

m4

	A {macro} processor for {Unix} and {GCOS} which is more
	flexible than {cpp}.  m4 copies its input to the output,
	expanding macros which can be either built-in or user-defined.
	m4 has built-in functions for including files, running {Unix}
	commands, doing integer arithmetic, manipulating text in
	various ways and recursing.  m4 can be used either as a
	{front-end} to a compiler or as a stand-alone tool.

	{sendmail}'s configuration file (/etc/sendmail.cf) is writen
	in m4 macros.

	There is a {GNU m4 v1.1
	(ftp://gnu.org/pub/gnu/m4-1.0.tar.Z)} by Francois
	Pinard <pinard@iro.umontreal.ca> and a {public domain} version
	by Ozan Yigit <oz@sis.yorku.ca> and Richard A. O'Keefe
	<ok@goanna.cs.rmit.OZ.AU> (FTP from any {386BSD}, {NetBSD} or
	{FreeBSD} archive).  A {Macintosh} version is {here
	(ftp://nic.switch.ch/pub/software/mac/src/mpw-c/)}.

	See also {m3}, {m5}.

	["The M4 Macro Processor",
	Kernighan & Ritchie, Jul 1977].

M5

	Macro processor, a generalisation of {M4} by A. Dain, U
	Cincinnati, 1992.  For Unix and DOS.

	{(ftp://thor.exe.u.edu/pub/dain/m5)}.

ma

	<networking> The {country code} for Morocco.

	(1999-01-27)

MAC

	1. {Media Access Control}.

	2. Early system on {Ferranti} {Mercury}.  Listed in CACM
	2(5):16 (May 1959).

Mac

	<computer> The line of computers manufactured by {Apple Inc}.
	"Mac" is not primarily a nickname or an abbreviation, but a
	brand name and trademark in its own right.  Apple currently
	(2009) refer to the brand as any of "Mac", "iMac" or
	"Macintosh" (all registered trademarks).

	The Mac was Apple's successor to the {Lisa}.  The project was
	proposed by {Jef Raskin} some time before {Steve Jobs}'s
	famous visit to {Xerox PARC}.  Jobs tried to scuttle the
	Macintosh project and only joined it later because he wasn't
	trusted to manage the {Lisa} project.

	The {Macintosh user interface} was notable for popularising
	the {graphical user interface}, with its easy to learn and
	easy to use {desktop} metaphor.

	The first Macintosh, introduced in January 1984, had a
	{Motorola 68000} {CPU}, 128K of {RAM}, a small {monochrome}
	screen, and one built-in {floppy disk} drive with an external
	slot for one more, two {serial ports} and a four-voice sound
	generator.  This was all housed in one small plastic case,
	including the screen.  When more memory was available later in
	the year, a 512K Macintosh was nicknamed the "Fat Mac."

	The Mac Plus (January 1986) added expandability by providing
	an external {SCSI} port for connecting {hard disks}, {magnetic
	tape}, and other high-speed devices.

	The Mac SE (March 1987) had up to four megabytes of {RAM}, an
	optional built-in 20 megabyte hard disk and one internal
	expansion slot for connecting a third-party device.

	The Mac II (March 1987) used the faster {Motorola 68020} {CPU}
	with a 32-bit {bus}.

	In 1994 the {Power Mac} was launched, and in 1999 the {iMac}
	was introduced.  The {SuperDrive} appeared in the iMac in 2002.

	The {Macintosh Operating System} is now officially called "Mac
	OS".  Mac OS X is the successor to Mac OS 9, although its
	technological parent is the {NEXTSTEP} OS from {Next, Inc.},
	founded by Steve Jobs after he left Apple the first time.  OS
	X is based largely on the {BSD} UNIX system.  The core of the
	OS X operating system is released as free {source code} under
	the project name {Darwin}.

	The standard Macintosh screen {resolution} is 72 {dpi} (making
	one {point} = one {pixel}), exactly half the 144 dpi
	resolution of the ancient {Apple Imagewriter} {dot matrix}
	printer.

	If "Macintosh" were an acronym, some say it would stand for
	"Many Applications Crash, If Not, The Operating System Hangs".
	While this was true for pre Mac OS 9 systems, it is less true
	for Mac OS 9, and totally incorrect for Mac OS X, which has
	protected memory, so even if one application crashes, the
	system and other applications are unaffected.

	See also {Macintosh file system}, {Macintosh user interface}.

	{Apple Home (http://apple.com/mac)}.

	(2009-05-05)

Mac-1

	<language> The {assembly language} used in the book cited
	below.

	See {Mic-1}.

	["Structured Computer Organization", A.S. Tanenbaum, 3rd
	Edition, P-H 1989, Sect. 4.3].

	(1996-04-07)

MAC-360

	A system for solving numerical problems using equation-like
	input.  Developed around 1967.

	["User's Guide to MAC-360", Charles Stark Draper Lab,
	Cambridge MA (Aug 1973)].

	[Sammet 1969, p. 264].

MACA

	{Multiple Access with Colision Avoidance}

MAC address

	The hardware address of a device connected to a shared
	{network} medium.  See also {Media Access Control}.

MACAnalyst

	An analysis {CASE} tool for the {Macintosh} from {Excel
	Software, Inc.}

Macaulay

	A {symbolic mathematics} package for {commutative algebra},
	{algebraic geometry} and {cohomology}, written in {C} by Mike
	Stillman <mike@mssun7.msi.cornell.edu> and Dave Bayer
	<bayer@cUnixa.columbia.edu> in 1977.  Version 3 runs on {Sun},
	{Macintosh} and {Amiga}.

	{(ftp://zariski.harvard.edu/)}.

	(1994-10-12)

MacBinary

	<file format> An eight-bit wide representation of the data and
	{resource forks} of an {Macintosh} file and of relevant
	{Finder} information.  MacBinary files are recognised as
	"special" by several MacIntosh {terminal emulators}.  These
	emulators, using {Kermit} or {XMODEM} or any other file
	transfer protocol, can separate the incoming file into {forks}
	and appropriately modify the {Desktop} to display {icons},
	types, creation dates, and the like.

	(1995-03-08)

MACDesigner

	A design CASE tool for the Mac from {Excel Software, Inc.}

macdink

	/mak'dink/ To make many incremental and unnecessary cosmetic
	changes to a program or file.  Often the subject of the
	macdinking would be better off without them.  The {Macintosh}
	is said to encourage such behaviour.

	See also {fritterware}, {window shopping}.

	[{Jargon File}]

	(1994-11-22)

MACE

	A concurrent {object-oriented} language.

Mach

	An operating system kernel under development at
	Carnegie-Mellon University to support distributed and parallel
	computation.  Mach is designed to support computing
	environments consisting of networks of uniprocessors and
	multiprocessors.  Mach is the kernel of the {OSF}/1.

Machiavelli

	An extension of {Standard ML} developed by Peter Buneman &
	Atsushi Ohori of the {University of Pennsylvania} in 1989,
	based on {orthogonal persistence}.

	["Database Programming in Machiavelli: A Polymorphic Language
	with Static Type Inference", A. Ohori, Proc SIGMOD Conf, ACM,
	June 1989].

	(1995-02-21)

machinable

	{Machine-readable}.  Having the {softcopy} nature.

	[{Jargon File}]

machine

	Common term for "computer", usually when considered at the
	hardware level.  The {Turing Machine}, an early example of
	this usage, was however neither hardware nor software, but
	only an idea.

	[Earlier use?]

	(1995-02-15)

machine code

	<language> The representation of a {computer program} that is
	read and interpreted by the computer hardware (rather than by
	some other machine code program).  A program in machine code
	consists of a sequence of "instructions" (possibly
	interspersed with data).  An instruction is a {binary string},
	(often written as one or more {octal}, {decimal} or
	{hexadecimal} numbers).  Instructions may be all the same size
	(e.g. one 32-bit word for many modern {RISC}
	{microprocessors}) or of different sizes, in which case the
	size of the instruction is determined from the first {word}
	(e.g. {Motorola} {68000}) or {byte} (e.g. {Inmos}
	{transputer}).  The collection of all possible instructions
	for a particular computer is known as its "{instruction set}".

	Each instruction typically causes the {Central Processing
	Unit} to perform some fairly simple operation like loading a
	value from memory into a {register} or adding the numbers in
	two registers.  An instruction consists of an {op code} and
	zero or more {operands}.  Different processors have different
	{instruction sets} - the collection of possible operations
	they can perform.

	Execution of machine code may either be {hard-wired} into the
	{central processing unit} or it may be controlled by
	{microcode}.  The basic execution cycle consists of fetching
	the next instruction from {main memory}, decoding it
	(determining which action the {operation code} specifies and
	the location of any {arguments}) and executing it by opening
	various {gates} (e.g. to allow data to flow from main memory
	into a CPU {register}) and enabling {functional units}
	(e.g. signalling to the {ALU} to perform an addition).

	Humans almost never write programs directly in machine code.
	Instead, they use {programming languages}.  The simplest kind
	of programming language is {assembly language} which usually
	has a one-to-one correspondence with the resulting machine
	code instructions but allows the use of {mnemonics} (ASCII
	strings) for the "{op codes}" (the part of the instruction
	which encodes the basic type of operation to perform) and
	names for locations in the program (branch labels) and for
	{variables} and {constants}.  Other languages are either
	translated by a {compiler} into machine code or executed by an
	{interpreter}

	(2009-06-16)

machine cycle

	<processor> The four steps which the {CPU} carries out for
	each {machine language} instruction: fetch, decode, execute,
	and store.  These steps are performed by the {control unit},
	and may be fixed in the logic of the CPU or may be programmed
	as {microcode} which is itself usually fixed (in {ROM}) but
	may be (partially) modifiable (stored in {RAM}).

	The fetch cycle places the current {program counter} contents
	(the address of the next instruction to execute) on the
	{address bus} and reads in the word at that location into the
	{instruction register} (IR).  In {RISC} CPUs instructions are
	usually a single word but in other architectures an
	instruction may be several words long, necessitating several
	fetches.

	The decode cycle uses the contents of the IR to determine
	which {gates} should be opened between the CPU's various
	{functional units} and busses and what operation the {ALU}(s)
	should perform (e.g. add, {bitwise and}).  Each gate allows
	data to flow from one unit to another (e.g. from {register} 0
	to ALU input 1) or enables data from one output onto a certain
	{bus}.  In the simplest case ("{horizontal encoding}") each
	bit of the instruction register controls a single gate or
	several bits may control the ALU operation.  This is rarely
	used because it requires long instruction words (such an
	architecture is sometimes called a {very long instruction
	word} architecture).  Commonly, groups of bits from the IR are
	fed through {decoders} to control higher level aspects of the
	CPU's operation, e.g. source and destination registers,
	{addressing mode} and {ALU} operation.  This is known as
	{vertical encoding}.  One way {RISC} processors gain their
	advantage in speed is by having simple instruction decoding
	which can be performed quickly.

	The execute cycle occurs when the decoding logic has settled
	and entails the passing of values between the various function
	units and busses and the operation of the ALU.  A simple
	instruction will require only a single execute cycle whereas a
	complex instruction (e.g. subroutine call or one using memory
	{indirect addressing}) may require three or four.
	Instructions in a RISC typically (but not invariably) take
	only a single cycle.

	The store cycle is when the result of the instruction is
	written to its destination, either a {register} or a memory
	location.  This is really part of the execute cycle because
	some instructions may write to multiple destinations as part
	of their execution.

	(1995-04-13)

MAchine INdependent SAIL

	(MAINSAIL) From {XIDAK}, Palo Alto CA, +1 (415) 855 9271.

	(2006-12-06)

machine instruction

	<programming> The smallest element of a {machine code} program.

	(2009-06-23)

machine language

	{machine code}

machine learning

	The ability of a machine to improve its performance based on
	previous results.

	{Neural networks} are one kind of machine learning.

	[More examples?  Net resources?  Web page?]

	(1995-02-15)

Mach Interface Generator

	<tool, programming> (MIG) An implementation of a subset of
	{Matchmaker} that generates {C} and {C++} {remote procedure
	call} interfaces for {interprocess communication} between
	{Mach} tasks.

	["MIG - The Mach Interface Generator", R.P. Draves et al, CS
	CMU, (1989-08-4)].

	(1994-11-22)

machoflops

	/mach'oh-flops/ A pun on "{megaflops}" referring to the
	inflated performance figures often quoted by computer
	manufacturers.  Real {application programs} are lucky to get
	half the quoted speed.

	See {Your mileage may vary}, {benchmark}.

	[{Jargon File}]

	(1995-02-15)

Mac II

	{Macintosh II}

Mac IIcx

	{Macintosh IIcx}

Macintosh

	<computer> One of the trademark/brand names that {Apple Inc}
	use for their {Mac} family of {personal computers}.

	(2009-05-05)

Macintosh Common Lisp

	<language> (MCL) {Common Lisp} for the {Apple Macintosh}.

	Guillaume Cartier, of the Mathematics Department at UQAM,
	Canada, has written some libraries.

	Latest version: 1.2.

	{(ftp://cambridge.apple.com/pub/mcl2/contrib/)}.

	(1992-11-30)

Macintosh file system

	<file system> A file on the {Macintosh} consists of two parts,
	called forks.  The "data fork" contains the data which would
	normally be stored in the file on other operating systems.
	The "resource fork" contains a collection of arbitrary
	attribute/value pairs, including program segments, {icon}
	{bitmaps}, and parametric values.  Yet more information
	regarding Macintosh files is stored by the {Finder} in a
	hidden file, called the "Desktop Database".

	Because of the complications in storing different parts of a
	Macintosh file in non-Macintosh file systems that only handle
	consecutive data in one part, it is common to only send the
	Data fork or to convert the Macintosh file into some other
	format before transferring it.

	(1996-03-03)

Macintosh II

	<computer> (Mac II) A version of {Apple}'s {Macintosh}
	{personal computer}, released in March 1987, using the
	{Motorola 68020} {CPU}, which runs at a higher {clock rate}
	than the {Motorola 68000} used in the original Mac.  The Mac
	II has a full 32-bit data bus instead of a 16-bit bus.  Mac II
	models have built-in 40 to 160 megabyte {hard disks} and can
	take up to eight megabytes of {RAM} (and more as denser memory
	chips arive).

	The Mac II was the first Macintosh to provide a colour
	graphics option, with up to 256 colours on screen at a 640x480
	resolution.  Mac II models are designed for expandability with
	three ({Macintosh IIcx}) or six (II & IIx) built-in {NuBus}
	{expansion slots} for additional {peripheral} and
	{coprocessor} boards.

	(1996-05-25)

Macintosh IIcx

	<computer> (Mac IIcx) A version of {Apple}'s {Macintosh II}
	{personal computer}, introduced in 1989, with a {Motorola
	68030} processor running at 16 MHz and up to 128 MB of {RAM}
	(120 ns, 30-pin {DRAM} chips).  The IIcx requires System 6.0.3
	or later and requires "Mode 32" or "32-bit Enabler" to use
	more than 8MB of RAM.  It was discontinued 1991, and in 1996
	is still considered one of the best-designed Macs ever.

	(1996-05-25)

Macintosh Operating System

	<operating system> (Mac OS) {Apple Computer, Inc.}'s
	proprietary {operating system} for their {Macintosh} family of
	{personal computers}.

	The part of the operating system that simulates the desktop is
	called "{Finder}."  The {multitasking} version of Finder was
	called "{MultiFinder}" until {multitasking} was integrated
	into the core of the OS with the introduction of System 7.0 in
	1990.

	The Macintosh series provides a built-in graphics language,
	called "{QuickDraw}", which provides a {standard} for software
	developers.

	Mac OS 8, scheduled for delivery in July 1997, included new
	human-interface features, increased system stability and
	performance, a {PowerPC} processor-native Finder, tighter
	integration of {Internet} access through panel-based
	"assistants," Personal Web Sharing and the ability to run
	{Java applets} and programs through Mac OS Run Time for
	{Java}.  Version 9.2 was the last version of the bespoke Mac
	OS.  The next version, {Mac OS X} is quite different, being
	based on {Unix}.

	See also {Macintosh file system}, {Macintosh user interface}.

	(2007-03-15)

Macintosh user interface

	<operating system> The {graphical user interface} used by
	{Apple Computer}'s {Macintosh} family of {personal computers},
	based on graphical representations of familiar office objects
	(sheets of paper, files, wastepaper bin, etc.) positioned on a
	two-dimensional "{desktop}" workspace.

	Programs and data files are represented on screen by small
	pictures ({icons}).  An object is selected by moving a {mouse}
	over the real desktop which correspondingly moves the
	{pointer} on screen.  When the pointer is over an icon on
	screen, the icon is selected by pressing the button on the
	mouse.

	A {hierarchical file system} is provided that lets a user
	"{drag}" a document (a file) icon into and out of a {folder}
	(directory) icon.  Folders can also contain other folders and
	so on.  To delete a document, its icon is dragged into a
	{trash can} icon.  For people that are not computer
	enthusiasts, managing files on the Macintosh is easier than
	using the {MS-DOS} or {Unix} {command-line interpreter}.

	The Macintosh always displays a row of menu titles at the top
	of the screen.  When a mouse button is pressed over a title, a
	{pull-down menu} appears below it.  With the mouse button held
	down, the option within the menu is selected by pointing to it
	and then releasing the button.

	Unlike the {IBM PC}, which, prior to {Microsoft Windows} had
	no standard {graphical user interface}, Macintosh developers
	almost always conform to the Macintosh interface.  As a
	result, users are comfortable with the interface of a new
	program from the start even if it takes a while to learn all
	the rest of it.  They know there will be a row of menu options
	at the top of the screen, and basic tasks are always performed
	in the same way.  Apple also keeps technical jargon down to a
	minimum.

	Although the Macintosh user interface provides consistency; it
	does not make up for an {application program} that is not
	designed well.  Not only must the application's menus be clear
	and understandable, but the locations on screen that a user
	points to must be considered.  Since the mouse is the major
	selecting method on a Macintosh, mouse movement should be kept
	to a minimum.  In addition, for experienced typists, the mouse
	is a cumbersome substitute for well-designed keyboard
	commands, especially for intensive text editing.

	{Urban legned} has it that the Mac user interface was copied
	from {Xerox}'s {Palo Alto Research Center}.  Although it is
	true that Xerox's {smalltalk} had a GUI and Xerox introduced
	some GUI concepts commercially on the {Xerox Star} computer in
	1981, and that {Steve Jobs} and members of the Mac and {Lisa}
	project teams visited PARC, Jef Raskin, who created the Mac
	project, points out that many GUI concepts which are now
	considered fundamental, such as dragging objects and pull-down
	menus with the mouse, were actually invented at Apple.

	{Pull-down menus} have become common on {IBM}, {Commodore} and
	{Amiga} computers.  {Microsoft Windows} and {OS/2}
	{Presentation Manager}, {Digital Research}'s {GEM},
	{Hewlett-Packard}'s {New Wave}, the {X Window System}, {RISC
	OS} and many other programs and operating environments also
	incorporate some or all of the desktop/mouse/icon features.

	{Apple Computer} have tried to prevent other companies from
	using some {GUI} concepts by taking legal action against them.
	It is because of such restrictive practises that organisations
	such as the {Free Software Foundation} previously refused to
	support ports of their software to Apple machines, though this
	ban has now been lifted.  [Why?  When?]

	(1996-07-19)

Macintoy

	/mak'in-toy/ The Apple {Macintosh}, considered as a {toy}.
	Less pejorative than {Macintrash}.

	[{Jargon File}]

Macintrash

	/mak'in-trash"/ The Apple {Macintosh}, as described by a
	hacker who doesn"t appreciate being kept away from the *real
	computer* by the interface.  The term {maggotbox} has been
	reported in regular use in the Research Triangle area of North
	Carolina.  Compare {Macintoy}.

	See also {beige toaster}, {WIMP environment}, {point-and-drool
	interface}, {drool-proof paper}, {user-friendly}.

	(1995-05-02)

MACL

	{Macintosh} {Allegro CL}.

	E-mail: <info-macl@cambridge.apple.com>.

MacLisp

	<language> A dialect of {Lisp} developed at {MIT} AI Lab in
	1966, known for its efficiency and programming facilities.
	MacLisp was later used by {Project MAC}, {Mathlab} and
	{Macsyma}.  It ran on the {PDP-10}.  It introduced the {LEXPR}
	(a function with variable {arity}), {macros}, {arrays}, and
	{CATCH/THROW}.

	MacLisp was one of two main branches of LISP (the other being
	{Interlisp}).  In 1981 {Common LISP} was begun in an effort to
	combine the best features of both.

	["MACLISP Reference Manual", D.A. Moon
	<moon@cambridge.apple.com>, TR Project MAC, MIT 1974].

	(2004-05-07)

MacMinix

	<operating system> The {Macintosh} version of {MINIX}.

	[Details?  URL?]

	(1997-06-17)

Mac OS

	{Macintosh Operating System}

Mac OS X

	<operating system> /mak oss ten/ Version 10 of the {Macintosh
	Operating System}, based on {FreeBSD} unlike prevoius
	versions.  Apple released the {kernel} of Mac OS X Server as
	"{darwin}", under an {open source} license.  Mac OS X incldues
	a code {framework} called the "Core Foundation" and an
	"Application Kit" framework for {GUI} and {widgets} strongly
	derived from {NEXTSTEP}.

	(2007-03-15)

Mac Playmate

	<games> An early (~1985) example of a pornographic computer
	game.  Mac Playmate runs on the {Macintosh} and involves
	trying to stimulate a simulated woman to orgasm by applying
	various implements to her erogenous zones.

	(2002-03-08)

MacPPP

	<networking> An implementation of {PPP} for the {Macintosh}
	developed by Larry J. Blunk and others at Merit Network, Inc.
	MacPPP was revised in 1993 with the release of MacPPP 2.0.1.
	The latest incarnation of MacPPP is {FreePPP}.

	(2000-11-25)

MACRO

	1. Assembly language for {VAX/VMS}.

	2. {PL/I}-like language with extensions for string processing.
	"MACRO: A Programming Language", S.R. Greenwood, SIGPLAN
	Notices 14(9):80-91 (Sep 1979).

	[{Jargon File}]

macro

	A name (possibly followed by a {formal argument} list) that is
	equated to a text or symbolic expression to which it is to be
	expanded (possibly with the substitution of {actual
	arguments}) by a macro expander.

	The term "macro" originated in early {assemblers}, which
	encouraged the use of macros as a structuring and
	information-hiding device.  During the early 1970s, macro
	assemblers became ubiquitous, and sometimes quite as powerful
	and expensive as {HLLs}, only to fall from favour as improving
	{compiler} technology marginalised {assembly language}
	programming (see {languages of choice}).  Nowadays the term is
	most often used in connection with the {C preprocessor},
	{Lisp}, or one of several special-purpose languages built
	around a macro-expansion facility (such as {TeX} or {Unix}'s
	{troff} suite).

	Indeed, the meaning has drifted enough that the collective
	"macros" is now sometimes used for code in any special-purpose
	application control language (whether or not the language is
	actually translated by text expansion), and for macro-like
	entities such as the "keyboard macros" supported in some text
	editors (and {PC} {TSRs} or {Macintosh} INIT/CDEV keyboard
	enhancers).

	(1994-12-06)

macro-

	Prefix large.  Opposite of {micro-}.  In the mainstream and
	among other technical cultures (for example, medical people)
	this competes with the prefix {mega-}, but hackers tend to
	restrict the latter to quantification.

	[{Jargon File}]

macrology

	/mak-rol'*-jee/ 1. Set of usually complex or {crufty} {macros},
	e.g. as part of a large system written in {Lisp}, {TECO}, or
	(less commonly) {assembler}.

	2. The art and science involved in comprehending a macrology.
	Sometimes studying the macrology of a system is not unlike
	archaeology, ecology, or {theology}, hence the sound-alike
	construction.  See also {boxology}.

	(2003-09-02)

Macromedia

	<company> A company supplying {multimedia} and interactive
	television services and digital arts software tools in the US
	and worldwide.  They produce products for {Microsoft Windows}
	and the {Macintosh} including: Macromedia FreeHand, a tool for
	design and illustration; Macromedia Director, an animation and
	authoring tool for multimedia production; Authorware
	Professional, a multiplatform authoring tool for interactive
	learning; MacroModel, a 3D modelling tool for multimedia,
	graphics and product design; SoundEdit 16, a digital sound
	recording and editing system; Fontographer, a typeface editing
	programme; and Action!, a multimedia presentation application.

	Chief Executive Officer: Bud Colligan.

	(1995-01-10)

macro preprocessor

	{preprocessor}

Macro SAP

	Macro processing modification of SAP.  D.E. Eastwood and D.M.
	McIlroy, unpublished memorandum, Bell Labs 1959.  Led to TRAC.

macrotape

	<storage> /mak'roh-tayp/ An industry-standard reel of
	{magnetic tape}, as opposed to a {microtape}.

	See also {round tape}.

	[{Jargon File}]

	(1994-10-20)

MACSYMA

	{Project MAC}'s SYmbolic MAnipulator.  The first comprehensive
	{symbolic mathematics} system, written in {Lisp} by Joel Moses
	<moses@larch.lcs.mit.edu> of {MIT} in 1969, later {Symbolics},
	Inc.

	Versions include {Symbolics Macsyma}, {DOE Maxima} (ANL, in
	Common LISP) and {Vaxima}.

	{(ftp://rascal.ics.utexas.edu/pub/maxima-4-155.tar.Z)}.
	E-mail: <macsyma-service@symbolics.com>.

	["MACSYMA - The Fifth Year", J. Moses, SIGSAM Bulletin 8(3)
	(Aug 1974)].

	(1994-11-01)

MacTCP

	<networking> Part of earlier versions of {MacOS} that provided
	access to {TCP/IP} services.  {Apple} removed MacTCP from
	MacOS in revision 7.5.3 in favor of the new {OpenTransport}
	(OT) TCP/IP stack.  However, MacTCP lives on as a community
	development effort.

	See also {MacPPP}.

	[How did it work?  Where was it from?]

	(2000-06-25)

MacX

	A package allowing the {Macintosh} to be used as an {X}
	server.

MAD

	<language> 1. {Michigan Algorithm Decoder}.

	2. A {data flow} language.

	["Implementation of Data Structures on a Data Flow Computer",
	D.L. Bowen, Ph.D. Thesis, Victoria U Manchester, Apr 1981].

	(1999-12-10)

Mad/1

	<language> A later, much enhanced version of {Michigan
	Algorithm Decoder} (MAD), for the {IBM 360}.  Mad/1 was
	University of Michigan's answer to {PL/I}.

	(1999-12-10)

Madaline

	A structure of many ADALINE units.

MADCAP

	Math and set problems, for the Maniac II and CDC 6600.
	"MADCAP - A Scientific Compiler for a Displayed Formula
	Texbook Language", M.B.  Wells, CACM 4(1):31-36 (Jan 1961).
	Sammet 1969, pp.271-281.  Versions: Madcap 5 (1964), Madcap 6.
	"The Unified Data Structure Capability in Madcap 6",
	M.B. Wells et al, Intl J Comp Info Sci 1(3) (sep 1972).

MADTRAN

	Early preprocessor that translated Fortran to MAD, for gain in
	speed.

maggotbox

	<abuse> /mag'*t-boks/ An even more derogatory term than
	{Macintrash}.

	[{Jargon File}]

	(1995-01-25)

MAGIC

	An early system on the {Midac} computer.

	[Listed in CACM 2(5):16 (May 1959)].

	[{Jargon File}]

	(1995-01-25)

magic

	1. As yet unexplained, or too complicated to explain; compare
	{automagically} and (Arthur C.) Clarke's Third Law:

		Any sufficiently advanced technology is
		indistinguishable from magic.

	"TTY echoing is controlled by a large number of magic bits."
	"This routine magically computes the parity of an 8-bit byte
	in three instructions."

	2. Characteristic of something that works although no one
	really understands why (this is especially called {black
	magic}).

	3. (Stanford) A feature not generally publicised that allows
	something otherwise impossible or a feature formerly in that
	category but now unveiled.

	Compare {wizardly}, {deep magic}, {heavy wizardry}.

	For more about hackish "magic" see {Magic Switch Story}.

	4. {magic number}.

	[{Jargon File}]

	(2001-03-19)

magic bullet

	<jargon> (Or "silver bullet" from vampire legends) A term
	widely used in software engineering for a supposed quick,
	simple cure for some problem.  E.g. "There's no silver bullet
	for this problem".

	(1999-01-13)

magic cookie

	1. Something passed between routines or programs that enables
	the receiver to perform some operation; a {capability} ticket
	or {opaque identifier}.  Especially used of small data objects
	that contain data encoded in a strange or intrinsically
	machine-dependent way.  E.g. on non-{Unix} {operating systems}
	with a non-byte-stream model of files, the result of "{ftell}"
	may be a magic cookie rather than a byte offset; it can be
	passed to "{fseek}", but not operated on in any meaningful
	way.  The phrase "it hands you a magic cookie" means it
	returns a result whose contents are not defined but which can
	be passed back to the same or some other program later.

	2. An in-band code for changing graphic rendition (e.g. inverse
	video or underlining) or performing other control functions.
	Some older terminals would leave a blank on the screen
	corresponding to mode-change magic cookies; this was also
	called a {glitch} (or occasionally a "turd"; compare {mouse
	droppings}).

	See also {cookie}.

	[{Jargon File}]

	(1995-01-25)

magic number

	<jargon, programming> 1. In {source code}, some non-obvious
	constant whose value is significant to the operation of a
	program and that is inserted inconspicuously in-line
	({hard-coded}), rather than expanded in by a symbol set by a
	commented "#define".  Magic numbers in this sense are bad
	style.

	2. A number that encodes critical information used in an
	{algorithm} in some opaque way.  The classic examples of these
	are the numbers used in {hash} or {CRC} functions or the
	coefficients in a {linear congruential generator} for
	{pseudorandom} numbers.  This sense actually predates, and
	was ancestral to, the more common sense 1.

	3. Special data located at the beginning of a {binary} data
	file to indicate its type to a utility.  Under {Unix}, the
	system and various {applications programs} (especially the
	{linker}) distinguish between types of executable file by
	looking for a magic number.  Once upon a time, these magic
	numbers were {PDP-11} branch instructions that skipped over
	header data to the start of executable code; 0407, for
	example, was {octal} for "branch 16 bytes relative".  Nowadays
	only a {wizard} knows the spells to create magic numbers.  {MS
	DOS} executables begin with the magic string "MZ".

	*The* magic number, on the other hand, is 7+/-2.  The paper
	cited below established the number of distinct items (such as
	numeric digits) that humans can hold in short-term memory.
	Among other things, this strongly influenced the interface
	design of the phone system.

	["The magical number seven, plus or minus two: some limits on
	our capacity for processing information", George Miller, in
	the "Psychological Review" 63:81-97, 1956].

	[{Jargon File}]

	(2003-07-02)

Magic Paper

	An early interactive {symbolic mathematics} system.

	[Sammet 1969, p. 510].

	(1995-01-25)

magic smoke

	<electronics, humour> A substance trapped inside {integrated
	circuit} packages that enables them to function (also called
	"blue smoke"; this is similar to the archaic "phlogiston"
	hypothesis about combustion).  Its existence is demonstrated
	by what happens when a chip burns up - the magic smoke gets
	let out, so it doesn't work any more.

	See {Electing a Pope}, {smoke test}.

	{Usenet}ter Jay Maynard tells the following story:

	"Once, while hacking on a dedicated {Zilog Z80} system, I was
	testing code by blowing {EPROMs} and plugging them in the
	system then seeing what happened.  One time, I plugged one in
	backward.  I only discovered that *after* I realised that
	{Intel} didn't put power-on lights under the quartz windows on
	the tops of their EPROMs - the die was glowing white-hot.
	Amazingly, the EPROM worked fine after I erased it, filled it
	full of zeros, then erased it again.  For all I know, it's
	still in service.  Of course, this is because the magic smoke
	didn't get let out."

	Compare the original phrasing of {Murphy's Law}.

	[{Jargon File}]

	(1995-01-25)

Magic Switch Story

	Some years ago, I was snooping around in the cabinets that
	housed the {MIT AI Lab}'s {PDP-10}, and noticed a little
	switch glued to the frame of one cabinet.  It was obviously a
	homebrew job, added by one of the lab's hardware hackers
	(no-one knows who).

	You don't touch an unknown switch on a computer without
	knowing what it does, because you might crash the computer.
	The switch was labelled in a most unhelpful way.  It had two
	positions, and scrawled in pencil on the metal switch body
	were the words "magic" and "more magic".  The switch was in
	the "more magic" position.

	I called another hacker over to look at it.  He had never seen
	the switch before either.  Closer examination revealed that
	the switch had only one wire running to it!  The other end of
	the wire did disappear into the maze of wires inside the
	computer, but it's a basic fact of electricity that a switch
	can't do anything unless there are two wires connected to it.
	This switch had a wire connected on one side and no wire on
	its other side.

	It was clear that this switch was someone's idea of a silly
	joke.  Convinced by our reasoning that the switch was
	inoperative, we flipped it.  The computer instantly crashed.

	Imagine our utter astonishment.  We wrote it off as
	coincidence, but nevertheless restored the switch to the "more
	magic" position before reviving the computer.

	A year later, I told this story to yet another hacker, {David
	Moon} as I recall.  He clearly doubted my sanity, or suspected
	me of a supernatural belief in the power of this switch, or
	perhaps thought I was fooling him with a bogus saga.  To prove
	it to him, I showed him the very switch, still glued to the
	cabinet frame with only one wire connected to it, still in the
	"more magic" position.  We scrutinized the switch and its lone
	connection, and found that the other end of the wire, though
	connected to the computer wiring, was connected to a ground
	pin.  That clearly made the switch doubly useless: not only
	was it electrically nonoperative, but it was connected to a
	place that couldn't affect anything anyway.  So we flipped the
	switch.

	The computer promptly crashed.

	This time we ran for Richard Greenblatt, a long-time {MIT}
	hacker, who was close at hand.  He had never noticed the
	switch before, either.  He inspected it, concluded it was
	useless, got some diagonal cutters and {dike}d it out.  We
	then revived the computer and it has run fine ever since.

	We still don't know how the switch crashed the machine.  There
	is a theory that some circuit near the ground pin was
	marginal, and flipping the switch changed the electrical
	capacitance enough to upset the circuit as
	millionth-of-a-second pulses went through it.  But we'll never
	know for sure; all we can really say is that the switch was
	{magic}.

	I still have that switch in my basement.  Maybe I'm silly, but
	I usually keep it set on "more magic".

	{GLS}

	(1995-02-22)

Magma

	<symbolic mathematics, tool> A program used for heavy duty
	algebraic computation in many branches of mathematics.  Magma,
	developed by John Cannon and associates at the University of
	Sydney, succeeded {Cayley}.  It runs at several hundred sites.

	E-mail: <magma@maths.usyd.edu.au>.

	{(http://maths.usyd.edu.au:8000/u/magma/)}.

	[W. Bosma, J. Cannon and C. Playoust, The Magma algebra system
	I: The user language, J. Symb. Comp., 24, 3/4, 1997, 235-265].

	(2000-12-21)

Magma2

	<language> A language that allows programmability of the
	control environment, e.g. {recursion}, {backtracking},
	{coroutines}, {nondeterminism}, etc.  Magma2 was the successor
	to {MagmaLISP}.

	["Magma2: A Language Oriented Toward Experiments in Control",
	Franco Turini, ACM TOPLAS 6(4):468-486 (Oct 1984)].

	(1995-07-30)

MagmaLISP

	<language> The predecessor of {Magma2}.

	["MagmaLISP: A Machine Language for Artificial Intelligence",
	C. Mantagero et al, Proc 4th Intl Joint Conf Artif Intell,
	1975, pp. 556-561].

	(1995-07-30)

magnetic disk

	<storage> A flat rotating disc covered on one or both sides
	with magnetisable material.  The two main types are the {hard
	disk} and the {floppy disk}.

	Data is stored on either or both surfaces of discs in
	concentric rings called "{tracks}".  Each track is divided
	into a whole number of "{sectors}".  Where multiple (rigid)
	discs are mounted on the same axle the set of tracks at the
	same radius on all their surfaces is known as a "{cylinder}".

	Data is read and written by a {disk drive} which rotates the
	discs and positions the {read/write heads} over the desired
	track(s).  The latter radial movement is known as "{seeking}".
	There is usually one head for each surface that stores data.
	To reduce {rotational latency} it is possible, though
	expensive, to have multiple heads at different angles.

	The head writes binary data by magnetising small areas or
	"zones" of the disk in one of two opposing orientations.  It
	reads data by detecting current pulses induced in a coil as
	zones with different magnetic alignment pass underneath it.

	In theory, bits could be read back as a time sequence of pulse
	(one) or no pulse (zero).  However, a run of zeros would give
	a prolonged absence of signal, making it hard to accurately
	divide the signal into individual bits due to the variability
	of motor speed.  {Run Length Limited} is one common solution
	to this {clock recovery} problem.

	High speed disks have an {access time} of 28 {milliseconds} or
	less, and low-speed disks, 65 milliseconds or more.  The
	higher speed disks also transfer their data faster than the
	slower speed units.

	The disks are usually aluminium with a magnetic coating.  The
	heads "float" just above the disk's surface on a current of
	air, sometimes at lower than atmospheric pressure in an
	air-tight enclosure.  The head has an aerodynamic shape so the
	current pushes it away from the disk.  A small spring pushes
	the head towards the disk at the same time keeping the head at
	a constant distance from the disk (about two microns).

	Disk drives are commonly characterised by the kind of
	interface used to connect to the computer, e.g. {ATA}, {IDE},
	{SCSI}.

	See also {winchester}.  Compare {magnetic drum}, {compact
	disc}, {optical disk}, {magneto-optical disk}.

	{Suchanka's PC-DISK library (http://pc-disk.de/)}.

	(2007-06-14)

Magnetic Ink Character Recognition

	<business, printer> (MICR) A {character recognition} system
	using special ink and characters which can be magnetised and
	read automatically.

	MICR is used almost exclusively in the banking industry where
	it is used to print details on cheques to enable automatic
	processing.

	(1995-04-13)

magnetic stripe

	<storage> A black stripe, printed on the back of a credit card
	or similar, that stores a {machine-readable} copy of the
	information on the card.  The stripe contains iron particles
	about 500 nanometers long that can be magnetised like
	{magnetic tape}.  The data can be read by swiping the card
	through a {card reader}.

	(2007-06-04)

magnetic tape

	<storage> (Or "magtape", "tape" - {paper tape} is now
	obsolete) A data storage medium consisting of a magnetisable
	oxide coating on a thin plastic strip, commonly used for
	{backup} and {archiving}.

	Early industry-standard magnetic tape was half an inch wide
	and wound on removable reels 10.5 inches in diameter.
	Different lengths were available with 2400 feet and 4800 feet
	being common.  {DECtape} was a variation on this "{round
	tape}".

	In modern magnetic tape systems the reels are much smaller and
	are fixed inside a {cartridge} to protect the tape and for
	ease of handling ("{square tape}" - though it's really
	rectangular).  Cartridge formats include {QIC}, {DAT}, and
	{Exabyte}.

	Tape is read and written on a tape drive (or "deck") which
	winds the tape from one reel to the other causing it to move
	past a read/write head.  Early tape had seven parallel tracks
	of data along the length of the tape allowing six bit
	characters plus {parity} written across the tape.  A typical
	recording density was 556 characters per inch.  The tape had
	reflective marks near its end which signaled beginning of tape
	(BOT) and end of tape (EOT) to the hardware.

	Data is written to tape in {blocks} with {inter-block gaps}
	between them.  Each block is typically written in a single
	operation with the tape running continuously during the write.
	The larger the block the larger the data {buffer} required in
	order to supply or receive the data written to or read from
	the tape.  The smaller the block the more tape is wasted as
	inter-block gaps.  Several logical {records} may be combined
	into one physical block to reduce wastage ("{blocked
	records}").  Finding a certain block on the tape generally
	involved reading sequentially from the beginning, in contrast
	to {magnetic disks}.  Tape is not suitable for {random
	access}.  The exception to this is that some systems allow
	{tape marks} to be written which can be detected while winding
	the tape forward or rewinding it at high speed.  These are
	typically used to separate logical files on a tape.

	Most tape drives now include some kind of {data compression}.
	There are several {algorithms} which provide similar results:
	{LZ} (most), {IDRC} ({Exabyte}), {ALDC} ({IBM}, {QIC}) and
	{DLZ1} ({DLT}).

	See also {cut a tape}, {flap}, {Group Code Recording},
	{spool}, {macrotape}, {microtape}, {Non Return to Zero
	Inverted}, {Phase Encoded}.

	(1997-04-05)

magnetic tape drive

	<storage> (Or "tape drive") A {peripheral} device that reads
	and writes {magnetic tape}.

	(1996-05-25)

magneto-optical disk

	<hardware, storage> (MO) A plastic or glass disk coated with a
	compound (often TbFeCo) with special optical, magnetic and
	thermal properties.  The disk is read by bouncing a
	low-intensity {laser} off the disk.  Originally the laser was
	infrared, but frequencies up to blue may be possible giving
	higher {storage density}.  The polarisation of the reflected
	light depends on the polarity of the stored magnetic field.

	To write, a higher intensity laser heats the coating up to its
	Curie point, allowing its magnetisation to be altered in a way
	that is retained when it has cooled.

	Although optical, they appear as hard drives to the {operating
	system} and do not require a special {filesystem} (they can be
	formatted as {FAT}, {HPFS}, {NTFS}, etc.).

	The initial 5.25" MO drives, introduced at the end of the
	1980s, were the size of a full-height 5.25" {hard drive} (like
	in {IBM PC XT}) and the disks looked like a {CD-ROM} enclosed
	in an old-style cartridge

	In 2006, a 3.5" drive has the size of 1.44 {megabyte}
	{diskette drive} with disks about the size of a regular 1.44MB
	{floppy disc} but twice the thickness.

	{Storage FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/arch-storage/part1/faq.html)}.

	(2006-07-25)

magneto-optical drive

	{magneto-optical disk}

magnetostrictive delay line

	<storage, history> An early storage device that used tensioned
	wires of nickel alloy carrying longitudinal waves produced and
	detected electromagnetically.

	They had better storage behaviour than {mercury delay lines}.

	[H. Epstein and O.B. Stram, "A High Performance
	Magnetostriction-Sonic Delay Line," Transactions, Institute of
	Radio Engineers, Professional Group on Ultrasonic Engineering,
	1957, pp. 1-24].

	(2002-11-08)

MAGNUM

	A {database} language for {DEC-10}'s, used internally by
	{Tymshare, Inc.}.  MAGNUM was designed in the late 1970's by
	Dale Jordan, Rich Strauss and Dave McQuoid originally, and was
	written in {BLISS-10}.  It was the world's first commercial
	{relational database}.  It was in the process of being written
	in 1976.

	(1995-01-25)

Magritte

	A {constraint} language for interactive graphical layout by
	J. Gosling.  It solves constraints using algebraic
	transformations.

	["Algebraic Constraints", J. Gosling, PhD Thesis, TR
	CS-83-132, CMU, May 1983].

	(1994-10-20)

mail

	<messaging> 1. {electronic mail}.

	2. The {Berkeley Unix} program for composing and reading
	{electronic mail}.  It normally uses {sendmail} to handle
	delivery.

	{Unix manual page}: mail(1)

	(1997-12-03)

Mail Application Programming Interface

	{Messaging Application Programming Interface}

mail bomb

	<messaging> To send, or urge others to send, massive amounts
	of {electronic mail} to a single system or person, with intent
	to crash or {spam} the recipient's system.  A successful mail
	bomb may cause the victim's {disk quota} to be exhausted, the
	disk holding his mailbox to fill up, or his computer to spend
	a large proportion of its time processing mail.

	Mail-bombing is sometimes done in retaliation against someone
	persistently abusing {Usenet} and violating {netiquette}.
	While it may inconvenience the intended victim (if they gave
	their real address), it will probably also inconvenience other
	users and administrators of the computers and networks
	involved.  Mailbombing is thus a serious offense itself.

	See {netiquette} for the correct way to respond to perceived
	violations.

	Compare {letterbomb}, {nastygram}.

	[{Jargon File}]

	(1995-04-04)

mailbox

	1. <messaging> A file belonging to a particular user on a
	particular computer in which received {electronic mail}
	messages are stored ready for the user to read them.  A
	mailbox may be just an {electronic mail address} to which
	messages are sent and may not actually correspond to a file if
	the messages are processed automatically, e.g. a {mail server}
	or {mailing list}.

	2. <programming> A destination for interprocess messages in a
	{message passing} system.  A mailbox is a {message} queue,
	usually stored in the memory of the processor on which the
	receiving process is running.  {Primitives} are provided for
	sending a message to a named mailbox and for reading messages
	from a mailbox.

	(1994-10-20)

mail bridge

	<messaging> A {mail gateway} that {forwards} {electronic mail}
	messages between two or more networks if they meet certain
	administrative criteria.

	(1996-02-26)

mail exchanger

	<messaging> A {server} running {SMTP} {Message Transfer Agent}
	{software} that accepts incoming {electronic mail} and either
	delivers it locally or forwards it to another server.  The
	mail exchanger to use for a given domain can be discovered by
	querying {DNS} for {Mail Exchange Records}.

	(2007-01-29)

Mail Exchange Record

	<messaging> (MX Record) A {DNS} resource record type that says
	which {SMTP} server handles {electronic mail} for a particular
	{domain}.  E.g. the MX record

	 foo.co.uk. 1054 IN MX 10 mail.foo.co.uk.

	means that mail for an address like "denis@foo.co.uk" should
	be sent to "mail.foo.co.uk".

	There can be several servers for a domain.  The "10" is a
	priority - the server with the lowest number will be tried
	first.

	(2007-01-29)

mail exploder

	<messaging> Part of an {electronic mail} delivery system which
	allows a message to be delivered to a list of addresses.  Mail
	exploders are used to implement {mailing lists}.  Users send
	messages to a single address and the mail exploder takes care
	of delivery to the individual {mailboxes} in the list.

	(1996-02-26)

mail filter

	<messaging> A program which sorts and processes incoming
	{mail} based on patterns found in the mail {headers}.

	{procmail} is an example for {Unix}.

	(1996-12-09)

mail gateway

	<messaging> A machine that connects two or more {electronic
	mail} systems (including dissimilar mail systems) and
	transfers messages between them.  Sometimes the mapping and
	translation can be quite complex, and it generally requires a
	{store and forward} scheme whereby the message is received
	from one system completely before it is transmitted to the
	next system, after suitable translations.

	(1996-02-26)

mail hub

	{mail server}

mailing list

	<messaging> (Often shortened in context to "list") An
	{electronic mail address} that is an alias (or {macro}, though
	that word is never used in this connection) which is expanded
	by a {mail exploder} to yield many other e-mail addresses.
	Some mailing lists are simple "reflectors", redirecting mail
	sent to them to the list of recipients.  Others are filtered
	by humans or programs of varying degrees of sophistication;
	lists filtered by humans are said to be "moderated".

	The term is sometimes used, by extension, for the people who
	receive e-mail sent to such an address.

	Mailing lists are one of the primary forms of hacker
	interaction, along with {Usenet}.  They predate {Usenet},
	having originated with the first {UUCP} and {ARPANET}
	connections.  They are often used for private
	information-sharing on topics that would be too specialised
	for or inappropriate to public {Usenet} groups.  Though some
	of these maintain almost purely technical content (such as the
	{Internet Engineering Task Force} mailing list), others (like
	the "sf-lovers" list maintained for many years by Saul Jaffe)
	are recreational, and many are purely social.  Perhaps the
	most infamous of the social lists was the eccentric bandykin
	distribution; its latter-day progeny, {lectroids} and
	{tanstaafl}, still include a number of the oddest and most
	interesting people in hackerdom.

	Mailing lists are easy to create and (unlike {Usenet}) don't
	tie up a significant amount of machine resources (until they
	get very large, at which point they can become interesting
	torture tests for mail software).  Thus, they are often
	created temporarily by working groups, the members of which
	can then collaborate on a project without ever needing to meet
	face-to-face.

	There are several programs to automate mailing list
	maintenance, e.g. {Listserv}, {Listproc}, {Majordomo}.

	Requests to subscribe to, or leave, a mailing list should
	ALWAYS be sent to the list's "-request" address (e.g.
	ietf-request@cnri.reston.va.us for the IETF mailing list).
	This prevents them being sent to all recipients of the list
	and ensures that they reach the maintainer of the list, who
	may not actually read the list.

	[{Jargon File}]

	(2001-04-27)

mail merge

	<messaging> A function of some {word processing} software
	(e.g. {Microsoft Word}) that produces multiple instances of a
	document by substituting different text strings from a
	{database} in place of certain field markers.  This is often
	done with envelopes, resumes, spam, and various other mass
	mailings.

	{(http://mtroyal.ab.ca/programs/academserv/ADC/workshops/staff/mail_merge/mail_merge_tutorial.html)}.

	(2002-07-26)

mail path

	{source route}

.mailrc

	<messaging> (mail run commands) The configuration file for the
	standard {Unix} {mail} program.  This file is found in a
	user's {home directory} and can contain special commands to
	set options and define mail aliases.

	See also {rc}.

	(1996-04-09)

mail server

	1. <tool, messaging> A program that distributes files or
	information in response to requests sent via {electronic
	mail}.  Examples on the {Internet} include {Almanac} and
	{netlib}.  Mail servers are also used on {Bitnet}.

	In the days before {Internet} access was widespread and {UUCP}
	mail links were common, mail servers could be used to provide
	remote services which might now be provided via {FTP} or
	{WWW}.

	2. <messaging> (Or "mail hub") A computer used to store and/or
	forward {electronic mail}.

	(1995-05-05)

Mail Transfer Agent

	{Message Transfer Agent}

Mail Transport Agent

	{Message Transfer Agent}

mail user agent

	<messaging> (MUA) The program that allows the user to compose
	and read {electronic mail} messages.  The MUA provides the
	interface between the user and the {Message Transfer Agent}.
	Outgoing mail is eventually handed over to an MTA for delivery
	while the incoming messages are picked up from where the MTA
	left it (although MUA's running on single-user machines may
	pick up mail using {POP}).

	Popular MUAs for {Unix} include {elm}, {mush}, {pine}, and
	{RMAIL}.

	{FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/mail/setup/unix/part2/faq-doc-3.html)}.

	(1996-03-21)

Mail Users' Shell

	<messaging> (mush) A {MUA} for {Unix} and {MS-DOS}.  It has both
	{line-mode} and {full-screen} interfaces as well as a
	{SunView} interface.

	mush provides a very powerful shell interface with a
	{csh}-like {scripting language}, plenty of {environment
	variables}, command-line {aliases}, filename {completion},
	{conditionals}, and command {piping}.

	{z-mail} is a more recent commercial version of mush.

	{Usenet} newsgroup: {news:comp.mail.mush}.

	(1996-02-26)

main

	<programming> The name of the {subroutine} called by the
	{run-time system} (RTS) when it executes a {C} program.  The
	RTS passes the program's {command-line arguments} to main as a
	count and an {array} of {pointers} to strings.  If the main
	subroutine returns then the program exits.

	{Java} has inheritted the name "main" from C but in Java it's
	more complicated of course.  The main routine must have a
	signature of exactly

	 public static void main(String [])

	And it must be inside a public class with the same name as the
	{source} file where it is defined.

	(2008-11-12)

MAINBOL

	<language> MAcro ImplementatioN of {SNOBOL4}.

	(1997-09-14)

Main Distribution Frame

	<networking> (MDF) The {network closet} containing the main
	{hub}.

	(1995-05-05)

mainframe

	<computer> A term originally referring to the cabinet
	containing the central processor unit or "main frame" of a
	room-filling {Stone Age} batch machine.  After the emergence
	of smaller "{minicomputer}" designs in the early 1970s, the
	traditional {big iron} machines were described as "mainframe
	computers" and eventually just as mainframes.  The term
	carries the connotation of a machine designed for batch rather
	than interactive use, though possibly with an interactive
	{time-sharing} operating system retrofitted onto it; it is
	especially used of machines built by {IBM}, {Unisys} and the
	other great {dinosaurs} surviving from computing's {Stone
	Age}.

	It has been common wisdom among hackers since the late 1980s
	that the mainframe architectural tradition is essentially dead
	(outside of the tiny market for {number crunching}
	{supercomputers} (see {Cray})), having been swamped by the
	recent huge advances in {integrated circuit} technology and
	low-cost personal computing.  As of 1993, corporate America is
	just beginning to figure this out - the wave of failures,
	takeovers, and mergers among traditional mainframe makers have
	certainly provided sufficient omens (see {dinosaurs mating}).

	Supporters claim that mainframes still house 90% of the data
	major businesses rely on for mission-critical applications,
	attributing this to their superior performance, reliability,
	scalability, and security compared to microprocessors.

	[{Jargon File}]

	(1996-07-22)

mainframe programmer/analyst

	<job> A peson who writes and maintains business applications.
	He develops and supports large-scale batch or high-volume
	transaction environments that require {IBM/MVS} {mainframe}
	processing power or equivalent.  He programs in
	business-oriented languages such as {COBOL}, {CICS}, or
	{fourth-generation languages}.

	(2004-03-12)

main loop

	<programming> The top-level {control flow} construct in an
	input- or {event-driven} program, the one which receives and
	acts or dispatches on the program's input {events}.

	See also {driver}.

	[{Jargon File}]

	(2004-03-12)

main memory

	<storage, architecture> The {storage device} used by a
	{computer} to hold the currently executing {program} and its
	{working data}.  A modern computer's main memory is built from
	{random-access memory} {integrated circuits}.  In the old days
	{ferrite core memory} was one popular form of main memory,
	leading to the use of the term "{core}" for main memory.

	Computers have several other sorts of memory, distinguished by
	their access time, storage capicity, cost, and the typical
	lifetime or rate of change of the data they hold.  {Registers}
	in the {CPU} are fast, few, expensive and typically change
	every few {machine instructions}.  Other kinds are {cache},
	{PROM}, {magnetic disk} (which may be used for {virtual
	memory}) and {magnetic tape}.

	(1996-11-04)

MAINSAIL

	{MAchine INdependent SAIL}.

main store

	{main memory}

maintainer

	<software> The person responsible for coordinating changes to
	a package of {software} and arranging the distribution of
	updates.  The term usually applies only to {free software}
	where the maintainer (often the author) is doing it as a free
	public service.

	(2001-01-27)

maintainer script

	<Debian> One of the scripts (preinst, prerm, postinst, postrm)
	that may be included in a {Debian} {binary package}.  These
	scripts may create and/or remove {symlinks}, files or
	directories that, for some reason, could not be done directly
	by {dpkg}.  Maintainer scripts frequently create or update the
	symlinks in the /etc/rc?.d directories and start, stop, or
	restart {daemons}.

	(2000-05-31)

maintenance

	<programming> The modification of a software product, after
	delivery, to correct faults, to improve performance or other
	attributes, or to adapt the product to a changed environment.

	Maintenance is an important part of the {software life-cycle}.
	It is expensive in manpower and resources, and one of the aims
	of {software engineering} is to reduce its cost.

	(1996-12-27)

Maisie

	A {C}-based parallel programming language by Wen-Toh Liao
	<wentoh@may.CS.UCLA.EDU>.  Maisie extends C with
	{asynchronous} typed {message passing} and {lightweight
	process}es.  Programs can define, create and destroy
	processes, send and receive messages and manipulate the system
	clock.

	Maisie has been ported to {PVM}/3.1, {Cosmic} Environment and
	{SUN} {sockets}.

	{Version 2.1.1.3 (ftp://cs.ucla.edu/pub/maisie.2.1.1.3.tar.Z)}.

	(1993-06-14)

major delivery

	<programming> A (chiefly British) synonym for {major release}.
	E.g, the ninth major release of a piece of software might be
	called MD9.  The {release} notation would be "v9.0".

	(1996-08-04)

Majordomo

	<messaging, tool> A popular {freeware} {mailing list}
	processor written in {Perl} which runs under {Unix}.
	Majordomo is a "groupware" project which evolved from code by
	Brent Chapman <brent@greatcircle.com>, with maintenance by
	John Rouillard <rouilj@cs.umb.edu>.  The current Majordomo
	maintainer is Chan Wilson <cwilson@sgi.com>.

	A majordomo is a person who speaks, makes arrangements, or
	takes charge for another; from Latin "major domus" - "master
	of the house".

	{(http://greatcircle.com/majordomo/)}.

	(2001-04-27)

major release

	<programming> A {release} of a piece of software which is not
	merely a {revision} or a {bug fix release} but which contains
	substantial changes (e.g., an overhaul of the {interface},
	change in compatibility).

	Traditionally, major releases are numbered as X.0; for
	example, WordPerfect 6.0 is a major release, significantly
	different from any previous version; whereas WordPerfect 6.1
	has only minor changes, and is, thus, only a {revision}.

	See also {major delivery}.

	(1996-08-04)

Make

	<programming, tool> The {Unix} tool to automate the
	recompilation, linking etc. of programs, taking account of the
	interdependencies of {modules} and their modification times.
	Make reads instructions from a "makefile" which specifies a
	set of targets to be built, the files they depend on and the
	commands to execute in order to produce them.

	Most {C} systems come with a make. There is also one produce
	by {GNU}.

	["Make - A Program for Maintaining Computer Programs",
	A.I. Feldman, TR No 57, Bell Labs Apr 1977].

	(1995-01-05)

Makedoc

	A program from Carleton University, Ottawa that generates
	documentation for Objective C programs.  It will also generate
	a class hierarchy diagram.  The output format is similar to
	that used by StepStone.

makefile

	A script which tells the Unix program "{make}" how to build a
	particular computer program or set of programs.  A makefile
	contains variable assignments and rules of the form

		target: inputs
			commands

	which say if any of the files in "inputs" has been modified
	more recently than file "target" (or if the target does not
	exist) then execute "commands", which will normally bulid
	"target" from "inputs".

	If make is run with no arguments, it looks for a makefile
	called "Makefile" or "makefile".

	(1995-01-05)

Maker Interchange Format

	(MIF) A language used to describe a {FrameMaker} document in a
	text file.  MIF is used to exchange information between
	FrameMaker and other applications.

	["Using FrameMaker 4," Windows and Macintosh Version,
	c. 1986-1993 Frame Technology Corporation].

	(1995-01-30)

MAL

	{Micro Assembly Language}

Malamud

	<publication> The book:

	[Malamud, C., "Analyzing Sun Networks", Van Nostrand Reinhold,
	New York, NY, 1992.]

	(1995-04-10)

MALI

	A hardware memory device for {logic programming} computers
	with {real time} {garbage collection}.

mall

	<web> A collection of {web} documents
	featuring commercial products and services, usually served by
	one particualr {Internet} {access provider}.

	(1995-04-10)

malloc

	{C}'s standard library routine for storage allocation.  It
	takes the number of bytes required and returns a pointer to a
	block of that size.  Storage is allocated from a heap which
	lies after the end of the program and data areas.  Memory
	allocated with malloc must be freed explicitly using the
	"free" routine before it can be re-used.

	{gc} is a storage allocator with {garbage collection} that is
	intended to be used as a plug-in replacement for malloc.

malware

	<security> Any {software} designed to do something that the
	user would not wish it to do, hasn't asked it to do, and often
	has no knowledge of until it's too late.  Types of malware
	include {backdoor}, {virus}, {worm}, {Trojan horse}.

	Malware typically affects the system on which it is run,
	e.g. by deleting or corrupting files on the local disks.
	Since Internet connections became common, malware has
	increasingly targeted remote systems.  An early example was
	malware consisting of a malicious e-mail attachment that
	targeted security flaws in {Microsoft Outlook} (the most
	common {e-mail client}) to send itself to all the user's
	contacts.  A more recent kind of malware "recruits" the
	infected computer to become part of a {botnet} consisting of
	thousands of infected computers that can then be remotely
	controlled and used to launch {DDoS} attacks.

	(2007-11-15)

MAN

	{Metropolitan Area Network}

man

	{Unix manual page}

managed code

	<operating system> Code that is executed by the {.NET} {common
	language runtime} (CLR).  {VB.NET} code is always managed code
	but {C++ .NET} can optionally use unmanaged code.  Managed
	code provides {metadata} allowing the CLR to manage security
	(role-based as well as new approaches to code access
	security).  The CLR also handles errors, manages the program
	{stack} and finds {methods} in assembly modules.  Managed data
	is memory that's subject to {garbage collection}.  There are
	additional restrictions to permit interoperability of
	different languages, for example, {Visual Basic} {arrays} must
	be zero-based.

	(2007-07-13)

management

	1. Corporate power elites distinguished primarily by their
	distance from actual productive work and their chronic failure
	to manage (see also {suit}).  Spoken derisively, as in
	"*Management* decided that ...".

	2. Mythically, a vast bureaucracy responsible for all the
	world's minor irritations.  Hackers' satirical public notices
	are often signed "The Mgt"; this derives from the
	"Illuminatus!" novels.

	[{Jargon File}]

	(1995-02-28)

Management Information Base

	<networking> (MIB) A {database} of managed objects acessed by
	{network management} {protocols}.  An {SNMP} MIB is a set of
	parameters which an {SNMP} {management station} can query or
	set in the {SNMP agent} of a network device (e.g. {router}).

	{SNMP} has two {standard} MIBs.  The first, MIB I, was
	established in {RFC 1156}, was defined to manage
	{TCP/IP}-based {internets}.  MIB II, defined in {RFC 1213}, is
	an update.

	Standard minimal MIBs have been defined, and many hardware
	(and certain software, e.g. {DBMS}) providers have developed
	private MIBs in {ASN.1} format allowing them to be compiled
	for use in a {Network Management System}.  In theory, any
	{SNMP manager} can talk to any {SNMP agent} with a properly
	defined MIB.

	See also {client-server model}.

	(2004-07-22)

Management Information System

	<application> (MIS) A computer system, usually based on a
	{mainframe} or {minicomputer}, designed to provide management
	personnel with up-to-date information on an organisation's
	performance, e.g. inventory and sales.  These systems output
	information in a form that is useable by managers at all
	levels of the organisation: strategic, tactical, and
	operational.  A good example of an MIS report is an annual
	report for a stockholder (a scheduled report).

	[Que's Computer User's Dictionary Second Edition, 1992].

	(2001-04-01)

Manager of Business Applications

	<job> A person who plans and oversees multiple projects and
	project managers.  He works with the {CIO} and senior
	management to determine systems development strategy and
	standards.  He administers the department budget and reviews
	project managers.

	(2004-03-18)

Manchester Autocode

	<language, history> The predecessor of {Mercury Autocode}.

	["The Programming Strategy Used with the Manchester University
	Mark I Computer", R.A.  Brooker, Proc IEE 103B Suppl:151-157,
	1956].

	(2000-10-02)

Manchester encoding

	<communications, protocol> A method of transmitting bits which
	enables the receiver to easily synchronise with the sender.

	A simple way of signalling bits might be to transmit a high
	voltage for some period for a 1-bit and a low voltage for a 0
	bit:

	 Bits Sent:             1     1     0     0

	 Signal:      High    ___________
		      Low                |___________

	 Time: ->            .     .     .     .     .

	However, when several identical bits are sent in succession,
	this provides no information to the receiver about when each
	bit starts and stops.

	Manchester encoding splits each bit period into two, and
	ensures that there is always a transition between the signal
	levels in the middle of each bit.  This allows the receiver to
	synchronise with the sender.

	In normal Manchester encoding, a 1-bit is transmitted with a
	high voltage in the first period, and a low voltage in the
	second, and vice verse for the 0 bit:

	 Bits Sent:             1     1     0     0

	 Signal:      High    __    __       __    __
		      Low       |__|  |_____|  |__|

	 Time: ->            .  '  .  '  .  '  .  '  .

	In Differential Manchester encoding, a 1-bit is indicated by
	making the first half of the signal equal to the last half of
	the previous bit's signal and a 0-bit is indicated by making
	the first half of the signal opposite to the last half of the
	previous bit's signal.  That is, a zero bit is indicated by a
	transition at the beginning of the bit.

	Like normal Manchester encoding, there is always a transition
	in the middle of the transmission of the bit.

	       Differential Manchester Encoding

	 Bits Sent:            1     1    0     0

	 Signal:      High  ____       __    __    __
		      Low       |_____|  |__|  |__|

	 Time: ->            .  '  .  '  .  '  .  '  .

	With each bit period half as long, twice as much {bandwidth}
	is required when using either of the Manchester encoding
	schemes.

	(1995-11-23)

Mandala

	<language> A system based on {Concurrent Prolog}, developed at
	{ICOT}, Japan.

	["Mandala: A Logic Based Knowledge Programming System",
	K. Furukawa et al, Intl Conf 5th Gen Comp Sys 1984].

	(1995-11-23)

Mandelbrot, Benoit

	{Benoit Mandelbrot}

Mandelbrot set

	<mathematics, graphics> (After its discoverer, {Benoit
	Mandelbrot}) The set of all {complex numbers} c such that

		| z[N] | < 2

	for arbitrarily large values of N, where

		z[0] = 0
		z[n+1] = z[n]^2 + c

	The Mandelbrot set is usually displayed as an {Argand
	diagram}, giving each point a colour which depends on the
	largest N for which | z[N] | < 2, up to some maximum N which
	is used for the points in the set (for which N is infinite).
	These points are traditionally coloured black.

	The Mandelbrot set is the best known example of a {fractal} -
	it includes smaller versions of itself which can be explored
	to arbitrary levels of detail.

	{The Fractal Microscope
	(http://ncsa.uiuc.edu/Edu/Fractal/Fractal_Home.html/)}.

	(1995-02-08)

mandelbug

	<jargon, programming> /man'del-buhg/ (From the {Mandelbrot
	set}) A {bug} whose underlying causes are so complex and
	obscure as to make its behaviour appear chaotic or even
	{nondeterministic}.  This term implies that the speaker thinks
	it is a {Bohr bug}, rather than a {heisenbug}.

	See also {schroedinbug}.

	[{Jargon File}]

	(1995-02-08)

Mandy Rice-Davis Applies

	<chat> (MRDA) An acronym used to imply that someone is lying
	to protect their own interests.

	During the trial of Stephen Ward (who was charged with living
	off the immoral earnings of Christine Keeler and Rice-Davies),
	the prosecuting counsel pointed out that Lord Astor denied any
	involvement with her and Rice-Davies replied, "Well, he would,
	wouldn't he?"

	(2010-01-01)

manged

	/mahnjd/ [probably from the French "manger" or Italian
	"mangiare", to eat; perhaps influenced by English "mange",
	"mangy"] Refers to anything that is mangled or damaged,
	usually beyond repair.  "The disk was manged after the
	electrical storm."  Compare {mung}.

	[{Jargon File}]

mangle

	Used similarly to {mung} or {scribble}, but more violent
	in its connotations; something that is mangled has been
	irreversibly and totally trashed.

mangler

	[DEC] A manager.  Compare {mango}; see also {management}.
	Note that {system mangler} is somewhat different in
	connotation.

	[{Jargon File}]

mango

	<jargon> /mang'go/ (Originally in-house jargon at {Symbolics})
	A manager.

	Compare {mangler}.  See also {devo} and {doco}.

	(1995-03-21)

MANIAC

	{Mathematical Analyzer, Numerical Integrator and Computer}

man page

	{Unix manual page}

MANTIS

	<language> A structured, full-function procedural {4GL} and
	application development system from {Cincom}.  MANTIS enables
	the developer to design prototypes, create transaction screens
	and reports, define logical data views, write structured
	procedures, and dynamically test, correct, document, secure,
	and release applications for production in a single,
	integrated, interactive session.

	MANTIS applications can be enhanced with gOOi, the graphical
	object-oriented interface, which creates graphical Windows
	representations of existing MANTIS screens.

	{(http://cincom.com/products/mantis/)}.

	(2003-08-08)

mantissa

	1. <programming> The part of a {floating point} number which,
	when multiplied by its {radix} raised to the power of its
	{exponent}, gives its value.  The mantissa may include the
	number's sign or this may be considered to be a separate part.

	2. <mathematics> The fractional part of a {logarithm}.

	(1996-06-15)

manual testing

	<testing> That part of software testing that requires human
	input, analysis, or evaluation.

	(1996-12-27)

Manufacturer Resource Planning

	<application> (MRP II) A system based on {MRP} which allows
	manufacturers to optimise materials, procurement,
	manufacturing processes, etc., and provide financial and
	planning reports.

	In the late 1970s and early 1980s, manufacturers integrated
	MRP and other manufacturing and business functions.  This
	renaissance is commonly known as Manufacturing Resource
	Planning (MRP II).  According to the American Production and
	Inventory Control Society, Inc. (APICS), MRP II is a method
	for the effective planning of all resources of a manufacturing
	company.  Ideally, it addresses operational planning in units,
	financial planning in dollars, and has a simulation capability
	to answer "what if" questions.  It includes business planning,
	sales and operations planning, production scheduling, material
	requirements planning (MRP), capacity requirements planning,
	and the execution support systems for capacity and material.
	Output from these systems is integrated with financial reports
	such as the business plan, purchase commitment report,
	shipping budget, and inventory projections in dollars.
	Manufacturing resource planning is a direct outgrowth and
	extension of closed-loop MRP.

	See also {Enterprise Resource Planning}, {SAP} R/2, R/3, and
	{Baan}.

	(1999-02-16)

Manufacturers Automation Protocol

	{Manufacturing Automation Protocol}

Manufacturing Automation Protocol

	<protocol> (MAP) A set of {protocols} developed by General
	Motors based on {Token Bus} ({IEEE 802.4}) and giving
	predictable {real-time} response.

	(1994-10-21)

manularity

	/man"yoo-la"ri-tee/ ("manual" + "granularity") A notional
	measure of the manual labor required for some task,
	particularly one of the sort that {automation} is supposed to
	eliminate.  "Composing English on paper has much higher
	manularity than using a text editor, especially in the
	revising stage."  Hackers tend to consider manularity a
	symptom of primitive methods; in fact, a true hacker
	confronted with an apparent requirement to do a computing task
	{by hand} will inevitably seize the opportunity to build
	another tool (see {toolsmith}).

	[{Jargon File}]

	(1994-10-26)

MAO

	An early {symbolic mathematics} system.

	[A. Rom, Celest Mech 1:309-319 (1969)].

	(1995-02-10)

MAP

	1. <protocol> {Manufacturing Automation Protocol}.

	2. {Mathematical Analysis without Programming}.

	(1996-12-01)

map

	1. <mathematics> {function}.

	2. <programming> In {functional programming}, the most common
	{higher-order function} over lists.  Map applies its first
	argument to each element of its second argument (a list) and
	returns the list of results.

		map :: (a -> b) -> [a] -> [b]
		map f []     = []
		map f (x:xs) = f x : map f xs

	This can be generalised to types other than lists.

	(1997-11-05)

MAPI

	{Messaging Application Programming Interface}

Maple

	A {symbolic mathematics} package by B. Char, K. Geddes,
	G. Gonnet, M. Monagan and S. Watt of the {University of
	Waterloo}, Canada and {ETH} Zurich, Switzerland in 1980.
	Version: Maple V.

	E-mail: <wmsi@daisy.waterloo.edu>.  Mailing list:
	glabahn@daisy.waterloo.edu.

	(1994-10-21)

mapping

	{function}

marbles

	<jargon> (From the mainstream "lost his marbles") The minimum
	needed to build your way further up some hierarchy of tools or
	abstractions.  After a bad system {crash}, you need to
	determine if the machine has enough marbles to come up on its
	own, or enough marbles to allow a rebuild from {backups}, or
	if you need to rebuild from scratch.  "This {compiler} doesn't
	even have enough marbles to compile {hello, world}."

	[{Jargon File}]

	(1998-05-21)

Marc Andreessen

	<person> The man who founded {Netscape Communications
	Corporation} in April 1994 with {Dr. James H. Clark}.
	Andreessen has been a director since September 1994.

	As an undergraduate at the {University of Illinois} in
	Champaign, Andreessen created the {Mosaic} {web browser}
	prototype with a team of students and staff at the
	university's {National Center for Supercomputing Applications}
	(NCSA).  With a friendly, {point-and-click} method for
	{navigating} the {Internet} and free distribution to network
	users, NCSA Mosaic gained an estimated two million users
	worldwide in just over one year.  Andreessen earned his
	Bachelor of Science degree in Computer Science at the
	University of Illinois in 1993.

	{Home
	(http://netscape.com/columns/techvision/index.html)}.

	(1999-04-12)

marginal

	<jargon> 1. Extremely small.  "A marginal increase in {core}
	can decrease {GC} time drastically."  In everyday terms, this
	means that it is a lot easier to clean off your desk if you
	have a spare place to put some of the junk while you sort
	through it.

	2. Of extremely small merit.  "This proposed new feature seems
	rather marginal to me."

	3. Of extremely small probability of {win}ning.  "The power
	supply was rather marginal anyway; no wonder it fried."

	[{Jargon File}]

	(1994-10-21)

Marginal Hacks

	<humour> Margaret Jacks Hall, a building into which the
	{Stanford AI Lab} was moved near the beginning of the 1980s
	(from the {D.C. Power Lab}).

	[{Jargon File}]

	(1998-05-21)

Maril

	Machine description language used by the {Marion} code
	generator.

	["The Marion System for Retargetable Instruction Scheduling",
	D.G. Bradlee et al, SIGPLAN Notices 26(6):229-240 (June
	1991)].

Mark 1

	<computer> (Or "Automatic Sequence Controlled Calculator") A
	{first generation computer} developed in 1944 by {Howard
	Aiken} of {Harvard University}.  The Mark 1 is seen as the
	first full-sized digital computer.  It weighed 5 tons, had 500
	miles of wiring, was used only for numeric calculations, and
	took three seconds to carry out one multiplication.

	[Mechanism?  Capacity?  Programmability?]

	(1996-11-24)

marketroid

	/mar'k*-troyd/ (Or "marketing slime", "marketeer", "marketing
	droid", "marketdroid") A member of a company's marketing
	department, especially one who promises users that the next
	version of a product will have features that are not actually
	scheduled for inclusion, are extremely difficult to implement,
	and/or are in violation of the laws of physics; and/or one who
	describes existing features (and misfeatures) in ebullient,
	buzzword-laden adspeak.  Derogatory.

	[{Jargon File}]

	(1995-02-23)

Markov

	See {Andrei Markov}, {Markov chain}, {Markov model}, {Markov
	process}.

	(1995-02-23)

Markov chain

	<probability> (Named after {Andrei Markov}) A model of
	sequences of events where the probability of an event
	occurring depends upon the fact that a preceding event
	occurred.

	A {Markov process} is governed by a Markov chain.

	In {simulation}, the principle of the Markov chain is applied
	to the selection of samples from a probability density
	function to be applied to the model.  {Simscript} II.5 uses
	this approach for some modelling functions.

	[Better explanation?]

	(1995-02-23)

Markov model

	<probability, simulation> A model or {simulation} based on
	{Markov chains}.

	(2000-10-29)

Markov process

	<probability, simulation> A process in which the sequence of
	events can be described by a {Markov chain}.

	(1995-02-23)

Markowitz

	The author of the original {Simscript} language.

mark-sweep garbage collection

	Each cell has a bit reserved for marking which is clear
	initially.  During garbage collection all active cells are
	traced from the root and marked.  Then all cells are examined.
	Unmarked cells are freed.

markup

	<text> In computerised document preparation, a method of adding
	information to the text to indicate the logical components of a
	document, instructions for layout of the text on the page or other
	information which can be interpreted by some automatic system.

	For example, {HTML} (Hypertext Markup Language) adds tags to the
	text to indicate the appearance and behaviour it should have when
	displayed by a {web browser}.  E.g.:

	 <b>This is bold text.</b>

	 <a href="http://foldoc.org/">This is a link to FOLDOC</a>.

	Other examples of markup languages are {troff}, {SGML} (on which
	HTML was based) and {XML}.

	(2012-12-14)

Marlais

	<language> A simple-minded {interpreter} by Brent Benson at
	Harris for a programming language strongly resembling {Dylan}.
	Marlais version 0.2a is a "hackers release" for education,
	experimentation, porting, extension, and bug fixing.

	It has been ported to {Sun-3}, {Sun-4}, {VAX}/{BSD}, {OS/2},
	{Linux}, {Sequent Symmetry}, {Encore}, {HP-UX}, {Ultrix},
	{SGI}, {Sony News}, and {A/UX}.

	{(ftp://travis.csd.harris.com/pub/marlais-0.2a.tar.gz)}.

	(1993-09-23)

Mars

	A legendary tragic failure, the archetypal Hacker Dream Gone
	Wrong.  Mars was the code name for a family of PDP-10
	compatible computers built by Systems Concepts (now, The SC
	Group): the multi-processor SC-30M, the small uniprocessor
	SC-25M, and the never-built superprocessor SC-40M.  These
	machines were marvels of engineering design; although not much
	slower than the unique {Foonly} F-1, they were physically
	smaller and consumed less power than the much slower DEC KS10
	or Foonly F-2, F-3, or F-4 machines.  They were also
	completely compatible with the DEC KL10, and ran all KL10
	binaries (including the operating system) with no
	modifications at about 2--3 times faster than a KL10.

	When DEC cancelled the Jupiter project in 1983, Systems
	Concepts should have made a bundle selling their machine into
	shops with a lot of software investment in PDP-10s, and in
	fact their spring 1984 announcement generated a great deal of
	excitement in the PDP-10 world.  {TOPS-10} was running on the
	Mars by the summer of 1984, and {TOPS-20} by early fall.

	Unfortunately, the hackers running Systems Concepts were much
	better at designing machines than at mass producing or selling
	them; the company allowed itself to be sidetracked by a bout
	of perfectionism into continually improving the design, and
	lost credibility as delivery dates continued to slip.  They
	also overpriced the product ridiculously; they believed they
	were competing with the KL10 and VAX 8600 and failed to reckon
	with the likes of Sun Microsystems and other hungry startups
	building workstations with power comparable to the KL10 at a
	fraction of the price.

	By the time SC shipped the first SC-30M to Stanford in late
	1985, most customers had already made the traumatic decision
	to abandon the PDP-10, usually for VMS or Unix boxes.  Most of
	the Mars computers built ended up being purchased by
	{CompuServe}.

	This tale and the related saga of {Foonly} hold a lesson for
	hackers: if you want to play in the {Real World}, you need to
	learn Real World moves.

	[{Jargon File}]

Marseille Prolog

	<language> One of the two main dialects of {Prolog}, the other
	being {Edinburgh Prolog}.  The difference is largely {syntax}.
	The original Marseille Interpreter (1973) was written in
	{Fortran}.

	[Developed by?]

	(1998-03-16)

marshaling

	<spelling> Alternative US spelling of "{marshalling}".

	(1998-03-16)

marshalling

	<communications> (US -ll- or -l-) The process of packing one
	or more items of data into a message {buffer}, prior to
	transmitting that message buffer over a communication channel.
	The packing process not only collects together values which
	may be stored in non-consecutive memory locations but also
	converts data of different types into a standard
	representation agreed with the recipient of the message.

	(2000-06-09)

MARSYAS

	MARshall SYstem for Aerospace Simulation.

	A software system for digital simulation of large physical
	systems.

	["MARSYAS - A Software System for the Digital Simulation of
	Physical Systems", H. Trauboth et al, Proc SJCC, 36 (1970)].

	(1994-12-02)

Martian

	{Packets} that turn up unexpectedly on the wrong {network}
	because of bogus {routing} entries.  Also a packet which has
	an altogether bogus (non-registered or ill-formed) {internet
	address}, such as the test loopback interface [127.0.0.1].
	Such a packet will come back labelled with a source address
	that is clearly not of this earth.  "The domain server is
	getting lots of packets from Mars.  Does that gateway have a
	martian filter?"

	[{Jargon File}]

Martin Marietta Laboratories Moorestown

	{(http://atlgw.atl.ge.com/)}.

	Address: Building 145, Moorestown Corporate Center,
	Moorestown, NJ 08057, USA.

	(1995-02-06)

MARVIN

	U Dortmund, 1984.  Applicative language based on Modula-2,
	enhanced by signatures (grammars) terms (trees) and attribute
	couplings (functions on trees).  Used for specification of
	language translators.

	["MARVIN - A Tool for Applicative and Modular Compiler
	Specification", H.  Ganziger et al, Forsch 220, U Dortmund,
	Jul 1986].

Mary

	<language> An extensible, machine-oriented superset of
	{ALGOL68} developed by Mark Rain.

	Mary is maintained (and used) by {Kvatro Telecom AS}.
	Although dated, it still offers a nice strongly typed {3GL}
	with {macros} but without most of {C}'s flaws.

	It runs on {SPARC} and {x86} computers.

	Hidden on the back cover of the manual: MARY HAD A LITTLE LAMB
	- COERCION IMPOSSIBLE.

	["Mary Programmer's Reference Manual", M. Rain et al, R Unit,
	Trondheim Norway, 1974].

	["Operator Expressions in Mary", M. Rain, SIGPLAN Notices
	8(1), Jan 1973].

	(1998-11-10)

MAS

	Modula-2 Algebra System.  Runs on {IBM PC}, {Atari}, {Amiga}.

	{(ftp://alice.fmi.uni-passau.de)}.

	["Modula-2 Algebra System", H. Kredel, Proc DISCO 90 Capri,
	LNCS 429, Springer 1990, pp270-271].

MASCOT

	Modular Approach to Software Construction Operation and Test:
	a method for software design aimed at real-time embedded
	systems from the Royal Signals and Research Establishment, UK.

Mask Read-Only Memory

	<storage> (MROM) A kind of {ROM} in which the memory contents
	are determined by one of the masks used to manufacture the
	{integrated circuit}.  MROM can give high storage density
	(bits per millimeter squared) making it a cheap solution for
	high volume applications.

	[Other ROM types?]

	(1995-04-22)

MASM

	{Microsoft} {Assembler} for {MS-DOS}.

	(1995-04-22)

MasPar Unity

	A translator from {UNITY} to {MPL} by Martin Huber, University
	of Karlsruhe, Germany.  Version 1.0.

	{(ftp://SanFrancisco.ira.uka.de/pub/maspar/maspar_unity.tar.Z)}.
	E-mail: Lutz Prechelt <prechelt@ira.uka.de>.

masquerading

	1. <networking> "{NAT}" ({Linux} {kernel} name).

	2. <messaging> Hiding the names of internal e-mail {client}
	and {gateway} machines from the outside world by rewriting the
	"From" address and other {headers} as the message leaves the
	organisation.

	This is good practise because external users do not need to
	know about internal changes in message routing.  The external
	mail gateway needs to know how to route incoming replies back
	to the original sender.

	(1998-03-03)

Massachusetts Institute of Technology

	(MIT) An independent, coeducational university located in
	Cambridge, MA, USA.  Its best-known computer-related labs are
	the {Artificial Intelligence Lab}, the {Lab for Computer
	Science} and the Media Lab.  It is also known for its {hacks}
	or practical jokes, such as {The Great Dome Police Car Hack
	(http://the-tech.mit.edu/Bulletins/hack.html)}.  Resident
	computer {hackers} include {Richard Stallman}, {Gerald
	Sussman} and {Tom Knight}.

	See also {6.001}.

	{(http://web.mit.edu/)}.

massage

	Vague term used to describe "smooth" transformations of a data
	set into a different form, especially transformations that do
	not lose information.  Connotes less pain than {munch} or
	{crunch}.  "He wrote a program that massages {X bitmap} files
	into {GIF} format."  Compare {slurp}.

	[{Jargon File}]

Massey Hope

	<language, functional programming> A refinement of {Hope+C} by
	Nigel Perry <N.Perry@massey.ac.nz> of {Massey University}, NZ,
	with improved {syntax}.

	{Concurrent Massey Hope} is derived directly from Massey
	Hope.

	(1999-08-04)

Massively Multiplayer Online Game

	(MMOG, MMO) Any game that allows dozens, hundreds or even
	thousands of players to interact with a game via the
	{Internet}.  Typically the game runs on a central {server
	farm} and players access it via a {personal computer}, {game
	console} or mobile phone.  The most popular genre is the
	Massively Multiplayer Online Role Playing Game (MMORPG), of
	which {World of Warcraft} is probably the most popular
	example.

	Note that an MMOG is not necessarily a _massive_ game (though
	often they are based in large, complex worlds), their
	distinguishing characteristic is the number of players.

	(2012-05-30)

Massively Multiplayer Online Role-Playing Game

	{Massively Multiplayer Online Game}

master

	{botmaster}

master boot record

	<operating system, storage> A special area on a computer's
	main {hard disk} that gives the location of the disk's {boot
	block} or bootable {partition} where the {operating system} is
	installed.

	(2009-05-19)

Matchmaker

	A language for specifying and automating the generation of
	multi-lingual interprocess communication interfaces.  {MIG} is
	an implementation of a subset of Matchmaker.

	(1994-11-22)

Material Requirements Planning

	<application> (MRP) A system for effectively managing material
	requirements in a manufacturing process.

	Information systems have long been an important part of the
	manufacturing environment.  In the 1960s, manufacturers
	developed Material Requirements Planning (MRP).  According to
	the American Production and Inventory Control Society,
	Inc. (APICS), MRP is a set of techniques that uses bill of
	material data, inventory data, and the master production
	schedule to calculate requirements for materials.  It makes
	recommendations to reorder materials.  Furthermore, because it
	is time-phased, it makes recommendations to reschedule open
	orders when due dates and need dates are not in phase.
	Time-phased MRP begins with the items listed on the Master
	Production Schedule and determines the quantity of all
	components and materials required to fabricate those items and
	the date that the components and material are required.
	Time-phased MRP is accomplished by exploding the bill of
	material, adjusting for inventory quantities on hand or on
	order and offsetting the net requirements by the appropriate
	lead times.

	See also {Manufacturer Resource Planning}.

	(1999-02-16)

Mathcad

	A {symbolic mathematics} environment.

Mathematica

	<tool, mathematics> A popular {symbolic mathematics} and
	graphics system, developed in 1988 by Stephen Wolfram and sold
	by {Wolfram Research}.  The language emphasises rules and
	{pattern-matching}.  The name was suggested by {Steve Jobs}.

	{(http://wri.com/mathematica/)}.

	{Stanford FTP (ftp://otter.stanford.edu/)}, {NCSA FTP
	(ftp://ftp.ncsa.uiuc.edu/)}.

	Mailing list: mathgroup-request@yoda.ncsa.uiuc.edu.

	{Usenet} newsgroup: {news:comp.soft-sys.math.mathematica}.

	["Mathematica: A System for Doing Mathematics by Computer",
	Stephen Wolfram, A-W 1988].

	(1995-05-01)

Mathematical Analysis without Programming

	(MAP) An On-line system for mathematics under {CTSS}.

	[Sammet 1969, p. 240].

	(1995-02-10)

Mathematical Analyzer, Numerical Integrator and Computer

	<computer, history> (MANIAC, Or "Mathematical Analyzer, Numerator,
	Integrator, and Computer") An early computer, built for the {Los
	Alamos Scientific Laboratory}.  MANIAC began operation in March
	1952.  Typical of early computers, it ran its own propriatery
	language.  It was succeeded by MANIAC II in 1957.  A MANIAC III
	was built at the University of Chicago in 1964.

	Contrary to legend, MANIAC did not run {MAD} ({Michigan Algorithm
	Decoder}), which was not invented until 1959.

	(2013-05-05)

Mathematics in Recognizable Form Automatically Compiled

	<language> (MIRFAC) An early interactive system resembling
	{BASIC} using typewriter output with special mathematical
	symbols.

	[Sammet 1969, pp. 281-284].

	(1997-08-01)

MATHLAB

	Symbolic math system, MITRE, 1964.  Later version: MATHLAB 68
	(PDP-6, 1967).

	["The Legacy of MATHLAB 68", C. Engelman, Proc 2nd Symp on
	Symbolic and Algebraic Manip, ACM (Mar 1971)].

	[Sammet 1969, p. 498].

MATH-MATIC or MATHMATIC

	Alternate name for AT-3.  Early, pre-Fortran
	language for UNIVAC I or II.  Sammet 1969.

math-out

	(Possibly from "white-out", the blizzard variety) A paper or
	presentation so encrusted with mathematical or other formal
	notation as to be incomprehensible.  This may be a device for
	concealing the fact that it is actually {content-free}.

	See also {numbers}, {social science number}.

	[{Jargon File}]

	(1994-12-14)

MathWorks

	{The MathWorks, Inc.}

MATLAB

	<mathematics, language, application> A {high-level language}
	and {interactive} program from {The MathWorks} for {numeric
	computation} and {visualisation}.  MATLAB supports {numerical
	analysis}, {matrix} computation, {signal processing}, {linear
	algebra}, {statistics}, {Fourier analysis}, filtering,
	optimisation and {numerical integration}.  It can output two
	and three dimensional graphics and can be integrated with {C},
	{C++}, {Fortran}, {Java}, {COM} and {Microsoft Excel}.

	{(http://mathworks.com/products/matlab/)}.

	Latest version: 7.0.4, as of 2005-08-13.

	(2005-08-13)

Matrix

	[FidoNet]  1. What the Opus BBS software and sysops call
	{FidoNet}.

	2. Fanciful term for a {cyberspace} expected to emerge from
	current networking experiments (see {network, the}).

	3. The totality of present-day computer networks.

	[{Jargon File}]

Matrix Compiler

	Early matrix computations on UNIVAC.  Sammet 1969, p.642.

MATRIX MATH

	<language> An early system on the {UNIVAC I} or II.

	[Listed in CACM 2(5):1959-05-16].

	(1997-02-27)

Matrix Math eXtensions

	<processor> (MMX) (NOT an acronym for "MultiMedia eXtension",
	according to Intel, but an Intel brand name) A set of 57 extra
	instructions built into some versions of {Intel}'s {Pentium}
	{microprocessors} for supporting {SIMD} operations on
	{multimedia} and communications data types.

	MMX-enhanced processors are due to be released early in 1997.
	They will be fully compatible with previous Intel processors
	and software but software will only benefit if it is written
	to use the new instructions.  They can handle many common
	multimedia operations, such as {digital signal processing},
	normally handled by a separate {sound card} or {video card}.

	(1996-12-21)

MAU

	{Media Access Unit}

Mauchly, John W.

	{John Mauchly}

mawk

	<language, tool> An faster implementation of {nawk} written by
	Mike Brennan at Boeing in 1991 and distributed under {GPL} but
	distinct from {GNU}'s {gawk}.

	Interpreter version 1.1.3 has been ported to {Sun-3},
	{Sun-4}/{SunOS} 4.0.3; {Vax}/{BSD} 4.3, {ULTRIX} 4.1;
	{Stardent} 3000/{SYSV}R3; {DECStation}/{ULTRIX} 4.1,
	{MS-DOS}/{Turbo C++}.

	{(ftp://oxy.edu/public/mawk)}.

	(2000-05-04)

maximal free expression

	(MFE) A {free expression} is sub-expression of a {lambda
	abstraction} not containing the {bound variable}.  A maximal
	free expression is a free expression not contained within any
	other free expression.  See {full laziness}.

maximin

	{minimax}

MAXIMOP

	"Job Control Languages: MAXIMOP and CAFE", J. Brandon, Proc
	BCS Symp on Job Control Languages--Past Present and Future,
	NCC, Manchester, ENgland 1974.

maximum Maytag mode

	<storage, humour> (From the US brand of washing machine) What
	a {washing machine} or, by extension, any {hard disk} is in
	when it's being used so heavily that it's shaking like an old
	Maytag with an unbalanced load.  If prolonged for any length
	of time, can lead to disks becoming {walking drives}.

	[{Jargon File}]

	(1997-07-22)

maximum seek time

	<storage> (Or full stroke seek time) The time it takes to
	{seek} over all {tracks}, i.e., from the innermost to the
	outermost or vice versa.  The maximum seek time gives a
	worst-case measure of the speed of the drive which is useful
	in some {real-time} applications where it is important that
	data flows continuously (such as video editing or CD
	recording).

	(1997-07-15)

maximum segment size

	<networking> (MSS) The maximum amount of {TCP} data that a
	{node} can send in one {segment}.  This should be the size of
	the receiver's reassembly buffer to try to avoid
	{fragmentation}.

	The equivalent at the {physical layer} is "{Maximum
	Transmission Unit}".

	(1998-03-06)

Maximum Transmission Unit

	<networking> (MTU) The largest number of bytes of "payload"
	{data} a {frame} can carry, not counting the frame's header
	and trailer.

	A frame is a single unit of transportation on the {data link
	layer}.  It consists of header data plus data which was passed
	down from the {network layer} (e.g. an {IP} {datagram}) plus
	sometimes trailer data.

	An Ethernet (V2) frame has a MTU of 1500 bytes but the size of
	the frame can be up to 1526 bytes (22 byte header, 4 byte CRC
	trailer).

	See also {fragmentation}.

	(2000-10-07)

Maxis Software

	The developers of {SimCity} and {SimCity 2000}.

	{(http://maxis.com/)}.

	Address: 2 Theatre Square, Suite 230, Orinda, CA 94563-3346,
	USA.

	Telephone: +1 (800) 33-MAXIS.

	(1995-02-08)

MB

	<unit> (Or "Mb") {megabytes} or {megabits}.  When referring to
	the size or data transfer rate of a storage device which is
	accessed in multiples of eight bits (e.g. {RAM}, {hard disk})
	this almost certainly means megabytes, but when referring to
	the data transfer rate of a communications system it probably
	means {megabits}.  Some years ago, it is claimed, "MB" always
	meant megabytes and "Mb" meant megabits but recently this
	useful distinction has been lost.

	(1996-09-22)

MBASIC

	{Microsoft} BASIC.

Mbogo, Dr. Fred

	/*m-boh'goh, dok'tr fred/ [Stanford] The archetypal man you
	don't want to see about a problem, especially an incompetent
	professional; a shyster.  "Do you know a good eye doctor?"
	"Sure, try Mbogo Eye Care and Professional Dry Cleaning."  The
	name comes from synergy between "bogus" and the original
	Dr. Mbogo, a witch doctor who was Gomez Addams' physician on
	the old "Addams Family" TV show.  Compare {Bloggs Family,
	the}, see also {fred}.

	[{Jargon File}]

	(2002-04-14)

MBONE

	Virtual Internet Backbone for Multicast IP.

	{IP-Multicast} is the {class-D} addressing scheme in {IP}
	implemented by Steve Deering at {Xerox PARC}.  It was adopted
	at the {IETF} March 1992 meeting and acquired the name MBONE
	after the July 1992 IETF meeting.

	IP Multicast-based routing allows distributed applications to
	achieve {real-time} communication over {IP} {wide area
	networks} through a lightweight, highly {thread}ed model of
	communication.

	Each network-provider participant in the MBONE provides one or
	more IP multicast routers to connect with tunnels to other
	participants and to customers.  The multicast routers are
	typically separate from a network's production routers since
	most production routers don't yet support IP multicast.  Most
	sites use workstations running the mrouted program, but the
	experimental MOSPF software for Proteon routers is an
	alternative.

	Ideally, the machines running mrouted should be dedicated to
	this task, for reasons of real-time performance and ease of
	installing kernel patches.  Since most intermediate nodes have
	at least three tunnels, each carrying a separate ({unicast})
	copy of each packet, it is also useful to have multiple
	network interfaces so it can be installed parallel to the
	unicast router for those sites with configurations like this:

			+----------+
			| Backbone |
			|   Node   |
			+----------+
			     |
	 ------------------------------------------ External DMZ Ethernet
		  |               |
	     +----------+    +----------+
	     |  Router  |    |  mrouted |
	     +----------+    +----------+
		  |               |
	 ------------------------------------------ Internal DMZ Ethernet

	This configuration allows the mrouted machine to connect with
	tunnels to other regional networks over the external {DMZ} and
	the physical backbone network, and connect with tunnels to the
	lower-level mrouted machines over the internal {DMZ}, thereby
	splitting the load of the replicated packets.  The mrouted
	machine would not do any unicast forwarding.

	Note that end-user sites may participate with as little as one
	workstation that runs the packet audio and video software and
	has a tunnel to a network-provider node.

	{RFC 1112} gives the details.

	{FAQ (http://eit.com/techinfo/mbone/mbone.html)}.

	(1994-11-11)

MBps

	{megabytes per second}

mbps

	{megabits per second}

MBS

	{mobile broadband services}

MC

	<language> An extension of {C} with {modules}.  Symbols in
	other modules can be referenced using a dot notation.

	["Design and Implementation of a C-Based Language for
	Distributed Real-Time Systems", A. Rizk et al, SIGPLAN Notices
	22(6):83-96 (June 1987)].

	(1995-10-06)

mc

	<networking> The {country code} for Monaco.

	(1999-01-27)

MC68000

	{Motorola 68000}

MC68010

	{Motorola 68010}

MC68020

	{Motorola 68020}

MC68030

	{Motorola 68030}

MC68040

	{Motorola 68040}

MC6809

	{Motorola 6809}

MCA

	{Micro Channel Architecture}

MCAD

	{Microsoft Certified Application Developer}

MCC

	1. {Mosaic Communications Corporation}.

	2. The {Microelectronics and Computer Technology Corporation}.

McCulloch-Pitts neuron

	<artificial intelligence> The basic building block of
	{artificial neural networks}.  It receives one or more inputs
	and produces one or more identical outputs, each of which is a
	simple non-linear function of the sum of the inputs to the
	neuron.  The non-linear function is typically a threshhold or
	step function which is usually smoothed (i.e. a {sigmoid}) to
	facilitate {learning}.

	(1997-10-11)

MCDBA

	{Microsoft Certified Database Administrator}

MCDST

	{Microsoft Certified Desktop Support Technician}

McG360

	Interactive, similar to PAL[5], for IBM 360.

	"McG360 Programmer's Guide", RC 2693, IBM TJWRC, Nov 1969.

MCGA

	{Multi-Color Graphics Array}

MCI

	<company> A United States long-distance telecommunications
	company.  Recently bought from {British Telecom} [by ?].

	(1998-05-18)

MCI Mail

	<messaging> The first commercial Internet {electronic mail}
	service, launched by {MCI} in about 1981.  {Vint Cerf} was the
	chief engineer.

	Reading mail was free but you had to pay to send.  Users
	discovered you could communicate for free by sharing an
	account.  One user would save a message as a draft and the
	other would read it and replace it with his response.

	(2004-08-25)

MCL

	{Macintosh Common LISP}

M-Code

	<language> 1. {Intermediate language} produced by some
	{Modula-2} compilers.

	[Which compilers?]

	2. The {intermediate language} for an {SECD}-like machine,
	used by the {Concert} implementation of {MultiLISP}.

	(1996-01-22)

MCP

	{motion compensated prediction}

MCP-1600

	A processor made by {Western Digital}, consisting of at least
	four separate {integrated circuits}, including the control
	circuitry unit, the {ALU}, two or four {ROM} chips with
	{microcode}, and timing circuitry.

	The ALU chip contained twenty-six 8-bit {registers} and an
	8-bit {ALU}, while the control unit supervised the moving of
	data, memory access, and other control functions.  The {ROM}
	allowed the chip to function as either an 8- or 16-bit chip,
	with clever use of the 8-bit {ALU}.  Further, {microcode}
	allowed the addition of {floating-point} routines (40 + 8 bit
	format), simplifying programming (and possibly producing a
	floating-point coprocessor).

	Two standard {microcode} {ROMs} were available.  This
	flexibility was one reason it was also used to implement the
	{DEC} {LSI-11} processor as well as the {WD} {Pascal
	Microengine}.

	(1994-11-18)

MCPD

	{Microsoft Certified Professional Developer}

MCS

	{Meta Class System}

MCSA

	<education> 1. {Microsoft Certified Systems Administrator}.

	2. {Microsoft Certified Solutions Associate}.

	(2013-09-02)

MCSD

	{Microsoft Certified Solution Developer}

MCSE

	1. <education> {Microsoft Certified System Engineer}.

	2. <humour> {Minesweeper, Chess, Solitaire Expert}.

	(2013-03-16)

mcvax

	mcvax.cwi.nl used to be the international {backbone} node of
	{EUnet}, the European Unix network.  It was located in
	Amsterdam, Netherlands and belonged to "Centrum voor Wiskunde
	en Informatica" (Centre for Mathematics and Computer Science)
	which is an institute belonging to a foundation called
	"Mathematisch Centrum".  Since the first mcvax was on of the
	first {VAXen} in Europe and one of it's first {uucp}
	connections was to a machine called decvax it was quickly
	christened mcvax.  Some also say this was done to give Jim
	McKie a nice mail address: mcvax!mckie.  But this is certainly
	not true at all.  The function of EUnet international backbone
	moved to another VAX later but the name moved with it, because
	in those days of mainly uucp based mail and before widespread
	use of {pathalias} it was simply not feasible to rename the
	machine to "europa" as was suggested at one stage.

	Mcsun (or relay.eu.net or net.eu.relay in some parts of
	Europe) replaced the international backbone host of EUnet
	around 1990.  This machine was donated by {Sun Microsystems}
	owned by the {European Unix Systems User Group} (EUUG).  It
	was located about 5m from where mcvax used to be and operated
	by the same people.

	Mcvax has finally ceased to exist in the {domain} and {uucp}
	{namespaces}.  It still exists in the {EARN}/{BITNET}
	namespace.

	[Posting by Daniel Karrenberg <dfk@eu.net> to eunet.general].

	(1990-03-02)

mcvert

	<tool> A {Unix} program for reading and writing {Apple Computer}
	{Macintosh} {binary files}.  It was written by Doug Moore, now
	at {Rice University} (Jan 1990).

	See {BinHex}, {HQX}, {MacBinary}.

	(1995-04-22)

MD

	1. <audio, storage> {Mini Disk}.

	2. <programming> {major delivery}.

	3. {message digest function}.

	(2001-12-02)

md

	<networking> The {country code} for Moldova.

	(1999-01-27)

MD5

	{Message Digest 5}

MDA

	{Monochrome Display Adapter}

MDAC

	{Microsoft Data Access Components}

MDCT

	{Modified Discrete Cosine Transform}

MDF

	{Main Distribution Frame}

MDI

	{Multiple Document Interface}

MDL

	(Originally "Muddle").  C. Reeve, {Carl Hewitt} and {Gerald
	Sussman}, Dynamic Modeling Group, MIT ca. 1971.  Intended as a
	successor to Lisp, and a possible base for Planner-70.
	Basically LISP 1.5 with data types and arrays.  Many of its
	features were advanced at the time (I/O, interrupt handling
	and coroutining), and were incorporated into later LISP
	dialects ("optional", "rest" and "aux" markers).  In the mid
	80's there was an effort to use bytecoding to make the
	language portable.  CLU was first implemented in MDL.  Infocom
	wrote Zork in MDL, and used it as the basis for the ZIL
	interpreter.

	Implementations exist for ITS, {TOPS-20}, BSD 4.3, Apollo
	Domain, SunOS and A/UX.

	["The MDL Programming Language", S.W. Galley et al, Doc
	SYS.11.01, Project MAC, MIT (Nov 1975)].

Mean Time Between Failures

	<specification> (MTBF, or "Mean Time Between Faults") The
	{average} time (usually expressed in hours) that a {component}
	works without failure.  It is calculated by dividing the total
	number of failures into the total number of operating hours
	observed.  The term can also mean the length of time a user
	may reasonably expect a device or system to work before an
	incapacitating fault occurs.

	See also {Mean Time To Recovery}.

	(1998-05-01)

Mean Time Between Faults

	{Mean Time Between Failures}

Mean Time To Recovery

	<specification> (MTTR) The average time that a device will
	take to recover from a non-terminal failure.  Examples of such
	devices range from self-resetting fuses (where the MTTR would
	be very short, probably seconds), up to whole systems which
	have to be replaced.

	The MTTR would usually be part of a maintenance contract,
	where the user would pay more for a system whose MTTR was 24
	hours, than for one of, say, 7 days.  This means the supplier
	is guaranteeing to have the system up and running again within
	24 hours (or 7 days) of being notified of the failure.

	Some devices have a MTTR of zero, which means that they have
	redundant components which can take over the instant the
	primary one fails, see {RAID} for example.

	See also {Mean Time Between Failures}.

	(1998-05-01)

measure

	<testing> To ascertain or appraise by comparing to a
	{standard}; to apply a {metric}.

	(1996-12-27)

measurement

	<testing> The act or process of measuring; a figure, extent,
	or amount obtained by measuring.

	(1996-12-27)

meatspace

	<jargon> The physical world (as opposed {virtual reality})
	where you might spend {facetime} with the {carbon community}.

	(1999-01-15)

meatware

	Less common synonym for {wetware}.

	[Was it Marvin Minsky who described brains as
	"machines?/computers? made of meat"?]

	[{Jargon File}]

	(1994-10-21)

media

	1. <data> Any kind of {data} including {graphics}, {images},
	{audio} and {video}, though typically excluding {raw text} or
	{executable code}.

	The term {multimedia} suggests a collection of different types
	of media or the ability to handle such collections.

	2. <storage> The physical object on which {data} is stored, as
	opposed to the device used to read and write it.

	3. <networking> The object at the {physical layer} that
	carries data, typically an electrical or optical cable,
	though, in a {wireless network}, the term refers to the space
	through which radio waves propagate.  Most often used in the
	context of {Media Access Control} (MAC).

	(2010-01-07)

Media Access Control

	<networking> (MAC) The lower sublayer of the {OSI} {data link
	layer}.  The interface between a {node}'s {Logical Link
	Control} and the network's {physical layer}.  The MAC differs
	for various physical media.

	See also {MAC Address}, {Ethernet}, {IEEE 802.3}, {token ring}.

	[What does it do?  Examples?]

	(1996-01-29)

Media Access Unit

	<networking> (MAU or Multistation Access Unit, MSAU) In a
	{Token Ring} network, a device to attach multiple network
	stations in a star topology, internally wired to connect the
	stations into a logical ring.  The MAU contains relays to
	short out nonoperating stations.  Multiple MAUs can be
	connected into a larger ring through their Ring In/Ring Out
	connectors.

	(1997-05-27)

Media Converter

	<networking> A component used in {Ethernet}, although it is
	not part of the {IEEE} standard.  The IEEE standard states
	that all {segments} must be linked with {repeaters}.  Media
	converters were developed as a simpler, cheaper alternative to
	repeaters.  However, in the 1990s the cost difference between
	the two is negligible.

	(1996-12-09)

Media Gateway Control Protocol

	<communications, protocol> (MGCP) A {protocol} used within a
	{Voice over IP} system.  MGCP is an {IETF} work in progress,
	it superseded {SGCP}.

	MGCP is an internal protocol used within a {distributed}
	system that appears to the outside world as a single VoIP
	{gateway}.

	This system is composed of a {Call Agent}, and a set of
	gateways, including at least one "media gateway" that performs
	the conversion of media signals between {circuits} and
	{packets}, and at least one "signalling gateway" when
	connected to an {SS7} controlled network.

	{IETF MGCP draft
	(http://ietf.org/internet-drafts/draft-huitema-megaco-mgcp-v0r1-05.txt)}.

	(1999-03-17)

Medium Access Control

	{Media Access Control}

meeces

	<jargon> /mees'*z/ ({TMRC}) Occasional furry visitors who are
	not {urchins}; that is, mice.  This may no longer be in live
	use.  According to {ESR} it derives from the refrain of the
	early-1960s cartoon character Mr. Jinx: "I hate meeces to
	*pieces*!"

	[{Jargon File}]

	(1996-12-09)

Meet

	{greatest lower bound}

meg

	{megabyte}

mega-

	{prefix}

megabits per second

	<unit> (Mbps, Mb/s) Millions of {bits} per second.  A unit of
	{data rate}.  1 Mb/s = 1,000,000 bits per second (not
	1,048,576).

	E.g. {Ethernet} can carry 10 Mbps.

	(2002-03-23)

megabyte

	<unit, data> (MB, colloquially "meg") A Unit of {data} equal to
	one million {bytes} but see {binary prefix} for other definitions.
	A megabyte is 1000^2 bytes or 1000 {kilobytes}.

	The text of a six hundred page paperback book stored as {ASCII}
	{characters} contains about a megabyte of data.

	1000 megabytes are one {gigabyte}.

	See {prefix}.

	(2013-11-04)

megabytes per second

	<unit> (MBps, MB/s) Millions of {bytes} per second.  A unit of
	{data rate}.  1 MB/s = 1,000,000 bytes per second (not
	1,048,576).

	(2007-02-20)

megaflop

	<unit> Etymologically incorrect singular of "{megaflops}".

	(1995-02-28)

megaflops

	<unit> One million {floating-point} operations per second.  A
	common unit of measurement of performance of computers used
	for numerical work.

	(2000-08-03)

MegaHertz

	(MHz) Millions of cycles per second.  The unit of frequency
	used to measure the {clock rate} of modern digital logic,
	including {microprocessors}.

	(1994-10-27)

megapenny

	/meg'*-pen"ee/ $10,000 (1 cent * 10^6).  Used semi-humorously
	as a unit in comparing computer cost and performance figures.

	[{Jargon File}]

MEGO

	/me"goh/ or /mee'goh/ ["My Eyes Glaze Over", often "Mine Eyes
	Glazeth (sic) Over", attributed to the futurologist Herman
	Kahn] Also "MEGO factor".  1.  A {handwave} intended to
	confuse the listener and hopefully induce agreement because
	the listener does not want to admit to not understanding what
	is going on.  MEGO is usually directed at senior management by
	engineers and contains a high proportion of {TLAs}.
	2. excl. An appropriate response to MEGO tactics.  3. Among
	non-hackers, often refers not to behaviour that causes the
	eyes to glaze, but to the eye-glazing reaction itself, which
	may be triggered by the mere threat of technical detail as
	effectively as by an actual excess of it.

Mei

	<library> A set of {class libraries} by Atsushi Aoki
	<aoki@sra.co.jp> and others for {Objectworks Smalltalk}
	Release 4.1.  Mei includes: Grapher Library for drawing
	diagrams; Meta Grapher Library (grapher to develop grapher);
	Drawing tools and painting tools (structured diagram editors
	and drawing editors); {GUI builder}; {Lisp} {interpreter};
	{Prolog} interpreter; Pluggable gauges; Extended browser;
	(package, history, recover, etc.)

	Mei is available under {General Public License} and requires
	Objectworks Smalltalk Release 4.1.

	Latest version: 0.50, as of 1993-01-20.

	{Home
	(http://sra.co.jp/people/aoki/htmls/FreeSoftwareForSmalltalk.html)}.

	E-mail: Watanabe Katsuhiro <katsu@sran14.sra.co.jp>

	(1999-12-08)

Mel

	{The story of Mel}

MELD

	A {concurrent}, {object-oriented}, {dataflow}, {modular} and
	{fault-tolerant} language!  MELD is comparable to {SR}.

	["MELDing Multiple Granularities of Parallelism", G. Kaiser et
	al, ECOOP '89, pp. 147-166, Cambridge U Press 1989].

	(1994-11-11)

MELDC

	A {reflective} {object-oriented} {concurrent} programming
	language developed in 1990 by the MELD Project of the
	Programming Systems Laboratory at {Columbia University}.
	MELDC is a redesign of {MELD} based on {C}.

	The core of the architecture is a {micro-kernel} (the MELDC
	kernel), which encapsulates a minimum set of entities that
	cannot be modelled as objects.  All components outside of the
	kernel are implemented as objects in MELDC itself and are
	modularised in the MELDC libraries.  MELDC is reflective in
	three dimensions: structural, computational and architectural.
	The structural reflection indicates that classes and
	meta-classes are objects, which are written in MELDC.  The
	computational reflection means that object behaviours can be
	computed and extended at run time.  The architectural
	reflection indicates that new features/properties
	(e.g. persistency and remoteness) can be constructed in MELDC.

	Version 2.0 runs on {Sun-4}/{SunOS} 4.1 and {DECstation} and
	{MIPS}/{Ultrix} 4.2.

	E-mail: Gail Kaiser <meldc@cs.columbia.edu>.

	MELDC is available under licence from <MeldC@cs.columbia.edu>
	and may not be used for commercial purposes.

	(1992-12-15)

Melinda

	["Melinda: Linda with Multiple Tuple Spaces", S. Hupfer,
	<hupfer-susanne@yale.edu> YALEU/DCS/RR-766, Yale U Feb 1990].

	(1994-11-11)

Mel Kaye

	<person> The hero of {The Story of Mel, a Real Programmer}.
	The preface to the manuals for the {Royal McBee} {LGP-30} ACT
	1 ({Algebraic Compiler and Translator}) {compiler} (dated
	1959) contain the following attribution from Clay S. Boswell,
	Jr. (apparently ACT 1's designer):

	 I wish to acknowledge my appreciation to the many people who
	 offered suggestions and criticisms of the ACT 1 System.  In
	 particular, Mel Kaye of Royal McBee who did the bulk of the
	 programming.

	(2008-08-04)

Mellor

	{Schlaer-Mellor}

meltdown

	{network meltdown}

member function

	A {method} in {C++}.

membership function

	{fuzzy subset}

meme

	<philosophy> /meem/ [By analogy with "gene"] Richard Dawkins's
	term for an idea considered as a {replicator}, especially with
	the connotation that memes parasitise people into propagating
	them much as viruses do.

	Memes can be considered the unit of cultural evolution.  Ideas
	can evolve in a way analogous to biological evolution.  Some
	ideas survive better than others; ideas can mutate through,
	for example, misunderstandings; and two ideas can recombine to
	produce a new idea involving elements of each parent idea.

	The term is used especially in the phrase "meme complex"
	denoting a group of mutually supporting memes that form an
	organised belief system, such as a religion.  However, "meme"
	is often misused to mean "meme complex".

	Use of the term connotes acceptance of the idea that in humans
	(and presumably other tool- and language-using sophonts)
	cultural evolution by selection of adaptive ideas has become
	more important than biological evolution by selection of
	hereditary traits.  Hackers find this idea congenial for
	tolerably obvious reasons.

	See also {memetic algorithm}.

	[{Jargon File}]

	(1996-08-11)

meme plague

	<philosophy> The spread of a successful but pernicious {meme},
	especially one that parasitises the victims into giving their
	all to propagate it.  Astrology, BASIC, and the other guy's
	religion are often considered to be examples.  This usage is
	given point by the historical fact that "joiner" ideologies
	like Naziism or various forms of millennarian Christianity
	have exhibited plague-like cycles of exponential growth
	followed by collapses to small reservoir populations.

	[{Jargon File}]

	(1996-08-11)

memetic algorithm

	<algorithm> A {genetic algorithm} or {evolutionary algorithm}
	which includes a non-genetic local search to improve
	genotypes.  The term comes from the Richard Dawkin's term
	"{meme}".

	One big difference between memes and genes is that memes are
	processed and possibly improved by the people that hold them -
	something that cannot happen to genes.  It is this advantage
	that the memetic algorithm has over simple genetic or
	evolutionary algorithms.

	These algorithms are useful in solving complex problems, such
	as the "{Travelling Salesman Problem}," which involves finding
	the shortest path through a large number of nodes, or in
	creating {artificial life} to test evolutionary theories.

	Memetic algorithms are one kind of {metaheuristic}.

	{UNLP memetic algorithms home page
	(http://ing.unlp.edu.ar/cetad/mos/memetic_home.html)}.

	(07 July 1997)

memetics

	<philosophy> /me-met'iks/ The study of {memes}.

	As of mid-1993, this is still an extremely informal and
	speculative endeavor, though the first steps toward at least
	statistical rigor have been made by H. Keith Henson and
	others.  Memetics is a popular topic for speculation among
	hackers, who like to see themselves as the architects of the
	new information ecologies in which memes live and replicate.

	[{Jargon File}]

	(2000-01-09)

Memex

	<hypertext> {Vannevar Bush}'s original name for {hypertext},
	which he invented in the 1930s.

	{Fantastic article
	(http://jefferson.village.virginia.edu/elab/hfl0051.html)}.

	(2000-01-09)

memo function

	<programming> (Or "memoised function") A {function} that
	remembers which {arguments} it has been called with and the
	result returned and, if called with the same arguments again,
	returns the result from its memory rather than recalculating
	it.

	Memo functions were invented by Professor {Donald Michie} of
	{Edinburgh University}.  The idea was further developed by
	{Robin Popplestone} in his {Pop2} language long before it was
	ever worked into LISP.

	This same principle is found at the hardware level in computer
	architectures which use a {cache} to store recently accessed
	memory locations.

	A {Common Lisp} package by Marty Hall
	<hall@aplcenmp.apl.jhu.edu>
	{(ftp://archive.cs.umbc.edu/pub/Memoization)}.

	["'Memo' functions: and machine learning", Donald Michie,
	Nature, 218, 19-22, 1968].

	(2002-07-02)

memoisation

	{memo function}

memoised function

	{memo function}

memoization

	{memo function}

memoized function

	{memo function}

memory

	<storage> These days, usually used synonymously with {Random
	Access Memory} or {Read-Only Memory}, but in the general sense
	it can be any device that can hold {data} in
	{machine-readable} format.

	(1996-05-25)

memory address space

	<architecture> 1. Any part of a {processor}'s {address space}
	that is occupied by {memory}.

	2. The range of addresses seen by a memory device relative to
	the base address at which it is mapped into the processor's
	address space.

	(1999-11-01)

memory dump

	<programming, operating system, jargon> (Or "core dump") A
	{file} on {hard disk} (traditionally called "core") containing
	a copy of the contents of a {process}'s memory, produced when
	a process is aborted by certain kinds of internal error or
	{signal}.

	{Debuggers} like {adb} and {gdb} can load the dump file and
	display the information it contains about the state of the
	running program.  This can be related to the program code,
	both {object code} and, in a {source-level debugger}, the
	{source code}.  Information includes the contents of
	{registers}, the {call stack} and all other program data.

	(2007-05-09)

memory farts

	<jargon, humour> The flatulent sounds that some {MS-DOS} box
	{BIOS}es (most notably {AMI}'s) make when checking memory at
	{boot} time.

	[{Jargon File}]

	(1994-11-02)

memory leak

	<programming> A {leak} in a program's {dynamic store}
	allocation logic that causes it to fail to reclaim memory in
	the {heap} after it has finished using it, eventually causing
	the program to fail due to lack of memory.

	These problems were severe on older machines with small,
	fixed-size address spaces, and special "leak detection" tools
	were written to diagnose them.

	The introduction of {virtual memory} made memory leaks a less
	serious problem, although if you run out of {virtual
	memory}, it means you've got a *real* leak!

	See {aliasing bug}.

	[{Jargon File}]

	(2003-10-07)

memory location

	<storage> A {byte}, {word} or other small unit of storage
	space in a computer's {main memory} that is identified by its
	starting {address} (and size).

	(1999-04-19)

memory management

	<memory management, storage> A collection of techniques for
	providing sufficient memory to one or more processes in a
	computer system, especially when the system does not have
	enough memory to satisfy all processes' requirements
	simultaneously.  Techniques include {swapping}, {paging} and
	{virtual memory}.  Memory management is usually performed
	mostly by a {hardware} {memory management unit}.

	(1995-01-23)

Memory Management Unit

	<hardware, memory management> (MMU, "Paged Memory Management
	Unit", PMMU) A {hardware} device or circuit that supports
	{virtual memory} and {paging} by translating {virtual
	addresses} into {physical addresses}.

	The virtual {address space} (the range of addresses used by
	the processor) is divided into {pages}, whose size is 2^N,
	usually a few {kilobytes}.  The bottom N {bits} of the address
	(the offset within a page) are left unchanged.  The upper
	address bits are the (virtual) {page number}.  The MMU
	contains a {page table} which is indexed (possibly
	associatively) by the page number.  Each page table entry
	(PTE) gives the physical page number corresponding to the
	virtual one.  This is combined with the page offset to give
	the complete physical address.

	A PTE may also include information about whether the page has
	been written to, when it was last used (for a {least recently
	used} {replacement algorithm}), what kind of processes ({user
	mode}, {supervisor mode}) may read and write it, and whether
	it should be {cache}d.

	It is possible that no physical memory ({RAM}) has been
	allocated to a given virtual page, in which case the MMU will
	signal a "{page fault}" to the {CPU}.  The {operating system}
	will then try to find a spare page of RAM and set up a new PTE
	to map it to the requested virtual address.  If no RAM is free
	it may be necessary to choose an existing page, using some
	{replacement algorithm}, and save it to disk (this is known as
	"{paging}").  There may also be a shortage of PTEs, in which
	case the OS will have to free one for the new mapping.

	In a {multitasking} system all processes compete for the use
	of memory and of the MMU.  Some {memory management}
	architectures allow each process to have its own area or
	configuration of the page table, with a mechanism to switch
	between different mappings on a process switch.  This means
	that all processes can have the same virtual address space
	rather than require load-time relocation.

	An MMU also solves the problem of {fragmentation} of memory.
	After blocks of memory have been allocated and freed, the free
	memory may become fragmented (discontinuous) so that the
	largest contiguous block of free memory may be much smaller
	than the total amount.  With {virtual memory}, a contiguous
	range of virtual addresses can be mapped to several
	non-contiguous blocks of physical memory.

	In early designs memory management was performed by a separate
	{integrated circuit} such as the {MC 68851} used with the
	{Motorola 68020} {CPU} in the {Macintosh II} or the {Z8015}
	used with the {Zilog Z80} family of processors.  Later CPUs
	such as the {Motorola 68030} and the {ZILOG Z280} have MMUs on
	the same IC as the CPU.

	(1999-05-24)

memory mapped I/O

	<architecture> The use of the same instructions and {bus} to
	communicate with both {main memory} and {input/output}
	devices.  This is in contrast to processors that have a
	separate I/O {bus} and special instructions to access it.

	The I/O devices are addressed at certain reserved address
	ranges on the main memory bus.  These addresses cannot
	therefore be used for {RAM}.  {Motorola} and {Mostec}
	architectures, among others, use memory mapped I/O.

	{Video cards} and other cards with on-board memory might be
	accessed in this way though the term applies not just to
	devices containing memory but to any device connected to the
	memory bus.  Accessing the devices usually consists of reading
	and writing certain built-in {registers} though sometimes the
	mere presence of a particular address can trigger the device.

	(1997-04-14)

memory protection

	<memory management> A system to prevent one {process}
	corrupting the memory (or other resources) of any other,
	including the {operating system}.  Memory protection usually
	relies on a combination of hardware (a {memory management
	unit}) and software to allocate memory to processes and handle
	{exceptions}.

	The effectiveness of memory protection varies from one
	operating system to another.  In most versions of {Unix} it is
	almost impossible to corrupt another process' memory, except
	in some archaic implementations and {Lunix} (not {Linux}!).
	Under {Microsoft Windows} (version?  hardware?) any {16 bit
	application}(?) can circumvent the memory protection, often
	leading to one or more {GPFs}.  Currently (April 1996) neither
	{Microsoft Windows} 3.1, {Windows 95}, nor {Mac OS} offer
	memory protection.  {Windows NT} has it, and Mac OS System 8
	will offer a form of memory protection.

	[MS DOS {EMM386} relevant?]

	(1996-09-10)

memory smash

	<jargon> A {Xerox PARC} term for writing to the location
	addressed by a {dangling pointer}.

	[{Jargon File}]

	(1994-11-02)

Memory Type Range Registers

	<architecture, video> (MTRR) Registers in the {Pentium Pro}
	and {Pentium II} processors that can be used to specify a
	strategy for communication with the external memory and
	{caches} for a number of {physical address} ranges.

	Strategies include {write-through}, {write-back}, or
	uncached(?).  Such control is useful where the memory is
	located on a device and is accessed via some kind of device
	bus, e.g. a {PCI} or {AGP} {graphics card}, where caching
	would be of no benefit.

	(1999-07-02)

MEMS

	{microelectromechanical system}

Mentat

	<language> (After the human computers in Frank Herbert's SF
	classic, "Dune") An {object-oriented} distributed language
	developed at the {University of Virginia} some time before Dec
	1987.  Mentat is an extension of {C++} and is portable to a
	variety of {MIMD} architectures.

	By 1994 Mentat was available for {Sun-3}, {Sun-4}, {iPSC}/2
	with plans for {Mach}, {iPSC860}, {RS/6000} and {Iris}.  The
	language is now (May 1998) supported in a new project,
	{Legion}.

	E-mail: <mentat@uvacs.cs.virginia.edu>.

	["Mentat: An Object-Oriented Macro Data Flow System",
	A. Grimshaw <grimshaw@cs.virginia.edu> et al, SIGPLAN Notices
	22(12):35-47, Dec 1987, OOPSLA '87].

	(1998-05-15)

MENTOR

	CAI language.  "Computer Systems for Teaching Complex
	Concepts", Report 1742, BBN, Mar 1969.

menu

	<operating system> A list from which the user may select an
	operation to be performed.  This is often done with a {mouse}
	or other pointing device under a {graphical user interface}
	but may also be controlled from the keyboard.

	Menus are very convenient for beginners because they show what
	commands are available and make experimentating with a new
	program easy, often reducing the need for user documentation.
	Experienced users however, often prefer keyboard commands,
	especially for frequently user operations, because they are
	faster to use.  In situations such as text entry where the
	keyboard must be used anyway, having to move your hand to the
	mouse to invoke a menu operation is slow.

	There are many different ways of presenting menus but the most
	common are the {menu bar} (with {pull-down menus}) and the
	{context-sensitive menu}.

	The term "menu" tends to be reserved for a list of actions or
	global options, whereas a "{list box}" or other graphical
	{widget} might present any kind of choice.

	See also {menuitis}.

	(1994-12-02)

menu bar

	<operating system> A permanently displayed {menu} spread
	horizontally across the top of the screen or window.  When the
	mouse is pressed over an item on the menu bar, a {pull-down
	menu} appears.

	(1999-09-22)

menuitis

	/men"yoo-i:"tis/ A notional disease suffered by software with
	an obsessively simple-minded {menu} interface and no escape.
	Hackers find this intensely irritating and much prefer the
	flexibility of command-line or language-style interfaces,
	especially those customisable via {macros} or a
	special-purpose language in which one can encode useful hacks.

	See {user-obsequious}, {drool-proof paper}, {WIMP}, {for the
	rest of us}.

	[{Jargon File}]

	(1994-12-02)

MENYMA/S

	["A Message Oriented Language for System Applications",
	A. Koch et al, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982,
	pp. 824-832].

	(1994-12-02)

Mercury Autocode

	{Autocode} for the {Ferranti} {Mercury} machine.

mercury delay line

	<storage, history> An archaic {first-in first-out} fixed time
	period data storage device using {acoustic transducers} to
	transmit data as waves in a trough or tube of mercury.

	EDSAC (Cambridge) and UNIVAC I used delay lines.

	(2002-06-12)

MERISE

	Methode d'Etude et de Realisation Informatique pour les
	Systemes d'Enteprise.

	A software engineering method popular in France; many {IPSEs}
	are based on it.

	(1995-01-24)

Merlin

	{OS/2}

MEROON

	<language> An {object-oriented} system built on {Scheme}.

	[What kind of system?]

	{(ftp://nexus.yorku.ca/pub/scheme/new/)}.

	(1997-05-05)

Mesa

	Xerox PARC, 1977.  System and application programming for
	proprietary hardware: Alto, Dolphin, Dorado and Dandelion.
	Pascal-like syntax, ALGOL68-like semantics.  An early version
	was weakly typed.  Mesa's modules with separately compilable
	definition and implementation parts directly led to Wirth's
	design for Modula.  Threads, coroutines (fork/join),
	exceptions, and monitors.  Type checking may be disabled.
	Mesa was used internally by Xerox to develop ViewPoint, the
	Xerox Star, MDE, and the controller of a high-end copier.  It
	was released to a few universitites in 1985.  Succeeded by
	Cedar.

	["Mesa Language Manual", J.G.  Mitchell et al, Xerox PARC,
	CSL-79-3 (Apr 1979)].

	["Early Experience with Mesa", Geschke et al, CACM
	20(8):540-552 (Aug 1977)].

mesh

	<character> The {INTERCAL} name for {hash}.

MESI protocol

	<processor> Modified, Exclusive, Shared, Invalid.

	A {cache coherency} {protocol} where each {cache line} is
	marked with one of the four states.

	The MESI protocol is used by the {Pentium} processor.

	(1995-05-05)

message

	In {object-oriented programming} sending a message to an
	{object} (to invoke a {method}) is equivalent to calling a
	{procedure} in traditional programming languages, except that
	the actual code executed may only be selected at run time
	depending on the {class} of the object.  Thus, in response to
	the message "drawSelf", the method code invoked would be
	different if the target object were a circle or a square.

	(1995-02-16)

message board

	{bulletin board system}

Message Digest 5

	<messaging> The {message digest function} defined in {RFC
	1321}.

	(1996-08-04)

message digest function

	{one-way hash function}

Message Handling System

	<messaging, standard> (MHS) The {standard} defined by {ITU-T}
	as {X.400} and by {ISO} as {Message-Oriented Text Interchange
	Standard} (MOTIS).  MHS is the X.400 family of services and
	{protocols} that provides the functions for global {electronic
	mail} transfer among local mail systems and {MTAs}.

	It is used by {CompuServe}, among others.

	(1996-09-25)

message passing

	One of the two techniques for communicating between parallel
	processes (the other being {shared memory}).

	A common use of message passing is for communication in a
	{parallel computer}.  A process running on one processor may
	send a message to a process running on the same processor or
	another.  The actual transmission of the message is usually
	handled by the {run-time support} of the language in which the
	processes are written, or by the {operating system}.

	Message passing scales better than {shared memory}, which is
	generally used in computers with relatively few processors.
	This is because the total communications {bandwidth} usually
	increases with the number of processors.

	A message passing system provides primitives for sending and
	receiving messages.  These primitives may by either
	{synchronous} or {asynchronous} or both.  A synchronous send
	will not complete (will not allow the sender to proceed) until
	the receiving process has received the message.  This allows
	the sender to know whether the message was received
	successfully or not (like when you speak to someone on the
	telephone).  An asynchronous send simply queues the message
	for transmission without waiting for it to be received (like
	posting a letter).  A synchronous receive primitive will wait
	until there is a message to read whereas an asynchronous
	receive will return immediately, either with a message or to
	say that no message has arrived.

	Messages may be sent to a named process or to a named
	{mailbox} which may be readable by one or many processes.

	Transmission involves determining the location of the
	recipient and then choosing a route to reach that location.
	The message may be transmitted in one go or may be split into
	{packets} which are transmitted independently (e.g. using
	{wormhole routing}) and reassembled at the receiver.  The
	message passing system must ensure that sufficient memory is
	available to buffer the message at its destination and at
	intermediate nodes.

	Messages may be typed or untyped at the programming language
	level.  They may have a priority, allowing the receiver to
	read the highest priority messages first.

	Some message passing computers are the {MIT J-Machine
	(http://ai.mit.edu/projects/cva/cva_j_machine.html)}, the
	{Illinois Concert Project
	(http://www-csag.cs.uiuc.edu/projects/concert.html)} and
	{transputer}-based systems.

	{Object-oriented programming} uses message passing between
	{objects} as a metaphor for procedure call.

	(1994-11-11)

Message Passing Interface

	<communications, protocol> A {de facto standard} for
	communication among the {nodes} running a {parallel program}
	on a {distributed memory system}.  MPI is a {library} of
	{routines} that can be called from {Fortran} and{ C} programs.
	MPI's advantage over older message passing libraries is that
	it is both {portable} (because MPI has been implemented for
	almost every distributed memory {architecture}) and fast
	(because each implementation is {optimised} for the {hardware}
	it runs on).

	[Address?]

	(1997-06-09)

message switching

	{store and forward}

Message Transfer Agent

	<messaging> (MTA, Mail Transfer Agent) Any program responsible
	for delivering {e-mail} messages.  Upon receiving a message
	from a {Mail User Agent} or another MTA, often by {SMTP} over
	the {Internet}, it stores it temporarily locally and analyses
	the recipients and delivers it to any local addressees and/or
	forwards it to other remote MTAs ({routing}) for delivery to
	remote recipients.  In either case it may edit and/or add to
	the message {headers}.

	The most widely used MTA for {Unix} is {sendmail}, which
	communicates using {SMTP}.

	[Other OSes?]

	{RFC 2821} (SMTP) expands MTA as "Mail Transfer Agent" though
	this is less common.  Alternatives with "Transport" are also
	seen but less correct.

	(2007-06-01)

Message Transport Agent

	{Message Transfer Agent}

Messaging Application Programming Interface

	<messaging> (MAPI) A messaging architecture and a {client}
	interface component for applications such as {electronic
	mail}, scheduling, calendaring and document management.  As a
	messaging architecture, MAPI provides a consistent interface
	for multiple {application programs} to interact with multiple
	messaging systems across a variety of {hardware} {platforms}.

	MAPI provides better performance and control than {Simple
	MAPI}, {Common Messaging Calls} (CMC) or the {Active Messaging
	Library}.  It has a comprehensive, open, dual-purpose
	interface, integrated with {Microsoft Windows}.  MAPI can be
	used by all levels and types of client application and
	"service providers" - driver-like components that provide a
	MAPI interface to a specific messaging system.  For example, a
	{word processor} can send documents and a {workgroup}
	application can share and store different types of data using
	MAPI.

	MAPI separates the programming interfaces used by the client
	applications and the service providers.  Every component works
	with a common, {Microsoft Windows}-based user interface.  For
	example, a single messaging client application can be used to
	receive messages from {fax}, a {bulletin board} system, a
	host-based messaging system and a {LAN}-based system.
	Messages from all of these systems can be delivered to a
	single "universal Inbox".

	MAPI is aimed at the powerful, new market of workgroup
	applications that communicate with such different messaging
	systems as fax, {DEC} {All-In-1}, {voice mail} and public
	communications services such as {AT&T} Easylink Services,
	{CompuServe} and {MCI} MAIL.  Because workgroup applications
	demand more of their messaging systems, MAPI offers much more
	than basic messaging in the programming interface and supports
	more than {local area network} (LAN)-based messaging systems.
	Applications can, for example, format text for a single
	message with a variety of fonts and present to their users a
	customised view of messages that have been filtered, sorted or
	preprocessed.

	MAPI is built into {Windows 95} and {Windows NT} and can be
	used by 16-bit and 32-bit Windows applications.  The
	programming interface and subsystem contained in the MAPI
	{DLL} provide objects which conform to the {Component Object
	Model}.  MAPI includes standard messaging client applications
	that demonstrate different levels of messaging support.

	MAPI provides cross platform support through such industry
	standards as {SMTP}, {X.400} and Common Messaging Calls.  MAPI
	is the messaging component of {Windows Open Services
	Architecture} (WOSA).

	[Correct expansion?  Relatonship with Microsoft?]

	(1997-12-03)

Messaging Applications Programming Interface

	{Messaging Application Programming Interface}

mess-dos

	/mes-dos/ (Or MS-DOG, Messy-DOS, mess-dross, mess-loss,
	mush-dos) Derisory term for {MS-DOS}.  Often followed by the
	ritual banishing "Just say No!"

	Most hackers (even many {MS-DOS} hackers) loathe {MS-DOS} for
	its single-tasking nature, its limits on application size, its
	nasty primitive interface, and its ties to {IBM}ness (see
	{fear and loathing}).

	In Ireland and the UK it is sometimes called "Domestos" after
	a brand of toilet cleanser.

	[{Jargon File}]

	(1994-11-16)

META

	<language> The {assembly language} for the {CYBER 200},
	developed at {CDC} ca 1977.

	[CDC Pub 60256020].

	[{Jargon File}]

	(1994-11-16)

meta

	<philosophy> /me't*/ or /may't*/ or (Commonwealth) /mee't*/ A
	prefix meaning one level of description higher.  If X is some
	concept then meta-X is data about, or processes operating on,
	X.

	For example, a {metasyntax} is {syntax} for specifying syntax,
	{metalanguage} is a language used to discuss language,
	{metadata} is data about data, and {meta-reasoning} is
	reasoning about reasoning.

	This is difficult to explain briefly, but much hacker humour
	turns on deliberate confusion between meta-levels.

	[{Jargon File}]

	(1999-04-06)

META 5

	Early syntax-directed {compiler-compiler}, used for
	translating one {high-level language} to another.

	Versions: META II, META-3.

	["META 5: A Tool to Manipulate Strings of Data",
	D.K. Oppenheim et al, Proc 21st Natl Conf, ACM 1966].

	[Sammet 1969, p. 638].

	(1995-01-23)

meta bit

	The top bit of an 8-bit character, which is on in character
	values 128--255.  Also called {high bit}, {alt bit}, or
	{hobbit}.  Some terminals and consoles (see {space-cadet
	keyboard}) have a META shift key.  Others (including,
	*mirabile dictu*, keyboards on IBM PC-class machines) have an
	ALT key.  See also {bucky bits}.

	Historical note: although in modern usage shaped by a universe
	of 8-bit bytes the meta bit is invariably {hex} 80 ({octal}
	0200), things were different on earlier machines with 36 bit
	words and 9-bit bytes.  The MIT and Stanford keyboards (see
	{space-cadet keyboard}) generated hex 100 (octal 400) from
	their meta keys.

	[{Jargon File}]

MetaCard

	A commercial human interface and {hypertext} system for {Unix}
	and the {X Window System}, similar to {Hypercard}.

	(1994-11-17)

Meta-CASE tool

	A term sometimes used for software packages (like TBK or VSF)
	which allow users to develop or customise their own CASE
	tools.

metaclass

	<programming> The {class} of a class in an {object-oriented
	programming} language.  A metaclass is a class whose {instances}
	are themselves classes.  Typically there will only be one
	metaclass, called "Class" or similar, which is the class of all
	classes including itself.  In some languages there will be no
	metaclass.

	The idea of a metaclass is closely associated with {introspection}
	- the ability of a program to access the structure and logic of
	itself or other programs.

	(2013-09-02)

Meta Class System

	<language> (MCS) A portable {object-oriented} extension of {Common
	Lisp} from {GMD}.  It integrates the functionality of {CLOS} and
	{TELOS}.

	{(ftp://gmdzi.gmd.de/pub/lisp/mcs)}.

	(1994-10-21)

Meta-Crystal

	A language for transformations of Crystal programs.
	Implemented in T.  "Meta-Crystal- A Metalanguage for
	Parallel-Program Optimisation", J.A. Yang et al, TR
	YALEU/DCS/TR-786, Yale Apr 1990.  (See Crystal).

metadata

	<data> /me't*-day`t*/, or combinations of /may'-/ or
	(Commonwealth) /mee'-/; /-dah`t*/ (Or "meta-data") Data about
	{data}.  In {data processing}, metadata is definitional data
	that provides information about or documentation of other data
	managed within an application or environment.

	For example, metadata would document data about {data
	elements} or {attributes}, (name, size, data type, etc) and
	data about {records} or {data structures} (length, fields,
	columns, etc) and data about data (where it is located, how it
	is associated, ownership, etc.).  Metadata may include
	descriptive information about the context, quality and
	condition, or characteristics of the data.

	A collection of metadata, e.g. in a {database}, is called a
	{data dictionary}.

	Myers of {The Metadata Company} claims to have coined the term
	in 1969 though it appears in the book, "Extension of
	programming language concepts" published in 1968, by {Philip
	R. Bagley}.  Bagley was a pioneer of computer document
	retrieval.  "A survey of extensible programming languages" by
	Solntsseff and Yezerski (Annual Review in Automatic
	Programming, 1974, pp267-307) cites "the notion of 'metadata'
	introduced by Bagley".

	(2010-05-15)

Metadata Information Partners

	{The Metadata Company}

META element

	<web> An {element}, with tag name of "META",
	expressing {meta-data} about a given {HTML} document.  HTML
	standards do not require that documents have META elements;
	but if META elements occur, they must be inside the document's
	HEAD element.

	The META element can be used to identify properties of a
	document (e.g., author, expiration date, a list of key words,
	etc.) and assign values to those properties, typically by
	specifying a NAME {attribute} (to name the property) and a
	CONTENT attribute (to assign a value for that property).  The
	HTML 4 specification doesn't standardise particular NAME
	properties or CONTENT values; but it is conventional to use a
	"Description" property to convey a short summary of the
	document, and a "Keywords" property to provide a list of
	{keywords} relevant to the document, as in:

	 <META NAME="Description" CONTENT="Information from around the
	 world on kumquat farming techniques and current kumquat
	 production and consumption data">
	 <META NAME="Keywords" CONTENT="kumquat, Fortunella">

	META elements with HTTP-EQUIV and CONTENT attributes can
	simulate the effect of {HTTP} header lines, as in:

	 <META HTTP-EQUIV="Expires" CONTENT="Tue, 22 Mar 2000 16:18:35 GMT">
	 <META HTTP-EQUIV="Refresh" CONTENT="10; URL=http://foldoc.org/">

	Other properties may be application-specific.  For example,
	the {Robots Exclusion
	(http://info.webcrawler.com/mak/projects/robots/norobots.html)}.
	standard uses the "robots" property for asserting that the
	given document should not be indexed by robots, nor should
	links in it be followed:

	 <META NAME="robots" CONTENT="noindex,follow">

	(2001-02-07)

metafile

	<graphics, file format> 1. An image file format for transport
	between different machines, often as a {device independent
	bitmap}.

	2. A {functional specification} for encoding computer
	{graphics} for later display on some suitable device.

	(1996-09-20)

METAFONT

	A system for the design of raster-based alphabets by {Donald
	Knuth}.  A companion to {TeX}.

	["The METAFONT Book," Donald Knuth, A-W 1986.  Version 2.0,
	March 1990].

	(1994-11-04)

metaheuristic

	<algorithm, complexity, computability> A top-level general
	strategy which guides other {heuristics} to search for
	feasible solutions in domains where the task is hard.

	Metaheuristics have been most generally applied to problems
	classified as {NP-Hard} or {NP-Complete} by the theory of
	{computational complexity}.  However, metaheuristics would
	also be applied to other {combinatorial} {optimisation}
	problems for which it is known that a {polynomial-time}
	solution exists but is not practical.

	Examples of metaheuristics are {Tabu Search}, {simulated
	annealing}, {genetic algorithms} and {memetic algorithms}.

	(1997-10-30)

Meta-II

	An early {compiler-compiler}.

	["Meta-II: a Syntax Oriented Compiler Writing Language",
	V. Schorre, Proc 19th ACM Natl Conf 1964].

	(1995-01-23)

metainformation

	{meta-data}

Meta-IV

	{Vienna Development Method Specification Language}

METAL

	1. Mega-Extensive Telecommunications Applications Language.
	BBS language for PRODOS 8 on Apple II.

	2. The syntax-definition formalism of the Mentor system.
	Metal specifications are compiled to specifications for a
	scanner/parser generator such as Lex/Yacc.  "Metal: A
	Formalism to Specify Formalisms", G.  Kahn et al, Sci Comp
	Prog 3:151-188 (1983).

metalanguage

	1. [theorem proving] A language in which proofs are
	manipulated and tactics are programmed, as opposed to the
	logic itself (the "{object language}").  The first {ML} was
	the metalanguage for the Edinburgh {LCF} proof assistant.

	2. [logic] A language in which to discuss the truth of
	statements in another language.

Metal Oxide Semiconductor

	<electronics> (MOS) The three materials used to form a {gate}
	in the most common kind of {Field Effect Transistor} - a
	{MOSFET}.

	[Other MOS devices?]

	(1996-05-27)

Metal Oxide Semiconductor Field Effect Transistor

	<electronics> (MOSFET) A {Field Effect Transistor} in which
	the conducting channel is insulated from the gate terminal by
	a layer of oxide.  Therefore it does not conduct even if a
	reverse voltage is applied to the gate.

	(1997-02-24)

metaphone

	<algorithm, text> An {algorithm} for encoding a word so that
	similar sounding words encode the same.  It's similar to
	{soundex} in purpose, but as it knows the basic rules of
	English pronunciation it's more accurate.  The higher accuracy
	doesn't come free, though, metaphone requires more
	computational power as well as more storage capacity, but
	neither of these requirements are usually prohibitive.  It is
	in the public domain so it can be freely implemented.

	Metaphone was developed by Lawrence Philips
	<lphilips@verity.com>.  It is described in ["Practical
	Algorithms for Programmers", Binstock & Rex, Addison Wesley,
	1995].

	(1998-12-22)

metaprogram

	A program which modifies or generates other programs.  A
	{compiler} is an example of a metaprogram: it takes a program
	as input and produces another (compiled) one as output.

	(1994-10-24)

metasyntactic variable

	<grammar> Strictly, a {variable} used in {metasyntax}, but
	often used for any name used in examples and understood to
	stand for whatever thing is under discussion, or any random
	member of a class of things under discussion.  The word {foo}
	is the {canonical} example.  To avoid confusion, hackers never
	(well, hardly ever) use "foo" or other words like it as
	permanent names for anything.

	In filenames, a common convention is that any filename
	beginning with a metasyntactic-variable name is a {scratch}
	file that may be deleted at any time.

	To some extent, the list of one's preferred metasyntactic
	variables is a cultural signature.  They occur both in series
	(used for related groups of variables or objects) and as
	singletons.  Here are a few common signatures:

	{foo}, {bar}, {baz}, {quux}, quuux, quuuux...: MIT/Stanford
	usage, now found everywhere.  At MIT (but not at Stanford),
	{baz} dropped out of use for a while in the 1970s and '80s.  A
	common recent mutation of this sequence inserts {qux} before
	{quux}.

	bazola, ztesch: Stanford (from mid-'70s on).

	{foo}, {bar}, thud, grunt: This series was popular at CMU.
	Other CMU-associated variables include ack, barf, foo, and
	{gorp}.

	{foo}, {bar}, fum: This series is reported to be common at
	{Xerox PARC}.

	{fred}, {barney}: See the entry for {fred}.  These tend to be
	Britishisms.

	{toto}, titi, tata, tutu: Standard series of metasyntactic
	variables among francophones.

	{corge}, {grault}, {flarp}: Popular at Rutgers University and
	among {GOSMACS} hackers.

	zxc, spqr, {wombat}: Cambridge University (England).

	shme: Berkeley, GeoWorks, Ingres.  Pronounced /shme/ with a
	short /e/.

	{foo}, {bar}, zot: {Helsinki University of Technology},
	Finland.

	blarg, wibble: New Zealand

	Of all these, only "foo" and "bar" are universal (and {baz}
	nearly so).  The compounds {foobar} and "foobaz" also enjoy
	very wide currency.

	Some jargon terms are also used as metasyntactic names; {barf}
	and {mumble}, for example.

	See also {Commonwealth Hackish} for discussion of numerous
	metasyntactic variables found in Great Britain and the
	Commonwealth.

	[{Jargon File}]

	(1995-11-13)

metasyntax

	<grammar> {Syntax} used to describe {syntax}.  The best known
	example is {BNF} and its variants such as {EBNF}.

	A {metasyntactic variable} is a {variable} used in
	{metasyntax}.

	(1999-04-06)

META tag

	{META element}

Meta-Vlisp

	<language> An innovative {Lisp} dialect by E. St.James of IBP,
	France.

	(2000-12-19)

Met-English

	A {Fortran}-like language designed at {Metropolitan Life} in
	the early 1960s.  It had support for variable-length bit
	fields.  Most MetLife {DP} in the 1960s and 1970s was in
	Met-English.  It was originally developed for {Honeywell}
	machines, but many programs still run under {IBM} {MVS} via a
	Honeywell {emulator}.

	(1995-02-15)

METEOR

	A version of COMIT with Lisp-like syntax, written in MIT Lisp
	1.5 for the IBM 7090.  "METEOR - A List Interpreter for String
	Transformation", D.G. Bobrow in The Programming Language LISP
	and its Interpretation, E.D.  and D.G. Bobrow eds, 1964.

meter

	<spelling> US spelling of "{metre}".

	(1998-02-07)

method

	<programming> In {object-oriented programming}, a {function} that
	can be called on an {object} of a given {class}.  When a method is
	called (or {invoked (method invocation)}) on an object, the object
	is passed as an implicit {argument} to the method, usually
	referred to by the special variable "this".  If the method is not
	defined in the object's class, it is looked for in that class's
	{superclass}, and so on up the {class hierarchy} until it is
	found.  A {subclass} thus {inherits {inheritance}} all the methods
	of its superclasses.

	Different classes may define methods with the same name
	(i.e. methods may be {polymorphic}).

	Methods are sometimes called "object methods" or "instance
	methods".  "{Class methods}" are methods that operate on objects
	of class "class".  "Static methods" are not methods but normal
	{functions} packaged with the class.

	(2000-03-22)

method invocation

	<programming> In {object-oriented programming}, the way the
	program looks up the right {code} to run when a {method} with a
	given name is called ("invoked") on an {object}.  The method is
	first looked for in the object's {class}, then that class's
	{superclass} and so on up the {class hierarchy} until a method
	with the given name is found (the name is "resolved").

	Generally, method lookup cannot be performed at {compile time}
	because the object's class is not known until {run time}.  This is
	the case for an {object method} whereas a {class method} is just
	an ordinary function (that is bundled with a given class) and can
	be resolved at compile time (or load time in the case of a
	{dynamically loaded library}).

	(2014-09-06)

methodology

	1. <programming> An organised, documented set of procedures
	and guidelines for one or more phases of the {software life
	cycle}, such as analysis or design.  Many methodologies
	include a diagramming notation for documenting the results of
	the procedure; a step-by-step "cookbook" approach for carrying
	out the procedure; and an objective (ideally quantified) set
	of criteria for determining whether the results of the
	procedure are of acceptable quality.

	An example is The {Yourdon methodology}.

	2. A pretentious way of saying "method".

	(1995-04-10)

Methods

	<language> A line-oriented {Smalltalk} for {PC}'s, produced by
	Digitalk ca 1985.  Methods was the predecessor of
	{Smalltalk/V}.

	(1995-04-16)

me too

	A {functional language} for executable specifications
	developed by Peter Henderson in 1984.  It is like {LispKit
	Lisp}, but with sets, maps and sequences to describe the
	specification.

	["Functional Programming, Formal Specification and Rapid
	Prototyping", IEEE Trans Soft Eng, SE-12(2):241-250 (Feb
	1986)].

	(1994-10-21)

metre

	<unit> (US "meter") The fundamental {SI} unit of length.

	From 1889 to 1960, the metre was defined to be the distance
	between two scratches in a platinum-iridium bar kept in the
	vault beside the Standard Kilogram at the International Bureau
	of Weights and Measures near Paris.

	This replaced an earlier definition as 10^-7 times the
	distance between the North Pole and the Equator along a
	meridian through Paris; unfortunately, this had been based on
	an inexact value of the circumference of the Earth.

	From 1960 to 1984 it was defined to be 1650763.73 wavelengths
	of the orange-red line of krypton-86 propagating in a vacuum.

	It is now defined as the length of the path traveled by light
	in a vacuum in the time interval of 1/299,792,458 of a second.

	(1998-02-07)

metric

	{software metric}

metric space

	<mathematics> A set of points together with a {function}, d,
	called a metric function or distance function.  The function
	assigns a positive {real number} to each pair of points,
	called the distance between them, such that:

	1. For any point x, d(x,x)=0;

	2. For any two distinct points x and y, d(x,y)>0;

	3. For any two points x and y, not necessarily distinct,

		d(x,y) = d(y,x).

	4. For any three points x, y, and z, that are not necessarily
	distinct,

		d(x,z) <= d(x,y) + d(y,z).

	The distance from x to z does not exceed the sum of the
	distances from x to y and from y to z.  The sum of the lengths
	of two sides of a triangle is equal to or exceeds the length
	of the third side.

	(2003-06-26)

Metropolitan Area Network

	(MAN) A data network intended to serve an area the size of a
	large city.  Such networks are being implemented by innovative
	techniques, such as running {optical fibre} through subway
	tunnels.  A popular example of a MAN is {SMDS}.

	See also {Local Area Network}, {Wide Area Network}.

	(1994-11-22)

M-expression LISP

	(MLISP) The original "{meta-language}" {syntax} of {Lisp},
	designed by {John McCarthy} in 1962.  MLISP was intended for
	external use in place of the parenthesised {S-expression}
	{syntax}.

	["LISP 1.5 Programmer's Manual", J. McCarthy et al, MIT Press
	1962].

	(1994-11-22)

MFC

	{Microsoft Foundation Class}

	(1995-11-16)

MFE

	{maximal free expression}

MFLOPS

	1. <unit> {megaflops}.

	2. <benchmark> A {benchmark} which attemps to estimate a
	system's {floating-point} "MFLOPS" rating for specific {FADD},
	{FSUB}, {FMUL} and {FDIV} instruction mixes.

	{C Source (ftp://ftp.nosc.mil/pub/aburto/flops20.c)}.
	{Results
	(http://performance.netlib.org/performance/html/flops.html)},
	{(ftp://ftp.nosc.mil/pub/aburto/flops_1.tbl)},
	{(ftp://ftp.nosc.mil/pub/aburto/flops_2.tbl)},
	{(ftp://ftp.nosc.mil/pub/aburto/flops_3.tbl)},
	{(ftp://ftp.nosc.mil/pub/aburto/flops_4.tbl)}.

	(1994-11-14)

MFM

	{Modified Frequency Modulation}

MFTL

	{My Favourite Toy Language}

mg

	<networking> The {country code} for Madagascar.

	<text, tool> {MicroGnuEmacs}.

MGCP

	{Media Gateway Control Protocol}

mh

	<networking> The {country code} for Marshall Islands.

	(1999-01-27)

MHDL

	1. {MIMIC Hardware Description Language}.

	2. {Microwave Hardware Description Language}.

MHEG

	{Multimedia and Hypermedia information coding Expert Group}

MHS

	{message handling system}

MHz

	{MegaHertz}

MIB

	{Management Information Base}

MIB Variable

	A managed object that is defined in a {Management Information
	Base} (MIB).  The object is defined by a textual name and a
	corresponding object identifier, a {syntax}, an access mode, a
	status, and a description of the semantics of the managed
	object.  The MIB Variable contains pertinent management
	information that is accessible as defined by the access mode.

	(1995-03-22)

Mic-1

	Microprogramming language, used in {Andrew Tanenbaum}'s book.

	See {Mac-1}.

	[Structured Computer Organization, A.S. Tanenbaum, 3rd ed, P-H
	1989, Sect 4.4, 4.5].

Mic-2

	Microprogramming language, used in {Tanenbaum}'s book.

	See {Mac-1}.

	[Structured Computer Organization, A.S. Tanenbaum, 3rd ed, P-H
	1989, Sect 4.4, 4.5].

MICE

	{Multimedia Integrated Conferencing for European Researchers}

mice

	{mouse}

Michigan Algorithm Decoder

	<language> (MAD) An early programming language, based on
	{IAL}, developed at the University of Michigan by R. Graham,
	Bruce Arden, and Bernard Galler in 1959.  MAD was one of the
	first {extensible languages}: the user could define his own
	{operators} and {data types}.

	MAD ran on the {IBM 704}, {IBM 709} and {IBM 7090}.  It was
	ported to the {IBM 7040} at the City College of New York by
	Robert Teitel and also to {Philco}, {Univac} and {CDC}
	computers.

	{Mad/1} was a later version.

	["Michigan Algorithm Decoder (The MAD Manual)", U Michigan
	Computing Center, 1966].

	[Sammet 1969, p. 205].

	(2005-02-09)

mickey

	<unit, humour> The unit of resolution of {mouse} movement.

	It has been suggested that the "disney" will become a
	benchmark unit for animation graphics performance.

	[{Jargon File}]

	(1999-06-30)

mickey mouse program

	<jargon> The North American equivalent of a "{noddy} program",
	i.e. trivial.  The term doesn't necessarily have the belittling
	connotations of mainstream slang "Oh, that's just mickey mouse
	stuff!"; sometimes trivial programs can be very useful.

	[{Jargon File}]

	(1995-04-10)

MICR

	{Magnetic Ink Character Recognition}

micro

	{microprocessor}

micro-

	{prefix}

microarray

	A technique for performing many DNA experiments in parallel.
	Nothing to do with computers.

	(2007-05-14)

Micro Assembly Language

	<language> (MAL) A {microprogramming} language with high-level
	{syntax}, used in the reference below.

	See also {Mic-1}, {Mac-1}.

	[Structured Computer Organization, A.S. Tanenbaum, 3rd ed, P-H
	1989, Sect 4.4].

	(1995-04-10)

microcentury

	One CS professor used to characterise the standard length of
	his lectures as a microcentury - that is, about 52.6 minutes
	(see also {attoparsec}, {nanoacre}, and especially
	{microfortnight}).

Micro Channel Architecture

	<architecture> (MCA) {IBM}'s proprietary 32-bit {bus}, used in
	high-end {PS/2} {personal computers}.  Micro Channel is
	designed for {multiprocessing}.  It eliminates potential
	conflicts that arise when installing new peripheral devices.
	MCA is *not* compatible with either {EISA} or {XT bus
	architecture} so older cards cannot be used with it.

	As with the {ROM} {BIOS} in the first {IBM PCs}, figuring out
	the Micro Channel's secrets has been an arduous task of
	{reverse engineering} ever since the PS/2 line was announced.
	Consequently, the MCA has never become as wide spread as the
	competing {EISA} standard.

	(1996-08-16)

microchip art

	<hardware> (chip art, chip graffiti) Images etched on
	{integrated circuits} purely for decoration, visible only
	under a microscope.

	{Smithsonian Institute Chip Art
	(http://smithsonianchips.si.edu/chipfun/graff.htm)}.

microcode

	<programming> A technique for implementing the {instruction
	set} of a processor as a sequence of microcode instructions
	("microinstructions"), each of which typically consists of a
	(large) number of bit fields and the address of the next
	microinstruction to execute.  Each bit field controls some
	specific part of the processor's operation, such as a gate
	which allows some {functional unit} to drive a value onto the
	{bus} or the operation to be performed by the {ALU}.  Several
	microinstructions will usually be required to fetch, decode
	and execute each {machine code} instruction
	("{macroinstruction}").  The microcode may also be responsible
	for {polling} for hardware {interrupts} between each
	macroinstruction.  Writing microcode is known as
	"microprogramming".

	Microcode may be classified as "horizontally encoded" or
	"vertically encoded".  Horizontal microcode is as described
	above where there is a fairly direct correspondence between
	the bit fields in a microinstruction and the control signals
	sent to the various parts of the CPU.  Not all combinations of
	bits will be valid (e.g. two units driving the bus at once).
	Vertical microcode is closer to {machine code} because a bit
	field value may pass through some intermediate combinatory
	logic which generates the actual control signals.  This allows
	a few bits of a microinstruction to determine several control
	signals and ensure that only valid combinations of those
	signals are generated (e.g. a field may be decoded to determine
	which unit drives the bus).  The disadvantage with vertical
	encoding is that the encoding is usually fixed and takes extra
	time compared with horizontal encoding which allows any
	combination of signals to be generated and takes no time to
	decode.

	The alternative to a microcoded processor is a {hard-wired}
	one where the control signals are generated directly from the
	bits of the {machine code} instruction.  This is more common
	in modern {RISC} architectures because it is faster.

	Microcode is usually stored in {ROM} chips though some
	processors (e.g. the {Orion}) use fast RAM, making them
	dynamically microprogrammable.

	(1996-11-26)

Microcom Networking Protocol

	(MNP) One of the most common {modem} {protocols} with
	{compression}.  Also the name of a product.

	[Details?  On-line spec?]

	(1995-01-31)

microcomputer

	A computer based on a {microprocessor}.

	Contrast with {minicomputer}, {mainframe}.

	(1995-02-07)

microcontroller

	<processor> A {microprocessor} on a single {integrated
	circuit} intended to operate as an {embedded} system.  As well
	as a {CPU}, a microcontroller typically includes small amounts
	of {RAM} and {PROM} and timers and I/O ports.

	An example is the {Intel 8751}.

	(1995-04-22)

MicroDroid

	[{Usenet}] A {Microsoft} employee, especially one who posts to
	various operating-system advocacy newsgroups. MicroDroids post
	follow-ups to any messages critical of {Microsoft}'s operating
	systems, and often end up sounding like visiting Mormon
	missionaries.

	[{Jargon File}]

microelectromechanical system

	<hardware> (MEMS) The integration of mechanical structures
	(moving parts) with microelectronics.  MEMS devices are
	"custom" designed for a purpose which requires a mechanical
	action to be controlled by a computer.

	Applications include sensors, medical devices, process
	controls.

	{(http://mems.mcnc.org/)}.

	See also {nanotechnology}.

	(1999-03-25)

Microelectronics and Computer Technology Corporation

	<body> (MCC) One of the first, and now one of the largest, US
	computer industry research and development consortia.

	Founded in late 1982 by major computer and semiconductor
	manufacturers, MCC's membership has diversified to include a
	broad range of high-profile corporations from electronics,
	computers, aerospace, semiconductors, and related industries,
	reflecting the full range of companies vital to the life cycle
	of {Information Technology} products.  Active involvement of
	small- and medium-sized firms and technology users, along with
	well-established alliances with government research and
	development agencies and leading universities, allows MCC's
	partners to maximise the benefit of scarce research and
	development resources.

	Some of the technical areas in which MCC has distinguished
	itself are:

	System Architecture and Design (optimise hardware and software
	design, provide for scalability and interoperability, allow
	rapid prototyping for improved time-to-market, and support the
	re-engineering of existing systems for open systems).

	Advanced Microelectronics Packaging and Interconnection
	(smaller, faster, more powerful, and cost-competitive).

	Hardware Systems Engineering (tools and methodologies for
	cost-efficient, up-front design of advanced electronic
	systems, including modelling and design-for-test techniques to
	improve cost, yield, quality, and time-to-market).

	Environmentally Conscious Technologies (process control and
	optimisation tools, information management and analysis
	capabilities, and non-hazardous material alternatives
	supporting cost-efficient production, waste minimisation, and
	reduced environmental impact).

	Distributed {Information Technology} (managing and maintaining
	physically distributed corporate information resources on
	different {platforms}, building blocks for the {national
	information infrastructure}, networking tools and services for
	integration within and between companies, and electronic
	commerce).

	Intelligent Systems (systems that "intelligently" support
	business processes and enhance performance, including
	{decision support}, {data management}, forecasting and
	prediction).

	{(http://mcc.com/)}.

	Address: Austin, Texas, USA.

	(1995-04-25)

MicroEmacs

	(uemacs) A simple, portable text editor with versions for most
	{microcomputers} and many other computers.  It is both
	relatively easy for the novice to use, but also very powerful
	in the hands of an expert.  MicroEmacs can be extensibly
	customised.

	Most versions use only a screen and keyboard - mouse and
	windowing facilities are not standard.

	MicroEmacs was written by Dave G Conroy, Steve Wilhite, George
	Jones, and for nearly ten years: Daniel Lawrence.

	Version: 3.11.

	{(ftp://midas.mgmt.purdue.edu/dist/)}.

	[FTP?  Differences from GNU Emacs?]

	(1995-01-05)

microfloppies

	3.5-inch floppies, as opposed to 5.25-inch {vanilla} or
	mini-floppies and the now-obsolete 8-inch variety.  This term
	may be headed for obsolescence as 5.25-inchers pass out of
	use, only to be revived if anybody floats a sub-3-inch floppy
	standard.  See {stiffy}, {minifloppies}.

	[{Jargon File}]

microfortnight

	One millionth of the fundamental unit of time in the
	Furlong/Firkin/Fortnight system of measurement; 1.2096 sec.
	(A furlong is 1/8th of a mile; a firkin is 1/4th of a barrel;
	the mass unit of the system is taken to be a firkin of water).

	The VMS operating system has a lot of tuning parameters that
	you can set with the SYSGEN utility, and one of these is
	TIMEPROMPTWAIT, the time the system will wait for an operator
	to set the correct date and time at boot if it realises that
	the current value is bogus.  This time is specified in
	microfortnights!

	Multiple uses of the millifortnight (about 20 minutes) and
	{nanofortnight} have also been reported.

MicroGnuEmacs

	<text, tool> (mg) A {Public Domain} {Emacs}-style editor
	modified from {MicroEmacs} to be more compatible with {GNU}
	Emacs.  mg is essentially free, it is not associated with the
	GNU project, and does not have the GNU copyright restrictions.
	It is a small, fast, portable editor for people who can't run
	real Emacs thing for one reason or another.  It has few if any
	of the MicroEmacs features that were incompatible with GNU
	Emacs and adds missing features that seemed essential.

	MicroGnuEmacs is derived from, and aims to replace, v30 of
	MicroEmacs, the latest version from the original MicroEmacs
	author Dave Conroy.  The chief contributors were Mike Meyer
	<mwm@ucbopal.berkeley.edu>, Mic Kaczmarczik
	<mic@ngp.utexas.edu>, Bob Larson, and Dave Brower
	<rtech!daveb@sun.com>.

	mg version 1a of 1986-11-16 works with {4.2BSD}, {4.3BSD},
	{Ultrix-32}, {OS9/68k}, {VMS}, {Amiga}, {System V}, {Eunice}.
	It is included in base {OpenBSD}. It should also support
	{MS-DOS}, {PC-DOS} and the {Rainbow}.

	{(http://www.isc.org/index.pl?/sources/editors)}.

	(2007-05-25)

Micro Instrumentation and Telemetry Systems

	<company> (MITS) The company which made the {Altair 8800}
	{micrcomputer} kit.  They also made instrumentation kits for
	model rockets and RC vehicles.  Ed Roberts owned MITS for a
	few years until he sold out, moved to Georgia, and went to med
	school.

	Address: Albuquerque NM, USA.

	(2002-06-17)

Micro Interpreter for Knowledge Engineering

	<artificial intelligence, tool> (MIKE) An {expert system
	shell} for teaching purposes, with {forward chaining},
	{backward chaining}, and user-definable {conflict resolution}
	strategies.  MIKE is written in {Edinburgh Prolog}.

	Version 2.03.

	[BYTE, Oct 1990].

	{(ftp://hcrl.open.ac.uk/pub/software/src/MIKE-v2.03)}.

	Contact: Marc Eisenstadt, HCRL, {Open University}.

	(1995-01-10)

microkernel

	<operating system> An approach to {operating system} design
	emphasising small {modules} that implement the basic features
	of the system {kernel} and can be flexibly configured.

	(1999-08-02)

microLenat

	/mi:"-kroh-len"-*t/ The unit of {bogosity}, written uL; the
	consensus is that this is the largest unit practical for
	everyday use.  The microLenat, originally invented by David
	Jefferson, was promulgated as an attack against noted computer
	scientist {Doug Lenat} by a {tenured graduate student} at
	{CMU}.  Doug had failed the student on an important exam for
	giving only "AI is bogus" as his answer to the questions.  The
	slur is generally considered unmerited, but it has become a
	running gag nevertheless.  Some of Doug's friends argue that
	*of course* a microLenat is bogus, since it is only one
	millionth of a Lenat.  Others have suggested that the unit
	should be redesignated after the grad student, as the
	microReid.

	[{Jargon File}]

microlog

	<architecture> A section of {non-volitile memory} used to
	record state information.  Often used for retaining {crash}
	information after a {reboot} in {embedded systems}.

	["before" a reboot?]

	(2004-02-24)

micrometre

	<unit> (Or "micron") One millionth of a {metre}.  The symbol
	is a Greek letter {mu} followed by "m".

	Features on modern {integrated circuits} are typically
	measured in microns.  The smallest features in 1999 are around
	0.1 microns across.

	(1999-09-28)

Micro ML

	(uML) An {interpreter} for a subset of {SML}.  Runs on
	{MS-DOS}.  Written at the University of Umea, Sweden.

	{(ftp://ftp.cs.umu.se/pub/umlexe01.zoo)}.

Micron

	{Micron Electronics, Inc.}

micron

	{micrometre}

Micron Electronics, Inc.

	<company> An electronics company that develops, markets,
	manufactures, and supports high-performance {notebook
	computers}, {desktop} {personal computers}, {PC servers} and
	related {hardware} and {software} products.

	(1997-03-10)

Micronetics Standard MUMPS

	(MSM) A version of {MUMPS} for the {IBM PC RT} and {R6000}.

	[Address?]

	(1995-01-10)

Micro$oft

	<abuse, company> {Microsoft} written with a dollar sign, as though
	there was any doubt that they are a money-making enterprise.  This
	little witticism was probably created before Microsoft's founder,
	{Bill Gates} established the philanthropic {Bill & Melinda Gates
	Foundation}.

	{Why I hate Microsoft
	(http://www.vanwensveen.nl/rants/microsoft/IhateMS.html)}.

	(2013-12-30)

microperation

	<processor> An elementary operation performed on {data} stored
	in {registers} or in {memory}.  Microperations are classified
	as transfer, arithmetic, logic, or shift/rotate.

	[Relationship with {microcode}?]

	(2003-12-29)

microphone

	<hardware, audio> Any electromechanical device designed to
	convert sound into an electrical signal.

	A microphone converts an acoustic waveform consisting of
	alternating high and low air pressure travelling through the
	air into a voltage.  To do this it uses some kind of pressure
	or movement sensor.  The simplest kind of microphone is
	actually very similar in construction to a {loudspeaker}.

	The analogue electrical signal can be fed into a computer's
	{sound card} where it is amplified and {sampled} to convert it
	into a {digital} waveform for storage or transmission.

	(2002-11-04)

microPLANNER

	A subset of {PLANNER}, implemented in {Lisp} by {Gerald
	Sussman} et al at {MIT}.  Its important features were
	goal-oriented, pattern-directed procedure invocation, an
	embedded knowledge base, and automatic {backtracking}.

	microPLANNER was superseded by {Conniver}.

	["microPLANNER Reference Manual", G.J. Sussman et al, AI Memo
	203, MIT AI Lab, 1970].

	(1995-01-10)

microprocesor

	<spelling> It's spelled {microprocessor}.

	(1997-02-13)

microprocessor

	<architecture> (Or "micro") A computer whose entire {CPU} is
	contained on one (or a small number of) {integrated circuits}.

	The important characteristics of a microprocessor are the
	widths of its internal and external {address bus} and {data
	bus} (and instruction), its {clock rate} and its {instruction
	set}.  Processors are also often classified as either {RISC}
	or {CISC}.

	The first commercial microprocessor was the {Intel 4004} which
	appeared in 1971.  This was the CPU member of a set of four
	{LSI} {integrated circuits} called the MCS-4, which was
	originally designed for use in a calculator but was marketed
	as "programmable controller for logic replacement".  The 4004
	is referred to as a 4-bit microprocessor since it processed
	only 4 bits of data at a time.  This very short word size is
	due mainly to the limitations imposed by the maximum
	integrated circuit density then achievable.

	As integrated circuit densities increased with the rapid
	development of integrated circuit manufacturing technology,
	the power and performance of the microprocessors also
	increased.  This is reflected in the increase in the CPU word
	size to 4, 8, 16, and by mid-1980s, 32 bits.  The smaller
	microprocessors have relatively simple {instruction sets},
	e.g., no {floating point} instructions, but they are
	nevertheless suitable as controllers for a very wide range of
	applications such as car engines and microwave ovens.

	The {Intel 4004} was followed with, among others the {4040},
	{8008}, {8080}, {8086}, {80186}, {80286}, {80386}, {486} and
	{Pentium}.  Other families include the {Motorola} {6800} and
	{680x0} families, {National Semiconductor 16000} and {National
	Semiconductor 32000}, {SPARC}, {ARM}, {MIPS}, {Zilog Z8000},
	{PowerPC} and the {Inmos} {Transputer} family.

	The larger, more recent microprocessors families have
	gradually acquired most of the features of large computers.
	As the microprocessor industry has matured, several families
	of microprocessors have evolved into de facto industrial
	standards with multiple manufacturers and numerous "support"
	chips including {RAM}, {ROM}, {I/O controllers} etc.

	A single chip microprocessor may include other components such
	as memory ({RAM}, {ROM}, {PROM}), {memory management},
	{caches}, {floating-point unit}, input/output ports and
	timers.  Such devices are also known as {microcontrollers}.

	The one-chip microcomputer is in many respects, a landmark
	development in computer technology because it reduces the
	computer to a small, inexpensive, and easily replaceable
	design component.

	Microcomputers have given rise to a new class of
	general-purpose machines called {personal computers}.  These
	are small low cost computers that are designed to sit on an
	ordinary office desk or to be portable and fuelled the
	computer boom of the late 1980s.  The most widespread example
	is the also {IBM PC}, based on microprocessors from {Intel
	Corporation}.  {Apple Computers, Inc.} have also produced a
	range of personal computers, as have several other companies.

	See also {killer micro}, {minicomputer}, {CPU Info Center}.

	(2002-07-16)

Microprocessor without Interlocked Pipeline Stages

	<processor> (MIPS) A project at {Stanford University} intended
	to simplify processor design by eliminating hardware
	{interlocks} between the five {pipeline} stages.  This means
	that only single execution cycle instructions can access the
	thirty two 32-bit general {registers}, so that the {compiler}
	can schedule them to avoid conflicts.  This also means that
	LOAD/STORE and branch instructions have a one-cycle delay to
	account for.  However, because of the importance of multiply
	and divide instructions, a special HI/LO pair of
	multiply/divide registers exist which do have hardware
	interlocks, since these take several cycles to execute and
	complicate {instruction scheduling}.

	The project eventually lead to the commercial {MIPS R2000}
	processor.

	(1995-02-09)

microprogramming

	{microcode}

microReid

	/mi:'kroh-reed/  See {bogosity}.

	[{Jargon File}]

MICRO SAINT

	<simulation> A general purpose {simulation} tool from US
	company {Micro Analysis and Design}.

	(2007-03-22)

microsecond

	<unit> One millionth (10^-6) of a second.

	(1995-03-14)

Microserf

	<jargon> {Wired magazine}'s term for a {Microsoft} employee.

	(1995-03-02)

Microslop

	<company, abuse> A derisive synonym for {Microsoft
	Corporation}.  It refers to the sloppy, {bug}-ridden "x.0"
	versions of {MS-DOS}, {Microsoft Windows} and other Microsoft
	products.

	(1995-12-28)

Microsloth Windows

	<abuse, operating system> /mi:'kroh-sloth" win"dohz/ (Or
	"Windoze", /win'dohz/) A derogatory term for {Microsoft
	Windows} which is so limited by bug-for-bug compatibility with
	{mess-dos} that it is agonisingly slow on anything less than a
	fast {486}.  Also called just "Windoze", with the implication
	that you can fall asleep waiting for it to do anything; the
	latter term is extremely common on {Usenet}.

	Compare {X}, {sun-stools}.

	[{Jargon File}]

	(1996-10-08)

Microsoft

	{Microsoft Corporation}

Microsoft Access

	1. <database> A {relational database} running under {Microsoft
	Windows}.  Data is stored as a number of "{tables}",
	e.g. "Stock".  Each table consists of a number of "{records}"
	(e.g. for different items) and each record contains a number
	of "{fields}", e.g. "Product code", "Supplier", "Quantity in
	stock".

	Access allows the user to create "{forms}" and "reports".  A
	form shows one record in a user-designed format and allows the
	user to step through records one at a time.  A report shows
	selected records in a user-designed format, possibly grouped
	into sections with different kinds of total (including sum,
	minimum, maximum, average).

	There are also facilities to use links ("{joins}") between
	tables which share a common field and to filter records
	according to certain criteria or search for particular field
	values.

	Version: 2 (date?).

	{Usenet} newsgroup: {news:comp.databases.ms-access}.

	2. <communications> A communications program from Microsoft,
	meant to compete with {ProComm} and other programs.  It sucked
	and was dropped.  Years later they reused the name for their
	database.

	[Date?]

	(1997-07-20)

Microsoft Basic

	<language> (MS-BASIC) A dialect of {BASIC} from {Microsoft},
	originally developed by {Bill Gates} in a garage back in the
	{CP/M} days.  It was originally known as GWBasic, then QBASIC
	and finally MS-BASIC.

	When the {MS-DOS} {operating system} came out, it incorporated
	the GWBASIC.EXE or BASICA.EXE interpreters.  GWBASIC ("Gee
	Whiz") incorporated graphics and a {screen editor} and was
	compatible with earlier BASICs.

	QBASIC was more sophisticated.  Version 4.5 had a full screen
	editor, debugger and compiler.  The compiler could also
	produce executable files but to run these a utility program
	(BRUN44.EXE) had to be present.  Thus {source code} could be
	kept private.

	From DOS 5.0 or 6.0 onward, MS-BASIC was standard.

	Latest version: 1.1, also produces {stand-alone} executables
	and can display graphics.

	{Usenet} newsgroup: {news:comp.lang.basic.misc}.

	[Relationship to BASIC in ROM on first IBM PC?]

	(1995-05-12)

Microsoft Certified Application Developer

	<programming, education> (MCAD) Microsoft's qualification
	signifying ability to build {applications} with Microsoft {Visual
	Studio .NET} and {web services} on {Microsoft .NET Framework} 1.0
	and 1.1.  MCAD can no longer be earned.

	{(http://www.microsoft.com/learning/en/in/certification/mcad.aspx)}

	(2013-04-21)

Microsoft Certified Database Administrator

	<educational> (MCDBA) {Microsoft}'s certification of ability to
	design, implement and manage {SQL Server 2000} {databases}.  The
	qualification was retired on 2012-09-30.

	{(http://www.microsoft.com/learning/en/us/mcdba-certification.aspx)}.

	(2013-06-15)

Microsoft Certified Desktop Support Technician

	<education> (MCDST) {Microsoft}'s qualification signifying ability
	to troubleshoot {Windows XP} {desktop} environments and to solve
	hardware and software operation and application problems on
	Windows XP.  MCDST can no longer be earned.

	(2013-05-23)

Microsoft Certified Professional Developer

	<educational, job> (MCPD) {Microsoft}'s certification intended to
	show comprehensive skills designing, developing and deploying
	{applications} for a particular job role.

	(2013-07-21)

Microsoft Certified Solution Developer

	<programming, education> (MCSD) A course for the {VAR} or
	software {developer}.  Candidates must pass three core exams
	and an elective exam.  The core exams cover {systems
	analysis}, and {desktop} and {distributed} development.

	{(http://microsoft.com/mcsd)}.

	(2001-05-20)

Microsoft Certified System Engineer

	<education> (MCSE) A qualification obtained by passing
	{Microsoft}'s system engineer certification exams.

	{(http://microsoft.com/mcse)}.

	(2002-07-02)

Microsoft Certified Systems Administrator

	<education> (MCSA) {Microsoft}'s qualification for people who
	administer {network} and system environments based on {Windows}
	{operating systems}.  Specializations include Messaging and
	Security.

	Replaced by {Microsoft Certified Solutions Associate}.

	(2013-09-02)

Microsoft Certified Systems Developer

	<spelling> Do you mean {Microsoft Certified Solution
	Developer} or {Microsoft Certified System Engineer}?

	(2001-05-20)

Microsoft Corporation

	<company> The biggest supplier of {operating systems} and
	other software for {IBM PC} compatibles.  Software products
	include {MS-DOS}, {Microsoft Windows}, {Windows NT},
	{Microsoft Access}, {LAN Manager}, {MS Client}, {SQL Server},
	{Open Data Base Connectivity} (ODBC), {MS Mail}, and {SNA
	Server} for Windows NT.

	Microsoft was founded as "Micro-soft" in 1975 by {Bill Gates}
	(now CEO) and his high school pal Paul Allen.  Their first
	product was a version of {BASIC} for the new {Altair} computer
	[which one?].  In 1980, {IBM} chose Microsoft to supply the
	{operating system} for the {IBM PC}.

	On the UK television program "The Net" in May 1994, {Bill
	Gates} said he was betting his company on the {information
	highway}".

	Quarterly sales $1293M, profits $362M (Aug 1994).

	{(http://microsoft.com/)}.
	{(ftp://ftp.microsoft.com/)}.

	{Interesting Info and Other Microsoft WWW Servers
	(http://www-drg.microsoft.com/devinfo.htm)}.

	{Microsoft Windows Developer Information
	(http://www-drg.microsoft.com/devinfo.htm)}.

	{Microsoft Research Group Information
	(http://research.microsoft.com)}.

	{Win_News
	(http://microsoft.com/chicago/ms-www/ms-intro.htm)}.
	maintained by the Personal Operating Systems Division to
	distribute information on {Microsoft Windows}, {MS-DOS} and
	{Windows 95}.

	(1998-11-06)

Microsoft Data Access Components

	<database> (MDAC) Microsoft's umbrella term for their {ActiveX
	Data Objects} (ADO), {OLE DB}, and {Open Database
	Connectivity} (ODBC) libraries.  Together, these provide
	access to a variety of data sources, both {relational} ({SQL})
	and nonrelational.  MDAC is the technology that supports
	{Universal Data Access}, Microsoft's strategy for providing
	access to information across the enterprise.

	{(http://msdn.microsoft.com/library/en-us/mdacsdk/htm/mdacstartpage1.asp)}.

	(2004-02-17)

Microsoft Disc Operating System

	<spelling> {Microsoft Disk Operating System}

Microsoft Disk Operating System

	<operating system> /M S doss/ (Or "MS-DOS", "PC-DOS",
	"{MS-DOG}", "{mess-dos}") {Microsoft Corporation}'s {clone} of
	the {CP/M} {disk operating system} for the {8088} {crufted}
	together in 6 weeks by {hacker} {Tim Paterson}, who is said to
	have regretted it ever since.

	MS-DOS is a single user {operating system} that runs one
	program at a time and is limited to working with one megabyte
	of memory, 640 kilobytes of which is usable for the
	{application program}.  Special add-on {EMS} memory boards
	allow EMS-compliant software to exceed the 1 MB limit.
	Add-ons to DOS, such as {Microsoft Windows} and {DESQview},
	take advantage of EMS and allow the user to have multiple
	applications loaded at once and switch between them.

	Numerous features, including vaguely {Unix}-like but rather
	broken support for subdirectories, {I/O redirection} and
	{pipelines}, were hacked into MS-DOS 2.0 and subsequent
	versions; as a result, there are two or more incompatible
	versions of many system calls, and MS-DOS programmers can
	never agree on basic things like what character to use as an
	option switch ("-" or "/").  The resulting mess became the
	highest-unit-volume {operating system} in history.  It was
	used on many {Intel} 16 and 32 bit {microprocessors} and {IBM
	PC} compatibles.

	Many of the original DOS functions were calls to {BASIC} (in
	{ROM} on the original {IBM PC}), e.g. Format and Mode.  People
	with non-IBM PCs had to buy {MS-Basic} (later called
	{GWBasic}).  Most version of DOS came with some version of
	BASIC.

	Also know as PC-DOS or simply DOS, ignoring the fact that
	there were many other OSes with that name, starting in the
	mid-1960s with {IBM}'s first disk operating system for the
	{IBM 360}.

	[{Jargon File}]

	(2007-05-21)

Microsoft DOS

	{Microsoft Disk Operating System}

Microsoft Excel

	<tool> A {spreadsheet} program from {Microsoft}, part of their
	{Microsoft Office} suite of productivity tools for {Microsoft
	Windows} and {Macintosh}.  Excel is probably the most widely
	used spreadsheet in the world.

	Latest version: Excel 97, as of 1997-01-14.

	{(http://microsoft.com/msexcel/)}.

	[Feature summary?  History?]

	(1997-01-14)

Microsoft Exchange

	<messaging> {Microsoft}'s messaging and enterprise
	collaboration server.  Exchange's primary role is as an
	{electronic mail} {message store} but it can also store
	calendars, task lists, contact details, and other data.

	[Better descripton?  URL?]

	(1999-09-17)

Microsoft Extended

	<computer> (MSX) A Range of computers created in an attempt by
	the industry to create a standard for home computers, similar
	to {VHS} did with home video.

	The basic MSX machine contained a {Z80} {CPU} working at
	3.58MHz.

	MSX machines were produced by such giants as {Sony}, {Yamaha},
	{Panasonic}, {Toshiba}, {Daewoo}, and {Philips}.

	The MSX standard was designed by a company called ASCII in
	cooperation with {Microsoft} who provided a {firmware} version
	of its {BASIC} for the machine.  Because this BASIC version
	was an extended version of {MicroSoft Basic}, it was called
	"MicroSoft eXtended BASIC"; Hence "MSX".

	Microsoft also produced MSX-DOS - a stripped-down version of
	{MS-DOS}.

	Extensions to the MSX included MSX2, MSX2+ and TurboR.

	{FAQ (http://faq.msxnet.org/)}.

	(1999-02-26)

Microsoft Foundation Classes

	<programming> (MFC) Software structures in {C++}, the Windows
	base {classes} which can respond to messages, make windows,
	and from which application specific classes can be derived.

	(1995-11-17)

Microsoft IIS

	{Internet Information Server}

Microsoft IntelliMouse Explorer

	<hardware> An {optical mouse} from {Microsoft}.

	{(http://microsoft.com/presspass/features/1999/04-19mouse.htm)}.

	(1999-07-21)

Microsoft Internet Information Server

	{Internet Information Server}

Microsoft Mail

	<messaging, tool> (MS Mail) A {Microsoft Windows} {electronic
	mail} program.

	[Features?  Version?]

	(1996-08-26)

Microsoft Mail Application Program Interface

	{Messaging Application Programming Interface}

Microsoft Network

	{The Microsoft Network}

Microsoft Networking

	<networking> {Microsoft's} name for the networking subsystems
	of {Windows 95} and later.  Not to be confused with {The
	Microsoft Network}.

	Microsoft networking uses the {SMB} file sharing protocol.  It
	is implemented as file system drivers i.e. "{installable file
	systems}" (IFS).

	The {network redirector} "Client for Microsoft Networks", is
	implemented in the VREDIR.VXD {virtual device driver}.  {Peer}
	resource sharing is provided by "File and Printer Sharing for
	Microsoft Networks" (VSERVER.VXD).

	Windows 95's support for {Netware} ({NCP}) networks is
	provided in a similar way via NWREDIR.VXD and NWSERVER.VXD.

	(1999-08-08)

Microsoft Office

	<product> {Microsoft}'s bundles of {productivity tools}
	including {Microsoft Word}, {Microsoft Excel}, {Microsoft
	Powerpoint}, {Microsoft Outlook}, {Microsoft Access},
	{Microsoft Publisher}, {Microsoft Front Page}, {Microsoft Team
	Manager}, {Microsoft Project}, {Microsoft Schedule+},
	{Microsoft Internet Explorer}, {Small Business Financial
	Manager}, {Automap Streets Plus}.

	Editions of Office include {Microsoft Office Professional
	Edition}, {Microsoft Office Standard Edition}, {Microsoft
	Office Small Business Edition}, {Microsoft Office Developer
	Edition}.  Different editions contain different subsets of the
	above applications.

	Current version, as of 2004-08-30: Office 2003.

	{(http://microsoft.com/office)}.

	(2004-08-30)

Microsoft Office Small Business Edition

	<application> (SBE) Editions of {Microsoft Office} 97, 2003,
	and probably other versions, targetted at small businesses.
	Small Business Edition includes {Microsoft Word}, {Microsoft
	Excel}, {Microsoft PowerPoint}, {Microsoft Outlook} with
	{Business Contact Manager} and {Microsoft Publisher}.  SBE
	2003 doesn't include {Microsoft Access} or the addtional
	{XML}, {IRM} and {Visual Studio} support found in {Microsoft
	Office Professional Edition}, though the new user price is the
	same.

	{Office Editions
	(http://microsoft.com/office/editions/howtobuy/compare.mspx)}.

	(2004-08-31)

Microsoft Point to Point Encryption

	<protocol> (MPPE) An {encryption} {protocol} that may be used
	with {PPTP} to provide an encrypted connection.

	(1998-09-24)

Microsoft Project

	<product> A {Microsoft Windows} program offering various
	{project management} tools.

	{(http://microsoft.com/office/project/)}.

	(2003-07-02)

Microsoft SQL Server

	<database> A {relational database management system} (RDBMS)
	which is part of {Microsoft}'s {BackOffice} family of
	{servers}.  SQL Server was designed for {client/server} use
	and is accessed by applications using {SQL}.  It runs on
	{Windows NT} version 3.5 or higher and is compliant with the
	{ANSI} {SQL-92} and {FIPS} 127-2 {SQL} {standards}.

	SQL Server supports {symmetric multiprocessing} hardware;
	{SNMP}, {ODBC}, and major {open standard} communications
	{protocols}.  It has {Internet} integration, data
	{replication}, and {data warehousing} features.

	Microsoft SQL Server was originally developed by {Sybase
	Corporation} but the cooperation was broken sometime [when?]
	before version 6.0.

	Latest version: 7.0.  [Or is it 2000?]

	{(http://microsoft.com/sql)}.

	{Usenet} newsgroup: {news:comp.databases.ms-sqlserver}.

	(2001-04-27)

Microsoft Windows

	<operating system> {Microsoft}'s proprietary {window system}
	and {user interface} software released in 1985 to run on top
	of {MS-DOS}.  Widely criticised for being too slow (hence
	"{Windoze}", "{Microsloth Windows}") on the machines available
	then.

	The 1996 market share of operating systems was:

	 DOS/Windows	70%
	 Windows 95	15%
	 Windows NT	 2%
	 Other		13%

	[Current shares?]

	The version history goes something like: 1985 {Windows 1},
	1987 {Windows 2}, 1987 {Windows/386}, 1990 {Windows 3.0}, 1992
	{Windows 3.1}, 1992 {Windows for Workgroups 3.1}, 1993
	{Windows 3.11}, 1993 {Windows for Workgroups 3.11}, 1993
	{Windows NT 3.1}, 1994 {Windows NT 3.5}, 1995 {Windows 95},
	199? {Windows NT 4}, 1998 {Windows 98}, ? {Windows NT 5}.

	{Usenet} newsgroups:
	{news:comp.os.ms-windows.comp.os.ms-windows.advocacy},
	{news:comp.os.ms-windows.comp.os.ms-windows.announce},
	{news:comp.os.ms-windows.apps.comm},
	{news:comp.os.ms-windows.apps.compatibility.win95},
	{news:comp.os.ms-windows.apps.financial},
	{news:comp.os.ms-windows.apps.misc},
	{news:comp.os.ms-windows.apps.utilities},
	{news:comp.os.ms-windows.apps.utilities.win3x},
	{news:comp.os.ms-windows.apps.utilities.win95},
	{news:comp.os.ms-windows.apps.winsock.mail},
	{news:comp.os.ms-windows.apps.winsock.misc},
	{news:comp.os.ms-windows.apps.winsock.news},
	{news:comp.os.ms-windows.apps.word-proc},
	{news:comp.os.ms-windows.misc},
	{news:comp.os.ms-windows.networking.misc},
	{news:comp.os.ms-windows.networking.ras},
	{news:comp.os.ms-windows.networking.tcp-ip},
	{news:comp.os.ms-windows.networking.win95},
	{news:comp.os.ms-windows.networking.windows},
	{news:comp.os.ms-windows.nt.admin.misc},
	{news:comp.os.ms-windows.nt.admin.networking},
	{news:comp.os.ms-windows.nt.advocacy},
	{news:comp.os.ms-windows.nt.announce},
	{news:comp.os.ms-windows.nt.misc},
	{news:comp.os.ms-windows.nt.pre-release},
	{news:comp.os.ms-windows.nt.setup.hardware},
	{news:comp.os.ms-windows.nt.setup.misc},
	{news:comp.os.ms-windows.nt.software.backoffice},
	{news:comp.os.ms-windows.nt.software.compatibility},
	{news:comp.os.ms-windows.nt.software.services},
	{news:comp.os.ms-windows.pre-release},
	{news:comp.os.ms-windows.programmer},
	{news:comp.os.ms-windows.programmer.controls},
	{news:comp.os.ms-windows.programmer.graphics},
	{news:comp.os.ms-windows.programmer.memory},
	{news:comp.os.ms-windows.programmer.misc},
	{news:comp.os.ms-windows.programmer.multimedia},
	{news:comp.os.ms-windows.programmer.networks},
	{news:comp.os.ms-windows.programmer.nt.kernel-mode},
	{news:comp.os.ms-windows.programmer.ole},
	{news:comp.os.ms-windows.programmer.tools.mfc},
	{news:comp.os.ms-windows.programmer.tools.misc},
	{news:comp.os.ms-windows.programmer.tools.owl},
	{news:comp.os.ms-windows.programmer.tools.winsock},
	{news:comp.os.ms-windows.programmer.vxd},
	{news:comp.os.ms-windows.programmer.win32},
	{news:comp.os.ms-windows.programmer.winhelp},
	{news:comp.os.ms-windows.setup},
	{news:comp.os.ms-windows.setup.win3x},
	{news:comp.os.ms-windows.setup.win95},
	{news:comp.os.ms-windows.video},
	{news:comp.os.ms-windows.win95.misc},
	{news:comp.os.ms-windows.win95.setup},
	{news:comp.binaries.ms-windows}.

	(1998-10-15)

Microsoft Word

	<text, tool, product> A popular {word processor}, part of the
	{Microsoft Office} suite.  The original Word (versions 1.0 to
	4.?/5.0?) was originally {text-based} (non-{GUI}) and ran
	under {MS-DOS}.  Then Microsoft released {Word for Windows}
	1.0 and 2.0.  Later they produced new versions for each OS,
	both numbered 6.0.

	{(http://microsoft.com/catalog/products/word/)}.

	[Features?]

	(1997-02-11)

MicroStation

	<application> A full-featured 2-D and 3-D {CAD} program for
	{MS-DOS}, {Microsoft Windows}, {Macintosh}, and {Unix}
	{workstations} from {Bentley Systems, Inc.}  Created in 1984,
	MicroStation is a high-end package used worldwide in
	environments where many designers work on large, complex
	projects.  MicroStation Modeler is a superset of MicroStation
	that provides {solid modelling}, and MasterPiece is
	MicroStation's {rendering} and {animation} program.

	(2001-04-19)

microtape

	<hardware, storage> /mi:'kroh-tayp/ Occasionally used to mean
	a {DECtape}, as opposed to a {macrotape}.

	Apparently the term "microtape" was actually the official term
	used within DEC for these tapes until someone coined the word
	"DECtape", which, of course, sounded sexier to the
	{marketroids}.  Another version of the story holds that
	someone discovered a conflict with another company's
	"microtape" trademark.

	[{Jargon File}]

	(1995-03-16)

Microware Corporation

	Authors of {OS-9}.

	Address: Des Moines, Iowa, USA.

	(1995-02-02)

Microwave Hardware Description Language

	<language, hardware> (MHDL) A {Hardware Description Language}
	by David Barton[?] from {Intermetrics} incorporating {Haskell}
	1.2.

	Not to be confused with other {MHDLs}.

	(2000-11-14)

MIDAS

	A digital simulation language.

	[Sammet 1969, p.627].

Midas

	A {Motif}-based toolkit for interactive data analysis by
	T. Johnson, SLAC.  The basis for the {Midas-WWW} {browser}.

Midas-WWW

	<web> A {Motif}-based {browser} for {WWW} based on
	the {Midas} toolkit.

	(1998-08-09)

middle-endian

	<data, architecture> Neither {big-endian} nor {little-endian}.
	Used of perverse byte orders such as 3-4-1-2 or 2-1-4-3,
	occasionally found in the {packed decimal} formats of some
	{minicomputer} manufacturers.

	See {-endian}.

	[{Jargon File}]

	(1998-08-09)

middleware

	Software that mediates between an {application program} and a
	{network}.  It manages the interaction between disparate
	applications across the heterogeneous computing {platforms}.
	The {Object Request Broker} (ORB), software that manages
	communication between {objects}, is an example of a middleware
	program.

MIDI

	{Musical Instrument Digital Interface}

mid-level network

	(Or "regional network").  The kind of networks which make up
	the second level of the {Internet} hierarchy.  They are the
	{transit networks} which connect the {stub networks} to the
	{backbone networks}.

MIF

	{Maker Interchange Format}

MIG

	{Mach Interface Generator}

MIGRAINES

	<tool> A {graphical user interface} for evaluating and
	interacting with the {Aspirin} {neural network} simulation.

	Utilities exist for moving quickly from an {Aspirin}
	description of a network directly to an executable program for
	simulating and evaluating that network.  MIGRAINES has been
	kept separate from Aspirin so that its limitations do not
	restrict the performance of Aspirin.  However, in practice,
	they are used together.  This combination allows for simple
	specification and creation of efficient neural network systems
	that can be graphically analysed and tested.

	[Aspirin/MIGRAINES Neural Network Software User's Manual,
	Release v6.0 MP-91W00050, Copyright 1992 by Russel Leighton
	and the MITRE Corporation].

	(1995-03-07)

MII

	1. <body> A consortium of {Microsoft}, {IBM}, and {Intel}.

	[When?  What did it do?]

	2. <storage> A broadcast component video tape format licensed
	by Panasonic.

	(1998-11-15)

MIIS

	<language> /Meese/ An interpreted language with one-letter
	{keywords}.

	[Details?  Similar to {MUMPS}?]

	(1995-01-10)

MIKE

	{Micro Interpreter for Knowledge Engineering}

mil

	<networking> The {top-level domain} for entities affiliated
	with US armed forces.

	(1999-01-26)

Milarepa

	<tool> A {Perl} {BNF} {parser generator} by Jeffrey Kegler
	<jeffrey@netcom.com>.  Milarepa takes a source {grammar}
	written in a mixture of {BNF} and {Perl} and generates Perl
	source, which, when enclosed in a simple wrapper, parses the
	language described by the grammar.  Milarepa is not restricted
	to {LRn grammars}, and the parse logic follows directly from
	the BNF.  It handles {ambiguous grammars}, ambiguous tokens
	(tokens which were not positively identified by the lexer) and
	allows the programmer to change the start symbol.  The grammar
	may not be {left recursive}.  The input must be divided into
	sentences of a finite maximum length.  There is no fixed
	distinction between {terminals} and non-terminals, that is, a
	symbol can both match the input AND be on the left hand side
	of a production.  Multiple Marpa grammars are allowed in a
	single Perl program.

	Version: Prototype 1.0.

	Posted to comp.lang.perl.

	The author is seeking an FTP site to hold the software.

	(1993-03-17)

MILITRAN

	A {discrete simulation} system for military applications
	produced by the Sys Res Group at {ONR} in 1964.

	[Sammet 1969, p. 657].

	(1994-11-11)

mill

	{Arithmetic and Logic Unit}

millennium bug

	{Year 2000}

millennium meltdown

	{Year 2000}

milli-

	{prefix}

millihelen

	<unit, humour> The amount of beauty required to launch one ship.

	(2002-03-19)

milliLampson

	/mil'*-lamp"sn/ A unit of talking speed, abbreviated mL.  Most
	people run about 200 milliLampsons.  The eponymous Butler
	Lampson (a CS theorist and systems implementor highly regarded
	among hackers) goes at 1000.  A few people speak faster.  This
	unit is sometimes used to compare the (sometimes widely
	disparate) rates at which people can generate ideas and
	actually emit them in speech.  For example, noted computer
	architect C. Gordon Bell (designer of the {PDP-11}) is said,
	with some awe, to think at about 1200 mL but only talk at
	about 300; he is frequently reduced to fragments of sentences
	as his mouth tries to keep up with his speeding brain.

	[{Jargon File}]

millisecond

	<unit> (ms) One thousandth of a second, one thousand
	{microseconds}.  A long time for a modern computer.

	(1995-08-18)

MILNET

	Military Network.  Part of the {Defense Data Network} (DDN)
	and of the {Internet}.  Managed by the {Defense Information
	Systems Agency} (DISA).

	[Location?  Number of hosts?  Purpose?]

MIMD

	{Multiple Instruction/Multiple Data}

MIME

	{Multipurpose Internet Mail Extensions}

mimencode

	(Originally distributed as "mmencode").  A replacement for
	{uuencode} for use in {electronic mail} and {news}.  Part of
	{MIME}.  uuencode uses characters that don"t translate well
	across all mail gateways (particularly those which convert
	between {ASCII} and {EBCDIC}).  Also, different variants of
	uuencode encode data in different and incompatible ways, with
	no standard.  Finally, few uuencode variants work well in a
	pipe.  Mimencode implements the encodings which were defined
	for {MIME} as uuencode replacements, and should be
	considerably more robust for e-mail use.  Written by Nathaniel
	S. Borenstein of Bell Communications Research,
	Inc. ({Bellcore}) in 1991.

Mimer SQL

	<database> A {relational database management system}, free for
	non-commercial use, developed by the Swedish company {Upright
	Database Technology AB}.

	{Mimer Home (http://developer.mimer.com)}.

	(2002-06-03)

MIME type

	<file format, protocol, multimedia> The unique identifier used
	for different file types when conveyed across a {MIME}-based
	{protocol} such as {MIME} {e-mail} or {HTTP}.

	Registration of MIME types is explained in {RFC 2048}.

	{Official MIME types
	(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types)}.

	(1998-02-10)

MIMIC

	<language> An early language designed by J.H. Andrews of the
	NIH in 1967 for solving engineering problems such as
	differential equations that would otherwise have been done on
	an {analog computer}.

	["MIMIC, An Alternative Programming Language for Industrial
	Dynamics, N.D. Peterson, Socio-Econ Plan Sci. 6, Pergamon
	1972].

	(1995-01-19)

MIMOLA

	Operational hardware specification language.

	["A Retargetable Compiler for a High-Level Microprogramming
	Language", 17th Ann Workshop on Microprogramming, P. Marwedel,
	IEEE 1984, pp. 267-274].

mind mouse

	<hardware> A {pointing device} (unlike a {mouse} in design,
	but serving the same purpose) which works via sensors in
	contact with the user's skin.  The sensors are built into a
	plastic base which fits on one finger and which is similar in
	shape to a finger cast.

	The principle of operation is presumably myoelectric, not
	psionic, contrary to what the name implies.

	As of the time of writing (1996), mind mice are not accurate
	enough to be anything but novelties.

	[Availability?]

	(1997-04-07)

mind uploading

	<application> The science fiction concept of copying one's
	mind into an artificial body or computer.

	{Home
	(http://sunsite.unc.edu/jstrout/uploading/MUHomePage.html)}.

	(1995-04-10)

Minerva software

	A company producing software for the {Acorn} {Archimedes}.

	{(http://zynet.co.uk/minerva/)}.

	(1995-01-31)

Minesweeper, Chess, Solitaire Expert

	<humour> (MCSE) A humourous expansion of {MCSE} suggesting a more
	realistic summary of a person's computer expertise.

	(2013-03-16)

minicomputer

	<computer> A computer built between about 1963 and 1987,
	smaller and less powerful than a {mainframe}, typically about
	the size and shape of a wardrobe, mounted in a single tall
	rack.

	Minicomputers were characterised by short {word} lengths of 8
	to 32 {bits}, limited hardware and software facilities and
	small physical size.  Their low cost made them suitable for a
	wide variety of applications such as industrial control, where
	a small, dedicated computer which is permanently assigned to
	one application, is needed. In recent years, improvements in
	device technology have resulted in minicomputers which are
	comparable in performance to large {second generation
	computers} and greatly exceed the performance of {first
	generation} {computers}.

	The processor was typically built using low integration logic
	{integrated circuits} - {TTL} or maybe {ECL}, thus
	distinguishing it from a {microcomputer} which is built around
	a {microprocessor} - a processor on a single (or maybe a few)
	ICs.

	{DEC}'s {PDP-1} was the first minicomputer and their {PDP-11}
	was the most successful, closely followed (in both time and
	success) by the {VAX} (which {DEC} called a "{super
	minicomputer}").

	Another early minicomputer was the {LINC} developed at {MIT} in
	1963.

	Other minicomputers were the {AS/400}, the {PRIME} series, the
	{AP-3}, {Olivetti}'s {Audit 7} and the {Interdata 8/32}.

	[Others?]

	(2004-05-12)

Mini Disc

	<storage, music> A music medium designed by {Sony} as a
	portable replacement for music {Compact Discs}.  In 1994 Sony
	announced a data version which can hold 140 MB or about 100 MB
	using {error correction}.  These will be competitive with 128
	MB {magneto-optical} disks.  Mini Discs may be either a
	re-writable or mass-produced read-only type.  Sony have also
	announced a standard data format.

	The transfer rate is similar to {CD-ROM} which is slow
	compared to the current {magneto-optical} drives (which are
	similar to an old hard disk, with writing noticeably slower
	than reading).  Pre-recorded read-only Mini Discs can be mass
	manufactured on a modified CD press - this and the standard
	format mean it could take off as a software distribution
	medium.

	An article in the December 1994 PCW quotes {access times} of
	about 300 ms and data transfer rate of about 150 kb/s (i.e.
	about single spin CD rate).

	(1994-12-13)

minifloppy

	<storage> 5.25-inch {vanilla} floppy disks, as opposed to
	3.5-inch or {microfloppies} and the now-obsolescent 8-inch
	variety.

	At one time, this term was a trademark of {Shugart Associates}
	for their SA-400 minifloppy drive.  Nobody paid any attention.

	See {stiffy}.

	(1996-05-03)

minimal automaton

	<theory> An {automaton} possessing with {redundant states}.

	(1996-05-03)

minimax

	<games> An {algorithm} for choosing the next move in a two
	player game.  A player moves so as to maximise the minimum
	value of his opponent's possible following moves.  If it is my
	turn to move, I give a value to each legal move I might make.
	If the result of a move is an immediate win for me I give it
	positive infinity and, if it is an immediate win for you,
	negative infinity.  The value to me of any other move is the
	minimum of the values resulting from each of your possible
	replies.

	The above algorithm will give every move a value of positive
	or negative infinity since the value of every move will be the
	value of some final winning or losing move.  This can be
	extended if we can supply a {heuristic} {evaluation function}
	which gives values to non-final game states without
	considering all possible following complete sequences.  We can
	then limit the minimax algorithm to look only a certain number
	of moves ahead.  This number is called the "look-ahead" or
	"ply".

	See also {alpha/beta pruning}.

	[Is "maximin" used?  Is it significantly different?]

	(2000-12-07)

Mini-ML

	["A Simple Applicative Language: Mini-ML", D. Clement et al,
	Proc 1986 ACM Conf on LISP and Functional Prog, (Aug 1986)].

minimum seek time

	<storage> (Or track-to-track seek time) The time it takes to
	move the head of a {disk drive} from one {track} to the next.
	The minimum seek time gives a good measure of the speed of the
	drive in a single-user/single-process environment where
	successive read/write request are largely correlated and thus
	if correlated data is stored in nearby cylinders most seeks
	are from one cylinder to the next.

	(1997-07-15)

Mini PL/I

	A commercial {PL/I} subset for the {Olivetti} {Audit 7}
	{minicomputer}.

MINITAB II

	A system for interactive solution of small statistical
	problems.

	["MINITAB Student Handbook", T.A. Ryan et al, Duxbury Press
	1976].

	(1994-10-31)

MINIX

	<operating system> /MIN-ix/ A small {operating system} that is
	very similar to {UNIX}.  MINIX was written for educational
	purposes by Prof. {Andrew S. Tanenbaum} of {Vrije
	Universiteit, Amsterdam}.

	MINIX has been written from scratch and contains no AT&T code
	-- neither in the {kernel}, the {compiler}, the utilities, nor
	the libraries.  Although copyrighted by Prentice-Hall, all
	{sources}, {binaries} and {documentation} can be obtained via
	{Internet} for educational or research purposes.

	Current versions as of 1996-11-15:

	MINIX 2.0 - {Intel} {CPUs} from {Intel 8088} to {Pentium}

	MINIX 1.5 - {Intel}, {Macintosh} ({MacMinix}), {Amiga}, {Atari
	ST}, {Sun} {SPARC}.

	{(http://cs.vu.nl/~ast/minix.html)}.

	(1997-06-16)

Minnesota Internet Users Essential Tool

	<networking, tool> (Minuet) An integrated package for {IBM PC}
	that includes modules for {electronic mail} (using the {POP}
	{protocol}), {Gopher}, {telnet}, {Usenet} news and {FTP}.
	Minuet provides an easy-to-use, {mouse}-driven {graphical user
	interface} via the {TurboVision} libraries.  It is a {TCP/IP}
	{client} that runs over any type of TCP/IP {network} including
	{Ethernet} and {SLIP}.  It will work with either {static IP
	address}es or {dynamic IP address}es ({bootp}).

	{FAQ
	(http://micro.umn.edu/products/minuet/minuet-1.html)}.
	{(ftp://boombox.micro.umn.edu/pub/pc/minuet/beta16/minuarc.exe)}.

	(1995-04-10)

MINT

	{Mint Is Not TRAC}

MiNT

	<operating system> (MinT is not TOS - a {recursive acronym}) A
	freeware, {open source operating system} for the {Atari ST}
	range of computers.  MiNT was originally based on a {port} of
	{BSD} to {Atari ST} computers by Eric R. Smith.  MiNT gave the
	Atari access to BSD's many network applications.  A short
	(1992-94) romance between MiNT and {Atari} Corp., who decided
	to convert the system to the {MultiTOS} {kernel}, produced a
	unique TOS/Unix hybrid, which provides simultaneous access to
	both {GEM} and BSD application libraries.

	Since MiNT is MultiTOS's kernel, it has kept all the features
	described above and, if an {AES} replacement is installed, it
	can show you a new face of MultiTOS.  Unlike MultiTOS however,
	MiNT is based on a different {file system}, that is faster and
	more flexible than TOS's.  Furthermore, thanks to the network
	support, MiNT allows an Atari to be an {Internet} {server}
	that can still run GEM and TOS applications!  This has won
	MiNT many devotees ("MiNTquisitors"), making it the main
	competitor for {ASH}'s {MagiC}.

	Unlike {Linux}, MiNT can run on a {Motorola 68000} with no
	{FPU}.  It needs at least 4 MB of RAM, more to run multiuser
	or to run GEM applications at the same time.

	{(http://orient.uw.edu.pl/~conradus/docs/mint.html)}.

	(1999-07-20)

Mint Is Not TRAC

	<text, tool> (MINT) A version of {TRAC} used as the {extension
	language} in the {Freemacs} editor.

	{(ftp://sun.soe.clarkson.edu/pub/freemacs)}.

	(1994-10-31)

Minuet

	<networking> {Minnesota Internet Users Essential Tool}.

MINUIT

	A program for {function minimisation} and {error analysis}.

	(1994-10-31)

minus

	-

	Common: dash; {ITU-T}: hyphen; {ITU-T}: minus.  Rare:
	{INTERCAL}: worm; option; dak; bithorpe.

minus infinity

	The most negative value, not necessarily or even usually the
	simple negation of plus {infinity}.  In N bit twos-complement
	arithmetic, infinity is 2^(N-1) - 1 but minus infinity is
	-(2^(N-1)), not -(2^(N-1) - 1).

MIPS

	1. <unit, benchmark> Million instructions per second.

	The unit commonly used to give the rate at which a processor
	executes instructions.

	Often rendered by hackers as "Meaningless Indication of
	Processor Speed" or in other unflattering ways.  This
	expresses a nearly universal attitude about the value of most
	{benchmark} claims, said attitude being one of the great
	cultural divides between hackers and {marketroids}.

	The etymologically incorrect singular "1 MIP" is sometimes
	heard.

	See also {KIPS} and {GIPS}.

	2. {VAX MIPS}.

	3. <processor> {Microprocessor without Interlocked Pipeline
	Stages}.

	4. <company> {MIPS Technologies, Inc.}

	[{Jargon File}]

	(1996-03-01)

MIPS project

	{Microprocessor without Interlocked Pipeline Stages}

MIPS R2000

	<processor> The R2000 design came, in about 1987, from the
	{Stanford} {MIPS project}, which stood for Microprocessor
	without Interlocked Pipeline Stages.

	Like the {AMD 29000}, the R2000 has no {condition code
	register} considering it a potential {bottleneck}.  The
	{program counter} can be read like other registers.

	The CPU includes an {MMU} that can also control a {cache}, and
	the CPU can operate as {big-endian} or {little-endian}.  There
	is a {FPU}, the R2010.

	Versions include the {MIPS R3000} and {MIPS R4000}.

	(1995-02-09)

MIPS R2010

	A {FPU} for the {MIPS R2000}.

	(1995-02-09)

MIPS R3000

	A version of the {MIPS R2000} with improved {cache} control.

	(1995-02-09)

MIPS R4000

	A 64-bit version of the {MIPS R3000} with has more {pipeline}
	stages for a higher {clock rate} and performance.

	(1995-02-09)

MIPS Technologies, Inc.

	<company> A company which designs, develops, and licenses
	{reduced instruction set computer} (RISC) {microprocessors}
	and compilers.  MIPS Technologies, Inc. is a wholly-owned
	subsidiary of {Silicon Graphics, Inc.} and operates as an
	independent unit.  MIPS is the successor to the processor
	business of MIPS Computer Systems which was founded in 1984
	and merged with Silicon Graphics on 29 June 1992.

	MIPS Technologies developed the world's first RISC {VLSI}
	microprocessors (1985) (or was it the {ARM}?), the first
	commercial 64-bit microprocessor ({MIPS R4000}, 1992),
	announced MIPS R4300i - the first 64-bit RISC processor
	designed for interactive consumer applications (April 1995).
	They announced the MIPS R10000 - the next generation
	general-purpose MIPS microprocessor and the most powerful
	processor in the world (October 1994).

	MIPS' semiconductor company partners participate in the design
	and development of MIPS processors and software and then
	produce, market, and support the processors.  MIPS itself does
	not fabricate or sell products.  MIPS' semiconductor partners
	are: {Integrated Device Technology}, {LSI Logic Corporation},
	{NEC Corporation}, {NKK Corporation}, {Philips
	Semiconductors}, {Siemens AG}, and {Toshiba Corporation}.

	MIPS' products include:

	R4000 - 100 MHz; 1.35M transistors, primary i/d cache 8KB/8KB,
	SPECint92 58.3/ SPECfp92 61.4.

	R4300i - 133 MHZ, 1.35M transistors; primary i/d cache,
	16KB/8KB, SPECint92 80, SPECfp92 60.

	R4400 - 250 MHz, 2.3M transistors, primary i/d cache
	16KB/16KB, SPECint92 175.8, SPECfp92 164.4.

	R4600 - 133 MHz, 1.9M transistors, primary i/d cache
	16KB/16KB, SPECint92 85, SPECfp92 75.

	R8000/R8010 - 90 MHz, 2.6M, .83M transistors, primary i/d
	cache, 16KB/16KB, SPECint92 132, SPECfp92 396.

	R10000 - 200 MHz, 6.7M transistors, primary i/d cache
	32KB/32KB, SPECint92 >300, SPECfp92 >600.

	MIPS' processor chips were used in the {DEC 3100} series of
	{workstations}.

	{(http://mips.com/)}.

	{Usenet} newsgroup: {news:comp.sys.mips}.

	(1996-03-01)

Miracula

	An implementation of a subset of {Miranda} by Stefan Kahrs
	<smk@ed.ac.uk>, LFCS, no modules or files.  Can be
	interactively switched between {eager} and {lazy} evaluation.
	Portable source in C from the author.

Miranda

	<language> (From the Latin for "admirable", also the heroine
	of Shakespeare's "Tempest") A {lazy} {purely functional}
	programming language and {interpreter} designed by {David
	Turner} of the University of Kent in the early 1980s and
	implemented as a product of his company, {Research Software
	Limited}.  Miranda combines the main features of {KRC} and
	{SASL} with {strong typing} similar to that of {ML}.

	It features terse {syntax} using the {offside rule} for
	indentation.  The {type} of an expression is inferred from the
	{source} by the {compiler} but explicit type declarations are
	also allowed.  It has nested {pattern-matching}, {list
	comprehensions} and {modules}.  It uses {operator sections}
	rather than {lambda abstractions}.  User types are algebraic,
	and in early versions could be constrained by {laws}.

	It is implemented using {SKI combinator} {reduction}.
	Originally implemented for {Unix}, there are versions for most
	UNIX-like platforms including {Intel PC} under {Linux}.  The
	{KAOS} operating system is written entirely in Miranda.

	There are translators from Miranda to {Haskell} {mira2hs
	(/pub/misc/mira2hs)} and to {LML} {mira2lml (/pub/misc/mira2lml)}.
	Non-commercial near-equivalents of Miranda include {Miracula} and
	{Orwell}.

	{(http://miranda.org.uk/)}.

	[{"Miranda: A Non Strict Functional Language with Polymorphic
	Types" (http://miranda.org.uk/nancy.html)}, D.A. Turner, in
	Functional Programming Languages and Computer Architecture,
	LNCS 201, Springer 1985].

	[{"An Overview of Miranda"
	(http://miranda.org.uk/overview.pdf)}, D. A. Turner, SIGPLAN
	Notices, 21(12):158--166, December 1986].

	["Functional Programming with Miranda", Ian Holyer, Pitman
	Press 0-273-03453-7].

	(2007-03-22)

MIRFAC

	{Mathematics in Recognizable Form Automatically Compiled}

mirror

	1. <hardware, storage> Writing duplicate data to more than one
	device (usually two {hard disks}), in order to protect against
	loss of data in the event of device failure.  This technique
	may be implemented in either hardware (sharing a {disk
	controller} and cables) or in software.  It is a common
	feature of {RAID} systems.

	Several {operating systems} support software disk mirroring or
	{disk-duplexing}, e.g. {Novell NetWare}.

	See also {Redundant Array of Independent Disks}.

	Interestingly, when this technique is used with {magnetic
	tape} storage systems, it is usually called "twinning".

	A less expensive alternative, which only limits the amount of
	data loss, is to make regular {backups} from a single disk to
	{magnetic tape}.

	2. {mirror site}.

	(1998-06-11)

mirroring

	{mirror}

mirror site

	<networking> An {archive site} or {website} which keeps a
	copy of some or all files at another site so as to make them
	more quickly available and to reduce the load on the source
	site.

	It is generally best to use the mirror that is physically
	closest to you as this will usually give the fastest download.

	Such mirroring is usually done for specific whole directories
	or files on a specific remote server as opposed to a {cache}
	or {proxy server} which keeps copies of everything that is
	requested via it.

	For example, src.doc.ic.ac.uk is the main UK mirror for the
	{GNU} archive at gnu.org.

	(2006-10-16)

MIS

	{Management Information System}

misbug

	/mis-buhg/ [MIT] An unintended property of a program that
	turns out to be useful; something that should have been a
	{bug} but turns out to be a {feature}.  Usage: rare.  Compare
	{green lightning}.  See {miswart}.

	[{Jargon File}]

MIS Director

	{Chief Information Officer}

misfeature

	/mis-fee'chr/ or /mis'fee"chr/ A feature that eventually
	causes lossage, possibly because it is not adequate for a new
	situation that has evolved.  Since it results from a
	deliberate and properly implemented feature, a misfeature is
	not a bug.  Nor is it a simple unforeseen side effect; the
	term implies that the feature in question was carefully
	planned, but its long-term consequences were not accurately or
	adequately predicted (which is quite different from not having
	thought ahead at all).  A misfeature can be a particularly
	stubborn problem to resolve, because fixing it usually
	involves a substantial philosophical change to the structure
	of the system involved.

	Many misfeatures (especially in user-interface design) arise
	because the designers/implementors mistake their personal
	tastes for laws of nature.  Often a former feature becomes a
	misfeature because trade-offs were made whose parameters
	subsequently change (possibly only in the judgment of the
	implementors).  "Well, yeah, it is kind of a misfeature that
	file names are limited to six characters, but the original
	implementors wanted to save directory space and we"re stuck
	with it for now."

MISHAP

	<language> An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(2004-09-14)

Missed'em-five

	<operating system, abuse> (Or "SysVile" /sis-vi:l'/) A
	pejorative hackerism for AT&T {System V} {Unix}, generally
	used by {BSD} partisans in a bigoted mood.

	See {software bloat}, {Berzerkeley}.

	[{Jargon File}]

	(1998-07-01)

missile address

	{ICBM address}

missing

	{Missing definition}

miswart

	/mis-wort/ [By analogy with {misbug}] A {feature} that
	superficially appears to be a {wart} but has been determined
	to be the {Right Thing}.  For example, in some versions of the
	{Emacs} text editor, the "transpose characters" command
	exchanges the character under the cursor with the one before
	it on the screen, *except* when the cursor is at the end of a
	line, in which case the two characters before the cursor are
	exchanged.  While this behaviour is perhaps surprising, and
	certainly inconsistent, it has been found through extensive
	experimentation to be what most users want.  This feature is a
	miswart.

	[{Jargon File}]

MIT

	{Massachusetts Institute of Technology}

MIT AI Lab

	<body> ({Massachusetts Institute of Technology} {artificial
	intelligence} laboratory) Workplace of many famous AI
	researchers at MIT including {GLS} and {RMS}.

	{(http://ai.mit.edu/)}.

	Address: 545 Technology Sq., Cambridge, MA 02139, USA.

	(2003-02-28)

MITI

	{SQRIBE}

MITILAC

	<language> An early system on the {IBM 650}.

	[Listed in CACM 2(5):16, May 1959].

	(1998-09-24)

MIT Lisp Machine

	{Lisp Machine}

MITRE Corporation

	<body> A US federally funded R&D center, spun off in 1958 from
	the {MIT Lincoln Laboratory} (also an FFRDC).  MITRE is a
	non-profit corporation chartered to do R&D in the public
	interest.

	MITRE were responsible for system engineering and
	implementation oversight of {SAGE}.

	MITRE does not stand for MIT Research and Engineering, though
	it could have.

	{(http://mitre.org/)}.

	(1999-12-16)

MIT Research Laboratory for Electronics

	<body>

	See also {Jay Forrester}, {core memory}, the {Whirlwind}
	computer, {MIT Lincoln Laboratory}.

	[Summary?]

	(1999-12-16)

MITS

	{Micro Instrumentation and Telemetry Systems}

MIT Scheme

	<language> (Previously "C-Scheme") A {Scheme} implementation
	by the {MIT} Scheme Team (Chris Hanson, Jim Miller, Bill
	Rozas, and many others) with a rich set of utilities,  a
	compiler called {Liar} and an editor called {Edwin}.

	MIT Scheme includes an {interpreter}, large {run-time
	library}, {Emacs} {macros}, {native-code compiler}, emacs-like
	editor, and a {source-level debugger}.

	Latest version: 7.7.1, as of 2002-06-18.

	{MIT Scheme} conforms fully with {R4RS} and almost with the
	{IEEE Scheme} {standard}.  It runs on {Motorola 68000}:
	{HP9000}, {Sun-3}, {NeXT}; {MIPS}: {Decstation}, {Sony}, {SGI};
	{HP-PA}: 600, 700, 800; {VAX}: {Ultrix}, {BSD}, {DEC} {Alpha}:
	{OSF}; {Intel i386}: {MS-DOS}, {MS Windows}, and various other
	{Unix} systems.

	See also: {LAP}, {Schematik}, {Scode}.

	{(http://gnu.org/software/mit-scheme/)}.

	{Usenet} newsgroup: {news:comp.lang.scheme.c}.

	Mailing list: mit-scheme-announce@gnu.org (cross-posted to
	news).

	E-mail: <mit-scheme-devel@gnu.org> (maintainers).

	(2003-08-14)

MIX

	Knuth's hypothetical machine, used in The Art of Computer
	Programming v.1, Donald Knuth, A-W 1969.

MIXAL

	MIX Assembly Language.

	The {assembly language} for {Donald Knuth}'s hypothetical
	{MIX} machine.

	(1995-01-05)

MIX Communications

	(MIX) Providers of {Internet} access and presentation services
	for businesses and individuals in the Milwaukee, WI, USA
	metropolitan area.  MIX started providing Internet access
	services to the Milwaukee area in 1990.  It was the first
	business in Milwaukee to provide Internet access services to
	the public.

	MIX Communications is owned and operated by Dean Roth.

	{(http://mixcom.com/)}.

	E-mail: <info@mixcom.com>.

	Telephone: +1 (414) 351 1868 (Office), +1 (414) 351 1139
	(BBS).  Address: MIX Communications, P.O. Box 17166,
	Milwaukee, WI 53217, USA.

	(1995-01-05)

M-JPEG

	{Moving JPEG}

MJS

	<language> An early system on the {UNIVAC} I or II.

	[Listed in CACM 2(5):1959-05-16].

	(1996-12-15)

mk

	<networking> The {country code} for the Former Yugoslav
	Republic of Macedonia.

	(1999-01-27)

ML

	1. <robotics> Manipulator Language.  IBM language for handling
	robots.

	2.  Meta Language.  R. Milner <rm@lfcs.edinburgh.ac.uk> et al,
	1973.  A {strict} {higher-order} {functional language}.  It
	was the first language to include {polymorphic} typing which
	was statically-checked.  It also had {garbage collection} and
	a formal {semantics}.

	It began as the {metalanguage} for the Edinburgh {LCF} proof
	assistant.  (LCF="Logic for Computable Functions") People soon
	noticed that ML could be a useful general programming language
	and stand-alone versions were implemented.  {Standard ML}
	(SML) is a descendant of these (and related languages such as
	{Hope}).

	The "metalanguage" aspect has long since disappeared from the
	language itself (although there are some systems that still
	use it that way).  The historical name is now so inappropriate
	that asking what ML stands for is like asking what {C} or
	{Unix} stands for.  It doesn't stand for anything; it just is.

	LCF ML was implemented in {Stanford LISP}.  Cardelli (1981)
	implemented ML in {Pascal} using the {Functional Abstract
	Machine} (FAM).  It has been significantly redesigned to
	produce {Standard ML} and {Lazy ML}.

	["A Metalanguage for Interactive Proof in LCF", M.J.C. Gordon
	et al, 5th POPL, ACM 1978].

	(2006-07-21)

ml

	<networking> The {country code} for Mali.

	(1999-01-27)

ML-2000

	An extension and redesign of {Standard ML}.  Under
	development.

MLAB

	Modeling LABoratory.  An interactive mathematical modelling
	system.

	["MLAB, An On-Line Modeling Laboratory", NIH (Mar 1975)].

	(1994-10-13)

ML/I

	<language> An early {macro} language first implemented by
	Peter Brown at the {Cambridge University} in 1966.  ML/I has
	been maintained by Bob Eager since 1973.

	{ML/I Home (http://ml1.org.uk/)}.

	[P.J. Brown, CACM 10(10):618-623, Oct 1967].

	(2006-07-21)

MLISP

	1. {M-expression LISP}.

	2. Meta-LISP.  D.C. Smith & H. Enea.  LISP variant with
	ALGOL-like syntax.  Not just a surface syntax, a full
	language.

	"MLISP", D.C. Smith, TR CS-179, CS Dept, Stanford (Oct 1970).
	Version: MLISP2.

	3. A hybrid of M-expression LISP and Scheme.

	"M-LISP: Its Natural Semantics and Equational Logic",
	R. Muller, SIGPLAN Notices 26(9):234-242 (Sept 1991) (PEPM
	'91).

ML Kit

	The ML Kit is a straight translation of the Definition of
	Standard ML into a collection of Standard ML modules.  For
	example, every inference rule in the Definition is translated
	into a small piece of Standard ML code which implements it.
	The translation has been done with as little originality as
	possible - even variable conventions from the Definition are
	carried straight over to the Kit.  The Kit is intended as a
	tool box for those people in the programming language
	community who may want a self-contained parser or type checker
	for full Standard ML but do not want to understand the clever
	bits of a high-performance compiler. We have tried to write
	simple code and modular interfaces.

	Version 1

	interpreter, documentation

	Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>,
	and Lars Birkedal at Edinburgh and Copenhagen Universities.

	{(ftp://ftp.diku.dk/diku/users/birkedal/)}.  UK: ftp
	export/ml/mlkit/ from lfcs.ed.ac.uk

	(1993-03-12)

MLL

	Medium-Level Language.

	Sometimes used half-jokingly to describe {C}, alluding to its
	"structured-assembler" image.

	(1994-12-07)

ML-lex

	A version of {lex} in {SML/NJ} which outputs a {lexical
	analyser} in {SML/NJ}.

	{(ftp://research.att.com/dist/ml/75.tools.tar.Z)}.

ML-Linda

	U Edinburgh, under development.

ML Threads

	{SML/NJ} with mutual exclusion primitives similar to those in
	{Modula-2+} and {Mesa}.  Written by Greg Morrisett
	<jgmorris@cs.cmu.edu>.

	{Lightweight threads} are created using {fork}.  They are
	{pre-emptive}ly scheduled and communicate via {shared memory}
	which can be protected by a "{mutex}" ({monitor}).

	Implementations for {Motorola 68020}, {SPARC} and {MIPS} and
	{VAX}- and {MIPS}-based multiprocessors.

	["Adding Threads to Standard ML", E. Cooper et al,
	CMU-CS-90-186, CMU Dec 1990].

ML-Twig

	A variant of {TWIG} in {SML}, by Jussi Rintanen
	<jur@cs.hut.fi>, which comes with {SML/NJ}.

	(1995-02-14)

mm

	<networking> The {country code} for Myanmar (Burma).

	(1999-01-27)

Mma

	A fast {Mathematica}-like system, in {Allegro CL} by
	R. Fateman, 1991.

	{(ftp://peoplesparc.berkeley.edu/pub/mma.tar.Z)}.

mmap

	The {Unix} {system call} which establishes a mapping between a
	range of addresses in a user process's address space and a
	portion of some "memory object" (typically a file, one of the
	special "devices" /dev/mem or /dev/kmem or some
	{memory-mapped} peripheral).  This allows the process to
	access a file at random byte offsets without using the seek
	{system call} or to access physical addresses or {kernel}'s
	{virtual address} space.  It can also be used as an
	alternative to writing a {device driver} since it is usually
	simpler to code and faster to use.

	(1995-02-14)

MMCD

	<storage> {MultiMedia Compact Disc}.

	(1995-11-23)

MMDF

	{Multi-channel Memorandum Distribution Facility}

MMI

	1. Man-Machine Interface.

	2. <company> The company which developed the first
	{Programmable Array Logic} devices.  MMI was bought by {AMD}.

	[Dates?]

	(1995-12-09)

MML

	Human-Machine Language.

	A language from {ITU-T} for telecommunications applications.
	It has a complex {natural-language} syntax.

	[CCITT Recommendations Z.311-Z.318, Z-341, Nov 1984].

	(1995-01-31)

MMO

	{Massively Multiplayer Online Game}

MMOG

	{Massively Multiplayer Online Game}

MMORPG

	{Massively Multiplayer Online Game}

MMS

	{Multimedia Messaging Services}

MMU

	{Memory Management Unit}

MMX

	{Matrix Math eXtensions}

MMX technology

	{Matrix Math eXtensions}

mn

	<networking> The {country code} for Mongolia.

	(1999-01-27)

mnemonic

	<programming> A word or string which is intended to be easier
	to remember than the thing it stands for.  Most often used in
	"{instruction mnemonic}" which are so called because they are
	easier to remember than the {binary} patterns they stand for.
	Non-printing {ASCII} characters also have mnemonics like
	{NAK}, {ESC}, {DEL} intended to evoke their meaning on certain
	systems.

	(1995-05-11)

MNP

	{Microcom Networking Protocol}

mo

	<networking> The {country code} for Macau.

	(1999-01-27)

Mobile Subscriber Integrated Services Directory Number

	<communications> A number string used to uniquely identify a
	mobile telephone subscriber in {GSM}, {CDMA} and {UMTS}
	cellular networks.  The number is formatted according to the
	{E.164} numbering plan, consisting of a country code (CC),
	national destination code (NDC) and subscriber number (SN).

	See also: {IMSI}, {IMEI}, {The GSM Specifications
	(http://www.etsi.org/services_products/freestandard/home.htm)}.

	(2006-12-28)

Mobile Triton

	<processor> (Official name 82430MX) A version of {Intel}'s {Triton}
	I processor chip set intended for mobile computers.

	Mobile Triton consists of one 82437MX and two 82438MX.

	[Special features?]

	(1996-04-03)

mobo

	{motherboard}

MOBSSL-UAF

	Merritt and Miller's Own Block-Structured Simulation
	Language-Unpronounceable Acronym For.

	A l for interactive continuous {simulation}.

	["MOBSSL - An Augmented Block Structured Continuous System
	Simulation Language for Digital and Hybrid Computers",
	M.J. Merritt et al, Proc FJCC 35, AFIPS (Fall 1969)].

	(1995-01-31)

moby

	<jargon> /moh'bee/ (From {MIT}, seems to have been in use
	among model railroad fans years ago.  Derived from Melville's
	"Moby Dick", some say from "Moby Pickle") 1. Large, immense,
	complex, impressive.  "A Saturn V rocket is a truly moby
	frob."  "Some MIT undergrads pulled off a moby hack at the
	Harvard-Yale game."

	2. (Obsolete) The maximum {address space} of a computer (see
	below).  For a 680[234]0 or {VAX} or most modern 32-bit
	architectures, it is 4,294,967,296 8-bit bytes (four
	{gigabytes}).

	3. A title of address (never of third-person reference),
	usually used to show admiration, respect, and/or friendliness
	to a competent hacker.  "Greetings, moby Dave.  How's that
	address-book thing for the Mac going?"

	4. In backgammon, doubles on the dice, as in "moby sixes",
	"moby ones", etc.  Compare this with {bignum}: double sixes
	are both bignums and moby sixes, but moby ones are not bignums
	(the use of "moby" to describe double ones is sarcastic).

	5. The largest available unit of something which is available
	in discrete increments.  Thus a "moby Coke" is not just large,
	it's the largest size on sale.

	This term entered hackerdom with the Fabritek 256K memory
	added to the MIT AI PDP-6 machine, which was considered
	unimaginably huge when it was installed in the 1960s (at a
	time when a more typical memory size for a {time-sharing}
	system was 72 kilobytes).  Thus, a moby is classically 256K
	36-bit words, the size of a PDP-6 or PDP-10 moby.  Back when
	{address registers} were narrow the term was more generally
	useful, because when a computer had {virtual memory} mapping,
	it might actually have more physical memory attached to it
	than any one program could access directly.  One could then
	say "This computer has six mobies" meaning that the ratio of
	physical memory to address space is six, without having to say
	specifically how much memory there actually is.  That in turn
	implied that the computer could timeshare six "full-sized"
	programs without having to swap programs between memory and
	disk.

	Nowadays the low cost of processor logic means that address
	spaces are usually larger than the most physical memory you
	can cram onto a machine, so most systems have much *less* than
	one theoretical "native" moby of {core}.  Also, more modern
	memory-management techniques (especially paging) make the
	"moby count" less significant.  However, there is one series
	of widely-used chips for which the term could stand to be
	revived --- the Intel 8088 and 80286 with their incredibly
	{brain-damaged} segmented-memory designs.  On these, a "moby"
	would be the 1-megabyte address span of a segment/offset pair
	(by coincidence, a PDP-10 moby was exactly one megabyte of
	nine-bit bytes).

	[{Jargon File}]

	(1997-10-01)

mockingbird

	Software that intercepts communications (especially login
	transactions) between users and hosts and provides system-like
	responses to the users while saving their responses
	(especially account IDs and passwords).  A special case of
	{Trojan horse}.

	[{Jargon File}]

Mockingboard

	<hardware> A sound and speech board for the {Apple II}
	computer, on sale in 1978.

	See also {zxnrbl}.

	(1997-03-18)

Mock Lisp

	The {Lisp} used by the {Gosling Emacs} editor.

mod

	1. <filename extension, application, file format, music>
	(module) The filename extension for a sampled music file
	format that originated on the {Commodore} {Amiga}.  A .MOD
	file is composed of digitised sound samples, arranged in
	patterns to create a song. There are .MOD players for most
	{personal computers} including {Amiga}, {Archimedes}, {IBM
	PC}, and {Macintosh}.

	An {IBM PC} will require a {sound card} capable of handling
	digitised samples ({Sound Blaster}, {Sound Blaster Pro},
	{GUS}) and slower {Intel 80386}-based PCs may not be able to
	do anything else while playing a module.

	.MOD files differ from .MID ({MIDI}) files in that they
	contain sound samples.  This allows each song to use different
	sounds but it also puts more load on the {CPU} than playing a
	MIDI file, since more data must be processed for each note.  A
	slow CPU would benefit from a sound card with {wavetable
	synthesis} which handles samples instead of the CPU.

	Module files come in various formats including .MOD.  Formats
	evolved from .MOD include .S3M, .FAR and .669.  Most contain
	improvements on .MODs.

	{(http://eskimo.com/~future/mods.htm)}.

	2. <jargon> modify or modification.

	This abbreviation is very common - in fact the full terms are
	considered formal.  "Mods" is used especially with reference
	to bug fixes or minor design changes in hardware or software,
	most especially with respect to {patch} sets or a {diff}.

	3. <programming> A common name for the {modulo} operator.

	(1999-07-14)

*MOD

	("StarMOD") A {concurrent} language combining the {modules} of
	{Modula} and the communications of {Distributed Processes}.

	["*MOD - A Language for Distributed Programming", R.P. Cook,
	IEEE Trans Soft Eng SE-6(6):563-571 (Nov 1980)].

	[{Jargon File}]

	(1994-10-21)

modal

	1. (Of an interface) Having {modes}.  Modeless interfaces are
	generally considered to be superior because the user does not
	have to remember which mode he is in.

	2. See {modal logic}.

	3. In {MS Windows} programming, A window with the label
	"WS_MODAL" will stay on the screen and claim all the
	user-input.  Other windows can only be accessed if the MODAL
	window is closed.  Such a window would typically be used for
	an error {dialog box} to warn the user for something
	important, like "Critical error, shut down the system and
	restart".

	(1995-02-07)

modal logic

	<logic> An extension of {propositional calculus} with
	{operators} that express various "modes" of truth.  Examples
	of modes are: necessarily A, possibly A, probably A, it has
	always been true that A, it is permissible that A, it is
	believed that A.

	"It is necessarily true that A" means that things being as
	they are, A must be true, e.g.

		"It is necessarily true that x=x" is TRUE

	while

		"It is necessarily true that x=y" is FALSE

	even though "x=y" might be TRUE.

	Adding modal operators [F] and [P], meaning, respectively,
	henceforth and hitherto leads to a "{temporal logic}".

	Flavours of modal logics include: {Propositional Dynamic
	Logic} (PDL), {Propositional Linear Temporal Logic} (PLTL),
	{Linear Temporal Logic} (LTL), {Computational Tree Logic}
	(CTL), {Hennessy-Milner Logic}, S1-S5, T.

	C.I. Lewis, "A Survey of Symbolic Logic", 1918, initiated the
	modern analysis of modality.  He developed the logical systems
	S1-S5.  JCC McKinsey used algebraic methods ({Boolean
	algebras} with operators) to prove the decidability of Lewis'
	S2 and S4 in 1941.  Saul Kripke developed the {relational
	semantics} for modal logics (1959, 1963).  Vaughan Pratt
	introduced {dynamic logic} in 1976.  Amir Pnuelli proposed the
	use of temporal logic to formalise the behaviour of
	continually operating {concurrent} programs in 1977.

	[Robert Goldblatt, "Logics of Time and Computation", CSLI
	Lecture Notes No. 7, Centre for the Study of Language and
	Information, Stanford University, Second Edition, 1992,
	(distributed by University of Chicago Press)].

	[Robert Goldblatt, "Mathematics of Modality", CSLI Lecture
	Notes No. 43, Centre for the Study of Language and
	Information, Stanford University, 1993, (distributed by
	University of Chicago Press)].

	[G.E. Hughes and M.J. Cresswell, "An Introduction to Modal
	Logic", Methuen, 1968].

	[E.J. Lemmon (with Dana Scott), "An Introduction to Modal
	Logic", American Philosophical Quarterly Monograpph Series,
	no. 11 (ed. by Krister Segerberg), Basil Blackwell, Oxford,
	1977].

	(1995-02-15)

modam

	<spelling> Do you mean {modem}?

	(2008-05-08)

MODCAL

	A version of {HP-PASCAL} enhanced with system programming
	constructs, used internally by {HP}.

	(1995-02-07)

Mode

	<language> An {object-oriented language}.

	["The Programming Language Mode: Language Definition and User
	Guide", J. Vihavainen, C-1987-50, U Helsinki, 1987].

	[{Jargon File}]

	(1994-10-21)

mode

	1. A general state, usually used with an adjective describing
	the state.  Use of the word "mode" rather than "state" implies
	that the state is extended over time, and probably also that
	some activity characteristic of that state is being carried
	out. "No time to hack; I'm in thesis mode."

	In its jargon sense, "mode" is most often attributed to
	people, though it is sometimes applied to programs and
	inanimate objects.  In particular, see {hack mode}, {day
	mode}, {night mode}, {demo mode}, {fireworks mode}, and {yoyo
	mode}; also {chat}.

	2. More technically, a mode is a special state that certain
	user interfaces must pass into in order to perform certain
	functions.  For example, in order to insert characters into a
	document in the Unix editor "vi", one must type the "i" key,
	which invokes the "Insert" command.  The effect of this
	command is to put vi into "insert mode", in which typing the
	"i" key has a quite different effect (to wit, it inserts an
	"i" into the document).  One must then hit another special
	key, "ESC", in order to leave "insert mode".  Nowadays,
	modeful interfaces are generally considered {losing} but
	survive in quite a few widely used tools built in less
	enlightened times.

	[{Jargon File}]

	3. <hardware> {video mode}.

	(1994-12-22)

mode bit

	A {flag}, usually in hardware, that selects between two
	(usually quite different) modes of operation.  The
	connotations are different from {flag} bit in that mode bits
	are mainly written during a boot or set-up phase, are seldom
	explicitly read, and seldom change over the lifetime of an
	ordinary program.  The classic example was the
	EBCDIC-vs.-ASCII bit (#12) of the Program Status Word of the
	{IBM 360}.  Another was the bit on a PDP-12 that controlled
	whether it ran the PDP-8 or the LINC instruction set.

	[{Jargon File}]

MODEF

	Pascal-like language with polymorphism and data abstraction.
	"Definition of the Programming Language MODEF",
	J. Steensgard-Madsen et al, SIGPLAN Notices 19(2):92-110 (Feb
	1984).

MODEL

	<language> A {Pascal}-like language with extensions for
	large-scale system programming and interface with {Fortran}
	applications.  MODEL includes {generic procedures}, and a
	"static" {macro}-like approach to {data abstraction}.  It
	produces {P-code} and was used to implement the {DEMOS}
	{operating system} on the {Cray-1}.

	["A Manual for the MODEL Programming Language", J.B. Morris,
	Los Alamos 1976].

	(1996-05-29)

model

	1. <simulation> A description of observed or predicted
	behaviour of some system, simplified by ignoring certain
	details.  Models allow complex {systems}, both existent and
	merely specified, to be understood and their behaviour
	predicted.  A model may give incorrect descriptions and
	predictions for situations outside the realm of its intended
	use.  A model may be used as the basis for {simulation}.

	Note: British spelling: "modelling", US: "modeling".

	(2008-04-28)

	2. <programming> {Model View Controller}.

	(2008-04-28)

model checking

	<theory, algorithm, testing> To algorithmically check whether
	a program (the model) satisfies a specification.

	The model is usually expressed as a {directed graph}
	consisting of {nodes} (or {vertices}) and {edges}.  A set of
	{atomic propositions} is associated with each node.  The nodes
	represents states of a program, the edges represent possible
	executions which alters the state, while the atomic
	propositions represent the basic properties that hold at a
	point of execution.

	A specification language, usually some kind of {temporal
	logic}, is used to express properties.

	The problem can be expressed mathematically as: given a
	temporal logic formula p and a model M with initial state s,
	decide if M,s \models p.

	["Automatic verification of finite state concurrent systems
	using temporal logic", E.M. Clarke, E.A. Emerson, and
	A.P. Sisla, ACM Trans. on Programming Languages and Systems
	8(2), pp. 244--263, 1986].

	(1997-06-26)

modeling

	<spelling> US spelling of "{model}ling".

	(1999-12-10)

modeling language

	{modelling language}

modelling

	{model}

modelling language

	<language> Possibly a kind of {programming language} designed
	for describing {models} and their behaviour.

	See also {data modelling}, {object relational model},
	{simulation}, {UML}, {VRML}.

	(2009-05-11)

Modelsim

	<simulation> A simulation tool for programming {VLSI} {ASICs},
	{FPGAs}, {CPLDs}, and {SoCs}.

	{Manual by Arnd Riebartsch
	(http://arieba.net/simulators.htm#ModelSim)}.

	(2003-07-19)

Model View Controller

	<programming> (MVC) A way of partitioning the design of
	{interactive} {software}.  The "model" is the internal
	workings of the program (the {algorithms}), the "view" is how
	the user sees the state of the model and the "controller" is
	how the user changes the state or provides input.

	(2007-05-30)

modem

	<hardware, communications> (Modulator/demodulator) An
	electronic device for converting between serial data
	(typically {EIA-232}) from a computer and an audio signal
	suitable for transmission over a telephone line connected to
	another modem.  In one scheme the audio signal is composed of
	silence (no data) or one of two frequencies representing zero
	and one.

	Modems are distinguished primarily by the maximum data rate
	they support.  Data rates can range from 75 bits per second up
	to 56000 and beyond.  Data from the user (i.e. flowing from
	the local terminal or computer via the modem to the telephone
	line) is sometimes at a lower rate than the other direction,
	on the assumption that the user cannot type more than a few
	characters per second.

	Various data {compression} and error correction {algorithms}
	are required to support the highest speeds.  Other optional
	features are {auto-dial} (auto-call) and {auto-answer} which
	allow the computer to initiate and accept calls without human
	intervention.  Most modern modems support a number of
	different {protocols}, and two modems, when first connected,
	will automatically negotiate to find a common protocol (this
	process may be audible through the modem or computer's
	loudspeakers).  Some modem protocols allow the two modems to
	renegotiate ("retrain") if the initial choice of data rate is
	too high and gives too many transmission errors.

	A modem may either be internal (connected to the computer's
	{bus}) or external ("stand-alone", connected to one of the
	computer's {serial ports}).  The actual speed of transmission
	in characters per second depends not just the modem-to-modem
	data rate, but also on the speed with which the processor can
	transfer data to and from the modem, the kind of compression
	used and whether the data is compressed by the processor or
	the modem, the amount of noise on the telephone line (which
	causes retransmissions), the serial character format
	(typically {8N1}: one {start bit}, eight data bits, no
	{parity}, one {stop bit}).

	See also {acoustic coupler}, {adaptive answering}, {baud
	barf}, {Bulletin Board System}, {Caller ID}, {SoftModem},
	{U.S. Robotics}, {UUCP}, {whalesong}.

	{Usenet} newsgroup: {news:comp.dcom.modems}.

	(2002-05-04)

MODEM7

	A {batch file transfer protocol}.

	See also {XMODEM}.

	(1995-05-02)

moderator

	A person, or small group of people, who manages a moderated
	{mailing list} or {Usenet} {newsgroup}.  Moderators are
	responsible for determining which email submissions are passed
	on to the list or newsgroup.

Modified Frequency Modulation

	<storage> (MFM, Modified {FM}, or sometimes "Multiple
	Frequency Modulation") A modification to the original
	{frequency modulation} scheme for encoding data on {magnetic
	disks}.  MFM allows more than 1 symbol per flux transition (up
	to 3), giving greater density of data.  It is used with a data
	rate of between 250-500 kbit/s on industry standard 3.5" and
	5.25" low and high density {diskettes}, and up to 5 Mbit/s on
	{ST-506} {hard disks}.  Except for 1.44 MB floppy disks, this
	encoding is obsolete.

	Other data encoding schemes include {GCR}, {FM}, {RLL}.  See
	also: {PRML}.

	(2002-06-24)

modifier

	<programming> An operation that alters the state of an
	{object}.  Modifiers often have names that begin with "set"
	and corresponding {selector} functions whose names begin with
	"get".

	(1998-01-12)

M O drive

	{magneto-optical disk}

MODSIM

	<language> A general-purpose, modular, block-structured
	language from {CACI}, which provides support for
	{object-oriented programming} and {discrete event simulation}.
	It is intended for building large process-based discrete event
	simulation models through modular and object-oriented
	mechanisms similar to those of {Modula-2}.

	MODSIM is descended from {Modula-2} and {Simula}.  It supports
	{multiple inheritance}, {templates}, {reference types},
	{polymorphism}, and {process-oriented simulation} with
	synchronous and asynchronous activities using explicit
	simulation time.

	See also {MODSIM II}, {USAModSim}.

	(1994-11-11)

MODSIM II

	1986.  Object-oriented modular language for discrete
	simulation, with {multiple inheritance}, {strong typing},
	integrated 2D and 3D graphics.  Compiles to C.  CACI, La
	Jolla, (619) 457-9681.  list: palmer@world.std.com

Modula

	{MODUlar LAnguage}

Modula-2

	<language> A high-level programming language designed by
	{Niklaus Wirth} at {ETH} in 1978.  It is a derivative of
	{Pascal} with well-defined interfaces between {modules}, and
	facilities for parallel computation.  Modula-2 was developed
	as the system language for the {Lilith} {workstation}.

	The central concept is the {module} which may be used to
	encapsulate a set of related subprograms and data structures,
	and restrict their visibility from other portions of the
	program.  Each module has a definition part giving the
	interface, and an implementation part.

	The language provides limited single-processor {concurrency}
	({monitors}, {coroutines} and explicit transfer of control)
	and hardware access ({absolute address}es and {interrupts}).
	It uses {name equivalence}.

	{DEC FTP archive
	(ftp://gatekeeper.dec.com/.1/DEC/Modula-2/m2.tar.Z)}.

	["Programming in Modula-2", N. Wirth, Springer 1985].

	(1995-10-25)

Modula-2*

	An extension of {Modula-2} by M. Philippsen
	<philipp@ira.uka.de> of the {University of Karlsruhe}.  It
	uses a superset of {data parallelism}, allowing both
	synchronous and asynchronous programs, both {SIMD} and {MIMD}.
	Parallelism may be nested to any depth.  There are version for
	{MasPar} and a simulator for the {SPARC}.

	{(ftp://iraun1.ira.uka.de/pub/programming/modula2star)}.
	E-mail: Ernst Heinz <heinz@ira.uka.de>.

	["Modula-2*: An Extension of Modula-2 for Highly Parallel,
	Portable Programs", W. Tichy et al, TR 4/90, U Karlsruhe, Jan
	1990].

	(1994-10-21)

Modula-2+

	{Modula-2} plus {exceptions} and {threads} developed by
	P. Rovner et al of {DEC} {SRC}, Palo Alto CA in 1984.

	["Modula-2+ User's Manual", M-C van Leunen].

	["Extending Modula-2 to Build Large, Integrated Systems",
	P. Rovner, IEEE Software 3(6):46-57 (Nov 1986)].

	(1994-10-21)

Modula-3

	L. Cardelli et al, DEC and Olivetti, 1988.  A descendant of
	Modula-2+ and Cedar, designed for safety and simplicity.
	Objects, generics, threads, exceptions and garbage collection.
	Modules are explicitly safe or unsafe.  As in Mesa, any set of
	variables can be monitored.  No {multiple inheritance}, no
	operator overloading.  Uses structural equivalence.  "Modula-3
	Report", Luca Cardelli et al, TR 52, DEC SRC, and Olivetti
	Research Center, Aug 1988 (revised Oct 1989).  The changes are
	described in "System Programming with Modula-3", Greg Nelson
	ed, P-H 1991, ISBN 0-13-590464-1.  "Modula-3", Sam Harbison,
	P-H 1992.  Version: SRC Modula-3 V1.5.

	{(ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release/)}.

	See also {SRC Modula-3}.

Modula-3*

	Incorporation of {Modula-2*} ideas into {Modula-3}.

	["Modula-3*: An Efficiently Compilable Extension of Modula-3
	for Problem-Oriented Explicitly Parallel Programming",
	E. Heinz <heinze@ira.uka.de>, 1993].

Modula-3pi

	Machine-independent intermediate language for compilation of
	Modula-3*.  "Modula-3pi Language Definition", E.A. Heinz, TR,
	U Karlsruhe 1993.

Modula-P

	"Modula-P: A Language for Parallel Programming Definition and
	Implementation on a Transputer Network", R. Hoffart et al,
	IEEE Conf Comp Langs 1992.

Modula-Prolog

	Adds a Prolog layer to Modula-2.  "Modula-Prolog: A Software
	Development Tool", C. Muller IEEE Software pp.39-45 (Nov
	1986).

Modula/R

	Modula with relational database constructs added.  LIDAS Group
	(J. Koch, M. Mall, P. Putfarken, M. Reimer, J.W. Schmidt,
	C.A. Zehnder) "Modula/R Report", LIDAS Memo 091-83, ETH
	Zurich, Sep 1983.

modular arithmetic

	<mathematics> (Or "clock arithmetic") A kind of integer
	arithmetic that reduces all numbers to one of a fixed set
	[0..N-1] (this would be "modulo N arithmetic") by effectively
	repeatedly adding or subtracting N (the "modulus") until the
	result is within this range.

	The original mathematical usage considers only __equivalence__
	modulo N.  The numbers being compared can take any values,
	what matters is whether they differ by a multiple of N.
	Computing usage however, considers modulo to be an operator
	that returns the remainder after integer division of its first
	argument by its second.

	Ordinary "clock arithmetic" is like modular arithmetic except
	that the range is [1..12] whereas modulo 12 would be [0..11].

	(2003-03-28)

Modular C

	A {preprocessor}-based extension to {C} allowing {modules}.

	[Article by Stowe Boyd, Azrex Inc, SIGPLAN Notices, ca 1980].

	(1994-10-25)

MODUlar LAnguage

	<language> (Modula) {Wirth}'s 1977 predecessor of {Modula-2}.
	The original Modula was, more oriented toward {concurrent}
	programming, but otherwise quite similar.

	["Modula - A Language for Modular Multiprogramming", N. Wirth,
	Soft Prac & Exp 7(1):3-35, Jan 1977].

	(1999-07-12)

Modular Prolog

	An {interpreter} for {SB-Prolog} version 3.1 extended with
	{ML}-style {modules}.  Runs on {SPARC}.  Distributed under
	{GNU} {General Public License}.

	{(ftp://ftp.dcs.ed.ac.uk/pub/dts/mod-prolog.tar.Z)}.  E-mail:
	Brian Paxton <mprolog@dcs.ed.ac.uk>.

	["A Calculus for the Construction of Modular Prolog Programs",
	D. Sannella et al, J Logic Prog 12:147-177 (1992)].

	(1994-10-25)

Modular SB-Prolog

	{Modular Prolog}

module

	1. <programming> An independent piece of {software} which
	forms part of one or more larger {programs}.  Different
	languages have different concepts of a module but there are
	several common ideas.

	Modules are usually compiled seperately (in compiled
	languages) and provide an {abstraction} or information hiding
	mechanism so that a module's implementation can be changed
	without requiring any change to other modules.  In this
	respect they are similar to {objects} in an {object-oriented
	language}, though a module may contain many {procedures}
	and/or {functions} which would correspond to many objects.

	A module often has its own {name space} for {identifiers} so
	the same identifier may be used to mean different things in
	different modules.

	[Difference from {package}?].

	2. <hardware> An independent assembly of electronic components
	with some distinct function, e.g. a RAM module consisting of
	several RAM chips mounted on a small circuit board.

	(1997-10-27)

Modulex

	Based on Modula-2.  Mentioned by M.P. Atkinson & J.W. Schmidt
	in a tutorial in Zurich, 1989.

modulo

	/mod'yu-loh/

	1. <mathematics> {modular arithmetic}.

	2. <mathematics> {modulo operator}.

	(1999-07-12)

modulo arithmetic

	{modular arithmetic}

modulo operator

	<mathematics> (mod) The operator that returns the remainder
	after integer division of its first argument by its second.
	Written as "%" in {C} and some other languages.

	Where the second argument is a power of two, the result can be
	calculated much more quickly using {bitwise and} with the
	appropriate {bit-mask}.

	(1999-07-12)

Mohammed Al-Khawarizmi

	{Muhammad ibn Musa al-Khwarizmi}

molly-guard

	/mol'ee-gard/ [University of Illinois] A shield to prevent
	tripping of some {Big Red Switch} by clumsy or ignorant hands.
	Originally used of the plexiglass covers improvised for the
	BRS on an IBM 4341 after a programmer's toddler daughter
	(named Molly) frobbed it twice in one day.  Later generalised
	to covers over stop/reset switches on disk drives and
	networking equipment.

	[{Jargon File}]

monad

	<theory, functional programming> /mo'nad/ A technique from
	{category theory} which has been adopted as a way of dealing
	with {state} in {functional programming languages} in such a
	way that the details of the state are hidden or abstracted out
	of code that merely passes it on unchanged.

	A monad has three components: a means of augmenting an
	existing type, a means of creating a default value of this new
	type from a value of the original type, and a replacement for
	the basic application operator for the old type that works
	with the new type.

	The alternative to passing state via a monad is to add an
	extra argument and return value to many functions which have
	no interest in that state.  Monads can encapsulate state, side
	effects, exception handling, global data, etc. in a purely
	lazily functional way.

	A monad can be expressed as the triple, (M, unitM, bindM)
	where M is a function on types and (using {Haskell} notation):

		unitM :: a -> M a
		bindM :: M a -> (a -> M b) -> M b

	I.e. unitM converts an ordinary value of type a in to monadic
	form and bindM applies a function to a monadic value after
	de-monadising it.  E.g. a state transformer monad:

		type S a = State -> (a, State)
		unitS a  = \ s0 -> (a, s0)
		m `bindS` k = \ s0 -> let (a,s1) = m s0
				      in k a s1

	Here unitS adds some initial state to an ordinary value and
	bindS applies function k to a value m.  (`fun` is Haskell
	notation for using a function as an {infix} operator).  Both m
	and k take a state as input and return a new state as part of
	their output.  The construction

		m `bindS` k

	composes these two state transformers into one while also
	passing the value of m to k.

	Monads are a powerful tool in {functional programming}.  If a
	program is written using a monad to pass around a variable
	(like the state in the example above) then it is easy to
	change what is passed around simply by changing the monad.
	Only the parts of the program which deal directly with the
	quantity concerned need be altered, parts which merely pass it
	on unchanged will stay the same.

	In functional programming, unitM is often called initM or
	returnM and bindM is called thenM.  A third function, mapM is
	frequently defined in terms of then and return.  This applies
	a given function to a list of monadic values, threading some
	variable (e.g. state) through the applications:

		mapM :: (a -> M b) -> [a] -> M [b]
		mapM f []     = returnM []
		mapM f (x:xs) = f x		   `thenM` ( \ x2 ->
		                mapM f xs          `thenM` ( \ xs2 ->
		    		returnM (x2 : xs2)         ))

	(2000-03-09)

monadic

	1. <programming> {unary}, when describing an {operator} or
	{function}.  The term is part of the {dyadic}, {niladic}
	sequence.

	2. <theory> See {monad}.

	(1998-07-24)

Mongolian Hordes technique

	<programming, jargon> (Or "Chinese Army technique") Assigning
	a large number of inexperienced programmers to a job which
	would better performed by a few skilled ones.  The term was
	first used by Dr. Fred Brooks in his book "{The Mythical
	Man-Month}", Chapter 3.

	According to Dr. Brooks, he had in mind the vision of the
	Mongol Hordes sweeping across Asia and Europe when he created
	the term.

	[{Jargon File}]

	(1996-06-20)

moniter

	<spelling> It's spelled "{monitor}".

	(1996-11-28)

monitor

	1. A {cathode-ray tube} and associated electronics connected
	to a computer's video output.  A monitor may be either
	{monochrome} (black and white) or colour ({RGB}).  Colour
	monitors may show either digital colour (each of the red,
	green and blue signals may be either on or off, giving eight
	possible colours: black, white, red, green, blue, cyan,
	magenta and yellow) or analog colour (red, green and blue
	signals are continuously variable allowing any combination to
	be displayed).  Digital monitors are sometimes known as {TTL}
	because the voltages on the red, green and blue inputs are
	compatible with TTL logic chips.

	See also {gamut}, {multisync}, {visual display unit}.

	2. A programming language construct which encapsulates
	variables, access procedures and initialisation code within an
	abstract data type.  The monitor's variable may only be
	accessed via its access procedures and only one process may be
	actively accessing the monitor at any one time.  The access
	procedures are {critical sections}.  A monitor may have a
	queue of processes which are waiting to access it.

	3. A hardware device that measures electrical events such as
	pulses or voltage levels in a digital computer.

	4. To oversee a program during execution.  For example, the
	monitor function in the {Unix} {C} library enables profiling
	of a certain range of code addresses.  A histogram is produced
	showing how often the {program counter} was found to be at
	each position and how often each profiled function was called.

	{Unix} {man} page: monitor(3).

	5. A control program within the {operating system} that
	manages the allocation of system resources to active
	programs.

	6. A program that measures software performance.

monkey, scratch

	{scratch monkey}

monkey sort

	{bogo-sort}

monkey up

	To hack together hardware for a particular task, especially a
	one-shot job.  Connotes an extremely {crufty} and consciously
	temporary solution.  Compare {hack up}, {kluge up}.

Mono

	<programming> An {open source} {.NET framework} for {Unix}.

	{Mono Home (http://go-mono.com/)}.

	(2003-09-24)

monochrome

	<graphics> Literally "one colour".  Usually used for a black
	and white (or sometimes green or orange) {monitor} as distinct
	from a color monitor.  Normally, each {pixel} on the display
	will correspond to a single bit of {display memory} and will
	therefore be one of two intensities.  A {grey-scale} display
	requires several bits per {pixel} but might still be called
	monochrome.

	Compare: {bitonal}.

	(1994-11-24)

Monochrome Display Adapter

	<hardware, graphics> (MDA) One of {IBM}'s earliest hardware
	video {display standards} for use in {IBM PC}.  MDA can
	display only {monochrome} 80*25 text ({IBM PC video mode} 7).
	It is now obsolete.

	(2011-03-20)

monoid

	An operator * and a value x form a monoid if * is
	{associative} and x is its left and right {identity}.

monotonic

	In {domain theory}, a function f : D -> C is monotonic (or
	monotone) if

		for all x,y in D,  x <= y  =>  f(x) <= f(y).

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	(1994-11-24)

MONSTR

	<language> A {term graph rewriting} language from {Manchester
	University}(?), designed to be easily implementable on
	distributed architectures and featuring limited
	synchronisation facilities.

	(1995-03-20)

Montage

	An {object-relational database management system} from
	{Montage Software}, the commercialisation of {POSTGRES}.

	(1995-02-23)

Monte Carlo

	<algorithm> (After Monte Carlo, Monaco - a gambling mecca) Any
	one of various methods involving statistical techniques for
	finding the solutions to mathematical or physical problems.

	For example, to calculate {pi}: draw a square then draw the
	biggest circle that fits exactly inside it.  Pick random
	points on the square.  The proportion of these that lie within
	the circle should tend to pi/4.

	(2005-04-05)

monty

	<programming, abuse> /mon'tee/ Any program with a ludicrously
	complex user interface that performs a trivial task.  An
	example would be a menu-driven, button clicking, pulldown,
	pop-up windows program for listing directories.  The original
	monty was a weather reporting program, Monty the Amazing
	Weather Man, written at the USGS.  Monty had a widget-packed
	X-window interface with over 200 buttons; and all it actually
	*did* was {FTP} files off the network.

	[{Jargon File}]

	(2005-04-05)

MOO

	{MUD Object Oriented}

Moof

	/moof/ [MAC users] 1.  A semi-legendary creature, also called
	the "dogcow", that lurks in the depths of the {Macintosh}
	Technical Notes {Hypercard} stack V3.1; specifically, the full
	story of the dogcow is told in technical note #31 (the
	particular Moof illustrated is properly named "Clarus").
	Option-shift-click will cause it to emit a characteristic
	"Moof!" or "!fooM" sound.  *Getting* to tech note 31 is the
	hard part; to discover how to do that, one must needs examine
	the stack script with a hackerly eye.  Clue: {rot13} is
	involved.  A dogcow also appears if you choose "Page Setup..."
	with a LaserWriter selected and click on the "Options" button.

	2. Used to flag software that's a hack, something untested and
	on the edge.  On one {Apple Computer} {CD-ROM}, certain {folders} such
	as "Tools & Apps (Moof!)" and "Development Platforms (Moof!)",
	are so marked to indicate that they contain software not fully
	tested or sanctioned by the powers that be.  When you open
	these folders you cross the boundary into hackerland.

	[{Jargon File}]

Moore bound

	An upper limit on the number of nodes in a {regular graph} of
	{degree} d>2 and {diameter} k:

		N(d,k) <= d(d-1)^k - 2
			  ------------
			      d-2

Moore graph

	A {graph} which achieves the {Moore bound}.  These are
	{complete graphs}, {polygon graphs} ({regular graphs} of
	{degree} 2) and three others: (nodes, degree, diameter) =
	(10,3,2), (50,7,2) and the possible but undiscovered
	(3250,57,2).

Moore's Law

	<architecture> /morz law/ The observation, made in 1965 by
	{Intel} co-founder {Gordon Moore} while preparing a speech,
	that each new memory {integrated circuit} contained roughly
	twice as much capacity as its predecessor, and each chip was
	released within 18-24 months of the previous chip.  If this
	trend continued, he reasoned, computing power would rise
	exponentially with time.

	Moore's observation still holds in 1997 and is the basis for
	many performance forecasts.  In 24 years the number of
	{transistors} on processor chips has increased by a factor of
	almost 2400, from 2300 on the {Intel 4004} in 1971 to 5.5
	million on the {Pentium Pro} in 1995 (doubling roughly every
	two years).

	 Date      Chip     Transistors   MIPS clock/MHz
	 -----------------------------------------------
	 Nov 1971  4004       	   2300   0.06	 0.108
	 Apr 1974  8080       	   6000   0.64	 2
	 Jun 1978  8086       	  29000   0.75	10
	 Feb 1982  80286      	 134000   2.66	12
	 Oct 1985  386DX      	 275000   5   	16
	 Apr 1989  80486      	1200000  20   	25
	 Mar 1993  Pentium    	3100000 112   	66
	 Nov 1995  Pentium Pro  5500000 428    200
	 -----------------------------------------------

	Moore's Law has been (mis)interpreted to mean many things over
	the years.  In particular, {microprocessor} performance has
	increased faster than the number of transistors per chip.  The
	number of {MIPS} has, on average, doubled every 1.8 years for
	the past 25 years, or every 1.6 years for the last 10 years.
	While more recent processors have had wider {data paths},
	which would correspond to an increase in transistor count,
	their performance has also increased due to increased {clock
	rates}.

	Chip density in transistors per unit area has increased less
	quickly - a factor of only 146 between the 4004 (12 mm^2) and
	the Pentium Pro (196 mm^2) (doubling every 3.3 years).
	{Feature size} has decreased from 10 to 0.35 microns which
	would give over 800 times as many transistors per unit.
	However, the automatic layout required to cope with the
	increased complexity is less efficient than the hand layout
	used for early processors.

	{(http://intel.com/intel/museum/25anniv/html/hof/moore.htm)}.

	{Intel Microprocessor Quick Reference Guide
	(http://intel.com/pressroom/no_frame/quickref.htm)}.

	{"Birth of a Chip", Linley Gwennap, Byte, Dec 1996
	(http://byte.com/art/9612/sec6/art2.htm)}.  See also March
	1997 "inbox".

	{Chronology of Events in the History of Microcomputers
	(http://islandnet.com/~kpolsson/comphist.htm)}, Ken
	Polsson.

	See also {Parkinson's Law of Data}.

	[{Jargon File}]

	(1997-03-04)

moose call

	{whalesong}

MooZ

	<language, specification> An {object-oriented} extension of
	{Z}.

	["Object Orientation in Z", S. Stepney et al eds, Springer
	1992].

	(1997-07-09)

Mops

	Like {Yerk}, Mops is descended from the ex-commercial
	{object-oriented} language {Neon}.  It was developed by
	Michael Hore <mikeh@kralizec.zeta.org.au>.  Mops features an
	optimising {native}-code compiler; it is much faster than
	Yerk, but less compatible with Neon.  Mops includes extensions
	such as {multiple inheritance}.

	Version 2.3.1 includes a compiler, documentation and an
	editor.

	A {Macintosh} version is available.
	{(ftp://oddjob.uchicago.edu/pub/Yerk)}.

MORAL

	Mentioned in "An Overview of Ada", J.G.P. Barnes, Soft Prac &
	Exp 10:851-887 (1980).

more

	<tool> The standard {Unix} {pager} program.

	See also: {less}.

	(2008-09-08)

moria

	<games> /mor'ee-*/ Like {nethack} and {rogue}, one of the
	large {PD} {Dungeons and Dragons}-like simulation games,
	available for a wide range of machines and operating systems.
	The name is from Tolkien's Mines of Moria; compare {elder
	days}, {elvish}.  The game is extremely addictive and a major
	consumer of time better used for hacking.

	[{Jargon File}]

morphing

	<graphics> The animated transformation of one image into
	another by gradually distorting the first image so as to move
	certain chosen points to the position of corresponding points
	in the second image.

	Compare {tweening}.

	(1995-04-03)

Morse code

	<communications> A coding system invented by Samuel A. Morse,
	for use in sending character data over extremely low-quality
	pathways -- such as telegraphs and low-quality radio.  Morse
	code expresses characters as pulses of different durations.
	Short signals are called "dots" and long signals are calles
	"dashes".  The coding assigns shorter sequences to the most
	frequently used characters.

	American Morse code is the first and original Morse code
	{character set}.  {Character sets} adapted to other languages
	were developed later.

	American Morse Code:

	 A . __        J . .          S . . .       1 . __ __ .
	 B __ . . .    K __ . __      T __          2 . . __ . .
	 C . .  .      L ___          U . . __      3 . . . __ .
	 D __ . .      M __ __        V . . . __    4 . . . . __
	 E .           N __ .         W . __ __     5 __ __ __
	 F . __ .      O .  .         X . __ . .    6 . . . . . .
	 G __ __ .     P . . . . .    Y . .  . .    7 __ __ . .
	 H . . . .     Q . . __ .     Z . . .  .    8 __ . . . .
	 I . .         R .  . .       0 ____        9 __ . . __

	Where . is a short pulse, __ a long pulse, ___ a very long
	pulse and ____ a extra long pulse.  There are also long and
	short spaces character-internal.  Intercharacter spaces are
	very long and interword spaces are extra long.  There is no
	standarisation in these durations, and they vary depending on
	the coder's preference and on the quality of the line.

	Continental Morse Code or International Morse Code is a widely
	used {de-facto standard}.  This table summarises the Western
	European usage of Continental Morse Code:

	  A .-    G --.    M --    S ...   Y -.--   4 ....-
	  B -...  H ....   N -.    T -     Z --..   5 .....
	  C -.-.  I ..     O ---   U ..-   0 -----  6 -....
	  D -..   J .---   P .--.  V ...-  1 .----  7 --...
	  E .     K -.-    Q --.-  W .--   2 ..---  8 ---..
	  F ..-.  L .-..   R .-.   X -..-  3 ...--  9 ----.

	  A-umlaut (1)  .-.-      E-acute       ..-..
	  A-acute       .--.-     N-tilde       --.--
	  A-corona (11) .--.-     O-umlaut (1)  ---.
	  CH (2)        ----      U-umlaut (1)  ..--

	  Punctuation Marks:            Other Signs:

	  period              .-.-.-    warning                      .-..-
	  comma               --..--    error                        ........
	  question mark       ..--..    repetition (ii ii)           .. ..
	  hyphen              -....-    wait (AS)                    .-...
	  colon (3)           ---...    interruption (BK)            -...-.-
	  underline (4)       ..--.-    understood (VE)              ...-.
	  apostrophe          .----.    transmission received (R)    .-.
	  quotation mark      .-..-.    beginning of message (KA)    -.-.-
	  parenthesis open (5)-.--.     end of message (AR)          .-.-.
	  parenthesis (close) -.--.-    end of transmission (K) (6)  -.-
	  equal sign (7)      -...-     end of transmission (KN) (8) -.--.
	  plus sign           .-.-.     closing mark (SK) (9)        ...-.-
	  multiplication sign -..-      closing station (CL)         -.-..-.
	  fraction mark       -..-.
	  separator (10)     .-..-

	  (1) Note: 'umlaut' is also known as 'diaeresis'
	  (2) Used only in German; not in Dutch.
	  (3) also: 'divided by'
	  (4) before and after the word to be underlined
	  (5) purportedly replaced by -.--.- for both "(" and ")"
	  (6) both and invitation to any station to start transmission
	  (7) also used as spacing between parts of transmission
	  (8) also an invitation to one station in particular to start
	      transmission
	  (9) connection will be closed.
	  (10) in fractions, for example.
	  (11) A-ring ?

	Where '.' is a short pulse, '-' a long one.  A '-' is three
	times as long as a '.'; character-internal spaces are as long
	as '.'s.  Intercharacter space are as long as -'s.  Spaces
	between words are as long as seven '.'s.

	(1996-11-23)

MORTRAN

	A {public domain} {Fortran} {preprocessor} for {structured
	programming}.

	(1995-09-20)

MOS

	{Metal Oxide Semiconductor}

Mosaic

	<web, tool> {NCSA}'s {browser} ({client}) for the
	{web}.

	Mosaic has been described as "the killer application of the
	1990s" because it was the first program to provide a slick
	{multimedia} {graphical user interface} to the {Internet}'s
	burgeoning wealth of distributed information services
	(formerly mostly limited to {FTP} and {Gopher}) at a time when
	access to the {Internet} was expanding rapidly outside its
	previous domain of academia and large industrial research
	institutions.

	NCSA Mosaic was originally designed and programmed for the {X
	Window System} by Marc Andreessen and Eric Bina at NCSA.
	Version 1.0 was released in April 1993, followed by two
	maintenance releases during summer 1993.  Version 2.0 was
	released in December 1993, along with version 1.0 releases for
	both the {Apple Macintosh} and {Microsoft Windows}.  An
	{Acorn Archimedes} port is underway (May 1994).

	Marc Andreessen, who created the NCSA Mosaic research
	prototype as an undergraduate student at the {University of
	Illinois} left to start {Mosaic Communications Corporation}
	along with five other former students and staff of the
	university who were instrumental in NCSA Mosaic's design and
	development.

	{(http://ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/help-about.html)}.

	{(ftp://ftp.ncsa.uiuc.edu/)}.

	E-mail: <mosaic-x@ncsa.uiuc.edu> (X version),
	<mosaic-mac@ncsa.uiuc.edu> (Macintosh), <mosaic-win@ncsa.uiuc.edu>
	(Windows version), <mosaic@ncsa.uiuc.edu> (general help).

	(1995-04-06)

Mosaic Communications Corporation

	{Netscape Communications Corporation}

Moscow ML

	A light-weight implementation of {Standard ML} written by
	Sergei Romanenko <sergei-romanenko@refal.msk.su> of the
	{Keldysh Institute of Applied Mathematics} with assistance
	from Peter Sestoft <sestoft@dina.kvl.dk>, {Royal Veterinary
	and Agricultural University}.  Moscow ML is based on {CAML
	Light}.

	Version: 1.20 implements the Standard ML Core language.

	The sublanguage of Modules implemented by Moscow ML contains
	signatures and non-nested structures, and identifies
	structures with source files.  It is certainly less expressive
	than the full Standard ML Modules language, but the
	{type-safe} {separate compilation} facility is simple, useful,
	and easy to use.  It is the intention to implement the full
	Standard ML Modules language (including functors) in due
	course.

	Compilation of a {signature} produces a compiled interface
	file, which is used when compiling other signatures and
	structures.

	Compilation of a structure produces a {bytecode} file.
	Bytecode files are compact and load fast.  For instance, a
	3250-line program consisting of 24 structures and 17
	signatures compiles to 221 KB of bytecode and 241 KB of
	compiled signatures.  Starting the ML system and loading the
	24 bytecode files takes 1-2 cpu seconds plus network delays,
	less that 5 seconds real time in all.

	Release 1.20 permits loading of precompiled bytecode files
	into the top-level interactive session.  The next release will
	be able to create stand-alone executables by linking bytecode
	files.

	There is a mechanism for adding basis libraries, as in {Caml
	Light}.  Release 1.20 includes the basis libraries Array,
	List, and Vector and the {MS-DOS} version includes the
	Graphics library from {Caml Light}.

	In principle, Moscow ML can be compiled on any {platform}
	supported by {Caml Light}.  So far we have tried {Intel
	80386}-based {IBM PCs} running {MS-DOS}, {Microsoft Windows},
	{OS/2} or {Linux}, {DEC MIPS} running {Ultrix}, {DEC Alpha}
	running {OSF/1}, {Sun-4} running {SunOS}, {HP9000} running
	{HP/UX}, {SGI MIPS} running {IRIX} 5.

	Moscow ML is particularly useful when fast compilation and
	modest storage consumption are more important than fast
	program execution.

	Thanks to the efficient Caml Light run-time system used in
	Moscow ML, it compiles fast and uses little memory, typically
	5-10 times less memory than {SML/NJ} 0.93 and 2-3 times less
	than {Edinburgh ML}.  Yet the bytecode is only 3 to 10 times
	slower than SML/NJ 0.93 compiled native code (fast on {IBM
	PCs}, slower on {RISCs}).

	{DOS
	(ftp://dina.kvl.dk/pub/Peter.Sestoft/mosml/mos12bin.zip)}.
	{Linux
	(ftp://dina.kvl.dk:pub/Peter.Sestoft/mosml/linux-mos12bin.tar.gz)}.
	{Source
	(ftp://dina.kvl.dk:pub/Peter.Sestoft/mosml/mos12src.tar.gz)}.

	{Caml Light} 0.61 and {gcc} are required to recompile Moscow
	ML for {Unix} or Caml Light 0.61, {djgpp}, {Perl}, and
	{Borland C++} version 2.0 (or later) to recompile Moscow ML
	for {DOS}.

	(1994-12-12)

MOSFET

	{Metal Oxide Semiconductor Field-Effect Transistor}

Mosiac

	Do you mean {Mosaic}?

MOS Technologies

	{MOS Technology}

MOS Technology

	<company> A {microprocessor} design company started by some
	ex-{Motorola} designers, shortly after the {Intel 8080} and
	{Motorola 6800} appeared, in about 1975.  MOS Technology
	introduced the {650x} series, based on the {Motorola 6800}
	design, though they were not exact clones for legal reasons.

	The design goal was a low-cost (smaler chip) design, realized
	by simplifying the decoder stage.  There were no instructions
	with the value xxxxxx11, reducing the 1-of-4 decoder to a
	single {NAND} gate.  Instructions with the value xxxxxx11
	actually executed two instructions in paralell, some of them
	useful.

	The 6501 was pin-compatible with the 6800 for easier market
	penetration.  The 650x-series had an on-chip clock oscillator
	while the 651x-series had none.

	The 6510 was used in the {Commodore 64}, released September
	1981 and MOS made almost all the ICs for Commodore's {pocket
	calculators}.

	The {PET} was an idea of the of the 6500 developers.  It was
	completly developed by MOS, but was manufactured and marketed
	by Commodore.  By the time the it was ready for production
	(and Commodore had cancelled all orders) MOS had been taken
	over by {Rockwell} (Commodore's parent company).  Just at this
	time the 6522 (VIA) was finished, but the data sheet for it
	was not and its developers had left MOS.  For years, Rockwell
	didn't know in detail how the VIA worked.

	(2001-03-31)

most general unifier

	<logic> If U is the most general {unifier} of a set of
	expressions then any other unifier, V, can be expressed as V =
	UW, where W is another substitution.

	See also {unification}.

	(2000-03-07)

Most Significant Bit

	(MSB) {Bit} n-1 in an n bit {binary} number, the bit with the
	greatest weight (2^(n-1)).  The first or leftmost bit when the
	number is written in the usual way.

	(1995-07-13)

motd

	{message of the day}

mother

	{parent}

motherboard

	<hardware> (mobo) The main {printed circuit board} in an
	electronic device, particularly a computer, which may contain
	sockets that accept additional boards ("daughter-boards").

	In a {personal computer}, the motherboard contains the {bus},
	the {microprocessor}, and {integrated circuits} used for
	controlling any built-in {peripherals} such as the {keyboard},
	text and graphics display, {serial ports} and {parallel
	ports}, {joystick}, and {mouse} {interfaces}.

	(2000-08-10)

Motif

	The standard {graphical user interface} and {window manager}
	from {OSF}, running on the {X Window System}.

Motion JPEG

	{Moving JPEG}

Motion Picture Experts Group

	<spelling> Incorrect expansion of MPEG, which stands for
	{Moving Picture Experts Group}.

	(2000-05-31)

Motorola

	{Motorola, Inc.}

Motorola 14500B

	<processor> (MC14500B) A 1-bit {ICU} from {Motorola}.
	Probably the limit in small processors, the 14500B had a 4-bit
	instruction and controlled a single data read/write line, used
	for application control.  It had no address bus - that was an
	external unit that was added on.  Another {CPU} could be used
	to feed control instructions to the 14500B in an application.
	It had only 16 pins, less than a typical {RAM} chip, and ran
	at 1 {MHz}.

	(1994-11-30)

Motorola 6800

	<processor> A {microprocessor} released shortly after the
	{Intel 8080}, in about 1975.  It had 78 instructions,
	including the undocumented HCF ({Halt and Catch Fire}) bus
	test instruction.  The 6800 evolved into the {Motorola 6801}
	and 6803.

	The {6502} was based on the design of the 6800 but had one
	less data register and one more {index register}.

	(1994-10-31)

Motorola 68000

	<processor> (MC68000) The first member of {Motorola, Inc.}'s
	family of 16- and 32-bit {microprocessors}.  The successor to
	the {Motorola 6809} and followed by the {Motorola 68010}.

	The 68000 has 32-bit registers but only a 16-bit {ALU} and
	external {data bus}.  It has 24-bit addressing and a {linear
	address space}, with none of the evil {segment registers} of
	{Intel}'s contemporary processors that make programming them
	unpleasant.  That means that a single directly accessed
	{array} or structure can be larger than 64KB in size.
	Addresses are computed as 32 bit, but the top 8 bits are cut
	to fit the address bus into a 64-pin package (address and data
	share a bus in the 40 pin packages of the {8086} and {Zilog
	Z8000}).

	The 68000 has sixteen 32-bit {registers}, split into data and
	address registers.  One address register is reserved for the
	{Stack Pointer}.  Any register, of either type, can be used
	for any function except direct addressing.  Only address
	registers can be used as the source of an address, but data
	registers can provide the offset from an address.

	Like the {Zilog Z8000}, the 68000 features a supervisor and
	user mode, each with its own {Stack Pointer}.  The {Zilog
	Z8000} and 68000 are similar in capabilities, but the 68000 is
	32 bits internally, making it faster and eliminating forced
	segmentations.

	Like many other CPUs of its generation, it can fetch the next
	instruction during execution (2 stage {pipeline}).

	The 68000 was used in many {workstations}, notably early
	{Sun-2} machines, and {personal computers}, notably {Apple
	Computer}'s first {Macintoshes} and the {Amiga}.  It was also
	used in most of {Sega}'s early arcade machines, and in the
	{Genesis}/{Megadrive} consoles.

	Variants of the 68000 include the {68HC000} (a low-power HCMOS
	implementation) and the {68008} (an eight-bit data bus version
	used in the {Sinclair QL}).

	["The 68000: Principles and Programming", Leo Scanlon, 1981].

	(2003-07-11)

Motorola 6801

	<processor> (And 6803) A version of the {Motorola 6800} with
	{ROM}, some {RAM}, a serial I/O port and other functions on
	the chip.  It was meant for embedded controllers, where the
	part count was to be minimised.  The 6803 led to the 68HC11
	and that was extended to 16 bits as the 68HC16.

	(1994-11-07)

Motorola 68010

	<processor> A {microprocessor} from {Motorola}.  It was the
	successor to the {Motorola 68000} and was followed by the
	{Motorola 68020}.  Some instructions which were previously
	{user mode} were made {system mode}, which necessitated
	patches to a few programs.

	The 68010's main advantage over the 68000 was that it could
	recover from a {bus fault}.  The 68000 {microcode} didn't save
	enough state to restart all instructions; the 68010 corrected
	this fault.  This allowed it to use {paged virtual memory}.

	The 68010's DBxx (decrement and branch) instructions could
	hold and execute the preceding instruction in the {prefetch
	buffer}, allowing some two-instruction loops to execute
	without refetching instructions.

	At one time there was a 68010 variant that was pin-for-pin
	compatible with the 68000.  Early {Amiga} hackers replaced
	their 68000s with 68010s in order to get a small performance
	increase.

	(1995-11-29)

Motorola 68020

	<processor> A {microprocessor} from {Motorola}.  It was the
	successor to the {Motorola 68010} and was followed by the
	{Motorola 68030}.  The 68020 has 32-bit internal and external
	data and address buses and a 256-byte {instruction buffer},
	arranged as 64 {direct-mapped} 4-byte entries[?].

	The 68020 added many improvements to the 68010 including a
	32-bit {ALU} and external {data bus} and {address bus}, and
	new instrucitons and {addressing modes}.  The 68020 (and
	68030) had a proper three-stage {pipeline}.

	The new instructions included some minor improvements and
	extensions to the supervisor state, some support for
	{high-level languages} which didn't get used much (and was
	removed from future 680x0 processors[?]), bigger (32 x 32-bit)
	multiply and divide instructions, and bit field manipulations.

	The new adderessing modes added another level of indirection
	to many of the pre-existing modes, and added quite a bit of
	flexibility to various indexing modes and operations.

	The {instruction buffer} (an {instruction cache}) was 256
	bytes, arranged as 64 direct-mapped 4-byte entries.  Although
	small, it made a significant difference in the performance of
	many applications.

	The 68881 and the faster 68882 {FPU} chips could be used with
	the 68020.

	The 68020 was used in many models of the {Apple Macintosh} II
	series of {personal computers} and {Sun} 3 {workstations}.

	(2001-03-07)

Motorola 68030

	<processor> A 32-bit {microprocessor} in {Motorola}'s
	{Motorola 68000} family, with on-chip split instruction and
	data {cache} of 256 {bytes} each.  The 68030 has an on-chip
	{MMU} (except in the 680EC30 version).

	The 68881 and the faster 68882 {FPU} chips could be used with
	the 68030.

	The 68030 was the successor to the {Motorola 68020}, and was
	followed by the {Motorola 68040}.

	The 68030 is used in many models of the {Apple Macintosh} II
	series of {personal computers}.

	(2001-01-08)

Motorola 68040

	<processor> (MC68040) A {microprocessor} from {Motorola}.  It
	was the successor to the {Motorola 68030} and was followed by
	the {Motorola 68060}.

	The 68040 was the first {680x0} family member with an on-chip
	{FPU}.  It also had split instruction and data {caches} of 4
	kilobytes(?) each.  It was fully {pipelined}, with six stages.

	The 68040 was used in the {Apple Macintosh} Quadra series of
	{personal computers}.

	The MC68LC040 is an MC68040 without a built-in {FPU}, and the
	MC68EC040 is an MC68040 without an {MMU} or {FPU}.

	(2003-10-25)

Motorola 68050

	There was no 68050.  The successor to the {Motorola 68040} was
	the {Motorola 68060}.

	The even numbers (68000, 68020, 68060) were reserved for major
	revisions to the 680x0 core.  The odd numbers (68010, 68030,
	68050) were minor upgrades from the previous chip.  For
	example, the {Motorola 68010} was a {Motorola 68000} with some
	minor enhancements and modifications to some user/superuser
	instruction assignments.  The {Motorola 68030} was a {Motorola
	68020} with an {MMU} and more minor enhancements.  The 68050
	would have been a 68040 with some bugs fixed, which didn't
	really warrant a new name so it was sold as a 68040.

	(1995-11-29)

Motorola 68060

	<processor> A 32-bit {microprocessor} from {Motorola}, the
	successor to the {Motorola 68040}.  The 68060 is the highest
	performance {680x0} family processor currently (April 1995)
	available.  It has 2 to 3 times the performance of the
	68040.

	The 68060 is probably the last development from Motorola in
	the high performacnce 680x0 series.  They don't want to
	compete with their own {PowerPC} chips.  The 680x0 series is
	intended more for embedded systems, where it is already very
	popular.  New developments here seem to integrate more
	peripheral functions on chip rather than increasing processing
	power.

	(1995-04-22)

Motorola 6809

	<processor> (MC6809) An eight-bit {microprocessor} from {Motorola,
	Inc.}.

	The 6809 was a major advance over both its predecessor, the
	{Motorola 6800} and the {6502}.  The 6809 had two 8-bit
	{accumulators}, rather than one in the 6502, and could combine
	them into a single 16-bit register.  It also featured two {index
	registers} and two {stack pointers}, which allowed for some very
	advanced {addressing modes}.  The 6809 was {source compatible}
	with the 6800, even though the 6800 had 78 instructions and the
	6809 only had around 59 (including a {SEX} instruction).  Some
	instructions were replaced by more general ones which the
	{assembler} would translate and some were replaced by {addressing
	modes}.

	The 6809 had one of the first multiplication instructions of the
	time, 16-bit arithmetic and a special fast {interrupt}.  But it
	was also highly optimised, gaining up to five times the speed of
	the 6800 series CPU.  Like the 6800, it included the undocumented
	HCF ({Halt and Catch Fire}) bus test instruction.

	The {Hitachi 6309} was a version with extra {registers}.  The
	6809 was used in the UK "{Dragon 32}" {personal computer} and
	was followed by the {Motorola 68000}.

	{Usenet} newsgroup: {news:comp.sys.m6809}.

	Lennart Benschop <lennart@blade.stack.urc.tue.nl> posted a
	{emulator} (originally called "usim") and a {cross-assembler} to
	{Usenet} newsgroup {alt.sources} on 1993-11-03.  Ray P. Bellis
	<rpb@psy.ox.ac.uk> released a version 0.11.

	{Benschop emulator (http://lennartb.home.xs4all.nl/m6809.html)}.

	(2014-06-24)

Motorola 680x0

	<processor> Shorthand for any member for the {Motorola 68000}
	family of {microprocessors} from {Motorola, Inc.}  The "x"
	stands for 0, 1, 2, 3, 4 or 6.

	(1993-05-01)

Motorola 68HC11

	<processor> A {microcontroller} family from {Motorola}
	descended from the {Motorola 6800} {microprocessor}.

	The 68HC11 devices are more powerful and more expensive than
	the 68HC05 family.

	{FAQ
	(ftp://src.doc.ic.ac.uk/usenet/usenet-by-group/comp.answers/microcontroller-faq/68hc11)}.

	There is an {opcode} simulator for the 68HC11, by Ted Dunning
	<ted@nmsu.edu>.  Interrupts, hardware I/O, and half carries
	are still outside the loop.  Adding interrupts may require
	simulating at the clock phase level.  Version 1.

	{(ftp://crl.nmsu.edu/pub/non-lexical/6811/sim6811.shar)}.

	(1995-04-28)

Motorola 68LC040

	<processor> A version of the {Motorola 68040} with no {MMU} or
	{FPU}, making it more like an enhanced {Motorola 68020}.

	A {Power Macintosh} can emulate a Motorola 68LC040.

	(1999-01-11)

Motorola 88000

	A family of {RISC} {microprocessors} from {Motorola}.

	[Details?]

	(1995-03-01)

Motorola, Inc.

	<company> One of the world's leading providers of wireless
	communications, semiconductors and advanced electronic systems
	and services.  Major equipment businesses include cellular
	telephone, two-way radio, paging and data communications,
	personal communications, automotive, defense and space
	electronics, computers, satellite communications systems,
	police and emergency service radio systems, taxicab
	dispatching (radio) systems.  Communication devices, computers
	and millions of consumer products are powered by Motorola
	semiconductors.

	They are probably best known in the computing world for their
	{microprocessors}, including the {Motorola 6800} and {Motorola
	68000} {CISC} families and {Motorola 88000} {RISCs}, the
	{Motorola DSP56000} {digital signal processors} and the
	{PowerPC} on which they collaborated.  They also led the
	development of {VMEbus}.

	Quarterly sales $5400M, profits $367M (Aug 1994).

	See also {Envoy}, {Monsoon}, {MPL}.

	{(http://mot.com/)}.

	Address: Schaumberg, Illinois, USA.

	(1994-12-01)

mount

	<file system> To make a {file system} available for access.

	{Unix} does this by associating the file system with a
	{directory} (the "mount point") within a currently mounted
	file system.  The "root" file system is mounted on the {root
	directory}, "/" early in the {boot} sequence.  "mount" is also
	the {Unix} command to do this, "unmount" breaks the
	association.

	E.g., "mount attaches a named file system to the file system
	hierarchy at the pathname location directory [...]" -- {Unix
	manual page} mount(8).

	File systems are usually mounted either at {boot time} under
	control of {/etc/rc} (or one of its subfiles) or on demand by
	an {automounter} {daemon}.

	Other {operating systems} such as {VMS} and {DOS} mount file
	systems as separate directory hierarchies without any common
	ancestor or root directory.

	Apparently derived from the physical sense of "mount" meaning
	"attach", as in "head-mounted display", or "set up", as in
	"always mount a {scratch monkey}, etc."

	{Unix manual page}: mount(8).

	(1997-04-14)

Mouse

	A mighty small {macro} language developed by Peter Grogono in
	1975.

	["Mouse, A Language for Microcomputers", P. Grogono
	<grogono@concour.cs.concordia.ca> Petrocelli Books, 1983].

	(1994-10-31)

mouse

	<hardware, graphics> The most commonly used computer {pointing
	device}, first introduced by {Douglas Engelbart} in 1968.
	The mouse is a device used to manipulate an on-screen
	{pointer} that's normally shaped like an arrow.  With the
	mouse in hand, the computer user can select, move, and change
	items on the screen.

	A conventional {roller-ball mouse} is slid across the surface
	of the desk, often on a {mouse mat}.  As the mouse moves, a
	ball set in a depression on the underside of the mouse rolls
	accordingly.  The ball is also in contact with two small
	shafts set at right angles to each other inside the mouse.
	The rotating ball turns the shafts, and sensors inside the
	mouse measure the shafts' rotation.  The distance and
	direction information from the sensors is then transmitted to
	the computer, usually through a connecting wire - the mouse's
	"tail".  The computer then moves the mouse pointer on the
	screen to follow the movements of the mouse.  This may be done
	directly by the {graphics adaptor}, but where it involves the
	processor the task should be assigned a high {priority} to
	avoid any perceptible delay.

	Some mice are contoured to fit the shape of a person's right
	hand, and some come in left-handed versions.  Other mice are
	symmetrical.

	Included on the mouse are usually two or three buttons that
	the user may press, or click, to initiate various actions such
	as running {programs} or opening {files}.  The left-most
	button (the {primary mouse button}) is operated with the index
	finger to select and activate objects represented on the
	screen.  Different {operating systems} and {graphical user
	interfaces} have different conventions for using the other
	button(s).  Typical operations include calling up a
	{context-sensitive menu}, modifying the selection, or pasting
	text.  With fewer mouse buttons these require combinations of
	mouse and keyboard actions.  Between its left and right
	buttons, a mouse may also have a wheel that can be used for
	scrolling or other special operations defined by the software.
	Some systems allow the mouse button assignments to be swapped
	round for left-handed users.

	Just moving the pointer across the screen with the mouse
	typically does nothing (though some CAD systems respond to
	patterns of mouse movement with no buttons pressed).
	Normally, the pointer is positioned over something on the
	screen (an {icon} or a {menu} item), and the user then clicks
	a mouse button to actually affect the screen display.

	The five most common "gestures" performed with the mouse are:
	{point} (to place the pointer over an on-screen item), {click}
	(to press and release a mouse button), {double-click} {to
	press and release a mouse button twice in rapid succession},
	{right-click} (to press and release the right mouse button},
	and {drag} (to hold down the mouse button while moving the
	mouse).

	Most modern computers include a mouse as standard equipment.
	However, some systems, especially portable {laptop} and
	{notebook} models, may have a {trackball}, {touchpad} or
	{Trackpoint} on or next to the {keyboard}.  These input
	devices work like the mouse, but take less space and don't
	need a desk.

	Many other alternatives to the conventional roller-ball mouse
	exist.  A {tailless mouse}, or {hamster}, transmits its
	information with {infrared} impulses.  A {foot-controlled
	mouse (http://footmouse.com/)} is one used on the floor
	underneath the desk.  An {optical mouse} uses a
	{light-emitting diode} and {photocells} instead of a rolling
	ball to track its position.  Some optical designs may require
	a special mouse mat marked with a grid, others, like the
	Microsoft IntelliMouse Explorer, work on nearly any surface.

	{Yahoo!
	(http://dir.yahoo.com/Business_and_Economy/Companies/Computers/Hardware/Peripherals/Input_Devices/Mice/)}.

	{(http://peripherals.about.com/library/weekly/aa041498.htm)}.

	{PC Guide's "Troubleshooting Mice"
	(http://pcguide.com/ts/x/comp/mice.htm)}.

	(1999-07-21)

mouse ahead

	The {point-and-click} analog of "{type ahead}".  To manipulate
	a computer's pointing device (almost always a mouse in this
	usage, but not necessarily) and its selection or command
	buttons before a computer program is ready to accept such
	input, in anticipation of the program accepting the input.
	Handling this properly is rare, but it can help make a {WIMP
	environment} much more usable, assuming the users are familiar
	with the behaviour of the user interface.

	[{Jargon File}]

	(1994-12-05)

mouse around

	To explore public portions of a large system, especially a
	network such as Internet via {FTP} or {TELNET}, looking for
	interesting stuff to {snarf}.

	[{Jargon File}]

	(1994-12-05)

mouse arrest

	<jargon> Getting busted for violating an on-line service's rule
	of conduct.  "Sorry I couldn't get back to you.  {AOL} put me
	under mouse arrest."

	(1997-03-30)

mouse belt

	{rat belt}

mouse droppings

	1. <graphics, operating system, jargon> {Pixels} (usually
	single) that are not properly restored when the {mouse
	pointer} moves away from a particular location on the screen,
	producing the appearance that the mouse pointer has left
	droppings behind.  The major causes for this problem are
	{MS-DOS} programs that write to the screen memory
	corresponding to the mouse pointer's current location without
	hiding the mouse pointer first, and mouse drivers that do not
	quite support the {graphics mode} in use.

	2. <web, jargon> The client address recorded in a
	{web} server's log whenever a client connects to a
	site.

	Users may be unaware that their activity is being logged in
	this way but the potential for misuse of the information is
	limited.

	[March 1996 Macworld, p260, Viewpoint article by Larry Irving].

	(1994-12-05)

mouse elbow

	<jargon, medical> A tennis-elbow-like fatigue syndrome
	resulting from excessive use of a {WIMP}.  Similarly, "mouse
	shoulder".  {GLS} reports that he used to get this a lot
	before he taught himself to be ambimoustrous.

	[{Jargon File}]

	(1994-12-05)

mouse mat

	<hardware> (U.S.: "mouse pad") A small sheet with a special
	surface for a rolling ball {mouse} to move on.  Most mouse
	mats are sheets of rubber or foam about 20cm by 25cm and about
	5mm thick with one side covered with cloth or sometimes hard
	plastic.  Deluxe versions come combined with a {wrist rest}.

	It is rare to find a mouse mat which does not carry some form
	of advertisement for some company or other.  They are such a
	common free gift that few people actually have to buy one.

	Mats are supposed to provide better traction and a clean,
	lint-free surface over which to move but it debatable whether
	they are useful at all, or whether any appropriate surface
	(preferably hard, even, flat, and clean) is as good.
	Howevever, some mice which use optical (e.g. {Sun}) or
	radio-frequency sensors (e.g. ?) to detect motion (instead of
	using a rolling ball) will only work on specially designed
	mouse mats.  Critics may consider this to be part of the
	{connector conspiracy}, though the designers would claim
	greater reliability due to the absence of moving parts.

	(1997-04-14)

mouse pad

	{mouse mat}

mouse trails

	<operating system> A feature (usually of {Graphical User
	Interfaces}) which causes the {mouse} {pointer} to leave a
	trail across the screen.  This is done by keeping track of the
	last eight or so (maybe configurable) pointer positions, and
	only erasing the oldest.  This means that at any time, there
	may be up to eight pointers on the screen, but if the mouse is
	still, they will all be in the same position, and so only one
	will be visible.  When the mouse moves, it appears to leave a
	trail of pointers behind it, and this can dramatically
	increase the visibility of the pointer when using {LCD}
	screens.  The older ones had such long {persistence} that a
	single mouse pointer, when moving, tended to be completely
	invisible, and on a cluttered screen, was very difficult to
	find.

	(1996-07-08)

mouso

	<jargon> /mow'soh/ (By analogy with "{typo}") An error in
	{mouse} usage resulting in an inappropriate selection or
	graphic garbage on the screen.

	Compare {thinko}.

	[{Jargon File}]

	(1996-04-21)

Moving JPEG

	<graphics, compression> (M-JPEG) A compression technique for
	moving {images} which applies {JPEG} still image compression
	to each {frame} of a moving picture sequence.

	Play-back requires a machine capable of decompressing and
	displaying each JPEG image quickly enough to sustain the
	required {frame rate} of the picture sequence.

	There is no standard for Moving JPEG as with JPEG, but there
	are JPEG compression chips (for example see {Zoran
	(http://zoran.com/)}) which are designed to work at
	television frame rates and {resolutions}.

	See also {MPEG} and {MPEG2}.

	(1996-12-15)

Moving Picture Expert Group

	<spelling> Incorrect expansion of MPEG, which stands for
	{Moving Picture Experts Group}.

	(2000-05-31)

Moving Picture Experts Group

	<compression, standard, algorithm, file format, body> (MPEG,
	ISO/IEC JTC1/SC29 WG11) An {ISO} committee that generates
	{standards} for digital {video compression} and audio.  Also
	the name of their {algorithms}.

	{MPEG-1} is optimised for {CD-ROM} and is the basis for {MP3}.
	{MPEG-2} is aimed at {broadcast quality video} for
	applications such as {digital television} {set-top boxes} and
	{DVD}.  {MPEG-4} is a standard for low {bandwidth} {video
	telephony} and {multimedia} on the {web}.  MPEG-3
	was merged into MPEG-2.

	{(http://cselt.it/mpeg/)}.  {MPEG.org
	(http://mpeg.org/)}.  {MPEG decoder
	(ftp://toe.cs.berkeley.edu/pub/multimedia/mpeg/)}.  {MPEG
	routines (ftp://ftp.mni.mcgill.ca/pub/mpeg/)}.

	(2000-05-31)

Moving Pictures Experts Group

	<spelling> Incorrect expansion of MPEG, which stands for
	{Moving Picture Experts Group}.

	(2000-05-31)

Moxie

	<language, music> A language for {real-time} computer music
	synthesis, written in {XPL}.

	["Moxie: A Language for Computer Music Performance",
	D. Collinge, Proc Intl Computer Music Conf, Computer Music
	Assoc 1984, pp.217-220].

	(1994-12-05)

Mozilla

	<web, open source> The {open source} {web
	browser}, designed for standards-compliance, performance, and
	portability, whose development is coordinated by the {Mozilla
	Foundation}.

	The Mozilla project started in March 1998 when {Netscape
	Communications Corporation} released the {source code} of
	{Netscape Communicator}.  The now abandoned version based on
	that code is referred to as "Mozilla Classic".  Since then,
	much has been rewritten, including the layout engine, the
	networking library, and the front-end.

	Mozilla 1.0 was finally released on 2002-06-05.  Much of the
	code was used to build {Firefox}.

	Although a lot of Mozilla code is under the original Netscape
	Public License, some parts of the code are under the Mozilla
	Public License or dual MPL/GPL.

	"Mozilla" was the original project code name for {Netscape
	Navigator} and, according to some of the documentation, the
	correct pronunciation of "Netscape".

	[Derived from "{Mosaic} killer/Godzilla"?]

	(2005-01-26)

Mozilla Foundation

	<body, web, open source> The body set up by
	{Netscape} in January 1998 to coordinate development of the
	{Mozilla} browser and to provide a point of contact.

	{Mozilla Home (http://mozilla.org/)}.

	(2005-01-26)

Mozilla Public License

	{open source license}

mp

	<networking> The {country code} for the Northern Mariana
	Islands.

	(1999-01-27)

MP1

	{MPEG-1 audio layer 1}

MP-1

	{Assembly language} for the {MasPar} computer.

	(1994-12-05)

MP2

	{MPEG-1 audio layer 2}

MP3

	{MPEG-1 audio layer 3}

MP3Pro

	<audio, compression> An extention of {MP3} using {SBR},
	targetting data rates of 64-96 kbps.

	(2001-12-20)

MPC

	1. <operating system> {Memory Protection Check}.

	[Origin?]

	2. <computer> {Multimedia Personal Computer}.

	3. {Multiprocess Communications}.

MPC Level 1 Specification

	<multimedia> The original {Multimedia Personal Computer}
	specification.

	Minimum requirements are a 16 MHz {386SX} with 2 {megabytes}
	of {RAM}, a 30 MB {hard disk drive}, and a {CD-ROM} drive with
	a sustained data transfer rate of 150 KB/s at no more than 40%
	of {CPU} {bandwidth} and reading at least 16 KB blocks.  The
	maximum average {seek time} is 1 second and the {Mean Time
	Between Failure} 10000 hours.  Capability Mode 1.

	The computer must have 8-bit digital sound and an 8-note
	synthesizer with {MIDI} playback.  Sample rates of 22.05 and
	11.025 kHz must be supported by no more than 10% of CPU
	bandwidth, preferably 44.1 kHz at no more than 15% of CPU
	bandwidth.  The synthesizer must support multi-voice,
	multi-timbral generation of six simultaneous melody notes and
	two simultaneous percussive notes with internal mixing
	capabilities to combine input from three sources and present
	the output as a stereo, line-level audio signal at the back
	panel.

	The video display must have a {resolution} of at least 640 x
	480 in 16 colours.  MIDI, I/O, and joystick ports must be
	previded.

	Compare {MPC Level 2 Specification}.

	(1997-01-19)

MPC Level 2 Specification

	<multimedia> An improved version of the {MPC Level 1
	Specification} for {Multimedia Personal Computers}.

	Minimum requirements are a 25 Mhz {486SX} with 4 MB of RAM and
	a 160 MB {hard disk drive}.  The {CD-ROM} drive must support a
	sustained data transfer rate of 300 KB/s using at most 60% of
	{CPU} {bandwidth} on 16 KB minimum block read size.  Its
	average {seek time} must be 400 milliseconds maximum.
	Capability Mode 1, Mode 2 form 1, Mode 2 form 2, Multisession.
	It must be {CD-ROM XA}-ready.

	The computer must have 16-bit digital sound, an 8-note
	synthesizer, and {MIDI} playback.  A sample rate of 44.1 kHz
	must be available on stereo channels with more than 15% of CPU
	bandwidth.

	A video display with a {resolution} of 640 x 480 in 65,536
	colours, and MIDI, I/O, and joystick ports must be provided.

	(1997-01-19)

MPEG

	{Moving Picture Experts Group}

MPEG-1

	<compression, standard, algorithm, file format> The first
	{MPEG} format for compressed {video}, optimised for {CD-ROM}.
	MPEG-1 was designed for the transmission rates of about 1.5
	{Mbps} achievable with {Video-CD} and {CD-i}.

	It uses {discrete cosine transform} (DCT) and {Huffman coding}
	to remove spatially redundant data within a frame and
	block-based {motion compensated prediction} (MCP) to remove
	data which is temporally redundant between frames.  Audio is
	compressed using {subband encoding}.  These {algorithms} allow
	better than VHS quality video and almost CD quality audio to
	be compressed onto and streamed off a {single speed} (1x)
	{CD-ROM} drive.

	MPEG encoding can introduce blockiness, colour bleed and
	shimmering effects on video and lack of detail and
	quantisation effects on audio.

	The official name of MPEG-1 is {International Standard}
	{IS-11172}.

	(1999-01-06)

MPEG-1 audio layer 1

	<audio, compression, algorithm> (MP1) A simple 32-{subband}
	{audio compressor} using a {floating point} representation for
	subband samples.  Resolution and scale factor are stored for
	groups of 12 subsamples.  MP1 is only used for {Philips} DCC
	{Digital Compact cassette} with data rates of 384 kbps.

	(2001-12-02)

MPEG-1 audio layer 3

	<music, file format> (MP3) A {digital audio} {compression
	algorithm} that acheives a compression factor of about twelve
	while preserving sound quality.  It does this by optimising
	the compression according to the range of sound that people
	can actually hear.  MP3 is currently (July 1999) the most
	powerful algorithm in a series of audio encoding standards
	developed under the sponsorship of the {Moving Picture Experts
	Group} (MPEG) and formalised by the International Organization
	for Standardization (ISO).

	MP3 is very different from Layer 2, using an additional {MDCT}
	layer to increase frequency resolution.  Its scale factor
	groups are more optimised for the human ear, and it uses
	nonlinear {sample quantisation} and {Huffman coding}.

	MP3 files ({filename extension} ".mp3") can be downloaded from
	many {website}s and can be played using software available for
	most {operating systems} (also downloadable), e.g. Winamp for
	{PC}, MacAmp for {Macintosh}, and mpeg123 for {Unix}.

	MP3 files are usually downloaded completely before playing but
	{streaming} MP3 is also possible.  A program called a "ripper"
	can be used to copy a selection from a music {CD} onto your
	{hard disk} and another program called an encoder can convert
	it to an MP3 file.

	(2001-12-04)

MPEG-1 layer 3

	{MPEG-1 audio layer 3}

MPEG-2

	<compression, standard, algorithm, file format> A variant of
	the {MPEG} video and audio {compression} {algorithm} and file
	format, optimised for {broadcast quality video}.  MPEG-2 was
	designed to transmit images using {progressive coding} at 4
	{Mbps} or higher for use in broadcast {digital TV} and {DVD}.
	An MPEG-2 player can handle {MPEG-1} data as well.

	MPEG-2 has been approved as {International Standard}
	{IS-13818}.

	(1995-04-18)

MPEG-21

	<compression, standard, algorithm, file format> A {file
	format} designed to merge very different things in one object,
	so you can store interactive material in this format (audio,
	video, questions, answers, overlays, non-linear order,
	calculation from user inputs, etc.)

	[Technical details?]

	(2001-12-02)

MPEG-2.5 audio layer 3

	<compression, standard, algorithm, file format> A non-standard
	extention of {MPEG-2 audio layer 3} by {FhG} for lowest
	sampling rates (8-12 kHz) targeting bit rates from 16-32 kbps
	(possibly 8-160 kbps).

	(2001-12-04)

MPEG-2 AAC Low Profile

	<compression, standard, algorithm, file format> A successor of
	{MP3} allowing transparent coding at data rates of 75-80% of
	that of {MP3}.  It is very different from MP3, only used
	{MDCT}, no {subband coding}.

	(2001-12-08)

MPEG-2 audio layer 3

	<compression, standard, algorithm, file format> An extention
	of {MPEG-1 audio layer 3} for lower sampling rates (16-24 kHz)
	targeting bit rates from 32-64 kbps (possibly 8-160 kbps).  It
	is often combined with {MPEG-2 LSF}.

	(2001-12-04)

MPEG-2 Low Sampling Frequencies Extention

	<compression, standard, algorithm, file format> (MPEG-2 LSF)
	An extension of {MPEG-2}, mostly used with {MPEG-2 audio layer
	3} because the aim was medium quality at low bit rates, not
	lower sampling frequencies.

	(2001-12-04)

MPEG-2 LSF

	{MPEG-2 Low Sampling Frequencies Extention}

MPEG-2 MC

	{MPEG-2 Multi Channel Extention}

MPEG-2 Multi Channel Extention

	<compression, standard, algorithm, file format> (MPEG-2 MC) An
	extension of {MPEG-2} that uses up to 5 channels and about
	1200 kbps.

	(2001-12-08)

MPEG-3

	<compression, standard, algorithm, file format> A proposed
	variant of the {MPEG} {video} and {audio} {compression}
	{algorithm} and {file} format.  MPEG-3 was intended as an
	extension of {MPEG-2} to cater for {HDTV} but was eventually
	merged into MPEG-2.

	Not to be confused with MP3 - {MPEG-1 layer 3}.

	[Technical details?]

	(1999-01-06)

MPEG-4

	<compression, standard, algorithm, file format> A {video
	compression} standard planned for late 1998.  MPEG-4 extends
	the earlier {MPEG-1} and {MPEG-2} algorithms with synthesis of
	speech and video, {fractal compression}, {computer
	visualisation} and {artificial intelligence}-based {image
	processing} techniques.

	[Technical details?]

	(1999-01-06)

MPEG-4 AAC Main Profile

	<compression, standard, algorithm> A successor of
	{MP3} allowing transparent coding at data rates of 70-75% of
	that of {MP3}.  It is very different from MP3, only used
	{MDCT}, no {subband coding}.  It is much more complex that
	{MP3} and {MPEG-2 AAC Low Profile}.

	(2001-12-08)

MPEG-4 AAC SSR

	{MPEG-4 Advanced Audio Coding Scalable Sampling Rate}

MPEG-4 Advanced Audio Coding Scalable Sampling Rate

	<compression, standard, algorithm> (MPEG-4 AAC SSR) An {AAC}
	flavour supporting different qualities for different targets.
	One stream can contain up to 3 streams for 11.025 kHz (Stream
	1), 22.05 (Stream 1 and 2) and 44.1 kHz (all 3 Streams)
	sampling frequency.  Quality is between Low Profile and Main
	profile.  See also {JPEG-2000}.

	(2001-12-09)

MPEG-4 Harmonics, individual lines and noise

	<compression, standard, algorithm> (MPEG-4 HILN) An {MPEG-4}
	variant using {parametric encoding} with a target {bit rate}
	of 30 kbps.

	(2001-12-09)

MPEG-4 Harmonic Vector eXCitation

	<compression, standard, algorithm> (MPEG-4 HVXC) An {MPEG-4}
	variant using {parametric encoding} with a target {bit rate}
	of 20 kbps, for voice coding.

	(2001-12-09)

MPEG-4 HILN

	{MPEG-4 Harmonics, individual lines and noise}

MPEG-4 HVXC

	{MPEG-4 Harmonic Vector eXCitation}

MPEG-7

	<compression, standard, algorithm> A successor to {MPEG-4},
	not standardized yet.

	(2001-12-02)

MPEGplus

	<compression, algorithm> A non-{ISO} standard compressed {audio}
	file format derived from {MPEG-1 Layer 2}.

	(2001-12-11)

MPG

	<jargon> Miles per gallon, as in "Your MPG may
	vary", i.e. "{Your mileage may vary}".

mpg

	<filename extension> A {filename extension} for a file in
	{MPEG} format.

	(1995-03-07)

MPI

	{Message Passing Interface}

MPL

	1. <language> An early possible name for {PL/I}.

	[Sammet 1969, p.542].

	2. {MasPar} {data-parallel} version of {C}.  See also {ampl}.

	{Compiler version 3.1 (ftp://maspar.maspar.com/put/)}.

	3. Motorola Programming Language.  A low-level {PL/I}-like
	language, similar to {PL/M}, but for the {Motorola 6800}.

	4. MicroProgramming Language.  Simple language for
	microprogramming.  Statements on the same line represent
	{register} transfers caused by one microinstruction, and are
	executed in parallel.

	["Structured Computer Organization", A.S. Tanenbaum, First
	Edition, P-H 1976. (Replaced in later editions by Mic-1)].

	(1995-03-07)

MPL II

	[Burroughs VMS MPL II Language Reference Manual].

MPLS

	{Multiprotocol Label Switching}

MPLS domain

	<networking> A portion of a {network} that contains devices
	that understand {MPLS}.

	(1999-06-14)

MP/M

	{Multi-tasking Program for Microcomputers}

MPP

	{Multiple Parallel Processing}
MPPE

	{Microsoft Point to Point Encryption}

MPPL

	<language> An early possible name for {PL/I}.

	[Sammet 1969, p. 542].

	(1995-03-07)

MPR II

	<standard> A green standard published by SWEDAC (the Swedish
	Board for Technical Accreditation) that limits the maximum
	amount of {ELF} and {VLF} electromagnetic radiation a computer
	{monitor} may emit.  Most {personal computer} monitors comply
	with this standard or the more stringent European TCO
	requirement.

	(1996-02-19)

M-Prolog

	1. Marseille Prolog.

	2. An extension to {Prolog} involving {modules}.

	["The MProlog System", J. Bendl et al, Proc Logic Prog
	Workshop, 1980].

	(1994-10-31)

MPS III

	Solving matrices and producing reports.  "MPS III DATAFORM
	User Manual", Management Science Systems (1976).

MPSX

	Mathematical Programming System Extended.  Solution strategy
	for mathematical programming.  "Mathematical Programming
	System Extended (MPSX) Control Language User's Manual",
	SH20-0932, IBM.  Sammet 1978.

MPV

	An extension of the {VRTX} {real-time} {operating system} to
	support {multi-processing}.

	(1994-11-08)

MPX

	{Multiplexor Channel}

mq

	<networking> The {country code} for Martinique.

	(1999-01-27)

MQG

	{Multi-threaded Query Gate}

mr

	<networking> The {country code} for Mauritania.

	(1999-01-27)

MRAM

	{Magnetic RAM}

MRDA

	{Mandy Rice-Davis Applies}

MRDS

	{Multics Relational Data Store}

MRI

	1. <application> {Magnetic Resonance Imaging}.

	2. {Measurement Requirements and Interface}.

MROC

	{Miniature Ruggedized Optical Correlator}

MROM

	{Mask Read-Only Memory}

MRP

	{Material Requirements Planning}

MRP II

	{Manufacturer Resource Planning}

MRS

	Modifiable Representation System.

	An integration of {logic programming} into {Lisp}.

	["A Modifiable Representation System", M. Genesereth et al,
	HPP 80-22, CS Dept Stanford U 1980].

	(1994-11-08)

ms

	1. <unit> {millisecond}.

	2. <networking> The {country code} for Montserrat.

	(1999-01-27)

MS Access

	{Microsoft Access}

MSAU

	{Media Access Unit}

MSB

	{Most Significant Bit}

MS-BASIC

	{Microsoft Basic}

MS-DOG

	<abuse> A pejorative name for {MS-DOS}.

MS-DOS

	{Microsoft Disk Operating System}

MSG.84

	<language> A language for the {functional specification} and
	module design phases of the {software life cycle}, first
	presented in Berzins and Gray's 1985 paper.  Not unlike {PDL}.

	["Analysis and design in MSG.84: formalizing functional
	specifications", Valdis Berzins, Michael Gray, Volume 11 Issue
	8, IEEE Transactions on Software Engineering, Aug 1985].

	(2003-05-15)

msgGUI

	<library> A {graphical user interface} for {GNU Smalltalk}.
	The msgGUI package contains the basics for creating window
	{applications} in the manner available in other graphical
	{Smalltalk} implementations.  Version 1.0 of the library was
	by Mark Bush, ECS, Oxford University, UK.

	{(ftp://ftp.comlab.ox.ac.uk/pub/Packages/mst/mstGUI-1.0.tar.Z)}.

	(2000-06-14)

MSIE

	{Internet Explorer}

MSM

	{Micronetics Standard MUMPS}

MS Mail

	{Microsoft Mail}

MSN

	{The Microsoft Network}

MS Office

	{Microsoft Office}

MS Project

	{Microsoft Project}

MSS

	{maximum segment size}

MS-Windows

	{Microsoft Windows}

MswLogo

	<language> A {Microsoft Windows} {front-end} for {Berkeley
	Logo} by George Mills <george.mills AT softronix DOT com>.
	MswLogo has 3D {primitives} and {GUI} support.  It runs on
	every flavour of Windows from 16-bit to NT.

	{(http://softronix.com/logo.html)}.

	(2006-02-28)

MS Word

	{Microsoft Word}

MSX

	{Microsoft Extended}

MSX-DOS

	{Microsoft Extended}

mt

	<networking> The {country code} for Malta.

	(1999-01-27)

MTA

	1. <messaging> {Message Transfer Agent}.

	2. <messaging> {Message Transfer Architecture}. ({AT&T}).

	3. {Multiple Terminal Access}.

	4. {Maintenance Task Analysis}.

	(1997-02-28)

MTBF

	{Mean Time Between Failures}

mtc

	A {Modula-2} to {C} translator.

	{(ftp://rusmv1.rus.uni-stuttgart.de/soft/Unixtools/compilerbau/mtc.tar.Z)}.

	(1991-10-25)

M Technology Association

	<body> The {MUMPS} User's Group that disbanded some time
	between 1995 and 2003.

	Address: 1738 Elton Road, Suite 205, Silver Spring, MD
	20903-1725, USA.

	Telephone: +1 301 431-4070.  Fax: +1 301 431-0017.

	(2003-06-04)

MTOS

	1. <operating system> A family of {real-time} {operating systems}
	for use in {embedded  systems}.	 It is	developed and marketed by
	{Industrial Programming, Inc.}.

	2. <operating system> {MultiTOS}

	(1997-06-03)

MTS

	1. {Message Transport System}.

	2. <programming> {Microsoft Transaction Server}.

	(1999-03-29)

MTTR

	{Mean Time To Recovery}

MTU

	{Maximum Transmission Unit}

Mu

	<character> (Greek letter).

	1. <unit> /micro/ prefix denoting division by 10^6, e.g. mu m
	(micrometre, a millionth part of a metre).  Sometimes written
	as a 'u', the ASCII character nearest in appearance.

	2. <mathematics> /myoo/ In the theory of functions, mu x . E
	denotes the least value of x for which E = x, i.e. the {least
	fixed point} of the function \ x . E.  The {recursive}
	function mu f . H f satisfies (and is defined by) the equation

		mu f . H f = H (mu f . H f)

	An alternative notation for the same function is

		fix H = H (fix H)

	See {fixed point combinator}.

	3. <database> {multiple value}.

	[{Jargon File}]

	(1995-10-30)

mu

	1. <networking> The {country code} for Mauritius.

	2. <philosophy> /moo/ The correct answer to the classic trick
	question "Have you stopped beating your wife yet?".  Assuming
	that you have no wife or you have never beaten your wife, the
	answer "yes" is wrong because it implies that you used to beat
	your wife and then stopped, but "no" is worse because it
	suggests that you have one and are still beating her.
	According to various Discordians and Douglas Hofstadter the
	correct answer is usually "mu", a Japanese word alleged to
	mean "Your question cannot be answered because it depends on
	incorrect assumptions".

	Hackers tend to be sensitive to logical inadequacies in
	language, and many have adopted this suggestion with
	enthusiasm.  The word "mu" is actually from Chinese, meaning
	"nothing"; it is used in mainstream Japanese in that sense,
	but native speakers do not recognise the Discordian
	question-denying use.  It almost certainly derives from
	overgeneralisation of the answer in the following well-known
	Rinzei Zen teaching riddle:

	A monk asked Joshu, "Does a dog have the Buddha nature?"
	Joshu retorted, "Mu!"

	See also {has the X nature}, {AI Koan}.

	[Douglas Hofstadter, "Gödel, Escher, Bach: An Eternal Golden
	Braid"].

	[{Jargon File}]

	(2000-11-22)

MUA

	{Mail User Agent}

MUCAL

	<language, music> A language for playing music on the {PDP-8}.

	(1995-04-16)

MUD

	<games> {Multi-User Dimension} or "Multi-User Domain".
	Originally "Multi-User Dungeon".

	[{Jargon File}]

	(1995-04-16)

muddie

	<games> Synonym {mudhead}.  More common in Great Britain,
	possibly because system administrators there like to mutter
	"bloody muddies" when annoyed at the species.

	[{Jargon File}]

Muddle

	Original name of {MDL}.

mudhead

	<games> A {MUD} player who eats, sleeps, and breathes MUD.
	Mudheads have been known to fail their degrees, drop out,
	etc. with the consolation, however, that they made wizard
	level.  When encountered in person, on a MUD or in a chat
	system, all a mudhead will talk about is three topics: the
	tactic, character, or wizard that is supposedly always
	unfairly stopping him/her from becoming a wizard or beating a
	favourite MUD; why the specific game he/she has experience
	with is so much better than any other; and the MUD he or she
	is writing or going to write because his/her design ideas are
	so much better than in any existing MUD.  See also {wannabee}.

	To the anthropologically literate, this term may recall the
	Zuni/Hopi legend of the mudheads or "koyemshi", mythical
	half-formed children of an unnatural union.  Figures
	representing them act as clowns in Zuni sacred ceremonies.

	[{Jargon File}]

	(1994-11-29)

MUD Object Oriented

	<games> (MOO) One of the many {MUD} spin-offs (e.g. {MUSH},
	{MUSE}, and {MUX}) created to diversify the realm of
	interactive text-based gaming.  A MOO is similar to a MUSH in
	that the users themselves can create objects, rooms, and code
	to add to the environment.

	The most frequently used {server} {software} for running a MOO
	is {LambdaMOO} but alternatives include {WinMOO
	(http://www-personal.umich.edu/~cunkel/WinMOO/)} and
	{MacGoesMOO
	(http://neon.ci.lexington.ma.us/SpamCentral/scaron/mgm.html)}.

	(1999-05-25)

muFP

	A {functional language} for hardware design, a predecessor of
	{Ruby}.

Muhammad al-Khwarizmi

	{Muhammad ibn Musa al-Khwarizmi}

Muhammad ibn Musa al-Khwarizmi

	<person> An astronomer, geographer and mathematician, born around
	780 CE in Khwarizm (modern Khiva), south of the Aral Sea.
	Khawarizmi founded {algebra} and {algorithms} (named after him),
	synthesised Greek and Hindu knowledge, introducing the Indian
	system of numerals (now known as Arabic numerals), developed
	operations on {fractions}, trigonometric tables containing the
	{sine functions}, the {calculus of two errors} and the {decimal}
	system, explained the use of {zero}, perfected the geometric
	representation of {conic sections}, collaborated in the degree
	measurements aimed at measuring of volume and circumference of the
	Earth and produced the first map of the known world in 830 CE.  He
	died around 850 CE.

	{Muslim Heritage.com
	(http://muslimheritage.com/day_life/default.cfm?ArticleID=317&Oldpage=1])}.

	(2008-07-08)

mu-law

	The North America {standard} for {nonuniform quantising
	logarithmic compression}.

	[Equation?]

	(1995-02-21)

Mule

	<text, tool> A multi-lingual enhancement of {GNU Emacs}.  Mule
	can handle not only {ASCII} characters (7 bit) and {ISO
	Latin 1} characters (8 bit), but also {16-bit characters} like
	Japanese, Chinese, and Korean.  Mule can have a mixture of
	languages in a single buffer.

	Mule runs under the {X window system}, or on a {Hangul
	terminal}, {mterm} or {exterm}.

	Latest version: 2.3.

	{(ftp://etlport.etl.go.jp/pub/mule)}.

	(1996-01-28)

Mul-T

	An implementation of {Multilisp} built on {T}, for the {Encore
	Multimax}.

	["Mul-T: A High-Performance Parallel Lisp", SIGPLAN Notices
	24(7):81-90 (Jul 1989)].

	(1995-02-21)

Multi-BinProlog

	<language> A {multi-threaded} {Linda}-style parallel extension
	to {BinProlog} for {Solaris} 2.3.

	Version: 3.30.

	(1995-04-04)

multiboot

	{dual boot}

multiC

	<language> A {data-parallel} version of {C} from {Wavetracer}.

	(1995-04-04)

MultiCal System

	E-mail: Richard Snodgrass <rts@cs.arizona.edu>.

	{(ftp://ftp.cs.arizona.edu/tsql/multical)}.

	[What is it?]

	(1994-11-11)

multicast addressing

	{Ethernet} addressing scheme used to send {packets} to devices
	of a certain type or for {broadcast}ing to all nodes.  The
	least significant bit of the most significant byte of a
	multi-cast address is one.

multicast backbone

	(MBONE) A {virtual network} on top of the {Internet} which
	supports {routing} of {IP} {multicast} {packets}, intended for
	{multimedia} transmission.  MBONE gives public access {desktop
	video} communications.  The quality is poor with only 3-5
	frames per second instead of the 30 frames per second of
	commercial television.  Its advantage is that it avoids all
	telecommunications costs normally associated with
	teleconferencing.  An interesting innovation is the use of
	MBONE for audio communications and an electronic "whiteboard"
	where the computer screen becomes a shared workspace where two
	physically remote parties can draw on and edit shared
	documents in {real-time}.

	(1994-10-27)

Multi-channel Memorandum Distribution Facility

	<messaging> (MMDF) An {electronic mail} system for Unix(?)
	which is much easier to configure than {sendmail}.  The source
	is available.

	MMDF is a versatile and configurable mail routing system
	({MTA}) which also includes user interface programs ({MUA}).
	It can be set up to route mail to different {domains} and
	{hosts} over different channels (e.g. {SMTP}, {UUCP}).  On
	{UNIX} systems, its configuration begins with the
	/usr/mmdf/mmdftailor file, which defines the machine and
	domain names, various other configuration tables (alias,
	domain, channel) and other configuration information.

	[Home?]

	(1997-01-14)

multician

	<jargon, person> /muhl-ti'shn/ A term coined at {Honeywell},
	ca. 1970 for a competent user of {Multics}.  Perhaps oddly, no
	one has ever promoted the analogous "Unician".

	[{Jargon File}]

	(1996-08-24)

Multi-Color Graphics Array

	<hardware, graphics> (MCGA) One of {IBM}'s less popular
	hardware video {display standards} for use in the {IBM PS/2}.
	MCGA can display 80*25 text in {monochrome}, 40*25 text in 256
	colours or 320*200 pixel graphics in 256 colors.  It is now
	obsolete.

	(2011-03-20)

Multics

	<operating system> /muhl'tiks/ MULTiplexed Information and
	Computing Service.  A {time-sharing} {operating system}
	co-designed by a consortium including {MIT}, {GE} and {Bell
	Laboratories} as a successor to MIT's {CTSS}.  The system
	design was presented in a special session of the 1965 Fall
	Joint Computer Conference and was planned to be operational in
	two years.  It was finally made available in 1969, and took
	several more years to achieve respectable performance and
	stability.

	Multics was very innovative for its time - among other things,
	it was the first major OS to run on a {symmetric
	multiprocessor}; provided a {hierarchical file system} with
	{access control} on individual files; mapped files into a
	paged, segmented {virtual memory}; was written in a
	{high-level language} ({PL/I}); and provided dynamic
	inter-procedure linkage and memory (file) sharing as the
	default mode of operation.  Multics was the only
	general-purpose system to be awarded a B2 {security rating} by
	the {NSA}.

	Bell Labs left the development effort in 1969.  {Honeywell}
	commercialised Multics in 1972 after buying out GE's computer
	group, but it was never very successful: at its peak in the
	1980s, there were between 75 and 100 Multics sites, each a
	multi-million dollar {mainframe}.

	One of the former Multics developers from Bell Labs was {Ken
	Thompson}, a circumstance which led directly to the birth of
	{Unix}.  For this and other reasons, aspects of the Multics
	design remain a topic of occasional debate among hackers.  See
	also {brain-damaged} and {GCOS}.

	MIT ended its development association with Multics in 1977.
	Honeywell sold its computer business to {Bull} in the mid
	1980s, and development on Multics was stopped in 1988 when
	Bull scrapped a Boston proposal to port Multics to a
	{platform} derived from the {DPS-6}.

	A few Multics sites are still in use as late as 1996.

	The last Multics system running, the Canadian Department of
	National Defence Multics site in Halifax, Nova Scotia, Canada,
	shut down on 2000-10-30 at 17:08 UTC.

	The {Jargon file} 3.0.0 claims that on some versions of
	Multics one was required to enter a password to log out but
	James J. Lippard <lippard@primenet.com>, who was a Multics
	developer in Phoenix, believes this to be an {urban legend}.
	He never heard of a version of Multics which required a
	password to logout.  Tom Van Vleck <thvv@multicians.org>
	agrees.  He suggests that some user may have implemented a
	'terminal locking' program that required a password before one
	could type anything, including logout.

	{(http://multicians.org/)}.

	{Usenet} newsgroup: {news:alt.os.multics}.

	[{Jargon File}]

	(2002-04-12)

Multics Relational Data Store

	<database> (MRDS) The first commercial {relational database},
	implemented as part of {Multics} by Jim Weeldreyer and Oris
	Friesen of {Honeywell} Phoenix in about 1977.  MRDS included a
	report writer called LINUS written by Jim Falksen.

	(1997-01-29)

Multiflow Computer

	<company> A now-defunct computer company, best known for its
	work in {Very Long Instruction Word} processors.

	Address: New Haven, Conn. USA.

	(1995-03-01)

Multi-Garnet

	A better constraint system for Garnet.  Version 2.1 by Michael
	Sannella <sannella@cs.washington.edu>.

	{(ftp://a.gp.cs.cmu.edu/usr/garnet/alpha/src/contrib/multi-garnet)}.

	(1992-09-21)

multihomed host

	A {host} which has more than one connection to a {network}.
	The host may send and receive data over any of the links but
	will not route traffic for other nodes.

multilayer perceptron

	A network composed of more than one layer of {neurons}, with
	some or all of the outputs of each layer connected to one or
	more of the inputs of another layer.  The first layer is
	called the input layer, the last one is the output layer, and
	in between there may be one or more hidden layers.

MultiLisp

	<language> A {parallel} extension of {Scheme} with explicit
	{concurrency}.  The form (future X) immediately returns a
	"{future}", and creates a {task} to evaluate X.  When the
	evaluation is complete, the future is resolved to be the
	value.

	["MultiLisp: A Language for Concurrent Symbolic Computation",
	R. Halstead, TOPLAS pp.501-538 (Oct 1985)].

	[Did MultiLisp use {PVM} as its intermediate language?]

	(1998-02-10)

multimedia

	<multimedia> Any collection of data including {text},
	{graphics}, {images}, {audio} and {video}, or any system for
	processing or interacting with such data.  Often also includes
	concepts from {hypertext}.

	This term was once almost synonymous with {CD-ROM} in the
	{personal computer} world because the large amounts of data
	involved were best supplied on CD-ROM.  {DVD}s and {broadband}
	{Internet} connections have now largely replaced CDs as the
	means of delivery.

	A "multimedia PC" typically includes software for playing DVD
	video, {5.1 audio} hardware and can display video on a
	television.  It may also include a television receiver and
	software to record broadcast television to disk and play it
	back.  The {Multimedia Personal Computer} (MPC) standard was
	an attempt to improve compatibility between such systems.

	{Usenet} newsgroup: {news:comp.multimedia}.

	(1994-12-02)

Multimedia and Hypermedia information coding Expert Group

	<multimedia, standard> (MHEG) is an {ISO} {standard} encoding
	for {multimedia} and {hypermedia} information, designed to
	facilitate use and interchange of such information in varied
	domains such as games, electronic publishing and medical
	applications.

	{MHEG Home (http://mheg.org/)}.

	(2002-12-30)

MultiMedia Compact Disc

	<storage> (MMCD) A {CD-ROM} {standard} for storing 4.7 GB of
	data including video.  MMCD is being developed by a large
	numer of computer manufacturers and is expected to be shipped
	in late 1996 or early 1997.  Initially it will be aimed at the
	consumer market, then perhaps in {CD-ROM} format for
	computers, and maybe later on erasble CD.

	(1995-11-23)

MultiMedia Extension

	{Matrix Math eXtensions}

Multimedia Integrated Conferencing for European Researchers

	<communications, project> (MICE) A project which aims to
	create a pilot (virtual) network between European researchers,
	and also to connect them to sites in the US.  The MICE system
	currently allows {multimedia} conferencing ({audio}, {video}
	and shared workspace) between conference rooms and
	{workstation}-based facilities, hardware and software,
	{packet-switched} networks and {ISDN}, using both {unicast}
	(point-to-point) and {multicast} (multi-point) {protocols}.

	{(http://www-mice.cs.ucl.ac.uk/mice)}.

	(1997-12-18)

Multimedia Internet Mail Extensions

	Called {Multipurpose Internet Mail Extensions} in the {RFC}.

	[Is this an old name for it?]

Multimedia Messaging Services

	<messaging> (MMS) A feature of some {mobile telephones} that
	allows them to send messages including text, sound, images and
	{video}.

	(2007-06-25)

Multimedia PC

	{multimedia}

Multimedia Personal Computer

	<multimedia> (MPC) A specification published by the Multimedia
	PC Marketing Council in 1990 to encourage the adoption of a
	standard {multimedia} computing platform.  In May 1993, the
	MPC Marketing Council published a new specification called
	{MPC Level 2 Specification} as an enhanced multimedia computer
	standard.  The original MPC specification, now also known as
	the {MPC Level 1 Specification}, continues in full effect.

	The appearance of the MPC or MPC2 certification mark on a
	computer system or upgrade kit indicates that the {hardware}
	meets the corresponding (Level 1 or Level 2) MPC Marketing
	Council specification. Software bearing the Multimedia PC mark
	has been designed to work on Multimedia PC licensed hardware.

	By establishing a standard platform, certifying hardware
	compliance and providing inter-operability between software
	and hardware for the consumer, the MPC Marketing Council is
	encouraging widespread use of multimedia applications and
	hardware.

	(1997-01-19)

multimedia system

	{multimedia}

multi-part key

	{compound key}

Multi-Pascal

	An extension of {Pascal-S} with {multiprocessing} features.
	Used in "The Art of Parallel Programming", Bruce P. Lester,
	P-H 1993.

multiple access

	{multiplexing}

Multiple Access with Colision Avoidance

	<networking> (MACA) A {protocol} used as a basis for the IEEE
	{802.11} {wireless LAN} {standards}.

	[Details?]

	(2004-01-14)

multiple boot

	{dual boot}

Multiple Document Interface

	<programming> (MDI) The ability of an {application program} to
	show windows giving views of more than one document at a time.

	The opposite is {Single Document Interface} (SDI).

	(1999-03-30)

multiple inheritance

	<programming> In {object-oriented programming}, the possibility
	that a {class} may have more than one direct {superclass} in the
	{class hierarchy}.

	The opposite is {single inheritance}.

	(2014-09-06)

Multiple Instruction Multiple Data

	{Multiple Instruction/Multiple Data}

Multiple Instruction/Multiple Data

	(MIMD) The classification under {Flynn's taxonomy} of a
	{parallel processor} where many {functional units} perform
	different operations on different data.  Examples would be a
	network of {workstations} or {transputers}.  Compare {SIMD}.

	(1994-11-08)

Multiple Master

	<text, tool, software> (Or "Multiple Master Font") A {font}
	that is a mixture of two or more other fonts.

	A Multiple Master font is a single font containing from two to
	sixteen master designs (the current implementation limit).  A
	weight factor specifies the contribution of each master design
	for the creation of a multiple master font {instance}.

	A Multiple Master instance is a single {interpolation} of a
	multiple master font as created by a user or application.

	{ATM Glossary
	(http://adobe.com/supportservice/devrelations/typeforum/glossary.html)}.

	{Useable fonts
	(http://susi.informatik.rwth-aachen.de/Mirror/winsite/win3/fonts_atm.html)}.

	(1998-05-31)

multiple perspective software development

	<programming> A decentralised approach to software development
	which, instead of adopting a monolithic representation and
	centralised control, models development in terms of
	collaboration between autonomous partial systems.

	Software development usually involves people with different
	goals, expertise, and backgrounds, and the use of a wide range
	of formalisms, tools, and environments.  As information is
	exchanged between participants, dependencies may be
	established between information created by them.  Multiple
	perspective software development may be mapped into the
	transaction model which can be used to prevent uncoordinated
	access to interdependent information causing inconsistency.

	[Fox Wai-Leung Poon]

	(1995-12-14)

multiple value

	<database> (MU) A one-to-many relationship between entries in
	a database, for example a person may have an address field
	which spanned multiple records (with different indexes).
	Multiple values are a non-{relational} technique.

	MUs have recently been made available in {DB2}, despite the
	product being so heavily influenced by {Codd's Laws} of
	{relational databases}.

	[Confirm, clarify?]

	(1995-10-30)

Multiple Virtual Storage

	<operating system> (MVS) Release 2 of {OS/VS2}, called MVS
	because it had multiple 16 MB virtual address spaces, in
	contrast to {SVS}.  MVS ran on the {IBM 390} series
	{mainframes}.  It became MVS/SP, then MVS/XA (with 31-bit
	addressing) and then MVS/ESA.

	MVS/Open Edition (MVS/OE), aimed at the growing {open systems}
	market, added {TCP/IP} and {Unix} support in an MVS address
	space, allowing users to run IBM, {CICS}-type applications,
	{batch} applications and Unix.

	MVS/ESA was repackaged as {OS/390} as a marketing exercise but
	it's basically the same thing.

	Version: 5.1.

	[Features?  Dates?]

	(1999-01-20)

multiplexer

	{multiplexor}

multiplexing

	1. <communications> (Or "multiple access") Combining several
	signals for transmission on some shared medium (e.g. a
	telephone wire).  The signals are combined at the transmitter
	by a multiplexor (a "mux") and split up at the receiver by a
	demultiplexor.  The communications channel may be shared
	between the independent signals in one of several different
	ways: {time division multiplexing}, {frequency division
	multiplexing}, or {code division multiplexing}.

	If the inputs take turns to use the output channel ({time
	division multiplexing}) then the output {bandwidth} need be no
	greater than the maximum bandwidth of any input.

	If many inputs may be active simultaneously then the output
	bandwidth must be at least as great as the total bandwidth of
	all simultaneously active inputs.  In this case the
	multiplexor is also known as a {concentrator}.

	(1995-03-02)

	2. <storage> Writing multiple {logical} copies of {data}
	{files}.  Placing the copies on totally separate {paths} to
	{mirror}ed {devices} greatly reduces the probability of all
	copies being corrupt.  Multiplexing differs from mirroring in
	that mirroring takes one data file and copies it to many
	devices, thus making it possible to copy a corrupt file many
	times.  Multiplexing writes the data files to many places
	simultaneously; there is no "original" data file.

	(2001-05-10)

multiplexor

	{multiplexing}

Multiplexor Channel

	(MPX) {mainframe} terminology for a slow peripheral device
	connection, e.g. for a {printer}, operator console, or card
	reader.

	(1997-06-30)

multiplex printer

	<hardware> A {duplex} circuit using {time-division
	multiplexing} to provide multiple duplex channels over one
	wire.

	For example, channels A, B, C, and D could be used for
	simultaneous transmission in both directions.

	(2000-04-02)

Multipop-68

	<operating system> An early {time-sharing} {operating system}
	developed in Edinburgh by Robin Popplestone and others.  It
	was inspired by {MIT}' {Project MAC}, via a "MiniMac" project
	which was aborted when it became obvious that {Elliot
	Brothers} Ltd. could not supply the necessary disk storage.
	Multipop was highly efficient in its use of machine resources
	to support {symbolic programming}, and effective - e.g. in
	supporting the development of the {Boyer-Moore theorem prover}
	and of Burstall and Darlington's transformation work.

	It was not good at supporting the user programs which were
	then the standard fare of computing, e.g. matrix inversion.
	This arose from the fact that while the {POP-2} compiler
	generated good code for function call (which is a lot of what
	layered systems like operating systems do) it did not generate
	efficient code for arithmetic or store access, because there
	was no way to police the generation of illegal objects
	statically.  ({Hindley-Milner type} checking did not exist).
	Indeed, since many OS features like file-access were performed
	by function-call (of a {closure}) rather than an OS call
	requiring a {context switch}, POP-2 actually gained
	performance.

	Multipop68 was efficient primarily because the one language,
	POP-2 served all purposes: it was the command language for the
	operating system as well as being the only available
	programming language.  Thus there was no need to swap in
	compilers etc.  All store management was accomplished
	uniformly by the {garbage collector}, as opposed to having
	store management for the OS and store management for each
	application.

	There was a substantial amount of {assembly language} in
	Multipop68.  This was primarily for interrupt handling, and it
	is difficult to handle this without a {real-time}
	garbage-collector.

	[Edited from a posting by Robin Popplestone].

	(1995-03-15)

multiprocessing

	{parallel processing}

multiprocessor

	{parallel processing}

multiprogramming

	{multitasking}

Multiprotocol Label Switching

	<networking> (MPLS) A {packet switching} {protocol} developed
	by the {IETF}.  Initially developed to improve switching
	speed, other benefits are now seen as being more important.

	MPLS adds a 32-{bit} label to each {packet} to improve
	{network} efficiency and to enable {routers} to direct
	{packets} along predefined routes in accordance with the
	required {quality of service}.  The label is added when the
	{packet} enters the MPLS {network}, and is based on an
	analysis of the {packet} {header}.  The label contains
	information on the route along which the {packet} may travel,
	and the {forwarding equivalence class} (FEC) of the {packet}.
	Packets with the same {FEC} are routed through the {network}
	in the same way.

	Routers make forwarding decisions based purely on the contents
	of the label.  This simplifies the work done by the {router},
	leading to an increase in speed.  At each {router}, the label
	is replaced with a new label, which tells the next {router}
	how to forward the {packet}.  The label is removed when the
	{packet} leaves the MPLS {network}.

	Modern {ASIC}-based routers can look up routes fast enough to
	make the speed increase less important.  However, MPLS still
	has some benefits.  The use of {FECs} allows {QoS} levels to
	be guaranteed, and MPLS allows {IP} {tunnels} to be created
	through a {network}, so that {VPNs} can be implemented without
	{encryption}.

	{MPLS Resource Center (http://mplsrc.com/)}.

	[RFC 3031]

	(2002-04-14)

Multipurpose Internet Mail Extensions

	<file format, multimedia> (MIME) A {standard} for multi-part,
	{multimedia} {electronic mail} messages and {web}
	{hypertext} documents on the {Internet}.  MIME provides the
	ability to transfer non-textual data, such as graphics,
	{audio} and fax.  It is defined in {RFC 2045}, {RFC 2046},
	{RFC 2047}, {RFC 2048}, {RFC 2049}, and {BCP0013}.  It uses
	{mimencode} to encode binary data into {base 64} using a
	subset of {ASCII}.

	{FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/mail/mime-faq/top.html)}.

	(1995-04-04)

multiscan

	<hardware> A {monitor} that can synchronise to a variety of
	{horizontal scan rates} and {refresh rates}, allowing it to
	display images at different {resolutions}.

	(1996-02-09)

MultiScheme

	An implementation of {Multilisp} built on MIT's {C-Scheme},
	for the {BBN Butterfly}.

	["MultiScheme: A Paralled Processing System Based on MIT
	Scheme", J. Miller, TR-402, MIT LCS, Sept 1987].

	(1995-04-04)

Multistation Access Unit

	{Media Access Unit}

multisync

	<hardware> An {NEC} trademark term for {multiscan}.  As NEC
	was the first to manufacture multiscan {monitors} the term is
	often used interchangeably with multiscan.

	(1996-02-09)

Multisystem eXtention Interface Bus

	<hardware> (MXIbus) A high performance communication link that
	interconnects devices using round, flexible cable.  MXIbus is
	used between a {GPIB} card and a {VXI} cage.

	(1999-10-12)

multitasking

	<computer, parallel> (Or "multi-tasking", "multiprogramming",
	"concurrent processing", "concurrency", "process scheduling")
	A technique used in an {operating system} for sharing a single
	processor between several independent jobs.  The first
	multitasking operating systems were designed in the early
	1960s.

	Under "{cooperative multitasking}" the running task decides
	when to give up the CPU and under "{pre-emptive multitasking}"
	(probably more common) a system process called the
	"{scheduler}" suspends the currently running task after it has
	run for a fixed period known as a "{time-slice}".  In both
	cases the scheduler is responsible for selecting the next task
	to run and (re)starting it.

	The running task may relinquish control voluntarily even in a
	pre-emptive system if it is waiting for some external {event}.
	In either system a task may be suspended prematurely if a
	hardware {interrupt} occurs, especially if a higher priority
	task was waiting for this event and has therefore become
	runnable.

	The scheduling {algorithm} used by the scheduler determines
	which task will run next.  Some common examples are
	{round-robin} scheduling, {priority scheduling}, {shortest job
	first} and {guaranteed scheduling}.

	Multitasking introduces {overheads} because the processor
	spends some time in choosing the next job to run and in saving
	and restoring tasks' state, but it reduces the worst-case time
	from job submission to completion compared with a simple
	{batch} system where each job must finish before the next one
	starts.  Multitasking also means that while one task is
	waiting for some external event, the {CPU} to do useful work
	on other tasks.

	A multitasking operating system should provide some degree of
	protection of one task from another to prevent tasks from
	interacting in unexpected ways such as accidentally modifying
	the contents of each other's memory areas.

	The jobs in a multitasking system may belong to one or many
	users.  This is distinct from {parallel processing} where one
	user runs several tasks on several processors.  {Time-sharing}
	is almost synonymous but implies that there is more than one
	user.

	{Multithreading} is a kind of multitasking with low
	{overheads} and no protection of tasks from each other, all
	threads share the same memory.

	(1998-04-24)

Multi-tasking Program for Microcomputers

	<operating system> (MP/M) An {operating system}, written by
	{Gary Kildal}, very similar to {CP/M}, also written by Kildal.
	MP/M allowed {virtual terminals}, each of which could execute
	an {application} while another terminal was called to the
	screen with a special key combination.

	See also {Control Program for Microcomputers}.

	(1996-09-08)

multithreaded

	{multithreading}

multithreading

	<parallel> Sharing a single {CPU} between multiple tasks (or
	"threads") in a way designed to minimise the time required to
	switch threads.  This is accomplished by sharing as much as
	possible of the program execution environment between the
	different threads so that very little state needs to be saved
	and restored when changing thread.

	Multithreading differs from {multitasking} in that threads
	share more of their environment with each other than do tasks
	under multitasking.  Threads may be distinguished only by the
	value of their {program counters} and {stack pointers} while
	sharing a single {address space} and set of {global
	variables}.  There is thus very little protection of one
	thread from another, in contrast to multitasking.

	Multithreading can thus be used for very {fine-grain
	multitasking}, at the level of a few instructions, and so can hide
	{latency} by keeping the processor busy after one thread issues a
	long-latency instruction on which subsequent instructions in that
	thread depend.

	A {light-weight process} is somewhere between a thread and a
	full process.

	{TL0} is an example of a threaded machine language.
	{Dataflow} computation (E.g. {Id} and {SISAL}) is an extreme
	form of multithreading.

	(1997-12-23)

MultiTOS

	<operating system> (MTOS) A new version of {TOS}.  MultiTOS's
	main advantage was support for {pre-emptive multitasking} and
	{memory protection}.  It also supported the latest (and far
	superior) versions of {GEM}.  MultiTOS was supplied with the
	Falcon030 range of computers from {Atari}.

	It is a little known fact that the MultiTOS {kernel} was based
	heavily on the {freeware} OS {MinT} which was developed long
	before Atari got MultiTOS working.

	(1997-01-10)

multi-user

	<operating system> A term describing an {operating system} or
	{application program} that can be used by several people
	concurrently; opposite of {single-user}.  {Unix} is an example
	of a multi-user operating system, whereas most (but not all)
	versions of {Microsoft Windows} are intended to support only
	one user at a time.

	A multi-user system, by definition, supports {concurrent
	processing} of multiple tasks (once known as "{time-sharing}")
	or true {parallel processing} if it has multiple {CPUs}.

	While {batch processing} systems often ran jobs for serveral
	users concurrently, the term "multi-user" typically implies
	{interactive} access.

	Before {Ethernet} networks were commonplace, multi-user
	systems were accessed from a {terminal} (e.g. a {vt100})
	connected via a {serial line} (typically {RS-232}).  This
	arrangement was eventually superseded by networked {personal
	computers}, perhaps sharing files on a {file server}.  With
	the wide-spread availability of Internet connections, the idea
	of sharing centralised resources is becoming trendy again with
	{cloud computing} and {managed applications}, though this time
	it is the overhead of administering the system that is being
	shared rather than the cost of the hardware.

	In gaming, both on PCs and {games consoles}, the equivalent
	term is {multi-player}, though the first multi-player games
	(e.g. {ADVENT}) were on multi-user computers.

	(2009-11-23)

Multi-User Dimension

	<games> (MUD) (Or Multi-User Domain, originally "Multi-User
	Dungeon") A class of multi-player interactive game, accessible
	via the {Internet} or a {modem}.  A MUD is like a real-time
	{chat} forum with structure; it has multiple "locations" like
	an {adventure} game and may include combat, traps, puzzles,
	magic and a simple economic system.  A MUD where characters
	can build more structure onto the database that represents the
	existing world is sometimes known as a "{MUSH}".  Most MUDs
	allow you to log in as a guest to look around before you
	create your own character.

	Historically, MUDs (and their more recent progeny with names
	of MU- form) derive from a hack by Richard Bartle and Roy
	Trubshaw on the University of Essex's {DEC-10} in 1979.  It
	was a game similar to the classic {Colossal Cave} adventure,
	except that it allowed multiple people to play at the same
	time and interact with each other.  Descendants of that game
	still exist today and are sometimes generically called
	BartleMUDs.  There is a widespread myth that the name MUD was
	trademarked to the commercial MUD run by Bartle on {British
	Telecom} (the motto: "You haven't *lived* 'til you've *died*
	on MUD!"); however, this is false - Richard Bartle
	explicitly placed "MUD" in the {PD} in 1985.  BT was upset at
	this, as they had already printed trademark claims on some
	maps and posters, which were released and created the myth.

	Students on the European academic networks quickly improved on
	the MUD concept, spawning several new MUDs ({VAXMUD},
	{AberMUD}, {LPMUD}).  Many of these had associated
	{bulletin-board systems} for social interaction.  Because
	these had an image as "research" they often survived
	administrative hostility to {BBSs} in general.  This, together
	with the fact that {Usenet} feeds have been spotty and
	difficult to get in the UK, made the MUDs major foci of
	hackish social interaction there.

	AberMUD and other variants crossed the Atlantic around 1988
	and quickly gained popularity in the US; they became nuclei
	for large hacker communities with only loose ties to
	traditional hackerdom (some observers see parallels with the
	growth of {Usenet} in the early 1980s).  The second wave of
	MUDs (TinyMUD and variants) tended to emphasise social
	interaction, puzzles, and cooperative world-building as
	opposed to combat and competition.  In 1991, over 50% of MUD
	sites are of a third major variety, LPMUD, which synthesises
	the combat/puzzle aspects of AberMUD and older systems with
	the extensibility of TinyMud.  The trend toward greater
	programmability and flexibility will doubtless continue.

	The state of the art in MUD design is still moving very
	rapidly, with new simulation designs appearing (seemingly)
	every month.  There is now a move afoot to deprecate the term
	{MUD} itself, as newer designs exhibit an exploding variety of
	names corresponding to the different simulation styles being
	explored.

	{UMN MUD Gopher page
	(gopher://spinaltap.micro.umn.edu/11/fun/Games/MUDs/Links)}.

	{U Pennsylvania MUD Web page
	(http://cis.upenn.edu/~lwl/mudinfo.html)}.

	See also {bonk/oif}, {FOD}, {link-dead}, {mudhead}, {MOO},
	{MUCK}, {MUG}, {MUSE}, {chat}.

	{Usenet} newsgroups: {news:rec.games.mud.announce},
	{news:rec.games.mud.admin}, {news:rec.games.mud.diku},
	{news:rec.games.mud.lp}, {news:rec.games.mud.misc},
	{news:rec.games.mud.tiny}.

	(1994-08-10)

Multi-User Dungeon

	{Multi-User Dimension}

Multi-User Shared Hallucination

	<communications, application> (MUSH) A user-extendable {MUD}.
	A MUSH provides commands which the players can use to
	construct new rooms or make objects and puzzles for other
	players to explore.

	{(http://cis.upenn.edu/~lwl/muds.html)}.

	(1995-03-16)

Multi-Version Concurrency Control

	<database> (MVCC) An advanced technique for improving
	multi-user {database} performance.

	The main difference between multiversion and lock models is
	that in MVCC locks acquired for querying (reading) data don't
	conflict with locks acquired for writing data and so reading
	never blocks writing and writing never blocks reading.

	This technique is used in the {free software} database
	{PostgreSQL}.

	(1999-06-18)

multi-way branch

	{switch statement}

MuMath

	<mathematics, tool> A {symbolic mathematics} package for the
	{IBM PC}, written in {MuSimp}.

	(1995-04-12)

mumblage

	/muhm'bl*j/ The topic of one's mumbling (see {mumble}).  "All
	that mumblage" is used like "all that stuff" when it is not
	quite clear how the subject of discussion works, or like "all
	that crap" when "mumble" is being used as an implicit
	replacement for pejoratives.

	[{Jargon File}]

mumble

	1. Said when the correct response is too complicated to
	enunciate, or the speaker has not thought it out.  Often
	prefaces a longer answer, or indicates a general reluctance to
	get into a long discussion.  "Don't you think that we could
	improve LISP performance by using a hybrid reference-count
	transaction garbage collector, if the cache is big enough and
	there are some extra cache bits for the {microcode} to use?"
	"Well, mumble ... I'll have to think about it."

	2. Yet another {metasyntactic variable}, like {foo}.

	3. Sometimes used in "public" contexts on-line as a
	placefiller for things one is barred from giving details
	about.  For example, a poster with pre-released hardware in
	his machine might say "Yup, my machine now has an extra 16M of
	memory, thanks to the card I'm testing for Mumbleco."

	4. A conversational wild card used to designate something one
	doesn't want to bother spelling out, but which can be
	{glark}ed from context.  Compare {blurgle}.

	5. [XEROX PARC] A colloquialism used to suggest that further
	discussion would be fruitless.

	(1997-03-27)

mumble mode

	<jargon> The mode a program, piece of hardware, or other
	system is said to be in when it is still running and perhaps
	reacting to input and/or occasionally producing output
	(especially if it shouldn't), but in a way that appears wildly
	inappropriate to the task it is supposed to perform.

	Compare "{off the trolley}" and "{deep space}".

	(1997-03-27)

MUMPS

	<language> (Or "M") Massachusetts General Hospital Utility
	Multi-Programming System.

	A programming language with extensive tools for the support of
	{database management systems}.  MUMPS was originally used for
	medical records and is now widely used where multiple users
	access the same databases simultaneously, e.g. banks, stock
	exchanges, travel agencies, hospitals.

	Early MUMPS implementations for {PDP-11} and {IBM PC} were
	complete {operating systems}, as well as programming
	languages, but current-day implementations usually run under a
	normal host {operating system}.

	A MUMPS program hardly ever explicitly performs low-level
	operations such as opening a file - there are programming
	constructs in the language that will do so implicitly, and
	most MUMPS programmers are not even aware of the {operating
	system} activity that MUMPS performs.

	Syntactically MUMPS has only one data-type: strings.
	Semantically, the language has many data-types: text strings,
	{binary strings}, {floating point} values, {integer} values,
	{Boolean} values.  Interpretation of strings is done inside
	functions, or implicitly while applying mathematical
	{operators}.  Since many operations involve only moving data
	from one location to another, it is faster to just move
	uninterpreted strings.  Of course, when a value is used
	multiple times in the context of arithmetical operations,
	optimised implementations will typically save the numerical
	value of the string.

	MUMPS was designed for portability.  Currently, it is possible
	to share the same MUMPS database between radically different
	architectures, because all values are stored as text strings.
	The worst an implementation may have to do is swap pairs of
	bytes.  Such multi-CPU databases are actually in use, some
	offices share databases between {VAX}, {DEC Alpha}, {SUN},
	{IBM PC} and {HP} {workstations}.

	Versions of MUMPS are available on practically all {hardware},
	from the smallest ({IBM PC}, {Apple Macintosh}, {Acorn}
	{Archimedes}), to the largest {mainframe}.  MSM ({Micronetics
	Standard MUMPS}) runs on {IBM PC RT} and {R6000}; DSM (Digital
	Standard Mumps) on the {PDP-11}, {VAX}, {DEC Alpha}, and
	{Windows-NT}; {Datatree MUMPS} from {InterSystems} runs on
	{IBM PC}; and {MGlobal MUMPS} on the {Macintosh}.
	Multi-{platform} versions include {M/SQL}, available from
	{InterSystems}, {PFCS} <mumps@pfcs.com> and {MSM}.

	{Greystone Technologies}' GT/M runs on {VAX} and {DEC Alpha}.
	This is a compiler whereas the others are {interpreters}.
	{GT/SQL} is their {SQL} pre-processor.

	ISO standard 11756 (1991).  ANSI standard: "MUMPS Language
	Standard", X11.1 (1977, 1984, 1990, 1995?).

	The MUMPS User's Group was the {M Technology Association}.

	{Usenet} newsgroups: {news:comp.lang.mumps}.

	(2003-06-04)

munch

	To transform information in a serial fashion, often requiring
	large amounts of computation.  To trace down a data structure.
	Related to {crunch} and nearly synonymous with {grovel}, but
	connotes less pain.

	Often confused with {mung}.

	[{Jargon File}]

	(1995-01-10)

munching

	Exploration of security holes of someone else's computer for
	thrills, notoriety or to annoy the system manager.  Compare
	{cracker}.  See also {hacked off}.

	[{Jargon File}]

munching squares

	A {display hack} dating back to the {PDP-1} (ca. 1962,
	reportedly discovered by Jackson Wright), which employs a
	trivial computation (repeatedly plotting the graph Y = X XOR T
	for successive values of T - see {HAKMEM} items 146--148) to
	produce an impressive display of moving and growing squares
	that devour the screen.  The initial value of T is treated as
	a parameter, which, when well-chosen, can produce amazing
	effects.  Some of these, later (re)discovered on the {LISP
	Machine}, have been christened "munching triangles" (try AND
	for XOR and toggling points instead of plotting them),
	"munching w's", and "munching mazes".  More generally, suppose
	a graphics program produces an impressive and ever-changing
	display of some basic form, foo, on a display terminal, and
	does it using a relatively simple program; then the program
	(or the resulting display) is likely to be referred to as
	"munching foos".  [This is a good example of the use of the
	word {foo} as a {metasyntactic variable}.]

munchkin

	/muhnch'kin/ [Squeaky-voiced little people in L. Frank Baum's
	"The Wizard of Oz"] A teenage-or-younger micro enthusiast
	hacking BASIC or something else equally constricted.  A term
	of mild derision - munchkins are annoying but some grow up
	to be hackers after passing through a {larval stage}.  The
	term {urchin} is also used.  See also {wannabee}, {bitty box}.

	[{Jargon File}]

mundane

	<jargon> Someone outside some group that is implicit from the
	context, such as the computer industry or science fiction
	fandom.  The implication is that those in the group are
	special and those outside are just ordinary.

	(2000-07-22)

mung

	/muhng/ (MIT, 1960) Mash Until No Good.

	Sometime after that the derivation from the {recursive
	acronym} "Mung Until No Good" became standard.  1. To make
	changes to a file, especially large-scale and irrevocable
	changes.

	See {BLT}.

	2. To destroy, usually accidentally, occasionally maliciously.
	The system only mungs things maliciously; this is a
	consequence of {Finagle's Law}.

	See {scribble}, {mangle}, {trash}, {nuke}.

	Reports from {Usenet} suggest that the pronunciation /muhnj/
	is now usual in speech, but the spelling "mung" is still
	common in program comments (compare the widespread confusion
	over the proper spelling of {kluge}).

	3. The kind of beans of which the sprouts are used in Chinese
	food.  (That's their real name!  Mung beans!  Really!)

	Like many early hacker terms, this one seems to have
	originated at {TMRC}; it was already in use there in 1958.
	Peter Samson (compiler of the original TMRC lexicon) thinks it
	may originally have been onomatopoeic for the sound of a relay
	spring (contact) being twanged.  However, it is known that
	during the World Wars, "mung" was army slang for the ersatz
	creamed chipped beef better known as "SOS".

	[{Jargon File}]

	(1994-12-02)

munge

	/muhnj/ 1. A derogatory term meaning to imperfectly transform
	information.

	2. A comprehensive rewrite of a routine, data structure or the
	whole program.

	This term is often confused with {mung} and may derive from
	it, or possibly vice-versa.  One correspondent believes it
	derives from the french "mange" /monzh/, eat.

	[{Jargon File}]

	(2002-04-15)

MUP

	{Multiple Universal naming convention Provider}

MU-Prolog

	<language> {Prolog} with "wait" declarations for
	{coroutining}, developed by L. Naish of the {Univeristy of
	Melbourne} in 1982.

	["Negation and Control in Prolog", L. Naish, TR 85/12, U
	Melbourne (1985)].  See {NU-Prolog}.

	(1998-02-14)

Murphy's Law

	<humour> (Or "Sod's Law") The correct, *original* Murphy's Law
	reads: "If there are two or more ways to do something, and one
	of those ways can result in a catastrophe, then someone will
	do it."  This is a principle of defensive design, cited here
	because it is usually given in mutant forms less descriptive
	of the challenges of design for {lusers}.  For example, you
	don't make a two-pin plug symmetrical and then label it "THIS
	WAY UP"; if it matters which way it is plugged in, then you
	make the design asymmetrical (see also the anecdote under
	{magic smoke}).

	Edward A. Murphy, Jr. was one of the engineers on the
	rocket-sled experiments that were done by the US Air Force in
	1949 to test human acceleration tolerances (USAF project
	MX981).  One experiment involved a set of 16 accelerometers
	mounted to different parts of the subject's body.  There were
	two ways each sensor could be glued to its mount, and somebody
	methodically installed all 16 the wrong way around.  Murphy
	then made the original form of his pronouncement, which the
	test subject (Major John Paul Stapp) quoted at a news
	conference a few days later.

	Within months "Murphy's Law' had spread to various technical
	cultures connected to aerospace engineering.  Before too many
	years had gone by variants had passed into the popular
	imagination, changing as they went.  Most of these are
	variants on "Anything that can go wrong, will"; this is
	sometimes referred to as {Finagle's Law}.  The memetic drift
	apparent in these mutants clearly demonstrates Murphy's Law
	acting on itself!

	[{Jargon File}]

	(1998-02-14)

Muse

	<language> {OR-parallel} {logic programming}.

	[Details?]

	(1995-03-16)

museum

	{Museums on the Web
	(http://comlab.ox.ac.uk/archive/other/museums.html)}.
	{(http://galaxy.einet.net/GJ/museums.html)}.

	(1995-03-16)

MUSH

	1. <games> {Multi-User Shared Hallucination}.

	2. <messaging> {Mail Users' Shell}.

Music

	<language, music> A series of languages for musical sound
	synthesis from {Bell Labs}, 1960's.  Versions: Music I through
	Music V.

	["An Acoustical Compiler for Music and Psychological Stimuli",
	M.V. Mathews, Bell Sys Tech J 40 (1961)].

	[{Jargon File}]

	(1999-06-04)

Musical Instrument Digital Interface

	<music, hardware, protocol, file format> (MIDI /mi'-dee/,
	/mee'-dee/) A {hardware} specification and {protocol} used to
	communicate note and effect information between synthesisers,
	computers, music keyboards, controllers, and other electronic
	music devices.  It is basically a high-speed {serial}
	connection with separate connections for MIDI in, MIDI out and
	MIDI through (to allow devices to be chained).

	The basic unit of information is a "note on/off" event which
	includes a note number (pitch) and key velocity (loudness).
	There are many other message types for events such as pitch
	bend, patch changes and synthesizer-specific events for
	loading new patches etc.

	There is a file format for expressing MIDI data which is like
	a dump of data sent over a MIDI port.

	The {MIME} type "audio/midi" isn't actually registered so it
	should probably be "audio/x-midi".

	{Filename} {extension}: .mid or .midi

	{(http://update.uu.se/~vick/Coordinator.html)}.

	{Usenet} newsgroups: {news:comp.music.midi},
	{news:alt.music.midi}.

	(1998-06-27)

Musicam

	<audio, compression> A name for {MPEG-1 Layer 2} used for
	broadcasting.  Common data rates are 192, 224, and 256 kbps.

	(2001-12-13)

MuSimp

	<language> A {Lisp} variant used as the programming language
	for the {IBM PC} {symbolic mathematics} package {MuMath}.

	(1995-04-12)

MUSL

	{Manchester University Systems Language}

mutant

	<programming> {Microsoft}'s term for a {mutex} which is
	generally used in {user mode} but can also be used in {kernel
	mode}.  According to this terminology a mutex is only used in
	kernel mode.

	["Microsoft Windows NT Workstation Resource Kit"].

	(1997-07-30)

Mutation Testing

	<testing> A method to determine {test set thoroughness} by
	measuring the extent to which a test set can discriminate the
	program from slight variants of the program.

	(1996-12-27)

MuTeX

	<tool, music> An extension of {TeX} for typesetting music.

	{(ftp://nic.stolaf.edu/pub/mutex/MuTeX.tar.Z)}.

	(1995-02-06)

mutex

	<parallel> A {mutual exclusion} object that allows multiple
	{threads} to synchronise access to a shared resource.  A mutex
	has two states: locked and unlocked.  Once a mutex has been
	locked by a thread, other threads attempting to lock it will
	block.  When the locking thread unlocks (releases) the mutex,
	one of the blocked threads will acquire (lock) it and proceed.

	If multiple threads or tasks are blocked on a locked mutex
	object, the one to take it and proceed when it becomes
	available is determined by some type of scheduling algorithm.
	For example, in a priority based system, the highest priority
	blocked task will acquire the mutex and proceed.  Another
	common set-up is put blocked tasks on a first-in-first-out
	queue.

	See also: {priority inversion}

	(2002-03-14)

mutter

	To quietly enter a command not meant for the ears, eyes, or
	fingers of ordinary mortals.  Often used in "mutter an
	{incantation}".

	See also {wizard}.

	[{Jargon File}]

	(1995-02-06)

mutual exclusion

	<parallel, operating system> (Or "mutex", plural: "mutexes") A
	collection of techniques for sharing resources so that
	different uses do not conflict and cause unwanted
	interactions.  One of the most commonly used techniques for
	mutual exclusion is the {semaphore}.

	(1995-04-08)

mutually recursive

	{recursion}

mutual recursion

	{recursion}

mux

	{multiplexing}

mv

	<networking> The {country code} for Maldives.

	(1999-01-27)

MVC

	1. <programming> {Model View Controller}.

	2. <filename extension> The {filename extension} of {JPEG}
	images output by {Sony}'s {Mavica} range of {digital cameras}.

	(2002-05-28)

MVCC

	{Multi-Version Concurrency Control}

MVS

	{Multiple Virtual Storage}

MVS/ESA

	{Multiple Virtual Storage}

MVS/OE

	{Multiple Virtual Storage}

MVS/Open Edition

	{Multiple Virtual Storage}

MVS/SP

	{Multiple Virtual Storage}

MVS/XA

	{Multiple Virtual Storage}

mw

	<networking> The {country code} for Malawi.

	(1999-01-27)

MX

	{Mail Exchange Record}

mx

	<networking> The {country code} for Mexico.

	(1999-01-27)

MXI

	{Multisystem eXtention Interface Bus}

MXIbus

	{Multisystem eXtention Interface Bus}

MX Record

	{Mail Exchange Record}

my

	<networking> The {country code} for Malaysia.

	(1999-01-27)

My Favourite Toy Language

	<jargon, language> (MFTL) Describes a talk on a {programming
	language} design that is heavy on {syntax} (with lots of
	{BNF}), sometimes even talks about {semantics} (e.g. {type
	systems}), but rarely, if ever, has any content (see
	{content-free}).  More broadly applied to talks - even when
	the topic is not a programming language --- in which the
	subject matter is gone into in unnecessary and meticulous
	detail at the sacrifice of any conceptual content.  "Well, it
	was a typical MFTL talk".

	2. A language about which the developers are passionate (often
	to the point of prosyletic zeal) but no one else cares about.
	Applied to the language by those outside the originating
	group.  "He cornered me about type resolution in his MFTL."

	The first great goal in the mind of the designer of an MFTL is
	usually to write a compiler for it, then bootstrap the design
	away from contamination by lesser languages by writing a
	compiler for it in itself.  Thus, the standard put-down
	question at an MFTL talk is "Has it been used for anything
	besides its own compiler?".  On the other hand, a language
	that *cannot* be used to write its own compiler is beneath
	contempt.

	{Doug McIlroy} once proposed a test of the generality and
	utility of a language and the {operating system} under which
	it is compiled: "Is the output of a {Fortran} program
	acceptable as input to the Fortran compiler?"  In other words,
	can you write programs that write programs?  Alarming numbers
	of (language, OS) pairs fail this test, particularly when the
	language is Fortran.  Aficionados are quick to point out that
	{Unix} (even using Fortran) passes it handily.  That the test
	could ever be failed is only surprising to those who have had
	the good fortune to have worked only under modern systems
	which lack OS-supported and -imposed "file types".

	See {break-even point}, {toolsmith}.

	(1995-03-07)

MYOB

	<chat> mind your own business.

	(2006-11-22)

MySpace

	<web> A {social networking} website based in
	Beverly Hills, California, USA.

	{MySpace home (http://myspace.com/)}.

	(2006-11-22)

MySQL

	<database> /mi: S Q L/ The most popular {open source}
	{relational database management system}.  MySQL is developed,
	distributed, and supported by {MySQL AB}.

	MySQL was named after co-founder Monty Widenius's daughter,
	My.  It was originally written as a backwards compatible
	replacement for {mSQL}.  It is written in {C}, {C++} and
	{yacc}.  It has become popular for use in {web applications}.

	MySQL supports a broad subset of {ANSI SQL 99} and features
	{views}, {stored procedures}, {triggers}, {cursors},
	replication, {internationalisation} and {localisation},
	partitioning, {ACID transactions}.  MySQL can be embedded in
	other systems or run on a {cluster} for fault tolerance.  A
	commercial version, MySQL Enterprise is available.

	Latest version: 6.0, as of 2009-05-11.

	{MySQL Home (http://mysql.com/)}.

	(2009-05-11)

MySQL AB

	<company> The Swedish company that developes, distributes and
	supports the {MySQL} {open source} {rdbms}.  MySQL AB is a
	subsidiary of {Sun Microsystems}, themselves acquired by
	{Oracle Corporation} on 2009-04-20.

	(2009-05-11)

MYSTIC

	<language> An early system on the {IBM 704}, {IBM 650}, {IBM
	1103} and 1103A.

	[Listed in CACM 2(5):16, May 1959].

	(1995-03-07)

MZ

	<standard, file format> The file signature of an {MS-DOS}
	executable (.{EXE}) file (0x4d 5a), always the first two
	{bytes} of the file.  It was reportedly invented by, and named
	after, a {Microsoft} programmer, Mark Zbikowski.

	In {Unix} systems, the string MZ is the {magic number} that
	identifies an MS-DOS EXE file.

	(2003-06-10)

mz

	<networking> The {country code} for Mozambique.

	(1999-01-27)

N

	<mathematics, programming, jargon> A {variable} typically used
	to stand for a number of objects.

	Used unqualified in speech it suggests a large, undetermined
	number, e.g. "There were N {bugs} in that {crock}!", or a
	number implied by context, e.g. "Let's get pizza for N + 1".

	[{Jargon File}]

	(2006-04-18)

N10

	Original codename of the {Intel} {i860} {microprocessor}.

na

	<networking> The {country code} for Namibia.

	(1999-01-27)

nadger

	<jargon> /nad'jr/ [Great Britain] To modify software or hardware
	in a hidden manner, generally so that it conforms better to some
	format.

	For instance, an {assembly code} {string} printing {subroutine}
	that takes its string {argument} from the instruction stream would
	be called like this:

		jsr print:"Hello world"

	The print routine would use the saved {instruction pointer} (its
	return address) to find its argument and would have to "nadger" it
	so that the processor returns to the instruction after the string.

	[{Jargon File}]

	(2014-07-09)

NAG

	1. {Numerical Algorithms Group}.

	2. The {Linux Network Administrators' Guide}.

Nagling Coalescence

	<networking, algorithm> An algorithm for improving {TCP/IP}
	network performance by combining small {packets} ("tinygrams")
	into larger ones, thus reducing the per-packet overhead.  The
	server transmits the packet either when it has reached a
	preset size or when it receives an acknowledgment of the
	previous packet.

	[Who was Nagling?]

	(1998-11-06)

nagware

	/nag'weir/ [{Usenet}] The variety of {shareware} that displays
	a large screen at the beginning or end reminding you to
	register, typically requiring some sort of keystroke to
	continue so that you can't use the software in batch mode.
	Compare {crippleware}.

	[{Jargon File}]

nailed to the wall

	[like a trophy] Said of a {bug} finally eliminated after
	protracted, and even heroic, effort.

nailing jelly

	{like nailing jelly to a tree}

naive

	Untutored in the perversities of some particular program or
	system; one who still tries to do things in an intuitive way,
	rather than the right way (in really good designs these
	coincide, but most designs aren't "really good" in the
	appropriate sense).  This trait is completely unrelated to
	general maturity or competence or even competence at any other
	specific program.  It is a sad commentary on the primitive
	state of computing that the natural opposite of this term is
	often claimed to be "experienced user" but is really more like
	"cynical user".

	(1994-11-29)

naive user

	A {luser}.  Tends to imply someone who is ignorant mainly
	owing to inexperience.  When this is applied to someone who
	*has* experience, there is a definite implication of
	stupidity.

	[{Jargon File}]

NAK

	{Negative Acknowledgement}

name capture

	<reduction> In {beta reduction}, when a term containing a
	{free} occurrence of a variable v is substituted into another
	term where v is bound the free v becomes spuriously bound or
	"captured".  E.g.

		(\ x . \ y . x y) y  -->  \ y . y y	(WRONG)

	This problem arises because two distinct variables have the
	same name.  The most common solution is to rename the bound
	variable using {alpha conversion}:

		(\ x . \ y' . x y') y --> \ y' . y y'

	Another solution is to use {de Bruijn notation}.

	Note that the argument expression, y, contained a {free
	variable}.  The whole expression above must therefore be
	notionally contained within the body of some {lambda
	abstraction} which binds y.  If we never reduce inside the
	body of a lambda abstraction (as in reduction to {weak head
	normal form}) then name capture cannot occur.

	(1995-03-14)

named

	<networking> Name Daemon.

	<networking> A {Unix} {background} process that converts
	{hostnames} to {Internet addresses} for the {TCP/IP}
	{protocol}.

	{Unix manual page}: named(8).

	See also {DNS}.

	(1995-03-28)

named pipe

	<operating system> A {Unix} {pipe} with a {filename} created
	using the "{mknod}" command.  Named pipes allow unrelated
	processes to communicate with each other whereas the normal
	(un-named) kind can only be used by processes which are parent
	and child or siblings ({fork}ed from the same parent).

	(1996-12-01)

name resolution

	<networking> The process of mapping a name into its
	corresponding address.

	The {Domain Name System} is the system which does name
	resolution on the {Internet}.

	(1997-12-15)

name service switching

	{Domain Name System}

namespace

	<systems> The {set} of all possible identifiers for some kind
	of object.  From the definition of a set, all names in a
	namespace are unique and there is some rule to determine
	whether a potential name is an element of the set.  For
	example, the {Domain Name System} includes rules for
	determining what constitutes a valid host name.

	(2008-12-09)

naming convention

	1. <programming> {variable naming convention}.

	2. <networking> {Universal Naming Convention}.

NaN

	{Not-a-Number}

NAND

	<logic> Not AND.  The {Boolean} function which is true unless
	both its arguments are true, the {logical complement} of
	{AND}:

	A NAND B = NOT (A AND B) = (NOT A) OR (NOT B)

	Its {truth table} is:

		A | B | A NAND B
		--+---+---------
		F | F |    T
		F | T |	   T
		T | F |    T
		T | T |    F

	NAND, like {NOR}, forms a complete set of {Boolean} functions
	on its own since it can be used to make NOT, AND, OR and any
	other Boolean function:

	NOT A = A NAND A

	A AND B = NOT (A NAND B)

	A OR B = (NOT A) NAND (NOT B)

	(1995-01-24)

nano-

	/nan'oh/ 1. <unit> A {prefix} meaning 10^-9 or one billionth.

	Used loosely to mean "small", e.g. {nanotechnology}, or
	(rarely), following "nanosecond", to mean a short time,
	e.g. "I'll be with you in a nano".

	[{Jargon File}]

	(2002-03-02)

nanoacre

	<unit, humour> /nan'oh-ay"kr/ A unit (about 2 mm square) of
	real estate on a {VLSI} {integrated circuit}.  VLSI nanoacres
	have costs in the same range as real acres once one allows for
	design and fabrication setup costs.

	[{Jargon File}]

	(1995-09-20)

nanobot

	<robotics> /nan"oh-bot/ A robot of microscopic proportions,
	presumably built by means of {nanotechnology}.  As yet, only
	used informally (and speculatively!).  Also called a
	"nanoagent".

	[{Jargon File}]

	(1999-07-19)

nanocomputer

	<architecture> /nan'oh-k*m-pyoo'tr/ A computer with
	molecular-sized switching elements.  Designs for mechanical
	nanocomputers which use single-molecule sliding rods for their
	logic have been proposed.  The controller for a {nanobot}
	would be a nanocomputer.

	Some nanocomputers can also be called {quantum computers}
	because quantum physics plays a major role in calculations.
	{Richard P. Feynman} is still cited today for his work in this
	area.

	["Feynman Lectures on Computation", Richard P. Feynman
	(Editor, Author), Robin W. Allen (Editor), Tony Hey (Author)]

	[{Jargon File}]

	(2008-01-14)

nanofortnight

	<jargon> ({Adelaide University}) 10^-9 fortnights or about 1.2
	{milliseconds}.  This unit was used largely by students doing
	undergraduate practicals.

	See {microfortnight}, {attoparsec}, and {micro-}.

	(1996-11-15)

nanometre

	<unit> 10^-9 metres; one thousand millionth part of a metre.

	The wavelength of visible light and dimensions in
	{nanotechnology} are typically measured in nanometres.

	(2003-05-02)

nanosecond

	<unit> (ns) 10^-9 seconds; one thousand millionth part of a
	second.

	This is the unit in which the fundamental logical operations
	of modern digital circuits are typically measured.  For
	example, a {microprocessor} with a {clock} frequency of 100
	{megahertz} will have a 10 nanosecond clock period.

	(1996-11-15)

nanotechnology

	/nan'-oh-tek-no"l*-jee/ Any fabrication technology in which
	objects are designed and built by the specification and
	placement of individual atoms or molecules or where at least
	one dimension is on a scale of {nanometers}.

	The first unequivocal nanofabrication experiments took place
	in 1990, for example with the deposition of individual xenon
	atoms on a nickel substrate to spell the logo of a certain
	very large computer company.

	{Richard P. Feynman's initial public discussion in 1959-12-29
	(http://www.zyvex.com/nanotech/feynman.html)} lead to the
	{Feynman Prize for Nanotechnology
	(http://www.foresight.org/FI/fi_spons.html)}.  Erik Drexler
	coined the term about 30 years later in his book "Engines of
	Creation", where he predicted that nanotechnology could give
	rise to replicating assemblers, permitting an exponential
	growth of productivity and personal wealth.

	See also {nanobot}.

	{(http://lucifer.com/~sean/Nano.html)}.

	(2008-01-14)

Napier

	Atkinson & Morrison, St Andrews U; design began ca. 1985,
	first implementation Napier88, 1988.  Based on {orthogonal
	persistence}, permits definition and manipulation of
	namespaces.

	["The Napier88 Reference Manual", R. Morrison et al, CS Depts
	St Andrews U and U Glasgow, Persistent Programming Research
	Report PPRR-77-89, 1989].

NAPLPS

	North American Presentation-Level-Protocol Syntax.  Format for
	sending text and graphics over communication lines.  Used by
	{videotex} systems.

NAPSS

	Numerical Analysis Problem Solving System.  Purdue ca. 1965.

	["NAPSS - A Numerical Analysis Problem Solving System",
	J.R. Rice et al, Proc ACM 21st Natl Conf, 1966.  Sammet 1969,
	p.299].

narrowband

	<networking> A communication channel with a low data rate.
	[More specific?]

	The term is sometimes used for an {Internet} connection via a
	{dial-up modem}, typically at 56 kbaud, in contrast to
	{broadband}.

	(2003-10-15)

narrowing

	{Unification} followed by {unfolding}.  The left-hand side of
	a {rule} is unified with some term, resulting in a set of
	variable bindings.  The term is then replaced by the
	right-hand side of the rule with values substituted for {bound
	variables}.

NAS

	<networking> 1. {Network Application Support}.

	2. <storage> {Network Attached Storage}.

	3. <company> {National Advanced Systems}.

	(2003-07-20)

nasal demons

	Recognised shorthand on the {Usenet} group comp.std.c for any
	unexpected behaviour of a {C} compiler on encountering an
	undefined construct.  During a discussion on that group in
	early 1992, a regular remarked "When the compiler encounters
	[a given undefined construct] it is legal for it to make
	demons fly out of your nose" (the implication is that the
	compiler may choose any arbitrarily bizarre way to interpret
	the code without violating the {ANSI C} {standard}).  Someone
	else followed up with a reference to "nasal demons", which
	quickly became established.

	[{Jargon File}]

NASI

	{NetWare Asynchronous Services Interface}

	{Novell NetWare}.

nastistical

	<humour, mathematics> A description of a method, thought by
	the programmer to be correct statistics, but which is not.  An
	example is averaging together several averages of samples of
	different sizes.  The correct way to do this is to average
	together all of the individual samples.

	(1997-02-12)

NASTRAN

	NAsa STRess ANalysis program.  A program for solving large
	stress analysis problems.

	["The NASTRAN User's Manual", SP-222(C3), NASA, 1976].

nastygram

	<networking> /nas'tee-gram/ 1. A {network} {packet} or
	{e-mail} message (the latter is also called a {letterbomb})
	that takes advantage of misfeatures or security holes on the
	target system to do untoward things.

	2. Disapproving e-mail, especially from a {net.god}, pursuant
	to a violation of {netiquette} or a complaint about failure to
	correct some mail- or news-transmission problem.  Compare
	{shitogram}, {mailbomb}.

	3. A status report from an unhappy, and probably picky,
	customer.  "What did Corporate say in today's nastygram?"

	4. [deprecated] An error reply by mail from a {daemon}; in
	particular, a {bounce message}.

	[{Jargon File}]

	(2004-02-17)

NAT

	{Network Address Translation}

Nathan Hale

	<character> An {asterisk} ("*", see also {splat}, {ASCII}).
	Notionally, from "I regret that I have only one asterisk for
	my country!" ("life to give" -> "ass to risk" -> "asterisk"),
	a misquote of the famous remark uttered by Nathan Hale just
	before he was hanged.  Hale was a (failed) spy for the rebels
	in the American War of Independence.

	[{Jargon File}]

	(1996-09-22)

National Advanced Systems

	<company> (NAS) A company, previously known as ITEL, that made
	{IBM} {plug-compatible} {hardware} and was bought by Hitachi.

	[Is this correct?  Dates?  US?]

	(2003-07-20)

National Bureau of Standards

	{National Institute of Standards and Technology}

National Center for Supercomputing Applications

	<body, web> (NCSA) The birthplace of the first
	version of the {Mosaic} {web browser}.

	Address: Urbana, IL, USA.

	{(http://ncsa.uiuc.edu/)}.

	[Summary?]

	(1994-10-27)

national characters

	<character> {Characters} with accents and other diacritical
	marks that are used in certain written languages (that are
	based on the Roman alphabet) but not in others, particularly
	not in English.  A standard list is {ISO} {Latin 1}.

	(1996-06-24)

National Database Language

	<database, standard> (NDL) A US {standard} for portability of
	{database} definitions and {application programs}.

	(1996-06-24)

National Information Infrastructure

	<project> (NII, or "{information superhighway}") Future
	integrated communications in the USA.  The NII will be based
	on a nationwide network of networks, and will supposedly allow
	all Americans to take advantage of the country's information,
	communication, and computing resources.

	The NII will include current and future public and private
	high-speed, interactive, {narrow-band} and {broadband}
	networks.  It is the satellite, terrestrial, and wireless
	communications systems that deliver content to homes,
	businesses, and other public and private institutions.  It is
	the information and content that flows over the infrastructure
	whether in the form of {databases}, the written word, a film,
	a piece of music, a sound recording, a picture, or computer
	software.  It is the computers, televisions, telephones,
	radios, and other products that people will employ to access
	the infrastructure.  It is the people who will provide,
	manage, and generate new information, and those that will help
	others do the same.  And it is the individual Americans who
	will use and benefit from the NII.  The NII is a term that
	encompasses all these components and captures the vision of a
	nationwide, invisible, seamless, dynamic web of transmission
	mechanisms, information appliances, content, and people.

	{(http://sunsite.unc.edu/nii/NII-Table-of-Contents.html)}.

	(1995-04-08)

National Information Services and Systems

	(NISS) An information archive service at {Bath University},
	intended primarily for UK eductional institutions.

	{(http://niss.ac.uk/)}.

	(1994-11-23)

National Institute of Standards and Technology

	<body> (NIST, formerly the National Bureau of Standards) A
	United States governmental body that helps develop
	{standards} including {FIPS}.

	{NIST Home (http://nist.gov/)}.

	(2003-06-04)

National Research and Education Network

	(NREN) The realisation of an interconnected gigabit computer
	network devoted to High Performance Computing and
	Communications.

	See also {HPPC}, {IINREN}.

	(1994-11-23)

National Science Foundation

	<body> (NSF) A US government agency that promotes the
	advancement of science by funding science researchers,
	scientific projects and infrastructure to improve the quality
	of scientific research.  The {NSFNET} is funded by NSF.

	{(http://nsf.org/)}.

	(1999-01-15)

National Science Foundation Network

	(NSFNET) A high speed hierarchical "network of networks" in
	the US, funded by the {National Science Foundation}.  At the
	highest level, it is a {backbone} network comprising 16 nodes
	connected to a 45Mb/s facility which spans the continental
	United States.  Attached to that are mid-level networks and
	attached to the mid-levels are campus and local networks.
	NSFNET also has connections out of the US to Canada, Mexico,
	Europe, and the Pacific Rim.  The NSFNET is part of the
	{Internet}.

	(1993-01-01)

National Semiconductor

	<company> A {semiconductor} manufacturer, responsible for the
	{SC/MP}, {National Semiconductor 16000} and {National
	Semiconductor 32000} series of {microprocessors}.

	(2005-06-09)

National Semiconductor 32000

	<processor> (NS32000) <processor> The first of a series of
	{microprocessors} from {National Semiconductor}.  The 320xx
	processors have an interface which allows {coprocessors} such
	as {FPUs} and {MMUs} to be attached in a chain.

	The 320xx was the predecessor of the {Swordfish} processor.

	[Details?]

	(1994-11-17)

National Software Reuse Directory

	(NSRD) A directory of reusable software in the {ASSET} system.

	(1995-02-03)

National Spatial Data Infrastructure

	(NSDI)

	{(http://fgdc.er.usgs.gov/nsdiover.html)}.

	[Summary?]

	(1995-03-06)

National Television Standards Committee

	<electronics> (NTSC) The body defining the television video
	signal format used in the USA.  The UK equivalent is {PAL}.

	Also, humorously, "Never Twice the Same Colour".

	(1997-07-17)

native compiler

	<programming, tool> A {compiler} which runs on the computer
	for which it is producing {machine code}, in contrast to a
	{cross-compiler}, which produces code for a different
	computer.

	(1995-11-04)

Native Language System

	(NLS) A set of interfaces specified by {X/Open} for developing
	applications to run in different {natural language}
	environments.

	(1995-02-03)

NATURAL

	An integrated {4GL} from {Software AG}, Germany.  The
	menu-driven version is SUPER/NATURAL.

	Natural 2 is a major upgrade to Natural 1.

	Version 2.1.7 in the MVS environment (June 1995, also
	available for Unix).

	Natural works with {DB2} and various other {databases}, but
	Natural and {Adabas} normally go together.  There are many
	products available in the "Natural" family, including
	SuperNatural, Natural for Windows, Entire Connection (enables
	up/downloading and interaction with {Excel}) and Esperant.

	(1995-11-14)

natural deduction

	<logic> A set of rules expressing how valid {proofs} may be
	constructed in {predicate logic}.

	In the traditional notation, a horizontal line separates
	{premises} (above) from {conclusions} (below).  Vertical
	ellipsis (dots) stand for a series of applications of the
	rules.  "T" is the constant "true" and "F" is the constant
	"false" (sometimes written with a {LaTeX} {\perp}).

	"^" is the AND ({conjunction}) operator, "v" is the inclusive
	OR ({disjunction}) operator and "/" is NOT (negation or
	{complement}, normally written with a {LaTeX} {\neg}).

	P, Q, P1, P2, etc. stand for {propositions} such as "Socrates
	was a man".  P[x] is a proposition possibly containing
	instances of the variable x, e.g. "x can fly".

	A proof (a sequence of applications of the rules) may be
	enclosed in a box.  A boxed proof produces conclusions that
	are only valid given the assumptions made inside the box,
	however, the proof demonstrates certain relationships which
	are valid outside the box.  For example, the box below
	labelled "Implication introduction" starts by assuming P,
	which need not be a true {proposition} so long as it can be
	used to derive Q.

	Truth introduction:

	 -
	 T

	(Truth is free).

	Binary AND introduction:

	 -----------
	 | .  | .  |
	 | .  | .  |
	 | Q1 | Q2 |
	 -----------
	   Q1 ^ Q2

	(If we can derive both Q1 and Q2 then Q1^Q2 is true).

	N-ary AND introduction:

	 ----------------
	 | .  | .. | .  |
	 | .  | .. | .  |
	 | Q1 | .. | Qn |
	 ----------------
	  Q1^..^Qi^..^Qn

	Other n-ary rules follow the binary versions similarly.

	Quantified AND introduction:

	 ---------
	 | x  .  |
	 |    .  |
	 |  Q[x] |
	 ---------
	 For all x . Q[x]

	(If we can prove Q for arbitrary x then Q is true for all x).

	Falsity elimination:

	 F
	 -
	 Q

	(Falsity opens the floodgates).

	OR elimination:

	   P1 v P2
	 -----------
	 | P1 | P2 |
	 | .  | .  |
	 | .  | .  |
	 | Q  | Q  |
	 -----------
	      Q

	(Given P1 v P2, if Q follows from both then Q is true).

	Exists elimination:

	 Exists x . P[x]
	 -----------
	 | x  P[x] |
	 |     .   |
	 |     .   |
	 |     Q   |
	 -----------
	       Q

	(If Q follows from P[x] for arbitrary x and such an x exists
	then Q is true).

	OR introduction 1:

	    P1
	 -------
	 P1 v P2

	(If P1 is true then P1 OR anything is true).

	OR introduction 2:

	    P2
	 -------
	 P1 v P2

	(If P2 is true then anything OR P2 is true).  Similar
	symmetries apply to ^ rules.

	Exists introduction:

	     P[a]
	 -------------
	 Exists x.P[x]

	(If P is true for "a" then it is true for all x).

	AND elimination 1:

	 P1 ^ P2
	 -------
	    P1

	(If P1 and P2 are true then P1 is true).

	For all elimination:

	 For all x . P[x]
	 ----------------
	       P[a]

	(If P is true for all x then it is true for "a").

	For all implication introduction:

	 -----------
	 | x  P[x] |
	 |     .   |
	 |     .   |
	 |    Q[x] |
	 -----------
	 For all x . P[x] -> Q[x]

	(If Q follows from P for arbitrary x then Q follows from P for
	all x).

	Implication introduction:

	 -----
	 | P |
	 | . |
	 | . |
	 | Q |
	 -----
	 P -> Q

	(If Q follows from P then P implies Q).

	NOT introduction:

	 -----
	 | P |
	 | . |
	 | . |
	 | F |
	 -----
	  / P

	(If falsity follows from P then P is false).

	NOT-NOT:

	 //P
	 ---
	  P

	(If it is not the case that P is not true then P is true).

	For all implies exists:

	 P[a]   For all x . P[x] -> Q[x]
	 -------------------------------
		      Q[a]

	(If P is true for given "a" and P implies Q for all x then Q
	is true for a).

	Implication elimination, modus ponens:

	 P   P -> Q
	 ----------
	      Q

	(If P and P implies Q then Q).

	NOT elimination, contradiction:

	 P   /P
	 ------
	   F

	(If P is true and P is not true then false is true).

	(1995-01-16)

Natural English

	Programming in normal, spoken English.  [Sammet 1969, p.768].

natural language

	<application> A language spoken or written by humans, as
	opposed to a language use to program or communicate with
	computers.

	Natural language understanding is one of the hardest problems
	of {artificial intelligence} due to the complexity,
	irregularity and diversity of human language and the
	philosophical problems of meaning.

	See also {Pleuk grammar development system}, {proof}, {MIT
	"Start" Project (http://start.csail.mit.edu/)}, {New York U
	(http://nyu.edu/pages/linguistics/ling.html)}.

	(2011-01-30)

Natural Language Information Analysis Method

	(NIAM, or Nijssen IAM) A method for {data model}ling.

	["Conceptual Scheme and Relational Database Design", Nijssen
	and Halpin, Prentice-Hall, 1989].

	(1995-03-31)

natural language processing

	<artificial intelligence> (NLP) Computer understanding,
	analysis, manipulation, and/or generation of {natural
	language}.

	This can refer to anything from fairly simple
	string-manipulation tasks like {stemming}, or building
	concordances of natural language texts, to higher-level
	{AI}-like tasks like processing user {queries} in {natural
	language}.

	(1997-09-12)

natural number

	<mathematics> An {integer} greater than or equal to zero.  A
	natural number is an {isomorphism class} of a finite set.

	(1995-03-25)

nature

	{has the X nature}

NAU

	<networking>

	1. {Network Addressable Unit}.

	2. {Network Access Unit}.

	(1997-05-10)

nav bar

	{navigation bar}

navigating

	{navigation}

navigation

	<web> Finding your way around a {website}.
	Many sites have some kind of {navigation bar}.  One of
	the first {web browsers} was called {Netscape Navigator}.

	(2008-11-17)

navigation bar

	<web> (Always abbreviated "nav bar")
	On a {website}, a prominently displayed set
	of {links} to important sections of the site.

	(2008-11-17)

Navigator

	{Netscape Navigator}

Nawk

	New AWK.  AT&T.  Pattern scanning and processing language.  An
	enhanced version of AWK, with dynamic regular expressions,
	additional built-ins and operators, and user-defined
	functions.

NB

	{C}

NBFCP

	{NetBIOS Frames Control Protocol}

NBS

	National Bureau of Standards: part of the US  Department of
	Commerce, now NIST.

NBT

	{NetBios over TCP/IP}

NC

	{Network Computer}

nc

	<networking> The {country code} for New Caledonia.

	(1999-01-27)

NCD

	{Network Computing Devices}

NCP

	<networking>

	1. {IBM} {Advanced Communication Function/Network Control
	Program}.

	2. {Novell, Inc.} {NetWare Core Protocol}.

	(1999-01-20)

NCR Corporation

	<company> Electronics company mainly active in the midrange
	server market.

	NCR was founded 1884 as National Cash Register Company.  It
	joint the computer industry in th 1950s.  In 1991 it was
	absorbed by {AT&T} (see {dinosaurs mating}), only to be spat
	out again in 1996.

	NCR {mainframes} of the 1960's are remembered by some for
	their hardware incompatibility with {IBM} mainframes: NCR
	punched round holes in their {punched cards} while IBM punched
	rectangular ones.  The codes and machines were not compatible
	and information could not be easily shared between NCR and IBM
	customers.

	{(http://ncr.com/)}.

	(1997-03-10)

NCRL

	{Software Writer's Language}

NCR Language

	{Software Writer's Language}

NCS

	Network Computing System: Apollo's RPC system used by DEC and
	Hewlett-Packard.The protocol has been adopted by {OSF}.

NCSA

	{National Center for Supercomputing Applications}

ND

	{natural deduction}

NDIS

	{Network Device Interface Specification}

NDL

	1. {National Database Language}.

	2. {Network Definition Language}.

NDS

	{Netware Directory Services}

ne

	<networking> The {country code} for Niger.

	(1999-01-27)

neat hack

	1. A clever technique.

	2. A brilliant practical joke, where neatness is correlated
	with cleverness, harmlessness, and surprise value.  Example:
	the Caltech Rose Bowl card display switch.  See also {hack}.

	[{Jargon File}]

neats vs. scruffies

	<artificial intelligence, jargon> The label used to refer to
	one of the continuing {holy wars} in {artificial intelligence}
	research.  This conflict tangles together two separate issues.
	One is the relationship between human reasoning and AI;
	"neats" tend to try to build systems that "reason" in some way
	identifiably similar to the way humans report themselves as
	doing, while "scruffies" profess not to care whether an
	{algorithm} resembles human reasoning in the least as long as
	it works.  More importantly, neats tend to believe that
	{logic} is king, while scruffies favour looser, more ad-hoc
	methods driven by empirical knowledge.  To a neat, scruffy
	methods appear promiscuous, successful only by accident and
	not productive of insights about how intelligence actually
	works; to a scruffy, neat methods appear to be hung up on
	formalism and irrelevant to the hard-to-capture "common sense"
	of living intelligences.

	(1994-11-29)

Nebula

	An early business-oriented language from {ICL} for the
	{Ferranti Orion} computer.

	["NEBULA - A Programming Language for Data Processing", T.G.
	Braunholtz et al, Computer J 4(3):197-201 (1961)].

	(1994-11-29)

NEC

	{Nippon Electronics Corporation}

NEC 780-C

	<processor> A copy of the {Zilog Z80A} {microprocessor},
	running at 3.25 MHz.

	The NEC 780-C was the processor used in the Sinclair {ZX-80}.

	(2002-03-11)

needs assessment

	<systems> A systematic process to acquire an accurate,
	thorough picture of a system's strengths and weaknesses, in
	order to improve it and meet existing and future challenges.

	(2007-11-24)

neep-neep

	/neep neep/ [onomatopoeic, from New York SF fandom] One who is
	fascinated by computers.  Less specific than {hacker}, as it
	need not imply more skill than is required to {boot} {games}
	on a {personal computer}.  The derived noun "neeping" applies
	specifically to the long conversations about computers that
	tend to develop in the corners at most SF-convention parties
	(the term "neepery" is also in wide use).  Fandom has a
	related proverb to the effect that "Hacking is a
	conversational black hole!".

	[{Jargon File}]

	(1994-11-29)

negation by failure

	An {extralogical} feature of {Prolog} and other {logic
	programming} languages in which failure of {unification} is
	treated as establishing the negation of a {relation}.  For
	example, if Ronald Reagan is not in our {database} and we
	asked if he was an American, Prolog would answer "no".

	(1994-11-29)

negative acknowledgement

	1. <character> (NAK) The {mnemonic} for {ASCII} character 21.

	Sometimes used as the response to receipt of a corrupted
	{packet} of information.

	Opposite of {acknowledgement}.

	2. <communications> (NAK) Any message transmitted to indicate
	that some data has been received incorrectly, for example it
	may have a {checksum} or message length error.  A NAK message
	allows the sender to distinguish a message which has been
	received in a corrupted state from one which is not received
	at all.

	An alternative is to use only {ACK} messages, in which case
	the non-receipt of an ACK after a certain time is counted as a
	NAK but gives no information about the {integrity} of the
	communications channel.

	See also {ACK}.

	(1997-01-07)

neighborhood bike code

	<humour, programming> A piece of {code} that every programmer at
	the company has touched.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	[{Urban Dictionary: neighborhood bike
	(http://www.urbandictionary.com/define.php?term=neighborhood+bike)}].

	(2014-07-12)

NELIAC

	Navy Electronics Laboratory International ALGOL Compiler.

	An {Algol} variant designed for numeric and logical
	computations and based on {IAL}.  1958-1959.

	Version: BC NELIAC.

	["Neliac - A Dialect of Algol", H.D. Huskey et al, CACM
	3(8):463-468 (Aug 1960)].

	(1994-11-29)

Neon

	Charles Duff.  An object-oriented extension of FORTH, for the
	Mac.  Inheritance, SANE {floating-point}, system classes and
	objects for Mac interfacing, overlays.  Sold by Kriya Systems,
	1985-1988.  Modified, made PD and renamed Yerk.

neophilia

	/nee"oh-fil"-ee-*/ The trait of being excited and pleased by
	novelty.  Common among most hackers, SF fans, and members of
	several other connected leading-edge subcultures, including
	the pro-technology "Whole Earth" wing of the ecology movement,
	space activists, many members of Mensa, and the
	Discordian/neo-pagan underground.  All these groups overlap
	heavily and (where evidence is available) seem to share
	characteristic hacker tropisms for science fiction, music,
	and oriental food.  The opposite tendency is "neophobia".

	[{Jargon File}]

	(1999-06-04)

Neptune

	A hypertext system for computer assisted software engineering,
	developed at Tektronix.

nerd

	<person> A generally pejortive term for any person who is
	socially inept and studious or demonstrates obsessive
	knowledge of something.  For example, a computer nerd.  The
	term first appeared in print in "If I Ran the Zoo", 1950 by
	Dr. Seuss.

	Compare: {geek}.

	(2010-02-28)

Nerd pride

	<body> The Nerd Pride movement, modeled on the Gay Pride
	movement, was started at {MIT} by Professors {Gerald Sussman}
	and {Hal Abelson}.  Nerd pride paraphernalia includes baseball
	hats, buttons and - of course - pocket protectors.

	"My idea is to present an image to children that it is good to
	be intellectual, and not to care about the peer pressures to
	be anti-intellectual.  I want every child to turn into a nerd
	- where that means someone who prefers studying and learning
	to competing for social dominance".

	-- {Gerald Sussman}, quoted by Katie Hafner, "New York Times",
	1994-08-29.

	(1994-11-11)

NERECO

	NEtwork REmote COmmunications.

	{CSP} with extensions to allow asymmetrical and {asynchronous}
	communications and fault handling.  It is implemented on a
	network of {Suns}.

	["A Concurrent Programming Support for Distributed Systems",
	G. Spezzano et al, in Computing Systems vol 3, pp.423-447, U
	Cal Press, 1990].

	(1994-11-11)

NESL

	<language> A parallel language loosely based on {ML},
	developed at {Carnegie Mellon University} by the {SCandAL}
	project.  NESL integrates parallel {algorithms}, {functional
	languages} and implementation techniques from the system's
	community.

	Nested {data parallelism} offers concise code that is easy to
	understand and debug and suits irregular data structures such
	as {trees}, {graphs} or {sparse matrices}.

	NESL's language based performance model is a formal way to
	calculate the "work" and "depth" of a program.  These measures
	can be related to running time on a {parallel computer}.

	NESL was designed to make parallel programming easy and
	portable.  Algorithms are typically more concise in NESL than
	in most other parallel programming languages and the code
	resembles high-level {pseudocode}.  This places more
	responsibility on the {compiler} and {run-time system} for
	achieving good efficiency.

	NESL currently runs on {Unix} {workstations}, the {IBM SP-2},
	the {Thinking Machines} {CM5}, the {Cray} {C90} and {J90}, the
	{MasPar} {MP2}, and the {Intel} {Paragon}.  Work is underway
	(April 1997) on a portable {MPI} {back end}, and an
	implementation for {symmetric multiprocessors}, such as the
	{SGI} {Power Challenge} or the {DEC} {AlphaServer}.

	Latest version: Release 3.1, as of 1995-11-01.

	{Home
	(http://cs.cmu.edu/afs/cs.cmu.edu/project/scandal/public/www/nesl.html)}.

	["NESL: A Nested Data-Parallel Language", Guy Blelloch,
	CMU-CS-93-129, April 1993].

	(1997-04-13)

nested class

	<Java> In {Java}, a {class} defined within an enclosing class
	definition.  A {static} nested class has no direct access to
	the members of its enclosing class whereas a non-static nested
	class, known as an "inner class", is associated with an
	instance of the enclosing class and an instance of the inner
	class has direct access to the members of its enclosing
	instance.

	{Java Tutorial
	(http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html)}.

	[Other languages?]

	(2006-11-19)

net

	1. <networking> {network}.

	2. <networking> {network, the}.

	3. <architecture> {neural network}.

	4. <networking> The {top-level domain} originally for
	networks, although it sees heavy use for {vanity domains} of
	all types.

	[{Jargon File}]

	(1999-01-26)

.NET

	{.NET framework}

net.-

	<convention, networking, messaging> /net dot/ A prefix used to
	describe people and events related to {Usenet} and the
	{Internet}.  The convention dates from the time before the
	{Great Renaming}, when most non-local {Usenet} newsgroups had
	names beginning "net.".  Includes {net.gods}, "net.goddesses"
	(various charismatic net.women with circles of on-line
	admirers), "net.lurkers" (see {lurker}), "net.person",
	"net.parties" (a synonym for {boink}), and many similar
	constructs.

	See also {net.police}.

	[{Jargon File}]

	(1995-03-21)

netaddress

	{Knowbot Information Service}

NetBEUI

	{NetBIOS} Extended User Interface.  The network transport
	{protocol} used by all of {Microsoft}'s network systems and
	{IBM}'s {LAN Server} based systems.

	NetBEUI is often confused with {NetBIOS}.  NetBIOS is the
	{applications programming interface} and NetBEUI is the
	transport protocol.

NetBIOS

	An {applications programming interface} (API) which activates
	{network} operations on {IBM PC} compatibles running under
	{Microsoft}'s {DOS}.  It is a set of network commands that the
	application program issues in order to transmit and receive
	data to another {host} on the network.  The commands are
	interpreted by a {network control program} or {network
	operating system} that is NetBIOS compatible.  See
	{NetBOLLIX}.

NetBIOS Frames Control Protocol

	<protocol> (NBFCP, NBF protocol, originally "NetBEUI
	protocol")

	[RFC 2097]

	[What is it?]

	(1997-05-10)

NetBios over TCP/IP

	<protocol> (NBT) A protocol supporting {NetBIOS} services in a
	{TCP/IP} environment, defined by {RFCs} 1001 and 1002.

	(1997-07-04)

NetBOLLIX

	["bollix": to bungle] {IBM}'s {NetBIOS}, an extremely
	{brain-damaged} {network} {protocol} that, like {Blue Glue},
	is used at commercial shops that don't know any better.

	[{Jargon File}]

NetBSD

	<operating system> An {open source} {Unix} {clone} that aims
	for {platform} independance by a clean separation between the
	{hardware} and the the {kernel}.  It has been ported to many
	platforms from {embedded systems} to 64-bit computers.

	{NetBSD Home (http://netbsd.org/)}.

	(2004-10-08)

netbui

	<spelling> It's spelled "{NetBEUI}".

	(1996-12-23)

netburp

	<networking, chat> (Or "netsplit") When {netlag} gets really
	bad, and delays between {IRC} servers exceed a certain
	threshhold, the network effectively becomes partitioned for a
	period of time, and large numbers of people seem to be signing
	off at the same time and then signing back on again when
	things get better.  An instance of this is called a "netburp"
	(or, sometimes, {netsplit}).

	[{Jargon File}]

	(1996-06-04)

netCDF

	Network Common Data Form.  A machine-independent,
	self-describing file format for scientific data.

Netcom On-line Communication Services, Inc.

	<company> A company providing {Internet} access on {Sun
	Microsystems} computers running {Unix}.  Customers either log
	in to a {shell} running on a Netcom computer, or rent a {SLIP}
	or {PPP} connection and run their own net software.  Most
	hosts are in San Jose, California, but they have {Points of
	Presence} all over the USA.

	{(http://netcom.com/)}.

	Address: 3031 Tisch Way San Jose, CA 95128, USA.

	Telephone: +1 (408) 983 5950, +1 800 353 6600.  Fax: +1 (408)
	241 9145.

	(1996-04-23)

netdead

	<jargon, chat> The state of someone who signs off {IRC},
	perhaps during a {netburp}, and doesn't sign back on until
	later.  In the interim, he is "dead to the net".

	[{Jargon File}]

	(2007-09-02)

Netfind

	A research prototype that provides a simple {Internet} "{white
	pages}" user directory.  It runs on {SunOS} 4.0 or more recent
	systems that are connected to the Internet (however, you can
	run Netfind on one server at your site, and let the others use
	Netfind on that server).  Given the name of a person on the
	Internet and a rough description of where the person works,
	Netfind attempts to locate telephone and electronic mailbox
	information about the person.

	{(ftp://ftp.cs.colorado.edu/pub/cs/distribs/netfind)}.

.NET framework

	<language, tool, library> A software development and execution
	environment designed by {Microsoft} as a direct competitor to
	{Java}.  .NET framework should not be confused with
	{Microsoft}'s past labeling of a line of products as ".NET".

	.NET simplifies interoperability between languages and
	machines on {Microsoft Windows} especially, although not
	specifically, for web based services.  Essentially the .NET
	framework consists of the CLR (common language runtime), CTS
	(common type system), CLS (common language system), and IL
	(intermediate language).

	The CLR consists of a number of resources provided to .NET
	applications such as the security model, type system and .NET
	classes (c.f. Java classes).  The CTS is the range of all
	types that .NET understands although it is not necessarily the
	case that a .NET program will understand all of these types.
	The CLS however is a subset of the CTS which all .NET
	languages must support: any two .NET languages can
	interoperate via. the CLS.

	All .NET languages are at some stage compiled into the IL, a
	{byte-code} like language.  However unlike a standard Java run
	time environment, the IL is converted to {machine code} either
	upon installation of the software or at {run time} by a {just
	in time compiler} (JIT).  The IL is not interpretted.

	.NET's main weakness is that Microsoft have ignored the {Unix}
	and {mainframe} environments, effectively ruling .NET out of
	use in many {enterprise} environments.  However there is
	{Mono} - an {open source} .NET framework for Unix}.

	.NET was based on research by Steven Lucco on a product called
	{OmniVM}, sold by {Colusa software}.  Attracted to OmniVM
	since VB and C/C++ environments were already available,
	Microsoft bought Colusa in 1996.  Microsoft provides .NET
	compilers for {C#}, {C++}, {VB}, and {Jscript}.

	(2003-09-24)

net.god

	<person> /net god/ Accolade referring to anyone who satisfies
	some combination of the following conditions: has been visible
	on {Usenet} for more than 5 years, ran one of the original
	backbone sites, moderated an important newsgroup, wrote news
	software, or knows Gene, Mark, Rick, Mel, Henry, Chuq, and
	Greg personally.

	Net.goddesses such as Rissa or the Slime Sisters have (so far)
	been distinguished more by personality than by authority.

	See {demigod}.

	[{Jargon File}]

	(1996-01-07)

NetHack

	<games> /net'hak/ (Unix) A dungeon game similar to {rogue} but
	more elaborate, distributed in {C} source over {Usenet} and
	very popular at {Unix} sites and on {PC}-class machines
	(nethack is probably the most widely distributed of the
	{freeware} dungeon games).  The earliest versions, written by
	Jay Fenlason and later considerably enhanced by Andries
	Brouwer, were simply called "hack".  The name changed when
	maintenance was taken over by a group of hackers originally
	organised by Mike Stephenson.

	Version: NetHack 3.2 (Apr 1996?).

	{(http://win.tue.nl/games/roguelike/nethack/)}.

	{FAQ
	(ftp://rtfm.mit.edu/pub/usenet/rec.games.roguelike.nethack/)}.

	{FTP U Penn (ftp://linc.cis.upenn.edu/pub/NH3.1/)} No large
	downloads between 9:00 and 18:00 local or the directory will
	be removed.

	{Usenet} newsgroup: {news:rec.games.roguelike.nethack}.

	E-mail: <nethack-bugs@linc.cis.upenn.edu>.

	(1996-06-13)

netiquette

	<convention, networking> /net'ee-ket/ or /net'i-ket/ Network
	etiquette.

	The conventions of politeness recognised on {Usenet} and in
	{mailing lists}, such as not (cross-)posting to inappropriate
	groups and refraining from commercial advertising outside the
	biz groups.

	The most important rule of netiquette is "Think before you
	post".  If what you intend to post will not make a positive
	contribution to the newsgroup and be of interest to several
	readers, don't post it!  Personal messages to one or two
	individuals should not be posted to newsgroups, use private
	e-mail instead.

	When following up an article, quote the minimum necessary to
	give some context to your reply and be careful to attribute
	the quote to the right person.  If the article you are
	responding to was posted to several groups, edit the
	distribution ("Newsgroups:") header to contain only those
	groups which are appropriate to your reply, especially if the
	original message was posted to one or more inappropriate
	groups in the first place.

	Re-read and edit your posting carefully before you post.
	Check the spelling and grammar.  Keep your lines to less than
	70 characters.  Don't post test messages (except to test
	groups) - wait until you have something to say.  When posting
	humorous or sarcastic comments, it is conventional to append
	a {smiley}, but don't overuse them.

	Before asking a question, read the messages already in the
	group and read the group's {FAQ} if it has one.  When you do
	post a question, follow it with "please reply by mail and I
	will post a summary if requested" and make sure you DO post a
	summary if requested, or if only a few people were interested,
	send them a summary by mail.  This avoids umpteen people
	posting the same answer to the group and umpteen others
	posting "me too"s.

	If you believe someone has violated netiquette, send them a
	message by __private e-mail__, DO NOT post a follow-up to the
	news.  And be polite, they may not realise their mistake, they
	might be a beginner or may not even have been responsible for
	the "crime" - their account may have been used by someone else
	or their address forged.

	Be proud of your postings but don't post just to see your name
	in pixels.  Remember: your future employer may be reading.

	{Netiquette for Usenet Site Administrators
	(http://ancho.ucs.indiana.edu/FAQ/USAGN/index.html)}.

	{"net.acceptable"
	(http://marketing.tenagra.com/net-acceptable.html)}.

	[{Jargon File}]

	(1999-10-18)

NETL

	A {semantic network} language, for {connectionist}
	architectures.

	["NETL: A System for Representing and Using Real-World Data",
	S.E. Fahlman, MIT Press 1979].

	(1995-01-05)

netlag

	<networking> A condition that occurs when the delays in the
	{IRC} network, a {MUD} connection, a {telnet} connection, or
	any other networked interactive system, become severe enough
	that servers briefly lose and then reestablish contact,
	causing messages to be delivered in bursts, often with delays
	of up to a minute.  (Note that this term has nothing to do
	with mainstream "jet lag").

	[{Jargon File}]

	(1996-06-21)

NetLingo

	<computing, reference> An on-line dictionary of more than 3000
	terms, started in 1995 and updated monthly.  NetLingo contains
	simple explanations and comprehensive coverage, including
	{chat} acronyms and {smilies}.  It is also available in {dead
	tree} form.

	{NetLingo Home (http://netlingo.com/)}.

	(2004-09-12)

netload

	A program to down-load {Excelan} {TCP/IP} software.  The
	host's {Ethernet} address can be specified as

		netload -e aabbccddeeff

	where aabbccddeeff is a 12 {hexadecimal} digit number.

	(1994-12-14)

Netmarq Limited

	A small technical consultancy specialising in the testing of
	network components.  They do performance tests of network
	interface cards, {routers}, {hubs}, {file servers}, etc.  To
	reflect the marketplace, most tests are carried out in a
	{Novell NetWare} environment, although they can equally well
	use {Lan server}, {Banyan Vines}, {NT Advanced Server}, {IBM
	PC} Support.  They claim to be Europe's leading such test lab
	and compete with US Labs such as {LanQuest} and {NSTL}.  They
	also do some network design, installation, support, and
	troubleshooting.

	E-mail: <netmarq@cix.compulink.co.uk>.

	(1994-12-14)

netmask

	<networking> A 32-bit {bit mask} which shows how an {Internet
	address} is to be divided into network, {subnet} and host
	parts.  The netmask has ones in the bit positions in the 32-bit address which are to be used for the network and subnet
	parts, and zeros for the host part.  The mask should contain
	at least the standard network portion (as determined by the
	address's {class}), and the subnet field should be contiguous
	with the network portion.

	If a `+' (plus sign) is given for the netmask value, then the
	network number is looked up in the {NIS} netmasks.byaddr map
	(or in the /etc/netmasks) file if not running the NIS service.

	{Unix manual page}: ifconfig(8).

	(1995-01-30)

NetNanny

	<networking> A small program for children to block access to
	certain sites.

	[Company?  Address?]

	(1997-02-12)

netnews

	/net'n[y]ooz/ 1. The software that makes {Usenet} run.

	2. The content of {Usenet}.  "I read netnews right after my
	mail most mornings."

	[{Jargon File}]

	(1994-12-14)

net.personality

	Someone who has made a name for him or herself on {Usenet},
	through either longevity or attention-getting posts, but
	doesn't meet the other requirements of {net.god}hood.

	[{Jargon File}]

netpipes

	<networking> A package by Robert Forsman <thoth@cis.ufl.edu>
	to manipulate {BSD Unix} {TCP/IP} stream {sockets}.  The
	netpipes package makes TCP/IP streams usable in {shell
	scripts}.  It can also simplify {client-server} code by
	allowing the programmer to skip all the tedious programming
	related to sockets and concentrate on writing a
	filter/service.

	{(http://cis.ufl.edu/~thoth/netpipes/)}.

	(1996-10-03)

net.police

	/net-p*-lees'/ (Or "net police", "net.cops") Those {Usenet}
	readers who feel it is their responsibility to pounce on and
	{flame} any posting which they regard as offensive or in
	violation of their understanding of {netiquette}.  Generally
	used sarcastically or pejoratively.

	See also {net.-}, {code police}.

	[{Jargon File}]

netquette

	<spelling> It's spelled "{netiquette}".

	(1999-09-30)

Netrek

	<games> A 16-player graphical {real-time} battle simulation
	with a Star Trek theme.  The game is divided into two teams of
	eight (or less), who dogfight each other and attempt to
	conquer each other's planets.  There are several different
	types of ships, from fast, fragile scouts up to big, slow
	battleships; this allows a great deal of variance in play
	styles.  Netrek is played using a {client} to connect to one
	of several Netrek {servers} on the {Internet}.  There is a
	metaserver which distributes details of games in progress on
	other servers.

	See also {ogg}.

	[Dates?  Versions?  Authors?  Addresses?]

	(1998-02-01)

netrock

	/net'rok/ (IBM) A {flame}; used especially on {VNET}, {IBM}'s
	internal corporate network.

	[{Jargon File}]

	(1994-11-18)

Netscape

	1. {Netscape Navigator}.

	2. {Netscape Communications Corporation}.

Netscape Communications Corporation

	<company> (Formlerly "Mosaic Communications Corporation", MCC)
	A company set up in April 1994 by {Dr. James H. Clark} and
	{Marc Andreessen} <marca@netcom.com> (creator of the {NCSA}
	{Mosaic} program) to market their version of {Mosaic}, known
	as {Netscape} or {Mozilla}.

	They {changed their name
	(http://netscape.com/newsref/pr/newsrelease5.html)} on
	1994-11-14 to reflect their other activities rather than just
	their browser based on {Mosaic}.

	{(http://netscape.com/)}.

	Address: 501 East Middlefield Road, Mountain View, CA 94043,
	USA.

	Telephone: +1 (415) 254 1900.  Fax: +1 (415) 254 2601.

	(2000-02-08)

Netscape Navigator

	<networking, tool, product> /Mozilla/ (Often called just
	"Netscape") A {web browser} from {Netscape
	Communications Corporation}.  The first {beta-test} version
	was released free to the {Internet} on 13 October 1994.
	Netscape evolved from {NCSA} {Mosaic} (with which it shares at
	least one author) and runs on the {X Window System} under
	various versions of {Unix}, on {Microsoft Windows} and on the
	{Apple Macintosh}.

	It features integrated support for sending {electronic mail}
	and reading {Usenet} news, as well as {RSA encryption} to
	allow secure communications for commercial applications such
	as exchanging credit card numbers with net retailers.  It
	provides multiple simultaneous interruptible text and image
	loading; native inline {JPEG} image display; display and
	interaction with documents as they load; multiple independent
	windows.  Netscape was designed with 14.4 kbps modem links in
	mind.

	You can download Netscape Navigator for evaluation, or for
	unlimited use in academic or not-for-profit environments.  You
	can also pay for it.

	Version: 1.0N.

	{(ftp://ftp.netscape.com/netscape/)}.

	E-mail: <sales@netscape.com>.

	(1995-01-25)

Netscape Public License

	{open source license}

netsplit

	{netburp}

netstat

	<networking> (Or "rstat") A {Unix} command to give statistics
	about the {network} including {socket} status, interfaces that
	have been auto-configured, memory statistics, {routing}
	tables.

	{Unix manual pages}: rstat(3), netstat(8).

	(1996-06-04)

netter

	1. Loosely, anyone with a {network address}.

	2. More specifically, a {Usenet} regular.  Most often found in
	the plural.  "If you post *that* in a technical group, you're
	going to be flamed by angry netters for the rest of time!"

	[{Jargon File}]

NetWare

	{Novell NetWare}

NetWare Core Protocol

	<networking> (NCP) A {Novell} trademark for the {protocol}
	used to access {Novell NetWare} file and print service
	functions.  It uses an underlying {IPX} or {IP} {transport
	protocol}.

	(1995-11-11)

Netware Directory Services

	<networking> (NDS) {Novell, Inc.}'s {directory services} for
	{Netware}, {Windows NT}, and {Unix}.  The NDS directory
	represents each {network} resource (user, hardware, or
	application) as an {object} of a certain {class}, where each
	class has certain properties.  For example, User and Print
	Server are object classes and a user has over 80 properties
	such as name, login, password, department, and title.

	The directory is hierarchical, divided into branches by {rules
	of containment}.  A given object can only belong to a given
	container (or branch).  The rules governing classes,
	properties and, {rules of containment} are known as the
	{schema}.

	(2001-03-20)

Netware Input/Output Subsystem

	<operating system, networking> (NIOS) The lowest {layer} in
	the {Novell NetWare} {client} architecture.  NIOS is the
	interface layer between the client operating system and the
	32-bit client services provided by NetWare.

	{(http://developer.novell.com/research/appnotes/1996/november/01/04.htm)}.

	(1999-04-24)

NetWare Link State Protocol

	<networking, protocol> (NLSP) A companion {protocol} to {IPX}
	for exchange of {routing} information in a {Novell}
	{network}.  NLSP supersedes Novell's {RIP}.

	(1997-03-04)

network

	<networking> Hardware and software data communication systems.

	The {OSI} seven layer model attempts to provide a way of
	partitioning any computer network into independent modules
	from the lowest (physical) layer to the highest (application)
	layer.  Many different specifications exist at each of these
	layers.

	Networks are often also classified according to their
	geographical extent: {local area network} (LAN), {metropolitan
	area network} (MAN), {wide area network} (WAN) and also
	according to the {protocols} used.

	See {BITNET}, {Ethernet}, {Internet}, {Novell}, {PSTN},
	{network, the}.

	[Tanenbaum, A., "Computer Networks; 2nd ed.", Prentice Hall,
	Englewood Cliffs, NJ, 1989.]

	(1995-03-10)

network address

	<networking> 1. The network portion of an {IP address}.  For a
	{class A} network, the network address is the first {byte} of
	the IP address.  For a {class B network}, the network address
	is the first two bytes of the IP address.  For a {class C
	network}, the network address is the first three bytes of the
	IP address.  In each case, the remainder is the {host
	address}.  In the {Internet}, assigned network addresses are
	globally unique.

	See also {subnet address}, {Internet Registry}.

	2. (Or "net address") An {electronic mail} address on {the
	network}.  In the 1980s this might have been a {bang path} but
	now (1997) it is nearly always a {domain address}.  Such an
	address is essential if one wants to be to be taken seriously
	by {hackers}; in particular, persons or organisations that
	claim to understand, work with, sell to, or recruit from among
	hackers but *don't* display net addresses are quietly presumed
	to be clueless poseurs and mentally {flush}ed.

	Hackers often put their net addresses on their business cards
	and wear them prominently in contexts where they expect to
	meet other hackers face-to-face (e.g. {science-fiction
	fandom}).  This is mostly functional, but is also a signal
	that one identifies with hackerdom (like lodge pins among
	Masons or tie-dyed T-shirts among Grateful Dead fans).  Net
	addresses are often used in e-mail text as a more concise
	substitute for personal names; indeed, hackers may come to
	know each other quite well by network names without ever
	learning each others' real monikers.

	See also {sitename}, {domainist}.

	[{Jargon File}]

	(1997-05-10)

Network Addressable Unit

	<networking> (NAU) The {SNA} term for an {addressable entity}.
	Examples include {PUs}, {LUs}, and {SSCPs}.

	(1997-05-10)

Network Address Translation

	<networking> (NAT, or Network Address Translator, Virtual LAN)
	A technique in which a {router} or {firewall} rewrites the
	source and/or destination {Internet addresses} in a packet as
	it passes through, typically to allow multiple {hosts} to
	connect to the {Internet} via a single external {IP address}.
	NAT keeps track of outbound connections and distributes
	incoming packets to the correct machine.

	NAT is an alternative to adopting {IPv6} (IPng).  It allows
	the same IP addresses (10.x.x.x is the conventional range) to
	be used on many private local networks while requiring only
	one of the increasingly scarce public addresses to be
	allocated to each private network.

	NAT does not however allow an external service to initiate a
	TCP connection to an internal host, nor does it support
	stateless protocols based on UDP well unless the router
	software has extensions to support each specific protocol.

	(2005-09-18)

Network Address Translator

	{Network Address Translation}

Network Administrator

	<job> A person who manages a communications {network} within
	an organisation.  Responsibilities include network {security},
	installing new applications, distributing software upgrades,
	monitoring daily activity, enforcing licensing agreements,
	developing a {storage management} program and providing for
	routine {backups}.

	(2004-03-20)

Network Application Support

	<networking> (NAS) {DEC}'s approach to {applications
	integration} across a {distributed} multivendor environment.

	(2003-06-30)

Network Attached Storage

	<networking, storage> (NAS) {Fixed disks}, {RAID} arrays, and
	{magnetic tape} drives connected directly to a {Storage Area
	Network} (SAN) or other direct network connection.  This is in
	contrast to a {file server} where the peripherals are
	connected to the network via a computer (the server).

	(2003-06-30)

network byte order

	<networking> The order in which the {bytes} of a multi-byte
	number are transmitted on a network - most significant byte
	first (as in "{big-endian}" storage).  This may or may not
	match the order in which numbers are normally stored in memory
	for a particular processor.

	{(http://sun.com/realitycheck/headsup980803.html)}.
	{(http://hp.com/unixwork/whatsnew/fyi/bissue/aug98/article3.htm)}.

	(1998-11-15)

network card

	{network interface controller}

network closet

	<networking> The place where {network} {hardware} (other than
	cabling) is installed.  The space should be used primarily for
	storage, be dry, and have electricity available.  Since
	network equipment rarely needs attention once installed and
	tested, the network closet can have limited accessibility.

	(1995-05-05)

Network Computing Devices

	<company> (NCD) Producer of {X terminals}, {PC-Xware} and
	{Z-Mail}.

	{(http://ncd.com/)}.

	(1998-10-07)

network database

	<database> A kind of {database management system} in which
	each record type can have multiple owners, e.g. orders are
	owned by both customers and products.  This contrasts with a
	{hierarchical database} (one owner) or {relational database}
	(no explicit owner).

	(1998-10-07)

Network Definition Language

	(NDL) The language used to program the DCP (Data
	Communications Processor) on {Burroughs Large System}.

	Version: NDL II.

	(1994-12-12)

Network Device Interface Specification

	<networking, hardware, standard> (NDIS) A {Microsoft Windows
	device driver} programming interface allowing multiple
	{protocols} to share the same {network} {hardware}.
	E.g. {TCP/IP} and {IPX} on the same {NIC}.  NDIS can also be
	used by some ISDN adapters.

	A protocol manager accepts requests from the {transport layer}
	and passes them to the {data link layer} (routed to the
	correct network interface if there is more than one).

	NDIS was developed by {Microsoft} and {3COM}.  {Novell} offers
	a similar device driver for NetWare called Open Data-Link
	Interface (ODI).

	The NDIS 2.0 specification was 5000 lines.

	Latest version: NDIS 5.0, as of 2000-10-30.

	{(http://microsoft.com/hwdev/devdes/ndis5.htm)}.

	{cdrom.com NDIS archive
	(ftp://ftp.cdrom.com/pub/os2/network/ndis/)}.

	["3TECH, The 3COM Technical Journal", Winter 1991].

	(2000-10-30)

network engineer

	<job> A high-level {LAN}/{WAN} technician who plans,
	implements and supports {network} solutions between multiple
	{platforms}.  A network engineer installs and maintains local
	area network hardware and software, and troubleshoots network
	usage and computer {peripherals}.  He may have {CNE}
	certification.

	(2004-03-20)

Network extensible Window System

	(NeWS) An elegant {PostScript}-based windowing environment,
	invented by James Gosling, the author of {GOSMACS}.

	NeWS would almost certainly have won the {standards} war with
	the {X Window System} if it hadn't been {proprietary} to {Sun
	Microsystems}.  There is a lesson here that too many software
	vendors haven't yet heeded.  Communication is based on
	{PostScript} and server functions can be extended.

	See also {HyperNeWS}, {OpenWindows}.

	(1994-12-12)

Network File System

	<networking, operating system> (NFS) A {protocol} developed by
	{Sun Microsystems}, and defined in {RFC 1094}, which allows a
	computer to access files over a network as if they were on its
	local disks.  This {protocol} has been incorporated in
	products by more than two hundred companies, and is now a {de
	facto} standard.  NFS is implemented using a {connectionless
	protocol} ({UDP}) in order to make it {stateless}.

	See {Nightmare File System}, {WebNFS}.

	(1994-12-12)

Network Filing System

	<spelling> Misnomer for {Network File System}.

Network Information Center

	(NIC) A body that provides information, assistance and
	services to {network} users.  These will typically include
	telephone and {electronic mail} "help desk" type services for
	users and network information services such as {hostnames} and
	addresses which are accessed automatically by computers using
	some {client-server} protocol (usually Sun's {NIS}).

	See also {Network Operations Center}.

	(1994-12-13)

Network Information Service

	<networking, protocol> (NIS) {Sun Microsystems}' Yellow Pages
	(yp) {client-server} {protocol} for distributing system
	configuration data such as user and host names between
	computers on a network.

	Sun licenses the technology to virtually all other {Unix}
	vendors.

	The name "Yellow Pages" is a registered trademark in the
	United Kingdom of British Telecommunications plc for their
	(paper) commercial telephone directory.  Sun changed the name
	of their system to NIS, though all the commands and functions
	still start with "yp", e.g. {ypcat}, {ypmatch}, {ypwhich}.

	{Unix manual pages}: yp(3), ypclnt(3), ypcat(1), ypmatch(1).

	(1995-04-08)

Network Information System

	<spelling> A mis-expansion of {NIS}.

	(1995-04-08)

networking

	{network}

network interface card

	{network interface controller}

network interface controller

	<hardware, networking> (NIC or "network interface card") An
	adapter circuit board installed in a computer to provide a
	physical connection to a network.

	[Examples?  Attributes?]

	(1996-03-04)

network layer

	<networking> (communications subnet layer) The third lowest
	layer in the {OSI} seven layer model.  The network layer
	determines routing of {packets} of data from sender to
	receiver via the {data link layer} and is used by the
	{transport layer}.  The most common network layer {protocol}
	is {IP}.

	(1994-12-13)

network layer reachability information

	<networking> (NLRI) Keywords used for {unicast} and
	{multicast} {database} forwarding.  For example, you would
	assign a user's NLRI so the user can receive multicast
	messages regarding hardware down time that will affect a
	specific user group.

	[Reference?]

	(2002-06-01)

network management

	<networking> The process of controlling a {network} so as to
	maximise its efficiency and productivity.  {ISO}'s model
	divides network management into five categories: {fault
	management}, {accounting management}, {configuration
	management}, {security management} and {performance
	management}.

	Fault management is the process of identifying and locating
	faults in the network.  This could include discovering the
	existence of the problem, identifying the source, and possibly
	repairing (or at least isolating the rest of the network from)
	the problem.

	Configuration management is the process of identifying,
	tracking and modifying the setup of devices on the network.
	This category is extremely important for devices that come
	with numerous custom settings (e.g. {routers} and {file
	servers}).

	Security management is the process of controlling (granting,
	limiting, restricting or denying) access to the network and
	resources thereon.  This could include setting up and managing
	{access lists} in {routers} (creating "{firewalls}" to keep
	intruders out), creating and maintaining password access to
	critical network resources, identifying the points of entry
	used by intruders and closing them.

	Performance Management is the process of measuring the
	performance of various network components.  This also includes
	taking measures to optimise the network for maximum system
	performance (periodically measuring of the use of network
	resources).

	{Usenet} newsgroup: {news:comp.dcom.net-management}.

	["Network Management: A Practical Perspective", Allan Leinwand
	and Karen Fang].

	(1994-11-18)

network meltdown

	<networking> (By analogy with catastrophic failure of a
	nuclear reactor) An event that causes saturation, or near
	saturation, of a network.  Network meltdown usually results
	from illegal or misrouted {packets} (see {Chernobyl packet})
	and typically lasts only a short time.  It may also be caused
	by a {hardware} fault.  It is the network equivalent of
	{thrashing}.

	[{Jargon File}]

	(2004-02-17)

Network News Transfer Protocol

	(NNTP) A {protocol} defined in {RFC} 977 for the distribution,
	inquiry, retrieval and posting of {Usenet} {news} articles
	over the {Internet}.  It is designed to be used between a
	{news reader} {client} such as {nn} or {GNUS} and a news
	{server}.  It is normally used on a connection to {TCP} {port}
	119 on the news {server}.  NNTP is a simple {ASCII} text
	protocol so even if you don't have a news reader program, you
	can just connect to the server using {telnet}:

		telnet news 119

	where news is the name of your server
	(e.g. news.doc.ic.ac.uk).  Typing HELP will give a list of
	other commands.

network node

	<networking> (node) An addressable device attached to a
	computer {network}.  If the node is a computer it is more
	often called a "host".

	(2004-08-25)

Network Node Interface

	<networking> (NNI) The {ATM Forum}'s specification for
	connections between network nodes.  NNI makes network
	{routing} possible.  It typically refers to {backbone} trunk
	connections between ATM switching equipment.

	See also: {UNI}.

	(2001-03-26)

network number

	{network address}

Network Operating System

	<operating system> (NOS) The {operating system} on {Control
	Data Corporation}'s {Cyber Computer}.

	[Details?]

	(2002-11-22)

network operating system

	<networking, operating system> (NOS) An {operating system}
	which includes {software} to communicate with other computers
	via a {network}.  This allows resources such as files,
	{application programs}, and {printers} to be shared between
	computers.

	Examples are {Berkeley Software Distribution} {Unix},
	{Novell}, {LAntastic}, {MS LAN Manager}.

	[Is there a specific OS called "Network Operating System"?]

	(2001-03-13)

Network Operations Center

	(NOC) A location from which the operation of a {network} or
	{internet} is monitored.  Additionally, this center usually
	serves as a clearinghouse for connectivity problems and
	efforts to resolve those problems.

	See also {Network Information Center}.

	(1994-12-01)

network operator

	<job> A person who monitors and maintains the operation of a
	communications network.  A network operator troubleshoots
	hardware (cables, {routers}, {network switches}, {hubs},
	{network adaptors}), software, and transmission problems.

	(2004-03-09)

network redirector

	<networking> An {operating system} {driver} that sends data to
	and receives data from a remote device.  A network redirector
	often provides mechanisms to locate, open, read, write, and
	delete files and submit print jobs.

	It also makes available application services such as {named
	pipes} and {mailslots}.  When an application needs to send or
	receive data from a remote device, it sends a call to the
	redirector.  The redirector provides the functionality of the
	{Application layer} and {Presentation layer} of the {OSI}
	model.

	In {Microsoft Networking}, the network redirectors are
	implemented as {installable file systems} (IFS).

	(1999-08-08)

network segment

	<networking> A part of an {Ethernet} or other network, on
	which all message traffic is common to all nodes, i.e. it is
	broadcast from one node on the segment and received by all
	others.  This is normally because the segment is a single
	continuous conductor, though it may include {repeaters}(?).

	Since all nodes share the physical medium, {collision
	detection} or some other {protocol} is required to determine
	whether a message was transmitted without interference from
	other nodes.  The receiving node inspects the destination
	address of a {packet} to tell if it was (one of) the intended
	recipient(s).

	Communication between nodes on different segments is via one
	or more {routers}.

	(1996-10-16)

Network Solutions, Inc.

	<company> (NSI) One of the three companies that provide and
	coordinate {InterNIC} services for the {NSFNet}.  NSI is
	responsible for registration.  NSI has been bought by, and is
	now a wholly-owned subsidiary of, {Science Applications
	International Corporation} (SAIC).

	(1995-11-09)

network storm

	{broadcast storm}

Network Termination

	(NT, NT1) A device connecting the customer's data or telephone
	equipment to the local {ISDN} exchange carrier's line.  The NT
	device provides a connection for {terminal equipment} (TE) and
	{terminal adaptor} (TA) equipment to the {local loop}.

	(1994-11-30)

network, the

	1. <jargon, networking> (Or "the net") The union of all the
	major noncommercial, academic and hacker-oriented networks,
	such as {Internet}, the old {ARPANET}, {NSFnet}, {BITNET}, and
	the virtual {UUCP} and {Usenet} "networks", plus the corporate
	in-house networks and commercial {time-sharing} services (such
	as {CompuServe}) that gateway to them.

	A site was generally considered "on the network" if it could
	be reached by {electronic mail} through some combination of
	Internet-style (@-sign) and UUCP ({bang-path}) addresses.
	Since the explosion of the Internet in the mid 1990s, the term
	is now synonymous with the Internet.

	See {network address}.

	2. <body> A fictional conspiracy of libertarian
	hacker-subversives and anti-authoritarian monkeywrenchers
	described in Robert Anton Wilson's novel "Schrödinger's Cat",
	to which many {hackers} have subsequently decided they belong
	(this is an example of {ha ha only serious}).

	[{Jargon File}]

	(1999-01-26)

Network Time Protocol

	(NTP) A {protocol} built on top of {TCP/IP} that assures
	accurate local timekeeping with reference to radio, atomic or
	other clocks located on the {Internet}.  This protocol is
	capable of synchronizing distributed clocks within
	milliseconds over long time periods.  It is defined in {STD}
	12, {RFC 1119}.

network topology

	<networking> The "shape" of a network, how the {nodes} are
	connected to each other.  Common topologies are {bus network},
	{star network} and {ring network}.

	(2009-07-16)

network transparency

	<networking> A feature of an {operating system} or other
	service which lets the user access a remote resource through a
	{network} without having to know if the resource is remote or
	local.

	For example {NFS} allow users to access remote files as if
	they were local files.

	(1996-12-21)

NetX

	<company> A LukeCo Company that designs {web pages} and web
	software.  Not to be confused with {Net:X}.

	{(http://members.aol.com/netx11/index.html)}.

	(1996-12-15)

Net:X

	<company> A Canadian company.  Not to be confused with {NetX}.

	{(http://netx.ca/)}.

	[Summary?]

	(1998-06-25)

neural nets

	{artificial neural network}

neural network

	{artificial neural network}

neuron

	{artificial neural network}

Neutral Interconnect

	Network infrastructure where network service providers can
	freely exchange traffic without policy restrictions.  Examples
	are the GIX (Global Internet Exchange) at MAE-East (A
	Metropolitan Area Ethernet around Washington), and the Ebone
	(European Backbone).  There is currently (November 1993) no UK
	Neutral Interconnect.

neutrosophic

	{Neutrosophy}

neutrosophic logic

	<logic> (Or "Smarandache logic") A generalisation of {fuzzy
	logic} based on {Neutrosophy}.  A {proposition} is t true, i
	indeterminate, and f false, where t, i, and f are real values
	from the ranges T, I, F, with no restriction on T, I, F, or
	the sum n=t+i+f.  Neutrosophic logic thus generalises:

	- {intuitionistic logic}, which supports incomplete theories
	(for 0<n<100 and i=0, 0<=t,i,f<=100);

	- {fuzzy logic} (for n=100 and i=0, and 0<=t,i,f<=100);

	- {Boolean logic} (for n=100 and i=0, with t,f either 0 or
	100);

	- {multi-valued logic} (for 0<=t,i,f<=100);

	- {paraconsistent logic} (for n>100 and i=0, with both
	t,f<100);

	- {dialetheism}, which says that some contradictions are true
	(for t=f=100 and i=0; some {paradoxes} can be denoted this
	way).

	Compared with all other logics, neutrosophic logic introduces
	a percentage of "indeterminacy" - due to unexpected parameters
	hidden in some propositions.  It also allows each component
	t,i,f to "boil over" 100 or "freeze" under 0.  For example, in
	some {tautologies} t>100, called "overtrue".

	{(http://gallup.unm.edu/~smarandache/NeutLog.txt)}.

	["Neutrosophy / Neutrosophic probability, set, and logic",
	F. Smarandache, American Research Press, 1998].

	(1999-10-04)

neutrosophic probability

	<logic> An extended form of probability based on
	{Neutrosophy}, in which a statement is held to be t true, i
	indeterminate, and f false, where t, i, f are real values from
	the ranges T, I, F, with no restriction on T, I, F or the sum
	n=t+i+f.

	{(http://gallup.unm.edu/~smarandache/NeutProb.txt)}.

	["Neutrosophy / Neutrosophic Probability, Set, and Logic",
	Florentin Smarandache, American Research Press, 1998].

	(1999-10-04)

neutrosophic set

	<logic> A generalisation of the {intuitionistic set},
	classical set, {fuzzy set}, {paraconsistent set}, {dialetheist
	set}, {paradoxist set}, {tautological set} based on
	{Neutrosophy}.  An element x(T, I, F) belongs to the set in
	the following way: it is t true in the set, i indeterminate in
	the set, and f false, where t, i, and f are real numbers taken
	from the sets T, I, and F with no restriction on T, I, F, nor
	on their sum n=t+i+f.

	The neutrosophic set generalises:

	- the {intuitionistic set}, which supports incomplete set
	theories (for 0<n<100 and i=0, 0<=t,i,f<=100);

	- the {fuzzy set} (for n=100 and i=0, and 0<=t,i,f<=100);

	- the classical set (for n=100 and i=0, with t,f either 0 or
	100);

	- the {paraconsistent set} (for n>100 and i=0, with both
	t,f<100);

	- the {dialetheist set}, which says that the intersection of
	some disjoint sets is not empty (for t=f=100 and i=0; some
	paradoxist sets can be denoted this way).

	{(http://gallup.unm.edu/~smarandache/NeutSet.txt)}.

	["Neutrosophy / Neutrosophic Probability, Set, and Logic",
	Florentin Smarandache, American Research Press, 1998].

	(1999-12-14)

neutrosophic statistics

	<statistics> Analysis of events described by {neutrosophic
	probability}.

	["Neutrosophy / Neutrosophic Probability, Set, and Logic",
	Florentin Smarandache, American Research Press, 1998].

	(1999-07-05)

Neutrosophy

	<philosophy> (From Latin "neuter" - neutral, Greek "sophia" -
	skill/wisdom) A branch of philosophy, introduced by Florentin
	Smarandache in 1980, which studies the origin, nature, and
	scope of neutralities, as well as their interactions with
	different ideational spectra.

	Neutrosophy considers a {proposition}, theory, event, concept,
	or entity, "A" in relation to its opposite, "Anti-A" and that
	which is not A, "Non-A", and that which is neither "A" nor
	"Anti-A", denoted by "Neut-A".  Neutrosophy is the basis of
	{neutrosophic logic}, {neutrosophic probability},
	{neutrosophic set}, and {neutrosophic statistics}.

	{(http://gallup.unm.edu/~smarandache/NeutroSo.txt)}.

	["Neutrosophy / Neutrosophic Probability, Set, and Logic",
	Florentin Smarandache, American Research Press, 1998].

	(1999-07-29)

Never Offline

	<software> (NOL) /noh-el/ A software service provided by
	{America's Multimedia Online} that allows {Internet} users to
	be constantly connected to the Internet.

	{(http://neveroffline.com/)}.

	[But what *is* it?]

	(1999-11-03)

newbie

	<jargon> /n[y]oo'bee/ (Sometimes shorted to "noob") Originally
	from British public-school and military slang variant of "new
	boy", an inexperienced user.

	This term surfaced in the {newsgroup} {news:talk.bizarre} but
	is now in wide use.  Criteria for being considered a newbie
	vary wildly; a person can be called a newbie in one group
	while remaining a respected regular in another.  The label
	"newbie" is sometimes applied as a serious insult to a person
	who has been around for a long time but who carefully hides
	all evidence of having a clue.

	See {BIFF}.

	[{Jargon File}]

	(2007-08-02)

New Flavors

	An {object-oriented} {Lisp} from {Symbolics}, the successor to
	{Flavors}, it led to {CLOS}.

	["Reference Guide to Symbolics-Lisp", Symbolics, March 1985].

	(1994-10-10)

newgroup wars

	/n[y]oo'groop worz/ [{Usenet}] The salvos of dueling
	"newgroup" and "rmgroup" messages sometimes exchanged by
	persons on opposite sides of a dispute over whether a
	{newsgroup} should be created net-wide, or (even more
	frequently) whether an obsolete one should be removed.  These
	usually settle out within a week or two as it becomes clear
	whether the group has a natural constituency (usually, it
	doesn't).  At times, especially in the completely anarchic alt
	hierarchy, the names of newsgroups themselves become a form of
	comment or humour; e.g. the spinoff of
	alt.swedish.chef.bork.bork.bork from alt.tv.muppets in early
	1990, or any number of specialised abuse groups named after
	particularly notorious {flamers}, e.g. alt.weemba.

	[{Jargon File}]

New Jersey

	[Primarily Stanford/Silicon Valley] Brain-damaged or of poor
	design.  This refers to the allegedly wretched quality of such
	software as {C}, {C++} and {Unix} (which originated at {Bell
	Labs} in Murray Hill, New Jersey).  "This compiler bites the
	bag, but what can you expect from a compiler designed in New
	Jersey?"  Compare {Berkeley Quality Software}.  See also {Unix
	conspiracy}.

newline

	<character, jargon> /n[y]oo'li:n/ {Line feed} or other
	character sequence used to terminate a line of text.

	{Unix} uses {line feed} as its text line terminator - a
	{Bell-Labs}-ism rather than a {Berkeley}ism.  Interestingly
	(and unusually for Unix jargon), it is said to have originally
	been an {IBM} usage.  Though the term "newline" appears in
	{ASCII} {standards}, it never caught on in the general
	computing world before {Unix}.  The encoding of line feed as
	"\n" in {C} and {Unix} strings comes from this name.

	The term has been used more generally for any {end of line}
	character, character sequence (e.g. {crlf}), or operation
	(like {Pascal}'s writeln procedure or {Lisp 1.5}'s {terpri})
	required to terminate a text record or separate lines.

	[{Jargon File}]

	(1997-07-14)

NEWP

	{NEW Programming language}

NEW Programming language

	<language> (NEWP) A language which replaced {ESPOL} on the
	{Burroughs Large System}.

	(1994-12-13)

NeWS

	/nee'wis/, /n[y]oo'is/ or /n[y]ooz/ {Network extensible Window
	System}.

	Many hackers insist on the two-syllable pronunciations above
	as a way of distinguishing NeWS from {news} (the {netnews}
	software).

	[{Jargon File}]

news

	{netnews}

NewsClip

	A very high level language designed for writing {netnews
	filters}.  It translates into {C}.  It includes support for
	various {newsreaders}.  Version 1.01 includes a translator
	from NewsClip to {C}, examples and documentation.

	NewsClip was written by {Looking Glass Software} Ltd. and is
	distributed and used by {ClariNet Communications} Corporation  It is
	only supported for ClariNet customers.  Output of the filters
	may not be sold and donation for use of this program is hinted
	at.

	E-mail: <newsclip@clarinet.com>.

	(1992-10-25)

newsfroup

	<messaging, humour> A silly synonym for {Usenet} {newsgroup},
	originally a typo but now in regular use on {Usenet}'s
	{news:talk.bizarre} and other lunatic-fringe groups.

	Compare {hing}, {grilf}, and {filk}.

	[{Jargon File}]

	(1994-12-13)

newsgroup

	<messaging> One of {Usenet}'s huge collection of topic groups
	or {fora}.  {Usenet} groups can be "unmoderated" (anyone can
	post) or "moderated" (submissions are automatically directed
	to a {moderator}, who edits or filters and then posts the
	results).  Some newsgroups have parallel {mailing lists} for
	{Internet} people with no netnews access, with postings to the
	group automatically propagated to the list and vice versa.
	Some moderated groups (especially those which are actually
	gatewayed {Internet} {mailing lists}) are distributed as
	"{digests}", with groups of postings periodically collected
	into a single large posting with an index.

	Among the best-known are comp.lang.c (the {C}-language forum),
	comp.arch (on computer architectures), comp.Unix.wizards (for
	{Unix wizards}), rec.arts.sf-lovers (for science-fiction
	fans), and talk.politics.misc (miscellaneous political
	discussions and {flamage}).

	Barry Shein <bzs@world.std.com> is alleged to have said,
	"Remember the good old days when you could read all the group
	names in one day?"  This gives a good idea of the growth and
	size of {Usenet}.

	See also {netiquette}.

	[{Jargon File}]

	(1994-12-13)

newsletter

	<publication> A periodically published work containing news
	and announcements on some subject, typically with a small
	circulation.  Newsletters are a common application for {DTP}
	and may be distributed by {electronic mail}.

	(1996-12-10)

Newspeak

	A language inspired by {Scratchpad}.

	[J.K. Foderaro.  "The Design of a Language for Algebraic
	Computation", Ph.D. Thesis, UC Berkeley, 1983].

Newsqueak

	A {concurrent} {applicative} language with {synchronous}
	channels.

	["Newsqueak: A Language for Communicating with Mice", R. Pike
	CSTR143, Bell Labs (March 1989)].

	["The Implementation of Newsqueak", Rob Pike, Soft Prac & Exp
	20(7):649-659 (July 1990)].

.newsrc

	<messaging> (news run commands) The configuration file for the
	{Unix} {rn} {news reader}.

	See also {rc}.

	(1996-04-09)

news reader

	<messaging> A {browser} program which enables a user to read
	articles posted to {Usenet}.  Articles may be stored in a
	local (or {NFS}-mounted) {spool} directory, or retrieved via
	{NNTP}.

	Examples are {rn}, {GNUS}, and {nn}.

	(1996-04-09)

New Storage System

	<storage> (NSS) A major {Multics} implementation project
	during the 1970s.  The initial Multics {file system} design
	had evolved from the one-huge-disk world of {CTSS}.  When
	multiple disk units were used they were just assigned
	increasing ranges of disk addresses, so a {segment} could have
	{pages} scattered over all disks on the system.  This provided
	good {I/O} {parallelism} but made {crash recovery} expensive.
	NSS redesigned the lower levels of the file system,
	introducing the concepts of {logical volume} and {physical
	volume} and a mapping from a Multics directory branch to a
	{VTOC} entry for each file.  The new system had much better
	recovery performance in exchange for a small space and
	performance cost.

	(1997-01-29)

new talk

	{ntalk}

New Testament

	[C programmers] The second edition of {K&R}'s "The C
	Programming Language" (Prentice-Hall, 1988; ISBN
	0-13-110362-8), describing {ANSI C}.

	[{Jargon File}]

Newton

	1. (Named after Isaac Newton (1642-1727)).  Rapin et al, Swiss
	Federal Inst Tech, Lausanne 1981.  General purpose expression
	language, syntactically ALGOL-like, with object-oriented and
	functional features and a rich set of primitives for
	concurrency.  Used for undergraduate teaching at Lausanne
	(EPFL).

	Versions: Newton 2.6 for VAX/VMS and Newton 1.2 for
	DEC-Alpha/{OSF}-1.

	E-mail: J. Hulaas <hulaas@lcodec1.epfl.ch>.
	{(ftp://ellc4.epfl.ch /pub/languages/Newton)}.

	["Procedural Objects in Newton", Ch. Rapin, SIGPLAN Notices
	24(9) (Sep 1989)].

	["The Newton Language", Ch. Rapin et al, SIGPLAN Notices
	16(8):31-40 (Aug 1981)].

	["Programming in Newton", Wuetrich and Menu, EPFL 1982].

	2. {Apple Newton}.

	(2000-08-29)

Newton-Raphson iteration

	<algorithm> An iterative {algorithm} for solving equations.
	Given an equation,

		f x = 0

	and an initial approximation, x(0), a better approximation is
	given by:

		x(i+1) = x(i) - f(x(i)) / f'(x(i))

	where f'(x) is the first derivative of f, df/dx.

	Newton-Raphson iteration is an example of an {anytime
	algorithm} in that each approximation is no worse than the
	previous one.

	(2007-06-19)

Newton's method

	{Newton-Raphson}

NewWave

	A graphical user interface and object-oriented environment
	from Hewlett-Packard, based on Windows and available on Unix
	workstations.

NewYacc

	A {parser generator} by Jack Callahan
	<callahan@mimsy.cs.umd.edu>.  Version 1.0.

	{(ftp://flubber.cs.umd.edu/src/)}.

	[Dec 89 CACM, A brief overview of NewYacc].

	(1992-02-10)

New York State Educational Reasearch  ETwork

	(NYSERNET) A New York {Internet} access provider and regional
	network.  NYSERNet has been in the Internet business since
	about 1985 and have recently upgraded to a {T3} backbone (45
	megabits per second).  They work with {Sprint}, {NYNEX} and
	Rochester Telephone.

	NYSERNet, Inc., provides Internet Training provided through
	the NYSERNet Internet Training and Education Center (NITEC), a
	twenty-four station hands-on facility in Syracuse, NY.  The
	Information Services Group supplies tools for marketing via
	the {Internet} and NYSERNET also provide Technical Consulting
	Services.

	{(http://nysernet.org/)}.

	E-mail: <info@nysernet.org>.

	(1995-02-01)

New York University

	(NYU) Established in 1831, New York University today includes
	thirteen schools, colleges and divisions located in New York
	City's borough of Manhattan, as well as research centers and
	programs in the surrounding suburbs and abroad.

	{(http://nyu.edu/)}.

NEXOR

	<company> A technology company that specialises in providing
	electronic communication software products and services to a
	worldwide market.  It is also the home of {CUSI}.

	{(http://nexor.com/)}.

	(1997-11-10)

Nexpert Object

	An {expert system}.

NeXT, Inc.

	<company> The company founded by {Steve Jobs} [in ?] following
	his involuntary departure from {Apple Computer, Inc.}.  NeXT
	produced both the hardware and {operating system}
	({NEXTSTEP}).  They changed their name to "NeXT Software" when
	they stopped making hardware and released NEXTSTEP For {Intel}
	processors.  The company was bought by Apple in 1997(?).

	(1999-11-25)

Next Program Counter

	<architecture> (nPC) A {register} in a {CPU} that contains the
	{address} of the {instruction} to be executed next.

	(2000-07-12)

NEXTSTEP

	<operating system> The original {multitasking} {operating
	system} that {NeXT, Inc.} developed to run on its proprietary
	{NeXT} computers (informally known as "black boxes").
	NEXTSTEP includes a specific {graphical user interface}, an
	interface builder, {object-oriented} application builder, and
	several "kits" of prebuilt software {objects} such as the
	Indexing Kit for {databases}.  This software runs on top of
	NeXT's version of the {Mach} operating system on {NeXT},
	{486}, {Pentium}, {HP-PA}, and {Sun} {SPARC} computers.

	The official spelling changed from "NeXTstep" to "NeXTStep" to
	"NeXTSTEP", and finally "NEXTSTEP".

	The last release of NEXTSTEP was 3.3, which NeXT then
	developed into "{OpenStep}".

	{TjL's Pages (http://peak.org/~luomat/)}.
	{Peanuts (http://peanuts.org/peanuts/NEXTSTEP/)}.

	See also: {GNUStep}.

	(2003-05-23)

nf

	<networking> The {country code} for Norfolk Island.

	(1999-01-27)

NFA

	{Finite State Machine}

NFQL

	["NFQL: The Natural Forms Query Language", D. Embley, Trans
	Database Sys 14(2):168-211 (June 1989)].

NFS

	{Network File System}

NFT

	{Network File Transfer}.  An INTERLINK command on CERNVM.

ng

	<networking> The {country code} for Nigeria.

	(1999-01-27)

NGL

	A dialect of {IGL}.

NHOH

	<chat> Never heard of him/her.  Often used in {initgame}.

	(1998-01-18)

ni

	<networking> The {country code} for Nicaragua.

	(1999-01-27)

NIAL

	Nested Interactive Array Language.

	A high-level {array}-oriented language from {Queen's
	University}, Canada, based on {Array Theory} as developed by
	Trenchard More Jr.

	{Q'NIAL} is an implementation in {C}.

	["Programming Styles in NIAL", M.A.  Jenkins et al, IEEE
	Software 3(1):46-55 (Jan 1986)].

	(1995-01-25)

NIAL Systems Ltd.

	Distributors of {Q'NIAL}.

	Address: Ottawa Canada.

	Telephone: Canada (613) 234 4188.

	(1995-01-25)

NIAM

	{Natural Language Information Analysis Method} (or Nijssen IAM).

nibble

	<data> /nib'l/ (US "nybble", by analogy with "bite" -> "byte")
	Half a {byte}.  Since a byte is nearly always eight {bits}, a
	nibble is nearly always four bits (and can therefore be
	represented by one {hex} digit).

	Other size nibbles have existed, for example the {BBC
	Microcomputer} disk file system used eleven bit sector numbers
	which were described as one byte (eight bits) and a nibble
	(three bits).

	Compare {crumb}, {tayste}, {dynner}; see also {bit}, {nickle},
	{deckle}.

	The spelling "nybble" is uncommon in {Commonwealth Hackish} as
	British orthography suggests the pronunciation /ni:'bl/.

	(1997-12-03)

Nibble Mode DRAM

	<storage> A standard {DRAM} where four successive {bits} can
	be clocked out of the single data line by successive pulses on
	the CAS\ line while RAS\ is active.  A column address is only
	required for the first bit.

	This mode is now unfashionable but can be found on some older
	64 kilobit and 256 kilobit chips.

	(1997-12-03)

NIC

	1. <networking> {Network Information Center}.

	2. <hardware> {Network Interface Card}.

	(1996-02-13)

NIC.DDN.MIL

	<networking> {Defense Data Network}'s {Network Information
	Center}.

	(1996-02-13)

NICE

	The {Nonprofit International Consortium for Eiffel}.

nick

	[IRC] nickname.  On {IRC}, every user must pick a nick, which
	is sometimes the user's real name or login name, but is often
	more fanciful.  Compare {handle}.

	[{Jargon File}]

nickle

	/ni'kl/ ["nickel", common name for the US 5-cent coin] A
	{nibble} + 1; 5 bits.  Reported among developers for Mattel's
	{GI 1600} (the {Intellivision} games processor), a chip with
	16 bit-wide {RAM} but 10 bit-wide {ROM}.  See also {deckle}.

NICOL I

	1. Small subset of PL/I by (Massachusetts) Computer Assoc,
	ca. 1965.  Version: NICOL II (1967).  Sammet 1969, p.542.

	2. ICL, 1968. [same as 1?]

NIFOC

	<chat> Naked in front of computer.  Possibly also typing with
	one hand.

	(2001-03-11)

Nightmare File System

	Pejorative hackerism for {Sun}'s {Network File System} (NFS).
	In any nontrivial network of Suns where there is a lot of NFS
	{cross-mount}ing, when one Sun goes down, the others often
	freeze up.  Some machine tries to access the down one, and
	(getting no response) repeats indefinitely.  This causes it to
	appear dead to some messages (what is actually happening is
	that it is locked up in what should have been a brief
	excursion to a higher {spl} level).  Then another machine
	tries to reach either the down machine or the pseudo-down
	machine, and itself becomes pseudo-down.  The first machine to
	discover the down one is now trying both to access the down
	one and to respond to the pseudo-down one, so it is even
	harder to reach.  This situation snowballs very quickly, and
	soon the entire network of machines is frozen - worst of
	all, the user can't even abort the file access that started
	the problem!

	Many of NFS's problems are excused by partisans as being an
	inevitable result of its {stateless}ness, which is held to be
	a great feature (critics, of course, call it a great
	{misfeature}).  {ITS} partisans are apt to cite this as proof
	of {Unix}'s alleged bogosity; ITS had a working NFS-like
	shared file system with none of these problems in the early
	1970s.  See also {broadcast storm}.

	[{Jargon File}]

night mode

	{phase}

NIH

	The United States National Institutes of Health.

NIHCL

	A {class library} for {C++} from the US National Institutes of
	Health (NIH).

NII

	{National Information Infrastructure}

NIKL

	Frame language.

	["Recent Developments in NIKL", T.R. Kaczmarek et al, Proc
	AAAI-86, 1986].

Niklaus Wirth

	<person> The designer of the {Modula-2}, {Modula-3}, and, in
	around 1970, {Pascal} programming languages.

	[More info?]

	(2001-09-22)

NIL

	/nil/ 1. New Implementation of Lisp.  A language intended to
	be the successor of {MacLisp}.  A large {Lisp}, implemented
	mostly in {VAX} {assembly language}.  A forerunner of {Common
	LISP}.

	["NIL: A Perspective", Jon L. White, MACSYMA Users' Conf Proc,
	1979].

	2. Network Implementation Language.  Strom & Yemini, TJWRC,
	IBM.  Implementation of complex networking protocols in a
	modular fashion.

	["NIL: An Integrated Language and System for Distributed
	Programming", R. Strom et al, SIGPLAN Notices 18(6):73-82
	(June 1983)].

	3. Empty list or False.  In {Lisp}, the empty list (or "nil
	list") is used to represent the {Boolean} value False.  This
	is possible because {Lisp} is not typed.  True is represented
	by the special {atom} "t".

	4. Spoken in reply to a question, particularly one asked using
	the "-P" convention it means "No".  Most hackers assume this
	derives simply from LISP, but NIL meaning "no" was
	well-established among radio hams decades before LISP existed.
	The historical connection between early hackerdom and the ham
	radio world was strong enough that this may have been an
	influence.

	[{Jargon File}]

niladic

	<programming> A less common synonym for "{nullary}",
	presumably following the more common {monadic}, {dyadic}, etc.
	The term was in use as early as 1976, and probably originated
	in {APL}.

	[APL: An Interactive Approach, 1976].

	(2001-01-27)

Ninety-Ninety Rule

	<humour> "The first 90% of the code accounts for the first 90%
	of the development time.  The remaining 10% of the code
	accounts for the other 90% of the development time".

	An aphorism attributed to Tom Cargill of Bell Labs, and
	popularised by Jon Bentley's September 1985 "Bumper-Sticker
	Computer Science" column in "Communications of the ACM".  It
	was there called the "Rule of Credibility", a name which seems
	not to have stuck.

	[{Jargon File}]

	(1995-07-14)

Nintendo

	<company, games> A Japanese {video game} hardware manufacturer
	and software publisher.  Nintendo started by making playing
	cards, but was later dominant in video games throughout the
	1980s and early 1990s worldwide.  They make lots of games
	consoles including the Gameboy, Gameboy Advance SP, DS, DS
	Lite and the Wii.

	{Nintendo home (http://nintendo.com/)}.

	(2008-03-08)

NIOS

	{Netware Input/Output Subsystem}

nipple

	{Trackpoint}

NIS

	{Network Information Service}

NISO

	National Information Standards Organisation (USA).  NISO
	Standards cover many aspects of library science, publishing,
	and information services, and address the application of both
	traditional and new technologies to information services.

NISS

	{National Information Services and Systems}

NIST

	{National Institute of Standards and Technology}

NJCL

	Network Job Control Language.

	["NJCL - A Network Job Control Language", J. du Masle et al,
	IFIP Congress 1974].

	(1995-02-03)

nl

	<networking> The {country code} for the Netherlands (Holland).

	(1999-01-27)

NLANR

	{National Laboratory for Applied Network Research}

NLM

	{Netware Loadable Module}

NLP

	1. <application> {Natural Language Processing}.

	2. <networking> {Network Layer Protocol}.

NLRI

	{network layer reachability information}

NLS

	{Native Language System}

NLSP

	{NetWare Link State Protocol}

NLX

	<hardware, standard> A low-profile, low {TCO} {motherboard}
	design created jointly by {Intel Corp.}, {IBM}, {DEC} and
	other PC vendors.  In contrast to the traditional single-board
	design, NLX uses a {riser} card to carry {PCI}, {ISA} and
	{AGP} {bus} data (despite {Intel}'s stated intent to rid PC
	motherboards of the {ISA} {bus} by 2000).

	Version 1.2 of NLX is the final specification, and was frozen
	in March 1997.  Minor modifications appear in the form of
	"Engineering Change Requests".

	{(http://teleport.com/~nlx/)}.

	{Intel (http://intel.com/design/motherboard/nlx.htm)}.

	["NLX Motherboard Specification", various, pub. Intel Corp. 1997]

	(1998-09-21)

NMI

	{Non-Maskable Interrupt}

nML

	<language> A specification language for {instruction sets},
	based on {attribute grammars}, for {back-end generators}.

	["The nML Machine Description Formalism", M. Freericks
	<mfx@cs.tu-berlin.de> TR TU Berlin, FB20, Bericht 1991/15].

	(1995-11-28)

NMU

	{Non-Maintainer Upload}

NN

	{neural network}

nn

	<tool, messaging> A {terminal based} program for reading
	{Usenet} {news} by Kim F. Storm <storm@texas.dk>, Texas
	Instruments A/S, Denmark.

	nn lets you decide which of the many {news groups} you are
	interested in, and unsubscribe to those which don't interest
	you.  nn lets you select articles to read from a menu in each
	of the groups you subscribe.  nn sorts and presents new
	articles very quickly because it uses its own local database
	to maintain all the necessary information (this database is
	built and maintained by the nnmaster program).

	The {NNTP} support was designed and implemented by Ren'e
	Seindal, Institute of Datalogy, University of Copenhagen,
	Denmark.

	E-mail: <nn-bugs@dkuug.dk> (bugs, fixes, suggestions, etc.)

	{Usenet} newgroup: {news:news.software.nn}.

	(1995-12-04)

NNI

	{Network Node Interface}

NNTP

	<messaging> {Network News Transfer Protocol}.

	(1996-02-26)

no

	<networking> The {country code} for Norway.

	(1999-01-27)

NOC

	{Network Operations Center}

NODAL

	Interpreted language implemented on Norsk Data's NORD-10
	computers.  Used by CERN and DESY high energy physics labs to
	control their accelerator hardware, PADAC and SEDAC.  Included
	trackball input, graphics.

Nodal Switching System

	(NSS) Main {routing} nodes in the {NSFnet} {backbone}.

noddy

	/nod'ee/ [UK: from the children's books] 1. Small and
	un-useful, but demonstrating a point.  Noddy programs are
	often written by people learning a new language or system.
	The archetypal noddy program is {hello, world}.  Noddy code
	may be used to demonstrate a feature or bug of a compiler.
	May be used of real hardware or software to imply that it
	isn't worth using.  "This editor's a bit noddy."

	2. A program that is more or less instant to produce.  In this
	use, the term does not necessarily connote uselessness, but
	describes a {hack} sufficiently trivial that it can be written
	and debugged while carrying on (and during the space of) a
	normal conversation.  "I'll just throw together a noddy {awk}
	script to dump all the first fields."  In North America this
	might be called a {mickey mouse program}.  See {toy program}.

	3. A simple (hence the name) language to handle text and
	interaction on the {Memotech} home computer.  Has died with
	the machine.

	[{Jargon File}]

node

	1. A point or vertex in a {graph}.

	2. {network node}.

	3. A {hypertext} document.

noise

	<communications> Any part of a signal that is not the true or
	original signal but is introduced by the communication
	mechanism.

	A common example would be an electrical signal travelling down
	a wire to which noise is added by inductive and capacitive
	coupling with other nearby signals (this kind of noise is
	known as "{crosstalk}").

	A less obvious form of noise is {quantisation} noise, such as
	the error between the true colour of a point in a scene in the
	real world and its representation as a {pixel} in a digital
	image.

	(2003-07-05)

noise margin

	<electronics> The voltage difference between the guaranteed
	output level and the required input voltage level of a {logic
	gate}.

	(2007-05-16)

noise shaping

	<communications> {Spectral noise} transformation in a
	quantisation processes.  Noise is "colourised" in the {time
	domain} an/or {frequency domain} by adding parts of the
	previous sample.  The {SNR bandwidth} and {SNR time integral}
	stay the same, so some noise decreases, some increases, but
	overall noise always increases.

	An example of noise shaping in the frequency domain is
	quantisation of samples on a {Compact Disc} to reduce noise
	below -98 dB.  The are different algorithms with slightly
	different filters, e.g. {Super Bitmapping}, {4D Recording}.

	A time domain example is {MPEG-4 AAC TNS}, which is a method
	to enhance quality by temporal forming of the noise in a
	transform block.

	(2003-07-19)

NOL

	{Never Offline}

NOMAD

	<language, database> A {database} language.

	Version: NOMAD2 from {Must Software} International.

	["NOMAD Reference Manual", Form 1004, National CSS Inc, Dec
	1976].

	(1995-04-01)

NOMEX underwear

	/noh'meks uhn'-der-weir/ [{Usenet}] Synonym {asbestos
	longjohns}, used mostly in auto-related {mailing lists} and
	newsgroups.  NOMEX underwear is an actual product available on
	the racing equipment market, used as a fire resistance measure
	and required in some racing series.

	[{Jargon File}]

Nominal Semidestructor

	<abuse> Slang for "{National Semiconductor}", found among
	other places in the {4.3BSD} networking sources.  During the
	late 1970s to mid-1980s this company marketed a series of
	{microprocessors} including the {National Semiconductor 16000}
	and {National Semiconductor 32000}.  At one point early in the
	great {microprocessor} race, the specs on these chips made
	them look like serious competition for the rising {Intel
	80x86} and {Motorola 680x0} series.  Unfortunately, the actual
	parts were notoriously flaky and never implemented the full
	{instruction set} promised in their literature, apparently
	because the company couldn't get any of the {mask steppings}
	to work as designed.  They eventually sank without trace,
	joining the {Zilog Z8000} and a few even more obscure
	also-rans in the graveyard of forgotten microprocessors.

	(1994-12-23)

non-algorithmic procedure

	{heuristic}

non-constructive proof

	<logic> (Or "existence proof") A {proof} that something exists
	that does not provide an example of that thing or a method for
	finding an example.  (A {constructive proof} does provide such an
	example or method).

	For example, for any pair of finite real numbers n < 0 and p > 0
	there exists a real number 0 < k < 1 such that

		f(k) = (1-k)*n + k*p = 0.

	A non-constructive proof might proceed by observing that as k
	changes continuously from 0 to 1, f(k) changes continuously from n
	to p and, since they lie either side of zero, f(k) must pass
	through zero for some intermediate value of k.  This proof does
	not tell us what that value of k is, only that it exists.

	{Cantor}'s proof that the {real numbers} are {uncountable} can be
	thought of as a non-constructive proof that {irrational numbers}
	exist.  There are existence theorems with no known constructive
	proof.

	(2014-08-23)

nondeterminism

	<algorithm> A property of a computation which may have more
	than one result.

	One way to implement a nondeterministic {algorithm} is using
	{backtracking}, another is to explore (all) possible solutions
	in parallel.

	(1995-04-13)

nondeterministic

	Exhibiting {nondeterminism}.

nondeterministic automaton

	<theory> (Or "probabilistic automaton") An {automaton} in
	which there are several possible actions (outputs and next
	states) at each state of the computation such that the overall
	course of the computation is not completely determined by the
	program, the starting state, and the initial inputs.

	See also {nondeterministic Turing Machine}.

	(1996-05-07)

nondeterministic polynomial time

	<complexity> (NP) A set or property of computational {decision
	problems} solvable by a {nondeterministic Turing Machine} in a
	number of steps that is a {polynomial} function of the size of
	the input.  The word "nondeterministic" suggests a method of
	generating potential solutions using some form of
	{nondeterminism} or "trial and error".  This may take
	{exponential time} as long as a potential solution can be
	verified in {polynomial time}.

	NP is obviously a superset of P ({polynomial time} problems
	solvable by a deterministic {Turing Machine} in {polynomial
	time}) since a deterministic algorithm can be considered as a
	degenerate form of nondeterministic algorithm.  The question
	then arises: is NP equal to P?  I.e. can every problem in NP
	actually be solved in polynomial time?  Everyone's first guess
	is "no", but no one has managed to prove this; and some very
	clever people think the answer is "yes".

	If a problem A is in NP and a polynomial time algorithm for A
	could also be used to solve problem B in polynomial time, then
	B is also in NP.

	See also {Co-NP}, {NP-complete}.

	[Examples?]

	(1995-04-10)

Nondeterministic Turing Machine

	<complexity> A normal (deterministic) {Turing Machine} that
	has a "guessing head" - a write-only head that writes a guess
	at a solution on the tape first, based on some arbitrary
	internal {algorithm}.  The regular {Turing Machine} then runs
	and returns "yes" or "no" to indicate whether the solution is
	correct.

	A {nondeterministic Turing Machine} can solve
	{nondeterministic polynomial time} computational {decision
	problems} in a number of steps that is a {polynomial} function
	of the size of the input

	(1995-04-27)

non-impact printer

	<printer> Any printer, such as a {laser printer}, {ink-jet
	printer}, {LED page printer}, that prints without striking the
	paper, unlike a {dot matrix printer} which hits the paper with
	small pins.  Non-impact printers are quieter than impact
	printers, and also faster due the lack of moving parts in the
	print head.

	(1995-11-20)

non-interlaced

	{interlace}

nonintrusive testing

	<testing> Testing that is transparent to the software under
	test, i.e., does not change its timing or processing
	characteristics.  Nonintrusive testing usually involves
	additional hardware that collects timing or processing
	information and processes that information on another
	platform.

nonlinear

	(Scientific computation) A property of a system whose output
	is not proportional to its input.  For example, a {transistor}
	has a region of input voltages for which its output voltage is
	found by multiplying the input voltage by the gain of the
	transistor.  Outside this region though, the transistor
	behaves non-linearly, meaning that it does not obey this
	simple equation.  The behaviour of a system containing
	non-linear components is thus harder to model and to predict.

	[{Jargon File}]

Non-Maintainer Upload

	<Debian> (NMU) A {release} of a package by someone other than
	its usual maintainer.

	<example>The bug was fixed in a recent NMU.</example>

	(2000-05-31)

Non-Maskable Interrupt

	(NMI) An IRQ 7 on the {PDP-11} or {680x0} or the NMI line on
	an 80x86.  In contrast with a {priority interrupt} (which
	might be ignored, although that is unlikely), an NMI is
	*never* ignored.

	(1994-12-13)

non-optimal solution

	(Or "sub-optimal solution") An astoundingly stupid way to do
	something.  This term is generally used in deadpan sarcasm, as
	its impact is greatest when the person speaking looks
	completely serious.

	See also {Bad Thing}.

	[{Jargon File}]

	(1994-12-13)

Nonpareil

	One of five pedagogical languages based on {Markov
	algorithms}, used in ["Nonpareil, a Machine Level Machine
	Independent Language for the Study of Semantics", B. Higman,
	ULICS Intl Report No ICSI 170, U London (1968)].  The others
	were {Brilliant}, {Diamond}, {Pearl} and {Ruby}.

non parity

	{parity}

non-polynomial

	<complexity> The set or property of problems for which no
	{polynomial-time algorithm} is known.

	This includes problems for which the only known {algorithms}
	require a number of steps which increases exponentially with
	the size of the problem, and those for which no {algorithm} at
	all is known.  Within these two there are problems which are
	"{provably difficult}" and "{provably unsolvable}".

	(1995-04-10)

Non Return to Zero Inverted

	<storage> (NRZI) A recording method used for 9-track {magnetic
	tapes} (200 and 800 BPI) where a zero is represented by a
	change in the signal and a one by no change.

	NRZI is also used extensively in {SDLC} communications.
	{VTAM} has a parameter NRZI=YES|NO.

	Compare {Phase Encoded}, {GCR}.

	(1999-01-11)

nontrivial

	Requiring real thought or significant computing power.  Often
	used as an understated way of saying that a problem is quite
	difficult or impractical, or even entirely unsolvable
	("Proving P=NP is nontrivial").  The preferred emphatic form
	is "decidedly nontrivial".

	See {uninteresting}, {interesting}.

	[{Jargon File}]

	(1995-02-21)

Non-Uniform Memory Access

	<architecture> (NUMA) A memory architecture, used in
	{multiprocessors}, where the access time depends on the memory
	location.  A processor can access its own local memory faster
	than non-local memory (memory which is local to another
	processor or shared between processors).

	(1995-11-12)

non-uniform quantising logarithmic compression

	The kind of {compression} often applied to a sound waveform.
	{Logarithmic compression} is a good match for the human ear's
	sensitivity but cannot handle zero amplitude (for which the
	logarithm is negative infinity).  There are two {standard}
	compression functions which give a smooth transition between
	the logarithmic function and a linear segment passing through
	the origin: {mu-law} (North America) and {A-law} ({ITU-T}).

	(1995-02-21)

Non-Uniform Rational B Spline

	<graphics, mathematics> (nurbs) A common term in Mechanical
	{CAD}.  The NURBS has excellent continuity characteristics
	which make it useful for creating accurate models in 3D
	geometry generation and computer modelling.

	[What is a nurbs?  an rbs?  a bs?  a s?]

	(1996-08-27)

non-volatile

	{non-volatile storage}

non-volatile memory

	{non-volatile storage}

Non-Volatile Random Access Memory

	<storage> (NVRAM) {Static random-access memory} which is made
	into {non-volatile storage} either by having a battery
	permanently connected or by saving its contents to {EEPROM}
	before turning the power off and reloading it when power is
	restored.

	(1995-04-22)

non-volatile storage

	<storage> (NVS, persistent storage, memory) A term describing
	a storage device whose contents are preserved when its power
	is off.  Storage using magnetic media (e.g. {magnetic disks},
	{magnetic tape} or {bubble memory}) is normally non-volatile
	by nature whereas {semiconductor} memories ({static RAM} and
	especially {dynamic RAM}) are normally volatile but can be
	made into non-volatile storage by having a (rechargable)
	battery permanently connected.

	{Dynamic RAM} is particularly volatile since it looses its
	data, even if the power is still on, unless it is {refresh}ed.
	An acoustic {delay line} is a (very old) example of a volatile
	storage device.

	Other examples of non-volatile storage are {EEPROM}, {CD-ROM},
	{paper tape} and {punched cards}.

	(2000-05-22)

noob

	{newbie}

no-op

	/noh'op/ alt. NOP /nop/ [no operation] 1. A machine
	instruction that does nothing (sometimes used in
	assembler-level programming as filler for data or patch areas,
	or to overwrite code to be removed in binaries).  See also
	{JFCL}.

	2. A person who contributes nothing to a project, or has
	nothing going on upstairs, or both.  As in "He's a no-op."

	3. Any operation or sequence of operations with no effect,
	such as circling the block without finding a parking space, or
	putting money into a vending machine and having it fall
	immediately into the coin-return box, or asking someone for
	help and being told to go away.  "Oh, well, that was a no-op."
	Hot-and-sour soup that is insufficiently either is "no-op
	soup"; so is wonton soup if everybody else is having
	hot-and-sour.

	[{Jargon File}]

	(1994-12-02)

NOR

	Not OR.

	The {Boolean} function which is true if none of its inputs are
	true and false otherwise, the {logical complement} of
	{inclusive OR}.  The binary (two-input) NOR function can be
	defined (written as an {infix} operator):

	A NOR B = NOT (A OR B) = (NOT A) AND (NOT B)

	Its {truth table} is:

		A | B | A NOR B
		--+---+---------
		F | F |    T
		F | T |	   F
		T | F |    F
		T | T |    F

	NOR, like {NAND}, forms a complete set of {Boolean} functions on
	its own since it can be used to make NOT, AND, OR and any
	other Boolean function:

	NOT A = A NOR A

	A OR B = NOT (A NOR B)

	A AND B = (NOT A) NOR (NOT B)

	(1995-02-06)

NORC COMPILER

	Early system on NORC machine.  Listed in CACM 2(5):16 (May
	1959).

NorCroft

	(Contraction of Norman + Mycroft) A company producing {C}
	compilers, set up by Arthur Norman and Alan Mycroft.  Now
	"sort of" called Codemist.  The original Norcroft compiler was
	written by Alan and Arthur to provide a {platform} for
	teaching languages and compilers on the {Cambridge University}
	{mainframe}.  They then went on to develop versions for the
	{transputer}, {ARM} and others.

	[What is the relationship between NorCroft and Codemist?]

	(1994-10-25)

NORD PL

	Intermediate language for {Norsk Data} computers.  {Sintran
	III}, the {operating system} of the ND 10 (late 1970's), was
	written in NORD PL.

	["NORD PL User's Guide", ND-60.047.03].

NORDUnet

	<networking, body> (Nordic Universities Network?) A
	collaboration between the national research networks in
	Denmark, Finland, Iceland, Norway and Sweden.  It provides
	international access for these countries.

	{(http://info.nordu.net/)}.

	(1998-07-05)

norm

	<mathematics> A real-valued {function} modelling the length of
	a {vector}.  The norm must be {homogeneous} and {symmetric}
	and fulfil the following condition: the shortest way to reach
	a point is to go straight toward it.  Every {convex} symmetric
	{closed} surface surrounding point 0 introduces a norm by
	means of {Minkowski functional}; all vectors that end on the
	surface have the same norm then.

	The most popular norm is the {Euclidean norm}.

	(2004-02-15)

normal distribution

	<statistics> (Or "Gaussian distribution") The {frequency
	distribution} of many natural phenomena such as the height or
	intelligence of people of a certain age and sex.  The formula
	looks something like:

		P(x) = e^(((x-m)/s)^2)

	where P(x) is the probability of a measurement x, m is the
	mean value of x and s is the {standard deviation}.

	Also known as a "bell curve" because of its shape.

	(2003-10-25)

normal form

	1. <reduction> In {reduction} systems, the state of a term
	which contains no reducible expressions.  Variants include
	{head normal form}, {weak head normal form}.

	2. <database> See {database normalisation}.

normalisation

	1. <data processing> A transformation applied uniformly to
	each element in a set of data so that the set has some
	specific statistical property.  For example, monthly
	measurements of the rainfall in London might be normalised by
	dividing each one by the total for the year to give a profile
	of rainfall throughout the year.

	2. <programming> Representation of a {floating-point} number
	so that its {mantissa}'s left-most digit is non-zero.  If the
	leftmost fraction digit are zeros, the number is said to be
	unnormalised.  Unnormalised numbers are normalised by shifting
	the fraction left, one digit at a time, until the leftmost
	digit is nonzero and reducing the {exponent} by the number of
	shifts.

	3. <database> {database normalisation}.

	(1998-04-15)

normalised

	{normalisation}

normal order reduction

	Under this {evaluation strategy} an expression is evaluated by
	reducing the leftmost outermost {redex} first.  This method
	will terminate for any expression for which termination is
	possible, whereas {applicative order reduction} may not.  This
	method is equivalent to passing arguments unevaluated because
	arguments are initially to the right of functions applied to
	them.  See also {computational adequacy theorem}.

normed space

	<mathematics> A {vector space} with a {function}, ||F||, such
	that

	 ||F|| = 0 if and only if F=0
	 ||aF|| = abs(a) * ||F||
	 ||F+G|| <= ||F|| + ||G||

	Roughly, a distance between two elements in the space is
	defined.

	(2000-03-10)

northbridge

	<architecture> The single {integrated circuit} in a {core
	logic} {chip set} that connects the {CPU} to the {system
	memory} and the {AGP} and {PCI} busses.  Other functions are
	provided by the {southbridge} chip.

	{(http://maximumpc.com/terminator/terminator_n.html)}.

	(2000-01-15)

NorthWestNet

	(NWNET) Kochmer, J., and NorthWestNet, "The Internet Passport:
	NorthWestNets Guide to Our World Online", NorthWestNet,
	Bellevue, WA, 1992.

NOS

	{Network Operating System}

NOT

	<logic> The {Boolean} function which is true only if its input
	is false.  Its {truth table} is:

	 A | NOT A
	 --+----------
	 F |   T
	 T |   F

	(1996-11-04)

Not-a-Number

	<mathematics> (NaN) An {IEEE floating point} representation
	for the result of a numerical operation which cannot return a
	valid number value.  A NaN can result from multiplying an
	infinity by a zero, or from subtracting one infinity from
	another [what else?].

	NaN is encoded as a special {bit pattern} [what pattern?]
	which would otherwise represent a {floating-point} number.  It
	is used to signal error returns where other mechanisms are not
	convenient, e.g. a hardware {floating-point unit} and to allow
	errors to propagate through a calculation.

	Similar bit patterns represent positive and negative
	{overflow} and {underflow} and the positive and negative
	infinities resulting from {division by zero}.

	{Bit patterns
	(http://psc.edu/general/software/packages/ieee/ieee.html)}.

	[ANSI/IEEE Std 754-1985].

	[Correct?]

	(2001-04-01)

notebook

	1. <computer> {laptop computer}.

	2. <tool> {Labtech Notebook}.

	(1998-01-05)

NoteCards

	An ambitious hypertext system developed at Xerox PARC,
	"designed to support the task of transforming a chaotic
	collection of unrelated thoughts into an integrated, orderly
	interpretation of ideas and their interconnections".

Notepad

	<text, tool> The very basic {text editor} supplied with
	{Microsoft Windows}.

	(1998-01-05)

Notes

	{Lotus Notes}

Nother

	A parallel {symbolic mathematics} system.

	E-mail: <karhu@cs.umu.se>.

not ready for prime time

	Usable, but only just so; not very robust; for internal use
	only.  Said of a program or device.  Often connotes that the
	thing will be made more solid {Real Soon Now}.  This term
	comes from the ensemble name of the original cast of "Saturday
	Night Live", the "Not Ready for Prime Time Players".  It has
	extra flavour for hackers because of the special (though now
	semi-obsolescent) meaning of {prime time}.  Compare {beta}.

	[{Jargon File}]

notspot

	<networking, humour> In contrast with {wireless hotspot}, a
	place where there is no means to connect to the {Internet}.
	While the term "{hotspot}" refers to a {wireless local area
	network}, "notspot" might also mean a place without decent
	{DSL} (broadband Internet) connection.

	(2009-05-28)

notwork

	<networking, humour> /not'werk/ A network that is performing
	badly.

	Said at IBM to have originally referred to a particular period
	of flakiness on IBM's VNET corporate network ca. 1988; but
	there are independent reports of the term from elsewhere.

	The joke sounds better in Russian, where "nyet" means "no",
	hence nyetwork /nyet'werk/.

	(2009-05-28)

Nova

	<processor> A {minicomputer}(?) introduced by {Data General}
	in 1969, with four 16-bit {accumulators}, AC0 to AC3, and a
	15-bit {program counter}.  A later model also had a 15-bit
	{stack pointer} and {frame pointer}.  AC2 and AC3 could be
	used for {indexed addressing} and AC3 was used to store the
	return address on a {subroutine} call.  Apart from the small
	{register set}, the NOVA was an ordinary {CPU} design.

	Memory could be accessed indirectly through addresses stored
	in other memory locations.  If locations 0 to 3 were used for
	this purpose, they were auto-incremented after being used.  If
	locations 4 to 7 were used, they were auto-decremented.
	Memory could be addressed in 16-bit words up to a maximum of
	32K words (64K bytes).  The instruction cycle time was 500
	{nanoseconds}(?).  The Nova originally used {core memory},
	then later {dynamic RAM}.

	Like the {PDP-8}, the {Data General} Nova was also copied, not
	just in one, but two implementations - the {Data General
	MN601} and {Fairchild 9440}.  Luckily, the NOVA was a more
	mature design than the PDP-8.

	Another CPU, the {PACE}, was based on the NOVA design, but
	featured 16-bit addresses (instead of the Nova's 15), more
	{addressing modes}, and a 10-level {stack} (like the {Intel
	8008}).

	[Speed, mini?]

	(2003-10-23)

Novell Data Systems

	<company> A small computer {hardware} company building {CP/M}
	{Z80}-based systems.  They later went on to become {Novell,
	Inc.} and develop {Novell Netware}.

	(1995-09-23)

Novell DOS

	<operating system, product> {Novell}'s fully compatible
	alternative to {MS-DOS}.  It is intended as an {operating
	system} for {workstations} on {Novell} networks.  It features
	enhanced {memory management} that moves the operating system,
	{network drivers}, and {memory-resident programs} ({TSRs}) out
	of conventional memory on all systems with an {Intel 80286} or
	later processor and {extended memory} or {expanded memory}.
	It supports {preemptive multitasking} and {peer-to-peer
	networking} using the same {DOS Requester} and {VLMs} for a
	"common client" with native {Novell NetWare}.

	A data {compression} utility effectively doubles storage
	capacity of the hard disk.  It supports disk
	{defragmentation}, a read/write {disk cache} for better
	performance of both DOS and {Microsoft Windows} {application
	programs}.  An undelete utility recovers erased files, even on
	network drives.  It has a complete on-line reference guide,
	command help, and menu-driven install and setup utilities for
	easy configuration changes.

	Novell DOS has internal and external commands like {MS-DOS}.
	The following commands have been significantly enhanced in
	Novell DOS: CHKDSK, DISKCOPY, HELP, MEM, REPLACE, UNDELETE,
	and XCOPY.  Novell DOS also includes many new commands such as
	XDIR, CURSOR, XDEL, TOUCH, SCRIPT, and RENDIR.

	Version: 7.

	(1995-04-14)

Novell, Inc.

	<company, networking> A {software} development company
	specialising in {network}ing and {workgroup} applications.

	{Novell} started life as {Novell Data Systems}, a computer
	hardware business.  The company was reorganised as Novell,
	Inc., and began to focus almost entirely on networking in
	1983, with the release of {Novell Netware} 1, a {Network
	Operating System} for {IBM PCs}.

	{Novell Netware}'s success has left Novell in a dominant
	position in the {network}ing market.  The product has evolved
	and now supports many {hardware} and {software} {platforms}
	together with {WAN} connectivity.

	The company has diversified in recent years, with the
	acquisition of several mainstream applications, including
	{Wordperfect} and {Quattro} Pro.  Other products include
	{UnixWare}, {AppWare}, {Personal NetWare}, {Groupwise} and
	{Novell Dos 7}.

	{(http://novell.com/)}.

	(21 Sept 1995)

Novell NetWare

	<operating system, networking> {Novell, Inc.}'s proprietary
	networking {operating system} for the {IBM PC}.

	NetWare uses the {IPX}/{SPX}, {NetBEUI} or {TCP/IP} network
	{protocols}.  It supports {MS-DOS}, {Microsoft Windows},
	{OS/2}, {Macintosh} and {Unix} {clients}.  NetWare for Unix
	lets users access Unix hosts.

	NetWare 2.2 is a 16-bit operating system, versions 4.x and 3.x
	are 32-bit operating systems.

	{(http://netware.novell.com/)}.

	{Usenet} newsgroup: {news:comp.sys.novell}.

	["Netware", K. Siyan, pub. New Riders].

	[LAN Magazine, Sep 1993].

	(1996-01-13)

NOWEB

	<programming> A system of {structured programming} and
	documentation from M.Speh in {DESY}.

	See {literate programming}.

	(1996-01-13)

no-write allocation

	<memory management> A {cache} policy where only processor
	reads are cached, thus avoiding the need for {write-back} or
	{write-through}.

	(1996-06-12)

NP

	<complexity> {nondeterministic polynomial time}.

	[{Jargon File}]

np

	<networking> The {country code} for Nepal.

	(1999-01-27)

NPC

	1. <complexity> {NP-complete}.

	2. <architecture> {Next Program Counter}.

	(2000-07-12)

NP-complete

	<complexity> (NPC, Nondeterministic Polynomial time complete)
	A set or property of computational {decision problems} which
	is a subset of {NP} (i.e. can be solved by a
	{nondeterministic} {Turing Machine} in {polynomial} time),
	with the additional property that it is also {NP-hard}.  Thus
	a solution for one NP-complete problem would solve all
	problems in NP.  Many (but not all) naturally arising problems
	in class NP are in fact NP-complete.

	There is always a {polynomial-time algorithm} for transforming
	an instance of any NP-complete problem into an instance of any
	other NP-complete problem.  So if you could solve one you
	could solve any other by transforming it to the solved one.

	The first problem ever shown to be NP-complete was the
	{satisfiability problem}.  Another example is {Hamilton's
	problem}.

	See also {computational complexity}, {halting problem},
	{Co-NP}, {NP-hard}.

	{(http://fi-www.arc.nasa.gov/fia/projects/bayes-group/group/NP/)}.

	[Other examples?]

	(1995-04-10)

NP-hard

	<complexity> A set or property of computational {search
	problems}.  A problem is NP-hard if solving it in {polynomial
	time} would make it possible to solve all problems in class
	{NP} in polynomial time.

	Some NP-hard problems are also in {NP} (these are called
	"{NP-complete}"), some are not.  If you could reduce an {NP}
	problem to an NP-hard problem and then solve it in polynomial
	time, you could solve all NP problems.

	See also {computational complexity}.

	[Examples?]

	(1995-04-10)

NP-hilarious

	<humour> An {algorithm} whose complexity is a joke, either
	literally, as in {BogoSort}, or metaphorically.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-06-28)

NPL

	1. New Programming Language.  IBM's original (temporary) name
	for PL/I, changed due to conflict with England's "National
	Physical Laboratory."  MPL and MPPL were considered before
	settling on PL/I.  Sammet 1969, p.542.

	2. A {functional language} with {pattern matching} designed by
	Rod Burstall and John Darlington in 1977.  The language
	allowed certain sets and logic constructs to appear on the
	right hand side of definitions, E.g.

		setofeven(X) <= <:x: x in X & even(x) :>

	The NPL {interpreter} evaluates the list of {generators} from
	left to right so conditions can mention any bound variables
	that occur to their left.  These were known as {set
	comprehensions}.  NPL eventually evolved into {Hope} but lost
	set comprehensions which were called {list comprehensions} in
	later functional languages.

	[John Darlington, "Program Transformation and Synthesis:
	Present Capabilities", Research Report No. 77/43, Dept. of
	Computing and Control, Imperial College of Science and
	Technology, London September 1977.]

	3. NonProcedural Language.  A {relational database} language
	developed by T.D. Truitt et al in 1980 for {Apple II} and
	{MS-DOS}.

	["An Introduction to Nonprocedural Languages Using NPL",
	T.D. Truitt et al, McGraw-Hill 1983].

NPPL

	Network Picture Processing Language.  An interactive language
	for manipulation of {digraphs}.

	["A Graph Manipulator for On-line Network Picture Processing",
	H.A. DiGiulio, Proc FJCC 35 (1969)].

N-Prolog

	{Prolog} extended with explicit negation.  Dov Gabbay
	<dg@doc.ic.ac.uk>.

	[J Logic Programming].

NP time

	{nondeterministic polynomial time}

NP tricky

	<humour> A play on {NP hard} describing an {algorithm} or piece of
	code that is too complicated for a mere mortal to understand.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-06-18)

NQS

	Batch processing software for Unix systems.

Nqthm

	The language used in the {Boyer-Moore} {theorem prover}.

	["Proving Theorems About LISP Functions", R.S. Boyer et al
	JACM 22(1):129-144 (Jan 1975)].

nr

	<networking> The {country code} for Nauru.

	(1999-01-27)

NREN

	{National Research and Education Network}

nroff

	<language> /N'rof/ [Unix, from "new {roff}"] A {text formatting
	language} and interpreter, companion to the Unix typesetter
	{troff}, accepting identical input but preparing output for
	terminals and line printers.  See also {groff}.

	[{Jargon File}]

	(2012-12-14)

NRZ

	{Non Return to Zero}

NRZI

	{Non Return to Zero Inverted}

ns

	{nanosecond}

NS16000

	{National Semiconductor 16000}

NS32000

	{National Semiconductor 32000}

NSA line eater

	<messaging, tool> The National Security Agency trawling
	program sometimes assumed to be reading the net for the US
	Government's spooks.  Most hackers describe it as a mythical
	beast, but some believe it actually exists, more aren't sure,
	and many believe in acting as though it exists just in case.
	Some netters put loaded phrases like "KGB", "Uzi", "nuclear
	materials", "Palestine", "cocaine", and "assassination" in
	their {sig blocks} to confuse and overload the creature.  The
	{GNU} version of {Emacs} actually has a command that randomly
	inserts a bunch of insidious anarcho-verbiage into your edited
	text.

	There is a mainstream variant of this myth involving a "Trunk
	Line Monitor", which supposedly used speech recognition to
	extract words from telephone trunks.  This one was making the
	rounds in the late 1970s, spread by people who had no idea of
	then-current technology or the storage, {signal-processing},
	or {speech recognition} needs of such a project.  On the basis
	of mass-storage costs alone it would have been cheaper to hire
	50 high-school students and just let them listen in.
	Speech-recognition technology can't do this job even now
	(1993), and almost certainly won't in this millennium, either.

	The peak of silliness came with a letter to an alternative
	paper in New Haven, Connecticut, laying out the factoids of
	this Big Brotherly affair.  The letter writer then revealed
	his actual agenda by offering - at an amazing low price, just
	this once, we take VISA and MasterCard - a scrambler
	guaranteed to daunt the Trunk Trawler and presumably allowing
	the would-be Baader-Meinhof gangs of the world to get on with
	their business.

	[{Jargon File}]

	(1994-12-13)

NSAPI

	{Netscape Application Programming Interface}

NSDI

	{National Spatial Data Infrastructure}

NSE

	Network Software Environment: a proprietary CASE framework
	from Sun Microsystems.

NSF

	{National Science Foundation}

NSFIP

	<operating system> {NEXTSTEP} For {Intel} Processor.

	(1999-11-25)

NSFNET

	{National Science Foundation Network}

NSI

	{Network Solutions, Inc.}

nslookup

	<networking> A {Unix} {utility program}, originally by Andrew
	Cherenson, for querying {Internet} {domain name servers}.  The
	basic use is to find the {IP address} corresponding to a
	given {hostname} (or vice versa).  By changing the query type
	(e.g. "set type=CNAME") other types of information can be
	obtained including CNAME - the {canonical name} for an alias;
	HINFO - the host {CPU} and {operating system} type; MINFO -
	mailbox or mail list information; {MX} - {mail exchanger}
	information; NS - the {name server} for the named zone; PTR -
	the hostname if the query is an IP address, otherwise
	the pointer to other information; SOA the domain's
	start-of-authority information; TXT - text information; UINFO
	- user information; WKS - supported {well-known services}.
	Other types (ANY, AXFR, MB, MD, MF, NULL) are described in
	{RFC 1035}.

	{(ftp://src.doc.ic.ac.uk/computing/operating-systems/unix/bsd-sources/usr.sbin/named/tools/nslookup/)}.

	(1994-10-27)

NSRD

	{National Software Reuse Directory}

NSS

	1. <networking> {Nodal Switching System}.

	2. <operating system> {New Storage System}.

	(1997-01-29)

NT

	1. {Network Termination}.

	2. New Technology, as in {Windows NT}.

NT1

	{Network Termination}

NT5

	{Windows 2000}

ntalk

	<chat> ("new talk") An update of the {Unix} "{talk}" program,
	old versions of "talk" being referred to as "old talk".  New
	talk and old talk are generally incompatible, and attempts to
	get them to communicate result in entirely unhelpful error
	messages.

	On most modern {Unix} systems, the program "talk" is new talk,
	with some {SunOS} versions being a notable and annoying
	exception to this.

	(1997-09-11)

NTAS

	{NT Advanced Server}

NT File System

	<file system> (NTFS) The {native} {file system} of {Windows
	NT}.

	(1995-03-06)

NTFS

	{NT File System}

n-tier

	{three-tier}

NTIS

	{National Technical Information Service}

NTMBS

	<programming> {null-terminated multibyte string}.

	(1995-10-02)

NTP

	{Network Time Protocol}

NTSC

	{National Television Standards Committee}

NTU

	{Network Termination Unit}

nu

	<networking> The {country code} for Niue.

	(1999-01-27)

	Because it sounds like "new", nu is heavily
	used for {vanity domains}.

	(1999-01-27)

NuBus

	The proprietary {expansion bus} used on Apple {Macintosh}
	{personal computers}.

	(1995-02-03)

nu-calculus

	An asynchronous version of {pi-calculus}.

NUCLEOL

	List processing language, influenced by EOL.  J. Nievergelt,
	Computer J 13(3) (Aug 1970).

nude

	Said of machines delivered without an operating system
	(compare {bare metal}).  "We ordered 50 systems, but they all
	arrived nude, so we had to spend a an extra weekend with the
	installation tapes."  This usage is a recent innovation
	reflecting the fact that most PC clones are now delivered with
	DOS or Microsoft Windows pre-installed at the factory.  Other
	kinds of hardware are still normally delivered without OS, so
	this term is particular to PC support groups.

	[{Jargon File}]

	(1994-12-13)

nuke

	/n[y]ook/ 1. To intentionally delete the entire contents of a
	given directory or storage volume.  "On Unix, "rm -r /usr"
	will nuke everything in the usr file system."  Never used for
	accidental deletion.

	2. Synonym for {dike}, applied to smaller things such as
	files, features, or code sections.  Often used to express a
	final verdict.  "What do you want me to do with that 80-meg
	{wallpaper} file?"  "Nuke it."

	3. Used of processes as well as files; nuke is a frequent
	verbal alias for "kill -9" on Unix.

	4. On IBM PCs, a bug that results in {fandango on core} can
	trash the operating system, including the FAT (the in-core
	copy of the disk block chaining information).  This can
	utterly scramble attached disks, which are then said to have
	been "nuked".  This term is also used of analogous lossages on
	Macintoshes and other micros without memory protection.

	[{Jargon File}]

null

	<programming> A special value used in several languages to
	represent the thing referred to by an uninitialised pointer.

	<database> A special value that may be stored in some database
	columns to represent an unknown, missing, not applicable, or
	undefined value.  Nulls are treated completely differently
	from ordinary values when evaluating SQL expressions and there
	are several SQL constructs for dealing with nulls.

	(2003-06-17)

nullary

	<programming> A description of an {operator} or {function}
	which takes no {arguments}, e.g. a function that returns the
	current time.

	"Nullary" is part of the {unary}, {binary}, {ternary}
	sequence, and is more common than its synonym {niladic}.

	(2001-02-25)

null modem

	<communications, hardware> A cable, especially an {EIA-232}
	cable, for connecting serial ports on two computers directly,
	rather than via modems.  Since, according to the
	specification, both computers should transmit on pin three of
	their EIA-232 connectors and receive on pin two, a null modem
	cable needs to connect one computer's pin two to the other's
	pin three and vice versa.  It also needs to have male
	connectors at both ends (again, according to the
	specification).

	(1996-05-17)

null-terminated multibyte string

	<programming> (NTMBS) (Defined in the {ANSI C++} draft)

	[Different from null-terminated string?]

	(1995-10-02)

NUMA

	{Non-Uniform Memory Access}

Number 5 Electronic Switching System

	<communications> (5ESS) An electronic {circuit switching} product
	sold by {Alcatel Lucent} (formerly {Western Electric}/{AT&T
	Network Systems}/{Lucent Technologies}), used by many telephone
	exchange carriers and service providers.  Succeeded the Number 4
	Electronic Switching System (4ESS) and reached widespread use in
	the 1980s.

	Not to be confused with the {Class 5 Switch}.

	(2013-09-14)

number crunching

	<application, jargon> Computations of a numerical nature,
	especially those that make extensive use of {floating-point}
	numbers.  The only thing {Fortrash} is good for.

	This term is in widespread informal use outside hackerdom and
	even in mainstream slang, but has additional hackish
	connotations: namely, that the computations are mindless and
	involve massive use of {brute force}.  This is not always
	{evil}, especially if it involves {ray tracing} or {fractals}
	or some other use that makes {pretty pictures}, especially if
	such pictures can be used as {wallpaper}.

	See also {crunch}.

	[{Jargon File}]

	(1995-03-17)

number keys

	{keypad}

numbers

	(Scientific computation) Output from a computation that may
	not be significant but at least indicates that the program is
	running.  Numbers may be used to placate management, grant
	sponsors, etc.  "Making numbers" means running a program
	because output - any output, not necessarily meaningful output
	- is needed as a demonstration of progress.

	See {pretty pictures}, {math-out}, {social science number}.

	[{Jargon File}]

	(1995-01-13)

number sign

	<character> {hash}.

numeric keypad

	<hardware> A {keypad} that has become a standard feature of
	{PC} {keyboards}, consisting of a rectangular array of 17
	extra keys at the right-hand end: 0-9, {.}, {Num Lock}, {/},
	{*}, {-}, {+} and {Enter}.  Apart from Num Lock, these
	typically duplicate the function of other keys but are
	designed to make entering basic numerical calculations as
	quick as on a {digital calculator}.  It is often possible to
	assign completely different functions to these keys according
	to the needs of a particular application.

	(2007-01-31)

Numeris

	The name given by France Telecom, the french telephone network
	operator, to its {ISDN} network.

	(1995-01-31)

Nuprl

	/nyu p*rl/ Nearly Ultimate PRL.

	A system for interactive creation of formal mathematics,
	including definitions and proofs.  It has an extremely rich
	type system, including dependent functions, products, sets,
	quotients and universes.  Types are first-class citizens.
	It is built on {Franz Lisp} and {Edinburgh ML}.

	["Implementing Mathematics in the Nuprl Proof Development
	System", R.L. Constable et al, P-H 1986].

	(1994-12-13)

NU-Prolog

	L. Naish, U Melbourne.  A Prolog with 'when' declarations, the
	successor to MU-Prolog.  Type-checked.  "NU-Prolog Reference
	Manual - Version 1.3", J.A. Thom et al eds, TR 86/10, U
	Melbourne (1988).  Available (but not free).  (See
	PNU-Prolog).  E-mail: <jas@mulga.oz.au>.

nurbs

	{Non-Uniform Rational B Spline}

Nu Thena

	A software vendor specialising in rapid prototyping tools for
	{real-time} hardware and software systems and collaborating
	with {DAZIX}.

NUXI problem

	<data, architecture> /nuk'see pro'bl*m/ The problem of
	transferring data between computers with differing {byte
	order}.  The string "Unix" might look like "NUXI" on a machine
	with a different "byte sex" (e.g. when transferring data from
	a {little-endian} to a {big-endian}, or vice-versa).

	See also {middle-endian}, {swab}, and {bytesexual}.

	[{Jargon File}]

	(2001-06-12)

NVL

	<database> A {function} in {Oracle} {SQL} called like NVL(X,
	Y) that returns X unless it is null, in which case it returns
	Y.  This function is useful for supplying a default value
	where an expression might be null.

	(2010-01-28)

NVRAM

	{Non-Volatile Random Access Memory}

NVS

	{Non-Volatile Storage}

NWNET

	{NorthWestNet}

NYAP

	<language> An early system on the {IBM 704}.

	[Listed in CACM 2(5):16, May 1959].

	(1997-12-03)

nybble

	{nibble}

nyetwork

	{notwork}

nym

	1. <tool, networking> /nim/ (From the third syllable of
	"anonymous"; or "nym server") A {server} that functions as an
	{anonymous remailer}.

	2. A popular {hostname} for nym servers.

	3. A mail-forwarding {account} on a {nym server}.

	(1999-02-26)

nym server

	{nym}

Nyquist frequency

	<DSP> The highest frequency that can be represented in a
	digital signal of a specified {sampling frequency}.  It is
	equal to one-half of the sampling rate.

	See {Nyquist Theorem}.

	(2001-06-06)

Nyquist Theorem

	<communications> A theorem stating that when an {analogue}
	waveform is digitised, only the frequencies in the waveform
	below half the {sampling frequency} will be recorded.  In
	order to reconstruct (interpolate) a signal from a sequence of
	samples, sufficient samples must be recorded to capture the
	peaks and troughs of the original waveform.  If a waveform is
	sampled at less than twice its frequency the reconstructed
	waveform will effectively contribute only {noise}.  This
	phenomenon is called "aliasing" (the high frequencies are
	"under an alias").

	This is why the best digital audio is sampled at 44,000 Hz -
	twice the average upper limit of human hearing.

	The Nyquist Theorem is not specific to digitised signals
	(represented by discrete amplitude levels) but applies to any
	sampled signal (represented by discrete time values), not just
	sound.

	{Nyquist
	(http://geocities.com/bioelectrochemistry/nyquist.htm)}
	(the man, somewhat inaccurate).

	(2003-10-21)

NYSERNET

	{New York State Educational Reasearch NETwork}

NYU OMNIFAX

	Early system on UNIVAC I or II.  Listed in CACM 2(5):16 (May
	1959).

nz

	<networking> The {country code} for New Zealand.

	(1999-01-27)

O

	<character> {ASCII} code 79, The letter of the alphabet, not
	to be confused with 0 ({zero}) the digit.

	(1999-02-07)

O2

	Object-Oriented.  {Object-oriented database} language used in
	the {Altair} project.  Implemented as an {interpreter}.  GIP
	Altair, Versailles, France.  Francois Bancilhon et al, in
	Advances in Object-Oriented Database Systems, K.R. Dittrich
	ed, LNCS 334, Springer 1988.  See {CO2}.

Oaklisp

	<language> A portable {object-oriented} {Scheme} by K. Lang
	and Barak Perlmutter of {Yale}.  Oaklisp uses a superset of
	Scheme {syntax}.  It is based on generic operations rather
	than functions, and features {anonymous classes}, {multiple
	inheritance}, a strong error system, {setters} and {locators}
	for operations and a facility for {dynamic binding}.

	Version 1.2 includes an interface, {bytecode compiler},
	{run-time system} and documentation.

	{(ftp://f.gp.cs.cmu.edu/usr/bap/oak/ftpable/)}, {for Amiga
	(ftp://ftp.cso.uiuc.edu/pub/amiga/fish/ff519)}.

	["Oaklisp: An Object-Oriented Scheme with First-Class Types",
	K. Lang et al, SIGPLAN Notices 21(11):30-37 (Nov 1986) (OOPSLA
	'86)].

	(1992-05-01)

OAP

	{Outside Awareness Port}

OASIS Open Document Format for Office Applications

	{OpenDocument}

OATH

	Object-oriented Abstract Type Hierarchy, a class library for
	C++ from {Texas Instruments}.

Ob-

	/ob/ prefix Obligatory.  A piece of {netiquette} acknowledging
	that the author has been straying from the newsgroup's charter
	topic.  For example, if a posting in alt.sex is a response to
	a part of someone else's posting that has nothing particularly
	to do with sex, the author may append "ObSex" (or "Obsex") and
	toss off a question or vignette about some unusual erotic act.
	It is considered a sign of great {winnitude} when one's Obs
	are more interesting than other people's whole postings.

	[{Jargon File}]

OBDC

	Do you mean {ODBC}?

	(1996-06-30)

OBE

	{Office By Example}

Oberon

	<language> A {strongly typed} {procedural} programming
	language and an operating environment evolved from {Modula-2}
	by {Nicklaus Wirth} in 1988.  Oberon adds type extension
	({inheritance}), extensible record types, multidimensional
	open arrays, and {garbage collection}.  It eliminates {variant
	records}, {enumeration types}, {subranges}, lower array
	indices and {for loops}.

	A successor called Oberon-2 by H. Moessenboeck features a
	handful of extensions to Oberon including type-bound
	procedures ({methods}).

	Seneca is a variant of Oberon focussing on numerical
	programming under development by R. Griesemer in April 1993
	(to be renamed).

	See also {Ceres workstation Oberon System}.

	{(http://oberon.ethz.ch)}.

	{(http://math.tau.ac.il/~laden/Oberon.html)}.

	{Free ETH Oberon (ftp://ftp.inf.ethz.ch/pub/Oberon)}.  {MS-DOS
	(ftp://ftp.wustl.edu/mirrors/msdos/pgmutl/)}.  {Amiga
	(ftp://ftp.cso.uiuc.edu/pub/amiga/fish/ff380)}.

	["The Programming Language Oberon", N. Wirth, Soft Prac & Exp
	18(7):671-690 July 1988].

	["Programming in Oberon: Steps Beyond Pascal and Modula",
	M. Reiser & N. Wirth, A-W 1992].

	["Project Oberon: the design of an operating system and
	compiler", N. Wirth & J. Gutknecht, ACM Press 1992].

	["The Oberon Companion: A Guide to Using and Programming
	Oberon System 3", André Fischer, Hannes Marais, vdf Verlag der
	Fachhochschulen, Zurich, 1997, ISBN 3-7281-2493-1.  Includes
	CD-ROM for Windows, Linux, Macintosh and PC Native].

	(1998-03-14)

Oberon-2

	<language> A superset of {Oberon-1}, developed by
	H. Moessenboeck in 1991 to add {object-orientation}.  Oberon-2
	was a redesign of {Object Oberon}.  It included type-bound
	{procedures} (equivalent to {methods}), read-only export of
	variables and {record fields}, open {array} variables, and a
	"{with}" statement with variants.  It reintroduced the "{for}"
	statement.

	There is an Oberon-2 {Lex} scanner and {Yacc} {parser} by
	Stephen J Bevan of Manchester University, UK, based on the one
	in the Mo"ssenbo"ck and Wirth reference.  Version 1.4.

	{(ftp://neptune.inf.ethz.ch/Oberon/)}.

	{(ftp://ftp.psg.com/pub/oberon/)}.

	["The Programming Language Oberon-2", H. Mo"ssenbo"ck,
	N. Wirth, Institut fu"r Computersysteme, ETH Zu"rich, January
	1992].

	["Second International Modula-2 Conference", Sept 1991].

	(1992-07-06)

Oberon-V

	(Formerly Seneca).  R. Griesemer, 1990.  Descendant of Oberon
	designed for numerical applications on supercomputers,
	especially vector or pipelined architectures.  Includes array
	constructors and an ALL statement.  "Seneca - A Language for
	Numerical Applications on Vectorcomputers", Proc CONPAR 90 -
	VAPP IV Conf.  R. Griesemer, Diss Nr. 10277, ETH Zurich.

OBEX

	{Object Exchange}

obfuscated

	<programming> Made unclear, used to describe {source code}
	that has been transformed or written to make it as hard as
	possible to read, usually for fun, as in the {Obfuscated C
	Contest}.  A {japh} is a kind of obfuscated {Perl} program.

	The term is not normally used for code that has been
	transformed for security purposes, e.g. to enforce some kind
	of licencing mechanism.

	(2009-05-14)

Obfuscated C Contest

	<programming> The International Obfuscated C Code Contest
	(IOCCC) is an annual contest run since 1984 over {Usenet} by
	Landon Curt Noll and friends.  The overall winner is whoever
	produces the most unreadable, creative, and bizarre (but
	working) {C} program.  Various other prizes are awarded at the
	judges' whim.  C's terse {syntax} and {macro-preprocessor}
	facilities give contestants a lot of maneuvering room.  The
	winning programs often manage to be simultaneously funny,
	breathtaking works of art and horrible examples of how *not*
	to code in C.

	This relatively short and sweet {hello, world} program
	demonstrates obfuscated C:

	 /* HELLO WORLD program
	  * by Jack Applin and Robert Heckendorn, 1985 */

	 main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
	 (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
	 **c=!c)write(!!*c,*c,!!**c);}

	Here's another good one:

	 /* Program to compute an approximation of pi
	  * by Brian Westley, 1988 */

	 #define _ -F<00||--F-OO--;
	 int F=00,OO=00;
	 main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
	 {
		    _-_-_-_
	       _-_-_-_-_-_-_-_-_
	    _-_-_-_-_-_-_-_-_-_-_-_
	  _-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
	  _-_-_-_-_-_-_-_-_-_-_-_-_-_
	    _-_-_-_-_-_-_-_-_-_-_-_
		_-_-_-_-_-_-_-_
		    _-_-_-_
	 }

	Note that this program works by computing its own area.  For
	more digits, write a bigger program.

	[{Jargon File}]

obi-wan error

	<programming> /oh'bee-won" er"*r/ (RPI, from "off-by-one" and
	the Obi-Wan Kenobi character in "Star Wars") A kind
	of {off-by-one error}.

	(2009-05-14)

OBJ

	Joseph Goguen 1976.  A family of declarative "ultra high
	level" languages.  Abstract types, generic modules, subsorts
	(subtypes with {multiple inheritance}), pattern-matching
	modulo equations, E-strategies (user control over laziness),
	module expressions (for combining modules), theories and views
	(for describing module interfaces).  For the massively
	parallel RRM (Rewrite Rule Machine).

	["Higher-Order Functions Considered Unnecessary for
	Higher-Order Programming", J.A. Goguen, in Research Topics in
	Functional Programming].

OBJ0

	Tardo.  Based on unsorted equational logic.

OBJ2

	Clear-like parametrised modules.  A functional system based on
	equations.  "Principles of OBJ2", K. Futatsugi et al, 12th
	POPL, ACM 1985, pp.52-66.

OBJ3

	<language> A version of {OBJ} based on {order-sorted
	rewriting}.  OBJ3 is {agent}-oriented and runs on {AKCL}.

	E-mail: <obj3sys@crl.sri.com>, <obj3dist@csl.sri.com>.

	["Introducing OBJ3", J. Goguen et al, SRI-CSL-88-9, SRI Intl,
	1988].

	(1995-03-16)

object

	<object-oriented> In {object-oriented programming}, an
	instance of the data structure and behaviour defined by the
	object's {class}.  Each object has its own values for the
	{instance variables} of its class and can respond to the
	{methods} defined by its class.

	For example, an object of the "Point" class might have
	instance variables "x" and "y" and might respond to the "plot"
	method by drawing a dot on the screen at those coordinates.

	(2004-01-26)

ObjectBroker

	<programming> A distributed {object} system from {DEC} based
	on the {CORBA} standard.

	(1999-01-14)

ObjectCenter

	A product offering similar facilities to CodeCenter for the
	C++ language, plus class browsing facilities etc (formerly
	Saber-C++).

Object CHILL

	["Object CHILL - An Object Oriented Language for Systems
	Implementation", J. Winkler et al, ACM Comp Sci Conf 1992,
	pp. 139-147].

	(1995-01-31)

object code

	The {machine code} generated by a {source code} language
	processor such as an {assembler} or {compiler}.  A file of
	object code may be immediately executable or it may require
	{linking} with other object code files, e.g. libraries, to
	produce a complete executable program.

	(1995-01-31)

Object-code Buffer Overrun Evaluator

	<security, programming, tool> (OBOE) A tool by R. Banfi,
	D. Bruschi, and E. Rosti for the automatic detection of
	{buffer overflow} {vulnerabilities} in {object code}.  OBOE
	can be applied to {operating system} components as well as
	ordinary {application programs}.  It was designed for the
	{system administrator} to identify vulnerable programs before
	they are exploited.  Being automatic, OBOE can be run as a
	{background process} for the analysis of all potentially
	insecure programs installed on a {Unix} system.  It runs on
	{HP-UX}, {Linux}, and {Sun} {Solaris}.

	{(http://idea.sec.dsi.unimi.it/research.html)}.

	(2003-10-25)

Object Compatibility Standard

	(OCS) An {88open} standard for compilers and linkers.

Object Constraint Language

	<language> (OCL) A formal specification language extension to
	{UML}.  The Object Constraint Language is a precise text
	language that provides {constraint} and {object query}
	expressions on an {object-oriented} model that cannot
	otherwise be expressed by diagrammatic notation.

	OCL supplements UML by providing expressions that have neither
	the ambiguities of {natural language} nor the inherent
	difficulty of using complex mathematics.

	OCL is a descendent of {Syntropy}, a second-generation
	object-oriented analysis and design method.  The OCL 1.4
	definition specified a constraint language.  In OCL 2.0, the
	definition has been extended to include general object query
	language definitions.

	{OMG UML Home (http://uml.org/)}.

	{Rational UML Resource Center
	(http://rational.com/uml/index.jsp)}.

	{OCL 2.0 Submission to UML
	(http://omg.org/docs/ad/03-01-07.pdf)}.

	(2003-11-15)

Object Database Management Group

	{Object Data Management Group}

Object Data Management Group

	<body, database> (ODMG, previously ".. Database ..") An
	independent consortium that specifies universal {object}
	storage {standards}.

	ODMG's members include {object-oriented database} management
	system (ODBMS) vendors and other interested parties.  They aim
	to increase portability of customer software across products.

	On 1998-04-27 ODMG changed its name from the Object Database
	Management Group to reflect the expansion of its efforts
	beyond merely setting storage standards for object databases.

	{(http://odmg.org/)}.

	(2000-05-23)

Objecteering

	<programming, tool> An {object-oriented design} tool from
	{Softeam}, based on the {Class Relation Methodology}, with
	{C++} code generation.

	(1997-03-18)

Object Exchange

	<protocol> (OBEX) A {Bluetooth} {protocol} in the {Core
	Protocol Stack} for {data} exchange.

	(2002-06-28)

objectfuscated code

	<humour, programming> {Object-oriented} code which has been
	abstracted to so many levels that no-one can understand it
	anymore.  A play on {obfuscated code}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-08-01)

object identifier

	<programming> (OID) Generally an implementation-specific
	{integer} or {pointer} that uniquely identifies an {object}.

	(1999-07-10)

Objectionable-C

	<abuse, humour, language> A hackish take on "{Objective C}".
	Objectionable-C uses a {Smalltalk}-like {syntax}, but lacks
	the flexibility of Smalltalk {method} calls, and (like many
	such efforts) comes frustratingly close to attaining the
	{Right Thing} without actually doing so.

	[{Jargon File}]

	(1995-02-15)

Objective C

	<language> An {object-oriented} superset of {ANSI C} by Brad
	Cox, Productivity Products.  Its additions to {C} are few and
	are mostly based on {Smalltalk}.  Objective C is implemented
	as a {preprocessor} for {C}.  Its {syntax} is a superset of
	standard C syntax, and its {compiler} accepts both C and
	Objective C {source code} ({filename extension} ".m").

	It has no operator {overloading}, {multiple inheritance}, or
	{class variables}.  It does have {dynamic binding}.  It is
	used as the system programming language on the {NeXT}.  As
	implemented for {NEXTSTEP}, the Objective C language is fully
	compatible with {ANSI C}.

	Objective C can also be used as an extension to {C++}, which
	lacks some of the possibilities for {object-oriented design}
	that {dynamic typing} and {dynamic binding} bring to Objective
	C.  C++ also has features not found in Objective C.

	Versions exist for {MS-DOS}, {Macintosh}, {VAX}/{VMS} and
	{Unix} {workstations}.  Language versions by {Stepstone},
	{NeXT} and {GNU} are slightly different.

	There is a library of ({GNU}) Objective C {objects} by
	R. Andrew McCallum <mccallum@cs.rochester.edu> with similar
	functionality to {Smalltalk}'s Collection objects.  It
	includes: Set, {Bag}, {Array}, LinkedList, LinkList,
	CircularArray, {Queue}, {Stack}, {Heap}, SortedArray,
	MappedCollector, GapArray and DelegateList.  Version: Alpha
	Release.  {(ftp://iesd.auc.dk/pub/ObjC/)}.

	See also: {Objectionable-C}.

	["Object-Oriented Programming: An Evolutionary Approach", Brad
	Cox, A-W 1986].

	(1999-07-10)

Objective CAML

	<language> (Originally "CAML" - Categorical Abstract Machine
	Language) A version of {ML} by G. Huet, G. Cousineau, Ascander
	Suarez, Pierre Weis, Michel Mauny and others of {INRIA}.  CAML
	is intermediate between {LCF ML} and {SML} [in what sense?].
	It has {first-class} functions, {static type inference} with
	{polymorphic} types, user-defined {variant types} and {product
	types}, and {pattern matching}.  It is built on a proprietary
	run-time system.

	The CAML V3.1 implementation added {lazy} and {mutable} data
	structures, a "{grammar}" mechanism for interfacing with the
	{Yacc} {parser generator}, {pretty-printing} tools,
	high-performance {arbitrary-precision} arithmetic, and a
	complete library.

	in 1990 Xavier Leroy and Damien Doligez designed a new
	implementation called {CAML Light}, freeing the previous
	implementation from too many experimental high-level features,
	and more importantly, from the old Le_Lisp back-end.

	Following the addition of a {native-code} compiler and a
	powerful {module} system in 1995 and of the {object} and
	{class} layer in 1996, the project's name was changed to
	Objective CAML.  In 2000, Jacques Garrigue added labeled and
	optional arguments and anonymous variants.

	{Objective CAML Home (http://ocaml.org/)}.

	{Usenet} newsgroup: {news:comp.lang.ml}.

	["The CAML Reference Manual", P. Weis et al, TR INRIA-ENS,
	1989].

	(2002-05-21)

Objective Modula-2

	<language> (Or "ObjM2") An extension to {Modula-2} for {Cocoa}
	and {GNUstep} software development.  Objective Modula-2
	follows the {Objective-C} {object model} and retains the
	bracketed {Smalltalk} {message passing} {syntax} used in
	Objective-C.  Classes written in ObjM2 can be used within ObjC
	and vice versa. ObjM2 also retains Modula-2's {data
	encapsulation} features, namely {nested modules} with explicit
	{import} and export lists.  Due to the strict {type checking}
	in Modula-2, ObjM2 can be considered a much safer programming
	language than is ObjC, yet losing none of the capabilities of
	ObjC.

	(2005-08-15)

Objective PASCAL

	An extension of the {PASCAL} language which provides the
	possibility to use {object-oriented} programming constructs.

Object Linking and Embedding

	<operating system> (OLE) A distributed object system and
	{protocol} from {Microsoft}, also used on the Acorn
	{Archimedes}.  OLE allows an editor to "farm out" part of a
	document to another editor and then reimport it.  For example,
	a {desk-top publishing} system might send some text to a {word
	processor} or a picture to a {bitmap} editor using OLE.

	(1998-12-17)

Object Lisp

	<language> An {object-oriented} {Lisp} developed by {Lisp
	Machines Inc.} (LMI) in about 1987.  Object Lisp was based on
	nested {closures} and {operator shadowing}.

	Several competing object-orientated extensions to Lisp were
	around at the time, such as {Flavors}, in use by {Symbolics};
	{Common Objects}, developed by {Hewlett-Packard}; and
	{CommonLoops} in use by {Xerox}.

	LMI submitted the specification as a candidate for an
	object-oriented standard for {Common Lisp}, but it was
	defeated in favour of {CLOS}.

	["ObjectLISP User Manual", G. Dreschere, LMI 1987].

	(2008-03-19)

ObjectLOGO

	A variant of LOGO with object-oriented extensions.  Lexical
	scope.  Version 2.6, for the Mac.  Paradigm Software
	<paradigm@applelink.apple.com> (617)576-7675.

Object Management Group

	<body> (OMG) A consortium aimed at setting {standards} in
	{object-oriented programming}.  In 1989, this consortium,
	which included {IBM Corporation}, {Apple Computer Inc.} and
	{Sun Microsystems Inc.}, mobilised to create a
	cross-compatible distributed object standard.  The goal was a
	common binary object with methods and data that work using all
	types of development environments on all types of platforms.
	Using a committee of organisations, OMG set out to create the
	first {Common Object Request Broker Architecture} (CORBA)
	standard which appeared in 1991.  As of February 1998, the
	latest standard is CORBA 2.2.

	{(http://omg.org/)}.

	[David S. Linthicum, DBMS, January 1997]

	(1999-02-02)

Object management system

	In an IPSE, the system which maintains information about the
	system under development.

object method

	<programming> In {object-oriented programming}, a {function} that
	is called ("invoked") on an {object} ??

	is passed

Object Modelling Technique

	<programming> (OMT) An {object-oriented} methodology.

	[Details?]

	(1996-11-03)

Object Oberon

	{Oberon} plus {class}es and {methods} by H. Moessenboeck &
	J. Templ, 1989.  See {Oberon-2}.

	["Object Oberon - An Object-Oriented Extension of Oberon", H.
	Moessenboeck et al, ETH TR 109 (Apr 1990)].

	["Object Oberon - A Modest Object-Oriented Language",
	H. Moessenboeck & J. Templ, in Structured Programming 10(4),
	1989].

object-orientation

	{object-oriented}

object-oriented

	1. <programming> (OO) Based on {objects}, {classes} and {methods},
	as in {object-oriented programming} or {object-oriented design}.
	An {object-oriented database} applies the same concepts to the
	storage of objects.

	2. <graphics> {vector graphics}.

	(2014-01-06)

object-oriented analysis

	<programming> (OOA) The first phase of {object-oriented design}.

	(2014-01-06)

object-oriented database

	<database> (OODB) A system offering {DBMS} facilities in an
	{object-oriented programming} environment.  Data is stored as
	{objects} and can be interpreted only using the {methods}
	specified by its {class}.  The relationship between similar
	objects is preserved ({inheritance}) as are references between
	objects.  Queries can be faster because {joins} are often not
	needed (as in a {relational database}).  This is because an
	object can be retrieved directly without a search, by
	following its object id.

	The same programming language can be used for both data
	definition and data manipulation.  The full power of the
	database programming language's {type system} can be used to
	model {data structures} and the relationship between the
	different data items.

	{Multimedia} {applications} are facilitated because the
	{class} {methods} associated with the data are responsible for
	its correct interpretation.

	OODBs typically provide better support for {versioning}.  An
	object can be viewed as the set of all its versions.  Also,
	object versions can be treated as full fledged objects.  OODBs
	also provide systematic support for {triggers} and
	{constraints} which are the basis of {active databases}.
	Most, if not all, object-oriented {application programs} that
	have database needs will benefit from using an OODB.

	{Ode} is an example of an OODB built on {C++}.

	(1997-12-07)

object-oriented design

	<programming> (OOD) A design method in which a system is modelled
	as a collection of cooperating {objects} and individual objects
	are treated as instances of a {class} within a {class hierarchy}.
	Four stages can be identified: identify the classes and objects,
	identify their {semantics}, identify their relationships and
	specify class and object interfaces and implementation.
	Object-oriented design is one of the stages of {object-oriented
	programming}.

	{Schlaer-Mellor} is one approach to OOD.

	["Object-oriented analysis and design with applications",
	Grady Booch, 2nd ed., pub. Benjamin/Cummings, Redwood CA,
	1994].

	(1997-12-07)

Object-Oriented Fortran

	<language> (OOF) An {object-oriented} extension of {Fortran},
	in which data items can be grouped into objects, which can be
	instantiated and executed in parallel.

	It was available for {Sun}, {Iris}, {iPSC}, and {nCUBE}, but
	is no longer supported.

	E-mail: Donna Reese <dreese@cs.msstate.edu>.

	(2001-03-06)

object-oriented language

	{object-oriented programming}

Object-Oriented Pascal

	{Object Pascal}

object-oriented polymorphism

	<programming> The kind of {polymorphism} found in {object-oriented
	programming} languages where a {variable} can refer to an {object}
	whose {class} is not known exactly until {run time}.  A {method}
	can use a variable of a given class - call other methods on it,
	pass it as an argument, etc. - without needing to know to which
	subclass it refers, as long as its actual class is compatible with
	those uses.

	(2014-01-05)

object-oriented programming

	<programming> (OOP) The use of a class of programming
	languages and techniques based on the concept of an "{object}"
	which is a data structure ({abstract data type}) encapsulated
	with a set of routines, called "{methods}", which operate on
	the data.  Operations on the data can __only__ be performed via
	these methods, which are common to all objects that are
	instances of a particular "{class}".  Thus the interface to
	objects is well defined, and allows the code implementing the
	methods to be changed so long as the interface remains the
	same.

	Each class is a separate {module} and has a position in a
	"{class hierarchy}".  Methods or code in one class can be
	passed down the hierarchy to a {subclass} or inherited from a
	{superclass}.  This is called "{inheritance}".

	A {procedure} call is described as invoking a method on an
	object (which effectively becomes the procedure's first
	{argument}), and may optionally include other arguments.  The
	method name is looked up in the object's class to find out how
	to perform that operation on the given object.  If the method
	is not defined for the object's class, it is looked for in its
	superclass and so on up the class hierarchy until it is found
	or there is no higher superclass.

	OOP started with {SIMULA-67} around 1970 and became
	all-pervasive with the advent of {C++}, and later {Java}.
	Another popular object-oriented programming language (OOPL) is
	{Smalltalk}, a seminal example from {Xerox}'s {Palo Alto
	Research Center} (PARC).  Others include {Ada}, {Object
	Pascal}, {Objective C}, {DRAGOON}, {BETA}, {Emerald}, {POOL},
	{Eiffel}, {Self}, {Oblog}, {ESP}, {Loops}, {POLKA}, and
	{Python}.  Other languages, such as {Perl} and {VB}, permit,
	but do not enforce OOP.

	{FAQ (http://iamwww.unibe.ch/~scg/OOinfo/FAQ/)}.
	{(http://zgdv.igd.fhg.de/papers/se/oop/)}.
	{(http://cuiwww.unige.ch/Chloe/OOinfo)}.

	{Usenet} newsgroup: {news:comp.object}.

	(2001-10-11)

object-oriented programming language

	{object-oriented programming}

Object-oriented SQL

	<language> (OSQL) A {functional language}, a superset of
	{SQL}, used in {Hewlett-Packard}'s {OpenODB} {database}
	system.

	(1994-11-29)

Object-Oriented Turing

	<language> An extension of {Turing} and a replacement for
	{Turing Plus} by R.C. Holt <holt@csri.toronto.edu>, U Toronto,
	1991.  Object-Oriented Turing supports {imperative
	programming}, {object-oriented programming} and {concurrent
	programming}.  It has {modules}, {class}es, {single
	inheritance}, processes, {exception handling} and optional
	machine-dependent programming.

	There is an integrated environment under the {X Window System}
	and {a demo version (ftp://turing.toronto.edu/pub/turing)}.
	Versions exist for {Sun-4}, {MIPS}, {RS-6000} and others.

	E-mail: <ootinfo@turing.toronto.edu>.

	["A Conceptual Framework for Software Development", Mancoridis
	et al, eds, ACM SIGSCE Conference, Feb 1993, Indianapolis].
	["Turing Reference Manual", 1992, ISBN 0-921598-15-7].

	(2000-04-21)

Objectory

	<programming> An {object-oriented} {methodology} mostly
	created by {Ivar Jacobson}.

	(2003-07-11)

ObjectPAL

	{Object-oriented database} language, part of {Borland}'s
	{MS-Windows} version of {Paradox}.

Object Pascal

	<language> An {object-oriented} {Pascal} developed jointly by
	{Apple Computer} and {Niklaus Wirth}.

	["Object Pascal Report", Larry Tesler, Structured Language
	World 9(3):10-17 (1985)].

	(1994-10-28)

Object Persistence Framework

	<programming> (OPF) Any system for storing {objects} so they
	can be reloaded into a future session.  Typically this will
	use a {relational database} along with some kind of {object
	relational mapping}.  Another typical solution would store
	objects in {XML} files (a form of {serialisation}).  One of
	the trickier problems to solve is how to maintain references
	between objects, e.g. replacing memory pointers with unique
	names or identifiers.

	Virtually identical considerations apply to transferring
	objects, or indeed any kind of data structure, from one
	process to another via some communications channel, e.g. a
	{TCP/IP} connection.

	{Apple}'s {Enterprise Objects Framework} (EOF) is a mature and
	powerful example.

	(2009-01-15)

Object Request Broker

	<programming> (ORB) Part of the {OMG} {CORBA} specification,
	an ORB's basic function is to pass {method} invocation
	requests to the correct {objects} and return the results to
	the caller.

	To achieve this the ORB must be able must be able to identify
	and locate objects, handle connections from invoker and the
	data returned from methods.  Communication between the ORB and
	applications are achieved through {IDL} stubs and skeletons
	whilst the OMG has specified {IIOP} as the protocol through
	which ORBs may communicate with each other.  Using IIOP, an
	ORB may request method invocations from a remote object.

	(2003-11-21)

Object Role Modeling

	<programming> (ORM) A conceptual {model}ling approach that
	pictures the application world as a set of {objects} that play
	roles (parts in relationships, which may be unary, binary or
	higher order).  ORM provides both graphical and textual
	languages that enable models to be expressed naturally.  For
	{data modelling} purposes, its graphical language is more
	expressive than {ER} or {UML}.

	{(http://orm.net/)}.

	(1999-08-27)

Object Value

	<jargon> In industrial design, a measure of consumers'
	immediate desire for an object, even before they know or
	understand what it does.  "Gassee may be nuts, but at least
	the {BeBox} has great object value."

	(1997-03-30)

Objectworks

	An {object-oriented} development environment developed by
	{ParcPlace}, available under {Smalltalk} and {C++}.

	(1994-10-28)

Object Z

	University of Queensland.

	["Object Orientation in Z", S. Stepney et al eds, Springer
	1992].

Objlog

	A {frame}-based language combining {objects} and {Prolog II}
	from {CNRS}, Marseille, France.

	["The Inheritance Processes in Prolog", C. Chouraki et al,
	GRTC/187bis/Mars 1987 (CNRS)].

	E-mail: <somebody@grtc.cnrs-mrs.fr>.

	(1994-10-28)

OBJT

	{Error algebras} plus an image construct.  Tardo.

ObjVlisp

	1984.  An {object-oriented} extension of {Vlisp}.
	{Reflective} architecture.

	["Metaclasses are First Class: The ObjVlisp Model", P.
	Cointe, SIGPLAN Notices 22(121):156-167 (Dec 1987) (OOPSLA
	'87)].

ObjVProlog

	{Logic programming} and {object-orientation}, an adaptation of
	the {ObjVlisp} model to {Prolog}.

	["ObjVProlog: Metaclasses in Logic", J. Malenfant, ECOOP '89,
	Cambridge U Press 1989, pp.257-269].

Obliq

	A small, statically scoped untyped language by Luca Cardelli,
	1993.  Obliq is {object-oriented}, higher order, concurrent,
	and distributed.  State is local to an address space, while
	computation can migrate over the network.  The distributed
	computation mechanism is based on {Modula-3} network objects.

	{(ftp://gatekeeper.dec.com/pub/DEC/Modula-3/contrib)}.

oblique stroke

	<character> "/".  Common names include: (forward) slash;
	stroke; {ITU-T}: slant; oblique stroke.  Rare: diagonal;
	solidus; over; slak; virgule; {INTERCAL}: slat.

	Commonly used as the division {operator} in programming, and
	to separate the components in {Unix} {pathnames}, and hence
	also in {URLs}.  Also used to delimit {regular expressions} in
	several languages.

	(1996-09-24)

Oblog

	<language> A small, portable, {Object-oriented} extension to
	{Prolog} by Margaret McDougall of EdCAAD, Dept Arch,
	{University of Edinburgh}.

	(1995-12-29)
OBOE

	{Object-code Buffer Overrun Evaluator}

OBSCURE

	"A Formal Description of the Specification Language OBSCURE",
	J.  Loeckx, TR A85/15, U Saarlandes, Saarbrucken, 1985.

	[{Jargon File}]

observational equivalence

	Two terms M and N are observationally equivalent iff for all
	contexts C[] where C[M] is a valid term, C[N] is also a valid
	term with the same value.

Oc

	<language> ("Oh see!")  A {parallel} {logic language}.

	["Self-Description of Oc and its Applications", M. Hirata,
	Proc 2nd Natl Conf Japan Soc Soft Sci Tech, pp. 153-156,
	1984].

	(1995-03-16)

OC-12

	{Optical Carrier 12}

OC-3

	{Optical Carrier 3}

OC-48

	{Optical Carrier 48}

OCAL

	On-Line Cryptanalytic Aid Language.

	["OCAS: On-line Cryptanalytic Aid System", D.J. Edwards,
	MAC-TR-27, MIT Project MAC, May 1966.  Sammet 1969, p.642].

occam

	<language> (Note lower case) A language based on {Anthony
	Hoare}'s {CSP} and {David May}'s {EPL}.  Named after the
	English philosopher, William of Occam (1300-1349) who
	propounded {Occam's Razor}.  The occam language was designed
	by David May of {INMOS} to easily describe {concurrent}
	processes which communicate via one-way channels.  It was
	developed to run on the {INMOS} {transputer} but {compilers}
	are available for {VAX}, {Sun} and {Intel} {MDS}, inter alia.

	The basic entity in occam is the process of which there are
	four fundamental types, {assignment}, input, output, and wait.
	More complex processes are constructed from these using SEQ to
	specify sequential execution, PAR to specify parallel
	execution and ALT where each process is associated with an
	input from a channel.  The process whose channel inputs first
	is executed.  The fourth constructor is IF with a list of
	conditions and associated processes.  The process executed is
	the one with the first true condition in textual order.  There
	is no {operator precedence}.

	The original occam is now known as "occam 1".  It was extended
	to {occam 2}.

	{Simulator for VAX (ftp://watserv1.waterloo.edu/)}.

	Tahoe mailing list: <occam@sutcase.case.syr.edu>.

	[David May et al, 1982.  "Concurrent algorithms"].

	["Occam", D. May, SIGPLAN Notices 18(4):69-79, 1983].

	(1994-11-18)

occam 2

	<language> An extension of {occam} produced in 1987.  Occam 2
	adds {floating-point}, functions and a type system.

	["occam 2 Reference Manual", INMOS, P-H 1988, ISBN
	0-13-629312-3].

	(1994-11-18)

Occam's Razor

	<philosophy> The English philosopher, William of Occam
	(1300-1349) propounded Occam's Razor:

	Entia non sunt multiplicanda praeter necessitatem.

	(Latin for "Entities should not be multiplied more than
	necessary").  That is, the fewer assumptions an explanation of
	a phenomenon depends on, the better it is.

	For example, some claim that God caused himself to exist and
	also caused the universe to exist - he was the "first cause" -
	whereas Occam's Razor suggests that if one accepts the
	possibility of something causing itself then it is better to
	assume that it was the universe that caused itself rather than
	God because this explanation involves fewer entities.

	The negation of Occam's Razor would suggest that an
	arbitrarily complex explanation is just as good as the
	simplest one.  (E.g. God and his cat created a robot called
	Sparky who built the universe from parts bought from a shop in
	another dimension).

	See also {KISS Principle}.

	(1995-11-09)

occlude

	<programming> (Or "shadow") To make a variable inaccessible by
	declaring another with the same name within the {scope} of the
	first.

	(1995-12-14)

occurs check

	<programming> A feature of some implementations of
	{unification} which causes unification of a {logic variable} V
	and a structure S to fail if S contains V.

	Binding a variable to a structure containing that variable
	results in a cyclic structure which may subsequently cause
	unification to loop forever.  Some implementations use extra
	pointer comparisons to avoid this.

	Most implementations of {Prolog} do not perform the occurs
	check for reasons of efficiency.  Without occurs check the
	{complexity} of {unification} is

		O(min(size(term1), size(term2)))

	with occurs check it's

		O(max(size(term1), size(term2)))

	In {theorem proving} unification without the occurs check can
	lead to unsound inference.  For example, in {Prolog} it is
	quite valid to write

		X = f(X).

	which will succeed, binding X to a cyclic structure.  Clearly
	however, if f is taken to stand for a function rather than a
	{constructor}, then the above equality is only valid if f is
	the {identity function}.

	Weijland calls unification without occur check, "complete
	unification".  The reference below describes a complete
	unification algorithm in terms of Colmerauer's consistency
	algorithm.

	["Semantics for Logic Programs without Occur Check",
	W.P. Weijland, Theoretical Computer Science 71 (1990) pp
	155-174].

	(1996-01-11)

OCL

	<language> 1. {Operator Control Language}.

	2. {Object Constraint Language}.

	(2003-01-18)

OCLC

	{Online Computer Library Center}

OC-n

	{Optical Carrier n}

OCODE

	An {assembly language} for a {stack}-based {virtual machine},
	used as the {intermediate language} of the Cambridge {BCPL}
	compiler.

	["The Portability of the BCPL Compiler", M. Richards, Soft
	Prac & Exp 1(2) (1971)].

	(1995-01-30)

OCP

	<processor> {Order Code Processor}.

OCR

	{Optical Character Recognition}

OCS

	{Object Compatibility Standard}

octal

	<mathematics> Base 8.  A number representation using the
	digits 0-7 only, with the right-most digit counting ones, the
	next counting multiples of 8, then 8^2 = 64, etc.  For
	example, octal 177 is digital 127:

		digit    weight        value
		  1     8^2 = 64   1* 64 = 64
		  7     8^1 =  8   7*  8 = 56
		  7     8^0 =  1   7*  1 =  7
				          ---
					  127

	Octal system used to be widespread back when many computers
	used 6-bit {bytes}, as a 6-bit byte can be conveniently
	written as a two-digit octal number.  Since nowadays a byte is
	almost always 8-bit long the octal system lost most of its
	appeal to the {hexadecimal} system.

	For a brief discussion on the word `octal' see {hexadecimal}.

	(1997-06-16)

octal forty

	<jargon> Jargon for "I'm drawing a blank.", I can't work it
	out.

	{Octal} 40 (decimal 32) is the {ASCII} code for space
	character.  By an odd coincidence, {hex} 40 is the {EBCDIC}
	space character.

	[{Jargon File}]

	(1995-03-06)

Octave

	<language> A high-level {interactive} language by John
	W. Eaton, with help from many others, like {MATLAB}, primarily
	intended for numerical computations.  Octave provides a
	convenient {command line interface} for solving linear and
	nonlinear problems numerically.

	Octave can do arithmetic for {real} and {complex} {scalars}
	and {matrices}, solve sets of nonlinear algebraic equations,
	integrate functions over finite and infinite intervals, and
	integrate systems of ordinary differential and
	differential-algebraic equations.

	Octave has been compiled and tested with {g++} and libg++ on a
	{SPARCstation 2} running {SunOS} 4.1.2, an {IBM} {RS/6000}
	running {AIX} 3.2.5, {DEC Alpha} systems running {OSF}/1 1.3
	and 3.0, a {DECstation 5000}/240 running {Ultrix} 4.2a, and
	{Intel 486} systems running {Linux}.  It should work on most
	other {Unix} systems with {g++} and libg++.

	Octave is distributed under the {GNU} {General Public
	License}.  It requires {gnuplot}, a {C++} compiler and
	{Fortran} compiler or {f2c} translator.

	Latest version: 2.0.16 (released 2000-01-30), as of 2000-06-26.

	{home (http://che.wisc.edu/octave)}.

	{(ftp://ftp.che.wisc.edu/pub/octave/)} or your nearest {GNU
	archive site}.

	E-mail: <bug-octave@bevo.che.wisc.edu>.

	(2000-06-27)

octet

	<jargon, networking> Eight bits.  This term is used in
	networking, in preference to {byte}, because some systems use
	the term "byte" for things that are not 8 bits long.

	(1995-03-03)

octothorpe

	{hash character}

OCX

	{OLE custom controls}

OD390

	<web> A {CICS} Web {interperter} from {IBM} used
	for application development involving web interfaces to {DB2}
	tables.

	(1998-06-21)

ODA

	{Open Document Architecture} (formerly Office
	Document Architecture).

ODBC

	{Open DataBase Connectivity}

ODC

	{Open Distributed Computing}

Ode

	An {Object-Oriented Database} from {AT&T} which extends {C++}
	and supports fast queries, complex application modelling and
	{multimedia}.

	Ode uses one integrated data model ({C++} {class}es) for both
	database and general purpose manipulation.  An Ode database is
	a collection of {persistent} {objects}.  It is defined,
	queried and manipulated using the language {O++}.  O++
	programs can be compiled with C++ programs, thus allowing the
	use of existing C++ code.  O++ provides facilities for
	specifying transactions, creating and manipulating persistent
	objects, querying the database and creating and manipulating
	versions.

	The Ode object database provides four object compatible
	mechanisms for manipulating and querying the database.  As
	well as O++ there are OdeView - an {X Window System}
	interface; OdeFS (a file system interface allowing objects to
	be treated and manipulated like normal Unix files); and CQL++,
	a {C++} variant of {SQL} for easing the transition from
	{relational databases} to OODBs such as Ode.

	Ode supports large objects (critical for {multimedia}
	applications).  Ode tracks the relationship between versions
	of objects and provides facilities for accessing different
	versions.  Transactions can be specified as read-only; such
	transactions are faster because they are not logged and they
	are less likely to {deadlock}.  'Hypothetical' transactions
	allow users to pose "what-if" scenarios (as with
	{spreadsheets}).

	EOS, the {storage engine} of Ode, is based on a client-server
	architecture.  EOS supports {concurrency} based on
	{multi-granularity} two-version two-phase locking; it allows
	many readers and one writer to access the same item
	simultaneously.  Standard two-phase locking is also available.
	Ode supports both a {client-server} mode for multiple users
	with concurrent access and a single user mode giving improved
	performance.

	Ode 3.0 is currently being used as the {multimedia} {database
	engine} for {AT&T}'s {Interactive TV} project.  Ode 2.0 has
	also been distributed to more than 80 sites within AT&T and
	more than 340 universities.  Ode is available free to
	universities under a non-disclosure agreement.  The current
	version, 3.0, is available only for {Sun} {SPARCstations}
	running {SunOS} 4.1.3 and {Solaris} 2.3.  Ode is being ported
	to {Microsoft} {Windows NT}, {Windows 95} and {SGI}
	{platforms}.

	E-mail: Narain Gehani <nhg@research.att.com>.

	(1994-08-18)

ODI

	1. {Optical Digital Image}.

	2. {Open Data-link Interface}.

ODIF

	{Open Document Interchange Format}

ODMA

	{Open Document Management API}

ODMG

	{Object Data Management Group}

odometry

	<robotics> The use of motion sensors to determine a robot's
	change in position relative to some known position.  For
	example, if a robot is traveling in a straight line and if it
	knows the diameter of its wheels, then by counting the number
	of wheel revolutions it can determine how far it has traveled.
	Robots will often have shaft encoders attached to their drive
	wheels which emit a fixed number of pulses per revolution.  By
	counting these pulses, the processor can estimate the distance
	traveled.

	(2006-09-11)

ODP

	{Open Distributed Processing}

ODS

	{Operational Data Store}

ODSA

	{Open Distributed System Architecture}

ODT

	{Open Desktop}

OEM

	{original equipment manufacturer}

OFA

	{Optimal Flexible Architecture}

off-by-one error

	<programming> (Or "Obi-Wan error") An exceedingly common error
	induced in many ways, such as by starting at zero when you
	should have started at one or vice-versa, or by writing "< N"
	instead of "<= N" or vice-versa.  Often confounded with
	{fencepost error}, which is properly a particular subtype of
	it.

	The term {zeroth} corrects the linguistic off-by-one error of,
	e.g., referring to the "1st" element of an array whose indexes
	start from zero.

	[{Jargon File}]

	(1998-09-21)

Office

	{Microsoft Office}

office automation

	<application> The use of computers or related {data
	processing} technology to do routine clerical work such as
	writing, filing and distributing documents.  The term was used
	before computers in offices were the norm (1960s?).

	(2007-09-11)

Office By Example

	<language> (OBE) A sequel to {QBE}, described in publications
	by Moshe Zloof of {IBM} in the early 1980s but apparently
	never implemented.

	(1998-03-14)

Office Workstations Limited

	<company> (OWL) A UK software company, now a subsidiary of
	{Matsushita} (Panasonic, etc.).  They previously supported the
	{Guide} {hypertext} system but that support is now provided by
	US company {InfoAccess}.

	E-mail: <postmaster@owl-uk.owl-uk.co.uk>

	[Correct address?]

	(1996-01-15)

Official Production System

	<language> (OPS) The first {production system} (i.e. rule
	based) programming language, developed at {CMU} in 1970 and
	used for building {expert systems}.  OPS was originally
	written in {Franz Lisp} and later ported to other {LISP}
	dialects.

	(2003-04-05)

off-line

	<jargon> (Or "offline")

	1. Not directly connected to the computer (e.g., an off-line
	{tape drive}), or with connection suspended ("take the
	{printer} off-line").

	Contrast {background}, {on-line}.

	2. Not now or not here.  "Let's take this discussion
	off-line."  Specifically used on {Usenet} to suggest that a
	discussion be moved off a public {newsgroup} to {e-mail}.

	See also {off-line world}.

	[{Jargon File}]

	(1996-02-02)

off-line world

	<jargon> A die-hard {nethead} term for non-computer-related
	experience.

	See also {big room}.

	["Internet", Feb 1996].

	(1996-03-04)

offset

	<programming> An index or position in an {array}, {string}, or
	block of memory usually a non-negative {integer}.

	E.g. the {Perl} function splice(ARRAY, OFFSET, LENGTH, LIST)
	replaces LENGTH elements starting at index OFFSET in array
	with LIST, where offset zero means the start of the array.

	For an {Intel x86} processor with a {segmented address space}
	the offset is the position of a {byte} relative to the start
	of the segment.

	(2004-02-27)

offshoring

	<business> Transfer of a business process, e.g. manufacturing
	or customer service, from a company in one country to the same
	or another company in a different country.  This overlaps
	partially with outsourcing, in which work is transferred
	to a different company in the same or a different country.

	(2008-12-12)

off-side rule

	A lexical convention due to Landin, allowing the scope of
	declarations in a program to be expressed by indentation.  Any
	non-whitespace token to the left of the first such token on
	the previous line is taken to be the start of a new
	declaration.  Used in, for example, Miranda and Haskell.

	[P.J. Landin "The Next 700 Programming Languages", CACM vol 9
	pp157-165, March 1966]

off the trolley

	Describes the behaviour of a program that malfunctions and
	goes catatonic, but doesn't actually {crash} or abort.  See
	{glitch}, {bug}, {deep space}.

	[{Jargon File}]

ogg

	<games> /og/ ({CMU}) 1. In the multi-player space combat game
	{Netrek}, to execute kamikaze attacks against enemy ships
	which are carrying armies or occupying strategic positions.
	Named during a game in which one of the players repeatedly
	used the tactic while playing Orion ship G, showing up in the
	player list as "Og".  This trick has been roundly denounced by
	those who would return to the good old days when the tactic of
	dogfighting was dominant, but as Sun Tzu wrote, "What is of
	supreme importance in war is to attack the enemy's strategy."
	However, the traditional answer to the newbie question "What
	does ogg mean?" is just "Pick up some armies and I'll show
	you."

	2. In other games, to forcefully attack an opponent with the
	expectation that the resources expended will be renewed faster
	than the opponent will be able to regain his previous
	advantage.  Taken more seriously as a tactic since it has
	gained a simple name.

	3. To do anything forcefully, possibly without consideration
	of the drain on future resources.  "I guess I'd better go ogg
	the problem set that's due tomorrow."  "Whoops!  I looked down
	at the map for a sec and almost ogged that oncoming car."

	(1995-01-31)

Ogg Vorbis

	<audio, compression> A patent-free {audio} {compression}
	{algorithm}.

	{(http://xiph.org/)}.

	(2001-12-17)

OHCI

	{Open Host Controller Interface}

Ohm

	<unit> The {MKS} unit of electrical {resistance}.  One Ohm is
	the resistance of a conductor across which a {potential
	difference} of one {Volt} produces a {current} of one
	{Ampere}.  Named after {Georg Simon Ohm}.

	(2003-12-02)

Ohm, Georg Simon

	{Georg Simon Ohm}

ohnosecond

	<unit, humour> (Presumably a play on "{nanosecond}") The
	miniscule time it takes to realize that you've just made a BIG
	mistake like typing rm -rf * in the wrong directory.

	Seen in Elizabeth P. Crowe's book, "The Electronic Traveller."

	(1998-08-27)

OIC

	<chat> oh, I see.

	(1998-01-18)

OID

	{object identifier}

-oid

	<jargon> (from "android") A suffix used as in mainstream
	English to indicate a poor imitation, a counterfeit, or some
	otherwise slightly bogus resemblance.  Hackers will happily
	use it with all sorts of non-Greco/Latin stem words that
	wouldn't keep company with it in mainstream English.  For
	example, "He's a nerdoid" means that he superficially
	resembles a {nerd} but can't make the grade; a "modemoid"
	might be a 300-baud {modem} (Real Modems run at 144000 or up);
	a "computeroid" might be any {bitty box}.

	"-oid" can also mean "resembling an android", which was once
	confined to science-fiction fans and hackers.  It too has
	recently (in 1991) started to go mainstream (most notably in
	the term "trendoid" for victims of terminal hipness).  This is
	probably traceable to the popularisation of the term {droid}
	in "Star Wars" and its sequels.

	Coinages in both forms have been common in science fiction for
	at least fifty years, and hackers (who are often SF fans) have
	probably been making "-oid" jargon for almost that long
	(though {GLS} and {ESR} can personally confirm only that they
	were already common in the mid-1970s).

	[{Jargon File}]

	(1999-07-10)

OIL

	1. ["The Architecture of the FAIM-1 Symbolic Multiprocessing
	System", A.  Davis et al, 9th Intl Joint Conf in Artif Intell,
	1985, pp.32-38].

	2. Operator Identification Language.  Used for {overloading}
	resolution by the {Eli} compiler-writing system.

OLAP

	{On-Line Analytical Processing}

OLAP Council

	<body, standard> A body formed in early 1995 to work on a
	{cross-product} {API} for {OLAP}.  After little success it was
	replaced by the {Analytical Solutions Forum}.

	(2005-05-28)

OLC

	{On-Line Computer system}

OLDAS

	On-line Digital Analog Simulator.  An interactive version of
	{MIMIC}, for {IBM 360}.

	["OLDAS: An On-line Continuous System Simulation Language",
	R.P. Cullen, in Interactive Systems for Experimental Applied
	Mathematics, A-P 1968].

old fart

	Tribal elder.  A title self-assumed with remarkable frequency
	by (especially) {Usenet}ters who have been programming for
	more than about 25 years; often appears in {sig blocks}
	attached to {Jargon File} contributions of great archaeological
	significance.  This is a term of insult in the second or third
	person but one of pride in first person.

	[{Jargon File}]

old talk

	<chat> The old implementations of {talk}.  See "{ntalk}" for
	details.

	(1997-09-11)

Old Testament

	[C programmers]  The first edition of {K&R}, the
	sacred text describing {Classic C}.

	[{Jargon File}]

OLE

	{Object Linking and Embedding}

OLE custom controls

	<programming> (OCX) An {Object Linking and Embedding}
	(OLE) custom control allowing infinite extension of the
	{Microsoft Access} control set.  OCX is similar in purpose to
	{VBX} used in {Visual Basic}.  Available OCX's include "Scroll
	Bar Control", "Calendar Control", and "Data Outline Control".

	[Details?]

	(1995-12-05)

OLE DB

	<database, programming> {Microsoft}'s low-level {application
	program interface} (API) for access to data sources.

	"OLE" originally stood for {Object Linking and Embedding} and
	"DB" for database but Microsoft no longer ascribes these
	meanings.

	(2008-03-19)

OLE for Process Control

	<standard> (OPC) A set of seven open standards for
	connectivity and interoperability of industrial automation and
	the enterprise systems.

	Based on fundamental and evolving standards and technology of
	the general computing market, the OPC Foundation adapts and
	creates specifications that fill industry-specific needs.

	{OPC Foundation (http://opcfoundation.org/)}.

	(2003-05-21)

OLGA

	Ouf! un Langage pour les Grammaires Attribuees.

	Inria, 1985.  Language for specification of attribute
	grammars, used as the input language of the compiler writing
	system FNC-2.  Applicative, {strongly typed}, polymorphic,
	pattern-matching, modules.

Olivetti

	<company> A large Italian company producing office machinery,
	computers and printers.

	Olivetti took a controlling stake in {Acorn Computers} in
	September 1985.

	Olivetti computers were once marketed in USA with the ATT
	brand name.

	[Address?  Other products?]

	(1995-03-14)

O-Logic

	An {object-oriented} deductive language/database system.

OLTP

	{On-Line Transaction Processing}

OLWM

	{OpenLook Window Manager}

om

	<networking> The {country code} for Oman.

	(1999-01-27)

OMA

	Object Management Architecture.

	A set of standards under study by the {OMG}.

	(1994-11-11)

Omega

	1. <programming> A {prototype}-based {object-oriented}
	language from Austria.

	["Type-Safe Object-Oriented Programming with Prototypes - The
	Concept of Omega", G. Blaschek, Structured Programming
	12:217-225, 1991].

	2. <text, tool> A successor to {TeX} extended to handle the
	{Unicode} character set.

	{(http://ens.fr/omega/)}.

	(1997-11-20)

Omega-algebraic

	In domain theory, a complete partial order is algebraic if
	every element is the lub of some chain of compact elements.
	If the set of compact elements is countable it is
	omega-algebraic.  Usually written with a Greek letter omega
	({LaTeX} \omega).

	(1995-02-03)

Omega test

	The Omega test is a system written by William Pugh
	<pugh@cs.umd.edu> and others for performing symbolic
	manipulations of {conjunctions} of {linear constraints} over
	integer variables.  The Omega test dependence analyser is a
	system built on top of the Omega test to analyse {array} data
	dependences.

	Version 3.2.2 includes a fortran to tiny translator, a Tiny
	interpreter(?) and analysis tools.

	{(ftp://ftp.cs.umd.edu/pub/omega)}.  E-mail: <omega@cs.umd.edu>.

	(1992-11-13)

OMF

	Object Management Facility.

	Part of the {DAA} proposed by {Hewlett-Packard} and {Sun}.

OMG

	{Object Management Group}

OMNICODE

	Thompson, 1956.  Ran on IBM 650.

	[Sammet 1969, p. 5].

OMNIFAX

	Alternate name for NYU OMNIFAX?  Early system on UNIVAC I or
	II.  Listed in CACM 2(5):16 (May 1959).

OMNITAB

	Statistical analysis and desk calculator.  Version: OMNITAB
	II.

	["OMNITAB II User's Reference Manual", NBS Tech Note 552 (Oct
	1971).  Sammet 1969, pp. 296-299].

OMR

	{Optical Mark Reader}

OMS

	{Opportunity Management System}

OMT

	{Object Modelling Technique}

OMTool

	A graphical tool from General Electric Advanced Concepts
	Center for design and analysis of systems with the {OMT}
	methodology.  Generates {C++} and {SQL} code.

ONC

	{Open Network Computing}

Ondine

	["Concurrency Introduction to an Object-Oriented Language
	System Ondine", T. Ogihara et al, 3rd Natl Conf Record A-5-1,
	Japan Soc for Soft Sci Tech, Japan 1986].

	(2012-12-31)

one

	<mathematics> The lowest positive {integer} and the basis for
	counting.  Multiplication by one is an {identity operator} and,
	since one is its own {reciprocal}, so is division by one.  One is
	the result of dividing any non-zero number by itself.  One raised
	to any power is one and raising to the power one is also an
	identity operator.

	<data> The largest digit in {binary}, related to the value {true}
	in {Boolean algebra}.  {Digital computers} typically represent one
	by a high voltage and zero by a low voltage.

	(2012-12-31)

one-banana problem

	<jargon, abuse> At computer installations where the computers
	have operators for routine administrivia, the programmers and
	hardware people tend to look down on the operators and claim
	that a trained monkey could do their job.  The incentives
	offered to said monkeys would then describe the difficulty of
	a task.  A one-banana problem is simple; hence, "It's only a
	one-banana job at the most; what's taking them so long?"

	See also {Infinite-Monkey Theorem}.

	[{Jargon File}]

	(2010-03-20)

one-dimensional array

	<types> An {array} with only one {dimension}; the simplest kind of
	array, consisting of a sequence of items ("elements"), all of the
	same type.  An element is selected by an integer {index} that
	normally starts at zero for the first element and increases by
	one.  The index of the last element is thus the length of the
	array minus one.

	A one-dimensional array is also known as a {vector}.  It should
	not be confused with a {list}.  In some languages, e.g. {Perl},
	all arrays are one-dimensional and higher dimensions are
	represented as arrays of {pointers} to arrays (which can have
	different sizes and can themselves contain pointers to arrays and
	so on).

	A one-dimensional array maps simply to memory: the address of an
	element with index i is

		A(i) = A0 + i * s

	where A0 is the base address of the array and s is the size of
	storage used for each element, the "stride".  Elements may be
	padded to certain {address boundaries}, e.g. {machine words}, to
	increase access speed, in which case the stride will be larger
	than the amount of data in an element.

	(2014-03-22)

one-line fix

	Used (often sarcastically) of a change to a program that is
	thought to be trivial or insignificant right up to the moment
	it crashes the system.  Usually "cured" by another one-line
	fix.  See also {I didn't change anything!}

one-liner wars

	<games, programming> A game popular among {hackers} who code
	in the language {APL} (see {write-only language} and {line
	noise}).  The objective is to see who can code the most
	interesting and/or useful routine in one line of {operators}
	chosen from APL's exceedingly {hairy} primitive set.  A
	similar amusement was practiced among {TECO} hackers and is
	now popular among {Perl} aficionados.

	{Ken Iverson}, the inventor of APL, has been credited with a
	one-liner that, given a number N, produces a list of the prime
	numbers from 1 to N inclusive.  It looks like this:

	  (2 = 0 +.= T o.| T) / T <- iN

	where "o" is the APL null character, the assignment arrow is a
	single character, and "i" represents the APL iota.

	[{Jargon File}]

	(2000-03-19)

ones complement

	A system used in some computers to represent negative
	numbers. To negate a number, each bit of the number is
	inverted (zeros are replaced with ones and vice versa).  This
	has the consequence that there are two reperesentations for
	zero, either all zeros or all ones.

		...
		000...00011 = +3
		000...00010 = +2
		000...00001 = +1
		000...00000 = +0
		111...11111 = -0
		111...11110 = -1
		111...11101 = -2
		111...11100 = -3
		...

	Naive logic for ones complement addition might easily conclude
	that -0 + 1 = +0.

	The {twos complement} avoids this by using all ones to
	represent -1.

One-Time Password

	<security> (OTP) A security system that requires a new
	password every time a user authenticates themselves, thus
	protecting against an intruder replaying an intercepted
	password.  OTP generates passwords using either the {MD4} or
	{MD5} {hashing} {algorithms}.

	The equivalent term "S/Key", developed by Bellcore, is a
	trademark of {Telcordia Technologies}, so the name OTP is used
	increasingly.

	See {RFC 1760} - "The S/KEY One-Time Password System" and {RFC
	1938} - "A One-Time Password System".

	{(http://cs.umd.edu/~harry/jotp/)}.

	(2000-01-31)

One Time Programmable Read-Only Memory

	<storage> (OTPROM, EPROM OTP) A kind of storage device like an
	{EPROM} but with no quartz glass window in the package for
	erasing the contents.  This reduces the packaging cost but
	means the device cannot be erased with UV and so can only be
	written once.  Erasure is possible, but expensive, with
	X-rays.

	(1995-04-22)

one-way function

	<cryptography, mathematics> A {function} which is easy to
	compute but whose {inverse} is very difficult to compute.
	Such functions have important applications in {cryptography},
	specifically in {public-key cryptography}.

	See also: {trapdoor function}.

	(2001-05-10)

one-way hash function

	<algorithm> (Or "message digest function") A {one-way
	function} which takes a variable-length message and produces a
	fixed-length hash.  Given the hash it is computationally
	infeasible to find a message with that hash; in fact one can't
	determine any usable information about a message with that
	hash, not even a single bit.  For some one-way hash functions
	it's also computationally impossible to determine two messages
	which produce the same hash.

	A one-way hash function can be private or public, just like an
	{encryption} function.  {MD5}, {SHA} and {Snefru} are examples of
	public one-way hash functions.

	A public one-way hash function can be used to speed up a
	public-key {digital signature} system.  Rather than sign a
	long message, which can take a long time, compute the one-way
	hash of the message, and sign the hash.

	{sci.crypt FAQ
	(ftp://src.doc.ic.ac.uk/usenet/usenet-by-group/sci.crypt/)}.

	(2001-05-10)

on-line

	<jargon> 1. Ready for use.  E.g. "The graph plotter's fixed
	and on-line again".

	2. {Interactive} as opposed to {batch}.  Accessible via a
	computer (or {terminal}), rather than on paper or other
	medium.

	3. Of a user, actively using a computer system, especially the
	{Internet}.  E.g "I haven't been on-line for three days."

	"On-line" should be hyphenated because it is compounded from
	two words but the hyphen is often omitted in names of
	organisations or services.

	(1998-12-22)

On-Line Analytical Processing

	<database> (OLAP) A category of {database} software which
	provides an interface such that users can transform or limit
	raw data according to user-defined or pre-defined functions,
	and quickly and interactively examine the results in various
	dimensions of the data.

	OLAP primarily involves aggregating large amounts of diverse
	data.  OLAP can involve millions of data items with complex
	relationships.  Its objective is to analyze these
	relationships and look for patterns, trends, and exceptions.

	The term was originally coined by {Dr. Codd} in 1993 with 12
	"rules".  Since then, the {OLAP Council}, many vendors, and
	Dr. Codd himself have added new requirements and confusion.

	Richard Creeth and Nigel Pendse define OLAP as fast analysis
	of shared multidimensional information.  Their definition
	requires the system to respond to users within about five
	seconds.  It should support logical and statistical processing
	of results without the user having to program in a {4GL}.  It
	should implement all the security requirements for
	confidentiality and concurrent update locking.  The system
	must provide a multidimensional conceptual view of the data,
	including full support for multiple hierarchies.  Other
	aspects to consider include data duplication, {RAM} and disk
	space requirements, performance, and integration with {data
	warehouses}.

	Various bodies have attempted to come up with standards for
	OLAP, including The {OLAP Council} and the {Analytical
	Solutions Forum} (ASF), however, the {Microsoft OLE DB for
	OLAP API} is the most widely adopted and has become the {de
	facto standard}.

	{(http://access.digex.net/~grimes/olap/)}.

	{Usenet} newsgroup: {news:comp.databases.olap}.

	{(http://arborsoft.com/papers/finkTOC.html)}.

	[What's a "multidimensional conceptual view"?]

	(1996-09-24)

Online Computer Library Center, Inc.

	<library> (OCLC) A nonprofit membership organisation offering
	computer-based services and research to libraries, educational
	organisations, and their users.  OCLC operates the OCLC
	Cataloging PRISM service for cataloging and resource sharing,
	provides on-line reference systems for both librarians and
	end-users, and distributes on-line electronic journals.
	OCLC's goals are to increase the availability of library
	resources and reduce library costs for the fundamental public
	purpose of furthering access to the world's information.  The
	OCLC library information network connects more than 10,000
	36,000 libraries worldwide.  Libraries use the OCLC System for
	cataloguing, interlibrary loan, collection development,
	bibliographic verification, and reference searching.  Their
	most visible feature is the OCLC Online Union Catalog (OLUC)
	WorldCat (the OCLC Online Union Catalog).

	{(http://oclc.org/)}.

	(2000-03-23)

On-Line Computer system

	(OLC) A predecessor of the {Culler-Fried System} from {UCSB}
	ca. 1966.

	[Sammet 1969, p.253].

	(1995-11-25)

Online Media

	{Acorn Online Media}

On-line Process Synthesizer

	<simulation> (OPS) A system for {discrete simulation} under
	{CTSS} developed by M. Greenberger at {MIT} ca. 1964.

	[Sammet 1969, p.660. Versions: OPS-3, OPS-4. "On- line
	Computation and Simulation: The OPS-3 System", M. Greenberger
	et al, MIT Press 1965].

	(2003-04-05)

Online Public Access Catalog

	<library> (OPAC) A computerised system to catalogue and
	organise materials in a library (the kind that contains
	books).  OPACs have replaced card-based catalogues in many
	libraries.  An OPAC is available to library users (public
	access).

	(2000-07-17)

On-Line Transaction Processing

	<database> (OLTP) The processing of transactions by computers
	in real time.

	[Details?  Products?]

	(1997-05-14)

Ontic

	<language> {Object-oriented} language for an {inference
	system} with a {Lisp}-like appearance, but based on set
	theory.

	["Ontic: A Knowledge Representation System for Mathematics",
	D.A. McAllester, MIT Press 1989].

	(1996-06-24)

onto

	{surjection}

ontology

	1. <philosophy> A systematic account of Existence.

	2. <artificial intelligence> (From philosophy) An explicit
	formal specification of how to represent the objects, concepts
	and other entities that are assumed to exist in some area of
	interest and the relationships that hold among them.

	For {AI} systems, what "exists" is that which can be
	represented.  When the {knowledge} about a {domain} is
	represented in a {declarative language}, the set of objects
	that can be represented is called the {universe of discourse}.
	We can describe the ontology of a program by defining a set of
	representational terms.  Definitions associate the names of
	entities in the {universe of discourse} (e.g. classes,
	relations, functions or other objects) with human-readable
	text describing what the names mean, and formal {axioms} that
	constrain the interpretation and well-formed use of these
	terms.  Formally, an ontology is the statement of a {logical
	theory}.

	A set of {agents} that share the same ontology will be able to
	communicate about a domain of discourse without necessarily
	operating on a globally shared theory.  We say that an agent
	commits to an ontology if its observable actions are
	consistent with the definitions in the ontology.  The idea of
	ontological commitment is based on the {Knowledge-Level}
	perspective.

	3. <information science> The hierarchical structuring of
	knowledge about things by subcategorising them according to
	their essential (or at least relevant and/or cognitive)
	qualities.  See {subject index}.  This is an extension of the
	previous senses of "ontology" (above) which has become common
	in discussions about the difficulty of maintaining {subject
	indices}.

	(1997-04-09)

OnX

	A graphics package from LAL Orsay.

OO

	{object-oriented}

OOA

	{object-oriented analysis}

OOD

	{object-oriented design}

OODB

	{object-oriented database}

OODBMS

	{object-oriented database management system}

OOF

	{Object-Oriented Fortran}

OOGL

	Object-Oriented Graphics Language.  1970's.

OOo

	{OpenOffice.org}

OOP

	{object-oriented programming}

OOPL

	{object-oriented programming language}

OOPS

	"OOPS: A Knowledge Representation Language", D. Vermeir, Proc
	19th Intl Hawaii Conf on System Sciences, IEEE (Jan 1986)
	pp.156-157.

OOPSLA

	Conference on Object-oriented Programming Systems, Languages
	and Applications.

OOSD

	Object-oriented structured design: a design method elaborated
	from structured design and incorporating the essential
	features of the object-oriented approach.

OOZE

	Object oriented extension of Z.  "Object Orientation in Z", S.
	Stepney et al eds, Springer 1992.

op

	<job> /op/ 1. In England and Ireland, a common verbal
	abbreviation for "operator", as in {system operator}.  This is
	less common in the US, where {sysop} seems to be preferred.

	2. The general term for an {IRC} {channel op}.  Also, as a
	verb: to give someone {channel op} privileges.  Compare
	{ircop}.

	[{Jargon File}]

	(1997-12-12)

OPAC

	{Online Public Access Catalog}

Opal

	1. A {DSP} language.

	["OPAL: A High Level Language and Environment for DSP boards
	on PC", J.P. Schwartz et al, Proc ICASSP-89, 1989].

	2. The language of the {object-oriented database} {GemStone}.

	["Making Smalltalk a Database System", G. Copeland et al, Proc
	SIGMOD'84, ACM 1984, pp.316- 325].

	3. A {simulation} language with provision for {stochastic
	variables}.  An extension of {Autostat}.

	["C-E-I-R OPAL", D. Pilling, Internal Report,
	C.E.I.R. Ltd. (1963)].

	4. A language for compiler testing said to be used internally
	by {DEC}.

	5. A {functional programming} language designed at the
	{Technische Universitaet Berlin} as a testbed for the
	development of {functional programs}.  OPAL integrates
	concepts from Algebraic Specification and Functional
	Programming, which favour the (formal) development of (large)
	production-quality software written in a {purely functional}
	style.

	The core of OPAL is a {strongly typed}, {higher-order},
	{strict} applicative language which belongs to the tradition
	of {Hope} and {ML}.  The algebraic flavour of OPAL is visible
	in the syntactical appearance and in the preference of
	{parameterisation} to {polymorphism}.

	OPAL supports: {information hiding} - each language unit is
	divided into an interface (signature) and an implementation
	part; selective import; {parameterised modules}; free
	constructor {views} on {sorts}, which allow pattern-based
	function definitions despite quite different implementations;
	full {overloading} of names; puristic scheme language with no
	{built-in} data types (except {Booleans} and denotations).

	OPAL and its predecessor OPAL-0 have been used for some time
	at the Technische Universitaet Berlin in CS courses and for
	research into optimising compilers for applicative languages.
	The OPAL compiler itself is writte entirely in OPAL.

	An overview is given in "OPAL: Design And Implementation of an
	Algebraic Programming Language".

	{(http://cs.tu-berlin.de/~opal/)}.

	{(ftp://ftp.cs.tu-berlin.de/pub/local/uebb/papers/DesignImplOpal.ps.gz)}.

	(1995-02-16)

OPC

	{OLE for Process Control}

op code

	{operation code}

open

	1. To prepare to read or write a file.  This usually involves
	checking whether the file already exists and that the user has
	the necessary authorisation to read or write it.  The result
	of a successful open is usually some kind of {capability}
	(e.g. a {Unix} {file descriptor}) - a token that the user
	passes back to the system in order to access the file without
	further checks and finally to close the file.

	2. Abbreviation for "open (or left) parenthesis" - used when
	necessary to eliminate oral ambiguity.  To read aloud the LISP
	form (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun
	foo, open eks close, open, plus eks one, close close."

	3. Non-proprietary.  An open {standard} is one which can be
	used without payment.

	[{Jargon File}]

	(1995-01-31)

open box testing

	{white box testing}

OpenBSD

	<operating system> A version of {BSD Unix} with an emphasis on
	security.  A lot of security work that is ported to other free
	operating systems originates with OpenBSD and a lot of {code
	review} is done here.

	Sub-projects of OpenBSD include implementations of {SSH
	(http://openssh.org/)}, {ntpd (http://openntpd.org/)},
	and {CVS}, to be called OpenCVS.

	{OpenBSD Home (http://openbsd.org/)}.

	(2005-01-17)

open/closed principle

	<programming, theory> A principle used in {OOPL} which states
	that a {class} must be open and closed where open means it has
	the ability to be extended and closed means it cannot be
	modified other than by extension.

	The idea is that once a class has been approved for use having
	gone through code reviews, unit tests, and other qualifying
	procedures, you don't want to change the class very much, just
	extend it.  In practice the open/closed principle simply means
	making good use of {abstraction} and {polymorphism}.

	(1997-09-23)

open-collar worker

	<job> Someone who works at home or telecommutes.

	(1997-04-17)

Open DataBase Connectivity

	<standard, database> (ODBC) A {standard} for accessing
	different {database} systems.  There are interfaces for
	{Visual Basic}, {Visual C++}, {SQL} and the ODBC driver pack
	contains drivers for the {Access}, {Paradox}, {dBase}, Text,
	{Excel} and {Btrieve} databases.

	An application can submit statements to ODBC using the ODBC
	flavor of SQL.  ODBC then translates these to whatever flavor
	the database understands.

	ODBC 1.0 was released in September 1992.

	ODBC is based on {Call-Level Interface} and was defined by the
	{SQL Access Group}.  {Microsoft} was one member of the group
	and was the first company to release a commercial product
	based on its work (under {Microsoft Windows}) but ODBC is not
	a Microsoft standard (as many people believe).

	ODBC drivers and development tools are available now for
	{Microsoft Windows}, {Unix}, {OS/2}, and {Macintosh}.

	[On-line document?]

	["Unix Review", Aug 1995].

	(1996-05-27)

Open Data-link Interface

	<networking, standard> (ODI) A {Novell}-developed {network
	card} {API} that provides media and {protocol} independence.
	It allows the sharing of a single card by multiple {transport
	layer} {protocols} and resolves conflicts.

	(1995-03-13)

Open DeathTrap

	<abuse> An abusive hackerism for the {Santa Cruz Operation}'s
	{Open DeskTop}.  The funniest part is that this was coined by
	SCO's own developers.

	Compare {AIDX}, {Macintrash} {Nominal Semidestructor},
	{ScumOS}, {sun-stools}, {HP-SUX}.

	[{Jargon File}]

	(1995-02-02)

Open Desktop

	<operating system, product> A {Motif}-based graphical
	interface from the {Santa Cruz Operation} (SCO), built over
	their {Unix} environment, part of the {ACE} initiative.

	Also known as "{Open DeathTrap}".

	(1995-02-02)

Open Distributed Processing

	<standard> (ODP) An attempt to standardise an {OSI}
	{application layer} communications architecture.  ODP is a
	natural progression from {OSI}, broadening the target of
	standardisation from the point of interconnection to the end
	system behaviour.  The objective of ODP is to enable the
	construction of {distributed systems} in a multi-vendor
	environment through the provision of a general architectural
	framework that such systems must conform to.  One of the
	cornerstones of this framework is a model of multiple
	viewpoints which enables different participants to observe a
	system from a suitable perspective and a suitable level of
	{abstraction}.

	(1995-03-10)

Open Distributed System Architecture

	(ODSA) A research program sponsored by the UK Department of
	Trade and Industry and the Engineering and Physical Sciences
	Research Council.

	[Details?]

	(1995-02-09)

OpenDoc

	<operating system> A compound document architecture from {CIL}
	based on {CORBA}.  It aims to enable embedding of features
	from different {application programs} into a single working
	document.

	(1997-02-21)

OpenDocument

	<file format, standard> (ODF, ISO/IEC 26300, OASIS Open
	Document Format for Office Applications) An {XML} {file
	format} for {office} documents, such as {spreadsheets},
	charts, presentations, databases and {word processing}.

	OpenDocument was developed by the Open Office XML technical
	committee of the Organization for the Advancement of
	Structured Information Standards ({OASIS}) consortium.  It is
	based on the XML format originally created and implemented by
	the {OpenOffice.org} {office suite}.  OpenDocument is an open
	standard, i.e. freely available and implementable.

	Compare {OOXML}.

	(2007-09-19)

Open Document Architecture

	<standard> (ODA) {ISO} {standard} (8613) for describing
	documents.  It allows text, graphics, and facsimile documents
	to be transferred between different systems.

	{ODIF} is part of ODA.

	(1995-03-03)

Open Document Interchange Format

	<standard> (ODIF) Part of the {ODA} standard.

	(1996-10-16)

Open Document Management API

	<text, standard> An open standard allowing desktop
	applications to interface with {document management systems}.

	{(http://activedoc.com)}.

	(1997-07-04)

OpenGL

	{Open Graphics Library}

Open Graphics Library

	<graphics, library> (OpenGL) A multi-{platform} software
	interface to graphics hardware, supporting {rendering} and
	{imaging} operations.  The OpenGL interface was developed by
	{Silicon Graphics}, who license it to other vendors.

	The OpenGL graphics interface consists of several hundred
	functions operating on 2D and 3D objects, supporting basic
	techniques, such as {modelling} and {smooth shading}, and
	advanced techniques, such as {texture mapping} and {motion
	blur}.  Many operations require a {frame buffer}.  OpenGL is
	{network-transparent}, and a common extension to the {X Window
	System} allows an OpenGL {client} to communicate across a
	network with a different vendor's OpenGL {server}.

	OpenGL is based on Silicon Graphics' proprietary {IRIS GL}.

	{OpenGL WWW Center (http://sgi.com/Technology/openGL/)}.

	{Mesa GL (http://ssec.wisc.edu/~brianp/Mesa.html)} (PD
	implementation).

	(1996-09-30)

Open Group

	{The Open Group}

OpenInsight

	<programming, database> The {workflow}-enabled {Windows
	95}/{Windows NT} version of {Advanced Revelation}, featuring
	native support for {Lotus Notes}, {Microsoft SQL Server},
	{Oracle} and {ODBC}.  OpenInsight is available from
	{Revelation Software}.

	(1997-04-25)

Open Look

	<operating system> A {graphical user interface} and {window
	manager} from {Sun} and {AT&T}.

	{Usenet} newsgroup: {news:comp.graphics.openlook}.

	(1995-06-11)

Open Network Computing

	(ONC) {Sun}'s {network} {protocols}.

	[more detail?]

OpenOffice.org

	<project> (OOo) The group that produces a {free} ({GPL})
	{cross-platform} {office suite} that provides much of the same
	functionality as {Microsoft Office} including {word
	processing}, {spreadsheet}, presentation and graphics.  Each
	program can read and write both its own and Microsoft formats.

	{OpenOffice Home (http://openoffice.org/)}.

	(2005-01-26)

Open Prolog

	<Prolog, language> {Prolog} for the {Macintosh} by Michael Brady
	<brady@cs.tcd.ie>.

	{(http://cs.tcd.ie/open-prolog/)}.

	[Details?]

	(2000-12-21)

Open Scripting Architecture

	(OSA) A {CIL} approach to the coexistence of multiple
	scripting systems.

	(1995-03-10)

Open Shortest-Path First

	{Open Shortest-Path First Interior Gateway Protocol}

Open Shortest-Path First Interior Gateway Protocol

	<networking, protocol, standard> (OSPF) A {link state routing
	protocol} that is one of the {Internet} standard {Interior
	Gateway Protocols} defined in {RFC 1247}.

	There is no OSPF {EGP}, OSPF is an IGP only.

	[Relationship to {Internet Protocol} packet routing?]

	{OSPF Design Guide
	(http://cisco.com/warp/public/104/1.html)}.

	(2002-06-29)

Open Software Foundation

	<body> (OSF) A foundation created by nine computer vendors,
	({Apollo}, {DEC}, {Hewlett-Packard}, {IBM}, {Bull}, {Nixdorf},
	{Philips}, {Siemens} and {Hitachi}) to promote "Open
	Computing".  It is planned that common {operating systems} and
	interfaces, based on developments of {Unix} and the {X Window
	System} will be forthcoming for a wide range of different
	hardware architectures.  OSF announced the release of the
	industry's first open {operating system} - OSF/1 on 23 October
	1990.

	(1994-11-23)

open source

	<philosophy, legal> A method and philosophy for software
	licensing and distribution designed to encourage use and
	improvement of software written by volunteers by ensuring that
	anyone can copy the {source code} and modify it freely.

	The term "open source" is now more widely used than the
	earlier term "{free software}" (promoted by the {Free Software
	Foundation}) but has broadly the same meaning - free of
	distribution restrictions, not necessarily free of charge.

	There are various {open source licenses} available.
	Programmers can choose an appropriate license to use when
	distributing their programs.

	The {Open Source Initiative} promotes the {Open Source
	Definition}.

	{The Cathedral and the Bazaar
	(http://tuxedo.org/~esr/writings/cathedral-bazaar/cathedral-bazaar.html)}.
	was a seminal paper describing the open source phenomenon.

	{Open Sources - O'Reilly book with full text online
	(http://oreilly.com/catalog/opensources/book/perens.html)}.

	{Articles from ZDNet
	(http://zdnet.com/pcmag/features/opensource/)}.

	(1999-12-29)

Open Source Definition

	<standard> (OSD) Definition of distribution terms for {open
	source} software, promoted by the {Open Source Initiative}.

	{(http://opensource.org/osd.html)}.

	(1999-11-28)

Open Source Initiative

	<body> (OSI) An organisation dedicated to managing and
	promoting the {Open Source Definition} for the good of the
	community.

	{(http://opensource.org/)}.

	(1999-11-28)

Open source license

	<legal> Any document that attempts to specify {open source}
	usage and distribution of software.  These licenses are
	usually drafted by experts and are likely to be more legally
	sound than one a programmer could write.  However, loopholes
	do exist.

	Here is a non-exhaustive list of open source licenses:

	1. {Public Domain} - No license.

	2. {BSD} License - An early open source license

	3. {General Public License} (GPL) - The {copyleft} license of
	the {Free Software Foundation}.  Used for {GNU} software and
	much of {Linux}.

	4. {Artistic License
	(http://my-opensource.org/Artistic.txt)} Less restrictive
	than the GPL, permitted by {Perl} in addition to the GPL.

	5. {Mozilla Public Licenses (http://mozilla.org/MPL/)}.
	(MPL, MozPL) and Netscape Public License (NPL).

	["Open Sources", pub. O'Reilly, {full text
	(http://oreilly.com/catalog/opensources/book/perens.html)}].

	(1999-11-28)

OpenStep

	<operating system> An {object-oriented} {application
	programming interface} (API) derived from {NEXTSTEP} and
	proposed as an {open standard} by {NeXT} in 1994.

	OpenStep is the specification of the object kits of NEXTSTEP.
	OPENSTEP/Mach was an implementation of this specification.
	The original, OPENSTEP version 4.0, and really was NEXTSTEP 4.
	{Rhapsody} was the codename for {Apple}'s {Mac OS X} Server,
	which is really NEXTSTEP 5 (it calls itself "kernel 5.3" at
	boot time).

	OpenStep was designed to be implemented independently of the
	computer's operating system, hardware, and user interface.
	The {API} for {Rhapsody} will be a superset of {OpenStep}'s.

	When the OpenStep {API} is implemented for a specific platform
	and made into a product, it is written in uppercase,
	e.g. OPENSTEP Developer 4.2 for Mach, or OPENSTEP Enterprise
	for {Windows NT} and {Windows 95}.  Versions of OPENSTEP exist
	for Windows 95/NT, Solaris, HP/UX, and Mach.

	(1999-11-25)

open switch

	({IBM}, probably from railways) An unresolved question, issue,
	or problem.

	[{Jargon File}]

	(1994-11-11)

Open System Architecture

	<operating system> (OSA) A competitor to {IBM}'s {SNA}.

	(2005-03-07)

Open Systems Interconnect

	{Open Systems Interconnection}

Open Systems Interconnection

	<networking> (OSI-RM, OSI Reference Model, seven layer model)
	A model of network architecture and a suite of {protocols} (a
	{protocol stack}) to implement it, developed by {ISO} in 1978
	as a framework for international {standards} in heterogeneous
	computer {network} architecture.

	The OSI architecture is split between seven {layers}, from
	lowest to highest: 1 {physical layer}, 2 {data link layer}, 3
	{network layer}, 4 {transport layer}, 5 {session layer}, 6
	{presentation layer}, 7 {application layer}.

	Each layer uses the layer immediately below it and provides a
	service to the layer above.  In some implementations a layer
	may itself be composed of sub-layers.

	OSI is the umbrella name for a series of non-proprietary
	protocols and specifications, comprising, among others, the
	OSI Reference Model, ASN.1 ({Abstract Syntax Notation 1}), BER
	({Basic Encoding Rules}), {CMIP} and {CMIS} (Common Management
	Information Protocol and Services), {X.400} (Message Handling
	System, or MHS), {X.500} (Directory Service), {Z39.50} (search
	and retrieval protocol used by {WAIS}), and many others.
	Apart from its actual application to real protocols, it also
	serves as a useful teaching model.

	(2004-02-13)

Open Telecom Platform

	<communications, library> (OTP) A set of standard, {open source}
	{libraries} and tools for use with {Erlang}.

	{(http://erlang.org/faq/t1.html#AEN17)}.

	(2001-08-28)

Open Trading Protocol

	{Internet Open Trading Protocol}

OpenTransport

	<networking> (OT) A complete reimplementation of all levels of
	the {Macintosh} {networking} code including "Classic"
	{AppleTalk} and {MacTCP}.  It appeared in {MacOS} revision
	7.5.3 [or earlier?  Date?].

	(2000-08-13)

Open University

	<education, body> (OU) The UK distance-learning organisation,
	established in 1969.  It teaches degree-level courses in many
	subjects via BBC radio and television broadcasts and summer
	schools.

	{(http://hcrl.open.ac.uk/ou/ouhome.html)}.

	(1999-07-13)

OpenVMS

	{Virtual Memory System}

OpenWindows

	<operating system> A {graphical user interface} {server} for
	{Sun} {workstations} which handles {SunView}, {NeWS} and {X
	Window System} protocols.

	(1995-06-11)

operand

	<programming> An {argument} of an {operator} or of a {machine
	language} instruction.

	(1995-08-18)

operating system

	<operating system> (OS) The low-level {software} which handles
	the interface to {peripheral} {hardware}, schedules {tasks},
	allocates {storage}, and presents a default {interface} to the
	user when no {application program} is running.

	The OS may be split into a {kernel} which is always present
	and various system programs which use facilities provided by
	the kernel to perform higher-level {house-keeping} tasks,
	often acting as {servers} in a {client-server} relationship.

	Some would include a {graphical user interface} and {window
	system} as part of the OS, others would not.  The {operating
	system loader}, {BIOS}, or other {firmware} required at {boot
	time} or when installing the operating system would generally
	not be considered part of the operating system, though this
	distinction is unclear in the case of a {rommable operating
	system} such as {RISC OS}.

	The facilities an operating system provides and its general
	design philosophy exert an extremely strong influence on
	programming style and on the technical cultures that grow up
	around the machines on which it runs.

	Example operating systems include {386BSD}, {AIX}, {AOS},
	{Amoeba}, {Angel}, {Artemis microkernel}, {BeOS}, {Brazil},
	{COS}, {CP/M}, {CTSS}, {Chorus}, {DACNOS}, {DOSEXEC 2},
	{GCOS}, {GEORGE 3}, {GEOS}, {ITS}, {KAOS}, {Linux}, {LynxOS},
	{MPV}, {MS-DOS}, {MVS}, {Mach}, {Macintosh operating system},
	{Microsoft Windows}, {MINIX}, {Multics}, {Multipop-68},
	{Novell NetWare}, {OS-9}, {OS/2}, {Pick}, {Plan 9}, {QNX},
	{RISC OS}, {STING}, {System V}, {System/360}, {TOPS-10},
	{TOPS-20}, {TRUSIX}, {TWENEX}, {TYMCOM-X}, {Thoth}, {Unix},
	{VM/CMS}, {VMS}, {VRTX}, {VSTa}, {VxWorks}, {WAITS}.

	{FAQ
	(ftp://src.doc.ic.ac.uk/usenet/news-info/comp.os.research)}.

	{Usenet} newsgroup: {news:comp.os.research}.

	[{Jargon File}]

	(1999-06-09)

Operating System/360

	<operating system> (OS/360) An {operating system} developed by
	{IBM} for their {System/360} computer (announced in 1964).

	After this experience, {Frederick P. Brooks} wrote his famous
	book, {The Mythical Man-Month}, giving OS/360 as an example of
	the {second-system effect}.

	[Features?  Relatonship to {DOS/360}?]

	(2001-03-23)

Operating System/Multiprogramming of Fixed Tasks

	<operating system> (OS/MFT) One of the {IBM} {operating
	systems} associated with the {IBM 360}, released in 1966 and
	targetted at mid-range {IBM 360} users (typically 360/40,
	360/50).  OS/MFT was the juinior member of the main 'OS'
	series of IBM operating systems, the other being {OS/MVT}.
	Smaller 360 mainframes used {DOS}.

	OS/MFT shared {JCL} and utilities with OS/MVT but allocated
	memory differently.  In OS/MFT, partitions of memory were of a
	fixed number and size, specified by the generation and
	configuration of the operating system.  As this class of
	mainframe had typically less than 512K of main memory,
	partitions tended to be about 128K.

	With the advent of {Virtual Storage} and the {System 370}'s
	{Dynamic Address Translation} (DAT), OS/MFT was improved to
	become {OS/VS1}, taking account of virtual storage in a single
	partition up to 16MB.

	(1999-01-22)

operational database

	<database> A {database} containing up-to-date, modifiable
	data, in contrast to a {decision support database}.

	(1995-02-14)

Operational Data Store

	<database> (ODS) A group of integrated databases designed to
	support the monitoring of operations.  Unlike function
	oriented databases, an ODS contains subject-oriented, dynamic,
	current enterprise-wide information that is continually
	updated to show the current state of operations.

	["Data Warehousing Architecture and Implementation"].

	(2010-02-28)

operational requirements

	<programming> Qualitative and quantitative parameters that
	specify the desired capabilities of a system and serve as a
	basis for determining the operational effectiveness and
	suitability of a system prior to deployment.

	(1997-01-07)

operational semantics

	<theory> A set of rules specifying how the state of an actual
	or hypothetical computer changes while executing a program.
	The overall state is typically divided into a number of
	components, e.g. {stack}, {heap}, {registers} etc.  Each rule
	specifies certain preconditions on the contents of some
	components and their new contents after the application of the
	rule.

	It is similar in spirit to the notion of a {Turing machine},
	in which actions are precisely described in a mathematical
	way.

	Compuare {axiomatic semantics}, {denotational semantics}.

	(1996-08-21)

operational test and evaluation

	<testing> (OT&E) Formal testing conducted prior to deployment
	to evaluate the operational effectiveness and suitability of
	the system with respect to its mission.

	(1997-01-07)

operational testing

	<testing> A US DoD term for testing performed by the
	{end-user} on software in its normal operating environment.

	(1997-01-07)

operation code

	<programming> (Always "op code" when spoken) The part or parts
	of a {machine language} {instruction} which determines what
	kind of action the computer should take, e.g. add, jump, load,
	store.  In any particular {instruction set} certain fixed bit
	positions within the instruction word contain the op code,
	others give {parameters} such as the addresses or {registers}
	involved.  For example, in a 32-bit instruction the most
	significant eight bits might be the op code giving 256
	possible operations.

	For some instruction sets, certain values in the fixed bit
	positions may select a group of operations and the exact
	operation may depend on other bits within instruction word or
	subsequent words.

	When programming in {assembly language}, the op code is
	represented by a readable name called an {instruction
	mnemonic}.

	(1997-02-14)

operations support technician

	<job> A person who analyses and supports computer operations
	by controlling production applications, monitoring system
	resources and response time and providing first-line support
	for operational problems.

	(2004-03-20)

operator

	<programming> A symbol used as a {function}, with {infix
	syntax} if it has two arguments (e.g. "+") or {prefix syntax} if
	it has only one (e.g. {Boolean} NOT).  Many languages use
	operators for built-in functions such as arithmetic and logic.

	(1995-04-30)

Operator Control Language

	<language> (OCL) The {batch language} for the {IBM System/36},
	used specifically with the {RPG II} {compiler}.

	See also {CL}.

	(1994-11-18)

operator overloading

	{overloading}

OPF

	{Object Persistence Framework}

Opportunity Management System

	<business> (OMS) A system that stores sales opportunities and
	related information.  Each sales lead can be tracked with
	information such as source, type, worth, status, likelihood of
	closure etc.

	An OMS can perform other related tasks such as prioritising
	sales calls and generating analyses that assist the fine-tuning
	of marketing strategies.

	See also {Customer Relationship Management}.

	(1999-08-20)

OPS

	1. <simulation> {On-line Process Synthesizer}.

	2. <language> {Official Production System}.

	3. <database> {Oracle Parallel Server}.

	(2003-04-05)

OPS5

	<language> A programming language for rule-based {production
	systems}.  A rule consists of pre-condition(s) and a resulting
	action.

	The system checks its {working memory} to see if there are
	rules whose pre-conditions are satisfied, if so, the action in
	one selected satisfied rule is executed.

	There is a {public domain} implementation of an OPS5
	{interpreter} written by Charles L. Forgy <forgy@cs.cmu.edu>
	in 1977.  It was first implemented in {Lisp} and later in
	{BLISS}.  It was also ported to {Common Lisp} by George Wood
	and Jim Kowalski.

	{CLIPS} is a language for writing {expert systems}, with some
	of the capabilities of OPS5.

	See also {C5}, {OPS83}, {OPS4}, {OPS5+}, {OPS83}.

	Inference Engine Tech, Cambridge MA.

	{An OPS5 interpreter in Common LISP
	(ftp://ftp.wustl.edu/mirrors/Unix-c/languages/ops5)}.

	{A version by Mark Kantrowitz
	(ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/mkant/Public/Lisp/)}.
	<mkant+@cs.cmu.edu>.

	["Programming Expert Systems in OPS5", L. Brownston et al, A-W
	1985].

	["An OPS5 Primer", Sherman et al, comes with OPS5 for DOS].

	["Rule-Based Programming in the Unix System", G.T. Vesonder,
	AT&T Tech J 67(1), 1988].

	(1995-08-18)

OPS83

	A commercial version of {OPS5}.

Optical Carrier 12

	<networking> (OC-12) A {SONET} rate of 12 * 51.84 = 622.08
	{megabits} per second.

	[Matches {STS-12}]?

	(1997-05-26)

Optical Carrier 3

	<networking> (OC-3) A {SONET} rate of 3 * 51.84 = 155.52
	{megabits} per second, which matches {STS-3}.

	(1997-02-05)

Optical Carrier 48

	<networking> (OC-48) A {SONET} rate of 48 * 51.84 = 2488.32
	{megabits} per second.

	[Matches {STS-48}]?

	(1997-05-26)

Optical Carrier n

	<networking> (OC-n) A {SONET} rate of n times 51.84 {megabits}
	per second.

	(1997-02-05)

Optical Character Recognition

	<text> (OCR, sometimes /oh'k*/) Recognition of printed or
	written characters by computer.  Each page of text is
	converted to a digital using a {scanner} and OCR is then
	applied to this image to produce a text file.  This involves
	complex {image processing} {algorithms} and rarely achieves
	100% accuracy so manual proof reading is recommended.

	(1999-08-26)

optical diff

	{vdiff}

optical disc drive

	{optical disk drive}

optical disk drive

	<hardware> (Or "optical disc drive", "optical storage") A generic
	term for any device that reads and/or writes {optical media},
	i.e. {compact discs}, {DVDs} and/or {Blu-ray discs} or future
	media that uses light (from a small laser) to read data off a
	removable, rotating disk.

	At least one such drive is commonly installed in most {personal
	computers} to allow them to play and/or record {audio} and {video}
	media and load and store data such as program {installers}.

	The {floppy disk} has been replaced by optical media due to its
	vastly greater capacity, e.g. 50,000 {megabytes} for a dual-layer
	{blu-ray disc} compared with 1.5 {megabytes} for a floppy (over
	30,000 times as much).

	(2014-04-27)

optical drive

	{optical disk drive}

optical fiber

	{optical fibre}

optical fibre

	<communications> (fibre optics, FO, US "fiber", light pipe) A
	plastic or glass (silicon dioxide) fibre no thicker than a
	human hair used to transmit information using infra-red or
	even visible light as the carrier (usually a laser).  The
	light beam is an electromagnetic signal with a frequency in
	the range of 10^14 to 10^15 Hertz.

	Optical fibre is less susceptible to external noise than other
	transmission media, and is cheaper to make than copper wire,
	but it is much more difficult to connect.  Optical fibres are
	difficult to tamper with (to monitor or inject data in the
	middle of a connection), making them appropriate for secure
	communications.  The light beams do not escape from the medium
	because the material used provides total internal reflection.

	{AT&T} {Bell Laboratories} in the United States managed to
	send information at a rate of 420 megabits per second, over
	161.5 km through an optical fibre cable.  In Japan, 445.8
	megabits per second was achieved over a shorter distance.  At
	this rate, the entire text of the Encyclopedia Britannica
	could be transmitted in one second.  Currently, AT&T is
	working on a world network to support high volume data
	transmission, international computer networking, {electronic
	mail} and voice communications (a single fibre can transmit
	200 million telephone conversations simultaneously).

	See also {FDDI}, {Optical Carrier n}, {SONET}.

	(1997-05-26)

optical grep

	{vgrep}

Optical Mark Reader

	<hardware> (OMR) A special scanning device that can read
	carefully placed pencil marks on specially designed documents.
	OMR is frequenty used in forms, questionnaires, and
	answer-sheets.

	(1995-04-13)

optical mouse

	<hardware> Any kind of {mouse} that uses visible light or
	infrared to detect changes in its position.

	(1999-07-21)

optical storage

	{optical disk drive}

Optical Storage Technology Association

	<body> (OSTA) An industry consortium concerned with {optical
	storage}.  OSTA wrote and maintains the {UDF} {file system}
	used on {DVD video} discs.

	{OSTA Home (http://osta.org/)}.

	(2003-07-12)

Optical Time Domain Reflectometer

	<hardware> A device used to perform {Optical Time Domain
	Reflectometry}.

	(1995-02-01)

Optical Time Domain Reflectometry

	Measurement of the elapsed time and intensity of light
	reflected on {optical fibre} using an optical time domain
	reflectometer.  The reflectometer can compute the distance to
	problems on the fibre such as attenuation and breaks, making
	it a useful tool in optical network trouble-shooting.

	(1995-02-01)

optimal

	1. <mathematics> Describes a solution to a problem which
	minimises some {cost function}.  {Linear programming} is one
	technique used to discover the optimal solution to certain
	problems.

	2. <programming> Of code: best or most efficient in time,
	space or code size.

	(1995-10-05)

Optimal Flexible Architecture

	<database> (OFA) Recommendations for logical and physical
	allocation of {database} files to disks.  The OFA principles
	can be summarised as: isolate redo, rollback, temp, data and
	index files as much as possible.  OFA can be combined with
	SAME ({Stripe And Mirror Everything}).

	(2007-02-28)

optimise

	To perform {optimisation}.

optimising compiler

	<programming, tool> {compiler} which attempts to analyse the
	code it produces and to produce more efficient code by
	performing {program transformation} such as {branch
	elimination}, {partial evaluation}, or {peep-hole
	optimisation}.

	Contrast {pessimising compiler}.

	(1995-02-01)

optimism

	What a programmer is full of after fixing the last bug and
	just before actually discovering the *next* last bug.  Fred
	Brooks's book "{The Mythical Man-Month}" contains the
	following paragraph that describes this extremely well.

	All programmers are optimists.  Perhaps this modern sorcery
	especially attracts those who believe in happy endings and
	fairy god-mothers.  Perhaps the hundreds of nitty frustrations
	drive away all but those who habitually focus on the end goal.
	Perhaps it is merely that computers are young, programmers are
	younger, and the young are always optimists.  But however the
	selection process works, the result is indisputable: "This
	time it will surely run," or "I just found the last bug.".

	See also {Lubarsky's Law of Cybernetic Entomology}.

	[{Jargon File}]

optimize

	{optimisation}

option

	{command line option}

OPTRAN

	Specification language for attributed tree transformation
	writetn by R. Wilhelm, U Saarlandes in the early 1980's.

	["POPSY and OPTRAN Manual", ESPRIT PROSPECTRA Project Item
	S.1.6-R.3.0, U Saarlandes (Mar 1986)].

Opus

	<project, product> A {Honeywell} {operating system} promised
	as a sop to customers after canning {Multics} in 1985.  Opus
	was to provide everything Multics had and more, plus total
	compatibility with the {Level 6}/{DPS6} operating system.

	"Opus" was a code name, the system was officially named VS3
	(short for HVS R3 or Honeywell Virtual System Release Three).
	It was to run on the {DPS6-plus} hardware known internally as
	the MRX and HRX, and be all things to all people.

	The hardware was a dud (though it did run the native DPS6
	software just fine), and the goal was, shall we say,
	ambitious.  The effort was cancelled by {Bull} in 1987, in
	favor of another project going on in France.

OR

	<logic> The {Boolean} function which is true if any of its
	arguments are true.  Its {truth table} is:

	 A | B | A OR B
	 --+---+---------
	 F | F |    F
	 F | T |    T
	 T | F |    T
	 T | T |    T

	(1996-11-04)

Oracle

	{Oracle Corporation}

Oracle 7

	<database> Version 7 of the {Oracle} {relational database}
	system software.

	(1996-11-05)

Oracle Card

	<tool> A {Hypercard}-like product from {Oracle} for
	constructing {database} {applications}.  It runs on {IBM PC}
	and {Macintosh}.

	(1995-03-15)

Oracle*CASE

	A set of {CASE} tools from {Oracle}.

Oracle Co-operative Applications

	<tool, product> Packaged {client/server} software from
	{Oracle} for accounting, manufacturing, distribution, human
	resources and project control.

Oracle Corporation

	<company> The world's leading supplier of information
	management software.  The company, worth $2 billion, offers
	its products, along with related consulting, education and
	support services in more than 90 countries around the world.

	Oracle is best known for its {database management systems}
	vendor and {relational DBMS} products.  Oracle develops and
	markets {Oracle Media Server} and the {Oracle7} family of
	software products for {database} management; {Co-operative
	Development Environment} and {Oracle Co-operative
	Applications}

	Oracle software runs on {personal digital assistants},
	{set-top boxs}, {IBM PCs}, {workstations}, {minicomputers},
	{mainframes} and {massively parallel computers}.

	Oracle bought {Sun Microsystems} on 2009-04-20.

	See also {Adaptable User Interface}, {Bookviewer},
	{CASE*Method}, {Component Integration Laboratories}, {DDE
	Manager}, {Online Media}, {Oracle Card}, {Oracle*CASE},
	{siod}.

	{(http://oracle.com/)}.

	Address: Redwood Shores, CA, USA.

	(1995-03-15)

Oracle Parallel Server

	<database> (OPS) An {Oracle} configuration that allows for
	multiple Oracle servers running on seperate computers to
	access the same database files simultaneously.

	Normally used for {high availability}, running parallel
	servers can improve performance by spreading out {CPU} load,
	however, it requires data to be partitioned correctly.

	This feature is enabled with the Parallel Server Option (or
	"PSO").

	{Oracle Parallel Server Option FAQ
	(http://orafaq.com/faqops.htm)}.

	(2003-04-05)

Oracle Rdb

	<database> A set of {relational database} products originally
	known as Rdb from {Digital Equipment Corporation}, but
	purchased by {Oracle Corporation} in 1994.  The current (October
	1996) versions are Oracle Rdb V7.0 for {OpenVMS} {VAX}, Oracle
	Rdb V7.0 for OpenVMS {Alpha}, and Oracle Rdb V7.0 for {Digital
	UNIX}.

	This release of Oracle Rdb includes advances in {non-stop
	computing} for {business critical} applications, improvements
	to {OLTP} performance, and easy {client/server} application
	development.  It also includes an {ODBC} Driver.

	(1996-10-30)

Oracle Toolkit

	{Adaptable User Interface}

Orange Book

	<security, standard> A standard from the US Government
	{National Computer Security Council} (an arm of the
	U.S. National Security Agency), "Trusted Computer System
	Evaluation Criteria, DOD standard 5200.28-STD, December 1985"
	which defines criteria for trusted computer products.  There
	are four levels, A, B, C, and D.  Each level adds more
	features and requirements.

	D is a non-secure system.

	C1 requires user log-on, but allows {group ID}.

	C2 requires individual log-on with password and an audit
	mechanism.  (Most {Unix} implementations are roughly C1, and
	can be upgraded to about C2 without excessive pain).

	Levels B and A provide mandatory control.  Access is based on
	standard Department of Defense clearances.

	B1 requires DOD clearance levels.

	B2 guarantees the path between the user and the security
	system and provides assurances that the system can be tested
	and clearances cannot be downgraded.

	B3 requires that the system is characterised by a mathematical
	model that must be viable.

	A1 requires a system characterized by a mathematical model
	that can be proven.

	See also {crayola books}, {book titles}.

	[{Jargon File}]

	(1997-01-09)

ORB

	{Object Request Broker}

Orbit

	A {Scheme} compiler.

	["Orbit: An Optimising Compiler for Scheme", D.A. Kranz et al,
	SIGPLAN Notices 21(7):281-292 (Jul 1986)].

	(1994-10-28)

Orca

	Vrije Universiteit, Amsterdam, 1986.  Similar to Modula-2, but
	with support for distributed programming using shared data
	objects, like Linda.  A 'graph' data type removes the need for
	pointers.  Version for the Amoeba OS, comes with Amoeba.
	"Orca: A Language for Distributed Processing", H.E.  Bal
	<bal@cs.vu.nl> et al, SIGPLAN Notices 25(5):17-24 (May 1990).

Order Code Processor

	<processor> The {ICL 2900}, {ICL 3900} and above term for
	"{CPU}".

	(1995-05-06)

order-embedding

	A function f : D -> C is order-embedding iff for all x, y in
	D,

		f(x) <= f(y)  <=>  x <= y.

	I.e. arguments and results compare similarly.  A function which
	is order-embedding is {monotonic} and one-to-one and an
	{injection}.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	(1995-02-03)

ordering

	A relation.

	See {partial ordering}, {pre-order}, {total ordering}.

ordinal

	<mathematics> An {isomorphism class} of {well-ordered sets}.

	(1995-03-10)

ordinary differential equation

	<mathematics> (ODE) A {differential equation} that contains
	functions of only one independent variable, in contrast to a
	{partial differential equation} (PDE).

	(2009-03-11)

ordinate

	<mathematics> The y-coordinate on an (x,y) graph; the output
	of a function plotted against its input.

	x is the "{abscissa}".

	See {Cartesian coordinates}.

	(1997-07-08)

OREGANO

	["On the Design and Specification of the Programming Language
	OREGANO", D.M. Berry. UCLA-ENG-7388, 1973].

O'Reilly and Associates

	The leading publisher of information on the {Internet},
	{Unix}, the {X Window System} and other {open} systems.  They
	also provide the {Global Network Navigator} service.

	{Home page(http://ora.com/)}.

	(1995-01-10)

org

	<networking> The {top-level domain} for organisations or
	individuals that don't fit any other top-level domain
	(national, com, edu, or gov).  Though many have .org domains,
	it was never intended to be limited to non-profit
	organisations.

	{RFC 1591}.

	(2001-05-14)

Organic Mode

	<programming> A term used by {COCOMO} to describe a project
	that is developed in a familiar, stable environment.

	The product is similar to previously developed products.  Most
	people connected with the project have extensive experience in
	working with related systems and have a thorough understanding
	of the project.  The project contains a minimum of innovative
	data processing architectures or {algorithms}.  The product
	requires little innovation and is relatively small, rarely
	greater than 50,000 {DSIs}.

	(1996-05-29)

Orient84/K

	<language>

	["A Concurrent Object-Oriented Knowledge Representation
	Language Orient84/K", Y. Ishikawa, Keio U, Yokohama, SIGPLAN
	Notices 21(11):232-241 OOPSLA '86, Nov 1986].

	(1996-05-29)

Original Equipment Manufacturer

	<company> (OEM) A misleading term for a company which
	repackages equipment, such as computers, made by other
	companies.  Unlike a {value added reseller}, an OEM does not
	necessarily add anything except their name to the product.  In
	some cases though they may integrate components into complete
	systems.  OEM arrangements are often made for marketing
	reasons.

	[Origin?]

	(2001-04-09)

ORKID

	{Open Real-time Kernel Interface Definition}

ORM

	1. {object relational modelling}.

	2. {Object Role Modeling}.

orphaned i-node

	/or'f*nd i:'nohd/ [Unix] 1. A file that retains storage but no
	longer appears in the directories of a file system.

	[{Jargon File}]

orphan process

	<operating system> A {Unix} process whose original parent has
	terminated and which has become a child of "{init}(1)".

	Compare {zombie}.

	(1996-05-29)

ORTHOCARTAN

	<mathematics, tool> A system for {symbolic mathematics},
	especially General Relativity, written by A. Krasinski of
	Warsaw in the early 1980s.

	(1995-04-12)

orthogonal

	<mathematics, jargon> At 90 degrees (right angles).

	N mutually orthogonal {vectors} {span} an N-dimensional
	{vector space}, meaning that, any vector in the space can be
	expressed as a {linear combination} of the vectors.  This is
	true of any set of N {linearly independent} vectors.

	The term is used loosely to mean mutually independent or well
	separated.  It is used to describe sets of primitives or
	capabilities that, like linearly independent vectors in
	geometry, span the entire "capability space" and are in some
	sense non-overlapping or mutually independent.  For example,
	in logic, the set of operators "not" and "or" is described as
	orthogonal, but the set "nand", "or", and "not" is not
	(because any one of these can be expressed in terms of the
	others).

	Also used loosely to mean "irrelevant to", e.g. "This may be
	orthogonal to the discussion, but ...", similar to "going off
	at a tangent".

	See also {orthogonal instruction set}.

	[{Jargon File}]

	(2002-12-02)

orthogonal instruction set

	<architecture> An {instruction set} where all (or most)
	instructions have the same format and all {registers} and
	{addressing modes} can be used interchangeably - the choices
	of {op code}, register, and addressing mode are mutually
	independent (loosely speaking, the choices are
	"{orthogonal}").  This contrasts with some early {Intel}
	{microprocessors} where only certain registers could be used
	by certain instructions.

	Examples include the {PDP-11}, {680x0}, {ARM}, {VAX}.

	(2002-06-26)

Orwell

	Lazy functional language, Miranda-like.  List comprehensions
	and pattern matching.  "Introduction to Orwell 5.00",
	P.L. Wadler et al, Programming Research Group, Oxford U, 1988.

OS

	1. {operating system}.

	2. [obsolete, {ITS}], an output spy.  See "{OS and JEDGAR}".

	3. <operating system> An {operating system} from {IBM} for
	their {System/360} line of hardware announced in 1964.  OS was
	planned with several flavours that were supposed to be
	compatible.  OS was late, memory hungry and not able to reach
	the marketing objectives of IBM for the 360/30, the planned
	successor of the {IBM 1401}.  IBM then decided to design a new
	operating system for the low end machines which they called
	{DOS/360}.

	[{Jargon File}]

	(1997-09-22)

OS2

	<spelling> Normally written "{OS/2}".

	[{Jargon File}]

	(1997-05-02)

OS/2

	/O S too/ {IBM} and {Microsoft}'s successor to the {MS-DOS}
	{operating system} for {Intel 80286} and {Intel 80386}-based
	{microprocessors}.  It is proof that they couldn't get it
	right the second time either.  Often called "Half-an-OS".  The
	design was so {baroque}, and the implementation of 1.x so bad,
	that 3 years after introduction you could still count the
	major {application programs} shipping for it on the fingers of
	two hands, in {unary}.  Later versions improved somewhat, and
	informed hackers now rate them superior to {Microsoft
	Windows}, which isn't saying much.  See {second-system
	effect}.

	On an {Intel 80386} or better, OS/2 can {multitask} between
	existing {MS-DOS} {applications}.  OS/2 is strong on
	connectivity and the provision of robust {virtual machines}.
	It can support {Microsoft Windows} programs in addition to its
	own {native} applications.  It also supports the {Presentation
	Manager} {graphical user interface}.

	{OS/2} supports {hybrid multiprocessing} (HMP), which provides
	some elements of {symmetric multiprocessing} (SMP), using
	add-on IBM software called {MP/2}.  OS/2 SMP was planned for
	release in late 1993.

	After OS/2 1.x the {IBM} and {Microsoft} partnership split.
	IBM continued to develop OS/2 2.0, while Microsoft developed
	what was originally intended to be OS/2 3.0 into {Windows NT}.
	In October 1994, IBM released version OS/2 3.0 (known as
	"Warp") but it is only distantly related to {Windows NT}.
	This version raised the limit on RAM from 16MB to 1GB (like
	Windows NT).

	IBM introduced networking with "OS/2 Warp Connect", the first
	multi-user version.  OS/2 Warp 4.0 ("Merlin") is a {network
	operating system}.

	{(http://mit.edu:8001/activities/os2/os2world.html)}.

	[Dates?]

	[{Jargon File}]

	(1995-07-20)

OS/360

	{Operating System/360}

OS/390

	<operating system> An {IBM} {mainframe} {operating system},
	featuring integrated {MVS}, {UNIX}, {LAN}, {distributed
	computing} and {application enablement services} through its
	base elements.  These base services enable open, distributed
	processing and offer a foundation for object-ready application
	development.  The OS/390 base includes a {Communication
	Server} that includes {VTAM}, the {VTAM AnyNet} feature,
	{TCP/IP} and {TIOC}.  It provides {SNA} ({3270}), {APPC},
	{High Performance Routing}, {ATM} support, {sockets} and
	{RPC}.

	OS/390 is basically rebranded, repackaged {MVS/OE}, {CMOS}
	processors, {RAMAC} disk arrays and {open systems} extension
	to networking in {VTAM}, the principle being that if you can't
	compete, rebrand what you have and tell everyone it's
	something new.

	{(http://204.146.133.206/os390/index.html)}.

	(1999-01-20)

OS-9

	<operating system> A {real-time} {operating system} written by
	{Microware Corporation}.  The original version was written
	about 1978 for the {Motorola 6809} and has since been ported
	to the {Motorola 68000}, {Intel 80386}, {Intel 486}, and the
	{PowerPC}.  The {kernel} of OS-9 is {ROMable}, modular, with a
	unified file system, allowing it to easily be scaled up or
	down as required.

	{FAQ (http://os9archive.rtsi.com/os9faq.html)}.

	{User Group (http://cs.wisc.edu/~pruyne/os9ugfaq.html)}.

	{Usenet} newsgroup: {news:comp.os.os9}.

	(1996-04-03)

OSA

	1. {Open Scripting Architecture}.

	2. {Open System Architecture}.

OSA extension

	(OSAX) Any extension to {Macintosh} {OSA}.

	(1999-01-14)

OSAX

	{OSA extension}

Osborne 1

	<computer> A {portable computer} that weighed 11 kg and cost
	$1795, produced by {Osborne Computer Corporation} in 1981.

	The Osborne 1 came with a five-inch screen, {modem} port, two
	5 1/4 {floppy drives} and a {battery pack}.  It came with the
	{CP/M} {operating system}, {SuperCalc} {spreadsheet}
	application, {WordStar}, {word processing} application,
	{Microsoft} {MBASIC} programming language and {Digital
	Research} {CBASIC} programming language.

	{(http://oldcomputers.net/osborne.html)}

	(2007-05-21)

Osborne, Adam

	{Adam Osborne}

Osborne Computer Corporation

	<company> The unsucessful computer manufacturer founded by
	{Adam Osborne} that produced one of the first {laptop
	computers}, the {Osborne 1}.

	(2007-05-21)

OSCAR

	1. Oregon State Conversational Aid to Research.  Interactive
	numerical calculations, vectors, matrices, complex arithmetic,
	string operations, for CDC 3300.  "OSCAR: A User's Manual with
	Examples", J.A. Baughman et al, CC, Oregon State U.

	2. Object-oriented language used in the COMANDOS Project.
	"OSCAR: Programming Language Manual", TR, COMANDOS Project,
	Nov 1988.

OSD

	{Open Source Definition}

OSE

	{Open Systems Environment}

OSF

	{Open Software Foundation}

OSI

	1. <networking> {Open Systems Interconnection}.

	2. {Open Source Initiative}.

	(1999-12-29)

OSI Model

	{Open Systems Interconnect}

OSI Reference Model

	{Open Systems Interconnect}

OSI-RM

	{Open Systems Interconnect}

OSI seven layer model

	{Open Systems Interconnect}

O'small

	<language> A small, concise, formally defined
	{object-oriented} language intended for teaching, by Andreas
	Hense <ahense@ahense.de>.

	O'small requires {sml-yacc}, {sml-lex} and {sml-noshare}.
	Binaries are provided for {SPARC} and it is probably portable
	to other {Unix} systems.  There is also an {interpreter} in
	{Miranda}.

	{(http://ahense.de/)}.

	[Christoph Boeschen, "Christmas - An abstract machine for
	O'small".  Master's thesis, Universit"at des Saarlandes,
	Fachbereich, 1993-06-14].

	(2001-02-11)

OS/MFT

	{Operating System/Multiprogramming of Fixed Tasks}

OS/MVT

	<operating system> One of the {IBM} {operating systems}
	associated with the {IBM 360}, later rereleased with the {IBM
	S/370} as {OS/VS2}.

	[Details?]

	(1999-01-12)

OSP

	{Optical Signal Processor}

OSPF

	{Open Shortest-Path First Interior Gateway Protocol}

OSQL

	{Object-oriented SQL}

OSSL

	Operating Systems Simulation Language.

	["OSSL - A Specialized Language for Simulating Computer
	Systems", P.B. Dewan et al, Proc SJCC 40, AFIPS (Spring
	1972)].

OSTA

	{Optical Storage Technology Association}

OS/VS1

	{OS/MFT}

OS/VS2

	<operating system> An {operating system} from {IBM}, released
	with the {IBM S/370} and originally known as {OS/MVT}.  OS/VS2
	R1 was known as SVS (Single Virtual Storage) as it had a
	single 16 MB {virtual address space}.  OS/VS2 R2 was known as
	MVS - {Multiple Virtual Storage}.

	(1999-01-13)

OT

	{OpenTransport}

OTDR

	{Optical Time-Domain Reflectometry}

OT&E

	{operational test and evaluation}

OTI

	{Open Tool Interface}

OTOH

	<chat> On the other hand.

	(2000-01-31)

OTP

	1. <security> {One-Time Password}.

	2. <protocol> {Open Trading Protocol}.

	3. <storage, integrated circuit> {One Time Programmable Read
	Only Memory}.

	4. <communications, library> {Open Telecom Platform}.

	(2001-08-28)

OTPROM

	{One Time Programmable Read-Only Memory}

OTT

	Over the top.

	Excessive or uncalled for.

	(1995-01-31)

Ottawa Euclid

	{Euclid}

Ousterhout, John K.

	{John Ousterhout}

Ousterhout's dichotomy

	<language> {John Ousterhout}'s division of {high-level
	languages} into "system programming languages" and "scripting
	languages".  This distinction underlies the design of his
	language {Tcl}.

	System programming languages (or "applications languages") are
	{strongly typed}, allow arbitrarily complex {data structures},
	and programs in them are {compiled}, and are meant to operate
	largely independently of other programs.  Prototypical system
	programming languages are {C} and {Modula-2}.

	By contrast, scripting languages (or "glue languages") are
	weakly typed or untyped, have little or no provision for
	complex data structures, and programs in them ("{scripts}")
	are {interpreted}.  Scripts need to interact either with other
	programs (often as {glue}) or with a set of functions provided
	by the interpreter, as with the {file system} functions
	provided in a {UNIX shell} and with {Tcl}'s {GUI} functions.
	Prototypical scripting languages are {AppleScript}, {C Shell},
	{MS-DOS} {batch files} and {Tcl}.

	Many believe that this is a highly arbitrary dichotomy, and
	refer to it as "Ousterhout's fallacy" or "Ousterhout's false
	dichotomy".  While strong-versus-weak typing, data structure
	complexity, and independent versus stand-alone might be said
	to be unrelated features, the usual critique of Ousterhout's
	dichotomy is of its distinction of compilation versus
	interpretation, since neither {semantics} nor {syntax} depend
	significantly on whether code is compiled into
	{machine-language}, interpreted, {tokenized}, or
	{byte-compiled} at the start of each run, or any mixture of
	these.  Many languages fall between being interpreted or
	compiled (e.g. {Lisp}, {Forth}, {UCSD Pascal}, {Perl}, and
	{Java}).  This makes compilation versus interpretation a
	dubious parameter in a taxonomy of programming languages.

	(2002-05-28)

Ousterhout's fallacy

	{Ousterhout's dichotomy}

Ousterhout's false dichotomy

	{Ousterhout's dichotomy}

out

	<programming> A type or "mode" of {function} {parameter} that
	passes information in one direction - from the function to the
	caller.  An "out" parameter thus provides an additional
	{return value}, typically for languages that don't have good
	support for returning {data structures} like {lists}.  Other
	modes are {in} and {inout}.

	(2010-01-19)

outer join

	<database> A less commonly used variant of the {inner join}
	{relational database} operation.  An inner join selects rows
	from two {tables} such that the value in one {column} of the
	first table also appears in a certain column of the second
	table.  For an outer join, the result also includes all rows
	from the first operand ("left outer join"), or the second
	operand ("right outer join"), or both ("full outer join").  A
	field in a result row will be null if the corresponding input
	table did not contain a matching row.

	For example, if we want to list all employees and their
	employee number, but not all employees have a number, then we
	could say (in {SQL-92} syntax, as used by {Microsoft SQL
	Server}):

		SELECT employee.name, empnum.number
		FROM employee
		LEFT JOIN empnum ON employee.id = empnum.id

	or, in {Sybase} syntax:

		SELECT employee.name, empnum.number
		FROM employee, empnum
		WHERE employee.id *= empnum.id

	The "*" on the left means "left outer join".  "*=*" would be a
	full outer join.

	In {Oracle} syntax:

		SELECT employee.name, empnum.number
		FROM employee, empnum
		WHERE employee.id = empnum.id (+)

	Note that the "(+)" on the right means "left outer join".

	These all mean that all rows from the left-hand "employee"
	table will appear in the result, even if there is no match for
	their ID in the empnum table.  Where there is no empnum.id
	equal to a given employee.id, a result row is output anyway
	but with all result columns from the empnum table null
	(empnum.number in this case).

	(2004-11-12)

outline font

	<text> (Or "vector font") A {font} defined as a set of lines
	and curves as opposed to a {bitmap font}.  An outline font
	(e.g. {PostScript}, {TrueType}, {RISC OS}) can be scaled to any
	size and otherwise transformed more easily than a bitmap font,
	and with more attractive results, though this requires a lot
	of numerical processing.  The result of transforming a
	character in an outline font in a particular way is often
	saved as a bitmap in a {font cache} to avoid repeating the
	calculations if that character is to be drawn again.

	(1995-03-16)

out-of-band

	1. <communications> The exchange of {call control} information
	on a dedicated channel, separate from that used by the
	telephone call or data transmission.

	2. Sometimes used to describe what communications people call
	"shift characters", such as the ESC that leads control
	sequences for many terminals, or the level shift indicators in
	the old 5-bit {Baudot} codes.

	3. In personal communication, using methods other than
	{electronic mail}, such as telephone or {snail-mail}.

	4. <software> Values returned by a {function} that are not in
	its "natural" {range} of return values, but rather signal some
	kind of {exception}.  Many {C} functions that normally return
	a non-negative integer return -1 to indicate failure.

	This use confuses "out-of-band" with "out-of-range".  It is
	actually a clear example of {in-band} signalling since it uses
	the same "channel" for control and data.

	Compare {hidden flag}, {green bytes}, {fence}.

	[{Jargon File}]

	(2001-04-08)

output

	<architecture> {Data} transferred from a computer system to
	the outside world via some kind of {output device}.

	Opposite: {input}.

	(1997-04-28)

output device

	<hardware> Electronic or electromechanical equipment connected
	to a computer and used to transfer data out of the computer in
	the form of text, images, sounds or other media to a {display
	screen}, {printer}, loudspeaker or storage device.  Most
	modern storage devices such as {disk drives} and {magnetic
	tape drives} act as both input and output devices, others such
	as {CD-ROM} are input only.

	(1997-03-18)

Outside Awareness Port

	<humour> (OAP) A humorous {IBM} term for a window (the glass
	kind) rather than the {GUI} kind.

outside-in testing

	<testing> A strategy for {integration testing} where units
	handling program inputs and outputs are tested first, and
	units that process the inputs to produce output are
	incrementally included as the system is integrated.  A form of
	{hybrid testing}.

	(1997-01-07)

outsourcing

	<business> Paying another company to provide services which a
	company might otherwise have employed its own staff to
	perform, e.g. software development.

	(1995-03-28)

overclocking

	<hardware> Any adjustments made to {computer} {hardware}, or less
	commonly {software}, to make its {CPU} run at a higher {clock
	rate} than intended by the original manufacturers.  Typically this
	involves replacing the {crystal} in the {clock} generation
	circuitry with a higher frequency one or changing {jumper}
	settings or software configuration.

	If the {clock rate} is increased too far, eventually some
	component in the system will not be able to cope and the system
	will stop working.  This failure may be intermittent (it works
	most of the time but fails more often than usual) continuous (the
	system never works at the higher frequency) or, in the worst case,
	irreversible (a component is damaged by overheating).  Improved
	{cooling} may be needed to maintain the same level of reliability.

	(2014-07-12)

Overdrive

	<processor> An {Intel} {Pentium} processor which fits into a
	socket designed to accomodate an {Intel 486}, or into a
	special upgrade socket on the {motherboard}.

	(1995-03-27)

overflow

	<programming> The condition that occurs when the result of a
	calculation is too big to store in the intended format.  For
	example, the result of adding one to 255 cannot be represented
	as an {unsigned}, eight-bit integer.  In a {signed integer}
	representation, overflow can occur when an integer becomes
	either too positive or too negative.

	Overflow can also occur in the exponent of a {floating point}
	number representation.  The term "{underflow}" is sometimes
	used for negative overflow of the exponent.

	Ignoring overflow will result in nonsensicle results such as
	255 + 1 = 0.  At the hardware level, the {ALU} typically
	indicates overflow by setting an overflow flag bit which the
	program can test.  Programming languages will typically
	respond to overflow by raising some kind of {signal} or other
	error condition to halt normal execution.

	Some languages attempt to avoid overflow by providing
	(optional) variable length number representation
	({multiprecission arithmetic}) so that the maximum number
	representable is limited only by the amount of storage
	available.

	(2008-05-30)

overflow bit

	<architecture> A processor {flag bit} set by the {ALU} to
	indicate {overflow}.

	(2008-05-30)

overflow flag

	{overflow bit}

overflow pdl

	<jargon> The place where you put things when your {pdl} is
	full.  If you don't have one and too many things get pushed,
	you forget something.  The overflow pdl for a person's memory
	might be a memo pad.  This usage inspired the following
	doggerel:

	 Hey, diddle, diddle
	 The overflow pdl
	   To get a little more stack;
	 If that's not enough
	 Then you lose it all,
	   And have to pop all the way back.
				       --The Great Quux

	The term {pdl} seems to be primarily an {MIT}ism; outside MIT
	this term is replaced by "overflow {stack}".

	(2008-05-30)

overhead

	1. Resources (in computing usually processing time or storage
	space) consumed for purposes which are incidental to, but
	necessary to, the main one.  Overheads are usually
	quantifiable "costs" of some kind.

	Examples: The overheads in running a business include the cost
	of heating the building.  Keeping a program running all the
	time eliminates the overhead of loading and initialising it
	for each transaction.  Turning a {subroutine} into {inline}
	code eliminates the call and return time overhead for each
	execution but introduces space overheads.

	2. <communications> information, such as control, routing, and
	error checking characters, that is transmitted along with the
	user data.  It also includes information such as network
	status or operational instructions, network routing
	information, and retransmissions of user data received in
	error.

	3. Overhead transparencies or "slides" (usually 8-1/2" x 11")
	that are projected to an audience via an overhead (flatbed)
	projector.

	(1997-09-01)

overloading

	<language> (Or "Operator overloading").  Use of a single
	symbol to represent operators with different argument types,
	e.g. "-", used either, as a {monadic} operator to negate an
	expression, or as a {dyadic} operator to return the difference
	between two expressions.  Another example is "+" used to add
	either integers or {floating-point} numbers.  Overloading is
	also known as ad-hoc {polymorphism}.

	User-defined operator overloading is provided by several
	modern programming languages, e.g. {C++}'s {class} system and
	the {functional programming} language {Haskell}'s {type
	class}es.

	Ad-hoc polymorphism (better described as {overloading}) is the
	ability to use the same syntax for objects of different types,
	e.g. "+" for addition of reals and integers or "-" for unary
	negation or diadic subtraction.  Parametric polymorphism
	allows the same object code for a function to handle arguments
	of many types but overloading only reuses syntax and requires
	different code to handle different types.

	(2014-01-05)

overriding

	<programming> Redefining in a {child class} a {method} or
	function member defined in a {parent class}.

	Not to be confused with "{overloading}".

	(1996-12-21)

overrun

	1. A frequent consequence of data arriving faster than it can
	be consumed, especially in {serial line} communications.  For
	example, at 9600 baud there is almost exactly one character
	per millisecond, so if a {silo} can hold only two characters
	and the machine takes longer than 2 milliseconds to get to
	service the interrupt, at least one character will be lost.

	2. Also applied to non-serial-I/O communications.  "I forgot
	to pay my electric bill due to mail overrun."  "Sorry, I got
	four phone calls in 3 minutes last night and lost your message
	to overrun."  When {thrash}ing at tasks, the next person to
	make a request might be told "Overrun!"  Compare {firehose
	syndrome}.

	3. More loosely, may refer to a {buffer overflow} not
	necessarily related to processing time (as in {overrun
	screw}).

	[{Jargon File}]

overrun screw

	A variety of {fandango on core} produced by a {C} program
	scribbling past the end of an {array} ({C} implementations
	typically have no checks for this error).  This is relatively
	benign and easy to spot if the array is static; if it is
	{auto}, the result may be to {smash the stack} - often
	resulting in {heisenbugs} of the most diabolical subtlety.
	The term "overrun screw" is used especially of scribbles
	beyond the end of arrays allocated with {malloc}; this
	typically overwrites the allocation header for the next block
	in the {arena}, producing massive lossage within malloc and
	often a {core dump} on the next operation to use {stdio} or
	malloc itself.

	See {spam}, {overrun}; see also {memory leak}, {memory smash},
	{aliasing bug}, {precedence lossage}, {fandango on core},
	{secondary damage}.

	(1995-01-19)

overuse strain injury

	<medical> (Or "repetitive strain injury", RSI, "repetitive
	strain disorder") Any tendon or muscle injury resulting from
	overuse, usually in the hand, wrist, or arm.  Injury may be
	caused by any combination of repetitive, unacustomed, or
	prolonged movements, forcefulness, or an awkward position
	(often due to bad {ergonomics}).  The symptoms are pain,
	tingling, weakness, numbness, swelling, cracking, stiffness,
	or reduced coordination.

	Common conditions are:

	Carpal tunnel syndrome, where swelling of the membrane linings
	in your wrist surrounding the tendons that bend your fingers
	compresses the median nerve.  This may result in numbness and
	pain in the hand, arm, shoulder, and neck.

	Tennis elbow, where rotating your wrist and using force causes
	a form of epicondylitis.

	Tendinitis, where unacustomed exercise or repeated awkward
	movements inflame wrist, elbow, or shoulder tendons, often
	leading to severe stiffness.

	Trigger finger, a popping or catching sensation when you bend
	your finger, wrist, or shoulder.  This form of tenosynovitis
	is caused by repetitive hand movements.

	To prevent the condition worsening, treat the pain with heat,
	cold, or aspirin, ibuprofen, or naproxen sodium; rest; or
	immobilise the injured area with a splint or bandage.  See a
	doctor.

	{Amara's RSI information
	(http://amara.com/aboutme/rsi.html)}.

	{RSI links from Yahoo
	(http://dir.yahoo.com/Health/Diseases_and_Conditions/Repetitive_Strain_Disorder/)}.

	{Guide to Carpal Tunnel Syndrome
	(http://sechrest.com/mmg/cts/)}.

	{CTS from Yahoo
	(http://dir.yahoo.com/Health/Diseases_and_Conditions/Carpal_Tunnel_Syndrome/)}.

	(1999-10-03)

OWHY

	<language> An early {functional language}(?).

	["A Type-Theoretical Alternative to CUCH, ISWIM, OWHY", Dana
	Scott, Oxford U 1969].

	(1995-01-19)

OWL

	1. <company> {Office Workstations Limited}.

	2. <language> {Object Windows Language}.

	(1996-01-13)

Owl

	The original name of {Trellis}.

	(1995-01-19)

Ox

	<language, tool> A {preprocessor}, written by Kurt Bischoff of
	{Iowa State University}, that extends and generalises the
	{syntax} and {semantics} of {Yacc}, {Lex}, and {C}.  Ox's
	support of {LALR1 grammars} generalises {yacc} in the way that
	{attribute grammars} generalise {context-free grammars}.  It
	augments Yacc and {Lex} specifications with definitions of
	synthesised and inherited attributes written in {C} {syntax}.
	Ox checks these specifications for consistency and
	completeness, and generates a program that builds and
	decorates {attributed parse trees}.  Ox accepts a most general
	class of attribute grammars.  The user may specify
	postdecoration traversals for easy ordering of {side effects}
	such as {code generation}.

	Latest version: G1.01, as of 1993-11-14.

	{(ftp://ftp.cs.iastate.edu/pub/ox/)}.

	Info: <ox-request@cs.iastate.edu>.

	["User Manual for Ox: An Attribute-Grammar Compiling System
	based on Yacc, Lex and C", K.M. Bischoff, TR92-30, Iowa State
	U, Dec 1992].

	(2000-04-03)

Oz

	An {object-oriented} {concurrent} {constraint} language from
	the {University of Saarbrucken}.  Oz is based on {constraint
	communication}, a new form of {asynchronous} communication
	using {logic variables}.  Partial information about the values
	of variables is imposed concurrently and incrementally.
	Supports {higher order} programming and object-orientation
	including {multiple inheritance}.

	{(ftp:duck.dfki.uni-sb.de/pub/papers)}.

	["Object-Oriented Concurrent Constraint Programming in Oz",
	G. Smolka et al].

oz

	An old Australian {top-level domain} and network which got
	incorporated into the current one.  The former Australian
	{domains} .oz, .edu and .com are now .oz.au, .edu.au and
	.com.au.

	(1994-10-04)

Oz-Email

	<company> An {Internet} access provider.

	{(http://ozemail.com.au/)}.

	Address: Sydney, Australia.

	(1995-03-02)

P+

	["Experience with Remote Procedure Calls in a Real-Time
	Control System", B. Carpenter et al, Soft Prac & Exp
	14(9):901-907 (Sep 1984)].

P1754

	<processor, standard> IEEE Std 1754-1994 "A 32-Bit
	Microprocessor Architecture".  The {IEEE} standard defining a
	version of the {SPARC} {microprocessor} architecture.

	The P1754 standard (the first microprocessor standard) was
	approved after four years on 1994-03-17.  It is compatible
	with, but distinct from, {SPARC International}'s 32 bit
	version of the SPARC Architecture, SPARC V8, from which it is
	largely derived.  It is possible for a processor to comply
	with neither, one, or both specifications.

	{SI article
	(http://sparc.com/sparc.new/other/sflash/94-03.html)}.

	(1996-12-21)

p2c

	A {Pascal} to {C} translator by Dave Gillespie
	<daveg@synaptics.com>.

	{Version 1.20 (ftp://csvax.cs.caltech.edu/)}.

	Supports {ANSI}/{ISO} {standard} {Pascal} as well as
	substantial subsets of {HP Pascal}, {Turbo Pascal}, VAX, and
	many other dialects.

	(1990-04-13)

P2P

	{peer-to-peer}

P3L

	(Superscript 3).  A language with explicit parallelism
	including constructs for {farms} and {geometric parallelism}.
	P3L currently uses {C++} as a host language.

	[S. Pelagatti, "A method for the development and the support
	of massively parallel programs.  PhD Thesis - TD 11/93,
	University of Pisa, Mar 1993].

	(1994-07-15)

P4

	A {macro}/subroutine package for parallel programming by Rusty
	Lusk <lusk@anta.mcs.anl.gov>.  P4 uses {monitors} on shared
	memory machines and message passing on distributed memory
	machines.  It is implemented as a subroutine library for {C}
	and {Fortran}.  An enhancement of the "Argonne macros",
	{PARMACS}.

	{(ftp://info.mcs.anl.gov/pub/p4t1.2.tar.Z)}.  E-mail:
	<p4@mcs.anl.gov>.

P6

	<processor> ("P" from {Pentium}, 6 from 686, the successor to
	586 which is what the Pentium would have been had it followed
	the naming scheme its predecessors) The name for the {Pentium
	Pro} during development.

	(1995-11-15)

pa

	<networking> The {country code} for Panama.

	(1999-01-27)

PABX

	{Private Automatic Branch eXchange}

PACE

	A CPU based on the {Nova} design, but with 16-bit addressing,
	more {addressing modes} and a 10 level {stack} (like the
	{Intel 8008}).

	(1994-11-30)

Packard Bell Electronics, Inc.

	<company> A leading US computer vendor.

	As recently as 29 November 1995 the Wall Street Journal
	reported that the company was having financial difficulties
	and that one of its major suppliers of CPUs, {Intel}, was
	about to make a large cash loan, so as to prevent loss of a
	major customer.  Packard Bell is a privately held company and
	the WSJ also reported that {NEC} has been rumored to have
	bought a large minority block of shares to help the company
	stay in business.

	Its computers are sold in major retail outlets in the USA and
	are available as a bundled package: desktop or {tower} {486}
	{CPU}, single 3.5 inch {floppy disk drive}, {CD-ROM}, {sound
	card}, 14 inch colour {monitor}, and 4-8MB of {RAM}.

	1995 end-of-year prices in Computer Currents magazine (a
	California Bay Area bi-monthly giveaway publication) are
	US$1500 (approx.  1000 pounds) for a 486 desktop, with 8MB
	RAM, 420MB hard disk drive, single 3.5 inch floppy drive, 14
	inch colour monitor, 2-speed CD-ROM, and 16-bit sound card.

	Headquarters: Sacramento, California, USA.

	(1996-01-02)

packed decimal

	{binary coded decimal}

Packed Encoding Rules

	<protocol, standard> (PER) {ASN.1} encoding rules for
	producing a compact {transfer syntax} for data structures
	described in {ASN.1}, defined in 1994.

	PER provides a much more compact encoding then {BER}.  It
	tries to represents the data units using the minimum number of
	{bits}.  The compactness requires that the decoder knows the
	complete {abstract syntax} of the data structure to be
	decoded, however.

	Documents: {ITU-T} X.691, {ISO} 8825-2.

	(1998-05-19)

packet

	The unit of data sent across a {network}.  "Packet" is a
	generic term used to describe a unit of data at any layer of
	the {OSI} {protocol stack}, but it is most correctly used to
	describe {application layer} data units ("{application
	protocol data unit}", APDU).

	See also {datagram}, {frame}.

	(1994-11-30)

Packet Assembler/Disassembler

	(PAD) Hardware or software device for splitting a data stream
	into discrete {packets} for transmission over some medium and
	then reforming the stream(s) at the receiver.

	The term is most often used for interfaces to {X.25} lines.

	(1995-01-31)

packet driver

	<networking> {IBM PC} {local area network} software that
	divides data into {packets} which it routes to the network.
	It also handles incoming data, reassembling the packets so
	that {application programs} can read the data as a continuous
	stream.

	{FTP Software} created the specification for {IBM PC} packet
	drivers but {Crynwr Software} dominate the market and have
	done the vast majority of the implementations.

	Packet drivers provide a simple, common programming interface
	that allows multiple {applications} to share a {network
	interface} at the {data link} layer.  Packet drivers
	demultiplex incoming packets among the applications by using
	the network media's {standard packet type} or {service access
	point} field(s).

	The packet driver provides calls to initiate access to a
	specific packet type, to end access to it, to send a packet,
	to get statistics on the network interface and to get
	information about the interface.

	Protocol implementations that use the packet driver can
	coexist and can make use of one another's services, whereas
	multiple applications which do not use the driver do not
	coexist on one machine properly.  Through use of the packet
	driver, a user could run {TCP/IP}, {XNS} and a proprietary
	protocol implementation such as {DECnet}, {Banyan}'s,
	{LifeNet}'s, {Novell}'s or {3Com}'s without the difficulties
	associated with pre-empting the network interface.

	Applications which use the packet driver can also run on new
	network hardware of the same class without being modified;
	only a new packet driver need be supplied.

	There are several levels of packet driver.  The first is the
	basic packet driver, which provides minimal functionality but
	should be simple to implement and which uses very few host
	resources.  The basic driver provides operations to broadcast
	and receive packets.  The second driver is the extended packet
	driver, which is a superset of the basic driver.  The extended
	driver supports less commonly used functions of the network
	interface such as {multicast}, and also gathers statistics on
	use of the interface and makes these available to the
	application.  The third level, the high-performance functions,
	support performance improvements and tuning.

	{(http://crynwr.com/crynwr/home.html)}.

	(1994-12-05)

Packet in Plastic Grid Array

	<integrated circuit> (PPGA) The package used for
	{Intel}'s {Celeron} {Socket 370} {CPU}.

	[Description?]

	(1999-06-24)

Packet InterNet Groper

	{ping}

packet radio

	<communications, radio> The use of {packet switched}
	communications {protocols} in large networks (i.e not
	{wireless LANs} or {Bluetooth}) having wireless links to
	terminals at least.  Packet radio is split into {amateur
	packet radio} (AX25) and {General Packet Radio Service}
	(GRPS).

	(2001-05-12)

packet sniffer

	<networking, tool> A network monitoring tool that captures
	data {packets} and decodes them using built-in knowledge of
	common {protocols}.  Sniffers are used to debug and monitor
	networking problems.

	(1995-03-28)

packet switch

	{packet switching}

packet-switched

	{packet switching}

packet switching

	<communications> A communications paradigm in which {packets}
	(messages or fragments of messages) are individually {routed}
	between {nodes}, with no previously established communication
	path.  Packets are routed to their destination through the
	most expedient route (as determined by some routing
	{algorithm}).  Not all packets travelling between the same two
	hosts, even those from a single message, will necessarily
	follow the same route.

	The destination computer reassembles the packets into their
	appropriate sequence.  Packet switching is used to optimise
	the use of the {bandwidth} available in a network and to
	minimise the {latency}.  {X.25} is an international standard
	packet switching network.

	Also called {connectionless}.  Opposite of {circuit switched}
	or {connection-oriented}.  See also {virtual circuit},
	{wormhole routing}.

	(1999-03-30)

Packet Switch Node

	(PSN) A dedicated computer whose purpose is to accept, {route}
	and forward {packets} in a {packet-switched} network.

	(1994-11-30)

packet writing

	<storage> A technique for writing {CD-Rs} and {CD-RWs} that is
	more efficient in both disk space used and the time it takes
	to write the CD.

	{Adaptec}'s DirectCD is a packet writing recorder for {Windows
	95} and {Windows NT} that uses the {UDF} version 1.5 file
	system.

	[Is this true?  How does it work?]

	(1999-09-01)

PackIt

	<file format, tool> A file format used on the {Apple
	Macintosh} to represent collections of Mac files, possibly
	{Huffman} compressed.  Packing many small related files
	together before a {MacBinary} transfer or a translation to
	{BinHex} 4.0 is common practice.

	(1994-11-30)

PACT I

	An early system on the {IBM 701}.  Version PACT IA was for the
	{IBM 704}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-30)

PACTOLUS

	Digital simulation.

	[Sammet 1969, p. 627].

	(1994-11-30)

PAD

	{Packet Assembler/Disassembler}

padded cell

	Where you put {lusers} so they can't hurt anything.  A program
	that limits a luser to a carefully restricted subset of the
	capabilities of the host system (for example, the "{rsh}"
	utility on {USG Unix}).  Note that this is different from an
	{iron box} because it is overt and not aimed at enforcing
	security so much as protecting others (and the {luser}) from
	the consequences of the luser's boundless naivet'e (see
	{naive}).  Also "padded cell environment".

	[{Jargon File}]

	(1994-11-30)

Paddle

	A language for transformations leading from specification to
	program.  Used in the {POPART} programming environment
	generator.

	(1994-11-30)

PAGE

	A typesetting language.

	["Computer Composition Using PAGE-1", J.L.  Pierson, Wiley
	1972].

page

	1. <operating system> {paging}.

	2. <web> {web page}.

	(1997-04-10)

paged

	{paging}

Page Description Language

	(PDL) A language such as {Adobe Systems, Inc.}'s {PostScript}
	or {Xerox}'s {Interpress} which allows the appearance of a
	printed page to be described in a high-level,
	device-independent way.  Printing then becomes a two-stage
	process: an {application program} produces a description in
	the language, which is then interpreted by a specific output
	device.  Such a language can therefore serve as an interchange
	standard for transmission and storage of printable documents.

	(1995-02-20)

Paged Memory Management Unit

	{Memory Management Unit}

page fault

	<memory management> In a {paged virtual memory} system, an
	access to a page (block) of memory that is not currently
	mapped to {physical memory}.  When a page fault occurs the
	{operating system} either fetches the page in from {secondary
	storage} (usually disk) if the access was legitimate or
	otherwise reports the access as illegal.

	(1995-11-11)

page in

	<storage, architecture> What a {paging} system does when it
	copies part of a {task}'s {working memory} from {swap space}
	on disk to {RAM}.

	[{Jargon File}]

	(1995-01-23)

pagelet

	<web> A component of an {HTML} page, that contains
	directives, layout, and code in a single context.  A pagelet
	may be a separate file or {web page} that contains information
	you want displayed across several pages.  They are similar to
	{server-side include} files, as implemented in ASP+.  Pagelets
	act like independent HTML frames and provide discrete access
	to content.  They use {Cascading Style Sheets} as templates
	for defining their layout behavior in a single context.

	[.NET Framework Essentials, 2nd Edition, Thuan L. Thai and Lam
	Hoang, February 2002, 0-596-00302-1]

	(2004-02-19)

page mode

	1. <hardware, storage> See {page mode DRAM}.

	2. <hardware> An operation mode of {video terminals} like the
	{IBM 3270}, in which the terminal only sends a completed input
	screen (page) to the host instead of sending each character as
	the keys are pressed.

	(1995-03-28)

Page Mode DRAM

	{Page Mode Dynamic Random Access Memory}

Page Mode Dynamic Random Access Memory

	<hardware, storage> A technique used to support faster
	sequential access to {DRAM} by allowing any number of accesses
	to the currently open row to be made after supplying the {row
	address} just once.

	The {RAS} signal is kept active, and with each {falling edge}
	of the {CAS}\ signal a new {column address} can be supplied
	and the corresponding bits can be accessed.  This is faster
	than a full RAS-CAS cycle because only the shorter Column
	Access Time needs to be obeyed.

	Note that strictly speaking such a DRAM is not a true {random
	access memory} since accesses to the open row are faster than
	to other locations.

	{EDO RAM} is replacing Page Mode DRAM in many new
	microcomputers.

	[Is "Fast Page Mode" the same as "Page Mode"?]

	(1996-10-06)

page out

	<storage, architecture> What a {paging} system does when it
	copies part of a {task}'s {working memory} from {RAM} to {swap
	space} on disk.

	[{Jargon File}]

	(1995-01-23)

pager

	1. <hardware, communications> (Or "beeper", "bleeper" (UK?))
	A small wireless receiver that, when triggered (generally via
	phone), will beep or vibrate (un)pleasantly.  The wearer will
	have been trained to respond to this signal by looking at a
	small screen on the device for an unimportant message.

	In recent years, pagers have grown more complex, allowing for
	long {alphanumeric} messages to be received and scrolled
	though (as opposed to earlier models, which supported only
	short numeric messages); at the same time as pager functions
	are integrated into some {PDAs}.  If this trend continues, the
	distinction between {PDAs} and high-end {pagers} will
	disappear.

	{Short Message Service} allows a mobile phone to display a
	message, just like an alphanumeric pager.

	2. <tool> A program for viewing a {text file} a screenful at a
	time via a text {terminal}, as opposed to scrolling through it
	in a {GUI} window, or {cat}ting it all at once to the
	terminal.

	The best known pagers are {more}, {less}, pg and list.com.

	(1997-09-11)

paging

	<operating system> A technique for increasing the memory space
	available by moving infrequently-used parts of a program's
	{working memory} from {RAM} to a secondary storage medium,
	usually {hard {disk}.  The unit of transfer is called a page.

	A {memory management unit} (MMU) monitors accesses to memory
	and splits each address into a page number (the most
	significant bits) and an offset within that page (the lower
	bits).  It then looks up the page number in its page table.
	The page may be marked as paged in or paged out.  If it is
	paged in then the memory access can proceed after translating
	the {virtual address} to a {physical address}.  If the
	requested page is paged out then space must be made for it by
	paging out some other page, i.e. copying it to disk.  The
	requested page is then located on the area of the disk
	allocated for "{swap space}" and is read back into {RAM}.  The
	page table is updated to indicate that the page is paged in
	and its physical address recorded.

	The MMU also records whether a page has been modified since it
	was last paged in.  If it has not been modified then there is
	no need to copy it back to disk and the space can be reused
	immediately.

	Paging allows the total memory requirements of all running
	tasks (possibly just one) to exceed the amount of {physical
	memory}, whereas {swapping} simply allows multiple processes
	to run concurrently, so long as each process on its own fits
	within {physical memory}.

	(1996-11-22)

PaiLisp

	<language> A {parallel} {Lisp} built on {Scheme} in 1986.

	["A Parallel Lisp Language PaiLisp and its Kernel
	Specification", T. Ito et al, in Parallel Lisp: Languages and
	Systems, T. Ito et al eds, LNCS 441, Springer 1989].

	(1995-01-30)

pain in the net

	{flamer}

Paintbrush

	<graphics, tool> A {Microsoft Windows} tool for creating
	{bitmap} graphics.

	(1996-08-26)

PAISley

	An operational specification language from {Bell Labs}.

	["An Operational Approach to Requirements Specification for
	Embedded Systems", P. Zave, IEEE Trans Soft Eng
	SE-8(3):250-269 (May 1982)].

	(1995-01-30)

Pajek

	<mathematics> A {program} for analysing and visualising large
	networks.  "Pajek" is Slovene for spider.  The program runs on
	{Windows} and is free for noncommercial use.  Pajek is developed
	by Vladimir Batagelj and Andrej Mrvar with contributions from
	Matjaž Zaveršnik.

	{Pajek home (http://pajek.imfm.si/)}.

	(2014-04-24)

PAL

	1. <language> {Paradox Application Language}.

	2. For the {AVANCE} distributed {persistent} {operating
	system}.

	["PAL Reference Manual", M. Ahlsen et al, SYSLAB WP-125,
	Stockholm 1987].

	["AVANCE: An Object Management System", A. Bjornerstedt et al,
	SIGPLAN Notices 23(11):206-221 (OOPSLA '88) (Nov 1988)].

	[What is it?]

	3. <language> An {object-oriented} {Prolog}-like language.

	["Inheritance Hierarchy Mechanism in Prolog", K. Akama, Proc
	Logic Prog '86, LNCS 264, Springer 1986, pp. 12-21].

	4. <language> {PDP Assembly Language}.

	5. <language> {Pedagogic Algorithmic Language}.

	6. <hardware, integrated circuit> {Programmable Array Logic}.

	7. <television> {phase alternating line}.

	(2001-04-02)

Palace

	<virtual reality, chat> A proprietary multi-user {virtual
	reality}-like {talk} system.

	The Palace is distinguished from most other VR-like systems in
	that it is only two-dimensional rather than three; rooms,
	{avatars}, and "props" are made up of relatively small 2D
	{bitmap} images.

	Palace is a crude {hack}, or lightweight, depending on
	your point of view.

	{(http://thepalace.com/)}.

	(1997-09-14)

palette

	{colour palette}

palmtop

	<computer> (Or "pocket computer", "Hand-held Personal
	Computer", H/PC) A small general-purpose, programmable,
	battery-powered computer cabable of handling both numbers and
	text (in contrast to most {pocket calculators}) which can be
	operated comfortably while held in one hand.  A palmtop is
	usually loaded with an {operating system} such as {Windows
	CE}.  Data can be transferred between the palmtop and a
	desktop {PC}.

	A palmtop is very similar to a {Personal Digital Assistant}
	though a palmptop may have a larger keyboard and more {RAM}
	and is possibly more general purpose in concept, if not in
	practise.

	The {Psion Organiser} is one of the best known examples.  [Was
	it the first?]

	(1998-04-19)

Palo Alto Research Center

	{XEROX PARC}

Palo Alto Research Centre

	{XEROX PARC}

PAM

	{Pluggable Authentication Module}

Pam

	<language> A {toy} {ALGOL}-like language used in "Formal
	Specification of Programming Languages: A Panoramic Primer",
	F.G. Pagan, P-H 1981.

	(1996-12-23)

Pandora

	<language> {Parlog} extended to allow {don't-know
	nondeterminism}.

	["Pandora: Non-Deterministic Parallel Logic Programming",
	R. Bahgat et al, Proc 6th Intl Conf Logic Programming, MIT
	Press 1989 pp. 471-486].

	(1995-04-27)

panic

	1. <operating system> What {Unix} does when a critical
	internal consistency checks fails in such a way that Unix
	cannot continue.  The {kernel} attempts to print a short
	message on the {console} and write an image of memory into the
	{swap area} on disk.  This can be analysed later using {adb}.
	The kernel will then either wait in a {tight loop} until the
	machine is rebooted or will initiate an automatic {reboot}.

	{Unix manual page}: panic(8).

	2. Action taken by software which discovers some fatal problem
	which prevents it from continuing to run.

	(1995-03-01)

PANON

	A family of pattern-directed string processing languages based
	on {generalised Markov algorithms}.

	PANON-1 is based on {simple generalised Markov algorithms} and
	PANON-2 on {conditional functional generalised Markov
	algorithms}.

	["String Processing Languages and Generalized Markov
	Algorithms", A. C. Forino, Proc IFIP Working Conf on Symb
	Manip Languages, pp.141-206, Amsterdam 1968].

PANS

	{Pretty Amazing New Stuff}.

Pansophic

	A US Software Engineering company.

Pantone

	<graphics> A set of standard colours for printing, each of
	which is specified by a single number.  You can buy a Pantone
	swatch book containing samples of each colour.  Some computer
	graphics software allows colours to be specified as Pantone
	numbers.  Even though a computer {monitor} can only show an
	approximation to some of the colours, the software can output
	a {colour separation} for each different Pantone colour,
	enabling a print shop to exactly reproduce the original
	desired colour.

	(1996-03-23)

PAP

	1. <networking, protocol, security> {Password Authentication
	Protocol}.

	2. <networking, protocol, printer> {Printer Access Protocol}.

	(1996-03-23)

Paper Feed Control Character

	(PFCC) An obscure mechanism used in Fortran run-time systems
	whereby the first character of a line of output to a
	line-printer caused various actions after the line was
	printed:

		space	return newline
		0	return newline return newline
		1	form-feed
		+	return

papermail

	{snail mail}

paper-net

	{snail mail}

paper tape

	<hardware, history> Punched paper tape.  An early
	{input/output} and storage medium borrowed from {telegraph}
	and {teletype} systems.

	Data entered at the keyboard of the teletype could be directed
	to a perforator or punch which punched a pattern of holes
	across the width of a paper tape to represent the characters
	typed.  The paper tape could be read by a tape reader feeding
	the computer.  Computer output could be similarly punched onto
	tape and printed off-line.

	As well as storage of the program and data, use of paper tape
	enabled {batch processing}.

	The first units had five data hole positions plus a sprocket hole
	(for the driving wheel) across the width of the tape.  These used
	commercial telegraph code ({ITA2} also known as {Murray}), {Baudot
	code} or proprietary codes such as {Elliott} which were more
	programmer-friendly.  Later systems had eight data holes and used
	{ASCII} coding.

	(2003-12-02)

paraconsistent probability

	<logic> A notion introduced by Florentin Smarandache: The
	probability (T, I, F) that an event occurs is calculated from
	different sources which may be contradictory or may overlap
	information; here T, I, F are real subsets representing the
	truth, indeterminacy, and falsity percentages respectively,
	and n_sup = sup(T)+sup(I)+sup(F) > 100.

	["Neutrosophy / Neutrosophic probability, set, and logic",
	F. Smarandache, American Research Press, 1998].

	See {neutrosophic probability}

	(2001-01-20)

PARADE

	PARallel Applicative Database Engine.  A project at Glasgow
	University to construct a transaction-processor in the
	parallel {functional programming} language {Haskell} to run on
	an {ICL} {EDS+} database machine.

PARADIGM PLUS

	A configurable {object-oriented} {CASE} tool from {Proto
	Soft}.

Paradigms of AI Programming

	A book by Peter Norvig with {Scheme} and {Prolog}
	{interpreters} and {compilers} in {Common Lisp}.

	{(ftp://Unix.sri.com/pub/norvig/)}.

	["Paradigms of AI Programming", Peter Norvig].

Paradise

	Paradise is a subsystem (a set of packages) developed to
	implement inter-processes, inter-tasks and inter-machine
	communication for {Ada} programs under {Unix}. This subsystem
	gives the user full access to files, {pipes}, {sockets} (both
	Unix and {Internet}) and {pseudo-devices}.

	Paradise has been ported to {Sun}, {DEC}, {Sony MIPS},
	{Verdex} compiler, DEC compiler, {Alsys}/{Systeam} compiler.

	{Version 2.0 of the library
	(ftp://cnam.cnam.fr/pub/Ada/Paradise)}.  E-mail:
	<paradise-info@cnam.cnam.fr>.

	(1992-09-30)

Paradox

	<database> A {relational database} for {Microsoft Windows},
	originally from {Borland}.

	Paradox 5 ran on {Microsoft Windows} [version?] and provided a
	graphical environment, a debugger, a {data modelling} tool,
	and many "ObjectPAL" commands.

	Paradox 7 ran under {Windows 95} and {Windows NT}.

	Latest version: Paradox 9, as of 2000-02-10 (a {Corel}
	product).

	{(http://corel.com/paradox9/index.htm)}.

	[Update?]

	(1996-05-27)

paradox

	<logic> An apparently sound argument leading to a
	{contradiction}.

	Some famous examples are {Russell's paradox} and the {liar
	paradox}.  Most paradoxes stem from some kind of
	{self-reference}.

	{Smarandache Linguistic Paradox
	(http://gallup.unm.edu/~smarandache/Paradox.htm)}.

	(1999-11-05)

Paradox Application Language

	(PAL) The programming language for {Paradox}, {Borland}'s
	{relational database}.

	(1995-01-26)

Paragon

	Mark Sherman.  IEEE Software (Nov 1991).

Paralation

	PARALlel reLATION.  Sabot, MIT 1987.  A framework for parallel
	programming.  A "field" is an array of objects, placed at
	different sites.  A paralation is a group of fields, defining
	nearness between field elements.  Operations can be performed
	in parallel on every site of a paralation.

	["The Paralation Model: Architecture Independent Programming",
	G.W. Sabot <gary@think.com>, MIT Press 1988].

Paralation C

	Paralation embedded in C.  Under development.

Paralation LISP

	Embeds the paralation model in Common LISP.  Available
	from MIT Press, (800)356-0343.

ParAlfl

	Hudak, Yale.  Parallel functional language, a superset of
	Alfl.  Used by the Alfalfa system on Intel iPSC and Encore
	Multimax.

	["Para-Functional Programming", P. Hudak, Computer 19(8):60-70
	(Aug 1986)].

	["Alfalfa: Distributed Graph Reduction on a Hypercube
	Multiprocessor", B.  Goldberg & P. Hudak, TR, Yale U, Nov
	1986].

Parallaxis

	<language> A {procedural} programming language developed by
	Thomas Braeunl <braunl@ee.uwa.edu.au> at the {University of
	Stuttgart}.  It is based on {Modula-2}, but extended for {data
	parallel} ({SIMD}) programming.  The main approach for machine
	independent parallel programming is to include a description
	of the virtual parallel machine with each parallel
	{algorithm}.

	There is a simulator and {X Window System}-based profiler for
	{workstations}, {Macintosh}, and {IBM PC}.

	Version 2.0 runs on {MP-1}, {CM-2}, {Sun-3}, {Sun-4},
	{DECstation}, {HP 700}, {RS/6000}.

	{(http://ee.uwa.edu.au/~braunl/parallaxis/)}.

	["User Manual for Parallaxis Version 2.0", T. Braunl, U
	Stuttgart].

	(2000-05-31)

parallel

	{parallel processing}

Parallel Advanced Technology Attachment

	<storage, standard> (PATA, Parallel ATA) A back-formation
	introduced around 2003 to distinguish the original {Advanced
	Technology Attachment} (ATA) standards from the new {Serial
	Advanced Technology Attachment} (Serial ATA, SATA).

	(2010-02-20)

Parallel ATA

	{Parallel Advanced Technology Attachment}

Parallel C

	1. <language, parallel> Never implemented, but influenced the
	design of {C*}.  [Details?]

	2. {C} for the {transputer} by {3L}.

	3. (PC) Extensions to {C} developed at the {University of
	Houston} providing a {shared memory} {SIMD} model on {message
	passing} computers.

	{(ftp://karazm.math.uh.edu/pub/Parallel/Tools/pc.1.1.1.tar.Z)}.

	E-mail: Ridgway Scott <scott@uh.edu>.

	(1995-03-21)

parallel computer

	{parallel processor}

parallel computing

	{parallel processing}

Parallel FORTH

	{Forth} For the {MPP}.

Parallel Fortran

	<language> (Pfortran) Extensions to {Fortran} by Ridgway Scott
	<scott@uh.edu> of Houston University.  Pfortran provides a
	{shared memory} {SIMD} model on {message passing} computers.

	It was under development in 1994.

	["Pfortran: A Parallel Dialect of Fortran", L.R. Scott,
	Fortran Forum 11(3):20-31, Sep 1992].

	(1994-11-08)

Parallel Haskell

	<language, parallel> (pH) A parallel variant of {Haskell}
	incorporating ideas from {Id} and {Sisal}.  pH is under
	development.

	Mailing list: pH@abp.lcs.mit.edu.

	(1995-03-31)

parallelism

	1. {parallel processing}.

	2. <parallel> The maximum number of independent subtasks in a
	given task at a given point in its execution.  E.g. in
	computing the expression

		(a + b) *

	(c + d) the expressions a, b, c and d can all be calculated in
	parallel giving a degree of parallelism of (at least) four.
	Once they have been evaluated then the expressions a + b and c
	+ d can be calculated as two independent parallel processes.

	The {Bernstein condition} states that processes P and Q can be
	executed in parallel (or in either sequential order) only if:

	(i) there is no overlap between the inputs of P and the
	outputs of Q and vice versa and

	(ii) there is no overlap between the outputs of P, the outputs
	of Q and the inputs of any other task.

	If process P outputs value v which process Q reads then P must
	be executed before Q.  If both processes write to some
	variable then its final value will depend on their execution
	order so they cannot be executed in parallel if any other
	process depends on that variable's value.

	(1995-05-07)

Parallel Pascal

	<language> A {data-parallel} language, similar to {Actus} and
	{Glypnir}.

	["Parallel Pascal: An Extended Pascal for Parallel Computers",
	A. Reeves, J Parallel Dist Computing 1:64-80 (1984)].

	(1995-05-07)

parallel port

	<hardware> An interface from a computer system where data is
	transferred in or out in parallel, that is, on more than one
	wire.  A parallel port carries one {bit} on each wire thus
	multiplying the transfer rate obtainable over a single wire.
	There will usually be some control signals on the port as well
	to say when data is ready to be sent or received.

	The commonest kind of parallel port is a {printer port}, e.g. a
	{Centronics} port which transfers eight bits at a time.  Disks
	are also connected via special parallel ports, e.g. {SCSI} or
	{IDE}.

	(1995-01-24)

Parallel Presence Detect

	 {presence detect}

parallel processing

	<parallel> (Or "multiprocessing") The simultaneous use of more
	than one computer to solve a problem.  There are many
	different kinds of parallel computer (or "parallel
	processor").  They are distinguished by the kind of
	interconnection between processors (known as "processing
	elements" or PEs) and between processors and memory.  {Flynn's
	taxonomy} also classifies parallel (and serial) computers
	according to whether all processors execute the same
	instructions at the same time ("{single instruction/multiple
	data}" - SIMD) or each processor executes different
	instructions ("{multiple instruction/multiple data}" - MIMD).

	The processors may either communicate in order to be able to
	cooperate in solving a problem or they may run completely
	independently, possibly under the control of another processor
	which distributes work to the others and collects results from
	them (a "{processor farm}").  The difficulty of cooperative
	problem solving is aptly demonstrated by the following dubious
	reasoning:

		If it takes one man one minute to dig a post-hole
		then sixty men can dig it in one second.

	{Amdahl's Law} states this more formally.

	Processors communicate via some kind of network or bus or a
	combination of both.  Memory may be either {shared memory}
	(all processors have equal access to all memory) or private
	(each processor has its own memory - "{distributed memory}")
	or a combination of both.

	Many different software systems have been designed for
	programming parallel computers, both at the {operating system}
	and programming language level.  These systems must provide
	mechanisms for partitioning the overall problem into separate
	tasks and allocating tasks to processors.  Such mechanisms may
	provide either {implicit parallelism} - the system (the
	{compiler} or some other program) partitions the problem and
	allocates tasks to processors automatically or {explicit
	parallelism} where the programmer must annotate his program to
	show how it is to be partitioned.  It is also usual to provide
	synchronisation primitives such as {semaphores} and {monitors}
	to allow processes to share resources without conflict.

	{Load balancing} attempts to keep all processors busy by
	allocating new tasks, or by moving existing tasks between
	processors, according to some {algorithm}.

	Communication between tasks may be either via {shared memory}
	or {message passing}.  Either may be implemented in terms of
	the other and in fact, at the lowest level, shared memory uses
	message passing since the address and data signals which flow
	between processor and memory may be considered as messages.

	The terms "parallel processing" and "multiprocessing" imply
	multiple processors working on one task whereas "{concurrent
	processing}" and "{multitasking}" imply a single processor
	sharing its time between several tasks.

	See also {cellular automaton},{symmetric multi-processing}.

	{Usenet} newsgroup: {news:comp.parallel}.

	{Institutions (http://ccsf.caltech.edu/other_sites.html)},
	{research groups
	(http://cs.cmu.edu/~scandal/research-groups.html)}.

	(2004-11-07)

parallel processor

	<parallel> A computer with more than one {central processing
	unit}, used for {parallel processing}.

	(1996-04-23)

parallel random-access machine

	<parallel> (PRAM) An idealised {parallel processor} consisting
	of P processors, unbounded {shared memory}, and a common
	{clock}.  Each processor is a random-access machine (RAM)
	consisting of R {registers}, a {program counter}, and a
	read-only signature register.  Each RAM has an identical
	program, but the RAMs can branch to different parts of the
	program.  The RAMs execute the program synchronously one
	instruction in one clock cycle.

	See also {pm2}.

	(1997-06-04)

parallel reduction

	A form of {applicative order reduction} in which all {redex}es
	in an expression are reduced simultaneously.  Variants include
	{parallel outermost reduction} and {lenient reduction}.  See
	{normal order reduction}.

Parallel Server Option

	{Oracle Parallel Server}

Parallel SML

	["Parallel SML: A Functional Language and its Implementation
	in Dactl", Kevin Hammond, Pitman Press 1990].

Parallel Sysplex

	<operating system> A {Sysplex} that uses one or more {coupling
	facilities}.

	{(http://s390.ibm.com/products/pso/psohp.html)}.

	(1996-11-21)

Parallel Virtual Machine

	<parallel, networking, tool> (PVM) 1. A {software} system
	designed to allow a network of {heterogeneous} machines to be
	used as a single {distributed} {parallel processor}.

	PVM was developed by the {University of Tennessee}, The {Oak
	Ridge National Laboratory} and the {Emory University}.

	{(http://epm.ornl.gov/pvm/)}.

	{Usenet} newsgroup: {news:comp.parallel.pvm}.

	2. The {intermediate language} used by the {Gambit} compiler for
	{Scheme}.

	[And Multilisp?]

	(1995-01-30)

param

	{formal argument}

parameter

	{formal argument}

parameter RAM

	(PRAM) A small memory in a {Macintosh} with a battery power
	supply which stores system parameters (desktop pattern,
	selectable memory configuration, etc.) when the computer is
	turned off.

	(1995-10-08)

parametric polymorphism

	Polymorphism was first identified by {Christopher Strachey} in
	1967 and developed by Hindley and Milner.

	For example we could specify that the argument of the "head"
	{function} was a list without specifying a type for the elements
	of the list.  In {Haskell} we would write:

		head :: [a] -> a

	meaning head has type function from "list of a" to "a" where "a"
	is a {type variable}).  This is known as parametric polymorphism.
	Polymorphic typing allows strong type checking as well as generic
	functions.  {ML} in 1976 was the first language with polymorphic
	typing.

	See also {generic type variable}.

	(2014-01-05)

paraML

	An extension of {Standard ML} which supports {coarse-grained
	parallelism}.  Peter Bailey, while at the Edinburgh Parallel
	Computing Centre at {University of Edinburgh}, has implemented of
	Murray Cole's original four {skeletons} in paraML.

	See also {Skel-ML}.

paranoid programming

	<programming> A programming style that tries to prepare for
	the worst external conditions, including incorrect input,
	resource limitations, hardware and software failure and even
	{can't happen} errors, to the fullest possible extent.  While
	some believe in the motto "professional programming is
	paranoid programming", the expression usually has the
	connotation that the efforts are unnecessary or too costly
	("Maybe this code is just paranoid programming, but I think it
	is necessary to avoid a possible overflow condition".)

	(2001-01-27)

ParaSoft Corp

	Distributors of the {message passing} system {Express}.

	{(ftp://ftp.parasoft.com/)}.  Telephone: +1 (818) 792-9941.
	E-mail: <support@parasoft.com>.

	(1994-10-19)

Parasol

	Parallel Systems Object Language.

	An {object-oriented} language which supports network and
	parallel computing.  It has {modules} and {exceptions}.

	["The Parasol Programming Language", R. Jervis
	<hjervis!rbj@uunet.uu.net>, Dr Dobbs J, Oct 1993, pp. 34-41].

	(1995-01-26)

PARC

	{XEROX PARC}

ParcPlace Systems

	<company> A company spun-off from {Xerox PARC} that developed
	the original version of {VisualWorks}.

	(2002-04-15)

parent

	<mathematics, data> The {ancestor} {node} in a {tree} that
	points to the current node (one of its child nodes).

	(2005-09-15)

parentheses

	See {left parenthesis}, {right parenthesis}.

	(1997-12-03)

parent message

	<messaging> What a {followup} follows up.

	[{Jargon File}]

	(1997-12-03)

parent process

	<operating system> The {Unix} {process} that created one or
	more other processes.

	Every process except process 0 is created when another process
	executes the {fork} {system call}.  The process that invoked
	fork is the parent process, and the newly created process is
	the {child process}.  Every process has one parent process,
	but can have many child processes.

	The {kernel} identifies each process by its {process
	identifier} (PID).  Process 0 is a special process that is
	created when the system boots; after forking a child process
	(process 1), process 0 becomes the {swapper} process.  Process
	1, known as {init}, is the ancestor of every other process in
	the system and enjoys a special relationship with them.

	(1997-12-03)

Pari

	<mathematics, tool> A system for {symbolic mathematics},
	especially {number theory}.

	Version 1.37 for {Unix}, {Macintosh}, {MS-DOS}, {Amiga}.

	E-mail: <pari@alioth.greco-prog.fr>.

	{(ftp://math.ucla.edu/pub/pari)}.

	(1995-04-12)

Paris

	PARallel Instruction Set.

	A low-level language for the {Connection Machine}.

	(1995-02-16)

parity

	<storage, communications> An extra bit added to a {byte} or
	{word} to reveal errors in storage (in {RAM} or {disk}) or
	transmission.  Even (odd) parity means that the parity bit is
	set so that there are an even (odd) number of one bits in the
	word, including the parity bit.  A single parity bit can only
	reveal single bit errors since if an even number of bits are
	wrong then the parity bit will not change.  Moreover, it is
	not possible to tell which bit is wrong, as it is with more
	sophisticated {error detection and correction} systems.

	See also {longitudinal parity}, {checksum}, {cyclic redundancy
	check}.

	(1996-03-01)

parity bit

	<storage, communications> An extra bit added to a {byte} or
	{word} to reveal errors.

	See {parity}.

	(1996-03-01)

parity error

	<storage, communications> An error discovered by the inclusion
	of a {parity} bit.

	(1996-03-01)

Parkinson's Law of Data

	"Data expands to fill the space available for storage"; buying
	more memory encourages the use of more memory-intensive
	techniques.  It has been observed over the last 10 years that
	the memory usage of evolving systems tends to double roughly
	once every 18 months.  Fortunately, memory density available
	for constant dollars also tends to double about once every 12
	months (see {Moore's Law}); unfortunately, the laws of physics
	guarantee that the latter cannot continue indefinitely.

	[{Jargon File}]

Park-Miller

	A {pseudorandom} number generation {algorithm} which was
	discredited by Marsaglia and Steve Sullivanin in the July 1993
	CACM.

	[CACM Oct 1988].

Parlance

	A {concurrent} language.

	["Parallel Processing Structures: Languages, Schedules, and
	Performance Results", P.F. Reynolds, PhD Thesis, UT Austin
	1979].

	(1994-12-12)

Parlog

	Clark & Gregory, Imperial College 1983.  An {AND-parallel}
	{Prolog}, with {guards} and {committed choice nondeterminism}
	({don't care nondeterminism}).  {Shallow backtracking} only.

	Implementations: MacParlog and PC-Parlog from Parallel Logic
	Programming Ltd., Box 49 Twickenham TW2 5PH, UK.

	See also {SPM}.

	{(ftp://ftp.inria.fr/lang/Parlog.tar.Z)}.  E-mail:
	<parlog@doc.ic.ac.uk>.

	["Parlog: A Parallel Logic Programming Language", K.L. Clark
	and S. Gregory, Imperial College, London, May 1983].
	("Parlog83", in which the ouput mechanism was assignment).

	["Parallel Logic Programming in PARLOG, The Language and Its
	Implementation", S. Gregory, A-W 1987].  ("Parlog86", in which
	the output mechanism was unification, as in {GHC}).  (See
	{Strand}).

Parlog++

	An object-oriented extension to MacParlog.  It combines
	object-oriented and parallel logic programming, giving the
	benefits of both paradigms within a single coherent
	development environment.

	Andrew Davison <ad@cs.mu.oz.au>, then Imperial College now U
	Melbourne.  Object orientation plus parallel logic, built on
	top of MacParlog.

	"Parlog++: A Parlog Object-Oriented Language", A. Davison,
	Parlog Group, Imperial College 1988.  Sold by PLP Ltd.
	E-mail: <parlog@doc.ic.ac.uk>.

parm

	/parm/ Further-compressed form of {param}.  This term is an
	{IBM}ism, and written use is almost unknown outside IBM shops;
	spoken /parm/ is more widely distributed, but the synonym
	{arg} is favoured among hackers.  Compare {var}.

	[{Jargon File}]

PARMACS

	The "Argonne macros" from {Argonne National Laboratory}.  A
	package of {macros} written in {m4} for portable {parallel
	programming}, using {monitors} on {shared memory} machines,
	and {message passing} on {distributed memory} machines.

	[E. Lusk et al, "Portable Programs for Parallel Processors",
	HRW 1987. p4].

	{(ftp://research.att.com/netlib/parmacs)}.

ParMod

	"Parallel Programming with ParMod", S. Eichholz, Proc 1987
	Intl Conf on Parallel Proc, pp.377-380.

PARS

	{Programmable Airline Reservation System}

parse

	{parser}

PARSEC

	<language> An extensible language with {PL/I}-like {syntax},
	derived from {PROTEUS}.

	["PARSEC User's Manual", Bolt Beranek & Newman, Dec 1972].

	(2009-06-26)

parser

	<language> An {algorithm} or program to determine the
	syntactic structure of ("parse") a {sentence} or string of
	symbols in some language.  A parser normally takes as input a
	sequence of {tokens} output by a {lexical analyser}.  It may
	produce some kind of {abstract syntax tree} as output.  A
	parser may be produced automatically from a grammar by a
	{parser generators} such as {yacc}.

	A parser is normally part of some larger program, like a
	{compiler}, which takes the output of the parser and attempts
	to extract meaning from it in some way, e.g. translating it
	into another language.

	(2009-06-26)

parser generator

	A program which takes a formal description of a {grammar}
	(e.g. in {BNF}) and outputs source code for a parser which will
	recognise valid strings obeying that grammar and perform
	associated actions.  {Unix}'s {yacc} is a well known example.

parsing

	{parser}

Parsley

	A {Pascal} extension for construction of {parse trees}, by
	Barber of {Summit Software}.  It features {Iterators}.

	["PARSLEY: A New Compiler-Compiler", in Software Development
	Tools, Techniques and Alternatives, Arlington VA, Jul 1983,
	pp.232-241].

	(1995-02-22)

Partial Differential Equation LANguage

	(PDELAN)

	["An Extension of Fortran Containing Finite Difference
	Operators", J. Gary et al, Soft Prac & Exp 2(4) (Oct 1972)].

partial equivalence relation

	(PER) A relation R on a set S where R is symmetric (x R y => y
	R x) and transitive (x R y R z => x R z) and where there may
	exist elements in S for which the relation is not defined.  A
	PER is an equivalence relation on the subset for which it is
	defined, i.e. it is also reflexive (x R x).

partial evaluation

	<compiler, algorithm> (Or "specialisation") An {optimisation}
	technique where the {compiler} evaluates some subexpressions
	at {compile-time}.  For example,

		pow x 0 = 1
		pow x n = if even n
			  then pxn2 * pxn2
			  else x * pow x (n-1)
				where pxn2 = pow x (n/2)
		f x = pow x 5

	Since n is known we can specialise pow in its second argument
	and unfold the recursive calls:

		pow5 x = x * x4 where x4 = x2 * x2
				      x2 = x * x
		f x = pow5 x

	pow5 is known as the residual.  We could now also unfold pow5
	giving:

		f x = x * x4 where x4 = x2 * x2
				   x2 = x  * x

	It is important that the partial evaluation algorithm should
	terminate.  This is not guaranteed in the presence of
	recursive function definitions.  For example, if partial
	evaluation were applied to the right hand side of the second
	clause for pow above, it would never terminate because the
	value of n is not known.

	Partial evaluation might change the termination properties of
	the program if, for example, the expression (x * 0) was
	reduced to 0 it would terminate even if x (and thus x * 0) did
	not.

	It may be necessary to reorder an expression to partially
	evaluate it, e.g.

		f x y = (x + y) + 1
		g z = f 3 z

	If we rewrite f:

		f x y = (x + 1) + y

	then the expression x+1 becomes a constant for the function g
	and we can say

		g z = f 3 z = (3 + 1) + z = 4 + z

	Partial evaluation of {built-in functions} applied to constant
	arguments is known as {constant folding}.

	See also {full laziness}.

	(1999-05-25)

partial function

	A function which is not defined for all arguments of its input
	type.  E.g.

		f(x) = 1/x if x /= 0.

	The opposite of a {total function}.  In {denotational
	semantics}, a partial function

		f : D -> C

	may be represented as a total function

		ft : D' -> lift(C)

	where D' is a superset of D and

		ft x = f x	if x in D
		ft x = bottom	otherwise

	where lift(C) = C U {bottom}.  Bottom ({LaTeX} {\perp})
	denotes "undefined".

	(1995-02-03)

partial key

	<database> A {key} which identifies a subset of a set of
	information items (e.g. database "{records}"), and which could
	narrow the subset to one item if other partial key(s) were
	combined with it.

	(1997-04-26)

partially ordered set

	A {set} with a {partial ordering}.

partial ordering

	A {relation} R is a partial ordering if it is a {pre-order}
	(i.e. it is {reflexive} (x R x) and {transitive} (x R y R z =>
	x R z)) and it is also {antisymmetric} (x R y R x => x = y).
	The ordering is partial, rather than total, because there may
	exist elements x and y for which neither x R y nor y R x.

	In {domain theory}, if D is a set of values including the
	undefined value ({bottom}) then we can define a partial
	ordering relation <= on D by

		x <= y  if  x = bottom or x = y.

	The constructed set D x D contains the very undefined element,
	(bottom, bottom) and the not so undefined elements, (x,
	bottom) and (bottom, x).  The partial ordering on D x D is
	then

		(x1,y1) <= (x2,y2)  if  x1 <= x2 and y1 <= y2.

	The partial ordering on D -> D is defined by

		f <= g  if  f(x) <= g(x)  for all x in D.

	(No f x is more defined than g x.)

	A {lattice} is a partial ordering where all finite subsets
	have a {least upper bound} and a {greatest lower bound}.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	(1995-02-03)

Partial Response Maximum Likelihood

	<storage> (PRML) A method for converting the weak {analog}
	signal from the head of a {magnetic disk} drive into a digital
	signal.  PRML attempts to correctly interpret even small
	changes in the analog signal, whereas {peak detection} relies
	on fixed thresholds.  Because PRML can correctly decode a
	weaker signal it allows higher density recording.

	For example, PRML would read the magnetic flux density pattern
	70, 60, 55, 60, 70 as binary "101", and the same for 45, 40,
	30, 40, 45.  A peak detector would decode everything above,
	say, 50 as high, and below 50 as low, so the first pattern
	would read "111" and the second as "000".

	(1996-12-27)

partition

	1. <storage> A {logical} section of a {disk}.  Each partition
	normally has its own {file system}.  {Unix} tends to treat
	partitions as though they were separate physical entities.

	2. <mathematics> A division of a set into subsets so that each
	of its elements is in exactly one subset.

	(1996-12-09)

partitioned data set

	<file format> (PDS) A {data set} on an {IBM} {mainframe} that
	contains members, each of which acts like a separate data set.
	Partitioned data sets are more space-efficient than individual
	data sets, because they can put more than one data set on a
	track.  They are also used to hold libraries, with one
	function per member.  The syntax for a member is
	NAME.OF.PDS(MEMBER) although some systems (such as {Phoenix})
	could use NAME.OF.PDS:MEMBER

	Original PDSes were of fixed size, and needed frequent
	{compression} to recover space after deleting or changing
	members.  Newer PDS/E Extended PDSes do not have this problem.

	(2003-12-05)

PARTS

	{Digitalk}.  {Visual language} for {OS/2} 2.0.

@-party

	<event, history> /at'par-tee/ (Or "@-sign party") An antiquated
	term for a gathering of {hackers} at a science-fiction convention
	(especially the annual Worldcon) to which only people who had an
	{electronic mail address} were admitted.

	The term refers to the {commercial at} symbol, "@", in an e-mail
	address and dates back to the era when having an e-mail address
	was a distinguishing characteristic of the select few who worked
	with computers.

	Compare {boink}.

	[{Jargon File}]

	(2012-11-17)

PARULEL

	"The PARULEL Parallel Rule Language", S. Stolfo et al, Proc
	1991 Intl Conf Parallel Proc, CRC Press 1991, pp.36-45.

PASC

	{Perceptional Adaptive Subband Coding}

Pascal

	<language> (After the French mathematician {Blaise Pascal}
	(1623-1662)) A programming language designed by {Niklaus
	Wirth} around 1970.  Pascal was designed for simplicity and
	for teaching programming, in reaction to the complexity of
	{ALGOL 68}.  It emphasises {structured programming}
	constructs, data structures and {strong typing}. Innovations
	included {enumeration types}, {subranges}, sets, {variant
	records}, and the {case statement}.  Pascal has been extremely
	influential in programming language design and has a great
	number of variants and descendants.

	ANSI/IEEE770X3.97-1993 is very similar to {ISO Pascal} but
	does not include {conformant arrays}.

	ISO 7185-1983(E).  Level 0 and Level 1.  Changes from Jensen &
	Wirth's Pascal include name equivalence; names must be bound
	before they are used; loop index must be local to the
	procedure; formal procedure parameters must include their
	arguments; {conformant array schemas}.

	An ALGOL-descended language designed by Niklaus Wirth on the
	CDC 6600 around 1967--68 as an instructional tool for
	elementary programming.  This language, designed primarily to
	keep students from shooting themselves in the foot and thus
	extremely restrictive from a general-purpose-programming point
	of view, was later promoted as a general-purpose tool and, in
	fact, became the ancestor of a large family of languages
	including Modula-2 and {Ada} (see also {bondage-and-discipline
	language}).  The hackish point of view on Pascal was probably
	best summed up by a devastating (and, in its deadpan way,
	screamingly funny) 1981 paper by Brian Kernighan (of {K&R}
	fame) entitled "Why Pascal is Not My Favourite Programming
	Language", which was turned down by the technical journals but
	circulated widely via photocopies.  It was eventually
	published in "Comparing and Assessing Programming Languages",
	edited by Alan Feuer and Narain Gehani (Prentice-Hall, 1984).
	Part of his discussion is worth repeating here, because its
	criticisms are still apposite to Pascal itself after ten years
	of improvement and could also stand as an indictment of many
	other bondage-and-discipline languages.  At the end of a
	summary of the case against Pascal, Kernighan wrote:

	9. There is no escape

	This last point is perhaps the most important.  The language
	is inadequate but circumscribed, because there is no way to
	escape its limitations.  There are no casts to disable the
	type-checking when necessary.  There is no way to replace the
	defective run-time environment with a sensible one, unless one
	controls the compiler that defines the "standard procedures".
	The language is closed.

	People who use Pascal for serious programming fall into a
	fatal trap.  Because the language is impotent, it must be
	extended.  But each group extends Pascal in its own direction,
	to make it look like whatever language they really want.
	Extensions for {separate compilation}, Fortran-like COMMON,
	string data types, internal static variables, initialisation,
	{octal} numbers, bit operators, etc., all add to the utility
	of the language for one group but destroy its portability to
	others.

	I feel that it is a mistake to use Pascal for anything much
	beyond its original target.  In its pure form, Pascal is a toy
	language, suitable for teaching but not for real programming.

	Pascal has since been almost entirely displaced (by {C}) from
	the niches it had acquired in serious applications and systems
	programming, but retains some popularity as a hobbyist
	language in the {MS-DOS} and {Macintosh} worlds.

	See also {Kamin's interpreters}, {p2c}.

	["The Programming Language Pascal", N. Wirth, Acta Informatica
	1:35-63, 1971].

	["PASCAL User Manual and Report", K. Jensen & N. Wirth,
	Springer 1975] made significant revisions to the language.

	[BS 6192, "Specification for Computer Programming Language
	Pascal", {British Standards Institute} 1982].

	[{Jargon File}]

	(1996-06-12)

Pascal-

	Pascal subset used in Brinch Hansen on Pascal Compilers, P.
	Brinch Hansen, P-H 1985.

	[{Jargon File}]

Pascal-80

	A successor of Platon.  Developed at RC International for
	systems programming.  Later it was renamed Real-Time Pascal.
	"PASCAL80 Report", J. Staunstrup, RC Intl, Denmark Jan 1980.

Pascal+CSP

	"Pascal+CSP, Merging Pascal and CSP in a Parallel Processing
	Oriented Language", J. Adamo, Proc 3rd Intl Conf Distrib Comp
	Sys, IEEE 1982, pp.542-547.

Pascal-F

	Pascal extended to include fixed-point arithmetic.  E. Nelson,
	"Pascal-F: Programming Language for Real-Time Automotive
	Control", IEEE ElectroTechnol. Rev. (USA), 2:39, 1968.

Pascal-FC

	A {Pascal} derived from {Pascal-S} which provides several
	types of {concurrency}: {semaphores}, {monitors}, both
	{occam}/{CSP}-style and {Ada}-style {rendezvous}.

	["The Teaching Language Pascal-FC", G.L. Davies et al,
	Computer J 33(2):147-154 (Apr 1990)].

	(1994-11-02)

Pascal/L

	A {SIMD} parallel extension of {Pascal}.

	["Implementation of an Array and Vector Processing Language",
	C. Fernstrom, Intl Conf Parallel Proc, IEEE, pp.113-127
	(1982)].

	(1994-11-02)

Pascal-Linda

	Ian Flockhart, U Edinburgh, 1991.  Under development.

Pascal-m

	["Pascal-m: A Language for Loosely Coupled Distributed
	Systems", S. Abramsky et al in Distributed Computing Systems,
	Y. Paker et al eds, Academic Press 1986, pp. 163-189].

	(1994-11-02)

Pascal-P

	<language> The variant of {Pascal} used by the {UCSD}
	{p-system} environment.  Pascal-P has extended {string} and
	{array} operations, {random-access files} and {separate
	compilation}.  It uses {P-code} intermediate code and is
	available from {Pecan}.

	(1994-11-02)

Pascal P4

	compiler and interpreter

	Version ? 1

	compiler, assembler/interpreter, documentation

	Urs Ammann, Kesav Nori, Christian Jacobi

	{(ftp://ftp.cwi.nl/pascal/)}.

	A compiler for Pascal written in Pascal, producing an
	intermediate code, with an assembler and interpreter for the
	code.

	reference: Pascal Implementation, by Steven Pemberton and
	Martin Daniels, published by Ellis Horwood, Chichester, UK (an
	imprint of Prentice Hall), ISBN: 0-13-653-0311.  Also
	available in Japanese.

	E-mail: <Steven.Pemberton@cwi.nl>.

	(1993-07-05)

Pascal Plus

	<language> {Pascal} with extensions for {object-oriented}
	{multiprogramming} by Jim Welsh and D. Bustard of {Queens
	University, Belfast}, UK.  Pascal Plus uses an "envelope"
	construct for both {packages} and {classes}.

	["Pascal Plus - Another Language for Modular
	Multiprogramming", J. Welsh et al, Soft Prac & Exp 9:947
	(1979)].

	["Sequential Program Structures", J. Welsh et al, P-H 1984,
	ISBN 0-13806828-3].

	(1997-12-09)

Pascal/R

	{Pascal} with {relational database} constructs added.  The
	first successful integrated {database} language.

	["Pascal/R Report", J.W. Schmidt et al, U Hamburg, Fachbereich
	Informatik, Report 66, Jan 1980].

	(1994-10-19)

Pascal-S

	Simplified Pascal.  June, 1975.  A strict subset of Pascal,
	omits scalar types, subranges, sets, files, pointers, packed
	structures, 'with' and 'goto.  Source for a complete Pascal-S
	compiler is in "Pascal-S: A Subset and Its Implementation",
	N. Wirth in Pascal - The Language and Its Implementation, by
	D.W. Barron, Wiley 1979.

	{(ftp://csseq.cs.tamu.edu/mcguire/pascal-s)}.

Pascal-SC

	ESPRIT DIAMOND Project.  An extension of Pascal for numerical
	analysis, with controlled rounding, overloading, dynamic
	arrays and modules.  "PASCAL-SC, A Computer Language for
	Scientific Computation", G.  Bohlender et al, Academic Press
	1987.

pasos2

	version:    Alpha

	parts:	            Compiler, run-time library

	author:             Willem Jan Withagen <wjw@eb.ele.tue.nl>

	how to get:         {(ftp://ftp.eb.ele.tue.nl/pub/src/pascal/pasos2*)}.

	A PASCAL/i386 compiler which generates code for OS/2 and
	DOS. It uses EMX as DOS extender and GNU/GAS, MASM or TASM as
	assembler.

	1993-12-17

Pasqual

	["Pasqual: A Proposed Generalization of Pascal", R.D. Tennent,
	TR75-32, Queen's U, Canada, 1975].

PASRO

	<robotics> {PAScal} for RObots.

	["PASRO - Pascal for Robots", C. Blume et al, Springer 1985].

	(1999-07-19)

PASSIM

	A {simulation} language based on {Pascal}.

	["PASSIM: A Discrete-Event Simulation Package for Pascal", D.H
	Uyeno et al, Simulation 35(6):183-190 (Dec 1980)].

passive matrix display

	<hardware> A type of {liquid crystal display} which relies on
	{persistence} to maintain the state of each display element
	({pixel}) between refresh scans.  The {resolution} of such
	displays is limited by the ratio between the time to set a
	pixel and the time it takes to fade.

	Contrast {active matrix display}.

	(1995-12-09)

passphrase

	<operating system> A string of words and characters that you
	type in to authenticate yourself.  Passphrases differ from
	passwords only in length.  Passwords are usually short - six
	to ten characters.  Passphrases are usually much longer - up
	to 100 characters or more.

	Modern passphrases were invented by Sigmund N. Porter in 1982.

	Their greater length makes passphrases more secure.

	Phil Zimmermann's popular encryption program {PGP}, for
	example, requires you to make up a passphrase that you then
	must enter whenever you sign or decrypt messages.

	{(http://world.std.com/~reinhold/diceware.page.html)}.

	(1996-12-21)

passw0rd

	<security> A common default {password}, often given out by
	{system administrtors} to new users, the hope being that they
	will change it immediately.

	(2011-11-22)

password

	<security> An arbitrary string of characters chosen by a user
	or {system administrator} and used to authenticate the user
	when he attempts to log on, in order to prevent unauthorised
	access to his account.

	A favourite activity among unimaginative {computer nerds} and
	{crackers} is writing programs which attempt to discover
	passwords by using lists of commonly chosen passwords such as
	people's names (spelled forward or backward).  It is
	recommended that to defeat such methods passwords use a
	mixture of upper and lower case letters or digits and avoid
	proper names and real words.  If you have trouble remembering
	random strings of characters, make up an acronym like
	"ihGr8trmP" ("I have great trouble remembering my password").

	(1994-10-27)

Password Authentication Protocol

	<networking> (PAP) An {authentication} scheme used by {PPP}
	servers to validate the identity of the originator of the
	connection.

	PAP applies a two-way {handshaking} procedure.  After the link
	is established the originator sends an id-password pair to the
	server.  If authentication succeeds the server sends back an
	acknowledgement; otherwise it either terminates the connection
	or gives the originator another chance.

	PAP is not a strong authentication method.  Passwords are sent
	over the circuit "in the clear" and there is no protection
	against playback or repeated "trial and error" attacks.  The
	originator is in total control of the frequency and timing of
	the attempts.  Therefore, any server that can use a stronger
	authentication method, such as {CHAP}, will offer to negotiate
	that method prior to PAP.  The use of PAP is appropriate,
	however, if a {plaintext} password must be available to
	simulate a login at a remote host.

	PAP is defined in {RFC} 1334.

	(1996-03-23)

paste

	{copy and paste}

pastie

	/pay'stee/ An adhesive label designed to be attached to a key
	on a keyboard to indicate some non-standard character which
	can be accessed through that key.  Pasties are likely to be
	used in APL environments, where almost every key is associated
	with a special character.  A pastie on the R key, for example,
	might remind the user that it is used to generate the rho
	character.  The term properly refers to nipple-concealing
	devices formerly worn by strippers in concession to
	indecent-exposure laws; compare {tits on a keyboard}.

	[{Jargon File}]

PAT

	1. <language> {Personalized Array Translator}.

	2. <networking> {Port Address Translation}.

	(1998-05-09)

PATA

	1. <storage> {Parallel Advanced Technology Attachment}.

	2. {Pooling Agreement for Technical Assistance}.

patch

	<software> 1. A temporary addition to a piece of code, usually
	as a {quick-and-dirty} remedy to an existing {bug} or
	{misfeature}.  A patch may or may not work, and may or may not
	eventually be incorporated permanently into the program.
	Distinguished from a {diff} or {mod} by the fact that a patch
	is generated by more primitive means than the rest of the
	program; the classical examples are instructions modified by
	using the front panel switches, and changes made directly to
	the binary executable of a program originally written in an
	{HLL}.  Compare {one-line fix}.

	2. To insert a patch into a piece of code.

	3. [in the Unix world] A {diff}.

	4. A set of modifications to binaries to be applied by a
	patching program.  {IBM} systems often receive updates to the
	{operating system} in the form of absolute {hexadecimal}
	patches.  If you have modified your OS, you have to
	disassemble these back to the {source code}.  The patches
	might later be corrected by other patches on top of them
	(patches were said to "grow scar tissue").  The result was
	often a convoluted {patch space} and headaches galore.

	There is a classic story of a {tiger team} penetrating a
	secure military computer that illustrates the danger inherent
	in binary patches (or, indeed, any patches that you can't - or
	don't - inspect and examine before installing).  They couldn't
	find any {trap doors} or any way to penetrate security of
	IBM's OS, so they made a site visit to an IBM office
	(remember, these were official military types who were
	purportedly on official business), swiped some IBM stationery,
	and created a fake patch.  The patch was actually the trapdoor
	they needed.  The patch was distributed at about the right
	time for an IBM patch, had official stationery and all
	accompanying documentation, and was dutifully installed.  The
	installation manager very shortly thereafter learned something
	about proper procedures.

	5. {Larry Wall}'s "patch" {utility program}, which
	automatically applies a patch to a set of {source code} or
	other text files.  Patch accepts input in any of the four
	forms output by the {Unix} {diff} utility.  When the files
	being patched are not identical to those on which the diffs
	were based, patch uses {heuristics} to determine how to
	proceed.

	Diff and patch are the standard way of producing and applying
	updates under {Unix}.  Both have been ported to other
	{operating systems}.

	{Patch Home (http://gnu.org/software/patch/patch.html)}.

	[{Jargon File}]

	(2005-05-16)

patch pumpkin

	{pumpkin}

patch space

	An unused block of bits left in a binary so that it can later
	be modified by insertion of machine-language instructions
	there (typically, the patch space is modified to contain new
	code, and the superseded code is patched to contain a jump or
	call to the patch space).  The widening use of HLLs has made
	this term rare; it is now primarily historical outside {IBM}
	shops.  See {patch}, {zap}, {hook}.

	[{Jargon File}]

PATCHY

	A {Fortran} {code management} program written at {CERN}.

path

	1. <file system> {pathname}.

	2. <networking> A {bang path} or explicitly routed {Internet
	address}; a node-by-node specification of a link between two
	machines.

	3. <operating system>  The list of directories the kernel
	(under {Unix}) or the command interpreter (under {MS-DOS})
	searches for {executables}.  It is stored as part of the
	{environment} in both operating systems.

	Other, similar constructs abound under Unix; the {C}
	{preprocessor}, for example, uses such a search path to
	locate "#include" files.

	[{Jargon File}]

	(1996-11-21)

path coverage testing

	<testing> Testing a program by examining which lines of
	{executable code} are visited (as in {code coverage testing})
	and also the ways of getting to each line of code and the
	subsequent sequence of execution.

	Path coverage testing is the most comprehensive type of
	testing that a {test suite} can provide.  It can find more
	{bugs}, especially those that are caused by {data coupling}.
	However, path coverage is hard and usually only used for small
	and/or critical sections of code.

	(2005-01-25)

pathname

	<file system> (Or "path") The specification of a node (file or
	directory) in a {hierarchical file system}.  The path is usually
	specified by listing the nodes top-down, separating the
	directories by the {pathname separator} ("/" in {Unix}, "\" in
	{MS-DOS}).

	A pathname may be an {absolute pathname} (starting from the {root
	directory}, "/") or a {relative pathname} (starting from the
	{current working directory}).

	The part of the pathname of a file after the last separator is
	called the {basename}.

	(1997-03-10)

pathname separator

	<file system> The character used to separate elements of a
	{path} or {pathname}.  Under {Unix} and {POSIX.1} compliant
	systems the pathname separator is the (forward) {slash}, in
	{MS-DOS} {backslash} serves the same purpose.  For obvious
	reasons the no directory or file name can contain this
	character.

	(1996-11-21)

pathological

	1. [scientific computation] Used of a data set that is grossly
	atypical of normal expected input, especially one that exposes
	a weakness or bug in whatever algorithm one is using.  An
	algorithm that can be broken by pathological inputs may still
	be useful if such inputs are very unlikely to occur in
	practice.

	2. When used of test input, implies that it was purposefully
	engineered as a worst case.  The implication in both senses is
	that the data is spectacularly ill-conditioned or that someone
	had to explicitly set out to break the algorithm in order to
	come up with such a crazy example.

	3. Also said of an unlikely collection of circumstances.  "If
	the network is down and comes up halfway through the execution
	of that command by root, the system may just crash."  "Yes,
	but that's a pathological case."  Often used to dismiss the
	case from discussion, with the implication that the
	consequences are acceptable, since they will happen so
	infrequently (if at all) that it doesn't seem worth going to
	the extra trouble to handle that case (see sense 1).

	[{Jargon File}]

Path Pascal

	Parallel extension of Pascal.  Processes have shared access to
	data objects.  Constraints on their synchronisation are
	specified in a path expression.

	["An Overview of Path Pascal's Design", R.H. Campbell, SIGPLAN
	Notices 15(9):13-24 (Sep 1980)].

pathspec

	{pathname}

pattern matching

	1. A function is defined to take arguments of a particular
	type, form or value.  When applying the function to its actual
	arguments it is necessary to match the type, form or value of
	the actual arguments against the formal arguments in some
	definition.  For example, the function

		length []     = 0
		length (x:xs) = 1 + length xs

	uses pattern matching in its argument to distinguish a null
	list from a non-null one.

	There are well known {algorithm} for translating pattern
	matching into conditional expressions such as "if" or "case".
	E.g. the above function could be transformed to

		length l = case l of
			   []   -> 0
			   x:xs -> 1 : length xs

	Pattern matching is usually performed in textual order though
	there are languages which match more specific patterns before
	less specific ones.

	2. Descriptive of a type of language or utility such as {awk}
	or {Perl} which is suited to searching for strings or patterns
	in input data, usually using some kind of {regular
	expression}.

	(1994-11-28)

pattern recognition

	<artificial intelligence, data processing> A branch of
	{artificial intelligence} concerned with the classification or
	description of observations.

	Pattern recognition aims to classify {data} (patterns) based
	on either a priori knowledge or on statistical information
	extracted from the patterns.  The patterns to be classified
	are usually groups of measurements or observations, defining
	points in an appropriate multidimensional space.

	A complete pattern recognition system consists of a sensor
	that gathers the observations to be classified or described; a
	{feature extraction} mechanism that computes numeric or
	{symbolic} information from the observations; and a
	classification or description scheme that does the actual job
	of classifying or describing observations, relying on the
	extracted features.

	The classification or description scheme is usually based on
	the availability of a set of patterns that have already been
	classified or described.  This set of patterns is termed the
	{training set} and the resulting learning strategy is
	characterised as {supervised}.  Learning can also be
	{unsupervised}, in the sense that the system is not given an a
	priori labelling of patterns, instead it establishes the
	classes itself based on the statistical regularities of the
	patterns.

	The classification or description scheme usually uses one of
	the following approaches: statistical (or {decision
	theoretic}), syntactic (or structural), or neural.
	Statistical pattern recognition is based on statistical
	characterisations of patterns, assuming that the patterns are
	generated by a {probabilistic} system.  Structural pattern
	recognition is based on the structural interrelationships of
	features.  Neural pattern recognition employs the neural
	computing paradigm that has emerged with {neural networks}.

	(1995-09-22)

PAW

	<tool> {Physics Analysis Workbench}.

PAW++

	An extended version of PAW with a Motif human interface.

payware

	/pay'weir/  Commercial software.  Opposite: {shareware}
	or {freeware}.

	[{Jargon File}]

PB Cache

	{Pipeline Burst Cache}

PBCAK

	{PEBCAK}

PBD

	{Programmer Brain Damage}

PBEM

	{play by electronic mail}

PBKAC

	{PEBCAK}

PBM

	play by mail.  See {play by electronic mail}.

PBX

	{Private Branch Exchange}

PC

	1. <computer> {personal computer}.

	2. <computer> {IBM PC}.

	3. <hardware> {program counter}.

	4. <hardware> {printed circuit}.

	5. <language> {Parallel C}.

pC++

	{Data parallel} extension to {C++}.  {Class}es and {methods}
	for managing distributed collections.

	E-mail: Dennis Gannon <gannon@cs.indiana.edu>.

	["Distributed pC++: Basic Ideas for an Object Parallel
	Language", F. Bodin et al, Proc Supercomput 91, ACM SIGARCH,
	pp. 273-282].

	(2001-02-22)

PC-1834

	<computer> An {IBM PC}-like computer, using a {K1810 WM 86}
	{Intel 8086} {clone} from the formerly known Eastern bloc,
	introduced in 1988.

	(2004-03-24)

PC200

	{Sinclair PC200}

PC-7150

	<hardware> An {IBM PC}-like computer, using a {K1810 WM 86}
	{Intel 8086} {clone} from the formerly known Eastern bloc,
	introduced in 1988.

	(2004-03-24)

PCA

	<tool, programming> A dynamic analyser from {DEC} giving
	information on {run-time} performance and code use.

	(2004-03-24)

P-CAD

	<application> A {CAE} system marketed by {CADAM}, an {IBM}
	company.

	(2004-03-24)

PC AT

	{IBM PC AT}

PCB

	1. <hardware> {Power Circuit Breaker}.

	2. <hardware> {Power Control Box}.

	3. <hardware> {Printed Circuit Board}.

	4. {Process Control Block}.

	5. {Product Configuration Baseline}.

	6. {Program Control Block}.

	7. <networking> {Protocol Control Block}.

	({TCP}).

PC Card

	{Personal Computer Memory Card International Association}

PCCTS

	{Purdue Compiler-Construction Tool Set}

PCF

	A simply typed, {functional language}.

	["Fully Abstract Translations Between Functional Languages",
	J. Riecke, 18th POPL, pp. 245-254 (1991)].

	["LCF Considered as a Programming Language", Theor CS 5:223,
	1977].

	(1996-01-18)

PCI

	{Peripheral Component Interconnect}

PCI bus

	{Peripheral Component Interconnect}

PCI Configuration Utility

	<tool> (PCU) A piece of {software} for configuring a specific
	{PCI} {hardware} device.

	[What software?  What hardware?]

	(1998-11-22)

PCI Mezzanine Card

	<hardware> (PMC) A family of low profile {mezzanine} cards for
	{VMEbus}, {Futurebus+}, desktop computers and other computer
	systems with logical and electrical layers based on the
	{Peripheral Component Interconnect} (PCI) specification.  PMC
	is defined in {IEEE} P1386.1 and follows the {Common Mezzanine
	Card} (CMC) mechanical specification.

	PCI2.0 defines a 4.2 inch by 12.3 inch board that plugs
	perpendicularly into a {mother board}.

	(1994-10-06)

PCI slot

	<hardware> A connector on {Peripheral Component Interconnect}
	and the associated physical space occupied by the installed
	PCI card.

	(1997-12-07)

PC-ism

	/P-C-izm/ A piece of code or coding technique that takes
	advantage of the unprotected single-tasking environment in
	{IBM PCs} and the like, e.g. by {busy-wait}ing on a {hardware
	register}, direct diddling of {screen memory} or using hard
	timing loops.  Compare {ill-behaved}, {vaxism}, {Unixism}.

	[{Jargon File}]

PCjr

	{IBM PCjr}

PCL

	1. Printer Control Language.  A {Document description
	language} used by {Hewlett-Packard} {Laserjet} printers, a
	superset of {HP-GL/2}.

	[PCL 5 Printer Language Printer Technical Reference Manual, HP
	33459-90903.  Versions: PCL 3, PCL 5].

	2. {Portable CommonLoops}.

	3. Peripheral Conversion Language.  A {Honeywell} command
	language for {file transfer} between I/O devices on the {CP-V}
	and {CP-6} {operating systems}.

	4. ["PCL - A Process Oriented Job Control Language", V. Lesser
	et al, Proc 1st Intl Conf Distrib Comp Sys, IEEE 1979,
	pp.315-329].

PCLIPS

	Parallel CLIPS - U Lowell.  Concurrent independent CLIPS
	expert systems.  They use 'rassert' (remote assert) to enter
	facts into each other's database.  "PCLIPS: A Distributed
	Expert System Environment", R.  Miller, CLIPS Users Group
	Conf, Aug 1990.  E-mail: <pclips@dragon.ulowell.edu>(?).

PCM

	1. <data> {Pulse Code Modulation}.

	2. <company> {Plug Compatible Manufacturer}.

	(2003-06-24)

PCMCIA

	<body, standard> {Personal Computer Memory Card International
	Association}.  (Or People Can't Memorise Computer Industry
	Acronyms).

PCMIA

	{Personal Computer Manufacturer Interface Adaptor}

PCN

	1. {Program Composition Notation}.

	2. <communications> {Personal Communication Network}.

PC-NFS

	{Personal Computer Network File System}

P-code

	<language> The {intermediate language} produced by the
	{Pascal-P} {compiler}.  P-code is the {assembly language} for
	a hypothetical {stack machine}, the P-machine, said to imitate
	the {instruction set} of the {Burroughs 6700}.

	The term was first used in the Wirth reference below.  {Byte}
	articles on writing a Pascal Compiler in {Northstar BASIC} (ca
	Aug 1978) also used the term.

	P-code was initially the intermediate code generated by the P2
	compiler from ETH Zurich.  P-code was later used as the
	intermediate language in the {UCSD Pascal System}, and in its
	two main derivatives, {Apple Pascal} and the {UCSD P-system}.

	Variants: P2 P-code, P4 P-code, UCSD P-code, LASL P-code.

	[Algorithms + Data Structures = Programs, N. Wirth, P-H 1976].

	["A Comparison of PASCAL Intermediate Languages", P.A. Nelson,
	SIGPLAN Notices 14(8):208-213, Aug 1979].

	(2004-11-08)

PC Pursuit

	A {TELENET} service which enabled people to dial up {BBS}es in
	other cities for less than normal long-distance rates.  PC
	Pursuit died because TELENET were too mean to upgrade beyond
	2400 bits per second.

	(1994-10-17)

PC-RT

	<computer> An incorrect name for the {RT-PC}.

	(1995-04-06)

PCS

	1. {Personal Communication Services}.

	2. {PC-Scheme}.

PC-Scheme

	Version 3.03

	compiler, debugger, profiler, editor, libraries

	{(ftp://altdorf.ai.mit.edu/archive/pc-scheme/)}.

	Written at {Texas Instruments}.  Runs on {MS-DOS} 286/386 IBM
	PCs and compatibles.  Includes an optimising compiler, an
	emacs-like editor, inspector, debugger, performance testing,
	foreign function interface, window system and an
	object-oriented subsystem.  Also supports the dialect used in
	{Hal Abelson} and {Gerald Sussman}'s {SICP}.

	Conformance: Revised^3 Report, also supports dialect used in
	SICP.

	restriction:	official version is $95, contact <rww@ibuki.com>

	ports:		MS-DOS

	See also {PCS/Geneva}.

	(1992-02-23)

PCS/Geneva

	A cleaned-up version of {Texas Instrument}'s {PC Scheme}
	developed at the {University of Geneva}.  The main extensions
	to PC Scheme are {486} support, {BGI} graphics, {LIM-EMS}
	pagination support, line editing and {assembly code}-level
	interfacing.

	Version 4.02PL1.

	E-mail: <schemege@uni2a.unige.ch>.

	(1994-01-11)

PC support

	<job> (Or "PC analyst", end user support) A person who works
	with {microcomputer} applications including {word processors},
	{spreadsheets}, {presentation graphics}, {database management
	systems}, {electronic mail}, and communications.  He also
	evaluates, installs and supports PCs, {Macintoshes}, and
	associated {peripherals}.

	(2004-03-20)

PC-TALK III

	<communications, tool> An {MS-DOS} communications program by
	{Andrew Fluegelman}.

	(1997-08-25)

PCTE

	{Portable Common Tool Environment}

PCTE+

	A European NATO specification based on {PCTE} with security
	enhancements.

PC-TILES

	<language> A {visual programming language}.

	(1997-08-25)

PCU

	{PCI Configuration Utility}

PC-ware

	Pejorative term for software full of {PC-isms} on a machine
	with a more capable {operating system}.

pcx

	<filename extension> A {filename extension} for {images}
	created with the {IBM PC} {Paintbrush} tool.

	[Format?]

	(1995-12-10)

PD

	{public domain}

PDA

	{Personal Digital Assistant}

PDC

	{Primary Domain Controller}

PDC Prolog

	Prolog Development Centre Prolog.  A {Prolog} evolved from
	{Turbo Prolog} by the original authors.

PDEL

	Partial Differential Equation Language.  A {preprocessor} for
	{PL/I}.

	["PDEL - A Language for Partial Differential Equations",
	A.F. Cardenas, CACM 13(3):184-191 (Mar 1970)].

PDELAN

	{Partial Differential Equation LANguage}

PDES

	{Product Data Exchange using STEP}

PDF

	{Portable Document Format}

PDFTeX

	<tool, TeX> A modification of {TeX} to produce {PDF} output
	instead of the {canonical} {DVI}.

	{pdftexlib.tar.gz (ftp://ftp.tug.org/pub/tex/pdftexlib.tar.gz)}.

	{Thanh's source of pdfTeX
	(ftp://ftp.muni.cz/pub/tex/local/cstug/thanh/pdftex/)}.

	{User Manual
	(http://tug.cs.umb.edu/applications/pdftex/pdftex-s.pdf)}.

	{FAQ
	(http://tug.cs.umb.edu/applications/pdftex/pdfTeX-FAQ-scr.pdf)}.

	(2000-12-21)

PDH

	{Plesiochronous Digital Hierarchy}

PDIL

	<language> A language developed at Agence d'Informatique,
	France in the 1970s for description of communication
	{protocols}.  It was part of the {RHIN} project.

	(1995-02-28)

pdksh

	Version 4.9

	interpreter

	Simon J. Gerraty <sjg@zen.void.oz.au>

	comp.sources.misc volume 4

	It is not intended to be the ultimate shell but rather a
	usable ksh work alike.

	conformance:	Almost identical to ksh88, but missing arrays

	E-mail: Simon J Gerraty <sjg@melb.bull.oz.au> (zen.void.oz.au
	is down)

	ports:		Sun, 386bsd, ?

	1993-10-11

PDL

	1. {Page Description Language}.

	2. {Program Design Language}.

	3. {Push Down List}.

	4. Dave Lebling, one of the co-authors of {Zork}.  His
	{network address} on the {ITS} machines was at one time
	<pdl@dms>.

	5. {Propositional Dynamic Logic}.

	[{Jargon File}]

PDL2

	<language> {Process Design Language 2}.

PDM

	1. {Product Development Management}.

	2. {Product Data Management}.

	(1997-02-11)

PDP

	{Programmed Data Processor}

PDP-10

	<computer> Programmed Data Processor model 10.

	The series of {mainframes} from {DEC} that made {time-sharing}
	real.  It looms large in hacker folklore because of its
	adoption in the mid-1970s by many university computing
	facilities and research labs, including the {MIT} {AI Lab},
	{Stanford}, and {CMU}.  Some aspects of the {instruction set}
	(most notably the bit-field instructions) are still considered
	unsurpassed.

	The PDP-10 was eventually eclipsed by the {VAX} machines
	(descendants of the {PDP-11}) when DEC recognised that the
	PDP-10 and VAX product lines were competing with each other
	and decided to concentrate its software development effort on
	the more profitable VAX.  The machine was finally dropped from
	DEC's line in 1983, following the failure of the {Jupiter}
	Project at DEC to build a viable new model.  (Some attempts by
	other companies to market clones came to nothing; see {Foonly}
	and {Mars}.)  This event spelled the doom of {ITS} and the
	technical cultures that had spawned the original {Jargon
	File}, but by mid-1991 it had become something of a badge of
	honourable old-timerhood among hackers to have cut one's teeth
	on a PDP-10.

	See {TOPS-10}, {AOS}, {BLT}, {DDT}, {DPB}, {EXCH}, {HAKMEM},
	{JFCL}, {LDB}, {pop}, {push}.

	{news:alt.sys.pdp10}

	[Was the PDP-10 a mini or a mainframe?]

	(2001-01-05)

PDP-11

	Programmed Data Processor model 11.

	A series of {minicomputers} based on an {instruction set}
	designed by C. Gordon Bell at {DEC} in the early 1970s (late
	60s?).  The PDP-11 family, which came after, but was not
	derived from, the {PDP-10}, was the most successful computer
	of its time until it was itself succeeded by the {VAX}.

	Models included the 11/23 and 11/24 (based on the F11
	chipset); 11/44, 11/04, 11/34, 11/05, 11/10, 11/15, 11/20,
	11/35, 11/40, 11/45, 11/70, 11/60 ({MSI} and {SSI}); LSI-11/2
	and LSI-11 (LSI-11 chipset).  In addition there were the 11/8x
	(J11 chipset) and SBC-11/21 (T11 chip) and then there was
	compatibility mode in the early {VAX} processors.

	The {B} and {C} languages were both used initially to
	implement {Unix} on the PDP-11.  The {microprocessor} design
	tradition owes a heavy debt to the PDP-11 {instruction set}.

	See also {SEX}.

	(1994-12-21)

PDP-20

	The most famous computer that never was.  {PDP-10} computers
	running the {TOPS-10} operating system were labelled
	"DECsystem-10" as a way of differentiating them from the
	{PDP-11}.  Later on, those systems running {TOPS-20} were
	labelled "DECSYSTEM-20" (the block capitals being the result
	of a lawsuit brought against DEC by Singer, which once made a
	computer called "system-10"), but contrary to popular lore
	there was never a "PDP-20"; the only difference between a 10
	and a 20 was the {operating system} and the colour of the
	paint.  Most (but not all) machines sold to run {TOPS-10} were
	painted "Basil Blue", whereas most TOPS-20 machines were
	painted "Chinese Red" (often mistakenly called orange).

	[{Jargon File}]

	(1994-12-21)

PDP-6

	<computer> Programmed Data Processor model 6.  A computer
	designed around 1960 with more or less exactly the same
	hardware architecture as the {PDP-10}.  It already had
	multi-user {time sharing} and {batch processing} and
	multi-level priority {interrupts}

	(1996-12-21)

PDP-7

	<computer> A minicomputer sold by DEC in 1964.  It had a
	memory cycle time of 1.75 microseconds and add time of 4
	microseconds.  I/O included a keyboard, printer, {paper-tape}
	and dual transport DECtape drives (type 555).

	DEC provided an "advanced" {Fortran II} {compiler}, a Symbolic
	{Assembler}, Editor, {DDT} Debugging System, Maintenance
	routines and a library of arithmetic, utility and programming
	aids developed on the program-compatible {PDP-4}.

	[DEC sales brochure].

	The PDP-7 was considered reliable enough (when properly
	programmed) to be used for control of nuclear reactors and
	such.

	Around 1970 {Ken Thompson} built the {operating system} that
	became {Unix} on a scavenged {PDP-7} so he could play a
	descendant of the {SPACEWAR} game.

	(1995-03-10)

PDP Assembly Language

	<language> (PAL) The {assembly language} for the {PDP-8} and
	{PDP-11}.

	[Description?]

	(1995-01-26)

PDS

	1. <hardware> {Processor Direct Slot}.

	2. {partitioned data set}.

PDSA cycle

	Plan, Do, See, Approve (from Japan).

PDS/MaGen

	Problem Descriptor System.  A system for generating matrices
	and reports for mathematical programming and {operations
	research}.

	["PDS MaGen User Information Manual", Haverly Systems (Dec
	1977)].

	(1994-10-27)

PDU

	{Protocol Data Unit}

PE

	1. <database> {periodic group}

	2. <storage> {Phase Encoded}.

	3. <architecture> {processing element}.

	(1995-10-30)

pe

	<networking> The {country code} for Peru.

	(1999-01-27)

PeaceNet

	One of the {IGC} networks.  PeaceNet serves peace and social
	justice advocates around the world in such areas as human
	rights, disarmament, and international relations.  A number of
	alternative news services provide a range of information about
	these and other topics from around the world.

	E-mail: <peacenet@igc.apc.org>.  {(ftp://igc.apc.org/)}.

peak envelope power

	<communications> (PEP) The maximum power output by a radio
	transmitter over one complete RF cycle at any modulation.

	(2008-02-11)

Peano

	{Giuseppe Peano}

Peano arithmetic

	<mathematics> {Giuseppe Peano}'s system for representing {natural
	numbers} {inductively (induction)} using only two symbols, "0"
	(zero) and "S" (successor).

	This system could be expressed as a {recursive} data type with the
	following {Haskell} definition:

		data Peano = Zero | Succ Peano

	The number three, usually written "SSS0", would be Succ (Succ
	(Succ Zero)).  Addition of Peano numbers can be expressed as a
	simple syntactic transformation:

		plus Zero     n = n
		plus (Succ m) n = Succ (plus m n)

	(1995-03-28)

PEARL

	1. <language, mathematics> A language for {constructive
	mathematics} developed by Constable at {Cornell University} in
	the 1980s.

	2. <language, real-time> {Process and Experiment Automation
	Real-Time Language}.

	3. <language, education> One of five pedagogical languages
	based on {Markov} {algorithms}, used in "Nonpareil, a Machine
	Level Machine Independent Language for the Study of
	Semantics", B. Higman, ULICS Intl Report No ICSI 170, U London
	(1968).  Compare {Brilliant}, {Diamond}, {Nonpareil}, {Ruby}.

	4. <language> A multilevel language developed by Brian Randell
	ca 1970 and mentioned in "Machine Oriented Higher Level
	Languages", W. van der Poel, N-H 1974.

	5. <language, tool, history> An obsolete term for {Larry
	Wall}'s {PERL} programming language, which never fell into
	common usage other than in typographical errors.  The missing
	'a' remains as an atrophied remnant in the expansion
	"Practical Extraction and Report Language".

	["Programming Perl", Larry Wall and Randal L. Schwartz,
	O'Reilly & Associates, Inc.  Sebastopol, CA.  ISBN
	0-93715-64-1].

	(2000-08-16)

Pebble

	A {polymorphic} language.

	["A Kernel Language for Abstract Data Types and Modules",
	R.M. Burstall & B. Lampson, in Semantics of Data Types, LNCS
	173, Springer 1984].

	(1995-01-26)

Pebbleman

	{DoD} requirements that led to {APSE}.  They were written in
	Jul 1978 and revised Jan 1979.

	(1995-01-26)

PEBCAK

	<humour> (Or "PEBKAC", "PBCAK", "PBKAC") Tech support
	shorthand for "Problem (Exists) between Chair and Keyboard".

	An alternative is "PICNIC" - "Problem In Chair, Not In
	Computer".

	An acronym commonly used by helpdesk technicians to indicate
	that a problem is due to the user rather than the system.

	See also {UBD}.

	(2012-08-26)

PEBKAC

	{PEBCAK}

PECOS

	A {constraint}-based language, built on the {object-oriented}
	module of {Le-Lisp}.

	["Pecos Reference Manual", ILOG, 1990.  ILOG, 12 av Raspail,
	BP 7, F94251 Gentilly, France].

	(1995-01-26)

Pedagogic Algorithmic Language

	["PAL - A Language for Teaching Programming Linguistics",
	A. Evans Jr, Proc ACM 23rd Natl Conf, Brandon/Systems Press
	(1968)].

	(1995-01-26)

PEEK

	The command in most {microcomputer} {BASICs} for reading
	memory contents (a byte) at an absolute address.  POKE is the
	corresponding command to write a value to an absolute address.

	This is often extended to mean the corresponding constructs in
	any {High Level Language}.

	Much hacking on small {microcomputers} without {MMUs} consists
	of "peek"ing around memory, more or less at random, to find
	the location where the system keeps interesting stuff.  Long
	(and variably accurate) lists of such addresses for various
	computers circulate (see {interrupt list}).  The results of
	"poke"s at these addresses may be highly useful, mildly
	amusing, useless but neat, or total {lossage} (see {killer
	poke}).

	Since a {real operating system} provides useful, higher-level
	services for the tasks commonly performed with peeks and pokes
	on micros, and real languages tend not to encourage low-level
	memory groveling, a question like "How do I do a peek in C?"
	is diagnostic of the {newbie}.  Of course, {operating system}
	{kernels} often have to do exactly this; a real {C} hacker
	would unhesitatingly, if unportably, assign an absolute
	address to a pointer variable and indirect through it.

	[{Jargon File}]

	(1995-01-31)

PEEL

	Used to implement version of {Emacs} on {PRIME} computers.

peephole optimisation

	<compiler> A kind of low-level {code optimisation} that
	considers only a few adjacent {machine code} instructions at a
	time and looks for certain combinations which can be replaced
	with more efficient sequences.  E.g.

		ADD R0, #1
		ADD R0, #1

	(add one to register R0) could be replaced by

		ADD R0, #2

	as long as there were no jumps to the second instruction.

	(2008-11-17)

peephole optimization

	{peephole optimisation}

peer

	<networking> A unit of communications hardware or software
	that is on the same {protocol layer} of a network as another.
	A common way of viewing a communications link is as two
	{protocol stacks}, which are actually connected only at the
	very lowest (physical) layer, but can be regarded as being
	connected at each higher layer by virtue of the services
	provided by the lower layers.  Peer-to-peer communication
	refers to these real or virtual connections between
	corresponding systems in each layer.

	To give a simple example, when two people talk to each other,
	the lowest layer is the physical layer which concerns the
	sound pressure waves travelling from mouth to ear (so mouths
	and ears are peers) the next layer might be the speech and
	hearing centres in the people's brains and the top layer their
	cerebellums or minds.  Although, barring telepathy, nothing
	passes directly between the two minds, there is a peer-to-peer
	communication between them.

	(2007-03-27)

peer-to-peer

	<networking> 1. The kind of communication found in a system
	using layered {protocols}.  Each software or hardware
	component can be considered to communicate only with its
	{peer} in the same layer via the connection provided by the
	lower layers.

	(1994-12-14)

	2. A decentralised {file sharing} system like {BitTorrent},
	{Gnutella} or {Kazaa} where computers that download data also
	store that data and serve it to other downloaders.  This
	increases the total bandwidth available in proportion to the
	number of users and so reduces download time.  It also
	improves resilience by providing multiple redundant sources
	for the same data.  This contrasts with {client-server} where
	all clients download the data from a single server (or
	{mirror}), sharing its fixed bandwidth.

	Peer-to-peer networks are typically ad-hoc and rely on users
	sharing the content they have downloaded for the benefit of
	other users.  Users who fail to do this are called "leaches".
	A "seed" is a node on a peer-to-peer network that is
	sharing a complete copy of a file, as opposed to other nodes
	that may only have some of the parts into which the file has
	been split.

	(2010-02-20)

peer-to-peer network

	{peer-to-peer}

Pegasus

	1. <networking, product> A product to support {Internet}
	searches, {electronic mail}, and {Usenet news}.

	[Details?  Addesss?]

	(1997-07-14)

	2. <project> An {open source} project run by {The Open Group}
	which implements a {Common Information Model} (CIM) Object
	Manager.

	{Pegasus Home (http://openpegasus.org/)}.

	(2003-06-07)

PEIPA

	{Pilot European Image Processing Archive}

PEM

	{Privacy Enhanced Mail}

PENCIL

	Pictorial ENCodIng Language.  On-line system to display line
	structures.  Sammet 1969, 675.

pencil and paper

	An archaic information storage and transmission device that
	works by depositing smears of graphite on bleached wood pulp.
	More recent developments in paper-based technology include
	improved "write-once" update devices which use tiny rolling
	heads similar to mouse balls to deposit coloured pigment.  All
	these devices require an operator skilled at so-called
	"handwriting" technique.  These technologies are ubiquitous
	outside hackerdom, but nearly forgotten inside it.  Most
	hackers had terrible handwriting to begin with, and years of
	keyboarding tend to have encouraged it to degrade further.
	Perhaps for this reason, hackers deprecate pencil-and-paper
	technology and often resist using it in any but the most
	trivial contexts.

	[{Jargon File}]

	(1994-12-06)

penis war

	<jargon, abuse> (Or "Dick Size War", "DSW") Any argument which
	has degenerated into quantitative boasting of the sort "My
	[program|bot|etc.] is [faster|meaner|etc.]  than yours!".
	Generally as unconstructive (and with as little emphasis on
	empirical proof) as men debating who has the biggest penis.

	The term is often used on {IRC}, {news:alt.sysadmin.recovery},
	and sometimes applied to IRC {botwars}, because of their
	equally pointless nature.

	(1999-07-14)

Pentium

	<processor> {Intel}'s {superscalar} successor to the {486}.
	It has two 32-bit 486-type integer {pipelines} with dependency
	checking.  It can execute a maximum of two instructions per
	cycle.  It does pipelined {floating-point} and performs
	{branch prediction}.  It has 16 {kilobytes} of on-chip
	{cache}, a 64-bit memory interface, 8 32-bit general-purpose
	{registers} and 8 80-bit {floating-point} registers.  It is
	built from 3.1 million transistors on a 262.4 mm^2 die with
	~2.3 million transistors in the core logic.  Its {clock rate}
	is 66MHz, heat dissipation is 16W, integer performance is 64.5
	{SPECint92}, {floating-point} performance 56.9 {SPECfp92}.

	It is called "Pentium" because it is the fifth in the 80x86
	line.  It would have been called the 80586 had a US court not
	ruled that you can't trademark a number.

	The successors are the {Pentium Pro} and {Pentium II}.

	The following Pentium variants all belong to "x86 Family 6",
	as reported by "Microsoft Windows" when identifying the CPU:

	 Model  Name
	 1      Pentium Pro
	 2      ?
	 3      Pentium II
	 4      ?
	 5, 6   Celeron or Pentium II
	 7      Pentium III
	 8      Celeron uPGA2 or Mobile Pentium III

	A {floating-point division bug
	(ftp://ftp.isi.edu/pub/carlton/pentium/FAQ)} was discovered in
	October 1994.

	[Internal implementation, "Microprocessor Report" newsletter,
	1993-03-29, volume 7, number 4].

	[Pentium based computers, PC Magazine, 1994-01-25].

	(2003-09-30)

Pentium 2

	{Pentium II}

Pentium 3

	{Pentium III}

Pentium II

	<processor> {Intel Corporation}'s successor to the {Pentium
	Pro}.

	The Pentium II can execute all the instructions of all the
	earlier members of the {Intel 80x86} processor family.  There
	are four versions targetted at different user markets.  The
	{Celeron} is the simplest and cheapest.  The standard Pentium
	II is aimed at mainstream home and business users.  The
	{Pentium II Xeon} is intended for higher performance business
	{servers}.  There is also a mobile version of the Pentium II
	for use in portable computers.

	All versions of the Pentium II are packaged on a special
	{daughterboard} that plugs into a card-edge processor slot on
	the {motherboard}.  The daughterboard is enclosed within a
	rectangular black box called a {Single Edge Contact} (SEC)
	cartridge.  The budget {Celeron} may be sold as a card only
	without the box.  Consumer line Pentium II's require a 242-pin
	slot called {Slot 1}.  The {Xeon} uses a 330-pin slot called
	Slot 2.  Intel refers to Slot 1 and Slot 2 as SEC-242 and
	SEC-330 in some of their technical documentation.  The
	daughterboard has mounting points for the Pentium II {CPU}
	itself plus various support chips and {cache} memory chips.
	All components on the daughterboard are normally permanently
	soldered in place.  Previous generation {Socket 7}
	motherboards cannot normally be upgraded to accept the Pentium
	II, so it is necessary to install a new motherboard.

	All Pentium II processors have {Multimedia Extensions} (MMX)
	and integrated Level One and Level Two cache controllers.
	Additional features include {Dynamic Execution} and Dual
	Independent Bus Architecture, with separate 64 bit system and
	cache busses.  Pentium II is a {superscalar} CPU having about
	7.5 million {transistors}.

	The first Pentium II's produced were code named {Klamath}.
	They were manufactured using a 0.35 micron process and
	supported {clock rates} of 233, 266, 300 and 333 {MHz} at a
	{bus} speed of 66 MHz.  Second generation Pentium II's, code
	named Deschutes, are made with a 0.25 micron process and
	support rates of 350, 400 and 450 MHz at a bus speed of 100
	MHz.

	{(http://intel.com/PentiumII/)}.

	(1998-10-06)

Pentium III

	<processor> The {microprocessor} that was {Intel Corporation}'s
	successor to the {Pentium II}, introduced in 1999 with a 500 {MHz}
	{clock rate}.  The Pentim III is very similar to the Pentium II in
	architecture.  Its {external bus} can be clocked at 100 or 133
	{MHz}, it can have up to 512 {KB} of {secondary cache}, and it
	comes in various packages including {SECC2} and {FC-PGA}.

	The Pentium III has a {P6} {Dynamic Execution}
	{microarchitecture}, a {multi-transaction system bus}, and {MMX},
	like the Pentium II.  It adds {Dual Independent Bus} (DIB)
	Architecture, the {Intel Processor Serial Number}, Internet
	{Streaming SIMD Extensions} and 70 new {instructions}.  Some
	versions also include an {Advanced Transfer Cache} and {Advanced
	System Buffering}.

	When Intel released a 1.13 {GHz} version of the Pentium III
	processor using a 0.18 {micron} fabrication process on
	2000-07-31, it was the world's highest performance
	microprocessor for {PC}s.

	{(http://intel.com/PentiumIII)}.

	(2000-10-05)

Pentium II Xeon

	<processor> The successor to {Intel Corporation}'s {Pentium
	II} processor.

	The Xeon has the same {P6} core as existing {Pentium
	Pro}/{Pentium II} units, but it supports a 100 {MHz} system
	{bus} and offers as much as 2 {MB} of {level 2 cache}.

	{(http://intel.com/PentiumII/xeon/home.htm)}.

	(1998-09-09)

Pentium Pro

	<processor> (Known as "P6" during development) {Intel}'s
	successor to the {Pentium} processor, in development Jan 1995,
	generally available 1995-11-01.  The P6 has an internal
	{RISC} architecture with a {CISC}-{RISC} translator, 3-way
	{superscalar} execution, and {out-of order execution} (or
	"{speculative execution}", which Intel calls "{Dynamic
	Execution}").  It also features {branch prediction} and
	{register renaming}, and is superpipelined (14 stages).

	The P6 is made as a two-chip assembly: the first chip is the
	{CPU} and 16 kilobyte {first-level cache} (5.5 million
	{transistors}) and the other is a 256 (or 512) kilobyte
	{second-level cache} (15 million transistors).  The first
	version has a {clock rate} of 133 Mhz and consumes about 20W
	of power.  It is about twice as fast as the 100 MHz Pentium.
	The original 0.35 micron versions of the Pentium Pro released
	on 1995-11-01 run at 150 and 166 Mhz for desktop machines and
	up to 200 Mhz for {servers}.  Heat disspation is about 20
	Watts.

	The Pentium Pro is optimised for 32-bit software and runs
	16-bit software slower than the original Pentium.  The
	successor was the {Pentium II}.

	[Performance?]

	(1996-03-01)

peon

	<jargon> A person with no special ({root} or {wheel})
	privileges on a computer system.  "I can't create an account
	on foovax for you; I'm only a peon there."

	[{Jargon File}]

	(2001-12-23)

PeopleSoft

	<application, company> A company selling {web-based} {ERP}
	systems.  Originally PeopleSoft supplied human resource
	management systems, they now provide financial data
	management, {customer relationship management}, {supply chain
	management}, {workforce management}, and {data analytics}
	systems.

	{(http://peoplesoft.com/)}.

	(2003-06-01)

PEP

	{peak envelope power}

Pepper

	<language> A variant of {POP-11} by Chris Dollin
	<kers@hplb.hpl.hp.com>.

	(2002-05-26)

PEPsy

	{Prolog} extended with parallel modules within which explicit
	{OR-parallelism} can be used.

	["PEPsy: A Prolog for Parallel Processing", M. Ratcliffe et
	al, ECRC TR CA-17, 1986].

PER

	1. <networking> {Packed Encoding Rules}.

	2. <mathematics> {partial equivalence relation}.

	(1998-05-27)

percent

	%

	Common: {ITU-T}: percent sign; mod; grapes.  {INTERCAL}:
	double-oh-seven.

	(1995-03-06)

Perceptional Adaptive Subband Coding

	<audio, compression> (PASC) A version of {MPEG-1 Layer 1} used
	for the {Philips} {Digital Compact Cassette DCC}.

	(2001-12-13)

perceptron

	1. A single {McCulloch-Pitts neuron}.

	2. A network of {neurons} in which the output(s) of some
	neurons are connected through weighted connections to the
	input(s) of other neurons.  A {multilayer perceptron} is a
	specific instance of this.

percussive maintenance

	<jargon> The fine art of whacking a device to get it working,
	possibly using a {fine adjuster}.

	(1999-01-15)

perf

	{chad}

perfect programmer syndrome

	Arrogance; the egotistical conviction that one is above normal
	human error.  Most frequently found among programmers of some
	native ability but relatively little experience (especially
	new graduates; their perceptions may be distorted by a history
	of excellent performance at solving {toy problems}).  "Of
	course my program is correct, there is no need to test it."
	"Yes, I can see there may be a problem here, but *I'll* never
	type "rm -r /" while in {root mode}."

	[{Jargon File}]

PERFORM

	<programming> A {COBOL} statement used for executing
	"paragraphs".

	[What's a paragraph?]

	(1997-06-10)

period

	1. <data> The time between repetitions of any cyclic event
	or phenomenon such as an {electromagnetic wave} or planetary
	orbit.  Period is the {reciprocal} of {frequency}.

	2. <character> American for {full stop}.

	(2010-07-25)

periodic group

	<database> (PE) Groups of logically related fields which occur
	multiple times within a group.

	Periodic groups are a non-{relational} technique.  An example
	of a PE would be for storing the history of a person's name
	changes, where name was kept in logically related fields such
	as surname, first name and middle name - with the person
	having changed their name more than once.

	[Clarification?]

	(1995-10-30)

peripheral

	<hardware> (Or "peripheral device", "device") Any part of a
	computer other than the {CPU} or {working memory},
	i.e. {disks}, {keyboards}, {monitors}, {mice}, {printers},
	{scanners}, {tape drives}, {microphones}, {speakers},
	{cameras}, to list just the less exotic ones.

	High speed working {memory}, such as {RAM}, {ROM} or, in the
	old days, {core} would not normally be referred to as
	peripherals.  The more modern term "device" is also more
	general in that it is used for things such as a {pseudo-tty},
	a {RAM drive}, or a {network adaptor}.

	Some argue that, since the advent of the {personal computer},
	the {motherboard}, {hard disk}, keyboard, mouse, and monitor
	are all parts of the base system, and only use the term
	"peripheral" for optional additional components.

	(2002-09-03)

Peripheral Component Interconnect

	<hardware> (PCI) A standard for connecting {peripherals} to a
	{personal computer}, designed by {Intel} and released around
	Autumn 1993.  PCI is supported by most major manufacturers
	including {Apple Computer}.  It is technically far superior to
	{VESA}'s {local bus}.  It runs at 20 - 33 MHz and carries 32
	bits at a time over a 124-pin connector or 64 bits over a
	188-pin connector.  An address is sent in one cycle followed
	by one word of data (or several in burst mode).

	PCI is used in systems based on {Pentium}, {Pentium Pro}, {AMD
	5x86}, {AMD K5} and {AMD K6} processors, in some {DEC Alpha}
	and {PowerPC} systems, and probably {Cyrix 586} and {Cyrix
	686} systems.  However, it is processor independent and so can
	work with other processor architectures as well.

	Technically, PCI is not a bus but a {bridge} or {mezzanine}.
	It includes buffers to decouple the {CPU} from relatively slow
	peripherals and allow them to operate asynchronously.

	(1997-12-07)

peripheral device

	{peripheral}

Peripheral Technology Group

	<company> A national and international distributor of {IBM
	PC}-to-{Unix} and {Internet} connectivity products.  They
	cater for resellers, dealers and {VARs} and are one of the top
	{Seagate} and {Micropolis} distributors in the US.

	{(http://ptgs.com/)}.

	Address: Eden Prairie, MN, USA (a suburb of Minneapolis).

	Eden Prairie ("Silicon Prairie") is the home of Digi
	International, Ontrack, Open Systems, LaserMaster, Best Buy,
	and others.

	(1995-11-29)

Perl

	<language, tool> A {high-level} programming language, started
	by {Larry Wall} in 1987 and developed as an {open source}
	project.  It has an eclectic heritage, deriving from the
	ubiquitous {C} programming language and to a lesser extent
	from {sed}, {awk}, various {Unix} {shell} languages, {Lisp},
	and at least a dozen other tools and languages.  Originally
	developed for {Unix}, it is now available for many
	{platforms}.

	Perl's elaborate support for {regular expression} matching and
	substitution has made it the {language of choice} for tasks
	involving {string manipulation}, whether for text or binary
	data.  It is particularly popular for writing {CGI scripts}.

	The language's highly flexible syntax and concise regular
	expression operators, make densely written Perl code
	indecipherable to the uninitiated.  The syntax is, however,
	really quite simple and powerful and, once the basics have
	been mastered, a joy to write.

	Perl's only {primitive} data type is the "scalar", which can
	hold a number, a string, the undefined value, or a typed
	reference.  Perl's {aggregate} data types are {arrays}, which
	are ordered lists of {scalars} indexed by {natural numbers},
	and hashes (or "{associative arrays}") which are unordered
	lists of scalars indexed by strings.  A reference can point to
	a scalar, array, hash, {function}, or {filehandle}.  {Objects}
	are implemented as references "{blessed}" with a {class} name.
	Strings in Perl are {eight-bit clean}, including {nulls}, and
	so can contain {binary data}.

	Unlike C but like most Lisp dialects, Perl internally and
	dynamically handles all memory allocation, {garbage
	collection}, and type {coercion}.

	Perl supports {closures}, {recursive functions}, {symbols}
	with either {lexical scope} or {dynamic scope}, nested {data
	structures} of arbitrary content and complexity (as lists or
	hashes of references), and packages (which can serve as
	classes, optionally inheriting {methods} from one or more
	other classes).  There is ongoing work on {threads},
	{Unicode}, {exceptions}, and {backtracking}.  Perl program
	files can contain embedded documentation in {POD} (Plain Old
	Documentation), a simple markup language.

	The normal Perl distribution contains documentation for the
	language, as well as over a hundred modules (program
	libraries).  Hundreds more are available from The
	{Comprehensive Perl Archive Network}.  Modules are themselves
	generally written in Perl, but can be implemented as
	interfaces to code in other languages, typically compiled C.

	The free availability of modules for almost any conceivable
	task, as well as the fact that Perl offers direct access to
	almost all {system calls} and places no arbitrary limits on
	data structure size or complexity, has led some to describe
	Perl, in a parody of a famous remark about {lex}, as the
	"Swiss Army chainsaw" of programming.

	The use of Perl has grown significantly since its adoption as
	the language of choice of many {web} developers.
	{CGI} interfaces and libraries for Perl exist for several
	{platforms} and Perl's speed and flexibility make it well
	suited for form processing and on-the-fly {web page} creation.

	Perl programs are generally stored as {text} {source} files,
	which are compiled into {virtual machine} code at run time;
	this, in combination with its rich variety of data types and
	its common use as a glue language, makes Perl somewhat hard to
	classify as either a "{scripting language}" or an
	"{applications language}" -- see {Ousterhout's dichotomy}.
	Perl programs are usually called "Perl scripts", if only for
	historical reasons.

	Version 5 was a major rewrite and enhancement of version 4,
	released sometime before November 1993.  It added real {data
	structures} by way of "references", un-adorned {subroutine}
	calls, and {method} {inheritance}.

	The spelling "Perl" is preferred over the older "PERL" (even
	though some explain the language's name as originating in the
	acronym for "Practical Extraction and Report Language").  The
	program that interprets/compiles Perl code is called
	"perl", typically "/usr/local/bin/perl" or "/usr/bin/perl".

	Latest version: 5.005_03 stable, 5.005_62 in development, as
	of 1999-12-04.

	{(http://perl.com/)}.

	{Usenet} newsgroups: {news:comp.lang.perl.announce},
	{news:comp.lang.perl.misc}.

	["Programming Perl", Larry Wall and Randal L. Schwartz,
	O'Reilly & Associates, Inc.  Sebastopol, CA.  ISBN
	0-93715-64-1].

	["Learning Perl" by Randal L. Schwartz, O'Reilly & Associates,
	Inc., Sebastopol, CA].

	[{Jargon File}]

	(1999-12-04)

Perl5

	<language, tool> A commonly used but unofficial term for 5.*
	versions of {Perl}.

	(1999-12-04)

perl-byacc

	A modified version of {byacc} that generates a {parser} in
	{Perl} code, by Rick Ohnemus <rick@imd.sterling.com>.  It has
	a "-p" switch so multiple parsers can be used in one program
	({C} or Perl).  Version 1.8.2 should work on most {Unix}
	systems.  It also works with {SAS/C} 6.x on {Amiga}.

	(1993-01-24)

Perl profiler

	<tool> (pprof) A tool by Anthony Iano-Fletcher of Nottingham
	University, UK to profile, and collate data from, {Perl}
	scripts.

	Version: 1?

	Source posted on comp.lang.perl in mid-June 1993.

	(1993-06-17)

permanent link

	<web> A {URL} that always points to the same piece
	of {web content}.  {Web pages} that appear for a limited time
	at their main URL, such as {web logs} or news sites, often
	display an alternative, permanent link.  Readers can quote,
	bookmark, or link to this URL in order to refer to a
	particular item, rather than the page displaying the latest
	item.

	For example, the URL http://news.bbc.co.uk/ points to the
	latest news from the BBC whereas
	http://news.bbc.co.uk/1/2614839.stm is a permanent link to a
	particular news story.

	(2003-12-27)

Permanent Virtual Circuit

	<networking> (PVC, or in {ATM} terminology, "Permanent Virtual
	Connection") A {virtual circuit} that is permanently
	established, saving the time associated with circuit
	establishment and tear-down.

	(1997-10-06)

Permanent Virtual Connection

	{Permanent Virtual Circuit}

permission

	<file system> (Or "file mode") The ability to access (read,
	write, execute, traverse, etc.) a {file} or {directory}.
	Depending on the {operating system}, each file may have
	different permissions for different kinds of access and
	different users or groups of users.

	{chmod} ("change mode") is the {UNIX} command to change
	permissions.

	(2000-12-07)

permutation

	<mathematics> 1. An ordering of a certain number of elements
	of a given set.

	For instance, the permutations of (1,2,3) are (1,2,3) (2,3,1)
	(3,1,2) (3,2,1) (1,3,2) (2,1,3).

	Permutations form one of the canonical examples of a "{group}"
	- they can be composed and you can find an inverse permutation
	that reverses the action of any given permutation.

	The number of permutations of r things taken from a set of n
	is

		n P r = n! / (n-r)!

	where "n P r" is usually written with n and r as subscripts
	and n! is the {factorial} of n.

	What the football pools call a "permutation" is not a
	permutation but a {combination} - the order does not matter.

	2. A {bijection} for which the {domain} and {range} are the
	same set and so

	f(f'(x)) = f'(f(x)) = x.

	(2001-05-10)

\perp

	{LaTeX} inverted T.  Used in {domain theory} to represent
	{bottom}.

	(1995-02-03)

perplexity

	The {geometric mean} of the number of words which may follow
	any given word for a certain {lexicon} and {grammar}.

persistence

	1. <programming> A property of a programming language where
	created objects and variables continue to exist and retain
	their values between runs of the program.

	2. <hardware> The length of time a phosphor dot on the screen
	of a {cathode ray tube} will remain illuminated after it has
	been energised by the electron beam.  Long-persistence
	phosphors reduce flicker, but generate ghost-like images that
	linger on screen for a fraction of a second.

	(1994-11-09)

persistent

	{persistence}

Persistent Functional Language

	<language, database> (PFL) A {functional database} language
	developed by Carol Small at Birkbeck College, London, UK and
	Alexandra Poulovassilis (now at {King's College London}).

	In PFL, functions are defined equationally and bulk data is
	stored using a special class of functions called selectors.
	PFL is a {lazy} language, supports {higher-order functions},
	has a strong {polymorphic} {type inference} system, and allows
	new user-defined data types and values.  All functions, types
	and values persist in a {database}.  Functions can be written
	which update all aspects of the database: by adding data to
	selectors, by defining new equations, and by introducing new
	data types and values.

	PFL is "semi-{referentially transparent}", in the sense that
	whilst updates are referentially opaque and are executed
	{destructive}ly, all evaluation is referentially transparent.
	Similarly, {type checking} is "semi-static" in the sense that
	whilst updates are dynamically type checked at run time,
	expressions are type checked before they are evaluated and no
	type errors can occur during their evaluation.

	["{A Functional Approach to Database Updates
	(http://web.dcs.bbk.ac.uk/CS/Research/DBPL/papers/INFSYS93.abs.html)}",
	C. Small, Information Systems 18(8), 1993, pp. 581-95].

	(1995-04-27)

persistent memory

	{non-volatile storage}

Personal Communication Network

	<networking> (PCN) Any {network} supporting {Personal
	Communication Service} (PCS).  Also, sometimes used to refer
	to the specific implementation (using the {GSM}-derivative
	{DCS-1800}) of initial PCS capabilities in the United Kingdom.

	(1996-08-23)

Personal Communication Services

	<communications> (PCS) Telecommunications services that bundle
	voice communications, numeric and text messaging, {voice-mail}
	and various other features into one device, service contract
	and bill.  PCS are carried over {cellular} links, most often
	digital.

	(1996-08-01)

personal computer

	<computer> (PC) A general-purpose single-user {microcomputer}
	designed to be operated by one person at a time.

	This term and the concept has been successfully hijacked by
	{IBM} due to the huge market share of the {IBM PC}, despite
	its many obvious weaknesses when compared to other equally
	valid claimants to the term, e.g. the {Acorn} {Archimedes},
	{Amiga}, {Atari}, {Macintosh}.

	(1994-11-02)

Personal Computer Memory Card International Association

	<body, hardware, standard> (PCMCIA, or "PC Card") An
	international trade association and the {standards} they have
	developed for devicies, such as {modems} and external {hard
	disk} drives, that can be plugged into {notebook computers}.
	A PCMCIA card is about the size of a credit card.

	For some unfathomable reason, around 1995(?) they decided to
	rename PCMCIA cards "PC Cards", perhaps to encourage sales to
	confused purchasers.

	{(ftp://ftp.sidewinder.com/pub/Portables/PCMCIA)}.

	Address: PCMCIA Administration, 1030 East Duane Avenue, Suite
	G, Sunnyvale, CA 94086 USA.

	Telephone: +1 (408) 720 0107.  Fax: +1 (408) 720 9416.  BBS:
	+1 (408) 720 9388.

	(1996-10-16)

Personal Digital Assistant

	<computer> (PDA) A small hand-held computer typically
	providing calendar, contacts, and note-taking applications but
	may include other applications, for example a {web browser}
	and {media player}.  Small keyboards and pen-based input
	systems are most commonly used for user input.

	The {Apple Newton} was a fairly early example.

	[First?  Notable examples?  Current Best?]

	(2002-09-03)

Personal Identification Number

	<security> (PIN, "PIN number") A {password}, typically four
	digits entered through a telephone keypad or automatic teller
	machine.

	(1996-11-03)

Personalized Array Translator

	<language> (PAT) A small subset of {APL}.

	E-mail: <oed@watsol.uwaterloo.ca>.

	[Sammet 1969, p. 252].

	(1998-05-09)

person of no account

	(University of California at Santa Cruz) Used when referring
	to a person with no {network address}, frequently to forestall
	confusion.  Most often as part of an introduction: "This is
	Bill, a person of no account, but he used to be
	bill@random.com".

	Compare {return from the dead}.

	[{Jargon File}]

	(1994-11-22)

perspective

	<games> In computer games, the {virtual} position from which
	the human player views the playing area.  There are three
	different perspectives: first person, second person, and third
	person.

	First person perspective: Viewing the world through the eyes
	of the primary character in three dimensions.  e.g. Doom,
	Quake.

	Second person perspective: Viewing the game through a
	spectator's eyes, in two or three dimensions.  Depending on
	the game, the main character is always in view. e.g. Super
	Mario Bros., Tomb Raider.

	Third person perspective: a point of view which is independent
	of where characters or playing units are.  The gaming world is
	viewed much as a satellite would view a battlefield.
	E.g. Warcraft, Command & Conquer.

	(1997-06-19)

PERT

	{Program Evaluation and Review Technique}

pessimal

	/pes'im-l/ (Latin-based antonym for "optimal") Maximally bad.
	"This is a pessimal situation."  Also "pessimise" To make as
	bad as possible.  These words are the obvious Latin-based
	antonyms for "optimal" and "optimise", but for some reason
	they do not appear in most English dictionaries, although
	"pessimise" is listed in the OED.

	[{Jargon File}]

	(1995-02-01)

pessimising compiler

	/pes'*-mi:z"ing k*m-pi:l"r/ (Antonym of "{optimising
	compiler}") A {compiler} that produces {object code} that is
	worse than the straightforward or obvious hand translation.
	The implication is that the compiler is actually trying to
	optimise the program, but through excessive cleverness is
	doing the opposite.  A few pessimizing compilers have been
	written on purpose, however, as pranks or burlesques.

	(1995-02-01)

peta-

	{prefix}

petabyte

	<unit, data> (PB) A unit of data equal to one quadrillion {bytes}
	but see {binary prefix} for other definitions.  A petabyte is
	10^15 bytes or 1000^5 bytes or 1000 {terabytes}.

	As of 2013-11-05, the {Internet Archive} {Wayback Machine}
	contains almost two petabytes of data.

	A petabyte is the amount of data that would be required to store a
	2000 by 1600 pixel image of every one of the 314 million people
	living in the USA in 2012.

	1000 petabytes are one {exabyte}.

	See {prefix}.

	(2007-09-13)

petaflops

	<unit> 10^15 {flops} or 1000 {teraflops}.

	As with {flops}, the term ends in S in both the singular and
	plural as the S stands for seconds.

	The first computer to perform one petaflops was recorded in {June
	2008 (http://top500.org/list/2008/06/100)}.  By {June 2012
	(http://top500.org/list/2012/06/100)} there were 20.

	(2013-04-27)

petdingo

	<tool> An {Estelle} to {C++} translator.

	(1997-01-24)

Peter Chen

	<person> The developer of the {Entity-Relationship model}.

	(1995-02-07)

Petri net

	<parallel, simulation> A {directed}, {bipartite graph} in
	which nodes are either "places" (represented by circles) or
	"transitions" (represented by rectangles), invented by Carl
	Adam Petri.  A Petri net is marked by placing "tokens" on
	places.  When all the places with arcs to a transition (its
	input places) have a token, the transition "fires", removing a
	token from each input place and adding a token to each place
	pointed to by the transition (its output places).

	Petri nets are used to model {concurrent} systems,
	particularly {network} {protocols}.

	Variants on the basic idea include the {coloured Petri Net},
	{Time Petri Net}, {Timed Petri Net}, {Stochastic Petri Net},
	and {Predicate Transition Net}.

	{FAQ (http://daimi.aau.dk/PetriNets/faq/answers.htm)}.

	(1996-09-10)

PETSCII

	<character> /pet'skee/ {PET} {ASCII}.  The variation (many
	would say perversion) of the ASCII {character set} used by the
	{Commodore Business Machines}' {PET} series of {personal
	computers} and the later {Commodore 64}, {Commodore 16}, and
	{Commodore 128} computers.  The PETSCII set used left-arrow
	and up-arrow (as in old-style ASCII) instead of underscore and
	caret, placed the unshifted alphabet at positions 65--90, put
	the shifted alphabet at positions 193--218, and added {graphic
	characters}.

	[{Jargon File}]

	(1995-10-29)

PEX

	(PHIGS Extension to X) Extension to the {X Window System}
	providing 3d graphics support.

pf

	<networking> The {country code} for French Polynesia.

	(1999-01-27)

PFE

	1. <text, editor> {Programmer's File Editor}.

	2. <language> {Portable Forth Environment}.

	(2000-12-07)

PFL

	1. <language> A concurrent extension of {ML} by Holmstrom and
	Matthews, using {CCS}.

	["PFL: A Functional Language for Parallel Programming",
	S. Holmstrom in Proc Declarative Language Workshop, London
	1983].

	2. <language, database> {Persistent Functional Language}.

pfm

	{program file manager}

pForth

	<language> A portable (hence the "p") {ANS}-standard {Forth}
	implemented in {ANSI C}.  {Phil Burk
	(http://softsynth.com/philburk.html)} initially began
	developing pForth in 1994 to support ASIC development at
	{3DO}.

	(1998-06-30)

Pfortran

	{Parallel Fortran}

PFP

	{Plastic Flat Package}

pg

	<networking> The {country code} for Papua New Guinea.

	(1999-01-27)

PGA

	1. <graphics, specification> {Professional Graphics Adapter}.

	2. <hardware> {Pin Grid Array}.

	(1999-08-04)

PGA370

	{Socket 370}

PGP

	{Pretty Good Privacy}

PH

	<tool> The tool for looking up people in Eudora on the
	{Macintosh}.  Equivalent to {Unix}'s {finger} service.

	(1995-03-31)

pH

	{Parallel Haskell}

ph

	<networking> The {country code} for the Philippines.

	(1999-01-27)

phacker

	<communications, security> A telephone system {cracker}.  A
	phacker may attempt to gain unauthorised access to a phone
	system in order to make free or untraceable calls or he may
	disrupt, alter or illegally tap phone systems via computer.

	The disruptions may include causing a phone line to be engaged
	so no calls go in or out, redirecting outgoing or incoming
	calls, as well as listening to actual calls made.

	Phackers are frequently confidence tricksters or phone freaks
	(nuisance callers who can only relate to other people by
	phone).  Phackers are sometimes employed by illegal
	enterprises to conduct business using untraceable calls, or to
	disrupt, or follow legal authorities' investigations.
	Phackers interventions may be lethal to the person being
	phacked.

	A phacker may be a phone company employee, or usually,
	ex-employee who specialises in illegal phone system
	disruption, alteration or tapping via physically altering
	installations.  A phacker is generally considered to be a
	socially and intellectually retarded cracker.

	See {Captain Crunch}.

	(1998-08-09)

phage

	A program that modifies other programs or databases in
	unauthorised ways; especially one that propagates a {virus} or
	{Trojan horse}.  See also {worm}, {mockingbird}.  The
	analogy, of course, is with phage viruses in biology.

	[{Jargon File}]

phase

	1. The offset of one's waking-sleeping schedule with respect
	to the standard 24-hour cycle; a useful concept among people
	who often work at night and/or according to no fixed schedule.
	It is not uncommon to change one's phase by as much as 6 hours
	per day on a regular basis.  "What's your phase?"  "I've been
	getting in about 8 P.M. lately, but I'm going to {wrap around}
	to the day schedule by Friday."  A person who is roughly 12
	hours out of phase is sometimes said to be in "night mode".
	(The term "day mode" is also (but less frequently) used,
	meaning you're working 9 to 5 (or, more likely, 10 to 6).)
	The act of altering one's cycle is called "changing phase";
	"phase shifting" has also been recently reported from Caltech.

	2. "change phase the hard way": To stay awake for a very long
	time in order to get into a different phase.

	3. "change phase the easy way": To stay asleep, etc.  However,
	some claim that either staying awake longer or sleeping longer
	is easy, and that it is *shortening* your day or night that is
	really hard (see {wrap around}).  The "jet lag" that afflicts
	travelers who cross many time-zone boundaries may be
	attributed to two distinct causes: the strain of travel per
	se, and the strain of changing phase.  Hackers who suddenly
	find that they must change phase drastically in a short period
	of time, particularly the hard way, experience something very
	like jet lag without travelling.

phase alternating line

	<television> (PAL) The {video} signal format used in the UK
	[where else?].

	PAL uses {Amplitude Modulation} for the video information, and
	{Frequency Modulation} for the {audio} information.  The phase
	of the {colour subcarrier} is reversed on alternate lines
	which (together with the use of a delay line) allows the
	receiver to cancel any phase errors introduced in the path
	between the studio and the end-user's receiver.  Such phase
	errors are quite common and would cause the displayed colours
	to shift in {hue}.

	The US equivalent, {NTSC}, does not have this feature and thus
	requires a user control to correct for transmission phase
	errors, hence the mis-expansion "Never Twice the Same Colour".

	(2001-06-08)

Phase Encoded

	<storage> (PE) A recording method used for 1600 BPI {magnetic
	tapes}.

	Compare {NRZI}, {GCR}.

	(1996-02-03)

phase of the moon

	Used humorously as a random parameter on which something is
	said to depend.  Sometimes implies unreliability of whatever
	is dependent, or that reliability seems to be dependent on
	conditions nobody has been able to determine.  "This feature
	depends on having the channel open in mumble mode, having the
	foo switch set, and on the phase of the moon."

	See also {heisenbug}.

	True story: Once upon a time there was a {bug} that really did
	depend on the phase of the moon.  There was a little
	subroutine that had traditionally been used in various
	programs at {MIT} to calculate an approximation to the moon's
	true phase.  {GLS} incorporated this routine into a {Lisp}
	program that, when it wrote out a file, would print a
	timestamp line almost 80 characters long.  Very occasionally
	the first line of the message would be too long and would
	overflow onto the next line, and when the file was later read
	back in the program would {barf}.  The length of the first
	line depended on both the precise date and time and the length
	of the phase specification when the timestamp was printed, and
	so the bug literally depended on the phase of the moon!

	The first paper edition of the {Jargon File} (Steele-1983)
	included an example of one of the timestamp lines that
	exhibited this bug, but the typesetter "corrected" it.  This
	has since been described as the phase-of-the-moon-bug bug.

	[{Jargon File}]

	(1995-02-22)

phase-shift keying

	<communications> (PSK) A {digital modulation} scheme that
	conveys data by changing the {phase} of a {carrier} wave.  The
	data can either determine the absolute phase relative to the
	unmodulated carrier or reference signal ("coherent phase-shift
	keying", CPSK) or the change in phase ("differential
	phase-shift keying", DPSK).  The number of different phases
	used determines the amount of data that can be transmitted in
	each cycle.  Each cycle can be considered to constitute one
	"symbol", e.g. with two possible phases, each cycle carries
	one {bit}.  The more phases that are used, the less tollerant
	to noise the transmissions becomes.

	Alternatives to PSK are {amplitude-shift keying} (ASK) and
	{frequency-shift keying} (FSK).

	(2010-01-26)

phase space

	<mathematics> The 2n-dimensional space consisting of the
	possible values of (x1, x1., x2, x2., ..., xn, xn.) for a
	system of n first-order {ordinary differential equations} (or
	more generally, {Pfaffian forms}).

	If n=1, the phase space is known as a phase plane.

	{(http://mathworld.wolfram.com/PhaseSpace.html)}.

	(2008-05-02)

phase-wrapping

	({MIT}) {wrap around}.

	[{Jargon File}]

	(1995-02-22)

PHIGS

	{Programmers Hierarchical Interactive Graphics System}

Philip R. Bagley

	<person> A pioneer of computer document retrieval.  See
	{metadata}.

	(2010-05-15)

Philips

	<company> A Dutch multinational electronics company.  It
	produces washing machines, consumer electronics, {integrated
	circuits} and light bulbs.  Together with {Sony} they set the
	{Compact Disc} standard, especially {Green Book CD-ROM}.  They
	are members of the {Open Software Foundation}.  Philips
	Research Labs developed the {POOL} and {SPL} languages.

	Address: Philips Research Labs, Eindhoven, Netherlands.

	(1995-02-07)

Philips SCC68070

	<processor> A {microprocessor} which is {object code}
	compatible with the {Motorola 68000}.  It is not a performance
	improvement over the 68060; it's performance rather resembles
	that of the 68000.

	(1995-04-22)

philosophy

	See {computer ethics}, {liar paradox}, {netiquette}, {proof}.

phishing

	<security> ("brand spoofing", "carding", after "fishing")
	/fishing/ Sending {e-mail} that claims to be from some
	well-known organisation, e.g. a bank, to trick the recipient
	into revealing information for use in {identity theft}.  The
	user is told to visit a {website} where they are asked to
	enter information such as passwords, credit card details,
	social security or bank account numbers.  The website usually
	looks like it belongs to the organisation in question and may
	silently redirect the user to the real website after
	collecting their data.

	For example, a scam started in 2003 claimed that the user's
	eBay account would be suspended unless he updated his credit
	card information on a given website.

	(2006-01-19)

PHOCUS

	An {object-oriented} {Prolog}-like language.

	["PHOCUS: Production Rules, Horn Clauses, Objects and Contexts
	in a Unification Based System", D. Chan et al, Actes du Sem
	Prog et Logique, Tregastel (May 1987), pp. 77-108].

	(1994-11-09)

Phoenix

	<operating system> An {operating system}, built in {BCPL} on
	top of {IBM} {MVT} and later {MVS} by {Cambridge University}
	Computing Service from 1973 to 1995, which ran on the
	university central {mainframe}.  All parts of the system were
	named after birds, including Eagle (the {job scheduler}, also
	the nearest pub), Pigeon (the mailer), {GCAL} (the text
	processor) and Wren (the command language), leading to Wren
	Libraries (a local pun).

	Phoenix was much used by {chemists} in daytime and by the rest
	of the university in the evenings, and was only abandoned in
	favour of {Unix} in 1995; it is one reason Cambridge
	made little contribution to Unix until then.

	{Computing Service Phoenix closure memo
	(http://cam.ac.uk/cs/newsletter/1995/nl183/phoenix.html)}

	(2003-12-05)

phone mail

	{voice mail}

Phonetastic

	<communications> A {CTI} product from {Callware}.  Phonetastic
	employs if-then rules and customer records to tell those
	receiving calls who is calling (based on {ANI} and {DNIS}) and
	to determine how the call should be routed, e.g. to a certain
	sales representative or to the general sales department;
	receive high-priority treatment; receive a fax-back, etc.

	(1996-12-08)

Phong shading

	<graphics> A model of how light is reflected from surfaces
	used extensively in three dimensional graphics to generate
	visually realistic images.

	[Details?]

	(1994-11-09)

phosphor fatigue

	{screen saver}

photo CD

	<multimedia, specification, standard, storage, graphics> A
	{standard} for storing photographic images on {CD-ROM},
	produced by {Kodak}.

	{Kodak Photo CD page
	(http://kodak.com/digitalImaging/aboutPhotoCD/aboutPCD.shtml)}.

	(1995-12-12)

Photoshop

	<graphics, tool> An image manipulation program by {Adobe
	Systems, Inc.}.

	{(http://adobe.com/Apps/Photoshop.html)}.

	[Summary?]

	(1995-07-05)

PHP

	{PHP: Hypertext Preprocessor}

PHP: Hypertext Preprocessor

	<web, programming> (PHP) An {Open Source},
	{server-side}, {cross-platform}, {scripting language} used to
	create dynamic {web pages}.

	PHP can be embedded in {HTML} using special tags like:

	 <?php echo '<p>Hello World</p>'; ?>

	This is stored in a file with a ".php" extension.  The {web
	server} passes the file to the PHP {interpreter} which
	executes the code in the <?php ... ?> tags.  The tagged code
	is then replaced with its output, typically ordinary HTML, in
	the response sent to the {web browser}.

	PHP is a {recursive acronym}.

	Latest version: 5.3.2 2010-03-04, as of 2010-03-20.

	{PHP Home (http://php.net/)}.

	{Cheat sheet
	(http://addedbytes.com/cheat-sheets/php-cheat-sheet/)}.

	(2010-03-20)

phreaking

	<jargon> /freek'ing/ "phone phreak" 1. The art and science of
	{cracking} the telephone network so as, for example, to make
	free long-distance calls.

	2. By extension, security-{cracking} in any other context
	(especially, but not exclusively, on communications networks).

	At one time phreaking was a semi-respectable activity among
	hackers; there was a gentleman's agreement that phreaking as
	an intellectual game and a form of exploration was OK, but
	serious theft of services was taboo.  There was significant
	crossover between the hacker community and the hard-core phone
	phreaks who ran semi-underground networks of their own through
	such media as the legendary "TAP Newsletter".

	This ethos began to break down in the mid-1980s as wider
	dissemination of the techniques put them in the hands of less
	responsible phreaks.  Around the same time, changes in the
	phone network made old-style technical ingenuity less
	effective as a way of hacking it, so phreaking came to depend
	more on overtly criminal acts such as stealing phone-card
	numbers.

	The crimes and punishments of gangs like the "414 group"
	turned that game very ugly.  A few old-time hackers still
	phreak casually just to keep their hand in, but most these
	days have hardly even heard of "blue boxes" or any of the
	other paraphernalia of the great phreaks of yore.

	[{Jargon File}]

	(1994-11-09)

physical

	<jargon> The opposite of {logical} in its jargon sense.
	Compare {real}, {virtual}, and {transparent}.

	It is said that what you can touch and see is real; what you
	can see but not touch is virtual; what you can touch but not
	see is transparent; and what you can neither touch nor see is
	probably imaginary.

	(2001-10-26)

physical address

	<memory management> The address presented to a computer's main
	memory in a {virtual memory} system, in contrast to the
	{virtual address} which is the address generated by the {CPU}.
	A {memory management unit} translates virtual addresses into
	physical addresses.

	(1995-03-31)

physical addressing

	<networking> The low level addressing scheme used on
	{Ethernet}.  The 48-bit destination {Ethernet address} in a
	{packet} is compared with the receiving node's Ethernet
	address.

	Compare {IP address}.

	(1994-12-23)

physical file

	<file system> A low-level view of the physical characteristics
	of a {file}, such as its location on a {disk} or its physical
	structure, for example, whether indexed or sequential.

	(2004-12-23)

physical layer

	<networking> Layer one, the lowest layer in the {OSI} seven
	layer model.  The physical layer encompasses details such as
	electrical and mechanical connections to the network,
	transmission of {binary} data as changing voltage levels on
	wires or similar concepts on other connectors, and {data
	rates}.

	The physical layer is used by the {data link layer}.

	Example physical layer {protocols} are {CSMA/CD}, {token ring}
	and bus.

	(2004-06-29)

physical memory

	<memory management> The memory hardware (normally {RAM})
	installed in a computer.  The term is only used in contrast to
	{virtual memory}.

	(1996-03-23)

physical memory address

	{physical address}

Physical Sequential

	<file format> (PS, QSAM, Queued Sequential Access Method) The
	simplest {data set} on an {IBM} {mainframe}.  Sequential files
	can only be read or written from the beginning: they do not
	support {random access}.

	[Why "Queued"?]

	(2003-12-05)

Physical Transport Network

	<communications> (PTN) The actual {hardware} through which
	data transfer devices are connected.

	{Virtual Circuits} may be leased by the owner of the physical
	network to organisations which cannot afford the high costs of
	laying long distance cable.

	(2003-11-23)

Physics Analysis Workbench

	<tool> (PAW) A general purpose portable tool for analysis and
	presentation of physics data.

	(1994-11-28)

PI

	<programming> An {interface} between {Prolog} {application
	programs} and the {X Window System} that aims to be independent
	from the {Prolog} {engine}, provided that it has a {Quintus}
	{foreign function} interface (e.g. {SICStus} and {YAP}).  PI is
	mostly written in {Prolog} and is divided in two libraries: Edipo
	- the lower level interface to the {Xlib} functions; and Ytoolkit
	- the higher level user interface toolkit.

	{(ftp://ftp.ncc.up.pt/pub/prolog/ytoolkit.tar.Z)}.

	E-mail: Ze' Paulo Leal <zp@ncc.up.pt>.

	(1993-03-02)

pi

	1. <character> The greek lower-case letter P.

	2. <mathematics> The mathematical constant that is the
	circumference of a circle divided by its diameter.  Pi is written
	as the greek character pi.

	Some have suggested that pi is the wrong choice and a better
	constant to describe the geometry of circles would have been 2*pi,
	for which they have proposed the name {tau}.  Most practising
	mathematicians think this is silly.  The {xkcd} comic strip
	{proposed (http://xkcd.com/1292/)} a compromise between pi and
	tau, namely 1.5*pi or "pau".

	(2013-12-09)

PIC

	1. <hardware> {programmable interrupt controller}.

	2. A graphics language by {Brian Kernighan}, for textually
	describing pictures with {troff}.

	[Featured in "More Programming Pearls", Jon Bentley].

	["PIC - A Language for Typesetting Graphics", B.W. Kernighan,
	Soft Prac & Exp 12(1):1-21 (Jan 1982)].

	["PIC - A Graphics Language for Typesetting, Revised User
	Manual", Bell Labs TR 116, Dec 1984].

	(1994-10-28)

	3. {personal intelligent communicator}.

	(2001-04-30)

pi-calculus

	<theory> A {process algebra} in which channel names can act
	both as transmission medium and as transmitted data.  Its
	basic atomic actions are individual point to point
	communications which are {nondeterministic}ally selected and
	globally sequentialised.

	[Details?  Examples?]

	(1995-03-20)

Pick BASIC

	{Data/BASIC}

PICL

	Language on {Ncube} or {iPSC} machines?

PICNIC

	{PEBCAK}

pico-

	{prefix}

picosecond

	<unit> 10^-12 seconds.

	(1997-04-26)

PICS

	{Platform for Internet Content Selection}

PICT

	<file format> An {Apple} graphics format.

	[Details?]

	(1997-06-06)

PicTeX

	A version of {TeX} for pictures.

	{(ftp://june.cs.washington.edu/tex/PiCTeX.tar.Z)}.

pictogram

	<text> (Or "pictograph") A {symbol} which is a picture that
	represents an object or concept, e.g. a picture of an envelope
	used to represent an {e-mail message}.

	Pictograms are common in everyday life, e.g. signs in public
	places or roads, whereas the term "{icon}" is specific to
	interfaces on computers or other electronic devices.

	Pictograms are the most common kind of {ideogram} (symbols
	representing concepts), the other kind are not pictures but are
	conventions.

	(2014-07-30)

pictograph

	{pictogram}

Pictorial Janus

	K. Kahn, Xerox.  Visual extension of Janus.  Requires
	Strand88 and a PostScript interpreter.

picture

	{image}

picture element

	<graphics> (pixel) The smallest resolvable rectangular area of
	an {image}, either on a screen or stored in memory.  Each
	pixel in a {monochrome} image has its own brightness, from 0
	for black to the maximum value (e.g. 255 for an eight-bit
	pixel) for white.  In a colour image, each pixel has its own
	brightness and colour, usually represented as a triple of red,
	green and blue intensities (see {RGB}).

	Compare {voxel}.

	(1998-05-08)

Picture Quality Scale

	<graphics> (PQS) A system for rating image quality based upon
	features of images that affect their perception by the human
	eye, rather than the traditional {signal-to-noise ratio} which
	examines differences for every single {pixel}.

	[Details?]

	(1995-01-12)

PID

	{process identifier}

pidgen+

	<language> A language for the {Apple II}.

	{(ftp://ftp.wustl.edu/system/apple2/Lang/pidgen/)}.

	[Published in Dr. Dobbs Journal?]

	(1994-11-29)

Pidgin

	<software, communications> A {text chat} {application} that
	work with many different chat systems at the same time.
	Systems it works with include {AOL} Instant Messenger, Yahoo!
	Messenger, Windows Live Messenger, {IRC} and {Facebook}.
	There are {plug-ins} to add even more systems, e.g. {Skype}
	and to add features.

	Pidgin was first released in 1998.  The name "Pidgin" was
	applied in 2007.  It is available for several {operating
	systems}.  It is licensed under the {GNU General Public
	License}.

	The name "Pidgin" comes from the term for a simplified human
	language that evolves from two or more languages.

	{Pidgin Home (http://pidgin.im/)}.

	(2012-04-15)

PIE

	A language from {CMU} similar to {Actus}.

	(1994-11-29)

pif

	{Program Information File}

piggybacking

	1. A method for passing {acknowledgement frames} and {data
	frames} in the same direction along a line.

	2. The practice of increasing memory capacity by soldering
	chips on top of other chips.  The chip-enable or high address
	pins would be connected to the {address bus} by a flying lead.
	Many {Ohio Superboards} were expanded to a massive 8K of {RAM}
	in this way.

	(1994-11-29)

pig, run like a

	To run very slowly on given hardware, said of software.
	Distinct from {hog}.

	[{Jargon File}]

	(1994-11-29)

PIGUI

	{Platform Independent Graphical User Interface}

PIL

	Procedure Implementation Language.

	A subsystem of {DOCUS}.

	[Sammet 1969, p.678].

	(1994-11-29)

PILE

	1. Polytechnic's Instructional Language for Educators.
	Similar in use to an enhanced PILOT, but structurally more
	like Pascal with Awk-like associative arrays (optionally
	stored on disk).  Distributed to about 50 sites by Initial
	Teaching Alphabet Foundation for Apple II and CP/M.

	["A Universal Computer Aided Instruction System," Henry
	G. Dietz & Ronald J Juels, Proc Natl Educ Computing Conf '83,
	pp.279-282].

	2. <language, music> ["PILE _ A Language for Sound Synthesis",
	P. Berg, Computer Music Journal 3.1, 1979].

	(1999-06-04)

PIL/I

	Variant of JOSS.  Sammet 1969, p.217.

PILOT

	Programmed Inquiry Learning Or Teaching.  CAI language, many
	versions.  "Guide to 8080 PILOT", J. Starkweather, Dr Dobb's J
	(Apr 1977).

pilot error

	<jargon> ({Sun}, from aviation) A user's misconfiguration or
	misuse of a piece of software, producing apparently {bug}-like
	results.

	E.g. "Joe Luser reported a bug in sendmail that causes it to
	generate bogus headers."  "That's not a bug, that's pilot
	error.  His "sendmail.cf" is hosed."

	Compare {UBD}.

	[{Jargon File}]

	(1994-12-05)

Pilot European Image Processing Archive

	(PEIPA) An archive devoted to {image processing}, {computer
	vision}, and {computer graphics}.  It includes software,
	images, reference material, and miscellaneous goodies.

	The archive is funded by the {British Machine Vision
	Association} (BMVA) and the {University of Essex} and is
	closely associated with the {Pixel} {mailing list} and
	Technical Committee 5 (Benchmarking and Software) of the
	{IAPR}.

	{(http://peipa.essex.ac.uk/)}.

PIM

	1. {Personal Information Manager}.

	2. {Product Information Management}.

	(1997-02-11)

PIN

	{Personal Identification Number}

PINBOL

	<language, games> A {decision table} language for controlling
	pinball machines used at Atari.  PINBOL included a
	{multitasking} executive and an {interpreter} that worked on
	data structures compiled from condition:action lists.

	(1996-11-03)

Pine

	Program for Internet News & Email.  A tool for reading,
	sending, and managing electronic messages.  It was designed
	specifically with novice computer users in mind, but can be
	tailored to accommodate the needs of "power users" as well.
	Pine uses {Internet} message {protocols} (e.g. {RFC 822},
	{SMTP}, {MIME}, {IMAP}, {NNTP}) and runs under {Unix} and
	{MS-DOS}.

	The guiding principles for Pine's user-interface were: careful
	limitation of features, one-character mnemonic commands,
	always-present command menus, immediate user feedback, and
	high tolerance for user mistakes.  It is intended that Pine
	can be learned by exploration rather than reading manuals.
	Feedback from the {University of Washington} community and a
	growing number of {Internet} sites has been encouraging.

	Pine's message composition editor, {Pico}, is also available
	as a separate stand-alone program.  Pico is a very simple and
	easy-to-use {text editor} offering paragraph justification,
	cut/paste, and a spelling checker.

	Pine features on-line help; a message index showing a message
	summary which includes the status, sender, size, date and
	subject of messages; commands to view and process messages; a
	message composer with easy-to-use editor and spelling checker;
	an address book for saving long complex addresses and personal
	distribution lists under a nickname; message attachments via
	{Multipurpose Internet Mail Extensions}; {folder} management
	commands for creating, deleting, listing, or renaming message
	folders; access to remote message folders and archives via the
	{Interactive Mail Access Protocol} as defined in {RFC 1176};
	access to {Usenet} news via {NNTP} or {IMAP}.

	Pine, {Pico} and {UW}'s {IMAP} {server} are copyrighted but
	freely available.

	{Unix} Pine runs on {Ultrix}, {AIX}, {SunOS}, {SVR4} and
	{PTX}.  PC-Pine is available for {Packet Driver}, {Novell
	LWP}, {FTP PC/TCP} and {Sun} {PC/NFS}.  A {Microsoft
	Windows}/{WinSock} version is planned, as are extensions for
	off-line use.

	Pine was originally based on {Elm} but has evolved much since
	("Pine Is No-longer Elm").  Pine is the work of Mike Seibel,
	Mark Crispin, Steve Hubert, Sheryl Erez, David Miller and
	Laurence Lundblade (now at Virginia Tech) at the University of
	Washington Office of Computing and Communications.

	{(ftp://ftp.cac.washington.edu/mail/pine.tar.Z)}.
	{(telnet://demo.cac.washington.edu/)} (login as "pinedemo").

	E-mail: <pine@cac.washington.edu>,
	<pine-info-request@cac.washington.edu>,
	<pine-announce-request@cac.washington.edu>.

	(21 Sep 93)

pin feed

	{sprocket feed}

ping

	<networking, tool> (ping, originally contrived to match
	submariners' term for the sound of a returned sonar pulse) A
	program written in 1983 by Mike Muuss (who also wrote {TTCP})
	used to test reachability of destinations by sending them one,
	or repeated, {ICMP} echo requests and waiting for replies.
	Since ping works at the {IP} level its server-side is often
	implemented entirely within the {operating system} {kernel}
	and is thus the lowest level test of whether a remote host is
	alive.  Ping will often respond even when higher level,
	{TCP}-based services cannot.

	Sadly, Mike Muuss was killed in a road accident on 2000-11-20.

	The term is also used as a verb: "Ping host X to see if it is
	up."

	The {Unix} command "ping" can be used to do this and to
	measure round-trip delays.

	The funniest use of "ping" was described in January 1991 by
	Steve Hayman on the {Usenet} group comp.sys.next.  He was
	trying to isolate a faulty cable segment on a {TCP/IP}
	{Ethernet} hooked up to a {NeXT} machine.  Using the sound
	recording feature on the NeXT, he wrote a {script} that
	repeatedly invoked ping, listened for an echo, and played back
	the recording on each returned {packet}.  This caused the
	machine to repeat, over and over, "Ping ... ping ... ping ..."
	as long as the network was up.  He turned the volume to
	maximum, ferreted through the building with one ear cocked,
	and found a faulty tee connector in no time.

	Ping did not stand for "Packet InterNet Groper", Dave Mills
	offered this {backronym} expansion some time later.

	See also {ACK}, {ENQ}, {traceroute}, {spray}.

	{The Story of the Ping Program
	(http://ftp.arl.mil/~mike/ping.html)}.

	{Unix manual page}: ping(8).

	(2005-06-22)

ping command

	{ping}

ping-flood

	<networking> To {flood} another user with {ping} requests.

	(1997-04-07)

pinging

	{ping}

ping-pong

	<architecture> A phenomenon which can occur in a
	{multi-processor} system with {private caches} where two
	processors are alternately caching a shared location.  Each
	time one writes to it, it invalidates the other's copy.

	(1995-12-29)

Pin Grid Array

	<hardware> (PGA) A style of {integrated circuit} socket or
	pin-out with pins laid out on a square or rectangular grid
	with a separation of 0.1 inch in each direction.  The pins
	near the centre of the array are often missing.

	PGA is often used on {motherboards} for {processors}, e.g.
	{Socket 6} and {Socket 8}.

	PPGA is "plastic PGA" (as opposed to ceramic?).

	See also {SPGA}.

	(2000-03-09)

Pink-Shirt Book

	<publication> "The Peter Norton Programmer's Guide to the IBM
	PC".

	The original cover featured a picture of Peter Norton with a
	silly smirk on his face, wearing a pink shirt.  Perhaps in
	recognition of this usage, the current edition has a different
	picture of Norton wearing a pink shirt.

	See also {book titles}.

	[{Jargon File}]

	(1995-03-28)

pin-out

	<hardware> (Or "pinout") The allocation of logical functions
	or signals to the electrical connection points (pins) of an
	{integrated circuit} or other component or connector.

	(1996-04-04)

PIO mode

	{programmed input/output mode}

PIP

	<tool> Peripheral Interchange Program.

	A program on {CP/M}, {RSX-11}, {RSTS/E}, {TOPS-10}, and {OS/8}
	(derived from a utility on the {PDP-6}) that was used for file
	copying (and in OS/8 and RT-11 for just about every other file
	operation you might want to do).  It is said that when the
	program was written, during the development of the PDP-6 in
	1963, it was called ATLATL ("Anything, Lord, to Anything,
	Lord"; this played on the Nahuatl word "atlatl" for a
	spear-thrower, with connotations of utility and primitivity
	that were no doubt quite intentional).

	See also {BLT}, {dd}, {cat}.

	[{Jargon File}]

	(1995-03-28)

pipe

	1. <operating system> One of {Unix}'s buffers which can be
	written to by one {asynchronous} process and read by another,
	with the {kernel} suspending and waking up the sender and
	receiver according to how full the pipe is.  In later versions
	of Unix, rather than using an anonymous kernel-managed
	temporary file to implement a pipe, it can be named and is
	implemented as a local {socket} pair.

	2. <character> "|" {ASCII} character 124.  Used to represent a
	pipe between two processes in a {shell} command line.  E.g.

		grep foo log | more

	which feeds the output of grep into the input of more without
	requiring a named temporary file and without waiting for the
	first process to finish.

	3. <jargon, networking> A connection to a {network}.

	See also {light pipe}.

	(1996-09-24)

pipeline

	<architecture> A sequence of {functional units} ("stages")
	which performs a task in several steps, like an assembly line
	in a factory.  Each functional unit takes inputs and produces
	outputs which are stored in its output {buffer}.  One stage's
	output buffer is the next stage's input buffer.  This
	arrangement allows all the stages to work in parallel thus
	giving greater throughput than if each input had to pass
	through the whole pipeline before the next input could enter.

	The costs are greater latency and complexity due to the need
	to synchronise the stages in some way so that different inputs
	do not interfere.  The pipeline will only work at full
	efficiency if it can be filled and emptied at the same rate
	that it can process.

	Pipelines may be synchronous or asynchronous.  A synchronous
	pipeline has a master clock and each stage must complete its
	work within one cycle.  The minimum clock period is thus
	determined by the slowest stage.  An asynchronous pipeline
	requires {handshaking} between stages so that a new output is
	not written to the interstage buffer before the previous one
	has been used.

	Many {CPUs} are arranged as one or more pipelines, with
	different stages performing tasks such as fetch instruction,
	decode instruction, fetch arguments, arithmetic operations,
	store results.  For maximum performance, these rely on a
	continuous stream of instructions fetched from sequential
	locations in memory.  Pipelining is often combined with
	{instruction prefetch} in an attempt to keep the pipeline
	busy.

	When a {branch} is taken, the contents of early stages will
	contain instructions from locations after the branch which
	should not be executed.  The pipeline then has to be flushed
	and reloaded.  This is known as a {pipeline break}.

	(1996-10-13)

pipeline break

	<architecture> (Or "pipeline stall") The delay caused on a
	processor using {pipelines} when a {transfer of control} is
	taken.  Normally when a control-transfer instruction (a
	branch, conditional branch, call or trap) is taken, any
	following instructions which have been loaded into the
	processor's {pipeline} must be discarded or "flushed" and new
	instructions loaded from the branch destination.  This
	introduces a delay before the processor can resume execution.

	"{Delayed control-transfer}" is a technique used to reduce
	this effect.

	(1996-10-13)

Pipeline Burst Cache

	<hardware, storage> (PB Cache) A {synchronous cache} built
	from {pipelined} {SRAM}.

	A {cache} in which reading or writing a new location takes
	multiple {cycles} but subsequent locations can be accessed in
	a single {cycle}.  On {Pentium} systems in 1996, pipeline burst
	caches are frequently used as {secondary caches}.  The first 8
	{bytes} of data are transferred in 3 {CPU} {cycles}, and the
	next 3 8-{byte} pieces of data are transferred in one {cycle}
	each.

	(1996-10-13)

pipelined

	{pipeline}

Pipelined Burst Cache

	{Pipeline Burst Cache}

pipeline stall

	{pipeline break}

pipelining

	{pipeline}

PIPEX Ltd.

	{UUNET PIPEX}

piping

	{pipe}

piracy

	{software piracy}

pirate

	{software pirate}

PIRL

	Pattern Information Retrieval Language.

	A language for {digraph} manipulation, embeddable in {Fortran}
	or {ALGOL}, for {IBM 7094}.

	["PIRL - Pattern Information Retrieval Language",
	S. Berkowitz, Naval Ship Res Dev Ctr, Wash DC].

	(1994-11-29)

pistol

	[IBM] A tool that makes it all too easy for you to shoot
	yourself in the foot.  "Unix "rm *" makes such a nice pistol!"

	[{Jargon File}]

PIT

	Language for IBM 650.  (See {IT}).

PITA

	Pain in the arse/ass.

pixel

	{picture element}

pixels per inch

	<unit, graphics> (ppi) The unit used to measure {resolution}
	of a {bitmap display} or video input device.

	(2010-02-28)

pixmap

	(Contraction of "pixel map").  A 3 dimensional {array} of bits
	corresponding to a 2 dimensional array of {pixels}.  It is
	used, for example, in the {X Window System} to describe a
	memory region where graphics can be drawn without affecting
	the screen.  Typically this is used for the efficient handling
	of {expose} events, {icon} images or for animation.  Compare
	{bitmap}.

	[Xlib Guide].

pizza box

	[Sun] The largish thin box housing the electronics in
	(especially {Sun}) desktop {workstations}, so named because of
	its size and shape and the dimpled pattern that looks like air
	holes.

	Two megabyte single-platter removable disk packs used to be
	called pizzas, and the huge drive they were stuck into was
	referred to as a pizza oven.  It's an index of progress that
	in the old days just the disk was pizza-sized, while now the
	entire computer is.

	[{Jargon File}]

PJPEG

	{Progressive JPEG}

pk

	<networking> The {country code} for Pakistan.

	(1999-01-27)

PKE

	{public-key encryption}

PKI

	{Public Key Infrastructure}

PKLITE

	<compression, tool> An executable file {compression} utility
	for {MS-DOS} from {PKWARE, Inc.}.  PKLITE compresses the body
	of the executable and adds a small, fast decompress routine in
	the header.  In many cases it performs better than {lzexe}.
	With {headpack} the output is smaller and cannot be
	decompressed.

	(1999-01-07)

PKUNZIP

	<tool, compression> A program to unpack {archives} created by
	{PKZIP}, written by {PKWARE, Inc.} and released as
	{shareware}.  Versions exist for {MS-DOS}, {Microsoft Windows}
	and {Open VMS}.  PKUNZIP is no longer distributed, its
	functions having been incorporated into PKZIP.

	(1999-01-07)

PKWARE, Inc.

	<company, compression> The company which produces the {PKZIP}
	and {PKUNZIP} compression tools and libraries for many
	{platforms}.

	{(http://pkware.com/)}.

	E-mail: info@pkware.com.

	Telephone: +1 (414) 354 8699.

	Address: 9025 N. Deerwood Drive, Brown Deer, WI 53223-2480,
	USA.

	(1999-01-07)

PKZIP

	<tool> A file {compression} and archiver utility for {MS-DOS}
	and {Microsoft Windows} from {PKWARE, Inc.}.  PKZIP uses a
	variation on the {sliding window} compression {algorithm}.  It
	comes with {pkunzip} and {pklite} and is available as
	{shareware} from most {FTP archives} in a self-expanding
	{MS-DOS} executable.

	Current versions as of 1999-10-07: PKZIP 2.60 GUI for
	{Microsoft Windows 3.1}x, {Windows 9x}, {Windows NT}; PKZIP
	2.50 Command Line for Windows 9x NT; PKZIP 2.04g for {MS-DOS};
	PKZIP 2.51 for {Unix}, ({Linux}, {SPARC} {Solaris}, {Digital},
	{HP-UX}, {IBM AIX} and {SCO} Unix); PKZIP 2.50 for {OS/2};
	PKZIP for {Open VMS}/{VAX}.

	{WINZIP} is a version with a {GUI} for {Microsoft Windows}.

	A distribution in about 1995-06-22 claiming to be "PKZIP 3"
	was actually a {Trojan horse} which attempted to reformat the
	hard disk and delete all files on it.

	{(http://pkware.com/catalog/pkzip_win.html)}.

	[Status, history of WINZIP, PKLITE?]

	(1999-01-16)

pl

	<networking> The {country code} for Poland.

	(1999-01-27)

PL1

	<spelling> It's spelled "{PL/I}".

	(1996-12-13)

PL/1

	<spelling> It's spelled "{PL/I}".

	(1996-12-13)

PL-11

	<language> A high-level machine-oriented language for the
	{PDP-11} developed by R.D. Russell of CERN in Nov 1971.  It is
	similar to {PL360} and is written in {Fortran IV} and
	{cross-compile}d on other machines.

	(1995-01-05)

PL360

	{Structured assembly language} for the {IBM 360} and {IBM
	370}, with a few high-level constructs.  Syntactically it
	resembles {ALGOL 60}.  Its grammar is defined entirely by
	operator precedence.

	["PL/360, A Programming Language for the 360 Computers",
	N. Wirth, J ACM 15(1):37-74 (Jan 1968)].

	(1995-01-05)

PL516

	An {ALGOL}-like {assembly language} for the {DDP-516}, similar
	to {PL360}.

	["PL 516, An ALGOL-like Assembly Language for the DDP-516",
	B.A. Wichmann, Natl Phys Lab UK, Report CCU 9, 1970].

	(1995-01-05)

PL-6

	<language> A {PL/I}-like system language for the {Honeywell}
	{operating system}, {CP-6}.

	(1995-01-05)

PL.8

	A systems dialect of {PL/I}, developed originally for the {IBM
	801} {RISC} {minicomputer}, later used internally for {IBM RT}
	and {R/6000} development.

	["An Overview of the PL.8 Compiler", M. Auslander et al, Proc
	SIGPLAN '82 Symp on Compiler Writing].

	(1995-01-05)

Pla

	<language, music> A high-level music programming language,
	written in {SAIL}.  Pla includes {concurrency} based on
	{message passing}.

	["Pla: A Composer's Idea of a Language", B. Schottstaedt,
	Computer Music J 7(1):11-20, Winter 1983].

	(1999-06-04)

PLACE

	Programming Language for Automatic Checkout Equipment.

	["The Compiler for the Programming Language for Automatic
	Checkout Equipment (PLACE)", AFAPL TR-68-27, Battelle Inst,
	Columbus, May 1968].

PLAGO

	A translator-interpreter for a PL/I subset.  "PLAGO/360 User's
	Manual, Poly Inst Brooklyn.

plaid screen

	[XEROX PARC] A "special effect" that occurs when certain kinds
	of {memory smash}es overwrite the control blocks or image
	memory of a bit-mapped display.  The term "salt and pepper"
	may refer to a different pattern of similar origin.  Though
	the term as coined at PARC refers to the result of an error,
	some of the {X} demos induce plaid-screen effects deliberately
	as a {display hack}.

	[{Jargon File}]

PLAIN

	Programming LAnguage for INteraction.  Pascal-like, with
	extensions for database, string handling, exceptions and
	pattern matching.  "Revised Report on the Programming Language
	PLAIN", A. Wasserman, SIGPLAN Notices 6(5):59-80 (May 1981).

plain ASCII

	/playn-as'kee/ {flat ASCII}.

	[{Jargon File}]

Plain Old Documentation

	<text> (pod, occasionally "POD") A simple {markup language}
	used to embed {documentation}, {literate programming}-style,
	in {Perl} programs.  Pod readers and converters are part of
	the standard Perl distribution and the documentation provided
	with Perl is all in pod format.

	{The Pod Specification
	(http://perl.com/CPAN-local/doc/manual/html/pod/perlpod.html)}.

	(1998-12-18)

Plain Old Telephone Service

	<communications> (POTS) The traditional voice service provided
	by phone companies, especially when opposed to data services.

	Note that the acronym POTS is sometimes expanded as "Plain Old
	Telephone System" in which sense it is synonymous to {Public
	Switched Telephone Network} but used somewhat derogatively.

	(1998-05-18)

Plain Old Telephone System

	{Public Switched Telephone Network}

plain TeX

	<publication> {Donald Knuth}'s original set of user-level
	{macros} for interaction with his {TeX} formatter.  Dedicated
	TeX fans still prefer these over the more {user-friendly}
	{LaTeX} macros used by the majority of the TeX community.

	(1997-11-20)

plaintext

	<cryptography> A message before {encryption} or after
	decryption, i.e. in its usual form which anyone can read, as
	opposed to its encrypted form ("{ciphertext}").

	(1995-05-10)

PLAN

	<language> Programming LANguage Nineteen hundred.

	The {assembly language} for {ICL 1900} series computers.

	(1995-03-21)

.plan

	<operating system> See {plan file}.

Plan 9

	<operating system> (Named after the classically bad,
	exceptionally low-budget SF film "Plan 9 from Outer Space") An
	{operating system} developed at {Bell Labs} by many
	researchers previously intimately involved with {Unix}.

	Plan 9 is superficially Unix-like but features far finer
	control over the {name-space} (on a per-process basis) and is
	inherently distributed and scalable.

	Plan 9 is divided according to service functions.  {CPU}
	servers concentrate computing power into large
	{multiprocessors}; {file servers} provide repositories for
	storage and terminals give each user of the system a dedicated
	computer with {bitmap screen} and {mouse} on which to run a
	window system.  The sharing of computing and file storage
	services provides a sense of community for a group of
	programmers, amortises costs and centralises and hence
	simplifies management and administration.

	The pieces communicate by a single {protocol}, built above a
	reliable {data transport layer} offered by an appropriate
	network, that defines each service as a rooted tree of files.
	Even for services not usually considered as files, the unified
	design permits some simplification.  Each process has a local
	file name space that contains attachments to all services the
	process is using and thereby to the files in those services.
	One of the most important jobs of a terminal is to support its
	user's customised view of the entire system as represented by
	the services visible in the name space.

	{(http://plan9.bell-labs.com/plan9dist/)}.

	(2005-02-15)

Planet

	["An Experiment in Language Design for Distributed Systems",
	D. Crookes et al, Soft Prac & Exp 14(10):957-971 (Oct 1984)].

plan file

	<operating system> On {Unix} systems that support {finger},
	the ".plan" file in a user's {home directory} is displayed
	when the user is fingered.  This feature was originally
	intended to be used to keep potential fingerers apprised of
	one's location and near-future plans, but has been turned
	almost universally to humorous and self-expressive purposes
	(like a {sig block}).  See also {Hacking X for Y}.

	A later innovation in plan files was the introduction of
	"scrolling plan files" which are one-dimensional animations
	made using only the printable {ASCII} character set, {carriage
	return} and {line feed}, avoiding terminal specific {escape
	sequences}, since the {finger} command will (for security
	reasons; see {letterbomb}) not pass the {escape} character.

	Scrolling .plan files have become art forms in miniature, and
	some sites have started competitions to find who can create
	the longest running, funniest, and most original animations.
	A compiler (ASP) is available on {Usenet} for producing them.
	Typical animation components include:

	 Centipede:		 mmmmme
	 Lorry/Truck:		 oo-oP
	 Andalusian Video Snail: _@/

	In the mid-1990s {WWW} {home pages} largely supplanted .plan
	files, providing a much richer forum for the publication of
	personal minutiae and digital creativity.

	See also {twirling baton}.

	[{Jargon File}]

	(1998-01-16)

PLANIT

	Programming LANguage for Interaction and Teaching.  CAI
	language.  "PLANIT - A Flexible Language Designed for
	Computer-Human Interaction", S.L. Feingold, Proc FJCC 31,
	AFIPS (Fall 1967) Sammet 1969, p.706.

Plankalkül

	<language, history> (Or "Plankalkuel" if you don't have
	umlauts).  The first programming language, designed by {Konrad
	Zuse}, ca. 1945.  Zuse wrote "Rechenplan allgemeiner Struktur"
	in 1944 which developed into Plankalkül.  Plankalkül included
	{arrays} and {records} and used a style of {assignment} in
	which the new value appears on the right.

	Zuse wrote Plankalkül for his {Z3} computer (finished before
	1945) and implemented it on there as well.  Much of his work
	may have been either lost or confiscated in the aftermath of
	World War II.

	{ESR Plankalkül
	(http://tuxedo.org/~esr/retro/plankalkuel/)}.

	["The Plankalkül of Konrad Zuse", F.L. Bauer et al, CACM
	15(7):678-685, Jul 1972].

	(2002-05-28)

PLANNER

	A language for writing {theorem provers} by {Carl Hewitt}
	<hewitt@ai.mit.edu> {MIT} 1967.  Never fully implemented.

	{CONNIVER} was an outgrowth of {PLANNER} and {microPLANNER} a
	subset.  {PLASMA} is a PLANNER-like system modelled on
	{Actors}.  See also {POPLER}, {QLISP}, {Scheme}.

	["PLANNER: A Language for Proving Theorems in Robots", Carl
	Hewitt, Proc IJCAI-69, Wash DC, May 1969].

Planner-73

	The original name for {PLASMA}.

PLANS

	Programming Language for Allocation and Network Scheduling.  A
	PL/I preprocessor, used for developing scheduling algorithms.
	"A User's Guide to the Programming Language for Allocation and
	Network Scheduling", H.R.  Ramsey et al, TR SAI-77-068-DEN,
	Science Applications Inc (Jun 1977).

plants

	["The Algorithmic Beauty of Plants", Przemyslaw Prusinkiewicz,
	Aristid Lindenmayer. New York: Springer-Verlag, 1990.
	3-54097297-8].

PLASMA

	PLAnner-like System Modelled on Actors.  {Carl Hewitt}, 1975.
	The first {actor} language.  Originally called Planner-73, and
	implemented in MacLisp.  Lisp-like syntax, but with several
	kinds of parentheses and brackets.

	["A PLASMA Primer", B. Smith et al, AI Lab Working Paper 92,
	MIT Oct 1975].

	["Viewing Control Structures as Patterns of Passing Messages",
	C. Hewitt, AI Lab Memo 410, MIT 1976].

Plastic Pin Grid Array

	<hardware, processor> (PPGA) The package used for certain
	{Intel} {Celeron} {processors}.  PPGA processors fit into
	{Socket 370} {motherboard} sockets.

	The Plastic {Pin Grid Array} packaging is similar to that used
	on {Pentium} processors.  The {silicon} {core} is covered by a
	{heat slug} that faces down toward the {motherboard}.

	The Celeron 300A to the 533 use a PPGA package.  The Celeron
	566 onward use a {FC-PGA} package.

	Celeron processors are also available in {Slot 1} {SEPP}
	packaging.

	(2000-08-26)

platform

	Specific computer hardware, as in the phrase
	"platform-independent".  It may also refer to a specific
	combination of hardware and {operating system} and/or
	{compiler}, as in "this program has been ported to several
	platforms".  It is also used to refer to support software for
	a particular activity, as in "This program provides a platform
	for research into routing protocols".

	(1994-12-07)

Platform for Internet Content Selection

	<web> (PICS) A standard for {meta-data} associated
	with {web} content, originally designed to help
	parents and teachers control what children access on the
	Internet, but also used for {code signing} and privacy.  The
	PICS platform is one on which other rating services and
	filtering software have been built.

	{(http://w3.org/PICS}).

	(2001-03-29)

Platform Independent Graphical User Interface

	(PIGUI) {The PIGUI FAQ
	(ftp://rtfm.mit.edu/pub/usenet/news.answers/portable-GUI-software/)}.

	[Summary?]

	(1994-11-22)

platinum-iridium

	<standard> A standard, against which all others of the same
	category are measured.  Usage: silly.

	The notion is that one of whatever it is has actually been
	cast in platinum-iridium alloy and placed in the vault beside
	the Standard Kilogram at the International Bureau of Weights
	and Measures near Paris, as the bar defining the standard
	{metre} once was.

	"This {garbage collection} {algorithm} has been tested against
	the platinum-iridium cons cell in Paris."

	Compare {golden}.

	[{Jargon File}]

	(1997-02-20)

Platon

	Distributed language based on asynchronous message passing.

	["Message Passing Communication Versus Procedure Call
	Communication", J. Staunstrup, Soft Prac & Exp 12(3):223-234
	(Mar 1982)].

	["Platon Reference Manual", S. Soerensen et al, RECAU, U
	Aarhus, Denmark].

PLAY

	<language, music> A language for {real-time} music synthesis.
	1977.

	["An Introduction to the Play Program", J. Chadabe ete al,
	Computer Music J 2,1 (1978)].

	(1999-06-04)

play by electronic mail

	<games> A kind of game where the players use {electronic mail}
	to communicate.  This may be done via a human {moderator} or
	an automatic {mailing list} {exploder} on some central machine
	or it may be fully distributed with each player just
	addressing his mail to all other players.

	This is a natural extension of "play by mail" games conducted
	via {snail mail}.

	{(http://fermi.clas.virginia.edu/~gl8f/pbm.html)}.  {Usenet}
	newsgroup: {news:rec.games.pbm}.

	(1994-10-27)

Playground

	A visual language for children, developed for Apple's Vivarium
	Project.  OOPSLA 89 or 90?

Play, Inc.

	<company> The company which designed and markets {Snappy Video
	Snapshot}.

	{(http://play.com)}.

	(1997-07-11)

playpen

	(IBM) A room where programmers work.

	Compare {salt mines}.

	[{Jargon File}]

Playstation

	<games, hardware> The leading family of {games consoles}, from
	{Sony Corporation} consisting of the original Playstation
	(PS1) and the Playstation 2 (PS2).

	The basic Playstations consist of a small box containing the
	processor and a {DVD} reader, with video outputs to connect to
	a TV, sockets for two game controllers, and a socket for one
	or two memory cards.  The PS2 also has {USB} sockets.

	The PS2 can run PS1 software because the PS2's I/O processor
	is the same as the PS1's CPU.

	{(http://scea.sony.com/playstation/)}.

	{FAQ
	(http://flex.net/users/cjayc/vgfa/system/sony_psx.txt)}.

	[Dates?  Features?]

	(2003-07-29)

playte

	<data, jargon> /playt/ 16 {bits}, by analogy with {byte}.
	Usage: rare and extremely silly.

	See also {dynner}, {crumb}.

	[{Jargon File}]

	(1997-12-03)

PLC

	{Programmable Logic Controller}

PL/C

	{Programming Language/Cornell}

PL Cornell

	{Programming Language/Cornell}

PLD

	{Programmable Logic Device}

plenum cable

	<hardware> Cable that can be (legally) installed in the plenum
	(the space between a ceiling and the floor above it).  Such
	cable is (usually) teflon-coated so that it will not give off
	toxic fumes when burned.  In some parts of the world such
	cable is required by law.

	(1996-08-25)

pleonasm

	Redundancy of expression; tautology.

	(1995-03-25)

plesiochronous

	<communications> Nearly synchronised, a term describing a
	communication system where transmitted signals have the same
	nominal digital rate but are synchronised on different clocks.

	According to {ITU-T} {standards}, corresponding signals are
	plesiochronous if their significant instants occur at
	nominally the same rate, with any variation in rate being
	constrained within specified limits.

	[Pronunciation?  /ples'ee-oh-kroh'nus/?]

	(1995-03-02)

Plesiochronous Digital Hierarchy

	<communications> (PDH) A transmission system for voice
	communication using {plesiochronous} synchronisation.

	PDH is the conventional {multiplexing} technology for network
	transmission systems.  The transmitter adds dummy information
	bits to allow multiple channels to be bit interleaved.  The
	receiver discards these bits once the signals have been
	demultiplexed.

	PDH combines multiple 2 Mb/s ({E1}) channels in Europe and
	1.544 Mb/s ({DS1}) channels in the US and Japan.

	PDH is being replaced by {SONET} and other SDH ({Synchronous
	Digital Hierarchy}) schemes.

	(2003-09-30)

Pleuk grammar development system

	<grammar, tool> A {shell} for {grammar} development by Jo
	Calder <jcalder@cs.sfu.ca>, Kevin Humphreys
	<kwh@cogsci.ed.ac.uk>, Chris Brew
	<Chris.Brew@edinburgh.ac.uk>, and Mike Reape
	<mreape@cs.tcd.ie>.  It handles various grammatical formalisms
	and requires {SICStus Prolog} version 2.1#6 or later.

	Latest version: 1.0, as of 1993-06-18.

	{(ftp://ai.uga.edu/ai.natural.language/)}.

	E-mail: <pleuk@cogsci.ed.ac.uk>.

	(2000-07-22)

Plexus

	A modular {web server} written in {Perl} by Tony
	Sanders <sanders@earth.com>.  Comes with interfaces to allow
	many other information services to be served via the Web.

	{Version 3.0m 1994-07-22 (ftp://ftp.earth.com/plexus/)}.

	(1994-07-22)

PL/I

	<language> Programming Language One.

	An attempt to combine the best features of {Fortran}, {COBOL}
	and {ALGOL 60}.  Developed by George Radin of {IBM} in 1964.
	Originally named NPL and Fortran VI.  The result is large but
	elegant.  PL/I was one of the first languages to have a formal
	{semantic} definition, using the {Vienna Definition Language}.
	{EPL}, a dialect of PL/I, was used to write almost all of the
	{Multics} {operating system}.  PL/I is still widely used
	internally at {IBM}.  The PL/I standard is ANS X3.53-1976.

	PL/I has no {reserved words}.  Types are fixed, float,
	complex, character strings with maximum length, bit strings,
	and label variables.  {Arrays} have lower bounds and may be
	dynamic.  It also has summation, multi-level structures,
	{structure assignment}, untyped pointers, {side effects} and
	{aliasing}.  {Control flow} constructs include goto; do-end
	groups; do-to-by-while-end loops; external procedures;
	internal nested procedures and blocks; {generic procedures}
	and {exception handling}.  Procedures may be declared
	{recursive}.  Many implementations support {concurrency}
	('call task' and 'wait(event)' are equivalent to {fork}/join)
	and compile-time statements.

	{LPI} is a PL/I {interpreter}.

	["A Structural View of PL/I", D. Beech, Computing Surveys, 2,1
	33-64 (1970)].

	(1994-10-25)

PL/I-FORMAC

	<language> A variant of {FORMAC}.

	["The PL/I-FORMAC Interpreter", J. Xenakis, Proc 2nd Symp
	Symbolic and Algebraic Manip, ACM, Mar 1971].

	[Sammet 1969, p. 486].

	[Details?  Relatonship to {PL/I}?]

	(1994-10-25)

pling

	<character> {exclamation mark}.

	[Does anyone call {vertical bar} ("|", broken or unbroken)
	"pling"?]

	(1998-09-20)

plingnet

	{UUCPNET}.  See also {pling}.

	[{Jargon File}]

PLisp

	1. PostScript Lisp?  A {Common Lisp} translator and
	programming environment in {PostScript} by John Peterson
	<peterson-john@cs.yale.edu>.

	2. Pattern LISP.  1990.  A {pattern-matching} rewrite-rule
	language, optimised for describing syntax translation rules.
	(See {LISP70}).

PL/I SUBSET

	An early 70's version of {PL/I} for {minicomputers}.

PL/I Subset G

	("General Purpose") The commercial {PL/I} subset, i.e. what was
	actually implemented by most vendors.  ANS X3.74-1981.

PLITS

	Programming Language In The Sky.  A computational model for
	concurrency with communication via {asynchronous
	message-passing}.

	["High Level Programming for Distributed Computing",
	J.A. Feldman, CACM 22(6):353- 368 (Jun 1979)].

PLL

	{phase-locked loop}

PL/M

	Programming Language/Microcomputers.  MAA (later Digital
	Research) for Intel, 1972.  A very low level language
	incorporating ideas from PL/I, ALGOL and XPL.  Integrated
	macro processor.  Originally the implementation language for
	CP/M.  "PL/M-80 Programming Manual", Doc 98-268B, Intel 1976.
	"A Guide to PL/M Programming for Microcomputer Applications",
	D. McCracken, A-W 1978.  Versions: PL/M-80, PL/M-86, PL/M-286.

PLMK

	<chat> please let me know.

	(1999-09-27)

plokta

	/plok't*/ Press Lots Of Keys To Abort.  To press random keys
	in an attempt to get some response from the system.  One might
	plokta when the abort procedure for a program is not known, or
	when trying to figure out if the system is just sluggish or
	really hung.  Plokta can also be used while trying to figure
	out any unknown key sequence for a particular operation.
	Someone going into "plokta mode" usually places both hands
	flat on the keyboard and mashes them down, hoping for some
	useful response.

	A slightly more directed form of plokta can often be seen in
	mail messages or {Usenet} articles from new users - the text
	might end with

	       ^X^C
	       q
	       quit
	       :q
	       ^C
	       end
	       x
	       exit
	       ZZ
	       ^D
	       ?
	       help

	as the user vainly tries to find the right exit sequence, with
	the incorrect tries piling up at the end of the message.

	[{Jargon File}]

plonk

	<networking, abuse> (Usually written "*plonk*") The sound a
	{newbie} makes as he falls to the bottom of a {kill file}.

	In the first of a series of humourous books by Stephen Potter,
	"One-Upmanship" (published in 1952) a "plonk" - a pompous bit
	of misinformation said in a "plonking" tone - was a key
	feature of his advice on how to "creatively intimidate"
	someone by making them feel inferior and thereby gain the
	status of being "one-up" on them.  Since these efforts are
	usually transparently pathetic, the term became widely applied
	to any idiotic statement.

	The term appeared on-line in the {Usenet} {newsgroup}
	{news:talk.bizarre} and, by 1994, was widespread on {Usenet}
	and {mailing} lists as a form of public ridicule.

	The term may have been influenced by British slang "plonker"
	for someone behaving stupidly.  The expansion "Person with
	Little Or No Knowledge" may be a {backronym}.

	(2012-05-27)

plotter

	<hardware> A device that uses one or more pens that can be
	raised, lowered and moved over the printing media to draw
	graphics or text.

	The heart of the plotter is the printer head assembly,
	consisting of a horizontal bar and, attached to it, the head
	assembly holding the pen in use.  The pen can be positioned
	horizontally by moving the pen assembly along the bar.
	Vertical positioning is achieved by either moving the bar
	(stationary page plotter) or the paper (rolling page plotter).
	Combinations of horizontal and vertical movement are used to
	draw arbitrary lines and curves in a single action, in
	contrast to {printers} which usually scan horizontally across
	the page.

	Colour plots can be made by using more than one pen.  Older
	plotters required a separate pen for each colour and the pens
	had to be changed by hand.  Modern colour plotters usually use
	only four pens (cyan, magenta, yellow, and black, see {CMYK})
	and need no human intervention to change them.

	Monochromatic plotters have been largely phased out by {laser
	printers} except when large paper size is needed, e.g. in
	{CAD}.

	(1996-01-10)

PL/P

	Programming Language, Prime.  Russ Barbour, PRIME Computer,
	late 70's.  Subset of PL/I used internally for implementation
	of PRIMOS.  (See SPL[4]).

PL/PROPHET

	PL/I-like language for the PROPHET system, used by
	pharmacologists.  "The Implementation of the PROPHET System",
	P.A.  Castleman et al, NCC 43, AFIPS (1974).

PL/S

	{Programming Language/Systems}

PL/Seq

	Programming Language for Sequences.  A DSP language.  "A
	General High Level Language for Signal Processors", J. Skytta
	& O. Hyvarinen, Digital Signal Processing 84, Proc Intl Conf,
	Fiorence, Italy, Sep 1984, pp.217-221.

PL/SQL

	{Procedural Language/SQL}

PLTL

	{Propositional Linear Temporal Logic}

plug and play

	<jargon> 1. Hardware or software that, after being installed
	("plugged in"), can immediately be used ("played with"), as
	opposed to hardware or software which requires configuration.

	See also {turnkey}, {plug and pray}.

	2. A new recruit who needs no training.  "The new guy, John,
	is great.  He's totally plug-and-play."

	(1997-03-30)

plug and pray

	<humour> The {Windows 95} equivalent of the {Macintosh}'s
	{plug and play}, referring to difficulties encountered when
	setting up new {hardware} under Windows 95.

	(1997-10-11)

Plug Compatible Manufacturer

	<company> (PCM) A manufacturer of equipment that some other
	manufacturer's system can identify and work with.  The PCM's
	device replaces the original manufacturer's.

	Most PCMs competed with {IBM}.  PCM devices normally offer a
	cost-performance benefit over the original device.  For
	example, several PCM versions of the {Direct-Access Storage
	Device} {IBM 3350} offered twice the storage and improved data
	access (dual port).

	Plug compatible devices include replacement {CPUs}, such as
	the {Hitachi 7/90} series (which could be substituted for {IBM
	3090} series processors), {I/O} subsystems, and {dumb
	terminals} like the {IBM 3270}.

	[Used outside mainframe market?]

	(2003-06-24)

Pluggable Authentication Module

	<security> (PAM) The new industry standard integrated {login}
	{framework}.  PAM is used by system entry components, such as
	the {Common Desktop Environment}'s dtlogin, to authenticate
	users logging into a {Unix} system.  It provides pluggability
	for a variety of system-entry services.  PAM's ability to
	{stack} authentication {modules} can be used to integrate
	{login} with different authentication mechanisms such as
	{RSA}, {DCE} and {Kerberos}, and thus unify login mechanisms.
	PAM can also integrate {smart card} authentication.

	{White paper (http://gr.osf.org/book/psm-wppr.htm)}.

	[OSF-RFC 86.0 V. Samar, R. Schemers, "Unified Login with
	Pluggable Authentication Modules (PAM)", Oct 1995].

	(1997-07-18)

plugh

	<games> /ploogh/ A magic word from the {ADVENT} game.

	[{Jargon File}]

	(1996-04-01)

plug-in

	<tool> A file containing data used to alter, enhance, or
	extend the operation of a parent {application program}.  One
	of the first uses of this term was in {Silicon Beach}'s
	{SuperPaint} application (late 1980s?) for the {Macintosh}.
	It had a Plug-ins {folder} containing different tools and
	effects.

	The {Netscape Navigator} {web browser} supports
	plug-ins which display or interpret a particular file format
	or {protocol} such as {Shockwave}, {RealAudio}, {Adobe
	Systems, Inc.} {PDF}, {Corel CMX} ({vector graphics}).  The
	file to be displayed is included in a {web page} using an
	EMBED {HTML} {tag}.

	Plug-ins, both commercially and indepently authored, can
	usually be downloaded for free and are stored locally.
	Plug-ins come in different versions specific to particular
	{operating systems} ({Microsoft Windows 3.1}, 3.2, and
	{Macintosh} are available).

	Compare {applet}.

	{Plug-in Plaza (http://browserwatch.com/plug-in.html)}.

	{PC Mag Plug-ins
	(http://zdnet.com/pcmag/IU/plugins/plugins.htm)}.

	(1996-05-25)

PLUM

	A {compiler} for a substantial subset of {PL/I} for the
	{Univac 1100}, from the {University of Maryland}.

	["PL/I Programming with PLUM", M.V. Zelkowitz, Paladin House,
	1978].

	(1995-02-23)

Plumber

	<programming, tool> A system for obtaining information about
	{memory leaks} in {Ada} and {C} programs.

	{(http://home.earthlink.net/~owenomalley/plumber.html)}.

	(17 Feb 1999)

plumbing

	(Unix) Term used for {shell} code, so called because of the
	prevalence of "{pipelines}" that feed the output of one
	program to the input of another.  Under {Unix}, user utilities
	can often be implemented or at least prototyped by a suitable
	collection of pipelines and temporary file {grind}ing
	encapsulated in a {shell script}.  This is much less effort
	than writing {C} every time, and the capability is considered
	one of Unix's major winning features.  A few other {operating
	systems} such as {IBM}'s {VM/CMS} support similar facilities.

	The {tee} utility is specifically designed for plumbing.

	[{Jargon File}]

	(1995-02-23)

Plural EuLisp

	EuLisp with parallel extensions.  "Collections and Garbage
	Collection", S.C. Merall et al, in Memory Management - IWMM92,
	Springer 1992, pp.473-489.

PLUS

	Late 60's.  Machine-oriented systems language used internally
	by Univac.

plus

	<character> "+", {ASCII} character 43, 0x2B.  The mathematical
	symbol for the {addition} {operator}, also used with the same
	meaning in arithmetic expressions in nearly all {programming
	languages}.

	Common names: {ITU-T}: plus; add.  Rare: cross; {INTERCAL}:
	intersection.

	In programming, the operator is sometimes {overloaded} to
	perform other tasks like concatenating strings.  In the {C}
	language and its many imitators, the symbol is doubled, as in
	"x++" or "++x" to give an increment operator that adds one to
	its operand ("x" in this case) and also returns x's previous
	or resulting value respectively.

	In a {regular expression}, "+" means match one or more
	instances of the previous pattern.  Thus /b(an)+a/ would match
	any of "bana", "banana", "bananana", etc. (see {banana
	problem}).

	(2010-03-20)

PLUSS

	{Proposition of a Language Useable for Structured
	Specifications}

ply

	<mathematics, data> 1. Of a {node} in a {tree}, the number of
	{branches} between that node and the {root}.

	2. Of a tree, the maximum ply of any of its nodes.

	(1998-12-29)

PM

	1. {preventive maintenance}.

	2. {Presentation Manager}

	3. ["PM, A System for Polynomial Manipulations", G.E. Collins,
	CACM 9(8):578-589 (Aug 1966)].

	[{Jargon File}]

pm

	<networking> The {country code} for St. Pierre and Miquelon.

	(1999-01-27)

pm2

	<language, compiler> A software emulator for parallel random
	access machine (PRAM) and a parallel {Modula-2} compiler for
	the emulator.  pm2 programming language is Modula-2/Pascal
	mixture having extensions for parallel execution in a PRAM.
	Parallelism is expressed by pardo-loop-structure.  Additional
	features include private/shared variables, two synchronisation
	strategies, load balancing and parallel dynamic memory
	allocation.

	{(ftp://cs.joensuu.fi/pub/Software/pram/)}.

	E-mail: Simo Juvaste <sjuva@cs.joensuu.fi>.

	(1997-06-04)

P-mail

	Physical mail, as opposed to {e-mail}.  Synonymous
	with {snail-mail}.

	[{Jargon File}]

PMBX

	{Private Manual Branch EXchange}

PMC

	{PCI Mezzanine Card}

PML

	Parallel {ML}.

	["Synchronous Operations as First-Class Values", J.H.  Reppy
	<jhr@research.att.com>, Proc SIGPLAN 88 Conf Prog Lang Design
	and Impl, June 1988, pp. 250-259].

PMP

	{Portable Media Player}

pn

	<networking> The {country code} for Pitcairn Island.

	(1999-01-27)

pnambic

	<jargon> /p*-nam'bik/ (From the scene in the film, "The Wizard
	of Oz" in which the true nature of the wizard is first
	discovered: "Pay no attention to the man behind the curtain").
	A term coined by Daniel Klein <dvk@lonewolf.com> for a stage
	of development of a process or function that, owing to
	incomplete implementation or to the complexity of the system,
	requires human interaction to simulate or replace some or all
	of its actions, inputs or outputs.  The term may also be
	applied to a process or function whose apparent operations are
	wholly or partially falsified or one requiring
	{prestidigitization}.

	The ultimate pnambic product was "Dan Bricklin's Demo", a
	program which supported flashy user-interface design
	prototyping.

	There is a related maxim among hackers: "Any sufficiently
	advanced technology is indistinguishable from a rigged demo."
	See {magic} for illumination of this point.

	["Open Channel", IEEE "Computer", November 1981].

	[{Jargon File}]

	(1994-11-01)

PNG

	{Portable Network Graphics}

PNP

	1. <electronics> A type of {bipolar transistor} consisting of
	a layer of N-doped {semiconductor} (the "base") between two
	P-doped layers (the "collector" and "emitter").  PNP
	transistors are commonly operated with the emitter at {ground}
	and the collector at a negative {voltage}.

	In the 1960s, the germanium PNP transistor was the cheapest
	and best for use at ordinary temperatures.  The {leakage
	current} from collector to base in this type of device is
	larger than for the silicon transistor, and also varies more
	with temperature.  The effect of these deficiencies can be
	lessened by proper biasing and feedback, which can make the
	circuit both serviceable and reliable.  Neither germanium nor
	PNP transistors are as common today.

	The voltages used on a PNP transistor are inverted when
	compared with {vacuum tubes}.  Further, the behaviour of
	vacuum tubes is usually described in terms of {voltages}
	whereas transistors are better described in terms of
	{current}.

	2. <architecture> {plug and play}.

	(1997-05-05)

PNU-Prolog

	A parallel extension of NU-Prolog, implemented as a
	preproccessor.

	{(ftp://munnari.oz.au/pub/bebop.tar.Z)}.

POA

	{Portable Object Adapter}

PoB

	{Prisoner of Bill}

POC

	{Point Of Contact}

POCAL

	PETRA Operator's CommAnd Language.

pocket calculator

	<computer> A small battery-powered digital electronic device
	for performing simple arithmetic operations on data input on a
	keypad and outputting the result (usually a single number) to
	a simple {LCD} or other display.

	The most sophisticated programmable calculators are really
	{pocket computers} which are limited to handling numerical
	data only.

	(1996-12-23)

pocket computer

	{palmtop}

pod

	Not to be confused with {P.O.D.}.

	1. <printer> (Allegedly from abbreviation POD for "Prince Of
	Darkness") A {Diablo} 630 (or, latterly, any {letter-quality}
	{impact printer}).  From the {DEC-10} {PODTYPE} program used
	to feed formatted text to it.

	2. <text> {Plain Old Documentation}.

	[{Jargon File}]

	(1998-12-18)

P.O.D.

	<data> Piece Of Data (as opposed to {code}).

	[{Jargon File}]

	(2000-04-08)

podcast

	<networking> Any series of {audio} files that can be
	downloaded from the {Internet}, often released on some regular
	schedule, e.g. daily or weekly.

	Podcasts are named after {Apple Computer, Inc.}'s {iPod}
	portable audio players, though most podcasts are in {MP3}
	format and so can be played on virtually any modern audio
	player.

	(2009-12-16)

POE

	{PowerOpen Environment}

POFAC

	A subset of {Fortran}.

	[Mentioned in Machine Oriented Higher Level Languages, W. van
	der Poel, N-H 1974, p. 273].

	["POFAC Description", R.  Haentjens, Report 19, Cenre
	d'Information, Ecole Royale Militaire, Brussels, 1973].

	(1994-10-20)

POFOD

	{Probability of Failure on Demand}

POGO

	Early system on G-15.  Listed in CACM 2(5):16 (May 1959).

point

	1. <unit, text> (Sometimes abbreviated "pt") The unit of
	length used in {typography} to specify text character height,
	{rule} width, and other small measurements.

	There are six slightly different definitions: {Truchet point},
	{Didot point}, {ATA point}, {TeX point}, {Postscript point},
	and {IN point}.

	In Europe, the most commonly used is Didot and in the US, the
	formerly standard ATA point has essentially been replaced by
	the PostScript point due to the demise of traditional
	typesetting systems and rise of desktop computer based systems
	running software such as {QuarkXPress}, {Adobe InDesign} and
	{Adobe Pagemaker}.

	There are 20 {twips} in a point and 12 points in a {pica}
	(known as a "Cicero" in the Didot system).

	{Different point systems
	(http://vakcer.com/oberon/dtp/fonts/point.htm)}.

	(2004-12-23)

	2. <hardware> To move a {pointing device} so that the
	on-screen pointer is positioned over a certain object on the
	screen such as a {button} in a {graphical user interface}.  In
	most {window systems} it is then necessary to {click} a
	(physical) button on the pointing device to activate or select
	the object.  In some systems, just pointing to an object is
	known as "mouse-over" {event} which may cause some help text
	(called a "tool tip" in {Windows}) to be displayed.

	(2001-05-21)

point-and-drool interface

	<abuse> (Or "point-and-grunt interface") A parody of
	"{point-and-shoot interface}", describing a windows, icons,
	and mouse-based ({WIMP}) {graphical user interface}.  The
	implication, of course, is that such an interface is only
	suitable for idiots.

	See {for the rest of us}, {WIMP}, {drool-proof paper}.

	[{Jargon File}]

	(2000-08-08)

point-and-grunt interface

	{point-and-drool interface}

pointed domain

	<theory> In most formulations of {domain theory}, a {domain}
	is defined to have a {bottom} element and {algebraic} {CPOs}
	without bottoms are called "{predomains}".  David Schmidt's
	domains do not have this requirement and he calls a domain
	with a bottom "pointed".

	(1999-07-07)

pointer

	1. <programming> An {address}, from the point of view of a
	programming language.  A pointer may be typed, with its {type}
	indicating the type of data to which it points.

	The terms "pointer" and "reference" are generally
	interchangeable although particular programming languages often
	differentiate these two in subtle ways.  For example, {Perl}
	always calls them references, never pointers.  Conversely, in
	C, "pointer" is used, although "a reference" is often used to
	denote the concept that a pointer implements.

	{Anthony Hoare} once said:

	Pointers are like jumps, leading wildly from one part of the
	data structure to another.  Their introduction into high-level
	languages has been a step backward from which we may never
	recover.

	[C.A.R.Hoare "Hints on Programming Language Design", 1973,
	Prentice-Hall collection of essays and papers by Tony Hoare].

	2. <operating system> (Or "mouse pointer") An {icon}, usually
	a small arrow, that moves on the screen in response to
	movement of a {pointing device}, typically a {mouse}.  The
	pointer shows the user which object on the screen will be
	selected etc. when a mouse button is clicked.

	(1999-07-07)

pointer swizzling

	{swizzle}

pointing device

	<hardware> Any hardware component that allows a user to input
	spatial data to a computer.  {CAD} systems and {Graphical User
	Interfaces} (GUI) allow the user to control and provide data
	to the computer using physical "gestures" - {point}, {click},
	and {drag} - typically by moving a hand-held {mouse} across
	the surface of the physical desktop and activating switches on
	the mouse.  Movements of the pointing device are echoed on a
	graphical representation of a desktop on the screen by
	movements of the {mouse pointer} and other visual changes.

	While the most common pointing device by far is a mouse, other
	kinds include {tracker ball}, {trackpad}, {lightpen}, various
	kinds of {digitising tablets} which use a stylus, and even a
	special "{data glove}" that translates the user's movements to
	computer gestures.

	(1997-02-03)

pointing stick

	{TrackPoint}

Point Of Contact

	<networking> (POC) An individual associated with a particular
	{Internet} entity ({IP network}, {domain}, {ASN}).

	(1998-09-07)

point of presence

	(PoP) A site where there exists a collection of
	telecommunications equipment, usually {modems}, digital leased
	lines and {multi-protocol routers}.  An {Internet access
	provider} may operate several PoPs distributed throughout
	their area of operation to increase the chance that their
	subscribers will be able to reach one with a local telephone
	call.  The alternative is for them to use {virtual PoPs}
	(virtual points of presence) via some third party.

	(1994-12-13)

point of sale terminal

	<hardware> (Or "POS") A computer, probably with a {bar code}
	reader, serving as a glorified cash register.

	(1997-11-23)

Point-to-Point Protocol

	<communications, protocol> (PPP) The {protocol} defined in
	{RFC 1661}, the {Internet} standard for transmitting {network
	layer} {datagrams} (e.g. {IP} packets) over serial
	point-to-point links.

	PPP has a number of advantages over {SLIP}; it is designed to
	operate both over {asynchronous} connections and bit-oriented
	{synchronous} systems, it can configure connections to a
	remote network dynamically, and test that the link is usable.
	PPP can be configured to encapsulate different network layer
	protocols (such as {IP}, {IPX}, or {AppleTalk}) by using the
	appropriate {Network Control Protocol} (NCP).

	{RFC 1220} describes how PPP can be used with remote bridging.

	{Usenet} newsgroup: {news:comp.protocols.ppp}.

	{A paper on PPP
	(ftp://ftp.uu.net/vendor/MorningStar/papers/sug91-cheapIP.ps.Z)}.

	(1994-12-13)

Point-to-Point Protocol over ATM

	<networking> (PPPoA) A network {protocol} for encapsulating
	{PPP} {frames} in {ATM} {AAL5}.  It is used mainly with {cable
	modem}, {DSL} and {ADSL} services.

	PPPoA offers standard PPP features such as {authentication},
	{encryption}, and {compression}.  It is very slightly more
	efficient than {PPPoE} and, like PPPoE, supports {VC-MUX} and
	{LLC} encapsulation.

	PPPoA is specified in {RFC 2364}.

	(2007-06-15)

Point-to-Point Protocol over Ethernet

	<communications, protocol> (PPPoE) The {protocol} defined in
	{RFC 2516} that allows one or more computers to connect to the
	{Internet} via a shared {modem}.  The computers connect to the
	modem via a {local area network} such as {Ethernet} and the
	modem connects to an {Internet Service Provider} (ISP) via a
	{serial} connection such as {PPP} over {ADSL}.

	PPPoE provides each user with a connection that looks and
	behaves like a point-to-point {dial-up} connection even though
	they are actually sharing an Ethernet or {wireless} network.
	At the same time, the ISP only needs to provide a single
	Internet connection, with the same kind of accounting as for
	{PPP}.  Also, the {IP address} is only assigned when the PPPoE
	connection is open, allowing the dynamic reuse of IP addresses
	via {DHCP}.

	PPPoE works by {encapsulating} PPP {frames} in Ethernet
	frames.

	(2006-09-20)

Point-to-Point Tunneling Protocol

	<communications, protocol> (PPTP) A {tunneling protocol} for
	connecting {Windows NT} {clients} and {servers} over {Remote
	Access Services} (RAS).  PPTP can be used to create a {Virtual
	Private Network} between computers running NT.  It is an
	extension of {PPP} sponsored by {Microsoft}.

	{Microsoft Point to Point Encryption} may be used with PPTP to
	provide an encrypted connection but PPTP itself does not use
	encryption.

	Compare: {Layer Two Tunneling Protocol}.

	[Origin?  Standard?  Document?]

	(1998-09-23)

Poisson distribution

	<mathematics> A {probability distribution} used to describe
	the occurrence of unlikely events in a large number of
	independent trials.

	Poisson distributions are often used in building simulated
	user loads.

	[Formula?]

	(2003-03-18)

POJO

	{Plain Old Java Object}

	[As opposed to?]

poke

	The {BASIC} command to write a value to an absolute address.

	See {peek}.

	[{Jargon File}]

	(1995-01-31)

Pokémon exception handling

	<programming, humour> A humourous term for a {try-catch}
	exception handling construct with no constraint on which
	exceptions will be caught, for when you just "Gotta Catch 'Em
	All." (a slogan used in the Pokémon media empire).

	Pokémon is a trademark of the Pokémon Company of Japan.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-07-10)

Polka

	<language> An {object-oriented} parallel {logic programming}
	language, built on top of {Parlog}.

	["Polka: A Parlog Object-Oriented Language", Andrew Davison,
	TR, Parlog Group, Imperial College, London 1988].

	(1995-01-31)

poll

	To check the status of an input line, sensor, or memory
	location to see if a particular external event has been
	registered.

	Contrast {interrupt}.

	[{Jargon File}]

	(1995-01-31)

polling

	{poll}

Poly

	<language> 1. A {polymorphic}, {block-structured} language
	developed by D.C.J. Matthews at Cambridge in the early 1980s.

	["An Overview of the Poly Programming Language", D.C.J.
	Matthews, in Data Types and Persistence,
	M.P. Atkinson et al eds, Springer 1988].

	2. A language developed at St Andrews University, Scotland.

	[Software Practice & Exp, Oct 1986].

	3. A {polymorphic} language used in the referenced book.

	["Polymorphic Programming Languages", David M. Harland, Ellis
	Horwood 1984].

	(2000-11-07)

polygon pusher

	(Or "rectangle slinger").  A chip designer who spends most of
	his or her time at the physical layout level (which requires
	drawing *lots* of multi-coloured polygons).

	[{Jargon File}]

POLYGOTH

	<language> A distributed language integrating {class}es with a
	parallel block structure, including {multiprocedures} and
	{fragments}.

	["Operational Semantics of a Distributed Object-Oriented
	Language and its Z Formal Specification", M. Benveniste
	<mbenveni@irisa.irisa.fr>, TR532, IRISA/INRIA-Rennes].

	(1995-10-17)

polylithism

	<programming> A property of a data-object that can exist in
	many shapes and sizes, but not simultaneously; which
	distinguishes it from a {union}.  It is often implemented as a
	set of {classes} (or structs) derived from a common {base
	class} (or with a common header, as in the case of structs),
	typically without any {methods}.

	It has been loosely described as {polymorphic} data.

	[Clarification?]

	(1996-01-07)

Poly/ML

	<language> {SML} implemented in D.C.J. Matthews's {Poly}, for
	{Motorola 68020} and {SPARC} by Abstract Hardware Ltd.

	(1999-11-23)

polymorphic

	{polymorphism}

polymorphic lambda-calculus

	<language, types> (Or "second order typed lambda-calculus",
	"System F", "Lambda-2").  An extension of {typed
	lambda-calculus} allowing functions which take types as
	parameters.  E.g. the {polymorphic} function "twice" may be
	written:

	 	twice = /\ t . \  (f :: t -> t) . \ (x :: t) . f (f x)

	(where "/\" is an upper case Greek lambda and "(v :: T)" is
	usually written as v with subscript T).  The parameter t will
	be bound to the type to which twice is applied, e.g.:

		twice Int

	takes and returns a function of type Int -> Int.  (Actual type
	arguments are often written in square brackets [ ]).  Function
	twice itself has a higher type:

		twice :: Delta t . (t -> t) -> (t -> t)

	(where Delta is an upper case Greek delta).  Thus /\
	introduces an object which is a function of a type and Delta
	introduces a type which is a function of a type.

	Polymorphic lambda-calculus was invented by Jean-Yves Girard
	in 1971 and independently by John C. Reynolds in 1974.

	["Proofs and Types", J-Y. Girard, Cambridge U Press 1989].

	(2005-03-07)

polymorphism

	<theory, programming> The ability to leave parts of a {type} in a
	{typed language} unspecified.  The term has three distinct uses:

	* {Parametric polymorphism} refers to the use of type variables in
	a {strongly typed} language.

	* {Overloading}, sometimes called {ad-hoc polymorphism}, means
	using the same {syntax} for different types.

	* {object-orientated polymorphism} allows a {variable} to refer to
	objects whose {class} is not known at compile time.

	(2014-01-05)

polynomial

	1. <mathematics> An arithmetic expression composed by summing
	multiples of powers of some variable.

		P(x) = sum a_i x^i for i = 0 .. N

	The multipliers, a_i, are known as "{coefficients}" and N, the
	highest power of x with a non-zero coefficient, is known as
	the "degree" of the polynomial.  If N=0 then P(x) is constant,
	if N=1, P(x) is linear in x.  N=2 gives a "{quadratic}" and
	N=3, a "cubic".

	2. <complexity> {polynomial-time}.

polynomial-time

	<complexity> (P) The set or property of problems which can be
	solved by a known {polynomial-time algorithm}.

	(1995-04-10)

polynomial-time algorithm

	<complexity> A known {algorithm} (or {Turing Machine}) that is
	guaranteed to terminate within a number of steps which is a
	{polynomial} function of the size of the problem.

	See also {computational complexity}, {exponential time},
	{nondeterministic polynomial-time} (NP), {NP-complete}.

	(1995-04-13)

polyvinyl chloride

	<hardware> (PVC) A common plastic used for insulating and
	jacketing many wire and cable products.

	(2001-03-26)

POM

	{phase of the moon}

	Usually used in the phrase "POM-dependent", which means
	{flaky}.

	(1995-04-10)

Ponder

	A {non-strict} {polymorphic}, {functional language} by Jon
	Fairbairn <jf@cl.cam.ac.uk>.

	Ponder's type system is unusual.  It is more powerful than the
	{Hindley-Milner type} system used by {ML} and {Miranda} and
	extended by {Haskell}.  Ponder adds extra recursive 'mu' types
	to those of Girard's {System F}, allowing more general
	{recursion}.  Surprisingly, the type system and {type
	inference} {algorithm} are still not completely understood.

	["Ponder and its Type System", J. Fairbairn, TR 31, Cambridge
	U Computer Lab, Nov 1982].

	[J. Fairbairn, "Design and Implementation of a Simple Typed
	Language based on the Lambda-Calculus", Technical Report
	No. 75, Computer Laboratory, University of Cambridge, May
	1985].

	[J. Fairbairn, "A New Type-Checker for a Functional Language",
	Technical Report No. 53, Computer Laboratory, University of
	Cambridge, 1984].

	[J. Fairbairn, "Some Types with Inclusion Properties in
	\forall, \rightarrow, \mu", Technical Report No. 171, Computer
	Laboratory, University of Cambridge, Jun 1989].

	[Valeria C. V. de Paiva, "Subtyping in Ponder (Preliminary
	Report)", Technical Report No. 203, Computer Laboratory,
	University of Cambridge, Aug 1990].

Pong

	<games> A computer game invented in 1972 by {Atari}'s Nolan
	Bushnell.  The game is a minimalist rendering of table tennis.
	Each of the two players are represented as a white slab,
	controllable by a knob, which deflects a bouncing ball.  The
	goal of the game is to "AVOID MISSING BALL FOR HIGH SCORE".

	{Yahoo
	(http://yahoo.com/Recreation/Games/Video_Games/Classic_Arcade_Games/Titles/Pong/)}.

	(1997-11-23)

POOL

	Parallel Object-Oriented Language.

	A series of languages from {Philips Research Labs}.

	See {POOL2}, {POOL-I}, {POOL-T}.

	(1995-02-07)

POOL2

	Parallel Object-Oriented Language 2.

	Philips Research Labs, 1987.

	Strongly typed, synchronous message passing, designed to run
	on {DOOM} (DOOM = Decentralised Object-Oriented Machine).

	["POOL and DOOM: The Object- Oriented Approach", J.K. Annot,
	PAM den Haan, in Parallel Computers, Object-Oriented,
	Functional and Logic, P. Treleaven ed].

	["Issues in the Design of a Parallel Object-Oriented
	Language", P. America, Formal Aspects of Computing
	1(4):366-411 (1989)].

	(1995-02-07)

POOL-I

	One of the {POOL} languages.

	["A Parallel Object-Oriented Language with Inheritance and
	Subtyping", P. America et al, SIGPLAN Notices 25(10):161-168
	(OOPSLA/ECOOP '90) (Oct 1990)].

	(1995-02-07)

Pooling Agreement for Technical Assistance

	<business> (PATA) Written limitations on what types of
	technical information is shared when two companies (or
	departments) work together on a common project.  Often
	because of security concerns rather than marketing concerns.

	(2010-02-20)

POOL-T

	Object-oriented, concurrent, synchronous.  Predecessor of
	POOL2.

	["Definition of the Programming Language POOL-T", Esprit
	Project 415, Doc.  0091, Philips Research Labs, Eindhoven,
	Netherlands, June 1985].

	(1995-02-07)

POP

	1. <language> A family of programming languages, {POP-1},
	{POP-2}, {POP-10}, {Pop-11}, {POP++}, {POP-9X}, {POPLOG}.

	2. {Post Office Protocol}.

	See also {pop}, {PoP}.

	[{Jargon File}]

	(1996-02-18)

PoP

	{Point Of Presence}

pop

	<programming> To remove something from the top of a {stack}.

	Opposite of {push}.

	(Not to be confused with {Post Office Protocol} or {POP-1} the
	language).

	[{Jargon File}]

	(1996-02-18)

POP++

	An object-oriented extension of {POPLOG}.  Available from
	Integral Solutions.

	[{Jargon File}]

POP-1

	Package for Online Programming.  Edinburgh, 1966.  First of
	the POP family of languages.  Used reverse Polish notation.
	Implemented as a threaded interpreter.  EPU-R-17, U Edinburgh
	(Jul 1966).  "POP-1: An Online Language", R. Popplestone, Mach
	Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP-10

	Descendant of {POP}-2, for the {PDP-10} by Julian Davies,
	1973.  ["POP-10 User's Manual", D.J.M. Davies, CS R25, U West
	Ontario, 1976].

Pop-11

	<language> A programming language created by Robin Popplestone
	in 1975, originally for the {PDP-11}.  Pop-11 is
	{stack-oriented}, extensible, and efficient like {FORTH}.  It
	is also {functional}, {dynamically typed}, {interactive}, with
	{garbage collection} like {LISP}, and the {syntax} is {block
	structured} like {Pascal}.

	["Programming in POP-11", J. Laventhol <jcl@deshaw.com>,
	Blackwell 1987].

	AlphaPop is an implementation for the {Macintosh} from
	Computable Functions Inc.  PopTalk and POPLOG from the
	University of Sussex are available for {VAX/VMS} and most
	{workstations}.

	E-mail: Robin Popplestone <pop@cs.umass.edu>

	(2003-03-25)

POP-2

	Robin POPplestone, Edinburgh, 1967.  An innovative language
	incorporating many of Landin's ideas, including streams,
	closures, and functions as first-class citizens.  ALGOL-like
	syntax.  The first implementation was named Multi-POP, based
	on a REVPOL function written in POP-1, producing the
	reverse-polish form as output.  "POP-2 Papers", R.M.  Burstall
	et al, Oliver & Boyd 1968.  "Programming in POP-2",
	R.M. Burstall et al, Edinburgh U Press 1971.  "POP-2 User's
	Manual", R. Popplestone, Mach Intell 2, E. Dale et al eds,
	Oliver and Boyd, Edinburgh 1968.

POP3

	<messaging, protocol> Version 3 of the {Post Office Protocol}.
	POP3 is defined in {RFC 1081}, written in November 1988 by
	Marshall Rose, which is based on RFC 918 (since revised as RFC
	937).  POP3 allows a {client} computer to retrieve {electronic
	mail} from a POP3 {server} via a (temporary) {TCP/IP} or
	other[?] connection.  It does not provide for sending mail,
	which is assumed to be done via {SMTP} or some other method.

	POP is useful for computers, e.g. mobile or home computers,
	without a permanent network connection which therefore require
	a "post office" (the POP server) to hold their mail until they
	can retrieve it.

	Although similar in form to the original POP proposed for the
	{Internet} community, POP3 is similar in spirit to the ideas
	investigated by the {MZnet} project at the University of
	California, Irvine, and is incompatible with earlier versions
	of POP.

	Substantial work was done on examining POP in a {PC}-based
	environment.  This work, which resulted in additional
	functionality in this protocol, was performed by the {ACIS}
	Networking Systems Group at {Stanford University}.

	RFC 1082 (POP3 Extended Service) extends POP3 to deal with
	accessing mailboxes for {mailing lists}.

	(1997-01-09)

POP-9X

	Proposed {BSI} standard for {Pop-11}.

POPART

	A {grammar}-driven programming environment generator.  Uses
	{Paddle}.

	["POPART: Producer of Paddles and Related Tools, System
	Builders' Manual", D.S. Wile TR RR-82-21, ISI, Marina del Rey,
	CA 1982].

	(1994-11-30)

POPCORN

	AI system built on POP-2.  "The POPCORN Reference Manual", S.
	Hardy, Essex U, Colchester, 1973.

pop-down menu

	{pull-down menu}

POPJ

	/pop'J/ [{PDP-10} return-from-subroutine instruction]. To
	return from a digression.  By verb doubling, "Popj, popj"
	means roughly "Now let's see, where were we?"  See {RTI}.

	[{Jargon File}]

Poplar

	Morris, 1978.  A blend of LISP with SNOBOL4 pattern matching
	and APL-like {postfix syntax}.  Implicit iteration over lists,
	sorting primitive.  "Experience with an Applicative
	String-Processing Language", J.H. Morris et al, 7th POPL, ACM
	1980, pp.32-46.

POPLER

	A PLANNER-type language for the POP-2 environment.

	["Popler 1.6 Reference Manual", D. Davies et al, U Edinburgh,
	TPU Report No 1 (May 1973)].

POPLOG

	A multi-language programming environment, which includes the
	languages {Pop-11}, {ML}, {Common Lisp} and {Prolog}.  It
	supports mixed-language programming and {incremental
	compilation} and includes a comprehensive {X Window System}
	interface.  It is built on top of a two-stack {virtual
	machine}, PVM.  POPLOG was developed at the University of
	Sussex, Brighton, UK.

	["POPLOG's Two-Level Virtual Machine Support for Interactive
	Languages", R. Smith et al, in Research Directions in
	Cognitive Science, v.5 (1992)].

POPLOG ML

	{SML} for the {Poplog} system from the University of Sussex,
	UK.

POP server

	{Post Office Protocol}

PopTalk

	<language, product> A commercial {object-oriented} derivative
	of {POP}, from {Cambridge Consultants}, used in the {expert
	system} {MUSE}.

	(1995-02-27)

POR

	{power-on reset}

porn

	{pornography}

porno

	{pornography}

pornography

	<application> Still and moving images, usually of women, in
	varying states of nudity, posing or performing erotic acts
	with men, women, animals, machines, or other props.  Some say
	it degrades women, some say it corrupts young boys (who
	down-load it from the {web} or exchange it on
	{floppy disks}).  Most of it is in the form of {JPEG} images.
	Many websites offer porn of all sorts, almost always for a
	subscription.  It is said that these are a driving force in
	the evolution of new technology and techniques for the web.
	Advertisments for them certainly constitute a significant
	proportion of all {spam}.  There are even pornographic
	computer games, an early example being {Mac Playmate}.

	Beware - many institutions, particularly universities, have
	strict rules against their computers and networks being used
	to transfer or store such things, and you might get corrupted.

	(2002-03-08)

port

	1. <networking> A logical channel or channel endpoint in a
	communications system.  The {Transmission Control Protocol}
	and {User Datagram Protocol} {transport layer} protocols used
	on {Ethernet} use port numbers to distinguish between
	(demultiplex) different logical channels on the same {network
	interface} on a computer.

	Each {application program} has a unique port number associated
	with it, defined in /etc/services or the {Network Information
	Service} "services" database.  Some {protocols}, e.g. {telnet}
	and {HTTP} (which is actually a special form of telnet) have
	default ports specified as above but can use other ports as
	well.

	Some port numbers are defined in {RFC 3232} (which replaces
	RFC 1700).  Ports are now divided into: "Well Known" or
	"Privileged", and "Ephemeral" or "Unprivileged" (comprising
	"Registered", "Dynamic", "Private").

	(2004-12-30)

	2. <operating system, programming> To translate or modify
	{software} to run on a different {platform}, or the results of
	doing so.  The {portability} of the software determines how
	easy it is to port.

	3. <language> An {imperative language} descended from {Zed}
	from {Waterloo Microsystems} (now {Hayes} Canada) ca. 1979.

	["Port Language" document in the Waterloo Port Development
	System].

	(2002-06-19)

portability

	<operating system, programming> The ease with which a piece of
	software (or {file format}) can be "ported", i.e. made to run
	on a new {platform} and/or compile with a new {compiler}.

	The most important factor is the language in which the
	software is written and the most portable language is almost
	certainly {C} (though see {Vaxocentrism} for counterexamples).
	This is true in the sense that C compilers are available for
	most systems and are often the first compiler provided for a
	new system.  This has led several compiler writers to compile
	other languages to C code in order to benefit from its
	portability (as well as the quality of compilers available for
	it).

	The least portable type of language is obviously {assembly
	code} since it is specific to one particular (family of)
	{processor}(s).  It may be possible to translate mechanically
	from one assembly code (or even {machine code}) into another
	but this is not really portability.  At the other end of the
	scale would come {interpreted} or {semi-compiled} languages
	such as {LISP} or {Java} which rely on the availability of a
	portable {interpreter} or {virtual machine} written in a lower
	level language (often C for the reasons outlined above).

	The act or result of porting a program is called a "port".
	E.g. "I've nearly finished the {Pentium} port of my big bang
	simulation."

	Portability is also an attribute of {file formats} and depends
	on their adherence to {standards} (e.g. {ISO 8859}) or the
	availability of the relevant "viewing" software for different
	{platforms} (e.g. {PDF}).

	(1997-06-18)

portable

	{portability}

Portable AIRTIME

	<communications, wireless> A wireless, digital communications
	system enabling user-to-user voice communication,
	"{quicknotes}", and {alphanumeric messaging}.

	[Details?]

	(2000-12-07)

Portable Commodore 64

	<computer> A version of the {Commodore 64} modelled after the
	original Osborne portable PCs, with a flip-down keyboard that
	revealed a 5-inch colour monitor, and a built-in {1541} {floppy
	disk} drive.  It is thought that few were made but that they
	did go on sale, at least in Canada.

	[Relationship to {Commodore 65}?]

	(1997-09-14)

Portable Common Loops

	(PCL) A language which started out as an implementation of
	{CommonLoops} and turned into a portable {CLOS}
	implementation.  Version 1992-08-28.  It runs under {Lucid
	Common LISP} 4.0.1 and {CMU Common LISP} 16e.

	{(ftp://parcftp.xerox.com/pcl)}.

	(1992-09-02)

	[Was it developed by Richard Harris
	<rharris@ptolemy2.rdrc.rpi.edu>?]

Portable Common Tool Environment

	<tool> (PCTE) An {ECMA} standard framework for software tools
	developed in the {Esprit} programme.  It is based on an
	{entity-relationship} {Object Management System} and defines
	the way in which tools access this.

	(2001-03-03)

portable computer

	<computer> (Commonly, "laptop") A portable {personal computer}
	you can carry with one hand.  Some laptops run so hot that it
	would be quite uncomforable to actually use them on your lap
	for long.  The term "notebook" is often used to describe
	these, though it also implies a low weight (less than 2kg).  A
	"{luggable}" is one you could carry in one hand but is so
	heavy you wouldn't want to.  One that can by easily operated
	while held in one hand is a "{palmtop}".

	The computer considered by most historians to be the first
	true portable computer was the {Osborne 1} but see the link
	below for other contenders.

	{History of laptop computers
	(http://inventors.about.com/library/inventors/bllaptop.htm)}.

	(2007-05-21)

Portable Document Format

	<file format> (PDF) The native file format for {Adobe
	Systems}' {Acrobat}.  PDF is the file format for representing
	documents in a manner that is independent of the original
	application software, hardware, and operating system used to
	create those documents.  A PDF file can describe documents
	containing any combination of text, graphics, and images in a
	device-independent and {resolution} independent format.  These
	documents can be one page or thousands of pages, very simple
	or extremely complex with a rich use of {fonts}, graphics,
	colour, and {images}.

	{(http://adobe.com/products/acrobat/adobepdf.html)}.

	["The Portable Document Format Reference Manual", Adobe
	systems, Inc. Addison-Wesley Publ.  Co., ISBN: 0-201-62628-4].

	(2000-09-08)

Portable Forth Environment

	<language> (PFE) A highly {portable} {Forth} development
	system based on the {ANSI} standard for Forth, by Dirk-Uwe
	Zoller of FHT, Mannheim, Germany.  PFE aims to be correct,
	complete, usable, and simple but it isn't optimised for speed.
	It supports all {dpANS} {word sets}.  It runs on {Linux},
	{RS/6000}, and {HP-UX}.

	{Tektronix} adopted PFE in 1998 and added {modules} and
	{multithreading}.  You can load additional {C} objects at
	{run time} to extend the Forth {dictionary}.  It can be
	targeted at different embedded environments by changing the
	terminal driver and initilisation routines.

	Latest version: 0.30.27 preview, as of 2000-11-23.

	{(http://pfe.sourceforge.net/)}.

	E-mail: Guido Draheim <guidod@gmx.de>.

	(2000-12-07)

Portable Network Graphics

	<file format> /ping/ (PNG) An extensible {file format} for the
	{lossless}, {portable}, well-compressed storage of {raster
	images}.  PNG provides a patent-free replacement for {GIF} and
	can also replace many common uses of {TIFF}.
	{Indexed-colour}, {greyscale} and {truecolour} images are
	supported, plus an optional {alpha channel}.  Sample depths
	range from 1 to 16 bits.

	PNG is designed for on-line viewing applications, such as the
	{World Wide Web}, so it is fully {streamable} with a
	{progressive display} option.  PNG is robust, providing both
	full file {integrity checking} and simple detection of common
	transmission errors.  Also, PNG can store {gamma correction}
	and {chromaticity} data for improved colour matching on
	heterogeneous {platforms}.

	{Filename extension}: .png.

	{RFC 2083}.  {W3C PNG pages
	(http://w3.org/Graphics/PNG/)}.  {PNG home page
	(http://wco.com/~png/)}.

	(1997-08-07)

Portable Object Adapter

	<architecture> (POA) Part of the {CORBA} architecture.

	[Details?]

	(2004-06-23)

Portable Operating System Interface

	<operating system, standard> (POSIX) A set of {IEEE} standards
	designed to provide {application} {portability} between {Unix}
	variants.  IEEE 1003.1 defines a Unix-like operating system
	interface, IEEE 1003.2 defines the {shell} and utilities and
	IEEE 1003.4 defines {real-time} extensions.

	["More UNIX For Dummies", ISBN: 1-56884-361-5] says it stands
	for "Portable Operating System Interface with an X thrown in
	to make it sound cooler."

	(1997-12-04)

Portable Pixmap

	<file format> (PPM) A colour {image} {file format}.

	A PPM file contains the following:

	 a two character "{magic number}" - "P3",
	 the width in pixels,
	 the height in pixels,
	 the maximum colour component value,
	 HEIGHT rows of WIDTH {pixels}.

	The rows are ordered from top to bottom with the pixels in
	each row ordered from left to right.  Each pixel is
	represented as three values for red, green, and blue.

	All parts are separated by {whitespace} and numbers are in
	decimal {ASCIII} representation.  A zero pixel component means
	that colour is absent.  Characters from a "#" to the next
	end-of-line are ignored and no line should be longer than 70
	characters.

	Here is an example of a small pixmap in this format:

	 P3
	 # feep.ppm
	 4 4
	 15
	  0  0  0    0  0  0    0  0  0   15  0 15
	  0  0  0    0 15  7    0  0  0    0  0  0
	  0  0  0    0  0  0    0 15  7    0  0  0
	 15  0 15    0  0  0    0  0  0    0  0  0

	A "RAWBITS" variant has magic number "P6", pixel values are
	stored as plain binary bytes, instead of ASCII decimal and no
	whitespace is allowed after a single whitespace character
	after the maximum colour component value which must be less
	than or equal to 255.

	(1998-02-06)

Portable Scheme Debugger

	(PSD) A package for source code debugging of {R4RS}-compliant
	{Scheme} under {GNU Emacs} by Kellom ?ki Pertti
	<pk@cs.tut.fi>.  Version 1.1.  Distributed under {GNU} {GPL}.
	It works with {scm}, {Elk} and {Scheme->C}.

	{(ftp://ftp.cs.tut.fi/pub/src/languages/schemes/psd.tar.Z)}.

	(1992-10-08)

Portable Scheme Interpreter

	(PSI) A portable scheme interpreter by Ozan Yigit
	<oz@ursa.sis.yorku.ca>, David Keldsen and Pontus Hedman that
	includes a simple {DAG} compiler and a {virtual machine}.  It
	can be used as an integrated extension {interpreter} in other
	systems and allows easy addition of new primitives.  There are
	some unique debugging and tracing facilities.  Acceptable
	performance results from a fairly straight-forward
	implementation.  {Continuations} are fully and portably
	supported and perform well.  PSI is based on the simple
	compilers and {virtual machine} in Kent Dbyvig's thesis.

	The pre-release version conforms to {R4RS} with a number of
	useful extensions.

	(1993-02-19)

Portable Standard Lisp

	<language> (PSL) A dialect of {Lisp} from {Utah University}.
	PSL is available as a kit for {68000} and also runs on {VAX}.
	It compiles {Lisp} to {C}-code {virtual machine} language.

	["The Portable Standard LISP Users Manual", TR-10, CS Dept, U
	Utah, Jan 1982].

	["A Portable Lisp System", M.L. Griss et al, Proc 1982 ACM
	Symp on Lisp and Functional Prog, Aug 1982].

	(2000-09-25)

Portable Tool Interface

	<programming, standard> (PTI) A standard such as {PCTE},
	allowing interworking between different software tools via
	defined interfaces to the user and to the {repository} or
	{object management system}.

	(2000-09-25)

Port Address Translation

	<networking> (PAT) A function provided by some {routers} which
	allows {hosts} on a {LAN} to communicate with the rest of a
	network (such as the {Internet}) without revealing their own
	private {IP address}.  All outbound {packets} have their IP
	address translated to the routers external IP address.
	Replies come back to the router which then translates them
	back into the private IP address of the original host for
	final delivery.

	Compare {SOCKS}.

	(1998-05-08)

PORTAL

	Process-Oriented Real-Time Algorithmic Language.

	["PORTAL - A Pascal-based Real-Time Programming Language",
	R. Schild in Algorithmic Languages, J.W. deBakker et al eds,
	N-H 1981].

portal

	<web> A {website} that aims to be an entry point
	to the {web}, typically offering a {search engine}
	and/or links to useful pages, and possibly news or other
	services.  These services are usually provided for free in the
	hope that users will make the site their default {home page}
	or at least visit it often.  Popular examples are {Yahoo} and
	{MSN}.  Most portals on the {Internet} exist to generate
	advertising income for their owners, others may be focused on
	a specific group of users and may be part of an {intranet} or
	{extranet}.  Some may just concentrate on one particular
	subject, say technology or medicine, and are known as a
	{vertical portals}.

	(2001-07-07)

porting

	Translating software to run on a different computer and/or
	{operating system}.

	(1995-01-06)

Port Language

	["Communicating Parallel Processes", J. Kerridge et al, Soft
	Prac & Exp 16(1):63-86 (Jan 1986)].

portmapper

	<networking> A {server} that converts {TCP/IP} {protocol}
	{port} numbers into {RPC} program numbers.  It must be running
	in order to make RPC calls.

	When an RPC server starts, it tells portmap the port number it
	is listening on and what RPC program numbers it serves.
	Before a client can call a given RPC program number, it must
	contacts portmap on the server machine to determine the port
	number to which RPC packets should be sent.

	(1996-12-09)

port number

	{port}

POS

	{point of sale}

POSE

	<language A {query language} written in 1967.

	["POSE: A Language for Posing Problems to Computers",
	S. Schlesinger et al, CACM 10:279-285, May 1967].

	(1996-12-09)

poset

	{partially ordered set}

positional representation

	<mathematics> The conventional way of writing numbers as a
	string of digits in which each digit, D, has value D * R^I,
	where R is the {radix} or (number) base and I is the digit's
	position counting leftward from zero at the least significant
	(right-hand) end.  Each digit can be zero to R-1.  Each
	position has a weight or significance R times greater than the
	position to its right and the right-most place has a weight of
	one.

	Decimal numbers are radix ten, {binary} numbers are radix two,
	{octal} radix eight and {hexadecimal} radix 16.

	Positional representation makes arithmetic operations on large
	numbers much easier than, say, {roman numerals}.  It is
	fundamental to the binary representation used by {digital
	computers}.

	(2006-11-10)

POSIX

	{Portable Operating System Interface}

POSIX Threads

	<programming> (Pthreads) A {POSIX} {standard} {API} that
	defines a set of {C} programming language {types}, {functions}
	and {constants} for creating and manipulating {pre-emptive
	threads}.

	The standard's full name is "POSIX.1c, Threads extensions
	(IEEE Std 1003.1c-1995)".  Implementations are available on
	many {Unix}-like POSIX-conformant {operating systems} such as
	{FreeBSD}, {NetBSD}, {OpenBSD}, {GNU/Linux}, {Mac OS X} and
	{Solaris} as well as {DR-DOS} and {Microsoft Windows}.

	Pthreads was designed and implemented in the {PART} Project
	(POSIX / Ada-Runtime Project).

	(2012-04-18)

POST

	{power-on self-test}

post

	<messaging> To send a message to a {mailing list} or
	{newsgroup}.  Usually implies that the message is sent
	indiscriminately to multiple users, in contrast to "mail"
	which implies one or more deliberately selected individual
	recipients.

	You should only post a message if you think it will be of
	interest to a significant proportion of the readers of the
	group or list, otherwise you should use private {electronic
	mail} instead.  See {netiquette}.

	[{Jargon File}]

	(1997-12-04)

postcardware

	{Shareware} that borders on {freeware}, in that the author
	requests only that satisfied users send a postcard of their
	home town or something.  (This practice, silly as it might
	seem, serves to remind users that they are otherwise getting
	something for nothing, and may also be psychologically related
	to real estate "sales" in which $1 changes hands just to keep
	the transaction from being a gift.)

	[{Jargon File}]

posted write-through

	A {cache} with a posted write-through policy (e.g. Intel 80386)
	delays the write-back to main memory until the bus is not in
	use.

Postel, Jon

	{Jon Postel}

postfix notation

	<language> (Or "Reverse Polish Notation", RPN) One of the
	possible orderings of {functions} and {operands}: in postfix
	notation the functions are preceded by all their operands.
	For example, what may normally be written as "1+2" becomes "1
	2 +".  Postfix notation is well suited for {stack} based
	{architectures} but modern {compilers} reduced this advantage
	considerably.

	The best-known language with postfix syntax is {FORTH}.  Some
	{Hewlett-Packard} calculators use it, e.g. HP-25, HP-29C,
	HP-41C, HP-23SII.

	Compare: {infix notation}, {prefix notation}.

	(2003-06-23)

postfix syntax

	{postfix notation}

POSTGRES

	<database> An {active DBMS} developed at the {University of
	California at Berkeley} by a team led by Michael Stonebraker
	(1986-1994).  Postgres was later taken by {Illustra} and
	developed into a commercial product, which in turn was bought
	by {Informix} and integrated into their product, {Universal
	Server}.

	{PostgreSQL} is a further development of the original POSTGRES
	code as a {free software} alternative to commercial {DBMS}
	vendor offerings.

	[Details?  Reference?  Relationship to {Ingres}?]

	(1999-07-04)

PostgreSQL

	<database> /'post-gres-kyu-el/ An enhancement of the
	{POSTGRES} {database} system.

	PostgreSQL is an advanced {relational database management
	system} with some {object oriented} approaches.  PostgreSQL is
	developed and distributed as {free software}, and while
	retaining its freedom it remains technically and featurewise a
	worthy competitor to even the most advanced commercial
	alternatives.

	It was also one of the first databases to offer {MVCC} as
	opposed to {row-level locking} or {table locking}, thereby
	greatly improving multi-user performance.

	PostgreSQL implements an extended subset of {ANSI} {SQL} and
	runs on many {platforms}.  It also has {interfaces} to many
	different {programming languages} and database {protocols},
	like {ODBC} and {JDBC}.

	{(http://postgresql.org/)}.

	(1999-09-18)

posting

	A message sent to a {newsgroup} or {mailing list} (may also be
	called "a post") or the act of sending it.  Distinguished from
	a "letter" or ordinary {electronic mail} message by the fact
	that it is broadcast rather than point-to-point.  It is not
	clear whether messages sent to a small mailing list are
	postings or e-mail; perhaps the best dividing line is that if
	you don't know the names of all the potential recipients, it
	is a posting.

	[{Jargon File}]

postmaster

	The {electronic mail} contact and maintenance person at a site
	connected to the {Internet} or {UUCPNET}.  Often, but not
	always, the same as the {admin}.  The Internet standard for
	electronic mail ({RFC} 822) requires each machine to have a
	"postmaster" address; usually it is aliased to this person.
	See also {webmaster}.

post office problem

	<algorithm> Given a set of points (in N dimensions), find
	another point which minimises the sum of the distances from
	that point to each of the others.

	(2007-03-07)

Post Office Protocol

	<messaging, protocol> (POP) A {protocol} designed to allow
	single-user computers to retrieve {electronic mail} from a POP
	{server} via {TCP/IP}.  The default {port} is 110.

	The POP server might be a computer with a permanent {Internet}
	connection whereas its clients might only connect to it
	occasionally, e.g. by {modem}.

	There are (in 1994) three versions: POP, POP2, and {POP3}.
	Later versions are NOT compatible with earlier ones.

	[Details?]

	(2007-03-07)

post-order traversal

	{traversal}

POSTQUEL

	POSTGRES QUERy Language.  The language used by the {POSTGRES}
	{database} system.

	["The Design of POSTGRES", M. Stonebraker et al, Proc ACM
	SIGMOD Conf, June 1986].

	{Version 4.0
	(ftp://postgres.berkeley.edu/pub/postgresv4r0.tar.Z)}.

PostScript

	<language, text, graphics> A {page description language} based
	on work originally done by John Gaffney at Evans and
	Sutherland in 1976, evolving through "JaM" ("John and Martin",
	Martin Newell) at {XEROX PARC}, and finally implemented in its
	current form by John Warnock et al. after he and Chuck Geschke
	founded {Adobe Systems, Inc.} in 1982.

	PostScript is an {interpreted}, {stack-based language} (like
	{FORTH}).  It was used as a page description language by the
	{Apple LaserWriter}, and now many {laser printers} and
	on-screen graphics systems.  Its primary application is to
	describe the appearance of text, graphical shapes, and sampled
	{images} on printed or displayed pages.

	A program in PostScript can communicate a document description
	from a composition system to a printing system in a
	device-independent way.

	PostScript is an unusually powerful printer language because
	it is a full programming language, rather than a series of
	low-level escape sequences.  (In this it parallels {Emacs},
	which exploited a similar insight about editing tasks).  It is
	also noteworthy for implementing on-the fly {rasterisation},
	from {Bezier curve} descriptions, of high-quality {fonts} at
	low (e.g. 300 dpi) resolution (it was formerly believed that
	hand-tuned {bitmap fonts} were required for this task).

	PostScript's combination of technical merits and widespread
	availability made it the language of choice for graphical
	output until {PDF} appeared.

	The {Postscript point}, 1/72 inch, is slightly different from
	other {point} units.

	{An introduction
	(http://cs.indiana.edu/docproject/programming/postscript/postscript.html)}.

	["PostScript Language Reference Manual" ("The Red Book"),
	Adobe Systems, A-W 1985].

	[{Jargon File}]

	(2002-03-11)

Postscript point

	<unit, text> The variant of the {point} used by {Postscript},
	equal to 0.3527777778 mm, or 1/72 inch.

	(2002-03-11)

Post, Telephone and Telegraph administration

	<communications, company> (PTT) One of the many national
	bodies responsible for providing communications services in a
	particular country.  Traditionally, PTTs had monopolies in
	their respective countries.  This monopoly was first broken in
	the USA, with the UK joining somewhat later.  Currently the
	markets are being deregulated in Europe as well as other parts
	of the world.

	Well-known PTTs include {MCI}, {AT&T}, and {British Telecom}.

	Compare: {telco}.

	(1998-05-18)

POSYBL

	Programming system for distributed applications.  A {Linda}
	implementation for {Unix} networks by Ioannis Schoinas
	<sxoinas@csd.uch.gr>.

	{(ftp://ariadne.csi.forth.gr/pub/POSYBL.TAR.Z)}.

	(1995-12-04)

potential difference

	{voltage}

POTS

	{Plain Old Telephone Service}

pound

	<character> A British {pound sign} or Americal {hash character}.

	(2013-08-15)

pound on

	{bang on}

pound sign

	<character> "£", {ASCII} character 163, 0xA3.  A stylised capital
	"L" used to prefix amounts in British pounds sterling (GBP).

	Americans call the {hash character} ("#") "pound" but that is an
	antiquated reference to pounds weight (lb).

	(2013-08-15)

POWER

	Performance Optimization with Enhanced RISC.  The {IBM}
	processor architecture on which {PowerPC} was based.

PowerBuilder

	<tool, database> A {graphical user interface} development tool
	from {Powersoft} for developing {client-server} {database}
	{applications}.  It runs under {MS-DOS}(?) and {Microsoft
	Windows}.  There are also versions for {Microsoft Windows},
	{Windows NT}, {Macintosh}, and {Unix}.

	Applications can be built by creating {windows}, controls
	(such as {listboxes} and {buttons}), and {menus} within the
	PowerBuilder development environment.  The language used to
	program PowerBuilder, {PowerScript}, is loosely based on
	{BASIC}.

	PowerBuilder supports programming on many database backends
	including {Sybase} and {Oracle}.  It also has added support
	for {ODBC} database drivers.  PowerBuilder also comes with a
	built-in database backend ({WATCOM} {SQL} 32-bit {relational
	database}).

	{Product information
	(http://powersoft.com/mktg/prodinfo/prodintr.html)}.

	{FAQ (ftp://ftp.oar.net/pub/psoft/pb01.faq)}.

	{Usenet} newsgroup: {news:comp.soft-sys.powerbuilder}.

	[Correct list of platforms?]

	(2001-03-23)

power cycle

	<hardware> (Or "cycle power", "cycle") To turn a machine's
	power off and on, with the intention of clearing some kind of
	{hung} or {gronk}ed state.  Synonym {120 reset}; see also {Big
	Red Switch}.  Compare {Vulcan nerve pinch}, {bounce} and
	{boot}, and see the {AI Koan} about Tom Knight and the novice.

	[{Jargon File}]

	(2012-02-09)

powerdomain

	<theory> The powerdomain of a {domain} D is a domain
	containing some of the {subsets} of D.  Due to the asymmetry
	condition in the definition of a {partial order} (and
	therefore of a domain) the powerdomain cannot contain all the
	subsets of D.  This is because there may be different sets X
	and Y such that X <= Y and Y <= X which, by the asymmetry
	condition would have to be considered equal.

	There are at least three possible orderings of the subsets of
	a powerdomain:

	Egli-Milner:

		X <= Y  iff  for all x in X, exists y in Y: x <= y
		        and  for all y in Y, exists x in X: x <= y

	("The other domain always contains a related element").

	Hoare or Partial Correctness or Safety:

		X <= Y  iff  for all x in X, exists y in Y: x <= y

	("The bigger domain always contains a bigger element").

	Smyth or Total Correctness or Liveness:

		X <= Y  iff  for all y in Y, exists x in X: x <= y

	("The smaller domain always contains a smaller element").

	If a powerdomain represents the result of an {abstract
	interpretation} in which a bigger value is a safe
	approximation to a smaller value then the Hoare powerdomain is
	appropriate because the safe approximation Y to the
	powerdomain X contains a safe approximation to each point in
	X.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	(1995-02-03)

PowerFuL

	<language> A language combining {functional programming} and
	{logic programming}, using "angelic Powerdomains".

	(1998-06-30)

power hit

	(Or "power {glitch}") A sudden increase (spike) or decrease
	(drop-out) in the mains electricity supply.  These can cause
	crashes and even permanent damage to computers.  Computers and
	other electronic equipment should really include some kind of
	over-voltage protection in its mains input to prevent such
	damamge.

	[{Jargon File}]

Power Mac

	<computer> {Apple Computer}'s {personal computer} based on the
	{PowerPC}, introduced on 1994-03-14.

	The Power Mac G4 (Quicksilver 2002) was the first Power Mac to
	clock at 1 GHz.  In mid-2003, the Power Mac G5 was released,
	the first Mac to be based on a 64-bit architecture.  IBM
	manufactured the CPU for this new model.  The clock speed was
	initially 1.6 GHz but a dual 2 GHz system was available in
	September.  Existing {680x0} code (both applications and
	device drivers) run on Power Mac systems without modification
	via a {Motorola 68LC040} {emulator}.  The performance of these
	unmodified applications is equivalent to a fast {68040}-based
	{Macintosh}, e.g. a fast {Macintosh Quadra}.

	The Power Mac runs {Macintosh operating system} from {System
	7.5} to {Mac OS} 8.5.

	Latest version, as of 2003-11-26: Power Mac G5.

	{Power Mac Home (http://apple.com/powermac/)}.

	(2003-11-26)

Power Macintosh

	{Power Mac}

power-on reset

	<hardware>(POR) The processes that take place when a
	{hardware} device is turned on.  This may include running
	{power-on self-test} or reloading {software} from
	{non-volatile storage}.  The term implies that the device
	has some reasonably complex internal state that will be
	set back to a "normal" initial condition.  This state may
	include the physical state of the device (e.g. a {printer})
	as well as data in the memory of an {embedded system}.

	If a device has no reset button, and sometimes even
	if it does, turning it off and on again ({power
	cycling}) may be the only way to clear a fault.

	(2012-02-09)

power-on self-test

	<hardware, testing> (POST) A sequence of diagnostic tests that
	are run automatically by a device when the power is turned on.

	In a {personal computer} a typical POST sequence does the
	following:

	- checks that the {system board} is working

	- checks that the {memory} is working

	- compares the current system configuration with that
	recorded by the PC's configuration program to see if
	anything has been added or removed or broken

	- starts the video operation

	- checks that the {diskette} drive, {hard disk drive},
	{CD-ROM} drive, and any other drives that may be installed
	are working.

	When POST is finished, typically it will {beep}, and then
	let your {operating system} start to {boot}.  If POST finds
	an error, it may beep more than once (or possibly not at all
	if it is your PC speaker that is broken) and display a POST
	error message.  These messages are often nothing more than a
	single ominous number.  Some common numbers and their
	meanings are:

	161 Dead battery
	(get a new battery for the system board)

	162 Configuration changed
	(you added some memory or a new card to the PC)

	301 Keyboard error
	(take the book off the corner of the keyboard)

	Because a successful POST indicates that the system is
	restored to known state, turning the power off and on is a
	standard way to reset a system whose software has {hung}.
	Compare {120 reset}, {Big Red Switch}, {power cycle}.

	(2001-03-30)

PowerOpen

	The {PowerOpen Association} defines and promotes the
	{PowerOpen Environment} (POE).

PowerOpen Association

	An independent body established to promote, and test
	conformance with, the {PowerOpen Environment} (POE).

	(1994-11-08)

PowerOpen Environment

	<operating system> (POE) A definition containing {API} and
	{ABI} specifications based on the {PowerPC} architecture.  It
	is not an {operating system}.  The presence of the ABI
	specification in the POE distinguishes it from other open
	systems (POSIX, XPG4, etc.)  since it allows {platform}
	independent binary compatibility which is otherwise typically
	limited to particular hardware.

	The POE is an {open standard}, derived from {AIX} and
	conforming to industry open standards including {POSIX},
	{XPG4} and {Motif}.  The POE specification will be publicly
	available to anyone wishing to produce either {application
	programs} or hardware {platforms}.  The {PowerOpen
	Association} will provide the necessary {conformance test}ing
	and POE branding.

	The POE is hardware {bus} independent.  System implementations
	can range from {laptop computers} to {supercomputers}.  It
	requires a multi-user, {multitasking} {operating system}.  It
	provides networking support, an {X Window System} extension, a
	{Macintosh} Application Services extension and {Motif}.  It is
	{conformance test}ed and certified by an independent party
	(the {PowerOpen Association}).

	The POE specification is targeted for availability in the
	first quarter of 1994.  The {PowerOpen Association} will soon
	have some of the information material available on-line.

	(1994-11-08)

PowerPC

	<processor, standard> (PPC) A {RISC} {microprocessor} designed
	to meet a {standard} which was jointly designed by {Motorola},
	{IBM}, and {Apple Computer} (the PowerPC Alliance).  The
	PowerPC standard specifies a common {instruction set
	architecture} (ISA), allowing anyone to design and fabricate
	PowerPC processors, which will run the same code.  The PowerPC
	architecture is based on the IBM {POWER} architecture, used in
	IBM's {RS/6000} {workstations}.  Currently {IBM} and
	{Motorola} are working on PowerPC chips.

	The PowerPC standard specifies both 32-bit and 64-bit data
	paths.  Early implementations were 32-bit (e.g. {PowerPC
	601}); later higher-performance implementations were 64-bit
	(e.g. PowerPC 620).  A PowerPC has 32 integer {registers} (32-
	or 64 bit) and 32 {floating-point} (IEEE standard 64 bit)
	{floating-point} registers.

	The POWER CPU chip and PowerPC have a (large) common core, but
	both have instructions that the other doesn't.  The PowerPC
	offers the following features that POWER does not:

	Support for running in {little-endian} mode.

	Addition of single precision {floating-point} operations.

	Control of branch prediction direction.

	A hardware coherency model (not in Book I).

	Some other {floating-point} instructions (some optional).

	The real time clock (upper and lower) was replaced with the
	time base registers (upper and lower), which don't count in
	sec/ns (the decrementer also changed).

	64-bit instruction operands, registers, etc. (in 64 bit
	processors).

	See also {PowerOpen}, {PowerPC Platform} (PReP).

	{IBM PPC info
	(http://fnctsrv0.chips.ibm.com/products/ppc/index.html)}.

	{(gopher://info.hed.apple.com/)}, "Apple Corporate News/"
	(press releases), "Apple Technologies/" and "Product
	Information/".  {(gopher://ike.engr.washington.edu/)}, "IBM
	General News/", "IBM Product Announcements/", "IBM Detailed
	Product Announcements/", "IBM Hardware Catalog/".

	{Usenet} newsgroups: {news:comp.sys.powerpc},
	{news:comp.sys.mac.hardware}.

	["Microprocessor Report", 16 October 1991].

	(1994-09-30)

PowerPC 601

	<processor> A 32-bit {RISC} processor with 2.8 million
	transistors (~1.2 million in the core logic) and 32 kilobytes
	of on-chip {cache}.  Die size: 118.8 mm2.  Heat dissipation at
	66MHz: 9W.  Performance at 66MHz: integer >60 {SPECint92},
	{floating-point} >80 {SPECfp92}.  Estimated manufacturing
	cost: $76.  Maximum instructions per cycle: 3.  32 32-bit
	general-purpose registers.  32 64-bit {floating-point}
	registers.  Successors: PowerPC 603, 604, 620.

	(2000-01-12)

PowerPC G3

	<processor> A {processor} chip from {Apple Computer, Inc.}.

	Described by Apple as "the third generation in the development
	of advanced processor technology" the first PowerPC G3
	products were launched in 1997.  It is specifically optimised
	for the {Macintosh Operating System} and uses {backside cache}
	to improve performance.  The PowerPC G3 has been used by Apple
	in {notebook}, {desktop} and {server} products.

	{(http://apple.com/powermac/technologies/g3.html)}.

	(1998-10-03)

PowerPC Platform

	<architecture, standard> (PPCP, PReP - PowerPC Reference
	Platform, formerly CHRP - Common Hardware Reference Platform)
	An open system standard, designed by {IBM}, intended to ensure
	compatibility among {PowerPC}-based systems built by different
	companies.  The PReP standard specifies the {PCI} bus, but
	will also support {ISA}, {MicroChannel} and {PCMCIA}.

	PReP-compliant systems will be able to run the {Macintosh} OS,
	{OS/2}, {WorkplaceOS}, {AIX}, {Solaris}, {Taligent} and
	{Windows NT}.  IBM systems will (of course) be PReP-compliant.
	Apple's first {PowerPC} {Macintosh}es will not be compliant,
	but future ones may be.

	{IBM info
	(http://fnctsrv0.chips.ibm.com/products/ppc/L3ppcp.html)}.

	{(http://billboard.emedia.com.au/chipster/computers/CHRP/whatsCHRP.html)}.

	[Current OS statuses?]

	(1997-03-23)

PowerPC Reference Platform

	{PowerPC Platform}

Powerpoint

	<graphics, tool> A {Microsoft} application for creating
	presentations, speeches, slides, etc.

	(1996-08-26)

power save mode

	<architecture> A feature of a component or subsystem designed
	to actively reduce its power consumption when not in use.
	Almost any electronic device might benefit from having a power
	save mode but the most common application is for portable
	computers which attempt to conserve battery life by
	incorporating power saving modes in the {CPU}, display, disks,
	printer, or other units.

	(1995-10-14)

powerset

	<mathematics> The powerset of a set S is the set of possible
	subsets of S, usually written PS.

	(1994-11-08)

Powersoft Corporation

	<company> A leading vendor of {client/server} application
	development tools.

	In February 1994, {Watcom} became a wholly-owned subsidiary of
	Powersoft Corporation which merged with {Sybase} on 13
	February 1995.  In April 1995, the new company is the fastest
	growing top-ten software company and the seventh largest
	software company in the world.

	{(http://powersoft.com/)}.

	Headquarters: Concord, Massachusetts, USA.

	(1995-12-27)

power supply

	{power supply unit}

power supply unit

	<hardware> (PSU) An electronic module that converts high
	voltage (110 or 240 VAC) {alternating current} mains
	electricity into smoothed {direct current} at the various
	differnt voltages required by the {motherboard}; internal
	{peripheral} devices, cheifly storage devices: {hard disks},
	{CD} or {DVD}, {floppy disks} and external connections such as
	{USB}.  A PSU needs a high enough power output rating to
	supply all the devices connected to it and should output as
	little as possible electrical noise, both on the output wires
	and as {electromagnetic radiation}.

	See also {uninterruptable power supply}.

	(2007-09-20)

PP96

	<language> A parallel {Pascal} extension.

	[Details?  Any relation to {Parallel Pascal}?]

	(1998-04-29)

PPC

	{PowerPC}

PPCP

	{PowerPC Platform}

PPD

	{Parallel Presence Detect}

PPGA

	{Plastic Pin Grid Array}

ppi

	{pixels per inch}

PPL

	Polymorphic Programming Language.  An interactive, extensible
	language, based on {APL}, from {Harvard University}.

	["Some Features of PPL - A Polymorphic Programming Language",
	T.A. Standish, SIGPLAN Notices 4(8) (Aug 1969)].

	(1994-10-06)

PPLambda

	<language> essentially the {first-order predicate calculus}
	superposed upon the {simply-typed} {polymorphic
	lambda-calculus}.  PPLambda is the {object language} for
	{LCF}.

	["Logic and Computation: Interactive Proof with Cambridge
	LCF", L. Paulson, Cambridge U Press, 1987].

	(1995-05-01)

PPM

	{Portable Pixmap}

PPN

	Project-Programmer Number.

	A user-ID under {TOPS-10} and its various mutant progeny at
	{SAIL}, {BBN}, {CompuServe} and elsewhere.  Old-time hackers
	from the {PDP-10} era sometimes use this to refer to user IDs
	on other systems as well.

	[{Jargon File}]

	(1994-11-18)

PPP

	{Point-to-Point Protocol}

PPPoA

	{Point-to-Point Protocol over ATM}

PPPoE

	{Point-to-Point Protocol over Ethernet}

P-Prolog

	<language> A parallel {logic language}.

	["P-Prolog: A Parallel Logic Language Based on Exclusive
	Relation", R. Yang et al, Third Intl Conf on Logic Prog, 1986,
	pp. 255-269].

	(1994-11-18)

PPTP

	{Point-to-Point Tunneling Protocol}

PQS

	{Picture Quality Scale}

PR

	{Packet Radio}

pr

	<networking> The {country code} for Puerto Rico.

	(1999-01-27)

pr0n

	{pron}

PRA

	PRAgmatics.

	The language used by {COPS} for specification of {code
	generators}.

	["Metalanguages of the Compiler Production System COPS", J.
	Borowiec, in GI Fachgesprach "Compiler-Compiler", ed
	W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].

	(1994-11-18)

pragma

	<programming> (pragmatic information) A standardised form of
	{comment} which has meaning to the {compiler} or some other
	program.  It may use a special {syntax} or a specific form
	within the normal comment syntax.  A pragma usually conveys
	non-essential information, often intended to help the compiler
	to {optimise} the program or to generate formatted
	{documentation}.

	(2010-01-19)

PRAM

	<hardware> 1. {parallel random-access machine}.

	2. {parameter RAM}.

Praxis Critical Systems

	<company> The company that supplies {SPARK}.

	(2001-07-12)

pre\box

	<computer> {Phase 5}'s Amiga clone, announced on 1998-03-10.
	The pre\box will have a processor card with four {PowerPC}
	processors running in parallel.  The processors will range
	from four 200 MHz {PPC604e} chips to four 300MHz {PPC750}
	chips.  It will have a {Voodoo2} {video graphics card}, as
	well as a custom video chip working in concert, with 8 MB of
	{video ram}.  It will run {Amiga OS} 3.1 (or higher if
	{Gateway 2000} delivers the next upgrade before its release)
	and have {Motorola 68000} {CPU} {emulation} in software.

	Other features include {EIDE}, {Ultra Wide SCSI-II}, {PCI},
	{Ethernet} and {DIMM} sockets.  Extra RAM, hard disks and
	{CD-ROM} will be available.  The initial specification will
	probably be 32MB RAM, 32-speed CD and 4GB hard disk in an {ATX
	minitower}.  Systems should start at about $2000 for four
	parallel 200 MHZ CPUs and be available at the end of 1998.

	{Full press release
	(http://cucug.org/amiga/aminews/1998/980310-phase5.html)}.

	(1998-07-29)

PRE-CC

	PREttier Compiler-Compiler.

	An earlier version of {PRECCX}.

	(1995-01-24)

PRECCX

	<tool> (Pre-C-Compiler eXtended) An infinite-{lookahead}
	{compiler-compiler} by Peter Breuer <ptb@comlab.ox.ac.uk> for
	{context dependent grammars}.  PRECCX generates {ANSI C}.
	Specification scripts are in very {EBNF} with {inherited
	attributes} and {synthetic attributes} allowed.  Scripts can
	be compiled in separate {modules} and linked later.
	{Meta-production rules} are allowed.  Grammars can be
	essentially LL(oo) with optimisations.  A converter for {yacc}
	scripts is available.

	Versions 1.xx were known as "PRECC" and only had unbounded
	lookahead.  The 2.xx series added the "X" for "extended" and
	featured higher order parameterisation (inherited attributes).

	Version 2.42 integrates inherited and synthesized attributes
	by using a "monadic" model for parsing.  You can now synthsize
	attributes during the pass and inherit them in the remainder,
	e.g.

		@ foo = bar\x gum(x)

	synthesises an x in bar and passes it down into gum as a
	parameter.  Useful for @ what = ?\x did_you_say(x), for
	example.  It now compiles into {C} instead of running an
	{interpreter} at parse-time.

	Version 2.42 runs under {Unix} and {MS-DOS}.

	{(http://comlab.ox.ac.uk/archive/redo/precc.html)}.

	E-mail: Peter Breuer <ptb@comlab.ox.ac.uk>, Jonathan Bowen
	<J.P.Bowen@reading.ac.uk>.

	["The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
	In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint
	New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8
	January 1993, ISBN 1 873611 06 4 ({UKUUG}), 0 9520700 0 6
	(SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
	Herts SG9 9PL, UK, pp 167-182, 1993].

	(2000-04-24)

precedence

	{operator precedence}

precedence lossage

	/pre's*-dens los'*j/ A misunderstanding of {operator
	precedence} resulting in unintended grouping of arithmetic or
	logical {operators} when coding an {expression}.  Used
	especially of mistakes in {C} code due to the nonintuitively
	low precedence of "&", "|", "^", "<<" and ">>".  For example,
	the following C expression, intended to test the least
	significant bit of x,

		x & 1 == 0

	is parsed as

		x & (1 == 0)

	which is always zero (false).

	Some lazy programmers ignore precedence and parenthesise
	everything.  {Lisp} fans enjoy pointing out that this can't
	happen in *their* favourite language, which eschews precedence
	entirely, requiring one to use explicit parentheses
	everywhere.

	[{Jargon File}]

	(1994-12-16)

precharge

	<storage> The phase in the access cycle of {DRAM} during which
	the storage capacitors are charged to the appropriate value.

	(1997-02-23)

precision

	<mathematics> The number of decimal places to which a number
	is computed.

	Compare {accuracy}.

	(1998-04-19)

predecessor

	{parent}

predicate calculus

	{predicate logic}

predicate logic

	<logic> (Or "predicate calculus") An extension of
	{propositional logic} with separate symbols for {predicates},
	{subjects}, and {quantifiers}.

	For example, where propositional logic might assign a single
	symbol P to the proposition "All men are mortal", predicate
	logic can define the predicate M(x) which asserts that the
	subject, x, is mortal and bind x with the {universal
	quantifier} ("For all"):

		All x . M(x)

	Higher-order predicate logic allows predicates to be the
	subjects of other predicates.

	(2002-05-21)

predict

	1. <simulation> {simulation}, {predictive analytics}.

	2. <architecture> {branch prediction}.

	3. <audio, compression> {predictive audio compression}.

predomain

	<theory> A {domain} with no {bottom} element.

	(1995-05-04)

pre-emptive multitasking

	<operating system, parallel> A type of {multitasking} where
	the {scheduler} can interrupt and suspend ("swap out") the
	currently running task in order to start or continue running
	("swap in") another task.  The tasks under pre-emptive
	multitasking can be written as though they were the only task
	and the {scheduler} decides when to swap them.  The scheduler
	must ensure that when swapping tasks, sufficient state is
	saved and restored that tasks do not interfere.

	The length of time for which a process runs is known as its
	"{time slice}" and may depend on the task's priority or its
	use of resources such as memory and I/O.

	{OS/2}, {Unix} and the {Amiga} use pre-emptive multitasking.

	This contrasts with {cooperative multitasking} where each task
	must include calls to allow it to be {deschedule}d
	periodically.

	(1995-03-20)

prefetch

	{instruction prefetch}

prefix

	1. <unit> An {SI prefix} used to multiply the value of an {SI
	(Système International)} unit by some power of ten.

	2. <programming, mathematics> In mathematics or programming, a
	{prefix operator} is one that is written before its {operand}.  In
	a {programming language} using {prefix notation}, all operators
	are prefix operators.

	(2014-07-08)

prefix notation

	<language> (Or "prefix syntax") One of the possible orderings
	of {functions} and {operands}: in prefix notation the function
	precedes all its operands.  For example, what may normally be
	written as "1+2" becomes "(+ 1 2)".  A few languages (e.g.,
	{lisp}) have strictly prefix syntax, many more employ prefix
	notation in combination with {infix notation}.

	The opposite, {postfix notation}, is somewhat rarer.

	(2014-07-08)

prefix syntax

	{prefix notation}

pre-order

	<theory>

	1. {traversal}.

	2. A {relation} R is a pre-order if it is {reflexive}
	(x R x) and {transitive} (x R y R z => x R z).  If it is also
	{antisymmetric} (x R y R x => x = y) then it is a {partial
	ordering}.

	(2001-10-01)

pre-order traversal

	{traversal}

PREP

	1. (PReP) {PowerPC Reference Platform}.

	2. (PREP) PRogrammed Electronics Patterns.  Language for
	designing {integrated circuits}.  ["Computer Assisted Mask
	Production", R.L. Rosenfeld, Proc IEEE 57(9) Sep 1969].

prepaging

	<architecture> (Or "working set model") A technique whereby
	the {operating system} in a {paging} {virtual memory}
	{multitasking} environment loads all pages of a process's
	{working set} into memory before the process is restarted.

	Under {demand paging} a process accesses its working set by
	{page faults} every time it is restarted.  Under prepaging the
	system remembers the pages in each process's working set and
	loads them into physical memory before restarting the process.
	Prepaging reduces the {page fault} rate of reloaded processes
	and hence generally improves CPU efficiency.

	["Modern Operating Systems", Andrew S. Tanenbaum,
	pub. Prentice Hall, Inc.  1992].

	(1998-04-23)

prepend

	<jargon> /pree'pend'/ (by analogy with "append") To prefix or
	add to the beginning.

	[{Jargon File}]

	(1998-04-23)

preprocessor

	<programming> A program that transforms input data in some way
	before it is read by the main program.  In the case of a
	{compiler}, the input is {source code}.  The main advantage of
	using a preprocessor is that it is possible to change the
	specification of the input data without changing the main
	program.  The separation can also help to make the system's
	overall behaviour easier to understand.  The disadvantage is
	that performance may be reduced by the extra input and output
	performed between the two programs.

	For example, the {C} preprocessor, {cpp}, handles textual
	{macro} substitution (it acts as a "macro preprocessor"),
	{conditional compilation} and inclusion of other files.

	A preprocessor may be used to transform a program into a
	simpler language, e.g. to transform {C++} into {C}.

	(2007-04-05)

pre-sales support rep

	<job> A person who supports sales by analysing customer
	requirements, proposing and demonstrating technical solutions,
	ensuring acceptable product installations, training users and
	providing initial technical support.

	(2004-03-20)

presence detect

	<storage> A means of identifying a {memory chip} to the
	{memory controller} logic.  The original scheme, Parallel
	Presence Detect (PPD) used a separate pin for each bit of
	information.  The limited number of pins available only gave
	the density and the speed of the chips.  To pass more
	information, the Serial Presence Detect (SPD) scheme was
	introduced, storing the information in {serial EEPROM} with
	one pin to enable it and one for data.

	(2012-06-25)

presentation layer

	<networking> The second highest layer (layer 6) in the {OSI}
	seven layer model.  Performs functions such as text
	{compression}, code or format conversion to try to smooth out
	differences between {hosts}.  Allows incompatible processes in
	the {application layer} to communicate via the {session
	layer}.

	Documents: {ITU} Rec. X.226 ({ISO} 8823), ITU Rec. X.216 (ISO
	8822).

	(1996-07-20)

Presentation Manager

	The {elephantine} graphical user interface to the {OS/2}
	{operating system}.

prestidigitization

	/pres`t*-di"j*-ti:-zay"sh*n/ 1. A term coined by Daniel Klein
	<dvk@lonewolf.com> for the act of putting something into
	digital notation via sleight of hand.

	["Open Channel", IEEE "Computer", November 1981].

	2. Data entry through legerdemain.

	[{Jargon File}]

	(1994-11-01)

PRESTO

	A parallel language for shared-memory multiprocessors, built
	on top of C++ by Bershad et al, U Washington 1987.  PRESTO
	provides {class}es for {threads} and {spinlocks} as well as
	{Mesa}-style {monitors} and {condition variables}.

	{(ftp://cs.washington.edu/pub/presto1.0.tar.Z)}.  E-mail:
	<presto@cs.washington.edu>.

	["PRESTO: A Kernel for Parallel Programming Environments",
	B.N. Bershad et al, U Wash CS TR, Jan 1987].

Pretty Amazing New Stuff

	<humour, communications> (PANS) What {PSTN} is evolving into.

	(1996-10-16)

Pretty Good Privacy

	<tool, cryptography> (PGP) A high security {RSA} {public-key
	encryption} application for {MS-DOS}, {Unix}, {VAX/VMS}, and
	other computers.  It was written by {Philip R. Zimmermann}
	<pkz@acm.org> of Phil's Pretty Good(tm) Software and later
	augmented by a cast of thousands, especially including Hal
	Finney, Branko Lankester, and Peter Gutmann.

	PGP was distributed as "{guerrilla freeware}".  The authors
	don't mind if it is distributed widely, just don't ask Philip
	Zimmermann to send you a copy.  PGP uses a {public-key
	encryption} {algorithm} claimed by US patent #4,405,829.  The
	exclusive rights to this patent are held by a California
	company called {Public Key Partners}, and you may be
	infringing this patent if you use PGP in the USA.  This is
	explained in the PGP User's Guide, Volume II.

	PGP allows people to exchange files or messages with {privacy}
	and {authentication}.  Privacy and authentication are provided
	without managing the keys associated with conventional
	cryptographic software.  No secure channels are needed to
	exchange keys between users, which makes PGP much easier to
	use.  This is because PGP is based on {public-key
	cryptography}.

	PGP encrypts data using the {International Data Encryption
	Algorithm} with a random {session key}, and uses the {RSA}
	algorithm to encrypt the session key.

	In December 1994 Philip Zimmermann faced prosecution for
	"exporting" PGP out of the United States but in January 1996
	the US Goverment dropped the case.  A US law prohibits the
	export of {encryption} software out of the country.
	Zimmermann did not do this, but the US government hoped to
	establish the proposition that posting an encryption program
	on a {BBS} or on the {Internet} constitutes exporting it - in
	effect, stretching export control into domestic censorship.
	If the government had won it would have had a chilling effect
	on the free flow of information on the global network, as well
	as on everyone's privacy from government snooping.

	{FAQ (ftp://ftp.netcom.com/pub/mp/mpj/getpgp.asc)}.  {UK FTP
	(ftp://src.doc.ic.ac.uk/packages/pgp/)}.  {USA FTP
	(http://web.mit.edu/network/pgp-form.html)}.
	{(http://pegasus.esprit.ec.org/people/arne/pgp.html)}.

	{Justice Dept. announcement
	(http://eff.org/pub/Alerts/usatty_pgp_011196.announce)}.

	["Protect Your Privacy: A Guide for PGP Users", William
	Stallings, Prentice-Hall, ISBN 0-13-185596-4].

	(1996-04-07)

pretty pictures

	(scientific computation) The next step up from {numbers}.
	Interesting graphical output from a program that may not have
	any sensible relationship to the system the program is
	intended to model, but good for showing to {management}.

	[{Jargon File}]

	(1995-02-15)

prettyprint

	/prit'ee-print/ (Or "pretty-print") To generate "pretty"
	human-readable output from a {hairy} internal representation;
	especially used for the process of {grind}ing program code.

	[{Jargon File}]

	(1995-02-15)

pretzel key

	{feature key}

preventive maintenance

	(PM) To bring down a machine for inspection or test purposes.

	See {provocative maintenance}, {scratch monkey}.

	(1995-02-15)

PRI

	{ISDN} {Primary Rate Interface}.

	See also {BRI}

	(1994-12-08)

primary cache

	<hardware, architecture> (L1 cache, level one cache) A small,
	fast {cache} memory inside or close to the {CPU} chip.

	For example, an {Intel 80486} has an eight-{kilobyte} on-chip
	cache, and most {Pentiums} have a 16-KB on-chip level one
	cache that consists of an 8-KB {instruction cache} and an 8-KB
	{data cache}.

	The larger, slower {secondary cache} is normally connected to
	the CPU via its external {bus}.

	(1997-06-25)

Primary Domain Controller

	<networking> (PDC) Each {Windows NT} {domain} has a Primary
	Domain Controller and zero or more {Backup Domain
	Controllers}.  The PDC holds the {SAM} database and
	authenticates access requests from {workstations} and
	{servers} in the domain.

	(2003-07-16)

primary key

	<database> A unique {identifier}, often an {integer}, that
	labels a certain row in a table of a {relational database}.

	When this value occurs in other tables as a reference to a
	particular row in the first table it is called a "foreign
	key".

	Some {RDBMS}es can generate a new unique identifier each time
	a new row is inserted, others merely allow a column to be
	constrained to contain unique values.

	A table may have multiple {candidate keys}, from which the
	primary key is chosen.  The primary key should be an arbitrary
	value, such as an {autoincrementing} integer.  This avoids
	dependence on uniqueness, permanence and format of existing
	columns with real-world meaning (e.g. a person's name) or
	other external identifier (e.g. social security number).

	There should be enough possible primary key values to cater
	for the current and expected number of rows, bearing in mind
	that a wider column will generally be slower to process.

	(2006-05-29)

primary management domain

	<messaging> (PRMD) The component of an {X.400} {electronic
	mail address} that gives the organisation name, usually
	abbreviated to p= in written addresses.

	See also {ADMD}.

	(2003-05-15)

Primary Rate Interface

	(PRI) A type of {ISDN} connection.  In North America and
	Japan, this consists of 24 channels, usually divided into 23 B
	channels and 1 D channel, and runs over the same physical
	interface as {T1}.  Elsewhere the PRI has 31 user channels,
	usually divided into 30 B channels and 1 D channel and is
	based on the {E1} interface.

	PRI is typically used for connections such as one between a
	PBX (private branch exchange, a telephone exchange operated by
	the customer of a telephone company) and a CO (central office,
	of the telephone company) or IXC (inter exchange carrier, a
	long distance telephone company).

	(1995-01-18)

primary storage

	{main memory}

Prime Computer

	<company> (Or "Pr1ME") A {minicomputer} manufacturer.

	[Dates?  Status?  Products?  Addresses?]

	(1996-09-28)

Primenet, Inc.

	Arizona's {Internet provider}.

	(1994-12-08)

prime number theorem

	<mathematics> The number of {prime numbers} less than x is
	about x/log(x).  Here "is about" means that the ratio of the
	two things tends to 1 as x tends to infinity.  This was first
	conjectured by {Gauss} in the early 19th century, and was
	proved (independently) by Hadamard and de la Vall'ee Poussin
	in 1896.  Their proofs relied on {complex analysis}, but Erdös
	and Selberg later found an "elementary" proof.

	(1995-04-10)

prime time

	(From TV programming) Normal high-usage hours on a
	{time-sharing} system; the day shift.  Avoidance of prime time
	was traditionally given as a major reason for {night mode}
	hacking.  The rise of the personal workstation has rendered
	this term, along with {time-sharing} itself, almost obsolete.
	The hackish tendency to late-night {hacking runs} has changed
	not a bit.

	[{Jargon File}]

	(1995-01-18)

primitive

	<programming> A {function}, {operator}, or {type} which is
	built into a programming language (or {operating system}),
	either for speed of execution or because it would be
	impossible to write it in the language.  Primitives typically
	include the arithmetic and logical operations (plus, minus,
	and, or, etc.) and are implemented by a small number of
	{machine language} instructions.

	(1995-05-01)

Princeton University

	<body, education> Chartered in 1746 as the College of New
	Jersey, Princeton was British North America's fourth college.
	First located in Elizabeth, then in Newark, the College moved
	to Princeton in 1756.  The College was housed in Nassau Hall,
	newly built on land donated by Nathaniel and Rebeckah
	FitzRandolph.  Nassau Hall contained the entire College for
	nearly half a century.  The College was officially renamed
	Princeton University in 1896; five years later in 1900 the
	Graduate School was established.

	Fully coeducational since 1969, Princeton now enrolls
	approximately 6,400 students (4,535 undergraduates and 1,866
	graduate students).  The ratio of full-time students to
	faculty members (in full-time equivalents) is eight to one.

	Today Princeton's main campus in Princeton Borough and
	Princeton Township consists of more than 5.5 million square
	feet of space in 160 buildings on 600 acres.  The University's
	James Forrestal Campus in Plainsboro consists of one million
	square feet of space in four complexes on 340 acres.

	As Mercer County's largest private employer and one of the
	largest in the Mercer/Middlesex/Somerset County region, with
	approximately 4,830 permanent employees - including more than
	1,000 faculty members - the University plays a major role in
	the educational, cultural, and economic life of the region.

	{(http://princeton.edu/index.html)}.

	(1994-01-19)

principal type

	The most general {type} of an expression.  For example, the
	following are all valid types for the {lambda abstraction}
	(\ x . x):

		Int -> Int
		Bool -> Bool
		(a->b) -> (a->b)

	but any valid type will be an instance of the principal type:
	a -> a.  An instance is derived by substituting the same type
	expression for all occurences of some {type variable}.  The
	principal type of an expression can be computed from those of
	its subexpressions by Robinson's {unification} {algorithm}.

	(1994-12-16)

PRINT

	<language> PRe-edited INTerpreter.

	An early mathematics language for the {IBM 705}.

	[Sammet 1969, p. 134].

	(1995-05-01)

printed circuit board

	<hardware> (PCB) A thin board to which electronic components
	are fixed by solder.  Component leads and {integrated circuit}
	pins may pass through holes ("vias") in the board or they may
	be {surface mounted}, in which case no holes are required
	(though they may still be used to connect different layers).

	The simplest kind of PCB has components and wires on one side
	and interconnections (the printed circuit) on the other.  PCBs
	may have components mounted on both sides and may have many
	internal layers, allowing more connections to fit in the same
	board area.  Boards with internal conductor layers usually
	have "plated-through holes" to improve the electrical
	connection to the internal layers.

	The connections are metal strips (usually copper).  The
	pattern of connections is often produced using photo-resist
	and acid etching.  Boards, especially those for high frequency
	circuits such as modern {microprocessors}, usually have one or
	more "{ground planes}" and "power planes" which are large
	areas of copper for greater current carrying ability.

	A computer or other electronic system might be built from
	several PCBs, e.g. processor, memory, graphics controller, disk
	controller etc.  These boards might all plug into a
	{motherboard} or {backplane} or be connected by a {ribbon
	cable}.

	(1995-05-01)

printer

	<printer> A {peripheral} device for producing text and images
	on paper.  There are many different types, broadly grouped
	into "{impact printers}" and "{non-impact printers}".

	Compare {plotter}.  See also {Braille printer}, {tree-killer}.

	(1996-01-13)

Printer Access Protocol

	<networking, protocol, printer> (PAP) A {protocol} used in
	{Mac OS} {Appletalk} to provide bi-directional communication
	between {PostScript} printers and the client computer.

	(1999-03-02)

printer port

	<hardware, printer> A connector found on many {microcomputers}
	intended for attaching a printer.  This may be a
	general-purpose input/output {parallel port} or may be a
	special {Centronics} interface.

	Most printers can also be connected to a {serial port} but
	that is unlikely to be described as a "printer port".

	(1996-01-07)

printf

	<library> The standard function in the {C} programming
	language library for printing formatted output.

	The first argument is a format string which may contain
	ordinary characters which are just printed and "conversion
	specifications" - sequences beginning with '%' such as %6d
	which describe how the other arguments should be printed, in
	this case as a six-character decimal integer padded on the
	right with spaces.

	Possible conversion specifications are d, i or u (decimal
	integer), o ({octal}), x, X or p ({hexadecimal}), f
	({floating-point}), e or E ({mantissa} and {exponent},
	e.g. 1.23E-22), g or G (f or e format as appropriate to the
	value printed), c (a single character), s (a string), %
	(i.e. %% - print a % character).  d, i, f, e, g are signed,
	the rest are unsigned.

	The variant {fprintf} prints to a given output stream and
	sprintf stores what would be printed in a string variable.

	{Unix manual page}: printf(3).

	(1996-12-08)

PRINT I

	An early system on {IBM 705}.

	[CACM 2(5):16 (May 1959)].

printing discussion

	[XEROX PARC] A protracted, low-level, time-consuming,
	generally pointless discussion of something
	only peripherally interesting to all.

	[{Jargon File}]

print server

	<printer> A {server} device that is set up on a {network} to
	route print requests and status information between computers
	and {printers} connected by a network.  A typical print server
	routes print requests for multiple computers and printers on a
	network.

	For example, a networked {workstation} user submits a print
	command that includes a {print file} and information about the
	printer to be used, usually a nearby printer for convenience.
	The print server sends the print file to the requested
	printer.  The printer {spools} the print file and provides job
	status.  The print server relays the status of the printer
	back to the workstation and makes this status information
	available to other devices on the network.

	(1999-02-18)

Print Services Facility

	<printer> (PSF) {IBM}'s system software which generates
	{native} IBM printer language, {IPDS} and, depending on the
	version, {PostScript} and LaserJet {PCL}.

	See also: {Advanced Function Presentation}.

	(1998-06-28)

priority inheritance

	<parallel> A technique for avoiding {priority inversion} by
	temporarily raising the prioriry of all processes that want to
	access a shared resource to the highest priority level of any
	of them.  Priority inversion occurs where a low priority
	process, L is holding a resource required by a high priority
	process, H, but L is not running because a medium priority
	process, M is running.  Under priority inheritance, L
	temporarily inherits H's priority, allowing L to run and
	release the resource H is waiting for.

	For example, an ambulance (H) is stuck behind a lorry (L)
	waiting at a junction (the shared resource) for a gap in a
	line of cars (M) using the junction.  Applying priority
	inheritance, the cars give way to the lorry as they would to
	the ambulance, thus allowing the lorry and then the ambulance
	to use the junction.

	(2005-02-11)

priority interrupt

	<jargon> Any stimulus compelling enough to yank one right out
	of {hack mode}.  Classically used to describe being dragged
	away by an {SO} for immediate sex, but may also refer to more
	mundane interruptions such as a fire alarm going off in the
	near vicinity.  Also called an {NMI} (non-maskable interrupt),
	especially in PC-land.

	[{Jargon File}]

	(2005-02-13)

priority inversion

	<parallel> The state of a concurrent system where a high
	priority task is waiting for a low priority task which is
	waiting for a medium priority task.  The system may become
	unstable and {crash} under these circumstances.

	In an {operating system} that uses multiple tasks, each task
	(or {context}) may be given a priority.  These priorities help
	the {scheduler} decide which task to run next.  Consider
	tasks, L, M, and H, with priorities Low, Medium, and High.  M
	is running and H is blocked waiting for some resource that is
	held by L.  So long as any task with a priority higher than L
	is runable, it will prevent task L, and thus task H, from
	running.

	Priority inversion is generally considered either as a
	high-level design failure or an implementation issue to be
	taken into account depending on who is talking.  Most
	operating systems have methods in place to prevent or take
	inversion into account.  {Priority inheritance} is one method.

	The most public instance of priority inversion is the repeated
	'fail-safe' rebooting of the {Mars Pathfinder
	(http://research.microsoft.com/~mbj/Mars_Pathfinder/Mars_Pathfinder.html)}.
	base station ('Sagan Memorial Station').

	(2003-06-04)

priority queue

	<programming> A data structure with three operations: insert a
	new item, return the highest priority item, and remove the
	highest priority item.  The obvious way to represent priority
	queues is by maintaining a sorted list but this can make the
	insert operation very slow.  Greater efficiency can be
	achieved by using {heaps}.

	(1996-03-12)

priority scheduling

	<operating system> {Processes scheduling} in which the
	{scheduler} selects tasks to run based on their priority as
	opposed to, say, a simple {round-robin}.

	Priorities may be static or dynamic.  Static priorities are
	assigned at the time of creation, while dynamic priorities are
	based on the processes' behaviour while in the system.  For
	example, the scheduler may favour {I/O}-intensive tasks so
	that expensive requests can be issued as early as possible.

	A danger of priority scheduling is {starvation}, in which
	processes with lower priorities are not given the opportunity
	to run.  In order to avoid starvation, in preemptive
	scheduling, the priority of a process is gradually reduced
	while it is running.  Eventually, the priority of the running
	process will no longer be the highest, and the next process
	will start running.  This method is called {aging}.

PRISM

	A distributed {logic language}.

	["PRISM: A Parallel Inference System for Problem Solving",
	S. Kasif et al, Proc 1983 Logic Prog Workshop, pp. 123-152].

Prisoner of Bill

	<humour> (PoB) A derisory term, in use generally among {Unix}
	users, for anyone who uses {Microsoft} products either because
	they don't know there is anything better (i.e. Unix) or
	because they would be incapable of working anything more
	complex (i.e. Unix).

	The interesting and widespread presumption among users of the
	term is that (at least at the time of writing, 1998) using
	anything other than Unix or a Microsoft OS (whether {VMS},
	{Macintosh}, {Amiga}) is so eccentric a choice as to be at
	least somewhat praiseworthy.

	(1998-09-07)

privacy

	<security> An attribute of a system's {security} that ensures
	that only intended or desired people or bodies can read a
	message or piece of stored data.  Privacy is often enforced by
	some kind of {access control} or {encryption}.

	(2011-06-03)

Privacy Enhanced Mail

	<messaging< (PEM) {Internet} {electronic mail} which provides
	{confidentiality}, {authentication} and message {integrity}
	using various {encryption} methods.

	See also {Pretty Good Privacy}.

	(2009-06-03)

private

	{privacy}

Private Automatic Branch eXchange

	<communications> (PABX) A telephone exchange operated within
	an organisation, used for switching calls between internal
	lines and between internal and {PSTN} lines.  In contrast to a
	{PMBX}, a PABX can route calls without manual intervention,
	based entirely on the number dialed.  Not all PABXs can route
	external calls to internal numbers automatically however.

	(1998-08-07)

Private Branch Exchange

	<communications> (PBX) A telephone exchange local to a
	particular organisation who use, rather than provide,
	telephone services.  The earliest PBXs were manual ({Private
	Manual Branch EXchange}, PMBX) but are now more likely to be
	automatic ({Private Automatic Branch eXchange}).

	(1997-06-25)

private key

	<cryptography> A piece of data used in {private-key
	cryptography} and {public-key cryptography}.  In the former
	the private key is known by both sender and recipient whereas
	in the latter it is known only to the sender.

	(2008-02-07)

private-key cryptography

	<cryptography> As opposed to {public-key cryptography}, a
	cryptographic method in which the same key is used to encrypt
	and decrypt the message.  Private-key algorithms include the
	obsolescent {Data Encryption Standard} (DES), triple-DES
	(3DES), the {Advanced Encryption Standard} (AES), also known
	as Rijndael, Blowfish, Twofish RC2, {RC4}, RC5 and RC6.

	A problem with private-key cryptography is that the sender and
	the recipient of the message must agree on a common key via
	some alternative secure channel.

	{Public-key cryptography} gives an answer to this problem.

	(2008-02-07)

Private Manual Branch eXchange

	<communications> (PMBX) The original manual equivalent of a
	{PABX}; a PMBX involves company employed operators manually
	switching each call using a manual switchboard.

	(1998-08-07)

privileged instruction

	A {machine code} instruction that may only be executed when
	the processor is running in {supervisor mode}.  Privileged
	instructions include operations such as I/O and {memory
	management}.

	(1995-02-15)

PRL

	Proof Refinement Logic.

	Versions: {micro-PRL}, {lambda-PRL}, {nu-PRL}.

	["PRL: Proof Refinement Logic Programmer's Manual", CS Dept,
	Cornell, 1983].

	(1995-01-24)

PRMD

	{primary management domain}

PRML

	{Partial Response Maximum Likelihood}

probabilistic

	<probability> Relating to, or governed by, probability. The
	behaviour of a probabilistic system cannot be predicted
	exactly but the probability of certain behaviours is known.
	Such systems may be simulated using {pseudorandom} numbers.
	{Evolutionary computation} uses probabilistic processes to
	generate new (potential) solutions to a problem.

	See also {deterministic}, {non-probabilistic}.

	(1995-09-22)

probabilistic automaton

	{nondeterministic automaton}

Probability of Failure on Demand

	<systems> (POFOD) The likelihood that some system will fail
	when a service request is made.

	(2010-09-26)

Probe

	An {object-oriented} {logic language} based on {ObjVlisp}.

	["Proposition d'une Extension Objet Minimale pour Prolog",
	Actes du Sem Prog en Logique, Tregastel (May 1987),
	pp. 483-506].

problem state

	{IBM} jargon for {user mode}, the opposite of "supervisor
	state".

	On IBM {System 360}, 370 and 390 {mainframes} {privileged
	instructions} may only be executed in "supervisor state".
	{Application programs} request the {operating system} to
	perform these operations by using the Supervisor Call (SVC)
	instruction.

	(1995-02-15)

Problem Statement Language/Problem Statement Analyser

	<language> (PSL/PSA) A {CASE} system developed by
	D. Teichroew that allows computer-based development
	and analysis of a statement of {requirements},
	and assistance during the design phase.

	(2010-01-26)

PROC

	<language> The {job control language} used in the {Pick}
	{operating system}.

	["Exploring the Pick Operating System", J.E. Sisk et al,
	Hayden 1986].

	(1998-10-13)

procedural

	{procedural language}

procedural language

	<language> Any {programming language} in which the programmer
	specifies an explicit sequences of steps to follow to produce
	a result (an {algorithm}).

	The term should not be confused with "{imperative language}" -
	a language that specifies explicit manipulation of state.  An
	example (non-imperative) procedural language is {LOGO}, which
	specifies sequences of steps to perform but does not have an
	internal state.

	Other procedural languages include {Basic}, {Pascal}, {C}, and
	{Modula-2}.

	Both procedural and imperative languages are in contrast to
	{declarative languages}, in which the programmer specifies
	neither explicit steps nor explicit state manipulation.

	(2004-05-17)

Procedural Language/SQL

	<language> (PL/SQL) {Oracle Corporation}'s proprietary
	{procedural language} extension of industry-standard {SQL}.

	[Features?  Reference?  Any relation to {PL/I}?]

	(1999-09-14)

procedure

	{subroutine}

proceedings

	<publication> (Proc.) A printed collection of papers presented
	at a conference or meeting, e.g. "The Proceedings of the Fifth
	International Conference on Microelectronics for Neural
	Networks and Fuzzy Systems".  Along with learned journals,
	conference proceedings are a major repository of peer-reviewed
	research results.

	(2008-07-16)

process

	1. <operating system, software> The sequence of states of an
	executing {program}.  A process consists of the program {code}
	(which may be shared with other processes which are executing
	the same program), private data, and the state of the
	{processor}, particularly the values in its {registers}.  It
	may have other associated resources such as a {process
	identifier}, open files, {CPU time} limits, {shared memory},
	{child processes}, and {signal handlers}.

	One process may, on some {platforms}, consist of many
	{threads}.  A {multitasking} {operating system} can run
	multiple processes {concurrently} or in {parallel}, and allows
	a process to spawn "child" processes.

	(2001-06-16)

	2. <business> The sequence of activities, people, and systems
	involved in carrying out some business or achieving some
	desired result.  E.g. software development process, project
	management process, configuration management process.

	(2001-06-16)

Process and Experiment Automation Real-Time Language

	<language> (PEARL) A {real-time} language for programming
	{process control} systems, widely used in Europe.  Size and
	complexity exceeds {Ada}.  Defined in {DIN} 66253 Teil 2.

	["Programmiersprache PEARL", Beuth-Verlag, Nov 1980].

	(2000-08-16)

process data

	{data processing}

Process Design Language 2

	<language> (PDL2) A language developed for the {Texas
	Instruments} {ASC} computer.

	["Texas Instruments Process Design Methodology - Design
	Specification: Process Design Language", Volume I (Sep 1976)].

	[Mentioned in "An Overview of Ada" J.G.P. Barnes, Soft Prac &
	Exp 10:851-887 (1980)].

	(1995-08-13)

process ID

	{process identifier}

process identifier

	<operating system> (PID) An integer used by the {Unix}
	{kernel} to uniquely identify a process.  PIDs are returned by
	the {fork} {system call} and can be passed to wait() or
	kill() to perform actions on the given process.

	(1996-12-09)

processing

	<data> Performing some predefined sequence of operations on an
	input to produce an output or change of internal state; activity
	specifically involving the computer's {CPU}.

	The term is often qualified: "{data processing}" treats
	{digital} data, "{signal processing}" treats {analog} data
	(possibly in digital form), "{word processing}" takes in typed
	human language input and produces digital documents, {image
	processing} transforms digital {images}.

	(2003-10-23)

processor

	{central processing unit}

Processor Direct Slot

	<hardware> (PDS) {Apple Computer}'s name for a {local bus}
	connection.  Most {Macintosh}es have only one PDS connector.
	Different Apple computers have different PDS specifications.

	(1995-05-02)

processor farm

	<computer, parallel> A {parallel processor} where tasks are
	distributed, or "farmed out", by one "farmer" processor to
	several "worker" processors, and results are sent back to the
	farmer.  This arrangement is suitable for {applications} which
	can be partitioned into many separate, independent tasks, the
	canonical examples being {ray tracing} and the {Mandelbrot
	set}.  In order to be efficient, the extra time spent on
	communications must be small compared to the time spent
	processing each task.

	(2001-05-28)

Processor System Modeling Language

	<language> (PSML) A language for simulating computer systems
	designs, implemented as a {preprocessor} to {SIMSCRIPT}.

	["Processor System Modeling - A Language and Simulation
	System", F. Pfisterer, Proc Symp on Simulation of Computer
	Systems, Aug 1976].

	(2009-05-11)

processor time

	<software> The amount of time a {process} takes to run, given
	that it has exclusive and uninterrupted use of the {CPU}.
	Note that in a modern computer, this would be very unusual,
	and so the processor time calculation for most processes
	involves adding up all the small amounts of time the CPU
	actually spends on the process.

	Some systems break processor time down into {user time} and
	{system time}.

	Compare {wall clock time}.

	(1998-03-13)

process scheduling

	{multitasking}

process table

	<operating system, process> A table containing all of the
	information that must be saved when the {CPU} switches from
	running one {process} to another in a {multitasking} system.

	The information in the process table allows the suspended
	process to be restarted at a later time as if it had never
	been stopped.  Every process has an entry in the table.  These
	entries are known as {process control blocks} and contain the
	following information:

	process state - information needed so that the process can be
	loaded into memory and run, such as the {program counter}, the
	{stack pointer}, and the values of {registers}.

	memory state - details of the memory allocation such as
	pointers to the various memory areas used by the program

	resource state - information regarding the status of files
	being used by the process such as {user ID}.

	Accounting and scheduling information.

	An example of a UNIX process table is shown below.

	 SLOT  ST  PID  PGRP  UID  PRI  CPU  EVENT  NAME  FLAGS
	  0    s    0     0     0   95   0  runout  sched load sys
	  1    s    1     0     0   66   1    u     init  load
	  2    s    2     0     0   95   0  10bbdc  vhand load sys

	SLOT is the entry number of the process.

	ST shows whether the process is paused or sleeping (s), ready
	to run (r), or running on a {CPU} (o).

	PID is the {process ID}.

	PGRP is the {process Group}.

	UID is the {user ID}.

	PRI is the priority of the process from 127 (highest) to 0
	(lowest).

	EVENT is the {event} on which a process is paused or
	sleeping.

	NAME is the name of the process.

	FLAGS are the process {flags}.

	A process that has died but still has an entry in the process
	table is called a {zombie process}.

	(1998-04-24)

PROCOL

	<language> A parallel {object language} with {protocols},
	{constraints} and distributed delegation by J. Van Den Bos of
	Erasmus University, Rotterdam.

	["PROCOL: A Parallel Object Language with Protocols", J. Van
	Den Bos et al, SIGPLAN Notices 24(10):95-102 (OOPSLA '89), Oct
	1989].

	(1998-03-23)

Procomm

	<communications, product> A {terminal emulator} program,
	originally from {Datastorm Technologies}, used for connection
	to {BBS}es etc.

	Procomm Plus for Windows incorporates automatic {modem}
	detection, a custom log-on script generator and sophisticated
	{off-line} message managers for {CompuServe} and {MCI Mail}.
	It also has a fax send and receive capability.

	Version 2.0 was chosen as the Editors Choice in PC Magazine
	1995-03-14.

	Procomm Plus is now distributed by {Symantec, Inc.}.

	{Procomm Home (http://symantec.com/procomm/)}.

	{Version 2.4.3 1989-01-01
	(http://ftp.bauru.unesp.br/comunicacao/procomm/PRCM243.NEW)}.

	Current Version: Procomm Plus 4.8, as of 2004-06-29.

	(2004-06-29)

Procrustean string

	<programming> A fixed-length {string}.  If a string value is
	too long for the allocated space, it is truncated to fit; and
	if it is shorter, the empty space is padded, usually with
	space characters.

	This is an allusion to Procrustes, a legendary robber of ancient
	Attica.  He bound his victims to a bed, and if they were shorter
	than the bed, he stretched their limbs until they would fit; if
	their limbs were longer, he lopped them off.

	(1997-09-12)

Prodigy

	<networking> A commercial on-line conferencing service,
	co-developed by {IBM} and Sears, Roebuck, Inc.

	Prodigy's main competitors are {AOL} and {Compuserve}.

	(1995-03-01)

ProDoc

	<documentation> A set of tools for software {documentation}
	from {SPC}.

	(2006-10-12)

product

	<mathematics, programming> An {expression} in mathematics or
	computer programming consisting of two other expressions
	multiplied together.  In mathematics, multiplication is
	usually represented by {juxtaposition}, e.g. "x y", whereas in
	programming, "*" is used as an {infix} operator, e.g. "salary
	* tax_rate.

	In the most common type of product, each {operand} is a number
	({integer}, {real number}, {fraction} or {imaginary number})
	but the term extends naturally to cover more complex
	operations like multiplying a string by an integer (e.g., in
	{Perl}, "foo" x 2) or multiplying {vectors} and {matrices} or
	more than two operands.

	In {type systems}, a {tuple} is sometimes known as a "product
	type".

	(2006-10-12)

production system

	<programming> A production system consists of a collection of
	productions (rules), a {working memory} of {facts} and an
	{algorithm}, known as {forward chaining}, for producing new
	facts from old.  A rule becomes eligible to "fire" when its
	conditions match some set of elements currently in working
	memory.  A {conflict resolution strategy} determines which of
	several eligible rules (the {conflict set}) fires next.  A
	condition is a list of symbols which represent constants,
	which must be matched exactly; variables which bind to the
	thing they match and "<> symbol" which matches a field not
	equal to symbol.

	Example production systems are {OPS5}, {CLIPS}, {flex}.

	(2005-06-17)

Professional Graphics Adapter

	<graphics, specification> (PGA) A computer video {display
	standard} produced by {IBM} for early {CAD} applications.  It
	had a resolution of 640x400 {pixels}.

	(1997-04-25)

Professional Office System

	<messaging> (PROFS) An office messaging system from {IBM},
	used worldwide, mainly on IBM {mainframes}.

	(1996-03-23)

professional programming

	{paranoid programming}

professional services

	<job> A department of a supplier providing consultancy and
	programming manpower for the supplier's products.

	(2004-03-09)

PROFILE

	Simple language for matching and scoring data.  "User's Manual
	for the PROFILE System", Cambridge Computer Assoc (May 1974).

	[{Jargon File}]

profile

	1. A control file for a program, especially a text file
	automatically read from each user's home directory and
	intended to be easily modified by the user in order to
	customise the program's behaviour.  Used to avoid {hard-coded}
	choices (see also {dot file}, {rc file}).

	2. A report on the amounts of time spent in each routine of a
	program, used to find and {tune} away the {hot spots} in it.
	This sense is often verbed.  Some profiling modes report units
	other than time (such as call counts) and/or report at
	granularities other than per-routine, but the idea is similar.

PROFS

	{Professional Office System}

PROGENY

	1961.  Report generator for UNIVAX SS90.

proglet

	/prog'let/ [UK] A short extempore program written to meet an
	immediate, transient need.  Often written in BASIC, rarely
	more than a dozen lines long and containing no subroutines.
	The largest amount of code that can be written off the top of
	one's head, that does not need any editing, and that runs
	correctly the first time (this amount varies significantly
	according to one's skill and the language one is using).
	Compare {toy program}, {noddy}, {one-liner wars}.

	[{Jargon File}]

program

	{software}

Program Composition Notation

	(PCN) A specification language for parallelism between {C} and
	{Fortran} {modules}.  PCN provides a simple language for
	specifying {concurrent} {algorithms}, interfaces to {Fortran}
	and {C}, a portable toolkit that allows applications to be
	developed on a {workstation} or small parallel computer and
	run unchanged on {supercomputers} and integrated debugging and
	performance analysis tools.  PCN was developed at {Argonne
	National Laboratory} and the {California Institute of
	Technology}.  It has been used to develop a wide variety of
	applications, in areas such as climate modelling, fluid
	dynamics, computational biology, chemistry, and circuit
	simulation.

	Version 2.0 runs on networks of workstations: {Sun-4}, {NeXT},
	{RS/6000}, {SGI}; {multicomputers}: {iPSC}/860, {Touchstone
	DELTA}; and {shared memory} multiprocessors:
	{Symmetry}/{Dynix}.

	{(ftp://info.mcs.anl.gov/pub/pcn)}.

	E-mail: Ian Foster <pcn@mcs.anl.gov>, Steve Tuecke
	<tuecke@mcs.anl.gov>.

	["Productive Parallel Programming: The PCN Approach",
	I. Foster et al, Sci Prog 1(1):51-66 (1992)].

	(1993-02-12)

program counter

	<hardware> (PC) A {register} in the {central processing unit}
	that contains the addresss of the next {instruction} to be
	executed.  After each instruction is fetched, the PC is
	automatically incremented to point to the following
	instruction.  It is not normally manipulated like an ordinary
	{register} but instead, special instructions are provided to
	alter the {flow of control} by writing a new value to the PC,
	e.g. JUMP, CALL, {RTS}.

	{IBM} call it the {Instruction Address Register}.

	(1995-03-21)

Program Design Language

	Any of a large class of formal and profoundly useless
	pseudo-languages in which {management} forces one to design
	programs.  Too often, management expects PDL descriptions to
	be maintained in parallel with the code, imposing massive
	overhead of little or no benefit.

	See also {flow chart}.

	(1995-04-01)

Program Evaluation and Review Technique

	<programming> (PERT) A method used to size a software product
	and calculate the Standard Deviation (SD) for risk assessment.
	The PERT equation (beta distribution) estimates the Equivalent
	{Delivered Source Instructions} (EDSIs) and the SD based on
	the analyst's estimates of the lowest possible size, the most
	likely size, and the highest possible size of each computer
	program component (CPC).

	(1996-05-29)

Program Information File

	<file format> Under {Windows}, a file providing information on
	how a non-Windows {application program} should be run,
	including how much {memory} should be allocated to it and what
	graphics interface it requires.

	{Filename extension}: .pif

	(1997-10-11)

Programmable Airline Reservation System

	<application> (PARS) An {IBM} proprietary large scale airline
	reservation application, executing under the control of IBM's
	{ACP} (and later its successor, {TPF}).

	In the early days of automated reservations systems in the
	1960s and 1970s the combination of ACP and PARS provided
	unprecendented scale and performance from an on-line
	{real-time} system, and for a considerable period ranked among
	the largest networks and systems of the era.

	{IPARS} was the international version.

	(1999-01-18)

Programmable Array Logic

	<hardware> (PAL) A family of fuse-programmable logic
	{integrated circuits} originally developed by {MMI}.
	Registered or {combinatorial} output functions are modelled in
	a {sum of products} form.  Each output is a sum (logical or)
	of a fixed number of products (logical and) of the input
	signals.  This structure is well suited for automatic
	generation of programming patterns by logic compilers.

	PAL devices are programmed by blowing the fuses permanently
	using overvoltage.

	Today, more complex devices based on the same original
	architecture are available (CPLD's for Complex PLD's) that
	incorporate the equivalent of several original PAL chips.  PAL
	chips are, however, still popular due to their high speed.

	{Generic Array Logic} devices are reprogrammable and contain
	more {logic gates}.

	(1995-12-09)

Programmable Interrupt Controller

	<integrated circuit> {PIC} A special-purpose {integrated
	circuit} that functions as an overall manager in an
	{interrupt} driven system.  It accepts requests from the
	{peripheral} equipment, determines which of the incoming
	requests is of the highest priority, ascertains whether the
	incoming request has a higher priority value than the level
	currently being serviced, and issues an interrupt to the {CPU}
	based on this determination.

	PICs typically have eight interrupt lines, and two PICs are
	often cascaded to provide 15 available interrupt lines.

	See also: {Advanced Programmable Interrupt Controller}.

	(2003-03-18)

Programmable Logic Controller

	<hardware> (PLC) A device used to automate monitoring and
	control of industrial plant.  Can be used stand-alone or in
	conjunction with a {SCADA} or other system.

	(1997-02-11)

Programmable Read-Only Memory

	<storage> (PROM) A kind of {ROM} which can be written using a
	PROM programmer.  The contents of each bit is determined by a
	{fuse} or {antifuse}.  The memory can be programmed once after
	manufacturing by "blowing" the fuses, which is an irreversible
	process.  Blowing a fuse opens a connection while blowing an
	antifuse closes a connection (hence the name).  Programming is
	done by applying high-voltage pulses which are not encountered
	during normal operation.

	(1995-04-22)

Programmed Data Processor

	<computer> (PDP) Early (1960's?) {Digital Equipment
	Corporation} family of {minicomputers}.  The best known ranges
	were the {PDP-10} and {PDP-11}.  {PAL} was the {assembly
	language}.

	(1997-11-21)

PROgrammed Graph REwriting Systems

	<language> (PROGRES) A very high level language based on
	{graph grammars}, developed by Andy Scheurr
	<andy@i3.informatik.rwth-aachen.de> and Albert Zuendorf
	<albert@i3.informatik.rwth-aachen.de> of {RWTH}, Aachen in
	1991.

	PROGRES supports structurally {object-oriented specification}
	of {attributed graph} structures with {multiple inheritance}
	hierarchies and types of types (for {parametric
	polymorphism}).  It also supports declarative/relational
	specification of derived attributes, node sets, binary
	relationships (directed edges) and {Boolean} {constraints},
	rule-oriented/visual specification of parameterised graph
	rewrite rules with complex application conditions,
	{nondeterministic} and {imperative programming} of composite
	graph transformations (with built-in {backtracking} and
	cancelling arbitrary sequences of failing graph
	modifications).

	It is used for implementing {abstract data types} with
	graph-like internal structure, as a visual language for the
	{graph-oriented database} {GRAS}, and as a rule-oriented
	language for prototyping {nondeterministic}ally specified
	data/rule base transformations.

	PROGRES has a formally defined {semantics} based on
	"PROgrammed Graph Rewriting Systems".  It is an almost
	{statically typed} language which additionally offers "down
	casting" operators for run time checked type
	casting/conversion (in order to avoid severe restrictions
	concerning the language's expressiveness).

	Version RWTH 5.10 includes an integrated environment.

	[A. Scheurr, "Introduction to PROGRES, an Attribute Graph
	Grammar Based Specification Language", in Proc WG89 Workshop
	on Graphtheoretic Concepts in Computer Science", LNCS 411,
	Springer 1991].

	{(ftp://ftp.informatik.rwth-aachen.de/pub/Unix/PROGRES/)} for
	{Sun-4}.

	(1993-11-02)

programmer

	<job> (Or "computer programmer", "developer") Someone who
	writes or debugs {computer programs}, for a living or for fun.
	"Analyst/developer" is a common equivalent job title, implying
	the added role of {system analysis}.  The term may be
	qualified according to the type of software - "{application}
	programmer", "{system programmer}", etc.

	(2000-01-24)

Programmer Brain Damage

	<humour> (PBD) A classification of a {bug} which was obviously
	introduced by an incompetent or short-sighted programmer.

	Compare {UBD}.  See also {brain-damaged}.

	(1996-10-13)

Programmer's Cheer

	<humour>

	 "Shift to the left!
	 Shift to the right!
	 Pop up, push down!
	 Byte!  Byte!  Byte!"

	[Origin?]

	[{Jargon File}]

	(1996-10-13)

Programmers Hierarchical Interactive Graphics System

	(PHIGS) An {ANSI}/{ISO} {standard}.  Worked on by the
	{ISO}/{IEC} group {JTC1/SC24}.

	[More detail?]

	(1995-01-04)

PROgrammer's Microapplication Language

	<language> (PROMAL) An interpreted {C}-like language from
	{Systems Management Associates} for {MS-DOS}, {Commodore 64},
	and {Apple II}.

	[Computer Language, Mar 1986, pp. 128-134].

	(1996-03-21)

Programmer's Switch

	<hardware> A button on the front of some {Apple Macintosh}
	computers which, when pressed, causes a command line prompt to
	appear.  This gives access to the built-in mini-{debugger},
	which has commands to dump memory, return to the application
	that was broken out, and others.  A more sophisticated
	debugger must be installed in order to inspect {breakpoints},
	etc.

	(2000-11-01)

programming

	1. The art of debugging a blank sheet of paper (or, in these
	days of on-line editing, the art of {debugging an empty
	file}).

	2. A pastime similar to banging one's head against a wall, but
	with fewer opportunities for reward.

	3. The most fun you can have with your clothes on (although
	clothes are not mandatory).

	[{Jargon File}]

	(2003-02-12)

programming fluid

	<jargon> (Or "{wirewater}") Coffee, unleaded coffee
	(decaffeinated), Cola, or any caffeinacious stimulant.  Many
	hackers consider these essential for those all-night {hacking
	runs}.

	(1996-05-01)

programming language

	<language> A formal language in which computer programs are
	written.  The definition of a particular language consists of
	both {syntax} (how the various symbols of the language may be
	combined) and {semantics} (the meaning of the language
	constructs).

	Languages are classified as low level if they are close to
	{machine code} and high level if each language statement
	corresponds to many machine code instructions (though this
	could also apply to a low level language with extensive use of
	{macros}, in which case it would be debatable whether it still
	counted as low level).  A roughly parallel classification is
	the description as {first generation language} through to
	{fifth generation language}.

	The other major classification of languages distinguishes
	between {imperative languages}, {procedural language} and
	{declarative languages}.

	{Programming languages in this dictionary
	(/contents/language.html)}.

	{Programming languages time-line/family tree
	(http://levenez.com/lang/history.html)}.

	(2004-05-17)

Programming Language/Cornell

	<language> (PL/C) A large subset of {PL/I} from {Cornell
	University}, aimed at novice programmers.

	["Introduction to PL/1 and PL/C programming", Kochenburger,
	Ralph J., Santa Barbara, Hamilton, c1974].

	["User's Guide to PL/C", S. Worona et al, Cornell, June 1974].

	["PL/C - A High Performance Compiler" H.L. Morgan et al, Proc
	SJCC, AFIPS 38:503-510 (1971)].

	(1999-05-26)

Programming Language/Systems

	<language> (PL/S) An {IBM} machine-oriented language derived
	from {PL/I}, in the late 1960s, for the {IBM 360} and {IBM
	370}.  PL/S permitted {inline} {assembly language} and control
	over {register} usage.

	Previous IBM 360 operating systems such as {OS/MFT} and
	{OS/MVT} had been written entirely in {assembly language}.
	The first IBM OS that had any significant portion written in
	PL/S was {MVS}, followed by {OS/VS1}, {OS/VS2} and {OS/SVS}.

	PL/S was part of IBM's {OCO
	(http://www.landley.net/history/mirror/ibm/oco.html)} (object
	code only) effort, started in 1983.  PL/S was used internally
	and never released to the public.  It is documented in various
	IBM internal ZZ-? publications.

	Versions: PLS1, PLSII.

	["PL/S, Programming Language/Systems", W.R. Brittenham, Proc
	GUIDE Intl, GUIDE 34, May 14, 1972, pp. 540-556].

	(2012-01-20)

Program Temporary Fix

	<programming> (PTF) (Colloquially: Probably This Fixes) An
	{IBM} sanctioned {patch}, often implemented using {ZAP} or
	{SUPERZAP}.

	(1998-07-08)

program transformation

	The systematic development of efficient programs from
	high-level specifications by meaning-preserving program
	manipulations.  Also known as optimisation.  See {fusion},
	{loop combination}, {peephole optimisation}, {register
	allocation}, {tupling}, {unfold/fold}.

Prograph

	<language>

	A visual {dataflow} programming language and environment from
	the {Technical University of Halifax}.

	Prograph is an entirely graphical {visual programming}
	language, other than for the text of {method} names, and
	supports the program development process in a
	highly-interactive fashion.  Operation icons are connected by
	data links through which information flows.  It supports
	{object orientation} via {class}-based {data abstraction} with
	{single inheritance}.

	Prograph is available for the {Macintosh}, and soon for
	Windows and Unix, from {TGS Systems}.

	(1995-03-31)

PROGRES

	<language> {PROgrammed Graph REwriting Systems}.

progressive coding

	<graphics, file format, algorithm> (Or "interlacing") An
	aspect of a {graphics} storage format or transmission
	{algorithm} that treats {bitmap} {image} data non-sequentially
	in such a way that later data adds progressively greater
	{resolution} to an already full-size image.  This contrasts
	with {sequential coding}.

	Progressive coding is useful when an image is being sent
	across a slow communications channel, such as the {Internet},
	as the low-resolution image may be sufficient to allow the
	user to decide not to wait for the rest of the file to be
	received.

	In an interlaced {GIF89} image, the {pixels} in a row are
	stored sequentially but the rows are stored in interlaced
	order, e.g. 0, 8, 4, 12, 2, 6, 8, 10, 14, 1, 3, 5, 7, 9, 11,
	13, 15.  Each vertical scan adds rows in the middle of the
	gaps left by the previous one.

	{PNG} interlaces both horizontally and vertically using the
	"{Adam7}" method, a seven pass process named after Adam
	M. Costello.

	Interlacing is also supported by other formats.  {JPEG}
	supports a functionally similar concept known as {Progressive
	JPEG}.  [How does the algorithm differ?]

	{JBIG} uses {progressive coding}.

	See also {progressive/sequential coding}.

	["Progressive Bi-level Image Compression, Revision 4.1",
	ISO/IEC JTC1/SC2/WG9, CD 11544, 1991-09-16].

	(2000-09-12)

Progressive JPEG

	<graphics, file format> (PJPEG) An implementation of {JPEG}
	that supports {progressive coding}.

	[Standards documents?]

	(1998-02-10)

progressive/sequential coding

	<compression, algorithm> The kind of image {compression}
	{algorithm} used in {JBIG} where an image coded using
	{progressive coding} can be decoded sequentially, and vice
	versa.

	(1995-03-01)

PROJECT

	Subsystem of ICES.  Sammet 1969, p.616.

project assurance

	The process of specifying the support system: techniques,
	internal standards, measurements, tools, and training for a
	project; counselling the project team in the application of
	these elements and monitoring the adherence to the standards.

Project Athena

	<project> A {distributed system} project for support of
	educational and research computing at {MIT}.  Much of the
	software developed is now in wider use, especially the {X
	Window System}.

	(2000-02-24)

Project Guardian

	<project, security> A project which grew out of the {ARPA}
	support for {Multics} and the sale of Multics systems to the
	US Air Force.  The USAF wanted a system that could be used to
	handle more than one security classification of data at a
	time.  They contracted with {Honeywell} and {MITRE
	Corporation} to figure out how to do this.  Project Guardian
	led to the creation of the {Access Isolation Mechanism}, the
	forerunner of the {B2} labeling and star property support in
	Multics.  The {DoD Orange Book} was influenced by the
	experience in building secure systems gained in Project
	Guardian.

	(1997-01-29)

projection

	<theory> In domain theory, a {function}, f, which is (a)
	{idempotent}, i.e.  f(f(x))=f(x) and (b) whose result is no
	more defined than its argument.  E.g. F(x)=bottom or F(x)=x.

	In {reduction} systems, a function which returns some
	{component} of its argument.  E.g. head, tail, \ (x,y) . x.
	In a {graph reduction} system the function can just return a
	pointer to part of its argument and does not need to build any
	new graph.

	(1997-01-29)

projective plane

	<mathematics> The space of {equivalence classes} of {vectors}
	under non-zero {scalar} multiplication.  Elements are sets of
	the form

		{kv: k != 0, k scalar, v != O, v a vector}

	where O is the origin.  v is a representative member of this
	equivalence class.

	The projective plane of a {vector space} is the collection of
	its 1-dimensional {subspaces}.  The properties of the vector
	space induce a {topology} and notions of {smoothness} on the
	projective plane.

	A projective plane is in no meaningful sense a plane and would
	therefore be (but isn't) better described as a "projective
	space".

	(1996-09-28)

Project MAC

	<project> A project suggested by J C R Licklider; its founding
	director was {MIT} Prof. Robert M Fano.  MAC stood for
	Multiple Access Computers on the 5th floor of Tech Square, and
	Man and Computer on the 9th floor.  The major efforts were
	Corbato's {Multics} development and {Marvin Minsky}'s
	{Artificial Intelligence} Laboratory.  In 1963 Project MAC
	hosted a summer study, which brought many well-known computer
	scientists to Cambridge to use {CTSS} and to discuss the
	future of computing.

	Funding for Project MAC was provided by the Information
	Processing Techniques Office of the {Advanced Research
	Projects Agency} (ARPA) of the US Department of Defense.

	See also {Early PL/I}, {MacLisp}, {MACSYMA}, {MDL},
	{Multipop-68}, {OCAL}.

	(1997-01-29)

project management

	<project, job> The process of planning, organising, staffing,
	directing and controlling the production of a system.
	Software tools are available to help with this, e.g. {PERT}
	chart editors.

	(1998-12-12)

project planning

	{project management}

Prolog

	<programming> Programming in Logic or (French) Programmation
	en Logique.  The first of the huge family of {logic
	programming} languages.

	Prolog was invented by Alain Colmerauer and Phillipe Roussel
	at the University of Aix-Marseille in 1971.  It was first
	implemented 1972 in {ALGOL-W}.  It was designed originally for
	{natural-language processing} but has become one of the most
	widely used languages for {artificial intelligence}.

	It is based on {LUSH} (or {SLD}) {resolution} {theorem
	proving} and {unification}.  The first versions had no
	user-defined functions and no control structure other than the
	built-in {depth-first search} with {backtracking}.  Early
	collaboration between Marseille and Robert Kowalski at
	{University of Edinburgh} continued until about 1975.

	Early implementations included {C-Prolog}, {ESLPDPRO},
	{Frolic}, {LM-Prolog}, {Open Prolog}, {SB-Prolog}, {UPMAIL
	Tricia Prolog}.  In 1998, the most common Prologs in use are
	{Quintus Prolog}, {SICSTUS Prolog}, {LPA Prolog}, {SWI
	Prolog}, {AMZI Prolog}, {SNI Prolog}.

	{ISO} draft standard at {Darmstadt, Germany
	(ftp://ftp.th-darmstadt.de/pub/programming/languages/prolog/standard/)}.
	or {UGA, USA (ftp://ai.uga.edu/ai.prolog.standard)}.

	See also {negation by failure}, {Kamin's interpreters},
	{Paradigms of AI Programming}, {Aditi}.

	A Prolog {interpreter} in {Scheme}.
	{(ftp://cpsc.ucalgary.ca/pub/prolog1.1)}.

	{A Prolog package
	(ftp://cpsc.ucalgary.ca/pub/prolog1.1/prolog11.tar.Z)} from
	the {University of Calgary} features {delayed goals} and
	{interval arithmetic}.  It requires {Scheme} with
	{continuations}.

	["Programming in Prolog", W.F. Clocksin & C.S. Mellish,
	Springer, 1985].

	(2001-04-01)

Prolog++

	(After {C++}) {Prolog} with {object-oriented} features added
	by Phil Vasey of {Logic Programming Associates}.  Prolog++ is
	available for {MS-DOS} and the {X Window System}.  It is
	distributed by {AI International} Ltd. in England and by
	{Quintus}.

Prolog-2

	An implementation of Edinburgh Prolog by Nick Henfrey, {ESL}.

	["An Advanced Logic Programming Language", Anthony Dodd].

Prolog-D-Linda

	Embeds the {Linda} parallel paradigm into {SISCtus Prolog}.

	{(ftp://ftp.cs.uwa.au/)}.  E-mail: <geoff@cs.uwa.edu.au>.

Prolog-II

	Prolog with two new predicates: "dif" for coroutines and
	"freeze" for delayed evaluation.

	Available from ExperIntelligence, Santa Barbara CA.

	["Prolog II Reference Manual and Theoretical Model",
	A. Colmerauer, Internal Report, GroupeIA, U Aix-Marseille (Oct
	1982)].

Prolog-III

	A. Colmerauer, U Aix-Marseille, ca 1984.  Marseille Prolog,
	with unification replaced by constraint resolution.  [deferred
	goals too?]  (Not to be confused with Prolog 3, a commercial
	product?)

	Version 1.2 for MS-DOS.

	["Opening the Prolog-III Universe", BYTE 12(9):177-182 (Aug
	1987)].

	["An Introduction to Prolog III", A. Colmerauer, CACM
	33(7):69-90 (1990)].

Prolog-Linda

	1. Prolog extended with Linda-style parallelism.  Proc 4th
	Australian Conf on Artif Intell.

	{(ftp://bison.cs.uwa.oz.au/)}.

	2. Neil MacDonald, U Edinburgh 1989.  Another Prolog extended
	with Linda, implemented on a Computing Surface.

Prolog/Mali

	<language> (PM) {Lambda-Prolog} for the {MALI}-V06 abstract
	memory system, developed by Pascal Brisset at IRISA, France.
	There is a compiler which compiles to {C}, a linker,
	libraries, {run-time system}, and documentation.  It runs
	under {Unix}.

	{(ftp://ftp.irisa.fr/pm/)}.

	Mailing list: prolog-mali-request@irisa.fr.  E-mail:
	<pm@irisa.fr>.

	(1992-07-06)

PROM

	{Programmable Read-Only Memory}

PROMAL

	{PROgrammer's Microapplication Language}

Prometheus

	<language> A programmaing language geared for logic,
	mathematics, {AI}, and string, list and database processing.
	Prometheus runs on a variety of {platforms} from {Macintosh}
	to {MS-DOS}

	{(http://aard.tracor.com/Jason/Prometheus/)}.

	(1996-03-04)

promiscuous mode

	<networking> Where a node on a network accepts all {packets},
	regardless of their destination address.

	(1996-03-04)

PROM monitor

	<operating system> a small program stored in {PROM} (or
	{ROM}), responsible for both loading the {OS} and providing
	some means to analyse OS {crashes}.  It may also have some
	sort of {user interface} which can be used to examine and
	change the contents of memory, control the boot process
	(specifying arguments to the {kernel}, or changing where to
	look for the it), and so forth.

	The main difference between a PROM monitor and a {bootstrap
	loader} is that the PROM monitor regains control when the OS
	terminates.  This may enable a {wizard} to find out what went
	wrong if the OS crashed, although it is usually of little help
	for the average {sysadmin}.

	(1996-12-03)

pron

	<jargon> (Or "pr0n") {B1FF}-speak for pornography.  Often seen
	on {IRC} in such desperate cries for help as "I WNAT
	PRON!!!!!"

	(1997-09-14)

Pronet

	<language>

	["The Design of a Programming Language Based on Connectivity
	Networks", R. LeBlanc et al, Proc 3rd Intl Conf Distrib Comp
	Sys, IEEE 1982, pp. 532-541].

	(1997-09-14)

Pronunciation

	In this dictionary slashes (/../) bracket phonetic
	pronunciations of words not found in a standard English
	dictionary.  The notation, and many of the pronunciations,
	were adapted from the Hacker's {Jargon File}.

	Syllables are separated by {dash} or followed {single quote}
	or {back quote}.  Single quote means the preceding syllable is
	stressed (louder), back quote follows a syllable with
	intermediate stress (slightly louder), otherwise all syllables
	are equally stressed.

	Consonants are pronounced as in English but note:

		ch	soft, as in "church"
		g	hard, as in "got"
		gh	aspirated g+h of "bughouse" or "ragheap"
		j	voiced, as in "judge"
		kh	guttural of "loch" or "l'chaim"
		s	unvoiced, as in "pass"
		zh	as "s" in "pleasure"

	Uppercase letters are pronounced as their English letter
	names; thus (for example) /H-L-L/ is equivalent to /aych el
	el/.  /Z/ is pronounced /zee/ in the US and /zed/ in the UK
	(elsewhere?).

	Vowels are represented as follows:

		a	back, that
		ah	father, palm (see note)
		ar	far, mark
		aw	flaw, caught
		ay	bake, rain
		e	less, men
		ee	easy, ski
		eir	their, software
		i	trip, hit
		i:	life, sky
		o	block, stock (see note)
		oh	flow, sew
		oo	loot, through
		or	more, door
		ow	out, how
		oy	boy, coin
		uh	but, some
		u	put, foot
		*r      fur, insert (only in stressed
			syllables; otherwise use just "r")
		y	yet, young
		yoo	few, chew
		[y]oo	/oo/ with optional fronting as
			in `news' (/nooz/ or /nyooz/)

	A /*/ is used for the `schwa' sound of unstressed or occluded
	vowels (often written with an upside-down `e').  The schwa
	vowel is omitted in unstressed syllables containing vocalic l,
	m, n or r; that is, "kitten" and "colour" would be rendered
	/kit'n/ and /kuhl'r/, not /kit'*n/ and /kuhl'*r/.

	The above table reflects mainly distinctions found in standard
	American English (that is, the neutral dialect spoken by TV
	network announcers and typical of educated speech in the Upper
	Midwest, Chicago, Minneapolis/St.Paul and Philadelphia).
	However, we separate /o/ from /ah/, which tend to merge in
	standard American.  This may help readers accustomed to
	accents resembling British Received Pronunciation.

	Entries with a pronunciation of `//' are written-only.

	(1997-12-10)

proof

	1. <logic> A {finite} sequence of {well-formed formulas}, F1,
	F2, ... Fn, where each Fi either is an {axiom}, or follows by
	some rule of inference from some of the previous F's, and Fn
	is the statement being proved.

	See also {proof theory}.

	2. A left-associative {natural language} {parser} by Craig
	R. Latta <latta@xcf.berkeley.edu>.  Ported to {Decstation
	3100}, {Sun-4}.

	{(ftp://scam.berkeley.edu/pub/src/local/proof/)}.

	E-mail: <proof@xcf.berkeley.edu>.  Mailing list:
	proof-requestf@xcf.berkeley.edu (Subject: add me).

	(1994-11-29)

PROOF/L

	A {functional}, {object-oriented language} with {implicit
	parallelism}.

	[J Parallel Dist Comp 12:202-212 (1991)].

	[Forthcoming Technical Report from {RADC}].

	(1994-10-31)

proof theory

	<logic> The branch of {logic} describing procedures for
	combining logical statements to show, by a series of
	truth-preserving transformations, that one statement is a
	consequence of some other statement or group of statements.

	(1994-10-31)

propeller head

	<jargon> Used by hackers, this is synonym with {computer
	geek}.  Non-hackers sometimes use it to describe all techies.
	Probably derives from SF fandom's tradition (originally
	invented by old-time fan Ray Faraday Nelson) of propeller
	beanies as fannish insignia (though nobody actually wears them
	except as a joke).

	[{Jargon File}]

	(1995-01-18)

propeller key

	{feature key}

proportionally spaced font

	{proportional font}

Proposal Writing

	Extension of {Fortran} for proposal writing.

	[Sammet 1969, p. 170].

	(1995-01-18)

proposition

	<logic> A statement in {propositional logic} which may be
	either true or false.  Each proposition is typically
	represented by a letter in a {formula} such as "p => q",
	meaning proposition p implies proposition q.

	(2006-03-14)

propositional calculus

	{propositional logic}

propositional logic

	<logic> (or "propositional calculus") A system of {symbolic
	logic} using symbols to stand for whole {propositions} and
	{logical connectives}.  Propositional logic only considers
	whether a proposition is true or false.  In contrast to
	{predicate logic}, it does not consider the internal structure
	of propositions.

	(2002-05-21)

Proposition of a Language Useable for Structured Specifications

	<language> (PLUSS)
	An {algebraic specification language}, built on top of {ASL}.

	["A First Introduction to PLUSS", M.C. Gaudel, TR, U Paris
	Sud, Orsay 1984].

	(2006-03-14)

proprietary

	1. In {marketroid}-speak, superior; implies a product imbued
	with exclusive magic by the unmatched brilliance of the
	company's own hardware or software designers.

	2. In the language of hackers and users, inferior; implies a
	product not conforming to {open-systems} {standards}, and thus
	one that puts the customer at the mercy of a vendor who can
	inflate service and upgrade charges after the initial sale has
	locked the customer in.

	[{Jargon File}]

PROSE

	1. PROblem Solution Engineering.  Numerical problems including
	differentiation and integration.  "Computing in Calculus",
	J. Thames, Research/Development 26(5) (May 1975).

	2. A constraints-and-sequencing system similar to
	Kaleidoscope.  "Reflexive Constraints for Dynamic Knowledge
	Bases", P. Berlandier et al in Proc First Intl CS Conf '88:
	AI: Theory and Appls, Dec 1988.

ProSet

	A derivative of {SETL} with {Ada}-like {syntax} developed at
	the {University of Essen} in 1990.  Formerly known as SETL/E.

	["SETL/E, A Prototyping System Based on Sets", E.E. Doberkat
	et al, in Tagungsband TOOL90, W. Zorn ed, pp. 109-118, U
	Karlsruhe, Nov 1990].

	["ProSet - A Language for Prototyping with Sets",
	E.-E. Doberkat et al, in Proc Third Intl Workshop on Rapid
	System Prototyping, N.  Kanopoulos ed, IEEE Comp Soc Press,
	June 1992, pp. 235-248].

PROSPER

	["PROSPER: A Language for Specification by Prototyping", J.
	Leszczylowski, Comp Langs 14(3):165-180 (1989)].

Prospero

	A tool for organising {Internet} resources.  Prospero allows
	each user to organise the contents of remote file servers into
	his own virtual file system with his own hierarchical name
	space consisting of links to remote objects.  Remote indexing
	services are made available by treating the results as a
	virtual directory.  A "union link" allows the contents of the
	link's target directory to appear as part of the directory
	containing the link.  Arbitrary filters can be associated with
	links to modify the representation of the target directory as
	desired.  Prospero directories can be shared between users.
	The Prospero protocol is used for communication between
	clients and servers in the archie system.

	A prototype of Prospero has been available since December
	1990.  It interfaces with Sun {NFS}, the {Andrew File System}
	and {FTP} (with local caching) and {Archie}.  Support for
	{web} and {WAIS} is planned (1992).

	E-mail: <info-prospero@isi.edu>.
	{(ftp://prospero.isi.edu/pub/prospero)}.

ProTalk

	{Quintus}.  An {object-oriented} {Prolog}.

protected mode

	An operating mode of {Intel 80x86} processors.  The opposite
	of real mode.  The {Intel 8088}, {Intel 8086}, {Intel 80188}
	and {Intel 80186} had only real mode, processors beginning
	with the {Intel 80286} feature a second mode called protected
	mode.

	In real mode, addresses are generated by adding an address
	offset to the value of a {segment register} shifted left four
	bits.  As the segment register and address offset are 16 bits
	long this results in a 20-bit address.  This is the origin of
	the one megabyte (2^20) limit in real mode.

	There are 4 segment registers on processors before the {Intel
	80386}.  The 80386 introduced two more segment registers.
	Which segment register is used depends on the instruction, on
	the {addressing mode} and of an optional instruction prefix
	which selects the segment register explicitly.

	In protected mode, the segment registers contain an index into
	a table of {segment descriptors}.  Each segment descriptor
	contains the start address of the segment, to which the offset
	is added to generate the address.  In addition, the segment
	descriptor contains {memory protection} information.  This
	includes an offset limit and bits for write and read
	permission.  This allows the processor to prevent memory
	accesses to certain data.  The {operating system} can use this
	to protect different processes' memory from each other, hence
	the name "protected mode".

	While the standard {register set} belongs to the {CPU}, the
	segment registers lie "at the boundary" between the CPU and
	MMU.  Each time a new value is loaded into a segment register
	while in protected mode, the corresponding descriptor is
	loaded into a descriptor cache in the (Segment-)MMU.  On
	processors before the {Pentium} this takes longer than just
	loading the segment register in real mode.  Addresses
	generated by the CPU (which are segment offsets) are passed to
	the MMU to be checked against the limit in the segment
	descriptor and are there added to the segment base address in
	the descriptor to form a {linear address}.

	On a 80386 or later, the linear address is further processed
	by the paged MMU before the result (the physical address)
	appears on the chip's address pins.  The 80286 doesn't have a
	paged MMU so the linear address is output directly as the
	physical address.

	The paged MMU allows for arbitrary remapping of four klilobyte
	memory blocks ({pages}) through a translation table stored in
	memory.  A few entries of this table are cached in the MMU's
	{Translation Lookaside Buffer} to avoid excessive memory
	accesses.

	After processor reset, all processors start in real mode.
	Protected mode has to be enabled by software.  On the 80286
	there exists no documented way back to real mode apart from
	resetting the processor.  Later processors allow switching
	back to real mode by software.

	Software which has been written or compiled to run in
	protected mode must only use segment register values given to
	it by the operating system.  Unfortunately, most application
	code for {MS-DOS}, written before the 286, will fail in
	protected mode because it assumes real mode addressing and
	writes arbitrary values to segment registers, e.g. in order to
	perform address calculations.

	Such use of segment registers is only really necessary with
	data structures that are larger than 64 kilobytes and thus
	don't fit into a single segment.  This is usually dealt with
	by the {huge memory model} in compilers.  In this model,
	compilers generate address arithmetic involving segment
	registers.  A solution which is portable to protected mode
	with almost the same efficiency would involve using a table of
	segments instead of calculating new segment register values ad
	hoc.

	To ease the transition to protected mode, {Intel 80386} and
	later processors provide "{virtual 86 mode}".

	(1995-03-29)

PROTEUS

	An extensible language, the core of {PARSEC}.

	["The Design of a Minimal Expandable Computer Language",
	J.R. Bell, PhD Thesis, CS, {Stanford University} (Dec 1968)].

protocal

	<spelling> It's spelled "{protocol}".

protocol

	A set of formal rules describing how to transmit data,
	especially across a {network}.  Low level protocols define the
	electrical and physical standards to be observed, bit- and
	byte-ordering and the transmission and {error detection and
	correction} of the bit stream.  High level protocols deal with
	the data formatting, including the {syntax} of messages, the
	terminal to computer dialogue, {character sets}, sequencing of
	messages etc.

	Many protocols are defined by {RFCs} or by {OSI}.

	See also {handshaking}.

	[{Jargon File}]

	(1995-01-12)

protocol analyser

	<communications, hardware, networking, testing, tool> Any
	device that captures and interprets the {network traffic}
	between two or more connected computer systems.  The traffic
	can then be {decoded} so that it is possible to see what
	{processes} are occurring.

	By examining the flow of traffic, protocol analysers can be
	used to find out where problems (such as {bottlenecks} or the
	failure of a network device) are on a {LAN}.

	Advanced protocol analysers can also provide statistics on
	the traffic that can help to identify trends that may in
	future lead to further problems with the network.

	(2000-07-24)

protocol converter

	<networking> A device or program to translate between
	different {protocols} which serve similar functions
	(e.g. {TCP} and {TP4}).

	Some call this a "{gateway}", though others use that term for
	other kinds of {internetworking} device.

	(1996-03-07)

Protocol Data Unit

	(PDU) A {packet} of data passed across a {network}.  The term
	implies a specific layer of the {OSI} seven layer model and a
	specific {protocol}.

	(1994-10-13)

protocol layer

	<networking> The {software} and/or {hardware} environment of
	two or more communications devices or computers in which a
	particular {network} {protocol} operates.  A network
	connection may be thought of as a set of more or less
	independent protocols, each in a different layer or level.
	The lowest layer governs direct host-to-host communication
	between the hardware at different hosts; the highest consists
	of user {application programs}.  Each layer uses the layer
	beneath it and provides a service for the layer above.  Each
	networking component {hardware or software} on one host uses
	{protocols} appropriate to its layer to communicate with the
	corresponding component (its "peer") on another host.  Such
	layered protocols are sometimes known as peer-to-peer
	protocols.

	The advantages of layered {protocols} is that the methods of
	passing information from one layer to another are specified
	clearly as part of the {protocol} suite, and changes within a
	protocol layer are prevented from affecting the other layers.
	This greatly simplifies the task of designing and maintaining
	communication systems.

	Examples of layered protocols are {TCP/IP}'s five layer
	{protocol stack} and the {OSI} seven layer model.

	(1997-05-05)

protocol stack

	<protocol> A layered set of {protocols} which work together to
	provide a set of network functions.  Each intermediate
	{protocol layer} uses the layer below it to provide a service
	to the layer above.

	The {OSI} seven layer model is an attempt to provide a
	standard framework within which to describe protocol stacks.

	(1997-12-07)

PROTON

	1. A home computer made by {Acorn Computers} under a contract
	won from the {BBC} in April 1981.

	[Details?]

	2. Something to do with {Microsoft} {SoftLib}?

	(1994-11-28)

Protosynthex

	A query system for English text.

	[Sammet 1969, p. 669].

prototype

	1. <systems> An early version of a product, designed to
	demonstrate feasability and elicit feedback.  A prototype
	usually has some subset of the functions, behaviour and
	appearance of the finished product.  It is usually made using
	a method suitable for producing a one-off rather than mass
	production.

	2. <programming> In {prototype-based programming}, an {object}
	that is intended to be cloned to create similar objects which
	may then be modified independantly and/or cloned themselves.

	(2010-03-02)

Prototyper

	An {interface builder} for the {Macintosh} from Smethers
	Barnes.

	(1994-11-28)

prototyping

	The creation of a model and the {simulation} of all aspects of
	a product.  {CASE} tools support different degrees of
	prototyping.  Some offer the end-user the ability to review
	all aspects of the {user interface} and the structure of
	documentation and reports before code is generated.

provably difficult

	The set or property of problems for which it can be proven
	that no {polynomial-time} {algorithm} exists, only
	{exponential-time} {algorithms}.

provably unsolvable

	The set or property of problems for which no {algorithm} at
	all exists.  E.g. the {Halting Problem}.  See also {provably
	difficult}.

provider

	{Internet Access Provider}

provocative maintenance

	[Common ironic mutation of "preventive maintenance"] Actions
	performed upon a machine at regularly scheduled intervals to
	ensure that the system remains in a usable state.  So called
	because it is all too often performed by a {field servoid} who
	doesn't know what he is doing; such "maintenance" often
	*induces* problems, or otherwise results in the machine's
	remaining in an *un*usable state for an indeterminate amount
	of time.  See also {scratch monkey}.

	[{Jargon File}]

prowler

	({Unix}) A {daemon} that is run periodically (typically once a
	week) to seek out and erase {core} files, truncate
	administrative logfiles, nuke "lost+found" directories, and
	otherwise clean up the {cruft} that tends to pile up in the
	corners of a file system.

	See also {GFR}, {reaper}, {skulker}.

	(1995-02-14)

proxy

	<networking> A process that accepts requests for some service
	and passes them on to the real {server}.  A proxy may run on
	dedicated {hardware} or may be purely {software}.  It may
	transform the request in some way or provide some additional
	layer of functionality such as {caching} or remote access.  A
	proxy may be intended to increase security, e.g. a {web proxy}
	that allows multiple clients inside an organisation to access
	the {Internet} through a single secure, shared connection.

	(2007-09-03)

proxy ARP

	<networking> The technique in which one {host}, usually a
	{router}, answers {Address Resolution Protocol} (ARP) requests
	intended for another machine.  By "faking" its identity, the
	router accepts responsibility for routing {packets} to the
	"real" destination.  Proxy ARP allows a site to use a single
	{IP address} with two physical networks.  {Subnet}ting would
	normally be a better solution.

	(2007-09-03)

proxy gateway

	{proxy server}

Proxy Server

	<software, security> (Capitalised) {Microsoft}'s {proxy
	server} and {proxy gateway}, designed to provide extensible
	{firewall} and network security.  Proxy Server is part of
	{BackOffice}.

	(1999-09-17)

proxy server

	<networking> A {server} process that intercepts requests from
	a client, passes them to an {origin server} and returns the
	response to the client while performing various other
	operations in the process.  An {HTTP proxy server} is a common
	example.

	A proxy may be used for purposes of {security}, performance
	({caching}) or anonymity.  It may be purely software or may
	run on its own hardware, either a standard {PC} or server
	machine or a custom hardware appliance.  A software proxy may
	be on the same computer as the client or the origin server,
	separate hardware may be anywhere on the network in between.

	The proxy may filter requests, rejecting some if the request
	or response matches certain conditions (e.g. an {antivirus}
	proxy).  It may cache requests and responses to reduce load on
	the origin server or data volume on the network or to provide
	quicker response to the client for common requests.  The proxy
	may modify the request or response, e.g. to convert between
	different protocols or interfaces.

	Proxy servers are often used in large companies as part of a
	{firewall} so that users within the company need have no
	direct connection to the Internet (and can use a {private IP
	address} range) but can still access the {web},
	{instant messenger}, etc via the proxy.  Usually this requires
	each client to be configured to use the proxy.

	The term "proxy gateway" may more imply transparency (less
	intervention) in the request-response process, though is often
	used as a synonym for proxy server.

	(2008-07-01)

PS

	1. <language, text, graphics> {PostScript}.

	2. <file format> {Physical Sequential}.

PS1

	{Sony Playstation}

PS2

	{Sony Playstation}

PS/2

	<computer> {IBM}'s second generation of {personal computers}.
	The PS/2 series introduced three advances over the PC series:
	3.5" 1.44 megabyte {microfloppy} disks, {VGA} and {8514}
	graphics {display standards}, and the {Micro Channel} bus
	architecture.  The 3.5" disks and VGA can be easily installed
	on other PCs and will become the standard for new compatible
	computers.  The Micro Channel bus allows for multiprocessing
	and less aggravation, but cannot be retrofitted to older PCs.

	PS/2 models 25 and 30 are {ISA}, other models have Micro
	Channel and {ESDI}.

	(1995-11-27)

PS 440

	<language> The system implementation language for the
	{Telefunken TR 440} computer, developed by K. Lagally in about
	1974.

	(2003-07-29)

PSA

	Problem Statement Analizer.  See {PSL/PSA}.

PS-ALGOL

	Persistent ALGOL.  ca 1981, released 1985.  A derivative of
	S-ALGOL.  Database capability derived from the longevity of
	data.  "The PS- Algol Reference Manual", TR PPR-12-85, CS
	Dept, U Glasgow 1985.  IBM PC version available from CS Dept,
	U Strathclyde, Glasgow.

pSather

	<language> A parallel extension of {Sather} for a clustered
	{shared memory} model.  It features {threads} synchronised by
	{monitor} objects ("gates"); {locality} {assertions} and
	placement operators.

	There is an implementation for the {CM-5}.

	["pSather Monitors: Design, Tutorial, Rationale and
	Implementation", J.A. Feldman et al, TR-91-031 and TR-93-028,
	ICSI, Berkeley, CA].

	(1995-03-13)

PSD

	<tool> {Portable Scheme Debugger}.

PSDN

	<communications> {Public Switched Data Network}.

pseudo

	<jargon> /soo'doh/ ({Usenet}) Pseudonym.

	1. An {electronic-mail} or {Usenet} persona adopted by a human
	for amusement value or as a means of avoiding negative
	repercussions of one's net.behaviour; a "nom de {Usenet}",
	often associated with forged postings designed to conceal
	message origins.  Perhaps the best-known and funniest hoax of
	this type is {BIFF}.

	2. Notionally, a {flamage}-generating {AI} program simulating
	a {Usenet} user.  Many flamers have been accused of actually
	being such entities, despite the fact that no AI program of
	the required sophistication yet exists.  However, in 1989
	there was a famous series of forged postings that used a
	phrase-frequency-based travesty generator to simulate the
	styles of several well-known flamers; it was based on large
	samples of their back postings (compare {Dissociated Press}).
	A significant number of people were fooled by the forgeries,
	and the debate over their authenticity was settled only when
	the perpetrator came forward to publicly admit the hoax.

	[{Jargon File}]

	(1995-03-13)

pseudocode

	<programming> A notation resembling a {programming language}
	but not intended for actual {compilation}.  It usually
	combines some of the structure of a programming language with
	an informal {natural language} description of the computations
	to be carried out.  Some {CASE} systems produce it as a basis
	for later {hand coding}.

	(2011-01-29)

pseudoprime

	A backgammon prime (six consecutive occupied points) with one
	point missing.  This term is an esoteric pun derived from a
	mathematical method that, rather than determining precisely
	whether a number is prime (has no divisors), uses a
	statistical technique to decide whether the number is
	"probably" prime.  A number that passes this test is called a
	pseudoprime.  The hacker backgammon usage stems from the idea
	that a pseudoprime is almost as good as a prime: it does the
	job of a prime until proven otherwise, and that probably won't
	happen.

	[{Jargon File}]

pseudorandom number

	<programming> One of a sequence of numbers generated by some
	{algorithm} so as to have an even distribution over some range
	of values and minimal {correlation} between successive
	values.

	Pseudorandom numbers are used in {simulation} and
	{encryption}.  They are pseudorandom not random because the
	sequence eventually repeats exactly and is entirely determined
	by the initial conditions.

	One of the simplest algorithms is

		x[i+1] = (a * x[i] + c) mod m

	but this repeats after at most m numbers and successive
	numbers are closely related.  Better algorithms generally use
	more previous numbers to calculate the next number.

	{(http://random.mat.sbg.ac.at/)}.

	(2007-06-29)

PseudoScheme

	A translator from {Scheme} to {Common Lisp} by Jonathan Rees
	<jar@cs.cornell.edu>.  Version 2.8.  It conforms to all of
	{R3RS} except {call/cc} and requires {Common Lisp}.  Runs on
	{Lucid}, {Symbolics CL}, {VAX Lisp}, {Explorer CL}.

	Mailing list: info-clscheme-request@mc.lcs.mit.edu.

	(1994-10-28)

pseudosuit

	/soo'doh-s[y]oot"/ A {suit} wannabee; a hacker who has decided
	that he wants to be in management or administration and begins
	wearing ties, sport coats, and (shudder!) suits voluntarily.
	It's his funeral.  See also {lobotomy}.

	[{Jargon File}]

pseudo-tty

	{Berkeley} {Unix} networking device which appears to an
	{application program} as an ordinary terminal but which is in
	fact connected via the network to a process running on a
	different {host} or a windowing system.  Pseudo-ttys have a
	slave half and a control half.  The slave tty (/dev/ttyp*) is
	the device that user programs use and the control tty
	(/dev/ptyp*) is used by {daemons} to talk to the net.

	(1994-11-08)

PSF

	{Print Services Facility}

PSI

	{Portable Scheme Interpreter}

Psion

	<company> The UK company that produced the {Psion Organiser}.
	They also wrote software for the {Sinclair} {QL}.

	{Psion Home (http://psionteklogix.com/)}.

	(2009-05-27)

Psion Organiser

	<computer> A popular {pocket computer} from the UK Company
	{Psion} plc.  The organiser uses a {graphical user interface}
	with windows, menus, icons and {dialog box}es.  There have
	been several versions so far: Series3a, Series3, HC, MC,
	OrgII.

	{Usenet} newsgroups: {news:comp.sys.psion},
	{news:comp.binaries.psion}.

	(1995-03-03)

PSK

	1. <communications> {Phase-Shift Keying}.

	2. <cryptography, networking> {Pre-Shared Key}.

PSL

	<language>

	1. {Portable Standard Lisp}.

	2. {Problem Statement Language}.

PSL/PSA

	{Problem Statement Language/Problem Statement Analyser}

PSML

	{Processor System Modeling Language}.

PSN

	{Packet Switch Node}

PSO

	{Oracle Parallel Server}

PSPP

	<statistics> A {GNU} version of {SPSS}.

	[URL?  Features?]

	(2010-03-21)

PSTN

	{Public Switched Telephone Network}

PSU

	{power supply unit}

psychedelicware

	/si:"k*-del"-ik-weir/ [UK] Synonym {display hack}.  See also
	{smoking clover}.

	[{Jargon File}]

psyton

	<humour> /si:'ton/ (From {TMRC}) The elementary particle
	carrying the sinister force.  The probability of a process
	losing is proportional to the number of psytons falling on it.
	Psytons are generated by observers, which is why demos are
	more likely to fail when lots of people are watching.  This
	term appears to have been largely superseded by {bogon}; see
	also {quantum bogodynamics}.

	(1997-04-26)

pt

	1. <text, unit> {point}.

	2. <networking> The {country code} for Portugal.

	(1999-01-27)

P-TAC

	Parallel Three Address Code.

	{Kid} is a refinement of {P-TAC}, used as an intermediate
	language for {Id}.

	["P-TAC: A Parallel Intermediate Language", Z. Ariola et al,
	Fourth Intl Conf Func Prog Langs and Comp Arch, ACM Sept
	1989].

ptc

	A {Pascal} to {C} translator.

	{(ftp://uxc.sco.uiuc.edu/languages/ptc)}.

PTF

	{Program Temporary Fix}

Pthreads

	{POSIX Threads}

PTI

	{Portable Tool Interface}

PTN

	{Physical Transport Network}

Ptolemy

	A flexible foundation for the specification, simulation, and
	rapid prototyping of systems.  It is an {object-oriented}
	framework within which diverse models of computation can
	co-exist and interact.  For example, using Ptolemy a
	{data-flow} system can be easily connected to a hardware
	simulator which in turn may be connected to a discrete-event
	system.  Because of this, Ptolemy can be used to model entire
	systems.  In addition, Ptolemy now has code generation
	capabilities.  From a {flow graph} description, Ptolemy can
	generate both {C} code and {DSP} {assembly code} for rapid
	prototyping.  Note that code generation is not yet complete,
	and is included in the current release for demonstration
	purposes only.

	Version 0.4.1 includes a graphical algorithm layout, code
	generator and simulator.  It requires {C++}, {C} and has been
	ported to {Sun-4}, {MIPS}/{Ultrix}; {DSP56001}, {DSP96002}.
	Ptolemy is an active research project.

	{(ftp://ptolemy.bekeley.edu/pub/ptolemy/)}.  Mailing list:
	ptolemy-hackers-request@ohm.berkeley.edu.  E-mail:
	<ptolemy@ohm.berkeley.edu>.

	(1993-04-22)

PTT

	{Post, Telephone and Telegraph administration}

PUB

	1. PUBlishing.  A 1972 text-formatting language for {TOPS-10},
	with syntax based on {SAIL}.  Influenced {TeX} and {Scribe}.
	["PUB: The Document Compiler", Larry Tesler, Stanford AI Proj
	Op Note, Sept 1972].

	2. /pub, the top-level, publicly accessible directory on most
	{anonymous FTP} archives.  This is usually where the
	interesting files are.  See {pubic directory}.

pubic directory

	[NYU] (also "pube directory" /pyoob' d*-rek't*-ree/) The "pub"
	(public) directory on a machine that allows {FTP} access.  So
	called because it is the default location for {SEX} (software
	exchange).

	[{Jargon File}]

public domain

	(PD) The total absence of {copyright} protection.  If
	something is "in the public domain" then anyone can copy it or
	use it in any way they wish.  The author has none of the
	exclusive rights which apply to a copyright work.

	The phrase "public domain" is often used incorrectly to refer
	to {freeware} or {shareware} (software which is copyrighted
	but is distributed without (advance) payment).  Public domain
	means no copyright -- no exclusive rights.  In fact the phrase
	"public domain" has no legal status at all in the UK.

	See also {archive site}, {careware}, {charityware},
	{copyleft}, {crippleware}, {guiltware}, {postcardware} and
	{-ware}.  Compare {payware}.

public domain software

	{public domain}

public-key cryptography

	{public-key encryption}

Public-Key Cryptography Standards

	<cryptography, standard> (PKCS) A set of {standards} for
	{public-key cryptography}, developed by {RSA Data Security,
	Inc.} in cooperation with an informal consortium, originally
	including {Apple}, {Microsoft}, {DEC}, {Lotus}, {Sun} and
	{MIT}.  The PKCS have been cited by the {OSI Implementers'
	Workshop} (OIW) as a method for implementation of {OSI}
	standards.

	PKCS includes both {algorithm}-specific and
	algorithm-independent implementation standards.  Many
	algorithms are supported, including {RSA} and {Diffie-Hellman}
	key exchange, however, only the latter two are specifically
	detailed.  PKCS also defines an algorithm-independent {syntax}
	for {digital signatures}, {digital envelopes}, and extended
	{digital certificates}; this enables someone implementing any
	cryptographic algorithm whatsoever to conform to a standard
	syntax, and thus achieve interoperability.

	E-mail: pkcs@rsa.com.

	(1999-02-16)

public-key encryption

	<cryptography> (PKE, Or "public-key cryptography") An
	{encryption} scheme, introduced by Diffie and Hellman in 1976,
	where each person gets a pair of keys, called the public key
	and the private key.  Each person's public key is published
	while the private key is kept secret.  Messages are encrypted
	using the intended recipient's public key and can only be
	decrypted using his private key.  This is often used in
	conjunction with a {digital signature}.

	The need for sender and receiver to share secret information
	(keys) via some secure channel is eliminated: all
	communications involve only public keys, and no private key is
	ever transmitted or shared.

	Public-key encryption can be used for {authentication},
	{confidentiality}, {integrity} and {non-repudiation}.

	{RSA encryption} is an example of a public-key cryptosystem.

	{alt.security FAQ
	(http://cis.ohio-state.edu/hypertext/faq/bngusenet/alt/security/top.html)}.

	See also {knapsack problem}.

	(1995-03-27)

Public Key Infrastructure

	<cryptography, communications> (PKI) A system of {public key
	encryption} using {digital certificates} from {Certificate
	Authorities} and other registration authorities that verify
	and authenticate the validity of each party involved in an
	electronic transaction.

	PKIs are currently evolving and there is no single PKI nor
	even a single agreed-upon standard for setting up a PKI.
	However, nearly everyone agrees that reliable PKIs are
	necessary before {electronic commerce} can become widespread.

	{US DOD PKI (http://www-pki.itsi.disa.mil/)}.

	{US NIST PKI (http://csrc.ncsl.nist.gov/pki/)}.

	{IETF PKIX Working Group (http://imc.org/ietf-pkix/)}.

	(1999-11-30)

Public Switched Telephone Network

	<communications> (PSTN, T.70) The collection of interconnected
	systems operated by the various telephone companies and
	administrations ({telcos} and {PTTs}) around the world.  Also
	known as the Plain Old Telephone System (POTS) in contrast to
	{xDSL} and {ISDN} (not to mention other forms of {PANS}).

	The PSTN started as human-operated analogue circuit switching
	systems (plugboards), progressed through electromechanical
	switches.  By now this has almost completely been made
	digital, except for the final connection to the subscriber
	(the "last mile"): The signal coming out of the phone set is
	analogue.  It is usually transmitted over a {twisted pair
	cable} still as an analogue signal.  At the {telco} office
	this analogue signal is usually digitised, using 8000 samples
	per second and 8 bits per sample, yielding a 64 kb/s data
	stream ({DS0}).  Several such data streams are usually
	combined into a fatter stream: in the US 24 channels are
	combined into a {T1}, in Europe 31 DS0 channels are combined
	into an {E1} line.  This can later be further combined into
	larger chunks for transmission over high-bandwidth core
	trunks.  At the receiving end the channels are separated, the
	digital signals are converted back to analogue and delivered
	to the received phone.

	While all these conversions are inaudible when voice is
	transmitted over the phone lines it can make digital
	communication difficult.  Items of interest include {A-law} to
	{mu-law} conversion (and vice versa) on international calls;
	{robbed bit} signalling in North America (56 kbps <--> 64
	kbps); data {compression} to save {bandwidth} on long-haul
	trunks; signal processing such as echo suppression and voice
	signal enhancement such as AT&T TrueVoice.

	(2000-07-09)

puff

	<algorithm> To decompress data that has been crunched by
	{Huffman coding}.  At least one widely distributed Huffman
	decoder program was actually *named* "PUFF", but these days it
	is usually packaged with the encoder.

	Opposite: {huff}.

	[{Jargon File}]

	(1996-10-16)

PUFFT

	["The Purdue University Fast Fortran Translator", Saul Rosen
	et al, CACM 8(11):661-666 (Nov 1965)].

	(1995-01-05)

pull

	{pull media}

pull-down list

	<operating system> (Or "drop-down list") A {graphical user
	interface} component that allows the user to choose one (or
	sometimes more than one) item from a list.  The current choice
	is visible in a small rectangle and when the user clicks on
	it, a list of items is revealed below it.  The user can then
	click on one of these to make it the current choice and the
	list disappears.  In some cases, by holding down a modifier
	key such as Ctrl when clicking, the selection is added to (or
	removed from) the set of current choices rather than replacing
	it.

	(1999-09-25)

pull-down menu

	<operating system> (Or "drop-down menu", "pop-down menu") A
	{menu} in a {graphical user interface}, whose title is
	normally visible but whose contents are revealed only when the
	user activates it, normally by pressing the {mouse} button
	while the {pointer} is over the title, whereupon the menu
	items appear below the title.  The user may then select an
	item from the menu or click elsewhere, in either case the menu
	contents are hidden again.  A menu item is selected either by
	dragging the mouse from the menu title to the item and
	releasing or by clicking the title and then the item.

	When a pull-down menu appears in the main area of a window, as
	opposed to the {menu bar}, it may have a small,
	downward-pointing triangle to the right.

	Compare: {scrollable list}.

	(1999-09-22)

pull media

	<messaging> A model of media distribution were the bits of
	content have to be requested by the user, e.g. normal use of
	{HTTP} on the {web}.

	Opposite: "{push media}".

	(1997-04-10)

Pulse Code Modulation

	<data> (PCM) A method by which an audio signal is represented
	as digital data.

	Virtually all digital audio systems use PCM, including, {CD},
	{DAT}, F1 format, 1630 format, DASH, DCC, and MD.  Many people
	get confused because "PCM" is also slang for Sony's F1 format
	which stores PCM digital audio on videotape.

	(1995-02-09)

pumpkin

	<jargon> A humourous term for the {token} - the object
	(notional or real) that gives its possessor (the "pumpking" or
	the "pumpkineer") exclusive access to something, e.g. applying
	{patches} to a master copy of {source} (for which the pumpkin
	is called a "patch pumpkin").

	Chip Salzenberg <chip@perl.com> wrote:

	David Croy once told me once that at a previous job, there was
	one tape drive and multiple systems that used it for backups.
	But instead of some high-tech exclusion software, they used a
	low-tech method to prevent multiple simultaneous backups: a
	stuffed pumpkin.  No one was allowed to make backups unless
	they had the "backup pumpkin".

	(1999-02-23)

pumpkineer

	{pumpkin}

pumpking

	{pumpkin}

punch card

	{punched card}

punched card

	<storage, history> (Or "punch card") The signature medium of
	computing's Stone Age, now long obsolete outside of a few
	{legacy systems}.  The punched card actually predates
	computers considerably, originating in 1801 as a control
	device for {Jacquard looms}.  {Charles Babbage} used them as a
	data and program storage medium for his {Analytical Engine}:

	"To those who are acquainted with the principles of the
	Jacquard loom, and who are also familiar with analytical
	formulæ, a general idea of the means by which the Engine
	executes its operations may be obtained without much
	difficulty.  In the Exhibition of 1862 there were many
	splendid examples of such looms. [...] These patterns are then
	sent to a peculiar artist, who, by means of a certain machine,
	punches holes in a set of pasteboard cards in such a manner
	that when those cards are placed in a Jacquard loom, it will
	then weave upon its produce the exact pattern designed by the
	artist.  [...]  The analogy of the Analytical Engine with this
	well-known process is nearly perfect.  There are therefore two
	sets of cards, the first to direct the nature of the
	operations to be performed -- these are called operation
	cards: the other to direct the particular variables on which
	those cards are required to operate -- these latter are called
	variable cards.  Now the symbol of each variable or constant,
	is placed at the top of a column capable of containing any
	required number of digits."

	-- from Chapter 8 of Charles Babbage's "Passages from the Life
	of a Philosopher", 1864.

	The version patented by {Herman Hollerith} and used with
	mechanical tabulating machines in the 1890 US Census was a
	piece of cardboard about 90 mm by 215 mm.  There is a
	widespread myth that it was designed to fit in the currency
	trays used for that era's larger dollar bills, but recent
	investigations have falsified this.

	{IBM} (which originated as a tabulating-machine manufacturer)
	married the punched card to computers, encoding binary
	information as patterns of small rectangular holes; one
	character per column, 80 columns per card.  Other coding
	schemes, sizes of card, and hole shapes were tried at various
	times.

	The 80-column width of most character terminals is a legacy of
	the IBM punched card; so is the size of the quick-reference
	cards distributed with many varieties of computers even today.

	See {chad}, {chad box}, {eighty-column mind}, {green card},
	{dusty deck}, {lace card}, {card walloper}.

	[{Jargon File}]

	(1998-10-19)

punt

	(From the punch line of an old joke referring to American
	football: "Drop back 15 yards and punt!") 1. To give up,
	typically without any intention of retrying.  "Let's punt the
	movie tonight."  "I was going to hack all night to get this
	feature in, but I decided to punt" may mean that you've
	decided not to stay up all night, and may also mean you're not
	ever even going to put in the feature.

	2. More specifically, to give up on figuring out what the
	{Right Thing} is and resort to an inefficient hack.

	3. A design decision to defer solving a problem, typically
	because one cannot define what is desirable sufficiently well
	to frame an algorithmic solution.  "No way to know what the
	right form to dump the graph in is - we'll punt that for
	now."

	4. To hand a tricky implementation problem off to some other
	section of the design.  "It's too hard to get the compiler to
	do that; let's punt to the run-time system."

	[{Jargon File}]

Purdue Compiler-Construction Tool Set

	<tool> (PCCTS) A highly integrated {lexical analser generator}
	and {parser generator} by Terence J. Parr <parrt@acm.org>,
	Will E. Cohen and Henry G. Dietz <hankd@ecn.purdue.edu>, both
	of {Purdue University}.

	ANTLR (ANother Tool for Language Recognition) corresponds to
	YACC and DLG (DFA-based Lexical analyser Generator) functions
	like {LEX}.  PCCTS has many additional features which make it
	easier to use for a wide range of translation problems.  PCCTS
	{grammars} contain specifications for lexical and syntactic
	analysis with selective {backtracking} ("infinite lookahead"),
	{semantic predicates}, intermediate-form construction and
	error reporting.  Rules may employ {Extended BNF} (EBNF)
	grammar constructs and may define parameters, return values,
	and have {local variables}.

	Languages described in PCCTS are recognised via {LLk} parsers
	constructed in pure, human-readable, {C} code.  Selective
	backtracking is available to handle non-LL(k) constructs.
	PCCTS {parsers} may be compiled with a {C++} compiler.  PCCTS
	also includes the {SORCERER} tree parser generator.

	Latest version: 1.10, runs under {Unix}, {MS-DOS}, {OS/2}, and
	{Macintosh} and is very portable.

	{(ftp://marvin.ecn.purdue.edu/pub/pccts/1.10)}.

	{UK FTP (ftp://src.doc.ic.ac.uk/
	computing/programming/languages/tools/pccts/)}.  {Macintosh
	FTP (ftp://maya.dei.unipd.it/pub/mac/)}.

	Mailing list: pccts-users-request@ahpcrc.umn.edu ("subscribe
	pccts-users your_name" in the message body).

	E-mail: Terence J. Parr <parrt@acm.org>, Roberto Avanzi
	<mocenigo@maya.dei.unipd.it> (Mac port).

	(2000-10-30)

Purdue University

	{(http://purdue.edu/)}.

	(1995-01-05)

pure functional language

	{purely functional language}

pure lambda-calculus

	{Lambda-calculus} with no constants, only functions expressed
	as {lambda abstractions}.

	(1994-10-27)

PureLink

	An incremental linker from {Pure Software}.

Pure Lisp

	A {purely functional language} derived from {Lisp} by
	excluding any feature which causes {side-effects}.

purely functional language

	<language> A language that supports only {functional
	programming} and does not allow functions to have
	{side-effects}.  Program execution consists of evaluation of
	an expression and all subexpressions are {referentially
	transparent}.

	(2003-03-25)

Purify

	A debugging tool from Pure Software.

Purple Book

	1. <publication> The "System V Interface Definition".  The
	covers of the first editions were an amazingly nauseating
	shade of off-lavender.

	2. <publication> The {Wizard Book}.

	See also {book titles}.

	[{Jargon File}]

purple wire

	<jargon, hardware> Wire installed by {IBM} Field Engineers to
	work around problems discovered during testing or debugging.
	These are called "purple wires" even when (as is frequently
	the case) they are yellow.

	Compare {blue wire}, {yellow wire}, and {red wire}.

	(1995-04-11)

Purveyor

	<web> A {web server} for {Windows NT}
	and {Windows 95} (when available).

	{(http://process.com/)}.

	E-mail: <info@process.com>.

	(1995-04-11)

push

	1. <programming> To put something onto a {stack} or {pdl}.

	Opposite: "{pop}".

	2. <communications> {push media}.

	[{Jargon File}]

	(1997-04-10)

push-button

	<electronics> A roughly fingertip-sized plastic cover attached
	to a spring-loaded, normally-open switch, which, when pressed,
	closes the switch.  Typical examples are the keys on a
	computer or calculator keyboard and {mouse} buttons.

	(1997-07-07)

Push Down List

	<programming> (PDL) In {ITS} days, the preferred {MIT}ism for
	{stack}.

	See {overflow pdl}.

	(1995-12-21)

push media

	<messaging> A model of media distribution where items of
	content are sent to the user (viewer, listener, etc.) in a
	sequence, and at a rate, determined by a {server} to which the
	user has connected.  This contrasts with {pull media} where
	the user requests each item individually.  Push media usually
	entail some notion of a "channel" which the user selects and
	which delivers a particular kind of content.

	Broadcast television is (for the most part) the prototypical
	example of push media: you turn on the TV set, select a
	channel and shows and commercials stream out until you turn
	the set off.

	By contrast, the {web} is (mostly) the prototypical
	example of pull media: each "page", each bit of content, comes
	to the user only if he requests it; put down the keyboard and
	the mouse, and everything stops.

	At the time of writing (April 1997), much effort is being put
	into blurring the line between push media and pull media.
	Most of this is aimed at bringing more push media to the
	{Internet}, mainly as a way to disseminate advertising, since
	telling people about products they didn't know they wanted is
	very difficult in a strict pull media model.

	These emergent forms of push media are generally variations on
	targeted advertising mixed in with bits of useful content.
	"At home on your computer, the same system will run soothing
	{screensavers} underneath regular news flashes, all while
	keeping track, in one corner, of press releases from companies
	whose stocks you own.  With frequent commercial messages, of
	course."  (Wired, March 1997, page 12).

	{Pointcast (http://pointcast.com)} is probably the best
	known push system on the Internet at the time of writing.

	As part of the eternal desire to apply a fun new words to
	boring old things, "push" is occasionally used to mean nothing
	more than email {spam}.

	(1997-04-10)

PVC

	1. <networking> {Permanent Virtual Circuit}.

	2. <hardware> {polyvinyl chloride}.

	(2001-03-26)

PVM

	{Parallel Virtual Machine}

PV-WAVE

	<graphics, tool> (Precision Visuals' Workstation Analysis and
	Visualization Environment) Interactive scientific
	{visualisation} software originally from Precision Visuals,
	Inc., but now owned by Visual Numerics, Inc. (VNI).

	(1999-07-18)

pw

	<networking> The {country code} for Palau.

	(1999-01-27)

PWM

	{pulse width modulation}

py

	<networking> The {country code} for Paraguay.

	(1999-01-27)

Pythagoras

	<person> (Pythagoras of Samos, Ionia; about 569-475 BC) The
	Greek mathematician who founded a philosophical and religious
	school in Croton (now Crotone) in southern Italy.

	Pythagoras is most famous for {Pythagoras's Theorem} but other
	important postulates are attributed to him, e.g. the sum of
	the angles of a triangle is equal to two right angles.

	(2004-02-12)

Pythagoras's Theorem

	<mathematics> The theorem of geometry, named after
	{Pythagoras}, of Samos, Ionia, stating that, for a
	right-angled triangle, the square of the length of the
	{hypotenuse} is equal to the sum of the squares of the lengths
	of the other two sides.  I.e. if the longest side has
	length A and the other sides have lengths B and C (in any
	units),

		A^2 = B^2 + C^2

	(2004-02-12)

Pythagoras' Theorem

	<spelling> It's {Pythagoras's Theorem}.

	(2007-06-07)

Pythagorean Theorem

	{Pythagoras's Theorem}

Python

	1. <language> A simple, high-level interpreted language
	invented by Guido van Rossum <guido@cwi.nl> in 1991.  Python
	combines ideas from {ABC}, {C}, {Modula-3} and {Icon}.  It
	bridges the gap between {C} and {shell} programming, making it
	suitable for {rapid prototyping} or as an extension language
	for C applications.  It is {object-oriented} and supports
	packages, {modules}, {classes}, user-defined exceptions, a
	good C interface, dynamic loading of C modules and has no
	arbitrary restrictions.

	Python is available for many {platforms}, including {Unix},
	{Windows}, {DOS}, {OS/2}, {Macintosh} and {Amoeba}.

	Latest version: 2.5, as of 2007-02-21.

	{(http://python.org/)}.

	{Usenet} newsgroup: {news:comp.lang.python}.

	(2007-02-21)

	2. <compiler> A {compiler} for {CMU Common LISP}.  Python is
	more sophisticated than other {Common Lisp} compilers.  It
	produces better code and is easier to use.  The programming
	environment based on the {Hemlock} editor is better integrated
	than {GNU} {Emacs} based environments.

	(1997-02-27)

Q

	<language> A very {high level language} by Per Bothner based
	on {lazy} generalised sequences.  Q has {lexical scope}, and
	some support for {logic programming}[?] and {constraint}
	programming.  The language includes small subsets of {Common
	Lisp} and {Scheme}.

	Q was a test-bed for programming language ideas.  Where {APL}
	uses {arrays} for looping, Q uses generalised sequences which
	may be infinite and may be stored or calculated on demand.  It
	has {macros}, {primitives} to run programs, and an
	{interactive} command language.

	Q is implemented in {C++}, and comes with an {interpreter},
	{compiler} framework, libraries, and documentation.  It runs
	on {Linux} and {SUN-4} and should work on any 32-bit {Unix}.

	Latest version: 1, as of 1993-06-07.  Development stopped in
	1994.

	{(http://kelso.bothner.com/~per/software/#Q )}.

	E-mail: Per Bothner <per@bothner.com>.

	(2000-05-22)

QA

	{Quality Assurance}

qa

	<networking> The {country code} for Qatar.

	(1999-01-27)

QA4

	Question-answering language.  A procedural calculus for
	intuitive reasoning.  A LISP-based pattern-matching language
	for theorem proving.  "QA4, A Language for Writing
	Problem-Solving Programs", J.F. Rulifson et al, Proc IFIP
	Congress 1968.

QAM

	1. {Quadrature Amplitude Modulation}.

	2. {Quality Assurance Management}.

Qbasic

	<language> Quick basic.

	A version of {BASIC} from {Microsoft}, later known as
	{MS-BASIC}.

	(1995-03-16)

QBE

	{Query By Example}

QCA

	{Quantum-dot Cellular Automata}

QCIF

	{Quarter CIF}

qdjanus

	A {Janus}-to-{Prolog} compiler by Saumya Debray
	<debray@cs.arizona.edu>.  It is meant to be used with {Sicstus
	Prolog} and is mostly compliant with "Programming in Janus" by
	Saraswat, Kahn, and Levy.

	Latest version: 1.3.

	{(ftp://cs.arizona.edu/janus/qdjanus/)}.

	(1992-05-18)

QDOS

	<operating system> The Sinclair {QL}'s proprietary {operating
	system}.  The origin of the name is uncertain (a weak pun on
	kudos, perhaps, as {Unix} was on {Multics}).  There was
	another OS around from the birth of personal computers called
	Q.D.O.S. - Quick And Dirty Operating System.  QDOS might also
	stand for QL Data/Disk/Drive/Device Operating System.

	QDOS did the usual OS sorts of things, as well as
	multitasking.  It was unusual in several ways.  It treated all
	devices (serial ports, mouse ports, screen, {microdrive},
	{disk drive}, keyboard, etc.) uniformly, so you could print a
	text file direct to disk or save a binary to the screen for
	example.

	Also logical channels could be assigned to particular physical
	devices.  Output directed to a channel would go to the
	appropriate in/output.  This also meant you could have many
	windows on screen (the QL booted up from internal ROMs with 3
	windows - command line, output and program listing) all
	independent to some extent.  Channels could be redirected
	without affecting the way the process sent or received the
	data.

	(1996-07-22)

QEMM386

	<software, storage> A combined {expanded memory manager} and
	{extended memory manager} for {IBM PCs} with an {Intel 80386}
	or higher processor from {Quarterdeck Office Systems}.
	QEMM386 can also act as an {UMB} provider and an {A20
	handler}.

	(1996-01-10)

QIC

	{Quarter-Inch Cartridge}

QL

	<computer> (Quantum Leap) Sir {Clive Sinclair}'s first
	{Motorola 68008}-based {personal computer}, developed from
	around 1981 and released about 1983.  The QL ran Sinclair's
	{QDOS} {operating system} which was the first {multitasking}
	OS on a home computer, though few programmers used this
	feature.  It had a structured, extended {BASIC} and a suite of
	integrated {application programs} written by {Psion}.  It
	featured innovative "{microdrives}" which were random-access
	tape drives.  It was not a success.

	The microdrives were innovative but probably a mistake.
	Though reliable and quite quick, they sounded like they were
	going to jam and explode, releasing a shower of plastic
	shavings and tape into your face.

	The QL and QDOS only supported two graphics modes - ominously
	named high res and low res.  High res had four (fixed) colours
	at a resolution of 512 by 256 {pixels}.  Low res had 8 colours
	(black, blue, red, magenta, green, cyan, yellow, white) plus a
	flash mode with 256 by 256 pixels.  The sound was next to
	useless - single channel single oscillator with various
	parameters for fuzz, pitch change.  There was one internal
	{font}, scalable to 2 heights and 3 widths.

	Peripherals and enhancements included a {GUI} on a plug-in
	{ROM}, accelerator cards ({Motorola 68020}, 4 MB RAM), {floppy
	disks} and {hard disks}.

	In 1996 there is still some interest in the QL, spread by the
	Internet of course.  {Emulation} software, {source code}, "The
	QL Hackers Journal" and similar are still available, and many
	QLs are on the net.

	{(http://imaginet.fr/~godefroy/english)}.

	(1996-08-01)

Qlambda

	<language> A {LISP} by {Richard Gabriel} and {John McCarthy}.

	["Queue-based Multi-processing Lisp", R. Gabriel &
	J. McCarthy, Proc 1984 Symp Lisp and Functional Prog,
	pp. 25-44].

	(1999-10-12)

QLISP

	1. SRI 1973.  General problem solving, influenced by PLANNER.
	QA4 features merged with INTERLISP.

	["QLISP - A Language for the Interactive Development of
	Complex Systems", E. Sacerdoti et al, NCC 45:349-356, AFIPS,
	1976].

	2. A parallel LISP.

	["Qlisp", R. Gabriel et al in Parallel Computation and
	Computers for AI, J. Kowalik ed, 1988, pp.63-89].

	(1999-10-12)

QLOG

	A version of {Prolog} implemented in {Lisp} which allows
	Prolog programs to call Lisp and vice versa.

	["QLOG - The Programming Environment for Prolog in LISP",
	H.J. Komorowski in Logic Prgramming, K.L. Clark et al eds,
	Academic Press 1982].

	(1995-01-25)

QMQP

	{Quick Mail Queueing Protocol}

QMTP

	{Quick Mail Transfer Protocol}

QMW

	{Queen Mary and Westfield College}

Q'NIAL

	A portable {incremental compiler} for {NIAL}, written in {C}
	at {Queen's University}, Canada.

	There aree versions for {Unix} and {MS-DOS}, from {NIAL
	Systems} Ltd.

	["The Q'NIAL Reference Manual", M.A. Jenkins, Queen's U
	Report, Dec 1983].

	(1995-01-25)

QNX

	<operating system> A {realtime}, network distributed,
	{POSIX}-certified, {microkernel}, multi-user, {multitasking},
	{ROMable}, {fault-tolerant}, embeddable {operating system}
	that supports {TCP/IP}, {NFS}, {FTP}, the {X Window System},
	{Microsoft Windows} as a guest process, {Ethernet}, {Token
	Ring}, {Arcnet} and {Watcom} {ANSI C}/{C++}.  Support for
	{Pentium}, {486}, {386}, {286}, {80x87}.  Developed and
	distributed by QNX Software Systems, Ltd.

	Latest version: 6.1, as of 2001-09-02.

	{QNX Home (http://qnx.com/)}.

	{OpenQNX: The QNX community portal (http://openqnx.com)}.

	{Papers (ftp://ftp.cse.ucsc.edu/pub/qnx/qnx-paper.ps.Z)}.
	(128.114.134.19).

	{Usenet} newsgroup: {news:comp.os.qnx}.

	E-mail: <info@qnx.com>.

	(2003-07-27)

QoS

	{Quality of service}

QPE

	<language> 1. A two-dimensional pictorial {query language}.

	["Pictorial Information Systems", S.K. Chang et al eds,
	Springer 1980].

	[Q-systems.  A. Colmerauer, 1969].

	2. A {rewrite system} with {one-way unification}, used for
	English-French translation.  It led to {Prolog}.

	["The Birth of Prolog" A. Colmerauer et al, SIGPLAN Notices
	28(3):37-52 March 1993].

	(2003-12-25)

QSAM

	{Physical Sequential}

QT-OBJECTS

	A library by Michael Travers <mt@media.mit.edu> and others
	providing an interface between {MCL} and {QuickTime}.

	(1992-12-20)

QTRADER

	<application> Analytical software for stock and commodity
	trading, released in July 1995 by {Caribou CodeWorks}.

	QTRADER allows dynamic automated analysis of current trends
	and features "Paper Trade" plotting, as well as "TradeSignal
	Bands" and "StudyMatrix" filter to screen potential trades.
	Projected ranges are handled with a "Tomorrow's Bar".

	QTRADER version 3.0 runs on {IBM PC}-compatibles, a
	{Macintosh} version is not available until late 1996.

	{Demo copy (http://winternet.com/~jottis)}.
	{(ftp://ftp.winternet.com/users/jottis)}.

	(1995-11-05)

quad

	<character> The rectangle or box {glyph} used in the {APL}
	language for various arcane purposes mostly related to {I/O}.

	[{Jargon File}]

	(2007-05-31)

Quadralay Corporation

	<company> The developers of {GWHIS}.

	{(http://quadralay.com/)}.

	Telephone: +1 512-346-9199.
	Fax: +1 512-346-8990.

	(2000-08-12)

Quadrature Amplitude Modulation

	(QAM) A method for encoding digital data in an analog signal
	in which each combination of phase and amplitude represents
	one of sixteen four bit patterns.  This is required for fax
	transmission at 9600 bits per second.

	(1995-02-02)

quadruple bucky

	Obsolete. 1. On an MIT {space-cadet keyboard}, use of all four
	of the shifting keys (control, meta, hyper, and super) while
	typing a character key.

	2. On a Stanford or MIT keyboard in {raw mode}, use of four
	shift keys while typing a fifth character, where the four
	shift keys are the control and meta keys on *both* sides of
	the keyboard.  This was very difficult to do!  One accepted
	technique was to press the left-control and left-meta keys
	with your left hand, the right-control and right-meta keys
	with your right hand, and the fifth key with your nose.

	Quadruple-bucky combinations were very seldom used in
	practice, because when one invented a new command one usually
	assigned it to some character that was easier to type.  If you
	want to imply that a program has ridiculously many commands or
	features, you can say something like: "Oh, the command that
	makes it spin the tapes while whistling Beethoven's Fifth
	Symphony is quadruple-bucky-cokebottle."  See {double bucky},
	{bucky bits}, {cokebottle}.

	[{Jargon File}]

quadruplex

	<communications> A kind of telegraphy system developed by
	Thomas A. Edison in the 1870s combining {diplex} and {duplex}
	communications to support simultaneous transmission of two
	messages in each direction.

	(2000-04-02)

Quake

	A string-oriented language designed to support the
	construction of {Modula-3} programs from {modules}, interfaces
	and libraries.  Written by Stephen Harrison of DEC SRC, 1993.

Qualcomm

	<company> A California-based technology company; their primary
	product is the {OMNITRACS} tractor-trailer-tracking system.
	They also develop the free and commercial versions of
	{Eudora} for {Macintosh} and {IBM PC}.

	(1995-10-05)

quality

	The totality of features and characteristics of a product or
	service that bear on its ability to satisfy stated or implied
	needs.  Not to be mistaken for "degree of excellence" or
	"fitness for use" which meet only part of the definition.

	[{ISO8402}].

	(1995-11-10)

quality assurance

	<testing> (QA) A planned and systematic pattern of all actions
	necessary to provide adequate confidence that the product
	optimally fulfils customers' expectations, i.e. that it is
	problem-free and well able to perform the task it was designed
	for.

	The QA of a commercial product usually involves {alpha
	testing}, where an early version of the product is tested at
	the developer's site, and is then improved accordingly.  Then,
	an almost complete version of the product is made available
	for {beta testing} by (selected) real users.  Faults
	identified during beta testing should be fixed before the
	product is released for full scale manufacturing and
	distribution.

	(2001-04-21)

quality control

	<testing> The assessment of product compliance with stated
	requirements.  Quality control should be independent from
	production.

	(2001-05-20)

quality of service

	<communications, networking> (QoS) The performance properties
	of a network service, possibly including {throughput},
	{transit delay}, {priority}.  Some {protocols} allow {packets}
	or {streams} to include QoS requirements.

	(1998-07-30)

Quality Systems & Software Ltd.

	<company> The company which produced the {DOORS} requirements
	engineering tool.  They also provide consultancy as
	Requirements Engineering Ltd.

	{(http://qss.co.uk/)}.

	E-mail: Ian Alexander <iany@easynet.co.uk>, Amanda
	Haisman-Baker <100023.44@compuserve.com>.

	(1995-11-11)

quantifier

	<logic> An operator in {predicate logic} specifying for which
	values of a variable a formula is true.  Universally
	quantified means "for all values" (written with an inverted A,
	{LaTeX} \forall) and existentially quantified means "there
	exists some value" (written with a reversed E, {LaTeX}
	\exists).  To be unambiguous, the set to which the values of
	the variable belong should be specified, though this is often
	omitted when it is clear from the context (the "universe of
	discourse").  E.g.

		Forall x . P(x)  <=>  not (Exists x . not P(x))

	meaning that any x (in some unspecified set) has property P
	which is equivalent to saying that there does not exist any x
	which does not have the property.

	If a variable is not quantified then it is a {free variable}.
	In {logic programming} this usually means that it is actually
	universally quantified.

	See also {first order logic}.

	(2002-05-21)

Quantify

	A performance analysis tool from {Pure Software}.

quantum

	{time slice}

quantum bogodynamics

	/kwon'tm boh"goh-di:-nam"iks/ A theory that characterises the
	universe in terms of {bogon} sources (such as politicians,
	used-car salesmen, TV evangelists, and {suits} in general),
	bogon sinks (such as taxpayers and computers), and bogosity
	potential fields.  Bogon absorption causes human beings to
	behave mindlessly and machines to fail (and may also cause
	both to emit secondary bogons); however, the precise mechanics
	of bogon-{computron} interaction are not yet understood.

	Quantum bogodynamics is most often invoked to explain the
	sharp increase in hardware and software failures in the
	presence of suits; the latter emit bogons, which the former
	absorb.

	[{Jargon File}]

	(1994-11-02)

quantum cell

	<electronics, computing> (Or "quantum dot cell") A structure
	comprising four {quantum dots} arranged in a square, with two
	diagonally opposed dots containing electron charges.  One
	diagonal containing charges is arbitrarily defined as
	representing a value of '1', the other as '0'.  In a five-dot
	cell, the fifth, central dot contains no charge.

	See also: {quantum cell wire}, {quantum-dot cellular}
	automata.

	{(http://mitre.org/research/nanotech/quantum_dot_cell.html)}.

	["Quantum Dot Heterostructures", D. Bimberg, et al, John Wiley
	& Sons Ltd., Dec 1998].

	[Implementations?]

	(2001-07-17)

quantum cell wire

	<electronics, computing> (Or "quantum wire", "binary wire")
	{Quantum cells} arranged in a line to carry signals.  Adjacent
	cells with the same orientation are at a low energy state and
	a change of orientation at one end of a quantum wire
	propagates along the wire, transmitting a signal.  However,
	unlike conventional wire, since only the orientation of charge
	pairs changes, no current flows.

	Circuits created using quantum cell wires are referred to as
	Quantum-dot Wireless Digital Circuits, see {quantum dot},
	{Quantum-dot Cellular Automata}.

	{(http://mitre.org/research/nanotech/quantum_dot_cell.html)}.

	["Quantum Dot Heterostructures", D. Bimberg, et al, John Wiley
	& Sons Ltd., Dec 1998]

	(2001-07-17)

quantum computer

	<computer> A type of computer which uses the ability of
	quantum systems, such as a collection of atoms, to be in many
	different states at once.  In theory, such superpositions
	allow the computer to perform many different computations
	simultaneously.  This capability is combined with interference
	among the states to produce answers to some problems, such as
	factoring integers, much more rapidly than is possible with
	conventional computers.  In practice, such machines have not
	yet been built due to their extreme sensitivity to noise.

	{Oxford University (http://eve.physics.ox.ac.uk/QChome.html)},
	{Stanford University (http://feynman.stanford.edu/qcomp/)}.

	A {quantum search algorithm
	(ftp://parcftp.xerox.com/pub/dynamics/quantum.html)} for
	{constraint satisfaction} problems exhibits the phase
	transition for {NP-complete} problems.

	(1997-02-11)

quantum computing

	{quantum computer}

quantum dot

	<physics> (Or "single-electron transistor") A location capable
	of containing a single electrical charge; i.e., a single
	electron of {Coulomb} charge.  Physically, quantum dots are
	nanometer-size {semiconductor} structures in which the
	presence or absence of a quantum electron can be used to store
	information.

	See also: {quantum cell}, {quantum cell wire}, {quantum-dot
	cellular automata}.

	{(http://www-mtl.mit.edu/MTL/bulletin/v6n2/Kumar.html)}.

	["Quantum Dot Heterostructures", D. Bimberg, et al, John
	Wiley & Sons Ltd., Dec 1998].

	(2001-07-17)

Quantum-dot Cellular Automata

	<electronics, computing> (QCA) Quantum logic circuits created
	by orientating pairs of {quantum cells} so that their relative
	positions determine their affect on each other.  This is
	functionally analogous but structurally different from how
	individual {gates} in {integrated circuits} are combined to
	create logical and memory circuitry.

	The advantages of quantum-dot cellular automata over
	conventional circuitry are extremely small size/high density,
	low power requirements, and potentially high processing
	speeds.  Disadvantages (in 2000) are difficulty of fabrication
	and low yield.

	See also: {quantum cell wire}.

	{(http://nd.edu/~qcahome/)}.

	{(http://mitre.org/research/nanotech/quantum_dot_cell.html)}.

	["Quantum Dot Heterostructures", D. Bimberg, et al, John Wiley
	& Sons Ltd., Dec 1998].

	(2001-07-17)

quarter

	{crumb}

Quarter CIF

	<communications, standard> (QCIF), a {video} format standard
	used in videoconferencing, that transfers one fourth as much
	data as {Common Intermediate Format} (CIF).

	QCIF is defined in ITU H.261 as having 144 lines and 176
	pixels per line, with half as many {chrominance} pixels in
	each direction.  QCIF is suitable for {videoconferencing}
	systems that use telephone lines.  The {codec} standard
	specifies that QCIF compatibility is mandatory, and CIF
	compatibility is optional.

	(1999-04-22)

Quarter Inch Cartridge

	<storage> /kwik/ (QIC) a type of {magnetic tape} and {tape
	drive}.  Development standards for QIC make it possible for
	tapes written on one QIC drive to be read on another.  QIC
	drives are made to work with different lengths of tape.  The
	model number of the drive consists of QIC followed by a number
	which indicates the drives tape capacity in {megabytes} (MB).

	(1996-12-09)

Quay Financial Software

	{CSK Software}

QUEASY

	An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-01-25)

Queen Mary and Westfield College

	(QMW) One of the largest of the multi-faculty schools of the
	{University of London}.  QMW has some 6000 students and over
	600 teaching and research staff organised into seven
	faculties.

	QMW was one of the first colleges in the University of London
	to develop fully the course-unit, or modular, approach to
	degree programmes.  Cross faculty courses are encouraged and
	the physical proximity of all the College buildings is a major
	factor in enabling students to adopt an interdisciplinary
	approach to their studies.

	{(http://qmw.ac.uk/)}.

	(1995-01-25)

Queens Problem

	{Eight Queens Puzzle}

Queens Puzzle

	{Eight Queens Puzzle}

Queen's University

	A Canadian University.  Source of {GVL}, {NIAL}, {Pasqual},
	{Q'NIAL} and {TXL}.

	{(ftp://ftp.qucis.queensu.ca/pub/)}.

	(1994-10-20)

QUEL

	The {query language} used by the {database management system}
	{INGRES}.

	(1995-01-31)

query

	1. <database, information science> A user's (or {agent}'s)
	request for information, generally as a formal request to a
	{database} or {search engine}.

	{SQL} is the most common {database query language}.

	2. <character> {question mark}.

	(1997-04-09)

Query By Example

	<database, language> (QBE) A {user-friendly} {query language}
	developed by Moshé Zloof of {IBM} in 1975.

	{(http://informatik.uni-trier.de/~ley/db/indices/a-tree/z/Zloof:Mosh=eacute=_M=.html)}.

	[Moshé M. Zloof, "Query By Example", AFIPS NCC 1975: 431-438].

	[Moshé M. Zloof, "Query-by-Example: A Data Base Language", IBM
	Systems Journal 16(4): 324-343, 1977].

	["QBE/OBE: A Language for Office and Business Automation",
	M.M. Zloof, Computer pp.13-22, May 1981].

	(2001-03-25)

query expansion

	<information science> Adding {search terms} to a user's
	search.  Query expansion is the process of a {search engine}
	adding {search terms} to a user's {weighted search}.  The
	intent is to improve {precision} and/or {recall}.  The
	additional terms may be taken from a {thesaurus}.  For example
	a search for "car" may be expanded to: car cars auto autos
	automobile automobiles.

	The additional terms may also be taken from documents
	that the user has specified as being relevant; this is the
	basis for the "more like this" feature of some search engines.

	The extra terms can have positive or negative weights.

	(1999-08-27)

ques

	{question mark}

Quest

	1. A language designed for its simple denotational semantics.
	"The Denotational Semantics of Programming Languages",
	R. Tennent, CACM 19(8):437-453 (Aug 1976).

	2. QUantifiers and SubTypes.  Language with a sophisticated
	type system.  Just as types classify values, "kinds" classify
	types and type operators.  Explicit universal and existential
	quantification over types, type operators, and subtypes.
	Subtyping is defined inductively on all type constructions,
	including higher-order functions and abstract types.
	User-definable higher-order type operators.

	"Typeful Programming", Luca Cardelli <luca@src.dec.com>, RR
	45, DEC SRC 1989.

	Implemented in Modula-3.

	{(ftp://gatekeeper.dec.com/pub/DEC/Quest/quest12A.tar.Z)}.

	3. <tool, text> A {multimedia} {authoring} system.  Quest has
	been available for {MS-DOS} for some time.  Version 3.5 for
	{Microsoft Windows} was released around March 1995.  It
	features an {Authorware}-style {flowchart} system with an
	{ANSI-C} {script language}.

	(1995-04-02)

question mark

	<character> "?", {ASCII} character 63.

	Common names: query; {ITU-T}: question mark; {ques}.  Rare:
	whatmark; {INTERCAL}: what; wildchar; huh; hook; buttonhook;
	hunchback.

	Question mark is used, along with {colon} for {C}'s {lazy}
	triadic "if" {operator} (similar to the {IIF} function in
	{Visual Basic}).  The expression x?y:z evaluates x, then if x
	is true it returns y else it returns z.

	In {Unix} {shell} file name patterns, question mark matches
	any single character.

	(2003-06-17)

queue

	<programming> A {first-in first-out} data structure used to
	sequence objects.  Objects are added to the tail of the queue
	("enqueued") and taken off the head ("dequeued").

	For example, an {operating system} might use a queue to
	serialise {concurrent} demands for a resource such as a
	{printer}, {processor} or communications channel.  Users might
	place files on a print queue and a {background} process or
	"{demon}" would take them off and print them.  Another common
	use is to pass data between an {interrupt handler} and a user
	process.

	(2007-05-18)

Queued Sequential Access Method

	{Physical Sequential}

QUICK

	<language> An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-05-11)

quick-and-dirty

	<jargon, programming> Describes a {crock} put together under
	time or user pressure.  Used especially when you want to
	convey that you think the fast way might lead to trouble
	further down the road.  "I can have a quick-and-dirty fix in
	place tonight, but I'll have to rewrite the whole module to
	solve the underlying design problem."

	See also {kluge}.

	[{Jargon File}]

	(1995-05-11)

QuickDraw

	<library, graphics> Part of the software in the {Apple
	Macintosh}'s {ROM} that performs graphics operations.

	(1995-05-11)

Quick Mail Queueing Protocol

	<communications> (QMQP) A {protocol} that provides a central
	{e-mail} queue for a {cluster} of {hosts}.  QMOP is supposed
	to provide fast transfers of messages with many recipients as
	it can batch them up as a single transaction.  It listens on
	port 628.

	{(http://cr.yp.to/mail.html)}

	(2007-05-25)

Quick Mail Transfer Protocol

	<communications> (QMTP) An {SMTP} replacement that works
	better over high {latency} links as it doesn't require as much
	interaction as SMTP.  QMTP listens on port 209 and is used by
	{qmail}.

	{(http://cr.yp.to/mail.html)}

	(2007-05-25)

Quicksilver

	<database> A {dBASE}-like compiler for {MS-DOS} from
	{WordTech}.

	(1995-05-11)

Quicksort

	A sorting {algorithm} with O(n log n) average time
	{complexity}.

	One element, x of the list to be sorted is chosen and the
	other elements are split into those elements less than x and
	those greater than or equal to x.  These two lists are then
	sorted {recursive}ly using the same algorithm until there is
	only one element in each list, at which point the sublists are
	recursively recombined in order yielding the sorted list.

	This can be written in {Haskell}:

		qsort               :: Ord a => [a] -> [a]
		qsort []             = []
		qsort (x:xs)         = qsort [ u | u<-xs, u<x ] ++
				       [ x ] ++
				       qsort [ u | u<-xs, u>=x ]

	[Mark Jones, Gofer prelude.]

QuickTime

	<graphics, standard, file format, product> {Apple Computer}'s
	software for playing {audio} and {video}.  The QuickTime
	{application} is a free {media player}.  QuickTime Pro is a
	paid-for version with editing ability.  QuickTime's native
	format for audio and video is .mov but it can handle many
	others.

	{(http://apple.com/quicktime/what-is)}

	(2011-01-04)

quiesce

	<networking> To render quiescent, i.e. temporarily inactive or
	disabled.  For example to quiesce a device (such as a digital
	modem).  It is also a system command in MAX TNT software which
	is used to "Temporarily disable a modem or DS0 channel".

	Also used as an adjective, in the expression "{quiesce time}".

	(2000-03-05)

quiesce time

	<jargon> The length of time taken to {quiesce} a system (to
	render it inactive), or the length of time between periods of
	inactivity.

	(2000-03-05)

QUIKSCRIPT

	Simulation language derived from {SIMSCRIPT}, based on
	{20-GATE}.

	["Quikscript - A Simpscript-like Language for the G-20",
	F.M. Tonge et al, CACM 8(6):350-354 (June 1965)].

QUIKTRAN

	Fortran-like, interactive with debugging facilities.  Sammet
	1969, p.226.

QUIN

	Pyle 1965.  Interactive language.  Sammet 1969, p.691.

quine

	<programming> /kwi:n/ (After the logician Willard V. Quine,
	via Douglas Hofstadter) A program that generates a copy of its
	own source text as its complete output.  Devising the shortest
	possible quine in some given programming language is a common
	hackish amusement.

	In most interpreted languages, any constant, e.g. 42, is a
	quine because it "evaluates to itself".  In certain {Lisp}
	dialects (e.g. {Emacs Lisp}), the symbols "nil" and "t" are
	"self-quoting", i.e. they are both a symbol and also the value
	of that symbol.  In some dialects, the function-forming
	function symbol, "lambda" is self-quoting so that, when
	applied to some arguments, it returns itself applied to those
	arguments.  Here is a quine in {Lisp} using this idea:

	 ((lambda (x) (list x x)) (lambda (x) (list x x)))

	Compare this to the {lambda expression}:

		(\ x . x x) (\ x . x x)

	which reproduces itself after one step of {beta reduction}.
	This is simply the result of applying the {combinator} {fix}
	to the {identity function}.  In fact any quine can be
	considered as a {fixed point} of the language's evaluation
	mechanism.

	We can write this in {Lisp}:

	 ((lambda (x) (funcall x x)) (lambda (x) (funcall x x)))

	where "funcall" applies its first argument to the rest of its
	arguments, but evaluation of this expression will never
	terminate so it cannot be called a quine.

	Here is a more complex version of the above Lisp quine, which
	will work in Scheme and other Lisps where "lambda" is not
	self-quoting:

	 ((lambda (x)
	   (list x (list (quote quote) x)))
	  (quote
	     (lambda (x)
	       (list x (list (quote quote) x)))))

	It's relatively easy to write quines in other languages such
	as {PostScript} which readily handle programs as data; much
	harder (and thus more challenging!) in languages like {C}
	which do not.  Here is a classic {C} quine for {ASCII}
	machines:

	 char*f="char*f=%c%s%c;main() {printf(f,34,f,34,10);}%c";
	 main(){printf(f,34,f,34,10);}

	For excruciatingly exact quinishness, remove the interior line
	break.  Some infamous {Obfuscated C Contest} entries have been
	quines that reproduced in exotic ways.

	{Ken Thompson}'s {back door} involved an interesting variant
	of a quine - a compiler which reproduced part of itself when
	compiling (a version of) itself.

	[{Jargon File}]

	(1995-04-25)

Quintec-Objects

	Based on {Quintec Prolog} (not {Quintus}).  British.

quintillion

	10^30 in Europe (this is called a {nonillion} in the United
	States and Canada).

	10^18 in the United States and Canada (this is called a
	trillion in Europe).

	[Collins dictionary].

Quintus Prolog

	<language, product> A version of {Prolog} developed by
	{Quintus}.  Development of Quintus Prolog had transferred to
	the {Swedish Institute of Computer Science} by December 1998.

	{(ftp://ftp.quintus.com/)}.

	Telephone: +1 (800) 542 1283.

	[More details?  Features?]

	(1998-12-12)

quote chapter and verse

	[by analogy with the mainstream phrase] To cite a relevant
	excerpt from an appropriate {bible}.  "I don't care if "rn"
	gets it wrong; "Followup-To: poster" is explicitly permitted
	by {RFC} 1036.  I'll quote chapter and verse if you don't
	believe me."  See also {legalese}, {language lawyer}, {RTFS}
	(sense 2).

	[{Jargon File}]

quotient

	The number obtained by dividing one number (the "numerator")
	by another (the "denominator").  If both numbers are
	{rational} then the result will also be rational.

Qu-Prolog

	An extension of {Prolog} which performs {meta-level
	computations} over {object languages}, such as {predicate
	calculi} and {lambda-calculi}, which have object-level
	variables, and {quantifiers} that create local {scopes} for
	those variables. Qu-Prolog is well suited as an implementation
	language for {theorem provers} and support notations typically
	found in texts on mathematics and logic.

Quty

	A functional plus logic language.  "Quty: A Functional
	Language Based on Unification", M. Sato et al, in Conf. Fifth
	Gen. Computer Systems, ICOT 1984, pp.157-165.

quux

	/kwuhks/ [Mythically, from the Latin semi-deponent verb quuxo,
	quuxare, quuxandum iri; noun form variously "quux" (plural
	"quuces", anglicised to "quuxes") and "quuxu" (genitive plural
	is "quuxuum", for four u-letters out of seven in all, using up
	all the "u" letters in Scrabble).]  1. Originally, a
	{metasyntactic variable} like {foo} and {foobar}.  Invented by
	{Guy Steele} for precisely this purpose when he was young and
	naive and not yet interacting with the real computing
	community.  Many people invent such words; this one seems
	simply to have been lucky enough to have spread a little.  In
	an eloquent display of poetic justice, it has returned to the
	originator in the form of a nickname.

	2. See {foo}; however, denotes very little disgust, and is
	uttered mostly for the sake of the sound of it.

	3. {Guy Steele} in his persona as "The Great Quux", which is
	somewhat infamous for light verse and for the "Crunchly"
	cartoons.

	4. In some circles, used as a punning opposite of "crux".
	"Ah, that's the quux of the matter!" implies that the point is
	*not* crucial (compare {tip of the ice-cube}).

	[{Jargon File}]

qux

	/kwuhks/ The fourth of the standard {metasyntactic variable},
	after {baz} and before the quu(u...)x series.  See {foo},
	{bar}, {baz}, {quux}.  This appears to be a recent mutation
	from {quux}, and many versions (especially older versions) of
	the standard series just run {foo}, {bar}, {baz}, {quux}, ...

QWERTY

	<hardware> /kwer'tee/ (From the top left row of letter keys of
	most keyboards) Pertaining to a standard English-language
	typewriter keyboard (sometimes called the Sholes keyboard
	after its inventor), as opposed to {Dvorak} or
	foreign-language layouts (e.g. "keyboard AZERTY" in
	french-speaking countries) or a {space-cadet keyboard} or {APL
	keyboard}.

	The QWERTY layout is a fine example of a {fossil}.  It is
	sometimes said that it was designed to slow down the typist,
	but this is wrong; it was designed to allow *faster* typing -
	under a constraint now long obsolete.  In early typewriters,
	fast typing using nearby type-bars jammed the mechanism.  So
	Sholes fiddled the layout to separate the letters of many
	common digraphs (he did a far from perfect job, though; "th",
	"tr", "ed", and "er", for example, each use two nearby keys).
	Also, putting the letters of "typewriter" on one line allowed
	it to be typed with particular speed and accuracy for {demos}.
	The jamming problem was essentially solved soon afterward by a
	suitable use of springs, but the keyboard layout lives on.

	[{Jargon File}]

	(1998-01-15)

QX

	(Meaning "OK", from E.E. Smith SF books) A language for
	{digital signal processing} of digitised speech, by Richard
	Gillmann of {SDC}, Santa Monica.  QX was part of SDC's {speech
	recognition} project.

	(1995-02-09)

R2000

	{MIPS R2000}

R2RS

	A revision of {RRS}, itself revised in {R3RS}.

	["The Revised Revised Report on the Algorithmic Language
	Scheme", Clinger, AI Memo 848, MIT Aug 1985].

	(1995-02-09)

R3.99RS

	{R4RS} without the {macros}.

R3RS

	A revision of {R2RS}, revised in {R4RS}.

	["The Revised^3 Report on the Algorithmic Language Scheme",
	J. Rees et al, SIGPLAN Notices 21(12):37-79 (Dec 1986)].

R4RS

	A revision of {R3RS}, revised in {R3.99RS}.

	{(ftp://altdorf.ai.mit.edu/)}.

	["The Revised^4 Report on the Algorithmic Language Scheme", W.
	Clinger et al, MIT (Nov 1991)].

	(1994-10-28)

	[Later revisions?]

rabbit job

	(Cambridge) A batch job that does little, if any, real work,
	but creates one or more copies of itself, breeding like
	rabbits.

	Compare {wabbit}, {fork bomb}.

	[{Jargon File}]

	(1994-11-09)

RACE

	<programming> {Requirements Acquisition and
	Controlled Evolution}.

	(1995-11-21)

race condition

	Anomalous behavior due to unexpected critical dependence on
	the relative timing of events.

	For example, if one process writes to a file while another is
	reading from the same location then the data read may be the
	old contents, the new contents or some mixture of the two
	depending on the relative timing of the read and write
	operations.

	A common remedy in this kind of race condition is {file
	locking}; a more cumbersome remedy is to reorganize the system
	such that a certain processes (running a {daemon} or the like)
	is the only process that has access to the file, and all other
	processes that need to access the data in that file do so only
	via interprocess communication with that one process.

	As an example of a more subtle kind of race condition,
	consider a {distributed} {chat} {network} like {IRC}, where a
	{user} is granted channel-operator {privileges} in any channel
	he starts.  If two users on different {servers}, on different
	ends of the same network, try to start the same-named channel
	at the same time, each user's respective server will grant
	channel-operator privileges to each user, since neither will
	yet have received the other's signal that that channel has
	been started.

	In this case of a race condition, the "shared resource" is the
	conception of the {state} of the network (what channels exist,
	as well as what users started them and therefore have what
	privileges), which each server is free to change as long as it
	signals the other servers on the network about the changes so
	that they can update their conception of the state of the
	network.  However, the {latency} across the network makes
	possible the kind of race condition described.  In this case,
	heading off race conditions by imposing a form of control over
	access to the shared resource -- say, appointing one server to
	be in charge of who holds what privileges -- would mean
	turning the distributed network into a centralized one (at
	least for that one part of the network operation).  Where this
	is not acceptable, the more pragmatic solution is to have the
	system recognize when a race condition has occurred and to
	repair the ill effects.

	Race conditions also affect electronic circuits where the
	value output by a {logic gate} depends on the exact timing of
	two or more input signals.  For example, consider a two input
	AND gate fed with a logic signal X on input A and its
	negation, NOT X, on input B.  In theory, the output (X AND NOT
	X) should never be high.  However, if changes in the value of
	X take longer to propagate to input B than to input A then
	when X changes from false to true, there will be a brief
	period during which both inputs are true, and so the gate's
	output will also be true.  If this output is fed to an
	edge-sensitive component such as a counter or flip-flop then
	the temporary effect ("{glitch}") will become permanent.

	(2002-08-03)

RACF

	{Resource Access Control Facility}

RAD

	<programming> {Rapid Application Development}.

Raddle

	<parallel>

	["On the Design of Large Distributed Systems", I.R. Forman,
	Proc 1st IEEE Intl Conf Comp Langs, pp.25-27 (Oct 1986)].

	(2008-07-30)

Radio-frequency identification

	<hardware> (RFID) Small {radio} {transponders} or "tags"
	designed to be attached to items like products in a
	supermarket to allow the items to be identified and tracked by
	a remote system.  Typically an RFID tag includes an
	{integrated circuit} that stores data and interfaces to the
	antenna, allowing the stored data to be retrieved by the
	remote system.

	(2008-07-30)

Radio Frequency Interference

	<hardware, testing> (RFI) Electromagnetic radiation which is
	emitted by electrical circuits carrying rapidly changing
	signals, as a by-product of their normal operation, and which
	causes unwanted signals (interference or noise) to be induced
	in other circuits.

	The most important means of reducing RFI are: use of bypass or
	"decoupling" {capacitors} on each active device (connected
	across the power supply, as close to the device as possible),
	risetime control of high speed signals using series resistors
	and {VCC filtering}.  Shielding is usually a last resort after
	other techniques have failed because of the added expense of
	RF gaskets and the like.

	The efficiency of the radiation is dependant on the height
	above the ground or power plane (at RF one is as good as the
	other) and the length of the conductor in relationship to the
	wavelength of the signal component (fundamental, harmonic or
	transient (overshoot, undershoot or ringing)).  At lower
	frequencies, such as 133 MHz, radiation is almost exclusively
	via I/O cables; RF noise gets onto the power planes and is
	coupled to the line drivers via the VCC and ground pins.  The
	Rf is then coupled to the cable through the line driver as
	common node noise.  Since the noise is common mode, shielding
	has very little effect, even with differential pairs.  The RF
	energy is capacitively coupled from the signal pair to the
	shield and the shield itself does the radiating.

	At higher frequencies, usually above 500 Mhz, traces get
	electrically longer and higher above the plane.  Two
	techniques are used at these frequencies: wave shaping with
	series resistors and embedding the traces between the two
	planes.  If all these measures still leave too much RFI,
	sheilding such as RF gaskets and copper tape can be used.
	Most digital equipment is designed with metal, or coated
	plastic, cases.

	Switching power supplies can be a source of RFI, but have
	become less of a problem as design techniques have improved.

	Most countries have legal requirements that electronic and
	electrical hardware must still work correctly when subjected
	to certain amounts of RFI, and should not emit RFI which could
	interfere with other equipment (such as radios).

	See also {Electrostatic Discharge}, {Electromagnetic
	Compatibility}.

	(1998-01-26)

radio in the loop

	{Wireless Local Loop}

radiosity

	<graphics> A method for rendering a view of a
	three-dimensional scene that provides realistic lighting
	effects, such as interobject reflections and {color bleeding}.
	Radiosity methods are computationally intense, due to the use
	of linear systems of equations and the spatial complexity of
	large scenes.

	{Usenet} newsgroup: {news:comp.graphics}.

	[Is radiosity more accurate than {ray tracing}?  Does it take
	more computing power?  How does compute time scale with scene
	complexity?]

	(2003-06-01)

RADIUS

	{Remote Authentication Dial-In User Service}

radix

	<mathematics> The ratio, R, between the weights of adjacent
	digits in {positional representation} of numbers.  The
	right-most digit has weight one, the digit to its left has
	weight R, the next R^2, R^3, etc.  The radix also determines
	the set of digits which is zero to R-1.  E.g. decimal (radix
	ten) uses 0-9 and each digit is worth ten times as much as you
	move left along the number.

	(2006-11-10)

RAID

	{Redundant Arrays of Independent Disks}

RAIL

	<robotics> Automatix.  High-level language for industrial
	robots.

	(2006-11-10)

rainbow series

	<publication> Any of several series of technical manuals
	distinguished by cover colour.  The original rainbow series
	was the NCSC security manuals (see {Orange Book}, {crayola
	books}); the term has also been commonly applied to the
	PostScript reference set (see {Red Book}, {Green Book}, {Blue
	Book}, {White Book}).  Which books are meant by ""the" rainbow
	series" unqualified is thus dependent on one's local technical
	culture.

	[{Jargon File}]

	(1996-12-03)

rain dance

	1. Any ceremonial action taken to correct a hardware problem,
	with the expectation that nothing will be accomplished.  This
	especially applies to reseating {printed circuit boards},
	reconnecting cables, etc.  "I can't boot up the machine.
	We'll have to wait for Greg to do his rain dance."

	2. Any arcane sequence of actions performed with computers or
	software in order to achieve some goal; the term is usually
	restricted to rituals that include both an {incantation} or
	two and physical activity or motion.

	Compare {magic}, {voodoo programming}, {black art}, {cargo
	cult programming}, {wave a dead chicken}.

	[{Jargon File}]

	(1995-02-09)

RAIS

	{Redundant Array of Inexpensive Servers}

RAISE

	{Rigorous Approach to Industrial Software Engineering}

RAISE Specification Language

	<language> (RSL) (RAISE = Rigorous Approach to Industrial
	Software Engineering).  A wide-spectrum specification and
	design language developed by {ESPRIT} Project 315 at {CRI}
	A/S, Denmark.  Systems may be modular, {concurrent} and
	{nondeterministic}.  Specifications may be {applicative} or
	{imperative}, explicit or implicit, abstract or concrete.

	["The RAISE Specification Language", RAISE Language Group, P-H
	1992, ISBN 0-13-752833-7].

	(2007-10-02)

RAL

	1. Rutherford Appleton Laboratory (UK).

	2. An {expert system}.

RAM

	{Random Access Memory}

Rambus DRAM

	<storage> (RDRAM) A high bandwidth {DRAM}, designed by
	{Rambus, Inc.} of Mountain View, CA.

	RDRAM is used mainly for {video accelerators}, and also in the
	{Ultra 64} from {Nintendo}.  It offers sustained {transfer
	rates} of around 1000 Mbps, compared to 200 Mbps for ordinary
	DRAM.  Although it cannot be used as a direct replacement for
	existing memory, it is likely that it will replace DRAM and
	{SDRAM} as the main memory system in {personal computers} as
	the {bus} speeds required by these machines increase.  SDRAM
	can operate up to around 100MHz, but RDRAM has been
	demonstrated by the manufacturers running at 600MHz.

	The memory is also only 8 or 9 {bits} wide, so the bandwidth
	would increase enormously if it were used in parallel to give
	32 or 64-bit memory.

	{RDRAM Installation
	(http://www.cheapestrdram.com/rdram_install.php)}.

	(2007-06-13)

Rambus, Inc.

	<company> The company which designed {Rambus DRAM}.

	{(http://rambus.com/)}.

	Address: Mountain View, CA., USA.

	(1996-12-15)

RAMDAC

	{Random Access Memory Digital-to-Analog Converter}

RAM disk

	<operating system, storage> A memory-resident program which
	mimics a {hard disk} drive.  It uses part of computer's {RAM}
	to store data which can be accessed as files.  Unlike a real
	disk drive, this drive forgets all stored data when the
	computer is turned off.

	(1995-03-14)

RAM drive

	{RAM disk}

RAMIS II

	Rapid Access {Management Information System}.

	A {database} from {On-Line Software International}.

	(1994-11-14)

RAMTRON

	<company> The company which holds the patents for {FRAM} and
	licenses the technology to other companies.

	The licensees are currently (Feb 1997) {Hitachi}, {Rohm},
	{Samsung}, {SGS-Thomson} and {Toshiba}, none of who offer FRAM
	products of their own yet.

	{(http://csn.net/ramtron/)}.

	(1997-02-19)

random

	1. Unpredictable (closest to mathematical definition); weird.
	"The system's been behaving pretty randomly."

	2. Assorted; undistinguished.  "Who was at the conference?"
	"Just a bunch of random business types."

	3. (pejorative) Frivolous; unproductive; undirected.  "He's
	just a random loser."

	4. Incoherent or inelegant; poorly chosen; not well organised.
	"The program has a random set of misfeatures."  "That's a
	random name for that function."  "Well, all the names were
	chosen pretty randomly."

	5. In no particular order, though {deterministic}.  "The I/O
	channels are in a pool, and when a file is opened one is
	chosen randomly."

	6. Arbitrary.  "It generates a random name for the scratch
	file."

	7. Gratuitously wrong, i.e. poorly done and for no good
	apparent reason.  For example, a program that handles file
	name defaulting in a particularly useless way, or an assembler
	routine that could easily have been coded using only three
	registers, but redundantly uses seven for values with
	non-overlapping lifetimes, so that no one else can invoke it
	without first saving four extra registers.  What {randomness}!

	8.  A random hacker; used particularly of high-school students
	who soak up computer time and generally get in the way.

	9.  Anyone who is not a hacker (or, sometimes, anyone not
	known to the hacker speaking).  "I went to the talk, but the
	audience was full of randoms asking bogus questions".

	10.  (occasional MIT usage) One who lives at Random Hall.  See
	also {J. Random}, {some random X}.

	[{Jargon File}]

	(1995-12-05)

random-access memory

	<storage> (RAM) (Previously "direct-access memory").  A data
	storage device for which the order of access to different
	locations does not affect the speed of access.  This is in
	contrast to, say, a {magnetic disk}, {magnetic tape} or a
	{mercury delay line} where it is very much quicker to access
	data sequentially because accessing a non-sequential location
	requires physical movement of the storage medium rather than
	just electronic switching.

	In the 1970s {magnetic core} memory was used and some
	old-timers still call RAM "core".  The most common form of RAM
	in use today is {semiconductor} {integrated circuits}, which
	can be either {static random-access memory} (SRAM) or {dynamic
	random-access memory} (DRAM).

	The term "RAM" has gained the additional meaning of
	read-write.  Most kinds of semiconductor {read-only memory}
	(ROM) are actually "random access" in the above sense but are
	never referred to as RAM.  Furthermore, memory referred to as
	RAM can usually be read and written equally quickly
	(approximately), in contrast to the various kinds of
	{programmable read-only memory}.  Finally, RAM is usually
	volatile though {non-volatile random-access memory} is also
	used.

	Interestingly, some {DRAM} devices are not truly random access
	because various kinds of "{page mode}" or "column mode" mean
	that sequential access is faster than random access.

	The humorous expansion "Rarely Adequate Memory" refers to the
	fact that programs and data always seem to expand to fill the
	memory available.

	(2007-10-12)

Random Access Memory Digital-to-Analog Converter

	<hardware> (RAMDAC) A combination of three fast {DACs} with a
	small {SRAM} used in graphics {display adapters} to store the
	{colour palette} and to generate the analog signals to drive a
	colour {monitor}.  The logical colour number from the display
	memory is fed into the address inputs of the SRAM to select a
	palette entry to appear on the output of the SRAM.  This entry
	is composed of three separate values corresponding to the
	three components (red, green, and blue) of the desired
	physical colour.  Each component value is fed to a separate
	DAC, whose analog output goes to the monitor, and ultimately
	to one of its three {electron guns} (or equivalent in
	non-{CRT} displays).

	DAC word lengths range usually from 6 to 10 bits.  The SRAM's
	wordlength is three times the DAC's word length.  The SRAM
	acts as a {colour lookup table}.  It usually has 256 entries
	(and thus an 8-bit address).  If the DAC's word length is also
	8 bits, we have a 256 x 24-bit SRAM which allows a selection
	of 256 out of 16777216 possible colours for the display.  The
	contents of the SRAM can be changed while the display is not
	active (during {display blanking} times).  The SRAM can
	usually be bypassed and the DACs can be fed directly by
	display data (for {true colour} modes).

	(1996-03-24)

randomness

	1. An inexplicable misfeature; gratuitous inelegance.

	2. A {hack} or {crock} that depends on a complex combination
	of coincidences (or, possibly, the combination upon which the
	crock depends for its accidental failure to malfunction).
	"This hack can output characters 40--57 by putting the
	character in the four bit accumulator field of an XCT and then
	extracting six bits - the low 2 bits of the XCT opcode are
	the right thing."  "What randomness!"

	3. Of people, synonymous with "flakiness".  The connotation is
	that the person so described is behaving weirdly,
	incompetently, or inappropriately for reasons which are (a)
	too tiresome to bother inquiring into, (b) are probably as
	inscrutable as quantum phenomena anyway, and (c) are likely to
	pass with time. "Maybe he has a real complaint, or maybe it's
	just randomness.  See if he calls back."

	[{Jargon File}]

random number

	{pseudorandom number}

random testing

	<programming, testing> A {black-box testing} approach in which
	{software} is tested by choosing an arbitrary subset of all
	possible input values.  Random testing helps to avoid the
	problem of only testing what you know will work.

	(2001-04-30)

range

	{image}

Rapid Application Development

	<programming> (RAD) A loose term for any {software life-cycle}
	designed to give faster development and better results and to
	take maximum advantage of recent advances in development
	software.

	RAD is associated with a wide range of approaches to software
	development: from hacking away in a {GUI builder} with little
	in the way of analysis and design to complete {methodologies}
	expanding on an {information engineering} framework.

	Some of the current RAD techniques are: {CASE} tools,
	{iterative life-cycles}, {prototyping}, {workshops}, {SWAT
	teams}, {timebox development}, and {Re-use} of applications,
	templates and code.

	{RAD at BSO/Den Haag
	(http://riv.nl/origin/company/denhaag/RAD.HTM)}.

	["Rapid Application Development", James Martin].

	(1995-09-23)

RapidCAD

	<processor> A specially packaged {Intel 486DX} and a dummy
	{floating point unit} (FPU) designed as pin-compatible
	replacements for an {Intel 80386} processor and {80387} FPU.
	Since the DX variant has a working on-chip FPU, a dummy FPU
	package is supplied to go in the {387} FPU socket.

	(1995-05-10)

Rapidly Extensible Language, English

	<language> (REL English) A {formal language} based on English.

	["Practical Natural Language Processing: The REL System as
	Prototype", Adv in Computers 13, Academic Press 1975].

	(1997-04-09)

rapid prototyping

	<programming> The creation of a working model of a software module
	to demonstrate the feasibility and suitability of the function.
	The prototype is expected to be replaced or refined before
	inclusion in the final product.

	Rapid prototyping contrasts with a {DIRFT} approach which
	emphasises careful design and implementation to avoid the
	overheads of debugging and testing prototype code.  Rapid
	prototyping is appropriate when the requirements are unclear or
	likely to change (which is most of the time).

	(2012-11-17)

Rapidwrite

	<language, tool> A method for translating set of abbreviations
	into the much more verbose {COBOL} code.

	[Sammet 1969, p. 338].

	(1995-05-10)

RAPT

	["An Interpreter for a Language for Describing Assemblies",
	R.J. Popplestone et al, Artif Intell 14:79-107 (1980)].

	(1995-05-10)

RARE

	{Réseaux Associés pour la Recherche Européenne}

rare mode

	<operating system> {Unix} CBREAK mode (character-by-character
	with keyboard {interrupts} enabled).  Distinguished from {raw
	mode} and {cooked mode}; the phrase "a sort of half-cooked
	(rare?) mode" is used in the V7/BSD manuals to describe the
	mode.  Usage: rare.

	[{Jargon File}]

	(1995-05-10)

RARP

	{Reverse Address Resolution Protocol}

RAS

	1. <hardware, storage> {Row Address Strobe}.

	2. <communications> {Remote Access Services}.

	3. <systems> {Reliability, Availability, Serviceability}.

	(2000-08-13)

RASP

	<language> ["RASP - A Language with Operations on Fuzzy Sets",
	D.D. Djakovic, Comp Langs 13(3):143-148 (1988)].

	(1995-05-10)

raster

	<hardware> The area of a video display that is covered by
	sweeping the electron beam of the display in a series of
	horizontal lines from top to bottom.  The beam then returns to
	the top during the vertical flyback interval.

	See also {CRT}, {frame buffer}.

	(1995-03-22)

raster blaster

	<hardware, jargon> (Cambridge) Specialised hardware for
	{bitblt} operations (a {blitter}).  Allegedly inspired by
	"Rasta Blasta", British slang for the sort of portable stereo
	Americans call a "boom box" or "ghetto blaster".

	[{Jargon File}]

	(1995-03-22)

raster burn

	1. (Or terminal illness) Eyestrain brought on by too many
	hours of looking at low-resolution, poorly tuned, or
	glare-ridden monitors, especially graphics monitors.

	2. The "burn-in" condition your {CRT} tends to get if you
	don't use a {screen saver}.

	[{Jargon File}]

raster font

	{bitmap font}

rastergram

	{Single Image Random Dot Stereogram}

raster graphics

	<graphics> Computer graphics in which an {image} is composed
	of an array of pixels arranged in rows and columns.

	Opposite: {vector graphics}.

	(1995-03-22)

Raster Image Processor

	<application, printer> (RIP) A device (usually {hardware} but
	can be {software}) that takes a {Page Description Language}
	description of a page and converts it into a {bitmap} for
	printing.

	(2003-09-10)

rasterising

	<algorithm> A transformation that can be applied to an image
	to prepare it for printing.  Rasterising reduces resolution by
	a factor of typically four to eight.  It also reduces
	sensitivity to paper properties.  Rasterising can be combined
	with {dithering}.

	[How does it work?]

	(2003-07-20)

rasterizing

	{rasterising}

raster subsystem

	<graphics> The part of a graphics system concerned with an
	{image} after it has been transformed and scaled to screen
	coordinates.  It includes scan conversion and display.

	(1995-03-22)

Ratatosk

	An {SLR parser} generator written in {Gofer} (a {Haskell}
	variant) by Torben AEgidius Mogensen <torbenm@diku.dk>.
	Ratatosk generates {purely functional} {backtracking} {LR0
	grammar} {parsers} (also in Gofer).

	Even though the {sematic} value of a {production} is a
	function of the attributes of its right-hand side (and thus
	apparently purely synthesised), inherited attributes are
	easily simulated by using {higher-order functions}.

	{(ftp://ftp.diku.dk/pub/diku/dists/Ratatosk.tar.Z)}.

rat belt

	A cable tie, especially the sawtoothed, self-locking plastic
	kind that you can remove only by cutting (as opposed to a
	random twist of wire or a twist tie or one of those humongous
	metal clip frobs).  Small cable ties are "mouse belts".

	[{Jargon File}]

RatC

	{Rationalized C}

RATEL

	Raytheon Automatic Test Equipment Language.  For analog and
	digital computer controlled test centres.  "Automatic Testing
	via a Distributed Intelligence Processing System", S.J. Ring,
	IEEE AUTOTESTCON 77 (Nov 1977).

Rate monotonic scheduling

	<algorithm> A means of {scheduling} the time allocated to
	periodic {hard-deadline} {real-time} users of a resource.  The
	users are assigned priorities such that a shorter fixed period
	between deadlines is associated with a higher priority.

	Rate monotonic scheduling provides a low-overhead, reasonably
	resource-efficient means of guaranteeing that all users will
	meet their deadlines provided that certain analytical
	equations are satisfied during the system design.  It avoids
	the design complexity of {time-line scheduling} and the
	overhead of dynamic approaches such as {earliest-deadline
	scheduling}.

	[D. R. Wilcox, Naval Ocean Systems Center Technical Report
	1310, August 1989, "Periodic Phase Adjustment Distributed
	Clock Synchronization in the Hard Realtime Environment",
	p. 9].

	(1996-03-23)

RATFIV

	<language> An enhancement to the {RATFOR} programming
	language, developed by Bill Wood while at the Institute for
	Cancer Research (Philadelphia PA, now the Fox Chase Cancer
	Center) in 1980-1981.  RATFIV was released on several {DECUS}
	(Digital Equipment Corporation User's Group) tapes for
	{VAX/VMS}.  Among its enhancements were: optional {Fortan 77}
	output, an enhanced Format statement and enhanced {macros}.

	(2007-05-16)

RATFOR

	{RATional Fortran}

rational

	[Mathematics] a fractional number n/d, where n and d are
	integers, n is the numerator and d is the denominator.  The
	set of all rational numbers is usually called Q.
	Computers do not usually deal with rational numbers but
	instead convert them to {real} numbers which are represented
	(approximately in some cases) as {floating-point} numbers.
	Compare {irrational}.

RATional Fortran

	<language> (RATFOR) {Brian Kernighan}'s {Fortran}
	{preprocessor} that allows programming with {C}-like {control
	flow}.  RATFOR is mainly of historical significance.

	A translator from Ratfor to Fortran IV was posted to
	comp.sources.Unix volume 13.

	{(ftp://ftp.wustl.edu/mirrors/Unix-c/languages/ratfor.tar-z)}.

	["Ratfor - A Preprocessor for a Rational Fortran",
	B.W. Kernighan, Soft Prac & Exp 5:395-406, Oct 1975].

	["Software Tools", B.W. Kernighan & P.J. Plauger, A-W, 1976].

	(2001-07-31)

Rationalized C

	<language> (RatC, after "{RATFOR}") A version of Ron Cain's
	original {Small-C} {compiler}.

	["A Book on C", R.E. Berry and B.A. Meekings, 1984, ISBN
	0-333-36821-5].

	[In what way was it "rationalized"?]

	(1999-06-28)

rave

	[WPI] 1. To persist in discussing a specific subject.

	2. To speak authoritatively on a subject about which one knows
	very little.

	3. To complain to a person who is not in a position to correct
	the difficulty.

	4. To purposely annoy another person verbally.

	5. To evangelise.  See {flame}.

	6. Also used to describe a less negative form of blather, such
	as friendly bullshitting.  "Rave" differs slightly from
	{flame} in that "rave" implies that it is the persistence or
	obliviousness of the person speaking that is annoying, while
	{flame} implies somewhat more strongly that the tone or
	content is offensive as well.

	[{Jargon File}]

rave on!

	Sarcastic invitation to continue a {rave}, often by someone
	who wishes the raver would get a clue but realises this is
	unlikely.

ravioli code

	<jargon, humour> {Object-oriented} code consisting of a number of
	small and {loosely-coupled} software components.  Presumably, the
	term is a compliment, contrasting the code with {spaghetti code}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-10-28)

raw data

	{data}

raw mode

	<operating system> A mode that allows a program to transfer
	{bits} directly to or from an {I/O} device without any
	processing, abstraction, or interpretation by the {operating
	system}.

	Systems that make this distinction for a disk file are
	generally regarded as broken.

	Compare {rare mode}, {cooked mode}.

	[{Jargon File}]

	(2002-04-14)

RAWOOP-SNAP

	<language> An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(1996-05-29)

ray casting

	<graphics> A simplified form of {ray tracing}.  A ray is fired
	from each {pixel} in the view plane, and information is
	accumulated from all the {voxels} in the volume data it
	intersects.

	Each voxel is first given an associated colour and opacity.
	The ray is sampled at a fixed number of evenly spaced
	locations and the colour and opacity are trilinearly
	interpolated from the eight nearest voxels.  These are then
	composed linearly back to front to give a single colour for
	the pixel.

	Ray casting was invented by John Carmack for the game
	{Wolfenstein 3D}.  It is faster and lower quality than ray
	tracing, and is ideal for interactive applications.  It
	parallelises well, although random access is needed to the
	voxels.

	(2004-01-06)

Rayleigh distribution

	<mathematics> A curve that yields a good approximation to the
	actual labour curves on software projects.

	[Details?  Equation?]

	(1996-05-29)

Ray Tomlinson

	<person> An engineer at {Bolt Beranek and Newman} who, in July
	1972 while designing the first[?] {electronic mail} program,
	chose the {commercial at} symbol "@" to separate the user name
	from the computer name.

	(2004-08-22)

ray tracing

	<graphics> A technique used in {computer graphics} to create
	realistic {images} by calculating the paths taken by rays of
	light entering the observer's eye at different angles.  The
	paths are traced backward from the viewpoint, through a point
	(a {pixel}) in the image plane until they hit some object in
	the scene or go off to infinity.  Objects are modelled as
	collections of abutting surfaces which may be rectangles,
	triangles, or more complicated shapes such as 3D {splines}.
	The optical properties of different surfaces (colour,
	reflectance, transmitance, refraction, texture) also affect
	how it will contribute to the colour and brightness of the
	ray.  The position, colour, and brightness of light sources,
	including ambient lighting, is also taken into account.

	Ray tracing is an ideal application for {parallel processing}
	since there are many pixels, each of whose values is
	independent and can thus be calculated in parallel.

	Compare: {radiosity}.

	{Usenet} newsgroup: {news:comp.graphics.raytracing}.

	{(http://directory.google.com/Top/Computers/Software/Graphics/3D/Ray_Tracing/)}.

	(2003-09-11)

R:BASE

	<database> An {MS-DOS} {4GL} from {Microrim} based on the
	{minicomputer} {DBMS} {RIM}.

	[Was Wayne Erickson the author?]

	(2004-09-01)

RBASIC

	Database language for Revelation, by Cosmos, Inc.  Combines
	features of BASIC, Pascal and Fortran.

RBCSP

	Roper and Barter's CSP.

	["A Communicating Sequential Process Language and
	Implementation", T. Roper & J. Barter, Soft Prac & Exp
	11(11):1215-1234 (Nov 1981)].

RBOC

	{Regional Bell Operating Company}

rc

	1. <filename extension> (run commands) The {filename
	extension} common to many {Unix} configuration files, e.g.
	{.newsrc}, {.cshrc}, {.twmrc}, elmrc, etc.

	The suffix "rc" derives from a script-creation utility in
	{CTSS} called "{runcom}" (for "run commands").

	{Unix FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/unix-faq/faq/top.html)}.

	2. A {shell} from {AT&T}'s {Plan 9}, by Tom Duff.  rc offers
	much the same capabilities as a traditional {Bourne shell},
	but with a much cleaner {syntax}.

	An open source reimplementation was made by Byron Rakitzis,
	and is now maintained by Tim Goodwin <tjg@star.le.ac.uk>.

	Latest version: 1.6, as of 2000-06-15.

	{(http://star.le.ac.uk/~tjg/rc)}.

	(2000-06-17)

RC4

	<cryptography> A {cipher} designed by {RSA Data Security,
	Inc.} which can accept {keys} of arbitrary length, and is
	essentially a {pseudo random number generator} with the output
	of the generator being {XOR}ed with the data stream to produce
	the encrypted data.  For this reason, it is very important
	that the same RC4 key never be used to encrypt two different
	data streams.  The encryption mechanism used to be a trade
	secret, until someone posted source code for an {algorithm}
	onto {Usenet News}, claiming it to be equivalent to RC4.  The
	algorithm is very fast, its security is unknown, but breaking
	it does not seem trivial either.  There is very strong
	evidence that the posted algorithm is indeed equivalent to
	RC4.

	The United States government routinely approves RC4 with
	40-bit keys for export.  Keys this small can be easily broken
	by governments, criminals, and amateurs.  The exportable
	version of {Netscape}'s {Secure Socket Layer}, which uses
	RC4-40, was broken by at least two independent groups.
	Breaking it took about eight days; in many universities or
	companies the same computing power is available to any
	computer science student.

	See also {Damien Doligez's SSL cracking page
	(http://pauillac.inria.fr/~doligez/ssl/)}, {RC4 Source and
	Information (http://cs.hut.fi/crypto/rc4)}, {SSLeay
	(http://cs.hut.fi/crypto/software.html#ssleay)}, {Crypto++
	(http://cs.hut.fi/crypto/software.html#crypto++)}, {Ssh
	(http://cs.hut.fi/crypto/software.html#ssh)}, {A
	collection of articles
	(http://cs.hut.fi/crypto/rc4-breaking)}.

	(1996-10-28)

RCA 1802

	<processor> An extremely simple {microprocessor} fabricated in
	{CMOS}, running at 6.4 MHz at 10V (very fast for 1974).  It
	could be suspended with the clock stopped.  It was an 8-bit
	processor, with 16-bit addressing.  Simplicity was the primary
	design goal, and in that sense it was one of the first {RISC}
	chips.  It had sixteen 16-bit {registers}, which could be
	accessed as thirty-two 8-bit registers, and an {accumulator} D
	used for arithmetic and memory access - memory to D, then D to
	registers and vice versa, using one 16-bit register as an
	address.  This led to one person describing the 1802 as having
	32 bytes of {RAM} and 65535 I/O ports.  A 4-bit control
	register P selected any one general register as the {program
	counter}, while control registers X and N selected registers
	for I/O Index and the operand for the current instruction.
	All instructions were 8 bits - a 4-bit {op code} (total of 16
	operations) and 4-bit {operand register} stored in N.  There
	was no real {conditional branching}, no {subroutine} support
	and no actual {stack} but these could be implemented by clever
	use of registers, e.g. changing P to another register allowed
	jump to a subroutine.  Similarly, on an interrupt P and X were
	saved, then R1 and R2 were selected for P and X until an {RTI}
	restored them.

	The {RCA 1805} was an enhanced version.

	The 1802 was used in the {COSMAC} (VIP?) {microcomputer} kit,
	some video games from {RCA} and {Radio Shack}, and the
	{ETI-660} computer.  It was chosen for the Voyager, Viking and
	Galileo space probes as it was also fabricated in {Silicon on
	Sapphire}, giving radiation and static resistance, ideal for
	space operation.

	{More history (http://cosmacelf.com)}.

	(2002-04-09)

RCA 1805

	A later, enhanced version of the {RCA 1802}.  It added several
	{Forth} language primitives.

	(1994-11-16)

RCC

	An extensible language.

	[More detail?]

rc file

	/R C fi:l/ [Unix: from the startup script "/etc/rc", but this
	is commonly believed to have been named after older scripts to
	"run commands"] Script file containing startup instructions
	for an application program (or an entire operating system),
	usually a text file containing commands of the sort that might
	have been invoked manually once the system was running but are
	to be executed automatically each time the system starts up.
	See also {dot file}, {profile} (sense 1).

	[{Jargon File}]

RCL

	Reduced Control Language.  A simplified job control language
	for OS360, translated to IBM JCL.  "Reduced Control Language
	for Non- Professional Users", K. Appel in Command Languages,
	C. Unger ed, N-H 1973.

rcp

	<networking, tool> (Remote copy) The {Unix} utility for
	copying files over {Ethernet}.  Rcp is similar to {FTP} but
	uses the {hosts.equiv} user authentication method.

	{Unix manual page}: rcp(1).

	(1997-01-12)

RCS

	{Revision Control System}

Rdb

	{Oracle Rdb}

rdb

	A roll-your-own {database}, created in the {Unix} toolkit
	philosophy.  It appears to be written in the {awk} language,
	and is very compatible with awk.  It uses awk's syntax and can
	be combined with awk commands.

	The definitive introduction is "Unix Relational Database
	Management: Application Development in the Unix Environment",
	by Rod Manis, Evan Schaeffer, and Robert Jorgensen, published
	by Prentice Hall.  The book tells how to use rdb to create
	database/spreadsheets in the awk tradition, only easier. It's
	a good way to get into programming for novices.  It's also a
	good way to learn DB theory and construction quite painlessly.

RDBA

	{Remote Database Access}

RDBMS

	{relational database}

RDF

	{Resource Description Framework}

RDI

	{Receiver Data Interface}

RDL

	Requirements and Development Language.

	["RDL: A Language for Software Development", H.C. Heacox,
	SIGPLAN Notices 14(9):71-79 (Sep 1979)].

RDOS

	{Realtime Disk Operating System}

RDP

	<protocol>

	1. {Reliable Data Protocol}.

	2. {Remote Desktop Protocol}.

	(2004-09-14)

RDRAM

	{Rambus DRAM}

RDS

	{Random Dot Stereogram}

RE

	{regular expression}

re

	1. <networking> The {country code} for Reunion.

	2. <chat> /re-/ (From "rehi") Hello again.  A greeting
	originating in, and most often heard on, {Internet}
	interactive conversation services.

	[{Jargon File}]

	(1999-02-08)

read-eval-print loop

	<language, LISP, programming> (REPL) A programming {structure}
	within {LISP} which repeatedly reads a {form} from the {user},
	evaluates it, and displays the result.

	A read-eval-print {loop} forms the basis of the {Top-Level}
	{shell} that programmers of the LISP family of languages
	interact with.

	In many dialects of LISP a very simple REPL could be
	implemented as:

		(loop (print (eval (read)))).

	(2003-06-23)

README file

	<convention, documentation> A {text file} traditionally included
	in the top-level {directory} of a {software} distribution,
	containing pointers to {documentation}, credits, revision history,
	notes, etc.  Originally found in {Unix} source distributions, the
	convention has spread to many other products.  The file may be
	named README, READ.ME, ReadMe or readme.txt or some other variant.

	In the {Macintosh} and {IBM PC} worlds, software is not
	usually distributed in source form, and the README is more
	likely to contain user-oriented material like last-minute
	documentation changes, error workarounds, and restrictions.

	The README convention probably follows the famous scene in Lewis
	Carroll's "Alice's Adventures In Wonderland" in which Alice
	confronts magic munchies labeled "Eat Me" and "Drink Me".

	[{Jargon File}]

	(1995-02-28)

Read-Only Memory

	<storage> (ROM) A type of data storage device which is
	manufactured with fixed contents.  In its most general sense,
	the term might be used for any storage system whose contents
	cannot be altered, such as a gramophone record or a printed
	book; however, the term is most often applied to
	{semiconductor} {integrated circuit} memories, of which there
	are several types, and {CD-ROM}.

	ROM is inherently {non-volatile storage} - it retains its
	contents even when the power is switched off, in contrast to
	{RAM}.

	ROM is often used to hold programs for {embedded systems}
	since these usually have a fixed purpose.  ROM is also used
	for storage of the lowest level {bootstrap} software
	(firmware) in a computer.

	See also {Programmable Read-Only Memory}.

	(1995-05-09)

read-only user

	<jargon> Describes a {luser} who uses computers almost
	exclusively for reading {Usenet}, {bulletin boards}, and/or
	{electronic mail}, rather than writing code or purveying
	useful information.

	See {twink}, {terminal junkie}, {lurker}.

	[{Jargon File}]

	(1995-02-28)

real

	1. Not simulated.  Often used as a specific antonym to
	{virtual} in any of its jargon senses.

	2. <mathematics> {real number}.

	[{Jargon File}]

	(1997-03-12)

RealAudio

	<tool, communications> A program from {Real Media} for playing
	{audio} over the {Internet}, and the {lossy} audio compression
	format it uses.

	The system is implemented as a {client/server} architecture.
	The RealAudio server incorporates an {encoder} which
	compresses sound into RealAudio files.  The client side is a
	{web browser} {plug-in} or {add-on} (a recent version of
	{Internet Explorer} apparently has built-in support for
	RealAudio) which allows the stream of data sent from the
	server to be uncompressed and output using the normal sound
	facilities of the computer, such as a {sound card}.

	A 14.4 {KBps} or better {modem} is required, and a 28.8 KBps
	connection is recommended for music-quality sound.

	{(http://realaudio.com/)}.

	(2001-12-13)

real estate

	<jargon> May be used for any critical resource measured in
	units of area.  Most frequently used of "chip real estate",
	the area available for logic on the surface of an {integrated
	circuit} (see also {nanoacre}).  May also be used of floor
	space in a {dinosaur pen}, or even space on a crowded desktop
	(whether physical or electronic).

	[{Jargon File}]

	(1996-11-06)

real hack

	A {crock}.  This is sometimes used affectionately; see {hack}.

	[{Jargon File}]

reality check

	<testing> The simplest kind of {functional test} of {software} or
	{hardware}; doing the equivalent of asking it what 2 + 2 is and
	seeing if it says four.  The software equivalent of a {smoke
	test}.  A reality check may include letting a {real user} try out
	{prototype} software.

	A {sanity check} is even more basic, the equivalent of checking
	that the above addition was implemented with an addition operator
	rather than subtraction.

	(2007-03-15)

realization

	<specification> A {UML} {semantic} relationship between a
	{classifier} that specifies a contract and another classifier
	that guarantees to carry it out.

	[Handout by Mr. David Gillibrand].

	(2007-03-15)

Really Simple Syndication

	{Rich Site Summary}

real mode

	An operating mode of {Intel 80x86} processors.  The opposite
	of {protected mode}.

	(1995-03-29)

real number

	<mathematics> One of the infinitely divisible range of values
	between positive and negative {infinity}, used to represent
	continuous physical quantities such as distance, time and
	temperature.

	Between any two real numbers there are infinitely many more
	real numbers.  The {integers} ("counting numbers") are real
	numbers with no fractional part and real numbers ("measuring
	numbers") are {complex numbers} with no imaginary part.  Real
	numbers can be divided into {rational numbers} and {irrational
	numbers}.

	Real numbers are usually represented (approximately) by
	computers as {floating point} numbers.

	Strictly, real numbers are the {equivalence classes} of the
	{Cauchy sequences} of {rationals} under the {equivalence
	relation} "~", where a ~ b if and only if a-b is {Cauchy} with
	limit 0.

	The real numbers are the minimal {topologically closed}
	{field} containing the rational field.

	A sequence, r, of rationals (i.e. a function, r, from the
	{natural numbers} to the rationals) is said to be Cauchy
	precisely if, for any tolerance delta there is a size, N,
	beyond which: for any n, m exceeding N,

	 | r[n] - r[m] | < delta

	A Cauchy sequence, r, has limit x precisely if, for any
	tolerance delta there is a size, N, beyond which: for any n
	exceeding N,

	 | r[n] - x | < delta

	(i.e. r would remain Cauchy if any of its elements, no matter
	how late, were replaced by x).

	It is possible to perform addition on the reals, because the
	equivalence class of a sum of two sequences can be shown to be
	the equivalence class of the sum of any two sequences
	equivalent to the given originals: ie, a~b and c~d implies
	a+c~b+d; likewise a.c~b.d so we can perform multiplication.
	Indeed, there is a natural {embedding} of the rationals in the
	reals (via, for any rational, the sequence which takes no
	other value than that rational) which suffices, when extended
	via continuity, to import most of the algebraic properties of
	the rationals to the reals.

	(1997-03-12)

real operating system

	<operating system, abuse> The sort the speaker is used to.
	People from the {BSD}ophilic academic community are likely to
	issue comments like "{System V}?  Why don't you use a *real*
	operating system?", people from the commercial/industrial
	{Unix} sector are known to complain "BSD?  Why don't you use a
	*real* operating system?", and people from {IBM} object "Unix?
	Why don't you use a *real* operating system?"

	See {holy wars}, {religious issues}, {proprietary}, {Get a
	real computer!}.

	[{Jargon File}]

	(1997-03-12)

Real Programmer

	<job, humour> (From the book "Real Men Don't Eat Quiche") A
	variety of hacker possessed of a flippant attitude toward
	complexity that is arrogant even when justified by experience.
	The archetypal "Real Programmer" likes to program on the {bare
	metal} and is very good at it, remembers the binary {op codes}
	for every machine he has ever programmed, thinks that
	{high-level languages} are sissy, and uses a {debugger} to
	edit his code because full-screen editors are for wimps.  Real
	Programmers aren't satisfied with code that hasn't been
	{bum}med into a state of {tense}ness just short of rupture.

	Real Programmers never use {comments} or write
	{documentation}: "If it was hard to write", says the Real
	Programmer, "it should be hard to understand."  Real
	Programmers can make machines do things that were never in
	their spec sheets; in fact, they are seldom really happy
	unless doing so.  A Real Programmer's code can awe with its
	fiendish brilliance, even as its crockishness appals.

	Real Programmers live on junk food and coffee, hang
	line-printer art on their walls, and terrify the crap out of
	other programmers - because someday, somebody else might have
	to try to understand their code in order to change it.  Their
	successors generally consider it a {Good Thing} that there
	aren't many Real Programmers around any more.

	For a famous (and somewhat more positive) portrait of a Real
	Programmer, see "{The Story of Mel}".  The term itself was
	popularised by a 1983 Datamation article "{Real Programmers
	Don't Use Pascal}" by Ed Post, still circulating on {Usenet}
	and Internet in on-line form.

	[{Jargon File}]

	(1997-08-29)

Real Programmers Don't Use Pascal

	<humour> Back in the good old days - the "Golden Era" of
	computers, it was easy to separate the men from the boys
	(sometimes called "Real Men" and "Quiche Eaters" in the
	literature).  During this period, the Real Men were the ones
	that understood computer programming, and the Quiche Eaters
	were the ones that didn't.  A real computer programmer said
	things like "DO 10 I=1,10" and "ABEND" (they actually talked
	in capital letters, you understand), and the rest of the world
	said things like "computers are too complicated for me" and "I
	can't relate to computers - they're so impersonal".  (A
	previous work [1] points out that Real Men don't "relate" to
	anything, and aren't afraid of being impersonal.)

	But, as usual, times change.  We are faced today with a world
	in which little old ladies can get computers in their
	microwave ovens, 12-year-old kids can blow Real Men out of the
	water playing Asteroids and Pac-Man, and anyone can buy and
	even understand their very own Personal Computer.  The Real
	Programmer is in danger of becoming extinct, of being replaced
	by high-school students with {TRASH-80s}.

	There is a clear need to point out the differences between the
	typical high-school junior Pac-Man player and a Real
	Programmer.  If this difference is made clear, it will give
	these kids something to aspire to -- a role model, a Father
	Figure.  It will also help explain to the employers of Real
	Programmers why it would be a mistake to replace the Real
	Programmers on their staff with 12-year-old Pac-Man players
	(at a considerable salary savings).

	LANGUAGES

	The easiest way to tell a Real Programmer from the crowd is by
	the programming language he (or she) uses.  Real Programmers
	use {Fortran}.  Quiche Eaters use {Pascal}.  Nicklaus Wirth,
	the designer of Pascal, gave a talk once at which he was asked
	how to pronounce his name.  He replied, "You can either call
	me by name, pronouncing it 'Veert', or call me by value,
	'Worth'."  One can tell immediately from this comment that
	Nicklaus Wirth is a Quiche Eater.  The only parameter passing
	mechanism endorsed by Real Programmers is
	call-by-value-return, as implemented in the {IBM 370}
	{Fortran-G} and H compilers.  Real programmers don't need all
	these abstract concepts to get their jobs done - they are
	perfectly happy with a {keypunch}, a {Fortran IV} {compiler},
	and a beer.

	Real Programmers do List Processing in Fortran.

	Real Programmers do String Manipulation in Fortran.

	Real Programmers do Accounting (if they do it at all) in
	Fortran.

	Real Programmers do {Artificial Intelligence} programs in
	Fortran.

	If you can't do it in Fortran, do it in {assembly language}.
	If you can't do it in assembly language, it isn't worth doing.

	STRUCTURED PROGRAMMING

	The academics in computer science have gotten into the
	"structured programming" rut over the past several years.
	They claim that programs are more easily understood if the
	programmer uses some special language constructs and
	techniques.  They don't all agree on exactly which constructs,
	of course, and the examples they use to show their particular
	point of view invariably fit on a single page of some obscure
	journal or another - clearly not enough of an example to
	convince anyone.  When I got out of school, I thought I was
	the best programmer in the world.  I could write an unbeatable
	tic-tac-toe program, use five different computer languages,
	and create 1000-line programs that WORKED.  (Really!) Then I
	got out into the Real World.  My first task in the Real World
	was to read and understand a 200,000-line Fortran program,
	then speed it up by a factor of two.  Any Real Programmer will
	tell you that all the Structured Coding in the world won't
	help you solve a problem like that - it takes actual talent.
	Some quick observations on Real Programmers and Structured
	Programming:

	Real Programmers aren't afraid to use {GOTOs}.

	Real Programmers can write five-page-long DO loops without
	getting confused.

	Real Programmers like Arithmetic IF statements - they make the
	code more interesting.

	Real Programmers write self-modifying code, especially if they
	can save 20 {nanoseconds} in the middle of a tight loop.

	Real Programmers don't need comments - the code is obvious.

	Since Fortran doesn't have a structured IF, REPEAT ... UNTIL,
	or CASE statement, Real Programmers don't have to worry about
	not using them.  Besides, they can be simulated when necessary
	using {assigned GOTOs}.

	Data Structures have also gotten a lot of press lately.
	Abstract Data Types, Structures, Pointers, Lists, and Strings
	have become popular in certain circles.  Wirth (the
	above-mentioned Quiche Eater) actually wrote an entire book
	[2] contending that you could write a program based on data
	structures, instead of the other way around.  As all Real
	Programmers know, the only useful data structure is the Array.
	Strings, lists, structures, sets - these are all special cases
	of arrays and can be treated that way just as easily without
	messing up your programing language with all sorts of
	complications.  The worst thing about fancy data types is that
	you have to declare them, and Real Programming Languages, as
	we all know, have implicit typing based on the first letter of
	the (six character) variable name.

	OPERATING SYSTEMS

	What kind of operating system is used by a Real Programmer?
	CP/M?  God forbid - CP/M, after all, is basically a toy
	operating system.  Even little old ladies and grade school
	students can understand and use CP/M.

	Unix is a lot more complicated of course - the typical Unix
	hacker never can remember what the PRINT command is called
	this week - but when it gets right down to it, Unix is a
	glorified video game.  People don't do Serious Work on Unix
	systems: they send jokes around the world on {UUCP}-net and
	write adventure games and research papers.

	No, your Real Programmer uses OS 370.  A good programmer can
	find and understand the description of the IJK305I error he
	just got in his JCL manual.  A great programmer can write JCL
	without referring to the manual at all.  A truly outstanding
	programmer can find bugs buried in a 6 megabyte {core dump}
	without using a hex calculator.  (I have actually seen this
	done.)

	OS is a truly remarkable operating system.  It's possible to
	destroy days of work with a single misplaced space, so
	alertness in the programming staff is encouraged.  The best
	way to approach the system is through a keypunch.  Some people
	claim there is a Time Sharing system that runs on OS 370, but
	after careful study I have come to the conclusion that they
	were mistaken.

	PROGRAMMING TOOLS

	What kind of tools does a Real Programmer use?  In theory, a
	Real Programmer could run his programs by keying them into the
	front panel of the computer.  Back in the days when computers
	had front panels, this was actually done occasionally.  Your
	typical Real Programmer knew the entire bootstrap loader by
	memory in hex, and toggled it in whenever it got destroyed by
	his program.  (Back then, memory was memory - it didn't go
	away when the power went off.  Today, memory either forgets
	things when you don't want it to, or remembers things long
	after they're better forgotten.)  Legend has it that {Seymore
	Cray}, inventor of the Cray I supercomputer and most of
	Control Data's computers, actually toggled the first operating
	system for the CDC7600 in on the front panel from memory when
	it was first powered on.  Seymore, needless to say, is a Real
	Programmer.

	One of my favorite Real Programmers was a systems programmer
	for Texas Instruments.  One day he got a long distance call
	from a user whose system had crashed in the middle of saving
	some important work.  Jim was able to repair the damage over
	the phone, getting the user to toggle in disk I/O instructions
	at the front panel, repairing system tables in hex, reading
	register contents back over the phone.  The moral of this
	story: while a Real Programmer usually includes a keypunch and
	lineprinter in his toolkit, he can get along with just a front
	panel and a telephone in emergencies.

	In some companies, text editing no longer consists of ten
	engineers standing in line to use an 029 keypunch.  In fact,
	the building I work in doesn't contain a single keypunch.  The
	Real Programmer in this situation has to do his work with a
	"text editor" program.  Most systems supply several text
	editors to select from, and the Real Programmer must be
	careful to pick one that reflects his personal style.  Many
	people believe that the best text editors in the world were
	written at Xerox Palo Alto Research Center for use on their
	Alto and Dorado computers [3].  Unfortunately, no Real
	Programmer would ever use a computer whose operating system is
	called SmallTalk, and would certainly not talk to the computer
	with a mouse.

	Some of the concepts in these Xerox editors have been
	incorporated into editors running on more reasonably named
	operating systems - {Emacs} and {VI} being two.  The problem
	with these editors is that Real Programmers consider "what you
	see is what you get" to be just as bad a concept in Text
	Editors as it is in women.  No the Real Programmer wants a
	"you asked for it, you got it" text editor - complicated,
	cryptic, powerful, unforgiving, dangerous.  TECO, to be
	precise.

	It has been observed that a TECO command sequence more closely
	resembles transmission line noise than readable text [4].  One
	of the more entertaining games to play with TECO is to type
	your name in as a command line and try to guess what it does.
	Just about any possible typing error while talking with TECO
	will probably destroy your program, or even worse - introduce
	subtle and mysterious bugs in a once working subroutine.

	For this reason, Real Programmers are reluctant to actually
	edit a program that is close to working.  They find it much
	easier to just patch the binary {object code} directly, using
	a wonderful program called SUPERZAP (or its equivalent on
	non-IBM machines).  This works so well that many working
	programs on IBM systems bear no relation to the original
	Fortran code.  In many cases, the original source code is no
	longer available.  When it comes time to fix a program like
	this, no manager would even think of sending anything less
	than a Real Programmer to do the job - no Quiche Eating
	structured programmer would even know where to start.  This is
	called "job security".

	Some programming tools NOT used by Real Programmers:

	Fortran preprocessors like {MORTRAN} and {RATFOR}.  The
	Cuisinarts of programming - great for making Quiche.  See
	comments above on structured programming.

	Source language debuggers.  Real Programmers can read core
	dumps.

	Compilers with array bounds checking.  They stifle creativity,
	destroy most of the interesting uses for EQUIVALENCE, and make
	it impossible to modify the operating system code with
	negative subscripts.  Worst of all, bounds checking is
	inefficient.

	Source code maintenance systems.  A Real Programmer keeps his
	code locked up in a card file, because it implies that its
	owner cannot leave his important programs unguarded [5].

	THE REAL PROGRAMMER AT WORK

	Where does the typical Real Programmer work?  What kind of
	programs are worthy of the efforts of so talented an
	individual?  You can be sure that no Real Programmer would be
	caught dead writing accounts-receivable programs in {COBOL},
	or sorting {mailing lists} for People magazine.  A Real
	Programmer wants tasks of earth-shaking importance
	(literally!).

	Real Programmers work for Los Alamos National Laboratory,
	writing atomic bomb simulations to run on Cray I
	supercomputers.

	Real Programmers work for the National Security Agency,
	decoding Russian transmissions.

	It was largely due to the efforts of thousands of Real
	Programmers working for NASA that our boys got to the moon and
	back before the Russkies.

	Real Programmers are at work for Boeing designing the
	operating systems for cruise missiles.

	Some of the most awesome Real Programmers of all work at the
	Jet Propulsion Laboratory in California.  Many of them know
	the entire operating system of the Pioneer and Voyager
	spacecraft by heart.  With a combination of large ground-based
	Fortran programs and small spacecraft-based assembly language
	programs, they are able to do incredible feats of navigation
	and improvisation - hitting ten-kilometer wide windows at
	Saturn after six years in space, repairing or bypassing
	damaged sensor platforms, radios, and batteries.  Allegedly,
	one Real Programmer managed to tuck a pattern-matching program
	into a few hundred bytes of unused memory in a Voyager
	spacecraft that searched for, located, and photographed a new
	moon of Jupiter.

	The current plan for the Galileo spacecraft is to use a
	gravity assist trajectory past Mars on the way to Jupiter.
	This trajectory passes within 80 +/-3 kilometers of the
	surface of Mars.  Nobody is going to trust a Pascal program
	(or a Pascal programmer) for navigation to these tolerances.

	As you can tell, many of the world's Real Programmers work for
	the U.S. Government - mainly the Defense Department.  This is
	as it should be.  Recently, however, a black cloud has formed
	on the Real Programmer horizon.  It seems that some highly
	placed Quiche Eaters at the Defense Department decided that
	all Defense programs should be written in some grand unified
	language called "ADA" ((C), DoD).  For a while, it seemed that
	ADA was destined to become a language that went against all
	the precepts of Real Programming - a language with structure,
	a language with data types, {strong typing}, and semicolons.
	In short, a language designed to cripple the creativity of the
	typical Real Programmer.  Fortunately, the language adopted by
	DoD has enough interesting features to make it approachable --
	it's incredibly complex, includes methods for messing with the
	operating system and rearranging memory, and Edsgar Dijkstra
	doesn't like it [6].  (Dijkstra, as I'm sure you know, was the
	author of "GoTos Considered Harmful" - a landmark work in
	programming methodology, applauded by Pascal programmers and
	Quiche Eaters alike.)  Besides, the determined Real Programmer
	can write Fortran programs in any language.

	The Real Programmer might compromise his principles and work
	on something slightly more trivial than the destruction of
	life as we know it, providing there's enough money in it.
	There are several Real Programmers building video games at
	Atari, for example.  (But not playing them - a Real Programmer
	knows how to beat the machine every time: no challenge in
	that.)  Everyone working at LucasFilm is a Real Programmer.
	(It would be crazy to turn down the money of fifty million
	Star Trek fans.)  The proportion of Real Programmers in
	Computer Graphics is somewhat lower than the norm, mostly
	because nobody has found a use for computer graphics yet.  On
	the other hand, all computer graphics is done in Fortran, so
	there are a fair number of people doing graphics in order to
	avoid having to write COBOL programs.

	THE REAL PROGRAMMER AT PLAY

	Generally, the Real Programmer plays the same way he works -
	with computers.  He is constantly amazed that his employer
	actually pays him to do what he would be doing for fun anyway
	(although he is careful not to express this opinion out loud).
	Occasionally, the Real Programmer does step out of the office
	for a breath of fresh air and a beer or two.  Some tips on
	recognizing Real Programmers away from the computer room:

	At a party, the Real Programmers are the ones in the corner
	talking about operating system security and how to get around
	it.

	At a football game, the Real Programmer is the one comparing
	the plays against his simulations printed on 11 by 14 fanfold
	paper.

	At the beach, the Real Programmer is the one drawing
	flowcharts in the sand.

	At a funeral, the Real Programmer is the one saying "Poor
	George, he almost had the sort routine working before the
	coronary."

	In a grocery store, the Real Programmer is the one who insists
	on running the cans past the laser checkout scanner himself,
	because he never could trust keypunch operators to get it
	right the first time.

	THE REAL PROGRAMMER'S NATURAL HABITAT

	What sort of environment does the Real Programmer function
	best in?  This is an important question for the managers of
	Real Programmers.  Considering the amount of money it costs to
	keep one on the staff, it's best to put him (or her) in an
	environment where he can get his work done.

	The typical Real Programmer lives in front of a computer
	terminal.  Surrounding this terminal are:

	Listings of all programs the Real Programmer has ever worked
	on, piled in roughly chronological order on every flat surface
	in the office.

	Some half-dozen or so partly filled cups of cold coffee.
	Occasionally, there will be cigarette butts floating in the
	coffee.  In some cases, the cups will contain Orange Crush.

	Unless he is very good, there will be copies of the OS JCL
	manual and the Principles of Operation open to some
	particularly interesting pages.

	Taped to the wall is a line-printer Snoopy calendar for the
	year 1969.

	Strewn about the floor are several wrappers for peanut butter
	filled cheese bars - the type that are made pre-stale at the
	bakery so they can't get any worse while waiting in the
	vending machine.

	Hiding in the top left-hand drawer of the desk is a stash of
	double-stuff Oreos for special occasions.

	Underneath the Oreos is a flowcharting template, left there by
	the previous occupant of the office.  (Real Programmers write
	programs, not documentation.  Leave that to the maintenance
	people.)

	The Real Programmer is capable of working 30, 40, even 50
	hours at a stretch, under intense pressure.  In fact, he
	prefers it that way.  Bad response time doesn't bother the
	Real Programmer - it gives him a chance to catch a little
	sleep between compiles.  If there is not enough schedule
	pressure on the Real Programmer, he tends to make things more
	challenging by working on some small but interesting part of
	the problem for the first nine weeks, then finishing the rest
	in the last week, in two or three 50-hour marathons.  This not
	only impresses the hell out of his manager, who was despairing
	of ever getting the project done on time, but creates a
	convenient excuse for not doing the documentation.  In
	general:

	No Real Programmer works 9 to 5 (unless it's the ones at
	night).

	Real Programmers don't wear neckties.

	Real Programmers don't wear high-heeled shoes.

	Real Programmers arrive at work in time for lunch [9].

	A Real Programmer might or might not know his wife's name. He
	does, however, know the entire {ASCII} (or EBCDIC) code table.

	Real Programmers don't know how to cook.  Grocery stores
	aren't open at three in the morning.  Real Programmers survive
	on Twinkies and coffee.

	THE FUTURE

	What of the future?  It is a matter of some concern to Real
	Programmers that the latest generation of computer programmers
	are not being brought up with the same outlook on life as
	their elders.  Many of them have never seen a computer with a
	front panel.  Hardly anyone graduating from school these days
	can do hex arithmetic without a calculator.  College graduates
	these days are soft - protected from the realities of
	programming by source level debuggers, text editors that count
	parentheses, and "user friendly" operating systems.  Worst of
	all, some of these alleged "computer scientists" manage to get
	degrees without ever learning Fortran!  Are we destined to
	become an industry of Unix hackers and Pascal programmers?

	From my experience, I can only report that the future is
	bright for Real Programmers everywhere.  Neither OS 370 nor
	Fortran show any signs of dying out, despite all the efforts
	of Pascal programmers the world over.  Even more subtle
	tricks, like adding structured coding constructs to Fortran
	have failed.  Oh sure, some computer vendors have come out
	with Fortran 77 compilers, but every one of them has a way of
	converting itself back into a Fortran 66 compiler at the drop
	of an option card - to compile DO loops like God meant them to
	be.

	Even Unix might not be as bad on Real Programmers as it once
	was.  The latest release of Unix has the potential of an
	operating system worthy of any Real Programmer - two different
	and subtly incompatible user interfaces, an arcane and
	complicated teletype driver, virtual memory.  If you ignore
	the fact that it's "structured", even 'C' programming can be
	appreciated by the Real Programmer: after all, there's no type
	checking, variable names are seven (ten?  eight?)  characters
	long, and the added bonus of the Pointer data type is thrown
	in - like having the best parts of Fortran and assembly
	language in one place.  (Not to mention some of the more
	creative uses for #define.)

	No, the future isn't all that bad.  Why, in the past few
	years, the popular press has even commented on the bright new
	crop of {computer nerds} and hackers ([7] and [8]) leaving
	places like Stanford and M.I.T. for the Real World.  From all
	evidence, the spirit of Real Programming lives on in these
	young men and women.  As long as there are ill-defined goals,
	bizarre bugs, and unrealistic schedules, there will be Real
	Programmers willing to jump in and Solve The Problem, saving
	the documentation for later.  Long live Fortran!

	ACKNOWLEGEMENT

	I would like to thank Jan E., Dave S., Rich G., Rich E., for
	their help in characterizing the Real Programmer, Heather
	B. for the illustration, Kathy E. for putting up with it, and
	atd!avsdS:mark for the initial inspiration.

	REFERENCES

	[1] Feirstein, B., "Real Men don't Eat Quiche", New York,
	Pocket Books, 1982.

	[2] Wirth, N., "Algorithms + Data Structures Programs",
	Prentice Hall, 1976.

	[3] Ilson, R., "Recent Research in Text Processing", IEEE
	Trans. Prof. Commun., Vol.  PC-23, No. 4, Dec. 4, 1980.

	[4] Finseth, C., "Theory and Practice of Text Editors - or - a
	Cookbook for an EMACS", B.S. Thesis, MIT/LCS/TM-165,
	Massachusetts Institute of Technology, May 1980.

	[5] Weinberg, G., "The Psychology of Computer Programming",
	New York, Van Nostrand Reinhold, 1971, p.  110.

	[6] Dijkstra, E., "On the GREEN language submitted to the
	DoD", Sigplan notices, Vol. 3 No.  10, Oct 1978.

	[7] Rose, Frank, "Joy of Hacking", Science 82, Vol. 3 No.  9,
	Nov 82, pp.  58-66.

	[8] "The Hacker Papers", Psychology Today, August 1980.

	[9] sdcarl!lin, "Real Programmers", UUCP-net, Thu Oct 21
	16:55:16 1982.

	Ed Post, "Real Programmers Don't Use Pascal", DATAMATION, July
	1983, pp. 263-265 (Readers' Forum).

	(1997-08-29)

Real Simple Syndication

	<spelling> Illiterate form of {Really Simple Syndication}.

	(2013-08-15)

Real Soon Now

	<jargon, humour> (RSN) A phrase used ironically when you believe
	an event will take a long or unknown time to occur.  The term
	originated in SF's fanzine community, popularised by Jerry
	Pournelle's column in {BYTE}.

	The phrase can be used, for example, when a manager asks how long
	it will take you to {debug} some {software} and you have no idea.
	"I'll have it working Real Soon Now."

	[{Jargon File}]

	(2013-08-22)

real-time

	1. Describes an application which requires a program to
	respond to stimuli within some small upper limit of response
	time (typically milli- or microseconds).  Process control at a
	chemical plant is the classic example.  Such applications
	often require special operating systems (because everything
	else must take a back seat to response time) and speed-tuned
	hardware.

	2. In jargon, refers to doing something while people are
	watching or waiting.  "I asked her how to find the calling
	procedure's program counter on the stack and she came up with
	an algorithm in real time."

	Used to describe a system that must guarantee a response to an
	external event within a given time.

	(1997-11-23)

Real-Time Common Design Language

	<language> (RT-CDL) A {real-time} language for the design of
	reliable {reactive systems}.

	["RT-CDL: A Real-Time Description Language and Its Semantics",
	L.Y. Lin et al, 11th World Computer Congress IFIP '89 pp.19-26
	Sep 1989].

	(2003-06-07)

Realtime Disk Operating System

	<operating system> A {Data General} {operating system}
	developed in the 1970s or 1980s.  When used in conjuction with
	a {BASIC} (e.g. {Business Basic}) it could support 16
	concurrent users at the {record locking} level and two
	printers all on 128K memory.

	Reputedly {IBM} wanted to license this for the first {IBM PC}
	but DG turned them down so they went to {Microsoft} instead.
	How different the world could have been.

	[Before or after IBM wanted {CP/M}?]

	(1997-11-23)

Real-Time Euclid

	Real-time language, restriction to time-bounded constructs.
	["Real-Time Euclid: A Language for Reliable Real-Time
	Systems", E. Kligerman et al, IEEE Trans Software Eng
	SE-12(9):941-1986-09-949].

Real-Time Mentat

	An extension of C++.  "Real-Time Mentat: A Data-Driven
	Object-Oriented System", A.S. Grimshaw et al, Proc IEEE
	Globecom, Nov 1989 pp.232-241.

Real-Time Object-Oriented Modeling

	<programming> (ROOM Methodology)

	{(http://objectime.on.ca/ROOM.HTML)}.

	[Summary?]

	(1997-02-17)

Real-Time Operating System

	<operating system> (RTOS) Any {operating system} where
	interrupts are guaranteed to be handled within a certain
	specified maximum time, thereby making it suitable for control
	of hardware in {embedded systems} and other time-critical
	applications.  RTOS is not a specific product but a class of
	operating systems.

	[Other criteria?]

	(1998-02-27)

Real-Time Operating System Nucleus

	{The Real-Time Operating System Nucleus}

Real-Time Pascal

	<language> A later name for {Pascal-80} by {RC International},
	Denmark.

	(1995-05-09)

Real Time Streaming Protocol

	<multimedia, networking, protocol> (RTSP) An {application
	layer} {protocol} for controlling delivery of a {stream} of
	{real-time} {multimedia} content.  RTSP allows users to start
	playing from a certain position.  It does not actually deliver
	the data, but works alongside existing delivery channels such
	as {UDP}, {TCP}, or IP {multicast}.

	RTSP was developed by {RealNetworks}, {Netscape
	Communications}, and {Columbia University}, and is described
	in {RFC 2326}, April 1998.  RTSP is an {IETF} proposed
	{standard}.

	{FAQ
	(http://real.com/devzone/library/fireprot/rtsp/faq.html)}.

	(1999-08-26)

real-time structured analysis

	<programming> (RTSA) Any version of {structured analysis}
	capable of modelling {real-time} aspects of software.

	(1995-04-06)

Real-Time Transport Protocol

	<protocol> (RTP) An {Internet} {protocol} for transmitting
	{real-time} data such as {audio} and {video}.  RTP itself does
	not guarantee real-time delivery of data, but it does provide
	mechanisms for the sending and receiving applications to
	support {streaming} data.  Typically, RTP runs on top of the
	{UDP} protocol, although the specification is general enough
	to support other {transport protocols}.

	RTP has received wide industry support.  {Netscape} intends to
	base its {LiveMedia} technology on RTP, and {Microsoft} claims
	that its {NetMeeting} product supports RTP.

	(2003-07-06)

real user

	1. A commercial user.  One who is paying *real* money for his
	computer usage.

	2. A non-hacker.  Someone using the system for an explicit
	purpose (a research project, a course, etc.)  other than pure
	exploration.  See {user}.  Hackers who are also students may
	also be real users.  "I need this fixed so I can do a problem
	set.  I'm not complaining out of randomness, but as a real
	user."  See also {luser}.

	[{Jargon File}]

Real Video

	<video, compression> A {lossy} video compression format from
	{Real Media}.

	(2001-12-13)

Real World

	1. Those institutions at which "programming" may be used in
	the same sentence as "Fortran", "{COBOL}", "RPG", "{IBM}",
	"DBASE", etc.  Places where programs do such commercially
	necessary but intellectually uninspiring things as generating
	payroll checks and invoices.

	2. The location of non-programmers and activities not related
	to programming.

	3. A bizarre dimension in which the standard dress is shirt
	and tie and in which a person's working hours are defined as 9
	to 5 (see {code grinder}).

	4. Anywhere outside a university.  "Poor fellow, he's left MIT
	and gone into the Real World."  Used pejoratively by those not
	in residence there.  In conversation, talking of someone who
	has entered the Real World is not unlike speaking of a
	deceased person.  It is also noteworthy that on the campus of
	Cambridge University in England, there is a gaily-painted
	lamp-post which bears the label "REALITY CHECKPOINT".  It
	marks the boundary between university and the Real World;
	check your notions of reality before passing.  This joke is
	funnier because the Cambridge "campus" is actually coextensive
	with the centre of Cambridge.

	See also {fear and loathing}, {mundane}, {uninteresting}.

reaper

	A {prowler} that {GFRs} files.  A file removed in this way is
	said to have been "reaped".

	[{Jargon File}]

reassembly

	{segmentation}

reboot

	<operating system> (From {boot}) A {boot} with the implication
	that the computer has not been down for long, or that the
	{boot} is a {bounce} intended to clear some state of
	{wedgitude}.

	See {warm boot}.

	(1995-11-27)

REC

	{CONVERT}

recent changes

	{Recent changes to FOLDOC (/new.html)}.

recipe

	{suspension}

recipient

	<communications> One who receives; receiver.  E.g. "No
	recipient of the {e-mail} message will know about the other
	{addressees} who were listed in the {BCC} header."

	(2000-03-22)

Recital

	{dBASE}-like language and {DBMS} from Recital Corporation.
	Versions include {Vax} {VMS}.

RECOL

	REtrieval COmmand Language.  CACM 6(3):117-122 (Mar 1963).

Recommended Standard

	<standard> (RS) A series of {EIA} {standards} including
	{EIA-232}.

	(1995-03-28)

record

	<data, database, programming> An {ordered set} of {fields},
	usually stored contiguously.  The term is used with similar
	meaning in several different contexts.  In a file, a "record"
	probably has some fixed length, in contrast to a "line" which
	may have any length and is terminated by some {End Of Line}
	sequence).  A {database} record is also called a "row".  In a
	{spreadsheet} it is always called a "row".  Some programming
	languages use the term to mean a type composed of fields of
	several other types ({C} calls this a "{struct}").

	In all these cases, a record represents an entity with certain
	field values.

	Fields may be of a fixed width ({bits} or {characters}) or
	they may be separated by a {delimiter} character, often
	{comma} ({CSV}) or {HT} ({TSV}).

	In a database the list of values of a given field from all
	records is called a column.

	(2002-03-22)

Record Management Services

	<operating system> (RMS) Procedures in the {VMS} {operating
	system} that {programs} call to process {files} and {records}
	within files.  RMS allows programs to issue GET and PUT
	requests at the record level (record I/O) as well as read and
	write {blocks} (block I/O).  VMS RMS is an integral part of
	the system software; its procedures run in {executive mode}.

	(2003-11-11)

records

	{record}

Record Separator

	<character> (RS) {ASCII} character 30.

rectangle slinger

	{polygon pusher}

recurrence relation

	<mathematics> An {equation} that defines each element of a
	{sequence} in terms of one or more earlier elements.  E.g. The
	{Fibonacci sequence},

	 X[1] = 1
	 X[2] = 1
	 X[n] = X[n-1] + X[n-2]

	Some recurrence relations can be converted to "closed form"
	where X[n] is defined purely in terms of n, without reference
	to earlier elements.

	(2008-01-14)

recurse

	{recursion}

recursion

	<mathematics, programming> When a {function} (or {procedure})
	calls itself.  Such a function is called "recursive".  If the
	call is via one or more other functions then this group of
	functions are called "mutually recursive".

	If a function will always call itself, however it is called,
	then it will never terminate.  Usually however, it first
	performs some test on its arguments to check for a "base case"
	- a condition under which it can return a value without
	calling itself.

	The {canonical} example of a recursive function is
	{factorial}:

		factorial 0 = 1
		factorial n = n * factorial (n-1)

	{Functional programming languages} rely heavily on recursion,
	using it where a {procedural language} would use {iteration}.

	See also {recursion}, {recursive definition}, {tail recursion}.

	[{Jargon File}]

	(1996-05-11)

recursion theory

	<theory> The study of problems that, in principle, cannot be
	solved by either computers or humans.

	[Proper definition?]

	(1999-03-01)

recursive

	{recursion}

recursive acronym

	<convention> A hackish (and especially {MIT}) tradition is to
	choose acronyms and abbreviations that refer humorously to
	themselves or to other acronyms or abbreviations.  The classic
	examples were two MIT editors called {EINE} ("EINE Is Not
	{Emacs}") and {ZWEI} ("ZWEI Was EINE Initially").  More
	recently, there is a {Scheme} compiler called {LIAR} (Liar
	Imitates Apply Recursively), and {GNU} stands for "GNU's Not
	Unix!" - and a company with the name {CYGNUS}, which expands
	to "Cygnus, Your GNU Support".

	See also {mung}.

	[{Jargon File}]

	(1995-04-28)

recursive definition

	See {recursive definition}.

recursive descent parser

	<grammar> A "top-down" {parser} built from a set of
	{mutually-recursive} procedures or a non-recursive equivalent
	where each such procedure usually implements one of the
	{productions} of the {grammar}.  Thus the structure of the
	resulting program closely mirrors that of the grammar it
	recognises.

	["Recursive Programming Techniques", W.H. Burge, 1975, ISBN
	0-201-14450-6].

	(1995-04-28)

Recursive Functional Algorithmic Language

	<language> (REFAL) A language developed by V.F. Turchin (later
	at {CUNY}?) in Moscow in about 1972.

	See also {supercompilation}.

	[V.F. Turchin, "An algorithm of generalisation in the
	supercompiler", Workshop on partial evaluation and mixed
	computations, Oct 1987, Denmark, Eds. D. Bjorner, A.P. Ershov,
	N.D. Jones].

	[V. Turchin, "Supercompiler System Based on the Language
	Refal", V. Turchin, SIGPLAN Notices 14(2):46-54 (Feb 1979)].

	(1998-06-29)

Recursive Macro Actuated Generator

	<tool> (RMAG) Robert A. Magnuson, NIH ca 1970.

	A stand-alone macroprocessor for IBM 360/370 under VS or
	OS. Many built-in features and a library of several hundred
	macros.  Several large systems were written in RMAG to
	generate source code for languages such as IBM JCL, IBM
	assembly language, COBOL.

	There was also a system (SLANG: Structured LANGuage compiler)
	which would generate 370 assembly language from a
	pseudo-structured-programming language, based on Michael
	Kessler's structure programming macros developed at IBM.

	["Project RMAG--RMAG22 User's Guide", R.A. Magnuson,
	NIH-DCRT-DMB-SSS-UG103, NIH, DHEW, Bethesda, MD 20205 (1977)].

	(1995-11-23)

recursive type

	A data type which contains itself.  The commonest example is
	the list type, in {Haskell}:

		data List a = Nil | Cons a (List a)

	which says a list of a's is either an empty list or a {cons
	cell} containing an 'a' (the "head" of the list) and another
	list (the "tail").

	Recursion is not allowed in {Miranda} or Haskell {synonym
	types}, so the following {Haskell} types are illegal:

		type Bad = (Int, Bad)
		type Evil = Bool -> Evil

	whereas the seeminly equivalent {algebraic data types} are
	acceptable:

		data Good = Pair Int Good
		data Fine = Fun (Bool->Fine)

Red

	(Or "REDL") A language proposed by {Intermetrics} to meet the
	{Ironman} requirements which led to {Ada}.

	["On the RED Language Submitted to the DoD", E.W. Dijkstra,
	SIGPLAN Notices 13(10):27 (Oct 1978)].

	["RED Language Reference Manual", J. Nestor and M. van Deusen,
	Intermetrics 1979].

	(1995-01-19)

Red Book

	1.  <publication> Informal name for one of the four standard
	references on {PostScript}.  The other three official guides
	are known as the {Blue Book}, the {Green Book}, and the {White
	Book}.

	["PostScript Language Reference Manual", Adobe Systems,
	Addison-Wesley, 1985 (ISBN 0-201-10174-2); second edition
	1990 (ISBN 0-201-18127-4)].

	2. <publication> Informal name for one of the three standard
	references on Smalltalk.  This book also has blue and green
	siblings.

	["Smalltalk-80: The Interactive Programming Environment",
	Adele Goldberg, Addison-Wesley, 1984; (ISBN 0-201-11372-4)].

	3.  <publication> Any of the 1984 standards issued by the
	{ITU-T} eighth plenary assembly.  These include, among other
	things, the {X.400} {electronic mail} specification, the Group
	1 through 4 fax standards, {ISDN}, the R2 signalling system
	(Q.400 series recommendations), data communication via the
	{PSTN} (the V series recommendations) and tariffs and metering
	principles (the D series).

	4.  <publication> The new version of the {Green Book} - IEEE
	1003.1-1990, also known as ISO 9945-1 - is (because of the
	colour and the fact that it is printed on A4 paper) known in
	the USA. as "the Ugly Red Book That Won't Fit On The Shelf"
	and in Europe as "the Ugly Red Book That's A Sensible Size".

	5.  <publication> The NSA "Trusted Network Interpretation"
	companion to the {Orange Book}.

	See also {book titles}.

	[{Jargon File}]

Red Brick Intelligent SQL

	<database> (RISQL) A vendor-specific extension to {SQL}
	designed specifically for business managers.  It augments SQL
	with a variety of operations appropriate to data analysis and
	{decision support} applications such as ranking, moving
	averages, comparisons, market share, this year vs. last year,
	etc.  It was developed to simplify the creation of complex
	business queries.

	{Home
	(http://redbrick.com/products/white/papers/risql/risql.html)}.

	(1998-10-15)

Redcode

	<language> The {ICWS} standard language for {Core War} "battle
	programs".

	[Spec?]

	(1998-10-30)

redex

	Reducible Expression.  An expression matching the left hand
	side of a {reduction rule} or definition.

Red Hat

	<operating system> A distribution of {Linux}.

	{(http://redhat.com/)}.

	(1996-12-21)

RediLisp

	R.M. Keller, U Utah.  Dialect of Lisp used on the Rediflow
	machine, a derivative of FEL.

redirection

	1. <operating system> {input/output redirection}.

	2. <web> {URL redirection}.

	(1997-07-15)

redirector

	{network redirector}

RedNet Ltd.

	<company> A systems integration company who also provide
	"onLine", an {Internet} service aimed at both hobbyists and
	corporate end-users.  The service offers {dial-in} with {slip}
	or {PPP}, {POP3} {electronic mail}.

	{(http://rednet.co.uk)}.

	E-mail: <info@rednet.co.uk> (with INFO in the body).

	{Snail mail}: RedNet Ltd., 6 Cliveden Office Village, Lancaser
	Road, High Wycombe, Bucks, HP12 3YZ, UK.  Telephone: +44
	(1494) 513 333.  Fax: +44 (494) 443 374.

	(1994-11-08)

redocumentation

	The creation or revision of a semantically equivalent
	representation within the same relative abstraction level.
	The resulting forms of representation are usually considered
	alternate views intended for a human audience.

REDUCE

	<language, mathematics> A {symbolic mathematics} language with
	{ALGOL}-like {syntax}, written in {Lisp} by Anthony Hearn in
	1963.

	Reduce 2 is a version based on {Portable Standard LISP}.

	{(http://rrz.uni-koeln.de/REDUCE/)}.

	E-mail: <reduce@rand.org>.

	Server: reduce-netlib@rand.org.

	["REDUCE, Software for Algebraic Computation", G. Rayna,
	Springer 1987].

	(1994-10-31)

Reduced Instruction Set Computer

	<processor> (RISC) A {processor} whose design is based on the
	rapid execution of a sequence of simple instructions rather
	than on the provision of a large variety of complex
	instructions (as in a {Complex Instruction Set Computer}).

	Features which are generally found in RISC designs are uniform
	instruction encoding (e.g. the {op-code} is always in the same
	bit positions in each instruction which is always one word
	long), which allows faster decoding; a homogenous {register
	set}, allowing any register to be used in any context and
	simplifying {compiler} design; and simple {addressing modes}
	with more complex modes replaced by sequences of simple
	arithmetic instructions.

	Examples of (more or less) RISC processors are the {Berkeley
	RISC}, {HP-PA}, {Clipper}, {i960}, {AMD 29000}, {MIPS R2000}
	and {DEC Alpha}.  {IBM}'s first RISC computer was the {RT/PC}
	({IBM 801}), they now produce the RISC-based {RISC
	System/6000} and {SP/2} lines.

	Despite {Apple Computer}'s bogus claims for their
	{PowerPC}-based {Macintosh}es, the first RISC processor used
	in a {personal computer} was the {Advanced RISC Machine} (ARM)
	used in the {Acorn} {Archimedes}.

	(1997-06-03)

reduction

	(Or "contraction") The process of transforming an expression
	according to certain reduction rules.  The most important
	forms are {beta reduction} (application of a {lambda
	abstraction} to one or more argument expressions) and {delta
	reduction} (application of a mathematical function to the
	required number of arguments).

	An {evaluation strategy} (or {reduction strategy}), determines
	which part of an expression (which redex) to reduce first.
	There are many such strategies.

	See {graph reduction}, {string reduction}, {normal order
	reduction}, {applicative order reduction}, {parallel
	reduction}, {alpha conversion}, {beta conversion}, {delta
	conversion}, {eta conversion}.

	(1995-02-21)

reduction strategy

	<theory> An {algorithm} for deciding which {redex}(es) to
	reduce next.  Different strategies have different termination
	properties in the presence of {recursive} functions or values.

	See {string reduction}, {normal order reduction}, {applicative
	order reduction}, {parallel reduction}

	(1995-05-09)

redundancy

	1. <architecture, parallel> The provision of multiple
	interchangeable components to perform a single function in
	order to provide resilience (to cope with failures and
	errors).  Redundancy normally applies primarily to hardware.
	For example, a {cluster} may contain two or three computers
	doing the same job.  They could all be active all the time
	thus giving extra performance through {parallel processing}
	and {load balancing}; one could be active and the others
	simply monitoring its activity so as to be ready to take over
	if it failed ("warm standby"); the "spares" could be kept
	turned off and only switched on when needed ("cold standby").
	Another common form of hardware redundancy is {disk
	mirroring}.

	2. <data, communications, storage> {data redundancy}.

	(1995-05-09)

Redundant Array of Independent Disks

	<storage, architecture> (RAID) A standard naming convention
	for various ways of using multiple disk drives to provide
	redundancy and distributed I/O.

	The original ("..Inexpensive..") term referred to the 3.5 and
	5.25 inch disks used for the first RAID system but no longer
	applies.  As {solid state drives} are becoming a practical
	repacement for magnetic disks, "RAID" is sometimes expanded as
	"Redundant Array of Independent Drives".

	The following standard RAID specifications exist:

	 RAID 0	Non-redundant striped array
	 RAID 1	Mirrored arrays
	 RAID 2	Parallel array with ECC
	 RAID 3	Parallel array with parity
	 RAID 4	Striped array with parity
	 RAID 5	Striped array with rotating parity

	RAID originated in a project at the computer science
	department of the {University of California at Berkeley},
	under the direction of Professor Katz, in conjunction with
	Professor {John Ousterhout} and Professor {David Patterson}.
	A prototype disk array file server with a capacity of 40
	GBytes and a sustained bandwidth of 80 MBytes/second was
	interfaced to a 1 Gb/s {local area network}.  It was planned
	to extend the storage array to include automated {optical
	disks} and {magnetic tapes}.

	{(ftp://wuarchive.wustl.edu/doc/techreports/berkeley.edu/raid/raidPapers)}.
	{(http://HTTP.CS.Berkeley.EDU/projects/parallel/research_summaries/14-Computer-Architecture/)}.

	["A Case for Redundant Arrays of Inexpensive Disks (RAID)",
	"D. A. Patterson and G. Gibson and R. H. Katz", Proc ACM
	SIGMOD Conf, Chicago, IL, Jun 1988].

	["Introduction to Redundant Arrays of Inexpensive Disks
	(RAID)", "D. A. Patterson and P. Chen and G. Gibson and
	R. H. Katz", IEEE COMPCON 89, San Francisco, Feb-Mar 1989].

	(2012-08-26)

Redundant Array of Independent Drives

	{Redundant Arrays of Independent Disks}

Redundant Array of Inexpensive Disks

	{Redundant Arrays of Independent Disks}

Redundant Array of Inexpensive Servers

	<architecture> (RAIS) The use of multiple {servers} to provide
	the same service in such a way that service will still be
	available if one or more of the servers fails.  The term may
	or may not imply some kind of {load balancing} between the
	servers.  See {cluster}.

	The term "RAIS" follows {RAID}, which describes schemes for
	resilient disk storage.

	(2007-02-28)

Redundant Arrays of Inexpensive Disks

	{Redundant Arrays of Independent Disks}

red wire

	<jargon, hardware> (IBM) Patch wires installed by programmers
	who have no business mucking with the hardware.  It is said
	that the only thing more dangerous than a hardware guy with a
	code patch is a {softy} with a soldering iron.

	Compare {blue wire}, {yellow wire}, {purple wire}.

	[{Jargon File}]

	(1994-12-23)

red zone

	<networking> An environment located between internal and
	external {firewalls} where software and hardware are deployed
	to enable access to {extranet} applications.

	Compare {De-Militarised Zone}.

	(1997-11-05)

re-engineering

	The examination and modification of a system to reconstitute
	it in a new form and the subsequent implementation of the new
	form.

	{(http://erg.abdn.ac.uk/users/brant/sre)}.

	(1994-12-23)

re-entrant

	<programming> Used to describe code which can have multiple
	simultaneous, interleaved, or nested invocations which will
	not interfere with each other.  This is important for
	{parallel processing}, {recursive} functions or subroutines,
	and {interrupt handling}.

	It is usually easy to arrange for multiple invocations
	(e.g. calls to a subroutine) to share one copy of the code and
	any read-only data but, for the code to be re-entrant, each
	invocation must use its own copy of any modifiable data (or
	synchronised access to shared data).  This is most often
	achieved using a {stack} and allocating local variables in a
	new {stack frame} for each invocation.  Alternatively, the
	caller may pass in a pointer to a block of memory which that
	invocation can use (usually for outputting the result) or the
	code may allocate some memory on a {heap}, especially if the
	data must survive after the routine returns.

	Re-entrant code is often found in system software, such as
	{operating systems} and {teleprocessing monitors}.  It is also
	a crucial component of {multithreaded} programs where the term
	"thread-safe" is often used instead of "re-entrant".

	(1996-12-21)

refactoring

	<object-oriented, programming> Improving a computer {program}
	by reorganising its internal structure without altering its
	external behaviour.

	When software developers add new features to a program, the
	code degrades because the original program was not designed
	with the extra features in mind.

	This problem could be solved by either rewriting the existing
	code or working around the problems which arise when adding
	the new features.  Redesigning a program is extra work, but
	not doing so would create a program which is more complicated
	than it needs to be.  Refactoring is a collection of
	techniques which have been designed to provide an alternative
	to the two situations mentioned above.

	The techniques enable programmers to restructure code so
	that the design of a program is clearer.  It also allows
	programmers to extract {reusable components}, streamline a
	program, and make additions to the program easier to
	implement.

	Refactoring is usually done by renaming {methods}, moving
	{fields} from one {class} to another, and moving code into a
	separate method.

	Although it is done using small and simple steps,
	refactoring a program will vastly improve its design and
	structure, making it easier to maintain and leading to
	more robust code.

	{"Refactoring, Reuse & Reality" by Bill Opdyke
	(http://st-www.cs.uiuc.edu/users/opdyke/wfo.990201.refac.html)}.

	{"Refactoring, a first example" by Martin Fowler
	(http://aw.com/cseng/titles/0-201-89542-0/vidrefact/vidrefact.html)}.

	(2001-05-02)

REFAL

	{Recursive Functional Algorithmic Language}

REF-ARF

	["REF-ARF: A System for Solving Problems Stated as
	Procedures", R.E. Fikes, Artif Intell J 1(1), Spring 1970].

	(1998-06-29)

reference

	{pointer}

reference counting

	<programming> A {garbage collection} technique where each
	{memory cell} contains a count of the number of other cells
	which point to it.  If this count reaches zero the cell is
	freed and its {pointers} to other cells are followed to
	decrement their counts, and so on {recursively}.

	This technique cannot cope with {circular data structures}.
	Cells in such structures refer (indirectly) to themselves and
	so will never have a zero reference count.  This means they
	would never be reclaimed, even when there are no references
	from outside the structure.

	(1995-02-22)

referential integrity

	<database> A collection of properties which should be
	possessed by data in a {relational database}.

	For example, in a database of family members, if we enter A as
	a spouse of B, we should also enter B as a spouse of A.
	Similarly, if we remove one end of the relationship we should
	also remove the other.

	(1998-02-18)

referentially transparent

	{referential transparency}

referential transparency

	<programming> An expression E is referentially transparent if
	any subexpression and its value (the result of evaluating it)
	can be interchanged without changing the value of E.  This is
	not the case if the value of an expression depends on global
	state which can change value.  The most common example of
	changing global state is assignment to a global variable.  For
	example, if y is a global variable in:

		f(x)
		{ return x+y; }

		g(z)
		{
		  a = f(1);
		  y = y + z;
		  return a + f(1);
		}

	function g has the "{side-effect}" that it alters the value of
	y.  Since f's result depends on y, the two calls to f(1) will
	return different results even though the argument is the same.
	Thus f is not referentially transparent.  Changing the order
	of evaluation of the statements in g will change its result.

	{Pure functional languages} achieve referential transparency
	by forbidding {assignment} to global variables.  Each
	expression is a constant or a function application whose
	evaluation has no side-effect, it only returns a value and
	that value depends only on the definition of the function and
	the values of its arguments.

	We could make f above referentially transparent by passing in
	y as an argument:

		f(x, y) = x+y

	Similarly, g would need to take y as an argument and return
	its new value as part of the result:

		g(z, y)
		{
		  a = f(1, y);
		  y' = y+z;
		  return (a + f(1, y'), y');
		}

	Referentially transparent programs are more amenable to
	{formal methods} and easier to reason about because the
	meaning of an expression depends only on the meaning of its
	subexpressions and not on the order of evaluation or
	side-effects of other expressions.

	We can stretch the concept of referential transparency to
	include input and output if we consider the whole program to
	be a function from its input to its output.  The program as a
	whole is referentially transparent because it will always
	produce the same output when given the same input.  This is
	stretching the concept because the program's input may include
	what the user types, the content of certain files or even the
	time of day.  If we do not consider global state like the
	contents of files as input, then writing to a file and reading
	what was written behaves just like assignment to a global
	variable.  However, if we must consider the state of the
	universe as an input rather than global state then any
	{deterministic} system would be referentially transparent!

	See also {extensional equality}, {observational equivalence}.

	(1997-03-25)

referer

	<web> A misspelling of "referrer" which somehow
	made it into the {HTTP} standard.  A given {web page}'s
	referer (sic) is the {URL} of whatever web page contains the
	link that the user followed to the current page.  Most
	browsers pass this information as part of a request.

	(1998-10-19)

referrer

	{referer}

REFINE

	1. "Research on Knowledge-Based Software Environments at
	Kestrel Institute", D.R. Smith et al, IEEE Trans Soft Eng,
	SE-11(11) (1985).  E-mail: <maria@kestrel.edu>.

	2. Cordell Green et al, Stanford U.  Uses logic to specify and
	evolve programs.  [same as 1?] Reasoning Systems, Inc.
	E-mail: <help@reasoning.com>.

Refined C

	(RC) An extension of C to directly specify data access rights
	so that flow analysis, and hence automatic parallelisation, is
	more effective.  Research implementations only.  "Refining A
	Conventional Language For Race-Free Specification Of Parallel
	Algorithms," H.G. Dietz et al, Proc 1984 Intl Conf Parallel
	Proc, pp.380-382.

Refined Fortran

	(RF) Similar to Refined C.  Research implementations only.
	"Refined Fortran: Another Sequential Language for Parallel
	Programming," H.G. Dietz et al, Proc 1986 Intl Conf Parallel
	Proc, pp.184-191.

reflexive

	<theory> A {relation} R is reflexive if, for all x, x R x.

	{Equivalence relations}, {pre-orders}, {partial orders} and
	{total orders} are all reflexive.

	(1999-01-28)

reflexive domain

	A domain satisfying a recursive domain equation.
	E.g. D = D -> D.

Reflexive transitive closure

	Two elements, x and y, are related by the reflexive transitive
	closure, R+, of a relation, R, if they are related by the
	transitive closure, R*, or they are the same element.

RefLisp

	<language> A small {Lisp} {interpreter} written in {C++} by
	Bill Birch of {Bull}, UK.  RefLisp has a built-in {web
	server}, {Wiki}, {LISP server pages}, {SQL Databases}, {XML
	parser}, {MD5} hashing, {regular expressions}, {reference
	counting} and {mark-sweep garbage collection}.

	RefLisp has {shallow-binding} and {dynamic scope} with
	optional support for {lexical scope}, {Common Lisp}
	compatibility and for {indefinite extent} {Scheme} programs.

	RefLisp is distributed under the {GPL}.

	Latest version: 5.0 Beta, as of 2005-01-19.

	{RefLisp Home (http://sourceforge.net/projects/reflisp/)}.

	(2005-02-08)

refresh

	1. <storage> {DRAM refresh}.

	2. <hardware> {screen refresh}.

	(1998-10-19)

refreshable braille display

	{braille display}

refreshable display

	{braille display}

refresh rate

	<hardware> (Or "vertical refresh rate", "vertical scan rate")
	The maximum number of {frames} that can be displayed on a
	{monitor} in a second, expressed in {Hertz}.

	The scan rate is controlled by the vertical sync signal
	generated by the {video controller}, ordering the monitor to
	position the {electron gun} at the upper left corner of the
	{raster}, ready to paint another frame.  It is limited by the
	monitor's maximum {horizontal scan rate} and the {resolution},
	since higher resolution means more {scan lines}.  Increasing
	the refresh rate decreases flickering, reducing eye strain,
	but few people notice any change above 60-72 Hz.

	(1999-08-01)

refuctoring

	<humour, programming> Taking a well-designed piece of {code} and,
	through a series of small, reversible changes, making it
	completely unmaintainable by anyone except yourself.  The term is
	a humourous play on the term {refactoring} and was coined by Jason
	Gorman in a pub in 2002.

	Refuctoring techniques include:

	Using Pig Latin as a naming convention.

	Stating The Bleeding Obvious - writing comments that paraphrase
	the code (e.g., "declare an integer called I with an initial value
	of zero").

	Module Gravity Well - adding all new code to the biggest module.

	Unique Modeling Language - inventing your own visual notation.

	Treasure Hunt - Writing code consisting mostly of references to
	other code and documents that reference other documents.

	Rainy Day Module -  writing spare code just in case somebody needs
	it later.

	{Waterfall 2006 presentation
	(http://www.waterfall2006.com/gorman.html)}.

	(2013-12-01)

refutable

	<programming> In {lazy functional languages}, a refutable pattern
	is one which may fail to match.  An expression being matched
	against a refutable pattern is first evaluated to {head normal
	form} (which may fail to terminate) and then the top-level
	constructor of the result is compared with that of the pattern.
	If they are the same then any arguments are matched against the
	pattern's arguments otherwise the match fails.

	An irrefutable pattern is one which always matches.  An attempt to
	evaluate any {variable} in the pattern forces the pattern to be
	matched as though it were refutable which may fail to match
	(resulting in an error) or fail to terminate.

	Patterns in {Haskell} are normally refutable but may be made
	irrefutable by prefixing them with a tilde (~).  For example,

		(\ (x,y) -> 1) undefined	==>	undefined
		(\ ~(x,y) -> 1) undefined	==>	1

	Patterns in {Miranda} are refutable, except for {tuples} which are
	irrefutable.  Thus

		g [x] = 2
		g undefined			==>	undefined

		f (x,y) = 1
		f undefined			==>	1

	Pattern bindings in local definitions are irrefutable in both
	languages:

		h = 1 where [x] = undefined	==>	1

	Irrefutable patterns can be used to simulate {unlifted products}
	because they effectively ignore the top-level constructor of the
	expression being matched and consider only its components.

	(2013-11-03)

regex

	The {GNU} {regular expression} matching library.  See also
	{Rx}.

regexp

	1. {regular expression}.

	2. Name of a well-known PD regexp-handling package in portable
	C, written by revered {Usenet}ter Henry Spencer
	<henry@zoo.toronto.edu>.

	[{Jargon File}]

Regina

	<standard> A widely-used {open source} {Rexx} {interpreter} by
	Anders Christensen <anders@pvv.unit.no>, ported to many
	{platforms} including {Unix}, {Windows 95}, {Windows NT},
	{OS/2}.  Regina is currently maintained by Mark Hessling.

	Regina conforms almost completely to Rexx Language Level 4.00,
	with some Rexx SAA API extensions.  It is distributed under
	the GNU {General Public License}.

	Latest version: 2.0+, as of 2001-03-30.

	{Home {http://lightlink.com/hessling/)}.

	{Usenet} newsgroup: {news:comp.lang.rexx}.

	(2001-03-30)

regional network

	{mid-level network}

register

	1. One of a small number of high-speed memory locations in a
	computer's {CPU}.  Registers differ from ordinary
	{random-access memory} in several respects:

	There are only a small number of registers (the "register
	set"), typically 32 in a modern processor though some,
	e.g. {SPARC}, have as many as 144.  A register may be directly
	addressed with a few bits.  In contrast, there are usually
	millions of words of main memory (RAM), requiring at least
	twenty bits to specify a memory location.  Main memory
	locations are often specified indirectly, using an {indirect
	addressing} mode where the actual memory address is held in a
	register.

	Registers are fast; typically, two registers can be read and a
	third written -- all in a single cycle.  Memory is slower; a
	single access can require several cycles.

	The limited size and high speed of the register set makes it
	one of the critical resources in most computer architectures.
	{Register allocation}, typically one phase of the {back-end},
	controls the use of registers by a compiled program.

	See also {accumulator}, {FUBAR}, {orthogonal}, {register
	dancing}, {register allocation}, {register spilling}.

	2. An addressable location in a {memory-mapped} peripheral
	device.  E.g. the transmit data register in a {UART}.

register allocation

	<compiler, algorithm> The phase of a {compiler} that
	determines which values will be placed in {registers}.
	Register allocation may be combined with {register
	assignment}.

	This problem can be shown to be isomorphic to {graph
	colouring} by relating values to nodes in the graph and
	registers to colours.  Values (nodes) which must be valid
	simultaneously are linked by edges and cannot be stored in the
	same register (coloured the same).

	See also {register dancing} and {register spilling}.

	[Preston Briggs, PhD thesis, Rice University, April 1992
	{"Register Allocation via Graph Coloring"
	(ftp://ftp.cs.rice.edu/public/preston/thesis.ps.gz)}].

	(2000-12-04)

register assignment

	<compiler, algorithm> The phase of a {compiler} that
	determines which {register} to use for each program value
	selected during {register allocation}.

	(2000-12-04)

register dancing

	Many older processor architectures suffer from a serious
	shortage of general-purpose registers.  This is especially a
	problem for compiler-writers, because their generated code
	needs places to store temporaries for things like intermediate
	values in expression evaluation.  Some designs with this
	problem, like the Intel 80x86, do have a handful of
	special-purpose registers that can be pressed into service,
	providing suitable care is taken to avoid unpleasant side
	effects on the state of the processor: while the
	special-purpose register is being used to hold an intermediate
	value, a delicate minuet is required in which the previous
	value of the register is saved and then restored just before
	the official function (and value) of the special-purpose
	register is again needed.

	[{Jargon File}]

registered port

	<networking> Any {TCP} or {UDP} {port} with a number in the
	range 1025 to 65535 (i.e. not a {well-known port}) that is
	registered with {IANA}.

register set

	All a processor's {registers}.  The size and arrangement of a
	processor's register set is one of the crucial factors in its
	performance.

register spilling

	<programming, compiler> (By analogy with spilling the contents of
	an overfull container) When a {compiler} is performing the
	{register allocation} phase of generating {machine code} and there
	are more {live variables} than the machine has {registers} and it
	has to transfer or "spill" some variables from registers to
	memory.

	(2014-08-02)

Register Transfer Language

	(RTL) 1. A kind of {hardware description language} (HDL) used
	in describing the {registers} of a computer or digital
	electronic system, and the way in which data is transferred
	between them.

	2.  An intermediate code for a machine with an infinite number
	of {registers}, used for machine-independent optimisation.
	RTL was developed by Chris Fraser <cwf@research.att.com> and
	J. Davidson <jwd@virginia.edu> at the {University of Arizona}
	in the early 1980s.  RTL is used by the {GNU} C compiler,
	{gcc} and by Davidson's {VPCC} (Very Portable C compiler).

	["Quick Compilers Using Peephole Optimisation", Davidson et
	al, Soft. Prac. & Exp. 19(1):79-97 (Jan 1989)].

	(1994-11-16)

registry

	{Windows Registry}

regression

	1. <mathematics> A mathematical method where an {empirical
	function} is derived from a set of experimental data.

	2. {regression testing}.

	(1995-03-14)

regression testing

	<programming> Part of the test phase of software development
	where, as new {modules} are integrated into the system and the
	added functionality is tested, previously tested functionality
	is re-tested to assure that no new module has corrupted the
	system.

	[Bennatan, E.M., "Software Project Management", 2nd edition,
	McGraw-Hill International, 1992].

	(1995-12-04)

REG-SYMBOLIC

	An early system on the {IBM 704}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-02)

REGTRAL

	Mentioned in Attribute Grammars, LNCS 323, p.108.

	Relational Language.  Clark & Gregory.  First parallel logic
	language to use the concept of committed choice.  Forerunner
	of PARLOG.  "A Relational Language for Parallel Programming",
	K.L. Clark et al, Proc ACM Conf on Functional Prog Langs and
	Comp Arch, pp.171-178, ACM 1981.

regular expression

	1. <text, operating system> (regexp, RE) One of the {wild
	card} patterns used by {Perl} and other languages, following
	{Unix} utilities such as {grep}, {sed}, and {awk} and editors
	such as {vi} and {Emacs}.  Regular expressions use conventions
	similar to but more elaborate than those described under
	{glob}.  A regular expression is a sequence of characters with
	the following meanings (in Perl, other flavours vary):

	An ordinary character (not one of the special characters
	discussed below) matches that character.

	A backslash (\) followed by any special character matches the
	special character itself.  The special characters are:

	"." matches any character except {newline}; "RE*" (where the
	"*" is called the "{Kleene star}") matches zero or more
	occurrences of RE.  If there is any choice, the longest
	leftmost matching string is chosen.

	"^" at the beginning of an RE matches the start of a line and
	"$" at the end of an RE matches the end of a line.

	[CHARS] matches any one of the characters in CHARS.  If the
	first character of the string is a "^" it matches any
	character except the remaining characters in the string (and
	also usually excluding newline).  "-" may be used to indicate
	a range of consecutive {ASCII} characters.

	(RE) matches whatever RE matches and \N, where N is a digit,
	matches whatever was matched by the RE between the Nth "(" and
	its corresponding ")" earlier in the same RE.  Many flavours
	use \(RE\) instead of just (RE).

	The concatenation of REs is a RE that matches the
	concatenation of the strings matched by each RE.  RE1 | RE2
	matches whatever RE1 or RE2 matches.

	\< matches the beginning of a word and \> matches the end of a
	word.  Many flavours use "\b" instead as the special character
	for "word boundary".

	RE\{M\} matches M occurences of RE.  RE\{M,\} matches M or more
	occurences of RE.  RE\{M,N\} matches between M and N occurences.
	Other flavours use RE\\{M\\} etc.

	Perl provides several "quote-like" {operators} for writing
	REs, including the common // form and less common {??}.

	A comprehensive survey of regexp flavours is found in Friedl
	1997 (see below).

	[Jeffrey E.F. Friedl, "{Mastering Regular Expressions
	(http://enterprise.ic.gc.ca/~jfriedl/regex/index.html)},
	O'Reilly, 1997].

	2. Any description of a {pattern} composed from combinations
	of {symbols} and the three {operators}:

	Concatenation - pattern A concatenated with B matches a match
	for A followed by a match for B.

	Or - pattern A-or-B matches either a match for A or a match
	for B.

	Closure - zero or more matches for a pattern.

	The earliest form of regular expressions (and the term itself)
	were invented by mathematician {Stephen Cole Kleene} in the
	mid-1950s, as a notation to easily manipulate "regular sets",
	formal descriptions of the behaviour of {finite state
	machines}, in {regular algebra}.

	[S.C. Kleene, "Representation of events in nerve nets and
	finite automata", 1956, Automata Studies. Princeton].

	[J.H. Conway, "Regular algebra and finite machines", 1971, Eds
	Chapman & Hall].

	[Sedgewick, "Algorithms in C", page 294].

	(2004-02-01)

Regular Expression Converter

	{CONVERT}

regular graph

	<mathematics> A {graph} in which all {nodes} have the same
	{degree}.

	(1995-03-07)

rehi

	<chat> Hello again.

	(1995-02-28)

Reid, Brian

	{Brian Reid}

reify

	To regard (something abstract) as a material thing.

	(1995-03-07)

re-image

	<system administration> To re-install a computer's {operating
	system}, and possibly other software, by writing a {disk
	image} to the {hard disk}, replacing the entire contents.
	Re-imaging is quicker, easier and more reliable than going
	through a complete install but it relies on having a disk
	image available.

	"Sometimes if your {PC} has a {virus}, the only cure is to
	re-image it."

	(2007-06-26)

reincarnation, cycle of

	{cycle of reincarnation}

reinvent the wheel

	<jargon> To design or implement a tool equivalent to an
	existing one or part of one, with the implication that doing
	so is silly or a waste of time.  This is often a valid
	criticism.  On the other hand, automobiles don't use wooden
	rollers, and some kinds of wheel have to be reinvented many
	times before you get them right.  On the third hand, people
	reinventing the wheel do tend to come up with the moral
	equivalent of a trapezoid with an offset axle.

	[{Jargon File}]

	(1997-04-12)

relation

	1. <mathematics> A subset of the {product} of two sets, R : A
	x B.  If (a, b) is an element of R then we write a R b,
	meaning a is related to b by R.  A relation may be:
	{reflexive} (a R a), {symmetric} (a R b => b R a),
	{transitive} (a R b & b R c => a R c), {antisymmetric} (a R b
	& b R a => a = b) or {total} (a R b or b R a).

	See {equivalence relation}, {partial ordering}, {pre-order},
	{total ordering}.

	2. <database> A {table} in a {relational database}.

	(1995-02-28)

relational algebra

	<database, theory> A family of {algebra} with a {well-founded}
	{semantics} used for modelling the data stored in {relational
	databases}, and defining queries on it.  The main operations
	of the relational algebra are the {set} operations (such as
	{union}, {intersection}, and {cartesian product}), selection
	(keeping only some lines of a {table}) and the {projection}
	(keeping only some columns).

	The {relational data model} describes how the data is
	structured.

	{Codd's reduction algorithm} can convert from {relational
	calculus} to {relational algebra}.

	(1997-02-17)

relational calculus

	<database> An operational methodolgy, founded on {predicate
	calculus}, dealing with descripitive expressions that are
	equivalent to the operations of {relational algebra}.  {Codd's
	reduction algorithm} can convert from {relational calculus} to
	{relational algebra}.

	Two forms of the relational calculus exist: the {tuple
	calculus} and the {domain calculus}.

	["An Introduction To Database Systems" (6th ed), C. J. Date,
	Addison Wesley].

	(1998-10-05)

relational database

	<database> (RDBMS - relational database management system) A
	{database} based on the {relational model} developed by
	{E.F. Codd}.  A relational database allows the definition of
	data structures, storage and retrieval operations and
	{integrity constraints}.  In such a database the data and
	relations between them are organised in {tables}.  A table is
	a collection of rows or {records} and each row in a table
	contains the same {fields}.  Certain fields may be designated
	as {keys}, which means that searches for specific values of
	that field will use indexing to speed them up.

	Where fields in two different tables take values from the same
	set, a {join} operation can be performed to select related
	records in the two tables by matching values in those fields.
	Often, but not always, the fields will have the same name in
	both tables.  For example, an "orders" table might contain
	(customer_id, product_code) pairs and a "products" table might
	contain (product_code, price) pairs so to calculate a given
	customer's bill you would sum the prices of all products
	ordered by that customer by joining on the product-code fields
	of the two tables.  This can be extended to joining multiple
	tables on multiple fields.  Because these relationships are
	only specified at retreival time, relational databases are
	classed as {dynamic database management system}.

	The first commercial RDBMS was the {Multics Relational Data
	Store}, first sold in 1978.

	{INGRES}, {Oracle}, {Sybase, Inc.}, {Microsoft Access}, and
	{Microsoft SQL Server} are well-known database products and
	companies.  Others include {PostgreSQL}, {SQL/DS}, and {RDB}.

	["Managing Data Bases, Four Critical Factors" Michael
	M. Gorman, QED Information Sciences, Inc.].

	["An Introduction To Database Systems" (6th ed) C. J. Date,
	Addison Wesley (an excellent source of detailed info)].

	["An End-User's Guide to Data Base" James Martin, Prentice
	Hall (excellent place to begin learning about DBMS)].

	(2002-06-10)

relational database management system

	{relational database}

relational data model

	<database> (Or "relational model") A {data model} introduced
	by {E.F. Codd} in 1970, particularly well suited for business
	data management.  In this model, data are organised in
	{tables}.  The set of names of the columns is called the
	"schema" of the table.

	Here is an example table with the schema (account number,
	amount) and 3 lines.

	 account number     amount
	 --------------  ---------
	 12343243546456  +30000.00
	 23149875245824   +2345.33
	 18479827492874    -123.25

	The data can be manipulated using a {relational algebra}.
	{SQL} is a standard language for talking to a database built
	on the relational model (a "{relational database}").

	["A relational model for large shared data banks"
	Communications of ACM 13:6, pp 377-387].

	(1998-10-05)

relational DBMS

	{relational database}

relational language

	<language> Any kind of {programming language} that specifies
	output in terms of some property and some arguments.  For
	example, if Tom has two brothers, Dick and Harry, a relational
	language will respond to the query "Who is Tom's brother?"
	with either Dick or Harry.  Notice that unlike {functional
	languages}, relational languages do not require a unique
	output for each {predicate}/argument pair.  {Prolog} is the
	best known relational language.

	(2004-05-17)

relational model

	{relational data model}

RELATIVE

	Early system on IBM 650.  Listed in CACM 2(5):16 (May 1959).

relatively prime

	<mathematics> Having no common divisors (greater than 1).

	Two numbers are said to be relativey prime if there is no
	number greater than unity that divides both of them evenly.

	For example, 10 and 33 are relativly prime.  15 and 33 are not
	relatively prime, since 3 is a {divisor} of both.

	(1997-03-11)

relative pathname

	<file system> A {path} relative to the {working directory}.
	Its first character can be anything but the {pathname
	separator}.

	(1996-11-21)

Relative Record Data Set

	<database> (RRDS) One of the access methods used by {IBM}'s
	{VSAM}.

	[What is it?]

	(1999-01-12)

RELCODE

	Early system on UNIVAC I or II.  Listed in CACM 2(5):16 (May
	1959).

release

	<programming> (Or "released version", "baseline") A version of
	a piece of software which has been made public (as opposed to
	a version that is in development, or otherwise unreleased).

	A release is either a {major release}, a {revision}, or a
	{bugfix}.

	Pre-release versions may be called {alpha test}, or {beta
	test} versions.

	See {change management}.

	(1996-08-04)

released version

	{release}

REL English

	{Rapidly Extensible Language, English}

relevance

	<information science> A measure of how closely a given object
	(file, {web page}, database {record}, etc.) matches a user's
	search for information.

	The relevance {algorithms} used in most large web {search
	engines} today are based on fairly simple word-occurence
	measurement: if the word "daffodil" occurs on a given page,
	then that page is considered relevant to a {query} on the word
	"daffodil"; and its relevance is quantised as a factor of the
	number of times the word occurs in the page, on whether
	"daffodil" occurs in title of the page or in its META
	keywords, in the first {N} words of the page, in a heading,
	and so on; and similarly for words that a {stemmer} says are
	based on "daffodil".

	More elaborate (and resource-expensive) relevance algorithms
	may involve thesaurus (or {synonym ring}) lookup; e.g. it
	might rank a document about narcissuses (but which may not
	mention the word "daffodil" anywhere) as relevant to a query
	on "daffodil", since narcissuses and daffodils are basically
	the same thing.  Ditto for queries on "jail" and "gaol", etc.

	More elaborate forms of thesaurus lookup may involve
	multilingual thesauri (e.g. knowing that documents in Japanese
	which mention the Japanese word for "narcissus" are relevant
	to your search on "narcissus"), or may involve thesauri (often
	auto-generated) based not on equivalence of meaning, but on
	word-proximity, such that "bulb" or "bloom" may be in the
	thesaurus entry for "daffodil".

	{Word spamming} essentially attempts to falsely increase a web
	page's relevance to certain common searches.

	See also {subject index}.

	(1997-04-09)

reliability

	<systems> An attribute of any system that consistently produces
	the same results, preferably meeting or exceeding its
	specifications.  The term may be qualified, e.g {software
	reliability}, {reliable communication}.

	Reliability is one component of {RAS}.

	(2000-08-13)

Reliability, Availability, Serviceability

	<systems, design, hardware, software> (RAS) Three key attributes
	of a computing system design.  See {reliability}, {availability},
	and {serviceability}.

	The term "RAS" is fairly common in the computing industry
	(particularly computers and storage) as computing becomes more
	fundamental.  For example, a vehicle may depend on dozens of
	computers, and the consequences of the failure can be
	significant (e.g., an ambulance's engine won't start).

	(2000-08-13)

reliable communication

	<communications> Communication where messages are guaranteed
	to reach their destination complete and uncorrupted and in the
	order they were sent.  This reliability can be built on top of
	an unreliable {protocol} by adding sequencing information and
	some kind of {checksum} or {cyclic redundancy check} to each
	message or {packet}.  If the communication fails, the sender
	will be notified.  {Transmission Control Protocol} is a
	reliable protocol used on {Ethernet}.

	(2004-09-14)

Reliable Data Protocol

	<protocol> (RDP) A {protocol} designed to provide a reliable
	data transport service for {packet}-based applications such as
	remote loading and {debugging}.  RDP is intended to be simple
	to implement but still be efficient in environments where
	there may be long transmission delays and loss or
	non-sequential delivery of message segments.

	RDP is defined in {RFC 908}.

	(2004-09-14)

religion of CHI

	/ki:/ [Case Western Reserve University] Yet another hackish
	parody religion (see also {Church of the SubGenius},
	{Discordianism}).  In the mid-70s, the canonical "Introduction
	to Programming" courses at CWRU were taught in {ALGOL}, and
	student exercises were punched on cards and run on a Univac
	1108 system using a homebrew operating system named CHI.  The
	religion had no doctrines and but one ritual: whenever the
	worshipper noted that a digital clock read 11:08, he or she
	would recite the phrase "It is 11:08; ABS, ALPHABETIC, ARCSIN,
	ARCCOS, ARCTAN."  The last five words were the first five
	functions in the appropriate chapter of the ALGOL manual; note
	the special pronunciations /obz/ and /ark'sin/ rather than the
	more common /ahbz/ and /ark'si:n/.  Using an alarm clock to
	warn of 11:08's arrival was {considered harmful}.

	[{Jargon File}]

religious issues

	Questions which seemingly cannot be raised without touching
	off {holy wars}, such as "What is the best operating system
	(or editor, language, architecture, shell, mail reader, news
	reader)?", "What about that Heinlein guy, eh?", "What should
	we add to the new Jargon File?"  See {holy wars}; see also
	{theology}, {bigot}.

	This term is a prime example of {ha ha only serious}.  People
	actually develop the most amazing and religiously intense
	attachments to their tools, even when the tools are
	intangible.  The most constructive thing one can do when one
	stumbles into the crossfire is mumble {Get a life!} and leave
	- unless, of course, one's *own* unassailably rational and
	obviously correct choices are being slammed.

	(1996-08-16)

REM

	<programming> (From "remark") The {keyword} used in {BASIC} to
	introduce a {comment} (which continues to the end of the
	line).  {MS-DOS} probably borrowed it from {BASIC}.  Might be
	used in the form "REM out" meaning to {comment out}.

	(1998-04-27)

remailer

	{anonymous remailer}

Remote Access Services

	<communications> (RAS) A service provided by {Windows NT}
	which allows most of the services which would be available on
	a {network} to be accessed over a {modem} link.  The service
	includes support for {dialup} and {logon}, and then presents
	the same network interface as the normal network drivers
	(albeit slightly slower!).  It is not necessary to run Windows
	NT on the {client} - there are client versions for other
	{Windows} {operating systems}.

	[What services?]

	(1996-08-14)

Remote Database Access

	<database, standard> (RDBA) A standard permitting the exchange
	of information between different {DBMS} systems.

	(1998-09-23)

Remote Desktop Protocol

	<protocol> (RDP) A {Microsoft} {protocol} that provides remote
	display and input for {Windows}.

	RDP's {video driver} renders display output by sending packets
	to the client which translates them into corresponding
	Microsoft Win32 graphics device interface API calls.  Client
	mouse and keyboard events are redirected from the client to
	virtual keyboard and mouse drivers on the server.

	RDP 4.0 was introduced with {Windows NT} Server 4.0, Terminal
	Server Edition.  Windows 2000 Terminal Services included RDP
	5.0.  The Terminal Services Advanced Client (TSAC), an RDP
	client based on an {ActiveX control}, also supports RDP 5.0.
	RDP 5.0 provides enhanced performance over low-speed
	connections.  Windows XP uses RDP 5.1 and includes Remote
	Desktop Web Connection, which is an updated version of the
	TSAC.

	RDP extends the {ITU T.120} protocols, allowing separate
	virtual channels for device communication and presentation
	data from the server, as well as encrypted mouse and keyboard
	data.

	Compare: {VNC}.

	{MSDN RDP
	(http://msdn.microsoft.com/library/en-us/termserv/termserv/remote_desktop_protocol.asp)}.

	{thinclient.net
	(http://thinclient.net/technology/RDP_Features_and_Performance.htm)}.

	(2004-09-14)

remote echo

	<communications> (Obsolete: "full-duplex") A mode of operation
	of communicating programs or devices in which the sending
	system does not display the characters the user enters, but
	only sends them to the remote system which then "echoes" them
	back to be displayed to the user.  This lets the operator see
	not only typing errors, but also transmission errors.  This is
	now the usual mode of most systems with remote users.

	Contrast: {local echo}.

	(2000-03-30)

Remote Job Entry

	<operating system> (RJE) A system, widely used in the mid/late
	1960s, for submitting {jobs} to {mainframes} like the {IBM
	360} under {OS/MFT}.  Communication with the {computer
	operator} was via the keyboard and later via {CRTs}.

	(1999-03-26)

remote login

	<networking> A {client-server} program and {protocol} that
	provides an interactivel {command line interface} to a remote
	computer, using a {protocol} over a computer network,
	simulating a locally attached {terminal}.

	{rlogin} is the {BSD Unix} program and protocol for this,
	{telnet} is an earlier, more widely implemented protocol.

	(1999-03-26)

Remote Method Invocation

	<programming> (RMI) Part of the {Java} {programming language}
	{library} which enables a Java program running on one computer
	to access the {objects} and {methods} of another Java program
	running on a different computer.

	{Home
	(http://java.sun.com/products/jdk/1.1/docs/guide/rmi/index.html)}.

	(1997-09-04)

remote monitoring

	<protocol> (RMON) A {network management} {protocol} that
	allows network information to be gathered at a single
	computer.  Whereas {SNMP} gathers network data from a single
	type of {Management Information Base} (MIB), RMON 1 defines
	nine additional MIBs that provide a much richer set of data
	about network usage.  For RMON to work, network devices, such
	as {hubs} and {switches}, must be designed to support it.

	The newest version of RMON, RMON 2, provides data about
	{traffic} at the {network layer} in addition to the {physical
	layer}.  This allows administrators to analyse traffic by
	protocol.

	(2003-09-15)

Remote Operations Service Element

	<networking> (ROSE) A sub-layer of {protocol layer} six
	({presentation layer}) in the {OSI} seven layer model which
	provides {SASE} for remote operations.

	Documents: {ITU} Rec. X.229 ({ISO} 9072-2), ITU Rec. X.219
	(ISO 9072-1).

	(1997-12-07)

Remote Procedure Call

	<networking, programming> (RPC) A {protocol} which allows a
	program running on one {host} to cause code to be executed on
	another host without the programmer needing to explicitly code
	for this.  RPC is an easy and popular paradigm for
	implementing the {client-server} model of {distributed
	computing}.  An RPC is initiated by the caller (client)
	sending request message to a remote system (the server) to
	execute a certain procedure using arguments supplied.  A
	result message is returned to the caller.  There are many
	variations and subtleties in various implementations,
	resulting in a variety of different (incompatible) RPC
	{protocols}.

	{Sun} RPC is defined in {RFC 1057} and {ONC} RPC in {RFC
	1831}.

	(2003-06-04)

Remote Reference Layer

	<protocol> (RRL) Part of {Java}'s {Remote Method Invocation}
	protocol.  RRL exists in both the RMI {client} and {server}.
	It is used by the {stub} or {skeleton} {protocol layer} and
	uses the {transport layer}.  RRL is reponsible for
	transport-independent functioning of RMI, such as {connection
	management} or {unicast}/{multicast} {object invocation}.

	[Specification URL?]

	(1997-12-03)

Remote Spooling Communication Subsystem

	<communications> (RSCS) A {networking} {protocol} used
	primarily on {Bitnet}.

	[Details?]

	(1996-02-04)

Remote Write Protocol

	<chat, protocol> (RWP) A proposed {Internet} {protocol} for
	exchanging short messages between terminals.

	The RWP proposal is detailed in {RFC 1756}.

	(1996-09-08)

removable disk

	{removable hard disk}

removable hard disk

	<storage> A type of {magnetic disk}, or possibly
	{magneto-optical disk} which is not permanently attached to
	the {disk drive} (not a {fixed disk}) but which can be taken
	out and replaced, allowing many disks to be used in the same
	drive.

	The term "removable disk" would seem to be applicable to
	{floppy disks} but is generally reserved for {hard disks} in
	suitable cartridges such as those made by {Syquest}, {Iomega}
	and others.

	Removable disk packs were common on {minicomputers} such as
	the {PDP-11} in use in the 1970s except that the drives were
	the size of {washing machines} and the disk packs as big as
	car wheels.  Removable disks became popular on
	{microcomputers} in the 1990s as a cheap way of expanding disk
	space, transporting large amounts of data between computers
	and storing {backups}.  Large, cheap fixed hard disks and {USB
	memory sticks} have made removable disks less attractive.

	(2007-06-14)

rendering

	<graphics, text> The conversion of a high-level object-based
	description into a graphical image for display.

	For example, {ray-tracing} takes a mathematical model of a
	three-dimensional object or scene and converts it into a
	{bitmap} image.  Another example is the process of converting
	{HTML} into an image for display to the user.

	(2001-02-06)

RenderMan Shading Language

	["The RenderMan Companion", S. Upstill, A-W 1989, chaps
	13-15].

rendezvous

	1. In {Ada}, the method of synchronising the activity of
	different tasks.

	2. Query language, close to natural English.

	["Seven Steps to Rendezvous with the Casual User", E. Codd in
	Data Base Management, J.W.  Klimbie et al eds, N-H 1974,
	pp.179-199].

REP

	<programming> A directive used in {IBM} {object code} {card
	decks} (and later {PTF Tapes}) to REPlace fragments of already
	assembled or compiled object code prior to {link edit}.
	Recompiling or reassembling the {source code} to produce a
	whole new object module was only possible if the {source code}
	was available, which it rarely was (if you had the object you
	were lucky!)  It was also quicker to apply incremental changes
	with REP cards and they also circumvented the {checksums} and
	{card sequence numbers} present in the object code.

	(1998-07-16)

repeat

	{repeat loop}

repeater

	<networking, communications> A network or communications
	device which propagates electrical signals from one cable to
	another, amplifying them to restore them to full strength in
	the process.  Repeaters are used to counter the attenuation
	which occurs when signals travel long distances (e.g. across
	an ocean).

	A network repeater is less intelligent than a {bridge},
	{gateway} or {router} since it works at the {physical layer}.

	(1998-07-16)

repeating group

	<database> Any {attribute} that can have multiple values
	associated with a single instance of some {entity}.  For
	example, a book might have multiple authors.

	Such a "-to-many" relationship might be represented in an
	unnormalised {relational database} as multiple author columns
	in the book table or a single author(s) column containing a
	string which was a list of authors.  Converting this to "first
	normal form" is the first step in {database normalisation}.
	Each author of the book would appear in a separate {row} along
	with the book's {primary key}.  Later nomalisation stages
	would move the book-author relationship into a separate table
	to avoid repeating other book attibutes (e.g. title,
	publisher) for each author.

	(2005-07-28)

repeat loop

	<programming> (Or "do loop") A {loop} construct found in many
	{procedural languages} which repeatedly executes some
	instructions while a {condition} is true.

	Repeat loops are found in {Perl}, {Pascal}, {BASIC} and {C}.
	The initial {keyword} may be "repeat" or "do" and the
	condition may be introduced with a "while" or "until" keyword.

	In constrast to a {while} loop, the "loop body" is executed
	once before the condition is tested.  This is useful when the
	condition depends on the action of the loop body.  In the
	following BASIC loop "Hello" is printed once despite the fact
	that the condition is false;

	 i = 2
	 repeat
	   print "Hello"
	   i = i+1
	 until i>0

	See also {while loop} and {for loop}.

	(1999-05-06)

repetitive strain disorder

	{overuse strain injury}

repetitive strain injury

	{overuse strain injury}

REPL

	1. <language, LISP, programming> {read-eval-print loop}.

	2. <language> {Restricted EPL}.

	(2003-06-23)

replacement algorithm

	The method used to determine which entry in an associative
	{cache} to flush to main memory when it is desired to cache a
	new block of data.  The "least recently used" algorithm
	flushed the block which has not been accessed for the longest
	time.  A random replacement algorithm picks any block with
	equal probability.

Replay

	{Acorn Computers}' {full-motion video} system written by Roger
	Wilson.  Video and sound information are stored in compressed
	form.  Compression is relatively slow but decompression is
	done in {real-time} with quality and {frame-rate} varying with
	the processing power available, the size of the picture and
	whether it appears in a {window} or uses the whole screen.

	(1994-11-09)

replication

	<database, networking> Creating and maintaining a duplicate
	copy of a database or file system on a different computer,
	typically a {server}.  The term usually implies the
	intelligent copying of parts of the source database which have
	changed since the last replication with the destination.

	Replication may be one-way or two-way.  Two-way replication is
	much more complicated because of the possibility that a
	replicated object may have been updated differently in the two
	locations in which case some method is needed to reconcile the
	different versions.

	For example, {Lotus Notes} can automatically distribute
	document databases across telecommunications networks.  Notes
	supports a wide range of network {protocols} including {X25}
	and {Internet} {TCP/IP}.

	Compare {mirror}.  See also {rdist}.

	(1997-12-12)

replicator

	Any construct that acts to produce copies of itself; this
	could be a living organism, an idea (see {meme}), a program
	(see {quine}, {worm}, {wabbit}, {fork bomb}, and {virus}), a
	pattern in a {cellular automaton} (see {life}), or
	(speculatively) a robot or {nanobot}.  It is even claimed by
	some that {Unix} and {C} are the symbiotic halves of an
	extremely successful replicator; see {Unix conspiracy}.

	[{Jargon File}]

reply

	{followup}

Repondez s'il vous plait

	{Répondez s'il vous plait}

Report Program Generator

	<tool> (RPG) An {IBM} programming language developed by {Wilf
	Hey} at {IBM} in 1965 for easy production of sophisticated
	large system reports.

	RPG is a {3GL} similar to {COBOL}, but more concise and
	supposedly easier for non-programmers to use.  It processes
	its input one line at a time and does not treat tables as
	{conceptual entities}.

	It was popular on {System 34}/36 {minicomputers}.

	Versions: RPG II, RPG III, RPG/400 for IBM {AS/400}.  {MS-DOS}
	versions by {California Software} and {Lattice}.  {Unix}
	version by {Unibol}.  {Cross-platform} version by {J & C
	Migrations} runs on {MS-DOS}, {Windows}, {AIX}, {HP-UX}, and
	{OS/390}.

	See also {CL}, {OCL}.

	(2004-08-24)

repository

	1. <database> See {data dictionary}.

	2. <programming> The core of a {CASE} tool, typically a {DBMS}
	where all development documents are stored.

	(1999-04-27)

Representation Language Language

	<language> (RLL) A {frame language}.

	["A Representation Language Language", R. Greiner and
	D.B. Lenat, Proc AAAI-80, 1980].

	(2003-06-02)

Request For Comments

	<standard> (RFC) One of a series, begun in 1969, of numbered
	{Internet} informational documents and {standards} widely
	followed by commercial software and {freeware} in the
	{Internet} and {Unix} communities.  Few RFCs are standards but
	all Internet standards are recorded in RFCs.  Perhaps the
	single most influential RFC has been {RFC 822}, the Internet
	{electronic mail} format standard.

	The RFCs are unusual in that they are floated by technical
	experts acting on their own initiative and reviewed by the
	Internet at large, rather than formally promulgated through an
	institution such as {ANSI}.  For this reason, they remain
	known as RFCs even once adopted as standards.

	The RFC tradition of pragmatic, experience-driven,
	after-the-fact standard writing done by individuals or small
	working groups has important advantages over the more formal,
	committee-driven process typical of {ANSI} or {ISO}.

	Emblematic of some of these advantages is the existence of a
	flourishing tradition of "joke" RFCs; usually at least one a
	year is published, usually on April 1st.  Well-known joke RFCs
	have included 527 ("ARPAWOCKY", R. Merryman, UCSD; 22 June
	1973), 748 ("Telnet Randomly-Lose Option", Mark R. Crispin; 1
	April 1978), and 1149 ("A Standard for the Transmission of IP
	Datagrams on Avian Carriers", D. Waitzman, BBN STC; 1 April
	1990).  The first was a Lewis Carroll pastiche; the second a
	parody of the {TCP/IP} documentation style, and the third a
	deadpan skewering of standards-document legalese, describing
	protocols for transmitting Internet data packets by carrier
	pigeon.

	The RFCs are most remarkable for how well they work - they
	manage to have neither the ambiguities that are usually rife
	in informal specifications, nor the committee-perpetrated
	{misfeatures} that often haunt formal standards, and they
	define a network that has grown to truly worldwide
	proportions.

	{rfc.net (http://rfc.net/)}.
	{W3
	(http://w3.org/hypertext/DataSources/Archives/RFC_sites.html)}.
	{JANET UK FTP (ftp://nic.ja.net/pub/newsfiles/JIPS/rfc)}.
	{Imperial College, UK FTP (ftp://src.doc.ic.ac.uk/rfc/)}.
	{Nexor UK (http://nexor.com/public/rfc/index/rfc.html)}.
	{Ohio State U
	(http://cis.ohio-state.edu/hypertext/faq/usenet/top.html)}.

	See also {For Your Information}, {STD}.

	(1997-11-10)

request for proposal

	<programming> (RFP) The publication by a prospective software
	purchaser of details of the required system in order to
	attract offers by software developers to supply it.  Software
	development under contract starts with the selection of the
	software developer by the customer.  A request for proposal
	(also called in Britain an "invitation to tender") is the
	beginning of the selection process.

	[Bennatan, E.M., "Software Project Management", 2nd edition,
	McGraw-Hill International, 1992].

	(1995-12-04)

Request For Technology

	(RFT) The process established by the {OSF} to get proposals
	for new standards.

	(1994-11-30)

Required-COBOL

	A minimal subset of {COBOL} developed in 1961.  It was later
	dropped entirely.

	[Sammet 1969, p. 339].

	(1994-11-30)

requirements

	<programming> The first stage of software development which
	defines what the potential users want the system to do.  In
	modern methods these requirements should be testable, and will
	usually be traceable in later development stages.  A common
	feature of nearly all software is that the requirements change
	during its lifetime.

	See {software life-cycle}.

	(1995-11-11)

Requirements Acquisition and Controlled Evolution

	<programming, project> (RACE) A "back to basics" approach to
	{requirements engineering}.  The method, is being pieced
	together through a series of intermediate research studies.
	In essence, the approach has been to establish requirements
	for RACE, identify individual techniques that meet those
	requirements, experiment with the combined use of the
	techniques, and finally assemble the method.  In practice,
	RACE has been influenced significantly by Checkland and
	Wilson's {Soft Systems Methodology} (SSM) and this forms the
	core of the method.

	(1995-11-21)

requirements analysis

	<project> The process of reviewing a business's processes to
	determine the business needs and {functional requirements}
	that a system must meet.

	(1996-08-01)

Requirements Engineering

	<programming> The task of capturing, structuring, and
	accurately representing the user's {requirements} so that they
	can be correctly embodied in systems which meet those
	requirements (i.e. are of good quality).

	{DOORS} is one product to help with this task.

	(1995-11-11)

Research Systems, Inc.

	(RSI) Distributors of {Interactive Data Language} (IDL).

	{(ftp://gateway.rs.inc.com/pub/)}.  E-mail: <info@rsinc.com>.

	(1994-10-07)

ResEdit

	<programming, tool> A free {resource editor} for {Win32}
	programs.  ResEdit can create {dialogs}, {icon}, {version
	information} or other types of resources.  Output files can be
	compiled by any Win32 {compiler} like {MinGW} and Microsoft
	{Visual C++}.

	Latest version: 1.3.5, as of 2007-03-24.

	{(http://www.resedit.net/)}.

	(2007-03-24)

reserved memory

	<storage> The address range 640-1024 {kilobytes} on an {IBM
	PC}, reserved for {BIOS}, {video cards}, and add-on cards.
	Depending on the configuration some of the address space may
	be unused in which case it can be used by {EMS} or {UMB}.

	(1996-01-10)

resolution

	1. <hardware> the maximum number of {pixels} that can be
	displayed on a {monitor}, expressed as (number of horizontal
	pixels) x (number of vertical pixels), i.e., 1024x768.  The
	ratio of horizontal to vertical resolution is usually 4:3, the
	same as that of conventional television sets.

	2. <logic> A mechanical method for proving statements of
	{first order logic}, introduced by J. A. Robinson in 1965.
	Resolution is applied to two {clauses} in a {sentence}.  It
	eliminates, by {unification}, a {literal} that occurs
	"positive" in one and "negative" in the other to produce a new
	clause, the {resolvent}.

	For example, given the sentence:

		(man(X) => mortal(X))  AND  man(socrates).

	The literal "man(X)" is "negative".  The literal
	"man(socrates)" could be considered to be on the right hand
	side of the degenerate implication

		True => man(socrates)

	and is therefore "positive".  The two literals can be unified
	by the binding X = socrates.

	The {truth table} for the implication function is

		A | B | A => B
		--+---+-------
		F | F |   T
		F | T |   T
		T | F |   F
		T | T |   T

	(The implication only fails if its premise is true but its
	conclusion is false).  From this we can see that

		A => B   ==   (NOT A) OR B

	Which is why the left hand side of the implication is said to
	be negative and the right positive.  The sentence above could
	thus be written

		((NOT man(socrates)) OR mortal(socrates))
		AND
		man(socrates)

	Distributing the AND over the OR gives

		((NOT man(socrates)) AND man(socrates))
		OR
		mortal(socrates) AND man(socrates)

	And since (NOT A) AND A == False, and False OR A == A we can
	simplify to just

		mortal(socrates) AND man(socrates)

	So we have proved the new literal, mortal(socrates).

	Resolution with {backtracking} is the basic control mechanism
	of {Prolog}.

	See also {modus ponens}, {SLD Resolution}.

	3. <networking> {address resolution}.

	(1996-02-09)

resolver

	<networking> The {TCP/IP} {protocol} library software that
	formats requests to be sent to the {Domain Name Server} for
	{hostname} to {IP address} conversion.

	(1995-03-28)

Resource Access Control Facility

	(RACF) {IBM}'s large system security product.  It originally
	ran only under {MVS} but has since been ported to run under
	{VM}.

	(1995-02-07)

Resource Description Framework

	<web, specification, data> (RDF) A specification
	being developed in 2000 by the {W3C} as a foundation for
	processing {meta-data} regarding resources on the {Internet},
	including the {web}.

	Resource Description Framework data consists of resources
	({nodes}), and property/value pairs describing the resource.
	A node is any object which can be pointed to by a {URI},
	properties are attributes of the node, and values can be
	either atomic values for the attribute, or other nodes.  For
	example, information about a particular {web page} (a node),
	might include the property "Author".  The value for the Author
	property could be either a string giving the name of the
	author, or a {link} to a resource describing the author.

	Resource Description Framework only specifies a mechanism for
	encoding and transferring meta-data.  It does not specify what
	that meta-data should, or can be.  RDF does not, for example,
	define an "Author" attribute.  Sets of properties are defined
	within RDF Vocabularies (or Schemas).  Anynone can create an
	RDF schema, describing a specialized set of properties, by
	creating a resource, referenced by the Schema URI, which
	provides a human- and machine-understandable definition of the
	schema's properties.  The description of a node may include
	properties defined in different schemas.  The properties
	within a resource description are associated with a certain
	schema definition using the {XML} {namespace} mechanism.
	Schemas currently being developed include a content screening
	system modeled after {PICS}, and a bibliographic vocabulary,
	such as the {Dublin Core Initiative}.

	{(http://w3c.org/RDF/)}.

	{W3C Resource Description Framework-RDF Model and Syntax
	Specification (http://w3.org/TR/REC-rdf-syntax/)}.

	(2000-03-25)

resource fork

	{Macintosh file system}

Resource Reservation Protocol

	<protocol> (RSVP) A {protocol} that supports {quality of
	service}.

	{(http://zdnet.com/pcweek/stories/news/0,4153,389107,00.html)}.

	(2001-03-18)

Restricted EPL

	<language> (REPL) The efficient {subset} of {EPL} used to
	write the core of {Multics}.

	(2003-06-23)

restriction

	A {bug} or design error that limits a program's capabilities,
	and which is sufficiently egregious that nobody can quite work
	up enough nerve to describe it as a {feature}.  Often used
	(especially by {marketroid} types) to make it sound as though
	some crippling bogosity had been intended by the designers all
	along, or was forced upon them by arcane technical constraints
	of a nature no mere user could possibly comprehend (these
	claims are almost invariably false).

	Old-time hacker Joseph M. Newcomer advises that whenever
	choosing a quantifiable but arbitrary restriction, you should
	make it either a power of 2 or a power of 2 minus 1.  If you
	impose a limit of 17 items in a list, everyone will know it is
	a random number - on the other hand, a limit of 15 or 16
	suggests some deep reason (involving 0- or 1-based indexing in
	binary) and you will get less {flamage} for it.  Limits which
	are round numbers in base 10 are always especially suspect.

	[{Jargon File}]

Restructured EXtended eXecutor

	<language> (REXX, or "System Product Interpreter", originally
	known as "REX") A {script}ing language for {IBM VM} and {MVS}
	systems, developed by M. Cowlishaw at {IBM} ca. 1979,
	replacing {EXEC2}.

	Versions: PC-Rexx for {MS-DOS}, {AREXX} for the {Amiga}, the
	{OS/2} implementation from IBM, WINREXX (Rexx for Windows,
	from {Quercus systems}) and Personal Rexx (Rexx for MS-DOS,
	from Quercus systems).

	See also {Regina}, {freerexx}, {imc}.

	{REXXWARE} is an implementation of {REXX} for {Novell
	NetWare}.

	{Usenet} newsgroup: {news:comp.lang.rexx}.

	["The REXX Language: A Practical Approach to Programming",
	M.F. Cowlishaw, 1985].

	(1992-05-13)

restructuring

	The transformation from one representation form to another at
	the same relative abstraction level, while preserving the
	subject system's external behaviour (functionality and
	semantics).

retcon

	/ret'kon/ retroactive continuity.

	The common situation in fiction where a new story "reveals"
	things about events in previous stories, usually leaving the
	"facts" the same (thus preserving continuity) while completely
	changing their interpretation.  For example, revealing that a
	whole season of "Dallas" was a dream was a retcon.

	This term was once thought to have originated on the {Usenet}
	newsgroup {news:rec.arts.comics} but is now believed to have
	been used earlier in comic fandom.

	[{Jargon File}]

	(1994-12-08)

rete

	<artificial intelligence> /Re'te/ (From Latin "net") A net or
	network; a plexus; particularly, a network of blood vessels or
	nerves, or a part resembling a network.

	[How is it used in AI?  What is a "rete procedure "?]

	(2002-03-14)

RETI

	{RTI}

Retrieve

	<language> A {query language} inspired {JPLDIS} which led to
	{Vulcan} and then to {dBASE II}, developed by {Tymshare Corp}
	in the 1960s.

	(1998-04-29)

retrocomputing

	/ret'-roh-k*m-pyoo'ting/ Refers to emulations of
	way-behind-the-state-of-the-art hardware or software, or
	implementations of never-was-state-of-the-art; especially if
	such implementations are elaborate practical jokes and/or
	parodies, written mostly for {hack value}, of more "serious"
	designs.  Perhaps the most widely distributed retrocomputing
	utility was the "pnch(6)" or "bcd(6)" program on V7 and other
	early Unix versions, which would accept up to 80 characters of
	text argument and display the corresponding pattern in
	{punched card} code.  Other well-known retrocomputing hacks
	have included the programming language {INTERCAL}, a
	{JCL}-emulating shell for Unix, the card-punch-emulating
	editor named 029, and various elaborate {PDP-11} hardware
	emulators and RT-11 OS emulators written just to keep an old,
	sourceless {Zork} binary running.

	[{Jargon File}]

retronym

	<jargon> A term invented to distinguish a subclass of things
	from new members of the superclass, where the distinction was
	previously not necessary, since the old subclass had been all
	there was of the superclass.

	For example, the retronyms "{snail mail}" and "{paper mail}"
	were coined by those for who "mail" was likely to mean
	{electronic mail}.

	While the English language in general has a few retronyms
	("whole milk", "snow skiing", "acoustic guitar"), hacker
	jargon is necessarily (at points capriciously) rich in
	retronyms, e.g. {plaintext}, {natural language}, {impact
	printer}, {eyeball search}, biological {virus}.

	[More examples?]

	(2001-02-25)

return from interrupt

	<programming> (RTI) An instruction {mnemonic} on many
	computers including the {6502} and {6800}.  The variant "RETI"
	is found among former {Zilog Z80} hackers (almost nobody
	programs these things in {assembly code} anymore).  The {Intel
	80x86} equivalent is "IRET".

	(1994-10-31)

return from the dead

	<jargon> To regain access to the net after a long absence.

	Compare {person of no account}.

	[{Jargon File}]

	(1999-01-14)

Return To Zero

	<communications> A class of encoding methods for physical
	circuits in which the carrier (current, voltage) returns to
	zero after each transmitted bit, i.e. the data is carried in
	pulse width or polarity, not in the level of the signal.

	Contrast {NRZ}.

	(1995-11-11)

reusability

	{reuse}

reuse

	Using code developed for one {application program} in another
	application.  Traditionally achieved using program libraries.
	{Object-oriented programming} offers reusability of code via
	its techniques of {inheritance} and {genericity}.  {Class}
	libraries with {intelligent browsers} and {application
	generators} are under development to help in this process.
	{Polymorphic} {functional languages} also support reusability
	while retaining the benefits of {strong typing}.

	See also {DRAGOON}, {National Software Reuse Directory},
	{RLF}.

Reverse Address Resolution Protocol

	<networking, protocol> (RARP) A {protocol} defined in {RFC
	903} which provides the reverse function of {ARP}.  RARP maps
	a hardware address ({MAC address}) to an {IP address}.
	It is used primarily by {diskless nodes}, when they first
	initialise, to find their {IP address}.

	See also {BOOTP}.

	(1994-12-08)

Reverse ARP

	{Reverse Address Resolution Protocol}

reverse engineering

	<systems, product, design> The process of analysing an existing
	system to identify its components and their interrelationships and
	create representations of the system in another form or at a
	higher level of {abstraction}.  Reverse engineering is usually
	undertaken in order to redesign the system for better
	maintainability or to produce a copy of a system without access to
	the design from which it was originally produced.

	For example, one might take the {executable code} of a computer
	program, run it to study how it behaved with different inputs and
	then attempt to write a program which behaved identically (or
	better).  An {integrated circuit} might also be reverse engineered
	by an unscrupulous company wishing to make unlicensed copies of a
	popular chip.

	(1995-10-06)

Reverse Polish Notation

	{postfix notation}

reverse polish syntax

	{postfix notation}

Revised ALGOL 60

	{ALGOL 60 Revised}

revision

	<programming> A {release} of a piece of software which is not
	a {major release} or a {bugfix}, but only introduces small
	changes or new features.

	(1996-08-04)

Revision Control System

	<software, tool> (RCS) A {version control} system that
	automates the storing, retrieval, logging, identification, and
	merging of revisions.  RCS is useful for text that is revised
	frequently, for example programs, documentation, graphics,
	papers, and form letters.

	{Unix manual page}: rcs(1).

	["RCS -- A System for Version Control", Walter F. Tichy,
	Software--Practice & Experience 15, 7, July 1985, 637-654].

	[Features?  Availability?  URL?]

	(1994-12-23)

Revolutionary Surrealist Vandal Party

	<body> (RSVP)
	{(http://impropaganda.com/kultcha.html#bullet21)}.

	(1996-12-01)

revolutions per minute

	<unit> (rpm, rarely: rotations per minute) A unit of {angular
	velocity}.

	(2004-04-18)

REX

	The original name for {Restructured EXtended eXecutor}.

REXX

	{Restructured EXtended eXecutor}

REXXWARE

	An implementation of {REXX} for {Novell NetWare} produced by
	{Simware, Inc.} in January 1994.  It is used by {LAN} managers
	to automate LAN administration chores on a Novell NetWare
	{server}.

	As a scripting language, REXXWARE is an NLM ({NetWare Loadable
	Module}) that runs on {Novell NetWare} servers.  It includes
	more than 275 NetWare-specific functions, plus the standard
	{REXX} {keywords}, instructions, built-in functions,
	{flow-control}, tracing, and error trapping and recovery
	features.

	REXXWARE is certified by Novell for use with NetWare.

	E-mail: <rexxware@simware.com>.

	(1995-01-11)

RF

	{radio frequency}

RFC

	{Request For Comments}

RFC 1014

	<programming, networking, standard> The {RFC} defining
	{eXternal Data Representation}.

	{(rfc:1014)}.

	(1994-12-13)

RFC 1034

	<networking, standard> One of the {RFCs} defining the {Domain
	Name System}.

	{(rfc:1034)}.

	(1997-12-15)

RFC 1035

	<networking, standard> One of the {RFCs} defining the {Domain
	Name System}.

	{(rfc:1035)}.

	(1997-12-15)

RFC 1057

	<networking, standard> The {RFC} defining {Sun} {RPC}.

	{(rfc:1057)}.

	(2003-06-04)

RFC 1058

	<networking, standard> The {RFC} defining {Routing Information
	Protocol}.  Updated by {RFC 1388}.

	{(rfc:1058)}.

	(1994-11-30)

RFC 1081

	<messaging, standard> The {RFC} defining {POP3}, {Post Office
	Protocol} version 3.

	{(rfc:1081)}.

	(1994-12-12)

RFC 1094

	<standard, networking, storage> The {RFC} defining {Sun
	Microsystems}'s {Network File System} (NFS).

	{(rfc:1094)}.

	(1994-12-12)

RFC 1112

	<networking, standard> The {RFC} describing {MBONE}.

	{(rfc:1112)}.

	(1994-11-11)

RFC 1119

	<networking, standard> The {RFC} defining {Network Time
	Protocol}.

	{(rfc:1119)}.

	(1994-11-30)

RFC 1123

	<networking, standard> The {RFC} "Requirements for Internet
	Hosts Application and Support" which clarifies or changes the
	specification of protocols given in earlier RFCs.

	RFC 1123 defines the terms "MUST", "SHOULD", "MAY",
	"unconditionally compliant", "conditionally compliant".
	Capitals are used to emphasise that the official definition of
	the word is being used.

	MUST or REQUIRED means an absolute requirement for
	conformance.

	SHOULD or RECOMMENDED means the item can be ignored under
	certain circumstances, although the full implications should
	be understood.

	MAY or OPTIONAL means the implementor can choose, usually
	depending on whether it is needed or not.

	Something "unconditionally compliant" meets all the MUST and
	SHOULD requirements, "conditionally compliant" meets all the
	MUST requirements and "not compliant" - does not meet some
	MUST requirement.

	For example, RFC 1123 amends RFC952 to say software MUST
	handle either a letter or a digit as the first character of a
	{hostname}.

	{(rfc:1123)}.

	(1996-01-13)

RFC 1156

	<standard> The {RFC} which established the MIB I {Management
	Information Base} standard.

	{(rfc:1156)}.

	(1994-11-14)

RFC 1157

	<networking, standard> The {RFC} defining {Simple Network
	Management Protocol}.

	{(rfc:1157)}.

	(1994-11-14)

RFC 1171

	<protocol, standard> The {RFC} defining the {Point-to-Point
	Protocol}.

	{(rfc:1171)}.

	(1994-12-13)

RFC 1208

	<networking, standard> The {RFC} defining many of the
	network-related terms in this dictionary.

	{(rfc:1208)}.

	["A Glossary of Networking Terms", Jacobsen, O., and D. Lynch,
	RFC 1208, Interop, Inc., March 1991.]

	(1996-08-06)

RFC 1213

	<networking, standard> The {RFC} which definied the MIB II
	{Management Information Base}.

	{(rfc:1213)}.

	(1994-11-14)

RFC 1267

	<networking, standard> One of the {RFCs} describing {Border
	Gateway Protocol}.

	{(rfc:1267)}.

RFC 1268

	<networking, standard> One of the {RFCs} describing {Border
	Gateway Protocol}.

	{(rfc:1268)}.

RFC 1304

	<networking, standard> One of the {RFCs} describing {SMDS
	Interface Protocol}.

	{(rfc:1304)}.

	(2000-09-02)

RFC 1321

	<messaging, standard> The {RFC} defining the {Message Digest
	5} {algorithm}.

	{(rfc:1321)}.

	(1996-08-04)

RFC 1334

	<networking, security, standard, protocol> The {RFC} defining
	{Challenge-Handshake Authentication Protocol} and {Password
	Authentication Protocol}.

	{(rfc:1334)}.

	(1996-03-23)

RFC 1341

	<messaging, standard> The June 1992 {RFC} defining
	{Multipurpose Internet Mail Extensions} (MIME).  This {RFC}
	has been obsoleted by {RFC 2045}, {RFC 2046}, {RFC 2047}, {RFC
	2048}, {RFC 2049}, and {BCP0013}.

	{(rfc:1341)}.

	(1997-08-30)

RFC 1347

	<networking, protocol> One of the {RFCs} describing the {TUBA}
	{protocol}.

	{(rfc:1347)}.

	(1997-08-30)

RFC 1350

	<networking, protocol> The {RFC} defining {TFTP}.

	{(rfc:1350)}.

	(1997-08-30)

RFC 1388

	<networking, standard> An update to {RFC 1058}, the {RFC}
	defining {Routing Information Protocol}.

	{(rfc:1388)}.

	(1994-11-30)

RFC 1436

	<networking, standard> The {RFC} defining the {Internet}
	{Gopher} {protocol}.

	{(rfc:1436)}.

	(1995-11-16)

RFC 1441

	<networking, standard> The {RFC} introducing {SNMP v2}.

	{(rfc:1441)}.

	(1997-11-23)

RFC 1442

	<networking, standard> The {RFC} defining {SMI} for {SNMP v2}.

	{(rfc:1442)}.

	(1997-11-23)

RFC 1443

	<networking, standard> The {RFC} defining textual conventions
	for {SNMP v2}.

	{(rfc:1443)}.

	(1997-11-23)

RFC 1444

	<networking, standard> The {RFC} defining conformance
	statements for {SNMP v2}.

	{(rfc:1444)}.

	(1997-11-23)

RFC 1445

	<networking, standard> The {RFC} defining the administrative
	model for {SNMP v2}.

	{(rfc:1445)}.

	(1997-11-23)

RFC 1446

	<networking, standard> The {RFC} defining security protocols
	for {SNMP v2}.

	{(rfc:1446)}.

	(1997-11-23)

RFC 1447

	<networking, standard> The {RFC} defining {Party MIB} for
	{SNMP v2}.

	{(rfc:1447)}.

	(1997-11-23)

RFC 1448

	<networking, standard> The {RFC} defining protocol operations
	for {SNMP v2}.

	{(rfc:1448)}.

	(1997-11-23)

RFC 1449

	<networking, standard> The {RFC} defining {transport mappings}
	for {SNMP v2}.

	{(rfc:1449)}.

	(1997-11-23)

RFC 1450

	<networking, standard> The {RFC} defining {MIB} for {SNMP v2}.

	{(rfc:1450)}.

	(1997-11-23)

RFC 1451

	<networking, standard> The {RFC} defining {Manager to Manger
	MIB}.

	{(rfc:1451)}.

	(1997-11-23)

RFC 1452

	<networking, standard> The {RFC} describing coexistance
	between {SNMP} v1 and {SNMP v2}.

	{(rfc:1452)}.

	(1995-02-15)

RFC 1475

	<networking, protocol> The {RFC} describing the {TP/IX}
	{protocol}.

	{(rfc:1475)}.

	(1995-04-03)

RFC 1508

	<security, standard> One of the {RFCs} defining {GSS-API}.

	{(rfc:1508)}.

	(1996-05-19)

RFC 1509

	<security, standard> One of the {RFCs} defining {GSS-API}.

	{(rfc:1509)}.

	(1996-05-19)

RFC 1520

	<networking, standard> The {RFC} defining {Classless
	Inter-Domain Routing}.

	{(rfc:1520)}.

	(1996-10-01)

RFC 1521

	<messaging, standard> An {RFC} defining {Multipurpose Internet
	Mail Extensions} (MIME).  This {RFC} has been obsoleted by
	{RFC 2045}, {RFC 2046}, {RFC 2047}, {RFC 2048}, {RFC 2049},
	and {BCP0013}.

	{(rfc:1521)}.

	(1997-11-23)

RFC 1526

	<networking, protocol> One of the {RFCs} describing the {TUBA}
	{protocol}.

	{(rfc:1526)}.

	(1997-11-23)

RFC 1531

	<networking, protocol> The original {RFC} defining {DHCP},
	obsoleted by {RFC 2131}.

	{(rfc:1531)}.

	(1998-11-20)

RFC 1550

	<networking, protocol> An {RFC} {white paper} on {IPng}.

	{(rfc:1550)}.

	(1995-04-03)

RFC 1561

	<networking, protocol> One of the {RFCs} describing the {TUBA}
	{protocol}.

	{(rfc:1561)}.

	(1997-11-23)

RFC 1568

	<messaging, standard> An {RFC} defining the {Simple Network
	Paging Protocol} (SNPP) which is designed to support
	{Internet} access to {paging} services such as those based on
	the {Telocator Alphanumeric Protocol}.  See also {RFC 1861}.

	{(rfc:1568)}.

	(1996-06-24)

RFC 1591

	<networking, standard> The {RFC} defining the {Domain Name
	System}.  Written by J. Postel in March 1994.

	(2001-05-14)

RFC 1630

	<networking, standard> The {RFC} defining the {Universal
	Resource Identifier}.

	{(rfc:1630)}.

	(1995-01-13)

RFC 1661

	<networking, standard> The {RFC} defining {Point-to-Point
	Protocol}.

	{(rfc:1661)}.

	(1997-02-05)

RFC 1700

	<networking, standard> The original {RFC} defining "Assigned
	Numbers" such as standard "well-known" {TCP} and {UDP} {port}
	numbers, now superseded by {RFC 3232}.

	{(rfc:1700)}.

	(2001-04-08)

RFC 1701

	<networking, standard> The {RFC} defining {Generic Routing
	Encapsulation}.

	See also {RFC 1702}.

	{(rfc:1701)}.

	(1997-04-02)

RFC 1702

	<networking, standard> The {RFC} defining {Generic Routing
	Encapsulation} over {IP}.

	{(rfc:1702)}.

	(1997-04-02)

RFC 1707

	<networking, standard> The {RFC} defining {CATNIP}.

	{(rfc:1707)}.

	(1996-03-23)

RFC 1730

	<messaging, standard> An old {RFC} defining {IMAP}, obsoleted
	by {RFC 2060}, {RFC 2061} and others.

	{(rfc:1730)}.

	(1996-03-11)

RFC 1756

	<messaging> The {RFC} describing {Remote Write Protocol}.

	{(rfc:1756)}.

	(1996-09-08)

RFC 1760

	<security> The {RFC} describing the S/KEY {One-Time Password}
	system.

	{(rfc:1760)}.

	(2000-01-31)

RFC 1777

	<networking, standard> The {RFC} defining {Lightweight
	Directory Access Protocol}.

	{(rfc:1777)}.

	(1996-08-23)

RFC 1778

	<networking, standard> The {RFC} that defines the requirements
	that must be satisfied by encoding rules used to render {X.500}
	Directory attribute syntaxes into a form suitable for use in
	{LDAP}.

	{(rfc:1778)}.

	(2002-03-02)

RFC 1795

	<networking, standard> The {RFC} that defines {Data Link
	Switching}.

	{(rfc:1795)}.

	(2008-01-11)

RFC 1823

	<networking, standard> The {RFC} defining the {C} language
	{application program interface} to the {Lightweight Directory
	Access Protocol}.

	{(rfc:1823)}.

	(1996-11-28)

RFC 1825

	<networking, standard> The {RFC} describing security
	mechanisms for {Internet Protocol} version 4 and {IP version
	6} and the services that they provide.

	{(rfc:1825)}.

	(1997-07-09)

RFC 1831

	<networking, standard> The {RFC} describing {ONC} {RPC}.

	(2003-06-04)

RFC 1861

	<networking, standard> The {RFC} defining {Simple Network
	Paging Protocol}.  See also {RFC 1568}.

	{(rfc:1861)}.

	(1997-04-25)

RFC 1938

	<security, standard> The {RFC} describing a proposed
	{standard} for a {One-Time Password} system, obsoleted by {RFC
	2289}.

	["A One-Time Password System.", N. Haller & C. Metz].

	{(rfc:1938)}.

	(2000-03-05)

RFC 1951

	<standard> The {RFC} describing {deflate} {compression}.

	{(rfc:1951)}.

	(1997-06-21)

RFC 1959

	<networking, standard> The {RFC} defining a {URL} format for
	the {Lightweight Directory Access Protocol}.

	{(rfc:1959)}.

	(1996-11-28)

RFC 1960

	<networking, standard> The {RFC} defining the human-readable
	format of search filters used with the {Lightweight Directory
	Access Protocol}.

	{(rfc:1960)}.

	(2002-03-02)

RFC 2045

	<messaging, standard> One of the {RFCs} defining {MIME}.

	{(rfc:2045)}.

	(1999-10-29)

RFC 2046

	<messaging, standard> One of the {RFCs} defining {MIME}.

	{(rfc:2046)}.

	(1999-10-29)

RFC 2047

	<messaging, standard> One of the {RFCs} defining {MIME}.

	{(rfc:2047)}.

	(1999-10-29)

RFC 2048

	<messaging, file format, standard> The {RFC} explaining
	registration of {MIME types}.

	{(rfc:2048)}.

	(1998-02-11)

RFC 2049

	<messaging, standard> One of the {RFCs} defining {MIME}.

	{(rfc:2049)}.

	(1999-10-29)

RFC 2060

	<messaging> One of the {RFCs} describing {IMAP}.

	{(rfc:2060)}.

	(1999-03-14)

RFC 2061

	<messaging> One of the {RFCs} describing {IMAP}.

	{(rfc:2061)}.

	(1999-03-14)

RFC 2068

	<networking, standard> The {RFC} defining {HTTP} version 1.1.

	{(rfc:2068)}.

	(1997-05-03)

RFC 2093

	<networking, standard> The {RFC} specifying the {Inverse
	Address Resolution Protocol}.

	{(rfc:2093)}.

	(2000-01-15)

RFC 2131

	<networking, protocol> The {RFC} defining {DHCP}.  Obsoletes
	{RFC 1531}.

	{(rfc:2131)}.

	(1998-11-22)

RFC 2234

	<standard> The {RFC} defining {Augmented Backus-Naur Form}.

	{(rfc:2234)}.

	(1997-11-23)

RFC 2236

	<networking, standard> The {RFC} describing {IGMP} version 2.

	{(rfc:2236)}.

	(1999-11-08)

RFC 2246

	<networking, standard> The {RFC} that defines {TLS} protocol
	Version 1.0.  Written by T. Dierks and C. Allen in January
	1999.

	{(rfc:2246)}.

	(2003-10-25)

RFC 2279

	<standard> The {RFC} defining {UTF-8}.

	{(rfc:2279)}.

	(1998-07-29)

RFC 2281

	<networking, standard> The {RFC} describing {CISCO} {Hot
	Standby Routing Protocol}.

	{(rfc:2281)}.

	(2005-01-26)

RFC 2298

	<security, standard> The {RFC} proposing a {standard}
	{One-Time Password} system.

	{(rfc:2298)}.

	(2000-03-05)

RFC 2326

	<standard> The {RFC} defining {RTSP}.

	{(rfc:2326)}.

	(1999-10-12)

RFC 2364

	The {RFC} defining {PPPoA}.

	{(rfc:2364)}.

	(2007-06-15)

RFC 2408

	<standard, security> The {RFC} proposing {ISAKMP}.

	{(rfc:2408)}.

	(2000-02-08)

RFC 2516

	<standard, security> The {RFC} defining {Point-to-Point
	Protocol over Ethernet} (PPPoE).

	{(rfc:2516)}.

	(2006-09-20)

RFC 2543

	<networking, standard> One of the {RFCs} describing {Session
	Initiation Protocol}.

	{(rfc:2543)}.

	(2000-07-08)

RFC 2795

	<networking, standard> The {RFC} describing The {Infinite
	Monkey Protocol Suite }.

	{(rfc:2795)}.

RFC 2821

	<networking, standard> The {RFC} describing {SMTP}.  RFC 2821
	supersedes {RFC 821}.

	{(rfc:2821)}.

	(2007-06-01)

RFC 3232

	<networking, standard> The {RFC} describing {TCP} {port}
	numbers.  RFC 3232 supersedes RFC 1700.

	{(rfc:3232)}.

	See also {IANA}, {STD 2}.

	(2004-12-30)

RFC 4213

	<networking, standard> The {RFC} defining mechanisms for
	transitioning to {IPv6}, such as {dual-stack} versus {tunnelling}.

	{(rfc:4213)}.

	(2013-11-12)

RFC 792

	<networking, standard> The {RFC} defining {Internet Control
	Message Protocol}.

	{(rfc:792)}.

	(1996-08-23)

RFC 821

	<messaging, standard> The original {RFC} defining {SMTP}.
	Updated by {RFC 2821}.

	{(rfc:821)}.

	(2007-06-01)

RFC 822

	<messaging, standard> The {RFC} defining the {Internet}
	standard format for {electronic mail} message headers.  Also
	{STD 11}, evolved from RFC 733.

	{(rfc:822)}.

	(1997-03-08)

RFC 826

	<networking, standard> The {RFC} defining the {Address
	Resolution Protocol}.

	{(rfc:826)}.

	(1997-11-21)

RFC 854

	<networking, standard> The {RFC} defining the {telnet}
	protocol.

	["Telnet Protocol specification", J. Postel, J.K. Reynolds,
	1983-05-01].

	{(rfc:854)}.

	(2000-03-18)

RFC 903

	<networking, standard> The {RFC} defining {Reverse Address
	Resolution Protocol}.

	{(rfc:903)}.

	(1994-12-08)

RFC 908

	<networking, standard> The July 1984 {RFC} defining {Reliable
	Data Protocol} (RDP).

	{(rfc:908)}.

	(2004-09-14)

RFC 959

	<networking, standard> The {RFC} containing the official
	specification of {File Transfer Protocol} (FTP).

	{(rfc:959)}.

	(1995-01-12)

RFCOMM

	<protocol> (RS232 Serial Cable Emulation Profile) A
	{Bluetooth} transport {protocol} in the {Core Protocol Stack}
	based on the {ETSI} standard.

	{RFCOMM Layer Tutorial
	(http://palowireless.com/infotooth/tutorial/rfcomm.asp)}.

	(2002-06-28)

RFE

	1. {Request For Enhancement} (compare {RFC}).

	2. (From "Radio Free Europe", {Bellcore} and {Sun}) Radio Free
	Ethernet.

	A system originated by Peter Langston for broadcasting audio
	among Sun {SPARCstations} over the {Ethernet}.

	[{Jargon File}]

	(1994-12-06)

RFI

	{radio frequency interference}

RFID

	{Radio-frequency identification}

RFP

	1. <business> {Request for Proposal}.

	2. <Debian> {Request for Package}.

	(2001-01-15)

RFT

	{Request For Technology}

RG58

	<networking, hardware> A common, low-impedance (52 ohm),
	quarter-inch diameter {coaxial cable} with {BNC} connectors,
	used for {10base2} {Ethernet} wiring, sometimes called
	"{cheapernet}" in comparison with "full spec" {RG8} cabling.
	A member of the "Radio Guide" series.

	(2002-06-17)

RG8

	<networking, hardware> The original "full spec" cable used for
	{10base5} {Ethernet} networks.  RG8 is stiff, large diameter
	{coaxial} cable with an {impedance} of 50 ohms, a member of the
	"Radio Guide" series.  The outer sheath is usually yellow, to
	indicate double shielding, so it is often just called "yellow
	cable".

	10base5 cable is designed to allow transceivers to be added
	while existing connections are live.  This is achieved using a
	"{vampire tap}".

	RG8 is sometimes called "thicknet" or "thick Ethernet" in contrast
	to {RG58}, a cheaper, thinner, more flexible alternative.

	(2014-09-06)

RGB

	Red, Green, Blue.  The three colours of light which can be
	mixed to produce any other colour.  Coloured images are often
	stored as a sequence of RGB triplets or as separate red, green
	and blue overlays though this is not the only possible
	representation (see {CMYK} and {HSV}).  These colours
	correspond to the three "guns" in a colour {cathode ray tube}
	and to the colour receptors in the human eye.

	Often used as a synonym for colour, as in "RGB monitor" as
	opposed to {monochrome} (black and white).

Rhapsody

	<operating system> {Apple Computer, Inc.}'s next-generation
	{operating system} for {PowerPC} processor-based systems
	capable of running {Mac OS}.  Rhapsody includes four
	components: the Core OS, the {Blue Box} (the implementation of
	the Mac OS within Rhapsody), the {Yellow Box}, and the Advanced
	Mac Look and Feel.

	"Rhapsody for Intel" runs on {Intel} processors [which ones?].
	It includes the Core OS, the {Yellow Box}, and the Advanced
	Mac Look and Feel, but lacks the {Blue Box} and therefore is
	unable to run Mac OS software.

	"Rhapsody Developer Release" is a developer-only release of
	{Rhapsody}, scheduled for release in late 1997.  It will go to
	all members of the Macintosh Developer Program and the Apple
	Media Program worldwide who have signed nondisclosure
	agreements.

	"Rhapsody Premier Release" will be the second release of
	{Rhapsody}, scheduled for early 1998.  It is meant for early
	adopters and will include a partially finished human interface
	and a partial implementation of the {Blue Box}.

	"Rhapsody Unified Release" will be the third release,
	scheduled for mid-1998.  It will be the first public release,
	and it will include the first full implementation of the
	{Rhapsody} human interface and the {Blue Box}.

	{FAQ (http://devworld.euro.apple.com/rhapsody/faqsec1.html)}.

	(1997-10-15)

ribbon cable

	<hardware> A type of flat multicore cable with cores
	positioned side-by-side, making it quick and relatively easy
	to clamp an {Insulation Displacement Connector} (IDC) across
	all cores.

	Ribbon cables typically have grey insulation with cores on a
	0.050" pitch and a red stripe marking Pin 1.  They are less
	resilient than screened, multicore cable and are usually used
	inside equipment where little movement or plugging and
	unplugging are expected.  A common use is connecting a {disk
	drive} to the {motherboard} in a {PC}.

	(2007-07-21)

rib site

	<networking> (By analogy with {backbone site}) A {host} with
	an on-demand high-speed link to a {backbone site} that serves
	as a regional distribution point for lots of third-party
	traffic in {electronic mail} and {Usenet} news.

	Compare {leaf site}.

	[{Jargon File}]

	(1994-11-30)

rice box

	<jargon> (From ham radio slang) Any Asian-made commodity
	computer, especially an {80x86}-based machine built to {IBM
	PC}-compatible {ISA} or {EISA}-bus standards.

	[{Jargon File}]

	(1994-11-30)

Richard Gabriel

	<person> (Dick, RPG) Dr. Richard P. Gabriel.  A noted {SAIL}
	{LISP} {hacker} and volleyball fanatic.

	Consulting Professor of Computer Science at {Stanford
	University}.  Richard Gabriel is a leader in the {Lisp} and
	{OOP} community, with years of contributions to
	{standardisation}.  He founded the successful company, {Lucid
	Technologies, Inc.}.

	In 1996 he was Distinguished Computer Scientist at
	ParcPlace-Digitalk, Inc. (later renamed {ObjectShare, Inc.}).

	See also {gabriel}, {Qlambda}, {QLISP}, {saga}.

	(1999-10-12)

Richard Hamming

	<person> Professor Richard Wesley Hamming (1915-02-11 -
	1998-01-07).  An American mathematician known for his work in
	{information theory} (notably {error detection and
	correction}), having invented the concepts of {Hamming code},
	{Hamming distance}, and {Hamming window}.

	Richard Hamming received his B.S. from the University of
	Chicago in 1937, his M.A. from the University of Nebraska in
	1939, and his Ph.D. in mathematics from the University of
	Illinois at Urbana-Champaign in 1942.  In 1945 Hamming joined
	the Manhattan Project at Los Alamos.

	In 1946, after World War II, Hamming joined the {Bell
	Telephone Laboratories} where he worked with both {Shannon}
	and {John Tukey}.  He worked there until 1976 when he accepted
	a chair of computer science at the Naval Postgraduate School
	at Monterey, California.

	Hamming's fundamental paper on error-detecting and
	error-correcting codes ("{Hamming codes}") appeared in 1950.

	His work on the {IBM 650} leading to the development in 1956
	of the {L2} programming language.  This never displaced the
	workhorse language {L1} devised by Michael V Wolontis.  By
	1958 the 650 had been elbowed aside by the 704.

	Although best known for error-correcting codes, Hamming was
	primarily a numerical analyst, working on integrating
	{differential equations} and the {Hamming spectral window}
	used for smoothing data before {Fourier analysis}.  He wrote
	textbooks, propounded aphorisms ("the purpose of computing is
	insight, not numbers"), and was a founder of the {ACM} and a
	proponent of {open-shop} computing ("better to solve the right
	problem the wrong way than the wrong problem the right way.").

	In 1968 he was made a fellow of the {Institute of Electrical
	and Electronics Engineers} and awarded the {Turing Prize} from
	the {Association for Computing Machinery}.  The Institute of
	Electrical and Electronics Engineers awarded Hamming the
	Emanuel R Piore Award in 1979 and a medal in 1988.

	{(http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Hamming.html)}.

	{(http://zapata.seas.smu.edu/~gorsak/hamming.html)}.

	{(http://webtechniques.com/archives/1998/03/homepage/)}.

	[Richard Hamming.  Coding and Information Theory.
	Prentice-Hall, 1980.  ISBN 0-13-139139-9].

	(2003-06-07)

Richard Korf

	<person> A Professor of computer science at the University of
	California, Los Angeles.  Richard Korf received his B.S. from
	{MIT} in 1977, and his M.S. and Ph.D. in computer science from
	Carnegie-Mellon University in 1980 and 1983.  From 1983 to
	1985 he served as Herbert M. Singer Assistant Professor of
	Computer Science at Columbia University.

	Dr. Korf studies problem-solving, {heuristic search} and
	{planning} in {artificial intelligence}.  He wrote "Learning
	to Solve Problems by Searching for Macro-Operators" (Pitman,
	1985).  He serves on the editorial boards of Artificial
	Intelligence, and the Journal of Applied Intelligence.
	Dr. Korf is the recipient of several awards and is a Fellow of
	the {American Association for Artificial Intelligence}.

	{Richard Korf home page (http://www.cs.ucla.edu/~korf/)}.

	(2007-05-01)

Richard P. Feynman

	<person, computing, architecture> /fayn'mn/ 1918-1988.  A US
	physicist, computer scientist and author who graduated from
	{Massachusetts Institute of Technology} and {Princeton}.
	Feynmane was a key figure in helping Oppenheimer and team
	develop atomic bomb.  In 1950 he became a professor at
	{Caltech} and in 1965 became Nobel Prize Laureate in Physics
	for QED (quantum electrodynamics).  He was a primary figure in
	"solving" the Challenger disaster O-ring problem.  He
	"rediscovered" the former Soviet Socialist Republic of Tuva.
	The 2001 film "Infinity" about Feynman's early life featured
	Matthew Broderick and Patricia Arquette.  In 2001, "QED", a
	play about Feynman's life featuring Alan Alda opened.

	{(http://www.feynman.com/)}.

	(2008-01-14)

Richard P. Gabriel

	{Richard Gabriel}

Richard Stallman

	<person> Richard M. Stallman.  Founder of the {GNU} project.
	He resigned from the {AI lab} at {MIT} so he would be free to
	produce {free software} which he could then distribute on his
	own terms.  He went on to establish the {Free Software
	Foundation} to support the production of free software and
	ensure its free distribution.

	E-mail: <rms@gnu.ai.mit.edu>.

	(1994-10-28)

rich object

	In {artificial intelligence}, an object which cannot be
	completely described or represented but about which assertions
	can be made.

	(1994-12-14)

Rich Site Summary

	<web, standard> (RSS, blog, feed) A family of
	{standard} {web} document types containing regularly
	updated, short articles or news items.

	RSS documents (generally called "RSS feeds", "news feeds" or just
	"feeds") can be read with an RSS reader like {BottomFeeder} or
	{Feedly}.  These are sometimes called "{aggregators}" because they
	combine multiple RSS feeds which the user can browse as a single
	list.  The RSS reader tracks which articles the use has read, and
	is typically set to show only new articles, hence the idea of a
	"feed" or flow of new items.

	Most RSS feeds are based on {RDF}.  {RDF} is a structured document
	format for describing textual resources such as news articles
	available on the web.  RSS originally stood for "RDF Site Summary"
	as it was designed to provide short descriptions of (changes to) a
	{website}.

	Because it provides a standard way to deliver, or "syndicate",
	news or updates from one site to another, RSS is sometimes
	expanded as "Really Simple Syndication".  It is closely associated
	with {blogs}, most of which provide an RSS feed of articles.

	(2013-08-15)

Rich Text Format

	(RTF) An interchange format from {Microsoft} for exchange of
	documents between {Word} and other document preparation
	systems.

	(1994-12-08)

RIFF

	<file format> {Microsoft}'s equivalent to the {Amiga}'s {IFF}
	files format.  RIFF is used for {WAV} and {AVI} files.

	(1995-04-21)

RIGAL

	A language for compiler writing.  Data strucures are atoms,
	lists/trees.  Control is based on {pattern matching}.

	["Programming Language RIGAL as a Compiler Writing Tool",
	M.I. Augustson, Inst of Math and CS of Latvia U, 1987].

	(1994-10-28)

Rigel

	A {database} language?  Based on {Pascal}.  Listed by
	M.P. Atkinson & J.W. Schmidt in a tutorial presented in
	Zurich, 1989.

	(1994-10-28)

right brace

	<character> "}".  {ASCII} character 125.

	Common names: close brace; right brace; right squiggly; right
	squiggly bracket/brace; right curly bracket/brace; {ITU-T}:
	closing brace.  Rare: unbrace; uncurly; rytit ("{" = leftit);
	right squirrelly; {INTERCAL}: bracelet ("{" = embrace).

	Paired with {left brace}

	(1995-03-30)

right bracket

	<character> "]".  {ASCII} character 93.

	Common names: right square bracket; {ITU-T}: closing bracket;
	unbracket.  Rare: unsquare; {INTERCAL}: U turn back.

	Paired with {left bracket}.

	(1997-11-23)

right-click

	<hardware> To {click} the right-most {mouse} button on a mouse
	with more than one button.  This usually performs a different
	function from the left button, e.g. displaying a
	{context-sensitive menu} ({Microsoft Windows}), extending the
	{selection} ({X}).

	When used as a verb it is often written as two words with a
	space instead of a hyphen.

	(2006-07-09)

right join

	{outer join}

right outer join

	{outer join}

right parenthesis

	<character> ")".  {ASCII} character 41.

	Common names: right paren; right parenthesis; right; close;
	thesis ("(" = paren); close paren; close parenthesis; right
	parenthesis; right banana.  Rare: already ("(" = so); rparen;
	{ITU-T}: closing parenthesis; close round bracket, right round
	bracket, {INTERCAL}: wane ("(" = wax); unparenthisey ("(" =
	parenthisey); right ear.

	Paired with {left parenthesis}.

	(1995-03-06)

Right Thing

	That which is *compellingly* the correct or appropriate thing
	to use, do, say, etc.  Always capitalised, always emphasised
	in speech as though capitalised.  Use of this term often
	implies that in fact reasonable people may disagree.  "What's
	the Right Thing for {Lisp} to do when it sees "(mod a 0)"?
	Should it return "a", or give a divide-by-0 error?"

	Opposite: {Wrong Thing}.

	[{Jargon File}]

	(1994-10-28)

Rijndael

	{Advanced Encryption Standard}

ring network

	<networking, topology> A network topology in which all {nodes}
	are connected to a single wire in a ring or {point-to-point}.
	There are no endpoints.  This topology is used by {token ring}
	networks.

	Compare: {bus network}, {star network}.

	(2000-11-16)

ring topology

	{ring network}

Riordan's Internet Privacy Enhanced Mail

	<messaging> (RIPEM) A (not yet complete, but useful)
	implementation of {Privacy Enhanced Mail} (PEM).  RIPEM allows
	your {electronic mail} to have the four security facilities
	provided by PEM: {disclosure protection} (optional),
	originator authenticity, message {integrity} measures and
	{non-repudiation} of origin (always).

	RIPEM was written primarily by Mark Riordan
	<mrr@scss3.cl.msu.edu>.  Most of the code is in the {public
	domain}, except for the {RSA} routines, which are a library
	called RSAREF licensed from {RSA Data Security, Inc}.

	The current (November 1993) version of RIPEM is 1.1a; the
	current version of the {Macintosh} {port} of RIPEM is 0.8b1.

	(1998-07-03)

RIP

	1. <networking> {Routing Information Protocol}.

	2. <application, printer> {Raster Image Processor}.

	(2003-09-10)

rip

	<audio, video, legal> (From "rip off" - to steal) To copy
	audio or video, typically from a {compact disc} or {DVD}, to a
	{file} on a {computer} {hard disk}.  A dedicated program to do
	this is called a "ripper" though it is often a function of
	player software.

	Ripping usually includes converting the data to a format that
	is more suitable for computer playback, e.g. {MP3} {digital
	audio} or {DivX} video.  The process is entirely digital so it
	is possible to make a perfect copy of the data.  However the
	resulting files are large (a few {megabytes} for an audio
	track, a few {gigabytes} for a film) so the conversion often
	includes {compression} to reduce the file size at the cost of
	some loss of quality.

	While it may be legal to do this for personal use,
	distributing a ripped copyright work to others could result in
	prosecution.

	See also {ripcording}.

	(2008-01-21)

ripcording

	<audio> (From "{ripping}" and "recording") Encoding
	{streaming} {digital audio} from the {Internet} to an {MP3}
	file or similar.  Ripcording is commononly used to copy
	commercial music from a free stream instead of paying to
	download.

	(2006-01-27)

RIPE

	{Réseaux IP Européens}

RIPEM

	{Riordan's Internet Privacy Enhanced Mail}

ripper

	{rip}

RISC

	{Reduced Instruction Set Computer}

RISCiX

	<operating system> /risk-icks/ (Or "RISC iX") {BSD}-based
	{Unix} developed by {Acorn Computers Ltd.} (Cambridge, UK) to
	run on 32-bit {ARM} {RISC} processors.

	RISCiX was launched circa 1989 for three production machines -
	the R140, R260, the discless R225; and other prototypes.

	(2003-09-24)

RISC OS

	<operating system> (Reduced Instruction Set Computer Operating
	System) The {operating system} originally developed by {Acorn
	Computers} for their {Archimedes} family of {personal
	computers}.

	RISC OS replaced the {Arthur} operating system used on the
	first Archimedeses.

	It is written in {ARM} {assembly code} and distributed on
	{ROM} so it takes up no disk space and takes no time to load.
	It supports {cooperative multitasking} with memory management
	and includes a {graphical user interface} or "WIMP".  It is
	written in a highly modular style and makes extensive use of
	{vectors} so it is easy to modify and extend by loading new
	modules in {RAM}.  Many {system calls} (called "SWIs" -
	software interrupts) are available to application programmers
	and some of these are available as user comands via a built-in
	{command-line interpreter}.  RISC OS also supported {outline
	fonts} when only {bitmap fonts} were available on most other
	{platforms}.

	Following the virtual demise of Acorn, development of RISC OS
	4 was taken over by {RISCOS Ltd} on 1999-03-05 and released on
	1999-07-01.

	Latest version: 4.39, as of 2004-09-21.

	(2004-09-21)

RiscPC

	<computer> The final addition to {Acorn}'s {Archimedes} family
	of {personal computers}, released in April 1994.  The RiscPC
	allowed a second processor, e.g. an {Intel 486} or a second
	{ARM}, to share the {bus}, memory and {peripherals} with the
	main processor.  It also had full 24-bit colour graphics
	support.

	The Risc PC 600 (the first to be launched) had the new
	{ARM600} processor and {RISC OS} 3.5.  The RiscPC 700 had an
	{ARM710} processor and RISC OS 3.6, and the SA had the
	{StrongARM} processor and RISC OS 3.7.

	{Castle Technology Ltd} later introduced the {IYONIX pc} with
	the 32-bit {X-Scale} processor and {USB} sockets.  USB and
	StrongArm can also be retrofitted to earlier RiscPCs.

	RiscPCs are among the most energy efficient home computers.

	{Acorn Computer Museum
	(http://pages.zoom.co.uk/acorn.computer/riscpc.html)}.

	(2004-09-21)

RISC System/6000

	<computer> (Or "RS/6000") {IBM}'s current {RISC}-based {Unix}
	computer.  The RS/6000, announced in 1990, replaced the
	{RT-PC}.  It runs {AIX} 3.x and 4.x.  Most models have an
	{MCA} bus.  A wide range of models are available.

	(1995-04-06)

Risk Based Testing

	<testing> Testing based on identification of potential risks
	(or "candidate risks"), which should be analysed by the
	project stakeholder or which might appear during the project's
	development.

	(2006-09-07)

RISQL

	{Red Brick Intelligent SQL}

RITL

	{Wireless Local Loop}

RJ-11

	<hardware, communications> An American-style telephone jack
	with six possible connections.  A telephone normally uses two
	pairs of wires.  Often found on the back of US-manufactured
	{modems} or for connection to a {leased line}.

	(1998-06-30)

RJ-45

	<hardware> A {serial} connector which looks very much like a
	standard telephone connector, except it houses eight wires
	instead of four.

	RJ-45s are typically found on {computers} either integrated
	into the {mother board} or on a {NIC}.  Because they are so
	small they are often used on devices such as {terminal
	servers} that have many {ports}.

	{Ethernet} ({10baseT}) and {Token Ring} sometimes use four
	wires of an RJ-45 plug, {100baseVG} uses all eight.
	{100BaseTX} uses the same four wires of the RJ-45 connector as
	10baseT but the wire must be {category 5} instead of {category
	3}.

	[Would the cable normally be {shielded twisted pair} or
	{unshielded twisted pair}?]

	(2004-05-22)

RJE

	{Remote Job Entry}

RKM

	{Rom Kernel Manual}

RL

	(MUD community) Real Life.

	"Firiss laughs in RL" means that Firiss's player is laughing.

	Opposite: {VR}.

	[{Jargon File}]

	(1995-05-09)

rl

	Kent Wittenburg <kentw@bellcore.com>.

	The RL files contain code for defining {relational grammars}
	and using them in a bottom-up parser to recognise and/or parse
	expressions in Relational Languages.

	The approach is a simplification of that described in
	Wittenburg, Weitzman, and Talley (1991), Unification-Based
	Grammars and Tabular Parsing for Graphical Languages, Journal
	of Visual Languages and Computing 2:347-370.  This code is
	designed to support the definition and parsing of Relational
	Languages, which are characterised as sets of objects standing
	in user-defined relations.

	Correctness and completeness is independent of the order in
	which the input is given to the parser.  Data to be parsed can
	be in many forms as long as an interface is supported for
	queries and predicates for the relations used in grammar
	productions.

	To date, this software has been used to parse recursive
	pen-based input such as math expressions and {flow charts}; to
	check for {data integrity} and design conformance in
	databases; to automatically generate constraints in
	drag-and-drop style graphical interfaces; and to generate
	graphical displays by parsing relational data and generating
	output code.

	requires:	Common Lisp

	ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0

	{(ftp://flash.bellcore.com/rl/)}.

	(1992-10-31)

RLaB

	A {MATLAB}-like matrix-oriented programming language/toolbox.
	RLaB focusses on creating a good experimental environment (or
	laboratory) in which to do matrix mathematics.  Currently RLaB
	has numeric scalars and matrices (real and complex), and
	string scalars, and matrices.  RLaB also contains a list
	variable type, which is a heterogeneous associative array.

	Version 0.95 includes an interpreter, libraries and
	documentation.  E-mail: Ian Searle <ians@eskimo.com>.
	{(ftp://evans.ee.adfa.oz.au)}.  Requires {GNUPLOT},
	lib[IF]77.a (from f2c).  Ported to many {platforms} including
	{Unix}, {OS/2},	{Amiga}.

	(1993-10-27)

RLDRAM

	<storage> (Reduced Latency DRAM) A kind of {dynamic random
	access memory}.  RLDRAM comes in "common IO" and "separate IO"
	configurations.  It supports {broadside addressing}.  It is
	typically used in networking gear and set-top boxes that
	require high {bandwidth} memory.

	[What is the latency, and how does it compare to ordinary DRAM?]

	(2007-03-20)

RLE

	{run-length encoding}

RLF

	{Reuse Library Framework} of the {DoD}.

RLL

	1. <language> {Representation Language Language}.

	2. <storage> {Run Length Limited}.

	(2003-07-24)

rlogin

	<networking, tool> (Remote login) The {4.2BSD} {Unix} utility
	to allow a user to log in on another {host} via a network.
	Rlogin communicates with a {daemon} on the remote host.

	{Unix manual page}: rlogin(1).

	See also {telnet}.

	(1997-01-12)

RMAG

	{Recursive Macro Actuated Generator}

RMAIL

	<messaging> A {MUA} written in {Emacs Lisp} to run within
	{Emacs}.

	(1996-03-21)

RMI

	{Remote Method Invocation}

RM-ODP

	<programming> The {ISO Reference Model} for {Open
	Distributed Environments}.

	{(http://pepper.open.ac.uk/~armsarms/sa.html)}.

	(1995-11-23)

RMON

	1. <networking> {remote monitoring}.

	2. {Remote Monitor}.

	(2003-09-15)

RMS

	1. {Record Management Services}.

	2. {Richard Stallman}.

RNF

	{root normal form}

ro

	<networking> The {country code} for Romania.

	(1999-01-27)

roach

	<jargon> A {Bell Labs} term meaning destroy, especially of a
	data structure.  Hardware gets {toast}ed or {fried}, software
	gets roached.

	[Why?]

	[{Jargon File}]

	(1999-02-08)

ROADS

	Subsystem of ICES.  Sammet 1969, p.616.

Robert T. Morris

	The creator of the "{Internet Worm}" that wreaked havoc on
	many {Internet} systems for a day or two.

	Morris, the son of an NSA spook, did some jail time for
	releasing the worm.

	(1995-01-12)

ROBEX

	ROBot EXapt.  Aachen Tech College.  Based on EXAPT.  Version:
	ROBEX-M for micros.

RoboHELP

	<tool> A {Microsoft} {Windows} Help authoring tool from {Blue
	Sky Software}.  Used with {Microsoft Word} to create Help
	files for inclusion in a Windows application or for stand
	alone use.

	(1997-01-19)

robot

	1. <robotics> A mechanical device for performing a task which
	might otherwise be done by a human, e.g. spraying paint on
	cars.

	See also {cybernetics}.

	2. <chat> An {IRC} or {MUD} user who is actually a program.
	On IRC, typically the robot provides some useful service.
	Examples are {NickServ}, which tries to prevent random users
	from adopting {nicks} already claimed by others, and MsgServ,
	which allows one to send {asynchronous} messages to be
	delivered when the recipient signs on.  Also common are
	"annoybots", such as KissServ, which perform no useful
	function except to send cute messages to other people.
	Service robots are less common on {MUDs}; but some others,
	such as the "Julia" robot active in 1990--91, have been
	remarkably impressive {Turing test} experiments, able to pass
	as human for as long as ten or fifteen minutes of
	conversation.

	3. <web> {spider}.

	[{Jargon File}]

	(1996-03-23)

robot exclusion standard

	{standard for robot exclusion}

robots.txt

	{standard for robot exclusion}

robust

	Said of a system that has demonstrated an ability to recover
	gracefully from the whole range of exceptional inputs and
	situations in a given environment.  One step below
	{bulletproof}.  Carries the additional connotation of elegance
	in addition to just careful attention to detail.  Compare
	{smart}, opposite: {brittle}.

	[{Jargon File}]

Rockwell Protocol Interface

	(RPI) A cost-cutting feature of some {modems} allowing data
	{compression} and {error correction} (e.g. {ITU-T} {V.42bis},
	{V.42}) to be provided in software instead of hardware.

	Usually an RPI modem comes with RPI-aware software (e.g. the
	low-end RPI models of Supra come with the {COMit} which
	supports RPI, providing {MNP} 2,4,5,7, V.42 and V.42bis).  RPI
	is not supported by many commercial packages nor by current
	releases of popular {shareware} communication programs
	({Telix} v3.22 and {Telemate} v4.12).  {ProComm Plus} for
	{Windows 2.0} will support RPI.

	Currently {Rockwell} produce two classes of RPI chip set.  The
	original is capable of 2400 bit/s data, 9600 bit/s class
	1-only fax.  The newer one is capable of 14400 bit/s data/fax.
	Currently there are no RPI chipset from Rockwell supporting
	speeds higher than 14400 bit/s.

	(1994-07-01)

Rocky Mountain Basic

	<language> The {BASIC} language used by {Hewlett Packard} on
	their {680x0}-based computers.  Rocky Mountain Basic is good
	for interfaces to {IEEE 488} controls and contains many
	mathematical and matrix functions.  It has about 600 commands.
	Typical applications include automatic test stations.

	(1996-04-28)

rococo

	<jargon, abuse> {Baroque} in the extreme.  Used to imply that
	a program has become so encrusted with the software equivalent
	of gold leaf and curlicues that they have completely swamped
	the underlying design.  Called after the later and more
	extreme forms of Baroque architecture and decoration prevalent
	during the mid-1700s in Europe.  Alan Perlis said: "Every
	program eventually becomes rococo, and then rubble."

	Compare {critical mass}.

	[{Jargon File}]

	(1996-04-06)

ROCOF

	{Rate of Occurrence of Failures}

roff

	<text, tool> A text formatting language associated with
	{Unix}.  See {groff}, {nroff}, {troff}.

	[Was roff the original?  Platform(s)?]

	(1998-11-14)

ROFL

	{ROTFL}

ROFLMAO

	{ROTFLMAO}

rogue

	<games> [Unix] A Dungeons-and-Dragons-like game using
	character graphics, written under BSD Unix and subsequently
	ported to other Unix systems.  The original BSD "curses(3)"
	screen-handling package was hacked together by Ken Arnold to
	support "rogue(6)" and has since become one of Unix's most
	important and heavily used application libraries.  Nethack,
	Omega, Larn, and an entire subgenre of computer dungeon games
	all took off from the inspiration provided by "rogue(6)".  See
	also {nethack}.

	[{Jargon File}]

rollback

	<database> Reverting data in a {database} to an earlier state,
	usually in response to an error or aborted operation.

	In a {transaction} based database system, transactions are
	considered {atomic}.  If an error occurs while performing a
	transaction, the database is automatically rolled back
	to the state at the previous {commit}.

	Rollback may also be performed by an explicit rollback
	transaction.

	(2000-01-15)

ROM

	{Read-Only Memory}

ROM BIOS

	{Basic Input/Output System}

ROME

	An experimental {object-oriented} language.

	["The Point of View Notion for {Multiple Inheritance}",
	B. Carre et al, SIGPLAN Notices 25(10):312-321 (OOPSLA/ECOOP
	'90) (Oct 1990)].

	(1994-11-30)

Rom Kernel Manual

	<publication> (RKM) A series of books or files for developers
	for the {Amiga} computer, containing information about the
	{operating system} {kernel} stored in {ROM}.

	(1996-04-06)

room

	{channel}

ROOM Methodology

	{Real-Time Object-Oriented Modeling}

room-temperature IQ

	<abuse> (IBM) 80 or below.  Used in describing the expected
	intelligence range of the {luser}.  "Well, but how's this
	interface going to play with the room-temperature IQ crowd?"
	This is a much more insulting phrase in countries that use
	Celsius thermometers.

	See {drool-proof paper}.

	[{Jargon File}]

	(1996-04-06)

root

	1. <operating system> The {Unix} {superuser} account (with
	user name "root" and user ID 0) that overrides file
	permissions.  The term {avatar} is also used.  By extension,
	the privileged system-maintenance login on any {operating
	system}.

	See {root mode}, {go root}, {wheel}.

	[{Jargon File}]

	(1994-10-27)

	2. <operating system> {root directory}.

	(1996-11-21)

	3. <data> {root node}.

	(1998-11-14)

root bridge

	<communications, hardware, networking> A {bridge} which
	continuously transmits {network} {topology} information to
	other bridges, using the {spanning tree protocol}, in order to
	notify all other bridges on the network when topology changes
	are required.

	This means that a network is able to reconfigure itself
	whenever a network link (e.g. another bridge) fails, so an
	alternative path can be found.  The presence of a root
	bridge also prevents {loops} from forming in the network.

	The root bridge is where the paths that {frames} take through
	the network they are assigned.  It should be located centrally
	on the network to provide the shortest path to other links on
	the network.  Unlike other bridges, the root bridge always
	forwards frames out over all of its {ports}.

	Every network should only have one root bridge.  It should
	have the lowest bridge ID number.

	(2000-11-26)

root directory

	<file system> The topmost node of a {hierarchical file
	system}.

	(1996-11-21)

root mode

	Synonym with {wizard mode} or "wheel mode".  Like these, it is
	often generalised to describe privileged states in systems
	other than {operating systems}.

	[{Jargon File}]

root node

	<mathematics, data> In a {tree}, a node with no {parents}, but
	which typically has {daughters}.

	(1998-11-14)

Root Normal Form

	(RNF) {Head Normal Form} in {graph rewriting}.

root version

	The initial value of an object in a {change management}
	system.

ROSE

	{Remote Operations Service Element}

Rosette

	<language> A {concurrent} {object-oriented language} from
	{MCC}.

	[Details?]

	(1997-11-26)

Roskind grammars

	<tool> {Yacc}-based {parsers} for {C} and {C++} by Jim
	Roskind.  It does not use the %prec and %assoc YACC features
	so conflicts are never hidden.  The C {grammar} has only one
	{shift-reduce conflict}, the C++ grammar has a few more.  With
	{byacc} it can produce graphical {parse trees} automatically.
	The C grammar conforms to {ANSI C} and the C++ grammar
	supports {cfront} 2.0 constructs.

	Latest version: cpp5 (cf2.0).

	{(ftp://ftp.infoseek.com/pub/c++grammar/)}.

	(2003-10-09)

rot13

	/rot ther'teen/ [{Usenet}: from "rotate alphabet 13 places"],
	v. The simple Caesar-cypher encryption that replaces each
	English letter with the one 13 places forward or back along
	the alphabet, so that "The butler did it!" becomes "Gur ohgyre
	qvq vg!"  Most {Usenet} news reading and posting programs
	include a rot13 feature.  It is used to enclose the text in a
	sealed wrapper that the reader must choose to open - e.g. for
	posting things that might offend some readers, or {spoilers}.
	A major advantage of rot13 over rot(N) for other N is that it
	is self-inverse, so the same code can be used for encoding and
	decoding.

	[{Jargon File}]

rotary debugger

	(Commodore) Essential equipment for those late-night or
	early-morning debugging sessions.  Mainly used as sustenance
	for the hacker.  Comes in many decorator colours, such as
	Sausage, Pepperoni, and Garbage.

	(1995-01-11)

rotational latency

	<storage, hardware> The time for the start of the required
	{sector} on a {disk} to appear underneath the {read/write
	head}.  The worst case is where it has just passed the head
	when the request is received.  For a {disk drive} with N heads
	per surface, rotating at R revolutions per minute, the average
	rotational latency will be

		L = 30/NR seconds.

	Rotational latency is one component of {access time}.

	(2009-11-06)

rotations per minute

	{revolutions per minute}

ROTFL

	<chat> (Or "ROFL") Rolling on the floor laughing (or rolls...).

	Used in {chat}, {MUD}, {news}.

	See also {ROTFLMAO}, {ROTFLOL}.

	(1996-02-22)

ROTFLMAO

	<chat> Rolling on the floor laughing my ass (arse) off.  An
	extreme form of {ROTFL}.

	(2000-11-12)

ROTFLMAOASTC

	<chat> Rolling on the floor laughing my ass (or arse) off and scaring
	the cat.  The superlative form of {ROTFL}.

	(2004-04-06)

ROTFLOL

	<chat> Rolling on the floor laughing out loud.  See {ROTFL}.

	(1997-03-06)

round-robin

	<algorithm> A {scheduling} {algorithm} in which processes are
	activated in a fixed cyclic order.  Those which cannot proceed
	because they are waiting for some event (e.g. termination of a
	{child process} or an input/output operation) simply return
	control to the scheduler.  The virtue of round-robin
	scheduling is its simplicity - only the processes themselves
	need to know what they are waiting for or how to tell if it
	has happened.  However, if a process goes back to sleep just
	before the event for which it is waiting occurs then the event
	will not get handled until all the other processes have been
	activated.

	Compare {priority scheduling}.

	(1996-02-10)

round tape

	<storage, jargon> Industry-standard 1/2-inch {magnetic tape}
	(7- or 9-track) on traditional circular reels.

	See {macrotape}, opposite: {square tape}.

	[{Jargon File}]

	(1996-02-03)

round-trip time

	(RTT) A measure of the current delay on a network, found by
	timing a packet bounced off some remote host.  This can be
	done with {ping} -s.

	(1994-11-30)

route

	<networking> /root/ The sequence of {hosts}, {routers},
	{bridges}, {gateways}, and other devices that network traffic
	takes, or could take, from its source to its destination.  As
	a verb, to determine the link down which to send a {packet},
	that will minimise its total journey time according to some
	{routeing algorithm}.

	You can find the route from your computer to another using the
	program {traceroute} on {Unix} or tracert on {Microsoft
	Windows}.

	(2001-05-26)

routed

	<networking> /root dee/ Route Daemon.  A program which runs
	under {4.2BSD} {Unix} systems and derivatives to propagate
	routes among machines on a {local area network}, using the
	{Routing Information Protocol}.  See also {gated}.

	(2002-07-31)

route flapping

	{flapping router}

routeing

	<networking> (US "routing") /roo'ting/ The process, performed
	by a {router}, of selecting the correct interface and next
	{hop} for a {packet} being forwarded.

	This is the British and international standard spelling.

	See also {Exterior Gateway Protocol}, {Interior Gateway
	Protocol}.

	(2001-05-28)

routeing domain

	<networking> (US "routing") A set of {routers} that exchange
	routeing information within an {administrative domain}.

	(1994-12-14)

router

	<networking> /roo't*/ A device which forwards {packets}
	between {networks}.  The forwarding decision is based on
	{network layer} information and routing tables, often
	constructed by routing {protocols}.

	{Unix manual page}: route(8).

	See also {bridge}, {gateway}, {Exterior Gateway Protocol},
	{Interior Gateway Protocol}, {flapping router}.

	(1999-08-24)

routine

	{subroutine}

routing

	<tool> /row'ting/ Using a kind of rotating cutting tool called
	a router, pronounced /row't*/.  In the USA a {router},
	pronounced /row't*/, is also a network device that performs
	"routing".  In the UK, the network device is pronounced
	/roo't*/ and what it does is spelled "{routeing}".

	(2002-07-31)

Routing Information Protocol

	1. <networking> (RIP) A {distance vector}, as opposed to {link
	state}, {routing} {protocol}.  RIP is an {Internet} {standard}
	{Interior Gateway Protocol} defined in {STD} 34, {RFC 1058}
	and updated by {RFC 1388}.

	See also {Open Shortest Path First}.

	2. <networking> (RIP) A companion {protocol} to {IPX} for
	exchange of {routing} information in a {Novell} {network}.
	RIP has been partly superseded by {NLSP}.  It is not related
	to the {Internet} protocol of the same name.

	(1997-03-04)

routing policy

	<networking> Rules implemented on a {router} or other network
	device to select routes from peers, customers, and upstream
	providers; select and modify routes you send to peers,
	customers and upstream providers and identify routes within
	your own {Autonomous System}.

	{(http://www.nanog.org/mtg-0202/ppt/golding/sld005.htm)}.

	(2008-12-12)

Routing Table Maintenance Protocol

	<protocol> (RTMP) A {protocol} used by {AppleTalk} to ensure
	that all {routers} on the network have consistent routing
	information.

	(1997-05-11)

row

	{record}

Row Address Strobe

	<storage> (RAS) An input to a {dynamic random-access memory}
	(DRAM) to indicate that the row address lines are valid.

	(2004-02-15)

row-level locking

	<database> A technique used in {database management systems},
	where a {row} is locked for writing to prevent other users
	from accessing data being while it is being updated.

	Other techniques are {table locking} and {MVCC}.

	(1999-06-18)

Royal Veterinary and Agricultural University

	Address: Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark.

	(1994-12-12)

RPC

	{Remote Procedure Call}

RPG

	1. <games> {Role-Playing Game}.

	2. <tool> {Report Program Generator}.

	3. <person> {Richard Gabriel}.

	(1999-10-12)

RPG-II

	{Report Program Generator}

RPI

	{Rockwell Protocol Interface}

RPL

	Reverse Polish LISP.  Language used by HP-28 and HP-48
	calculators.

RPL-1

	Data reduction language.  Proc SJCC 30:571-575, AFIPS (Spring
	1967).

RPM

	<operating system, tool> A {Unix} {package}-management system
	that helps installation of software packages; similar to an
	install program.

	[More details?  Reference?  Expansion?]

	(1996-03-07)

rpm

	{rotation per minute}

RPN

	{postfix notation}

Répondez s'il vous plait

	<chat> (RSVP) French for "please reply", commonly found
	(abbreviated) on invitations.

	(1996-12-02)

RPT

	Unify.  Report Writer Language.

RRL

	{Remote Reference Layer}

RRS

	An early definition of {Scheme}.  Revised in {R2RS}.

	["The Revised Report on Scheme", G.L. Steele et al, AI Memo
	452, MIT, Jan 1978].

	(1994-10-28)

	[Was the original "Report on Scheme" published?]

RS

	1. <character> {Record Separator}

	2. <standard> Recommended Standard, a series of {EIA}
	{standards} including {EIA-232}.

RS-232

	{EIA-232}

RS-232C

	Renamed {EIA-232C}

	(2004-08-02)

RS-232D

	<communications, standard> The {EIA} equivalent of {ITU-T}
	{standard} {V.28}.

	[Difference from EIA-232/EIA-232C?]

	(1995-03-02)

RS-422

	{EIA-422}

RS-423

	{EIA-423}

RS-449

	{EIA-449}

RS-485

	{EIA-485}

RS6000

	{RISC System/6000}

RS/6000

	{RISC System/6000}

RS6K

	{RISC System/6000}

RSA

	<cryptography, company> (The initials of the authors)

	1. {RSA Data Security, Inc.}

	2. Their {cryptography} systems, especially {RSA encryption}.

	The RSA {algorithm} was first described in the paper:

	[R. Rivest, A. Shamir, L. Adleman, "A Method for Obtaining
	Digital Signatures and Public-key Cryptosystems". CACM 21,2;
	1978]

	(1995-03-21)

RSA Data Security, Inc.

	<cryptography, company> (After Rivest, Shamir, Adleman - see
	{RSA}) A recognised world leader in {cryptography}, with
	millions of copies of its software encryption and
	authentication installed and in use worldwide.  RSA's
	technologies are the global {de facto standard} for {public
	key cryptography} and {digital signatures}, and are part of
	existing and proposed {standards} for the {Internet}, {ITU-T},
	{ISO}, {ANSI}, {PKCS}, {IEEE} and business and financial
	networks around the world.

	{(http://rsa.com/)}.

	(1994-12-08)

RSA encryption

	<cryptography, algorithm> A {public-key cryptosystem} for both
	{encryption} and {authentication}, invented in 1977 by Ron
	Rivest, Adi Shamir, and Leonard Adleman.  Its name comes from
	their initials.

	The RSA {algorithm} works as follows.  Take two large {prime
	numbers}, p and q, and find their product n = pq; n is called
	the modulus.  Choose a number, e, less than n and {relatively
	prime} to (p-1)(q-1), and find its reciprocal mod (p-1)(q-1),
	and call this d.  Thus ed = 1 mod (p-1)(q-1); e and d are
	called the public and private exponents, respectively.  The
	public key is the pair (n, e); the private key is d.  The
	factors p and q must be kept secret, or destroyed.  It is
	difficult (presumably) to obtain the private key d from the
	public key (n, e).  If one could factor n into p and q,
	however, then one could obtain the private key d.  Thus the
	entire security of RSA depends on the difficulty of factoring;
	an easy method for factoring products of large prime numbers
	would break RSA.

	{RSA FAQ (http://rsa.com/rsalabs/faq/faq_home.html)}.

	(2004-07-14)

RSCS

	<communications> {Remote Spooling Communication
	Subsystem}.

	(1996-02-04)

Réseaux Associés pour la Recherche Européenne

	(RARE) An association of national and international European
	networks and users.

	See also {CCIRN}.

	(1994-11-30)

Réseaux IP Européens

	(RIPE) A collaboration between European networks which use the
	{TCP/IP} {protocol} suite to provide {Internet} services.

	(1994-11-30)

RS flip-flop

	{SR flip-flop}

rsh

	Remote shell.

	A {Berkeley Unix} networking command to execute a given
	command on a remote {host}, passing it input and receiving its
	output.  Rsh communicates with a {daemon} on the remote host.
	It is sometimes called remsh to avoid confusion with the
	{restricted shell}, also called "rsh".

	{Unix manual page}: rsh(1).

	(1994-12-08)

RSI

	1. <medical> {overuse strain injury}.

	2. <company> {Research Systems, Inc.}.

	(1999-01-08)

RSL

	{RAISE Specification Language}

RSN

	{Real Soon Now}

RSS

	{Rich Site Summary}

RSS feed

	{Rich Site Summary}

rstat

	{netstat}

RSTS/E

	<operating system> A {multi-user}, general purpose
	{timesharing} {operating system} produced by {Mentec, Inc.}
	and licensed bu {Digital Equipment Corporation}.

	RSTS/E can be used for interactive timesharing, {batch
	processing}, indirect command file processing, program
	development using a variety of languages and tools, and a wide
	variety of special purpose applications.  Up to 127 concurrent
	{terminal} users in both local and remote locations through
	multi-terminal services can interact with application tasks.
	Without multi-terminal services, 63 users are the maximum.
	Tasks can share computational, storage, and input/output
	services provided by the RSTS/E system.

	{Full description
	(http://pyrfect.ico.olivetti.com/SPD/13-01-37.txt)}.

	(1996-06-04)

RSVP

	1. <chat> {Répondez s'il vous plait}.

	2. <protocol> {Resource Reservation Protocol}.

	3. <body> {Revolutionary Surrealist Vandal Party}.

	(2001-03-18)

RT-11

	<operating system> A {real time} {operating system} for the
	{DEC} {PDP-11} computers, used in the early 1980s and still in
	2005 found occasionally in old {embedded systems}.

	(2005-01-26)

RTBM

	({Unix}) Read The Bloody Manual.

	{Commonwealth Hackish} variant of {RTFM}.  RTBM is often the
	entire text of the first reply to a question from a {newbie};
	the *second* would escalate to "RTFM".

	[{Jargon File}]

	(1994-12-08)

RTC++

	A {real-time} extension of {C++}.

	["Object-Oriented Real-Time Language Design: Constructs for
	Timing Constraints", Y. Ishikawa et al, SIGPLAN Notices
	25(10):289-298 (OOPSLA/ECOOP '90) (Oct 1990)].

	(1994-12-08)

RT-CDL

	{Real-Time Common Design Language}

RTEE

	Real Time Engineering Environment: a set of CASE tools
	produced by Westmount Technology B.V.

RTF

	{Rich Text Format}

RTFAQ

	({Usenet}, primarily written, by analogy with {RTFM}) Read the
	FAQ!

	An exhortation that the person addressed ought to read the
	newsgroup's {FAQ list} before posting questions.

	[{Jargon File}]

	(1994-12-08)

RTFB

	<jargon> (By analogy with {RTFM}) Read The Fucking
	Binary.

	Used when neither {documentation} nor {source} for the problem
	at hand exists, and the only thing to do is use some
	{debugger} or {monitor} and directly analyse the {assembler}
	or even the {machine code}.

	"RTFB" is the least pejorative of the RTF? forms, the anger is
	directed at the absence of both source *and* adequate
	documentation rather than at the person asking a question.

	[{Jargon File}]

	(1995-08-20)

RTFM

	<jargon> /R T F M/ Read The Fucking Manual (always
	abbreviated, sometimes bowdlerised to "Fine" or "Friendly") An
	(unhelpful) {guru}'s traditional response when someone asks a
	question in a {newsgroup} or {mailing list} which he could
	have easily answered for himself had he bothered to RTFM.

	The term may also be used to indicate that you couldn't find
	the answer in the manual.  E.g. "How do I interface Unix to my
	toaster?  And yes, I did RTFM but the {FM} didn't help and I
	can't {RTFS}."

	Other derived forms include {RTFAQ}, {RTFB}, {RTM}, {RYFM}
	and, more recently, {STFW}.  Compare: {UTSL}.

	[Earliest use?]

	[{Jargon File}]

	(2003-06-07)

RTFS

	<jargon> 1. Read The Fucking Source.  Variant form of {RTFM},
	used when the problem at hand is not necessarily obvious and
	not answerable from the manuals - or the manuals are not yet
	written and maybe never will be.  For even trickier
	situations, see {RTFB}.  Unlike RTFM, the anger inherent in
	RTFS is not usually directed at the person asking the
	question, but rather at the people who failed to provide
	adequate documentation.

	2. Read The Fucking Standard; this oath can only be used when
	the problem area (e.g. a language or operating system
	interface) has actually been codified in a ratified standards
	document.  The existence of these standards documents (and the
	technically inappropriate but politically mandated compromises
	that they inevitably contain, and the impenetrable {legalese}
	in which they are invariably written, and the unbelievably
	tedious bureaucratic process by which they are produced) can
	be unnerving to hackers, who are used to a certain amount of
	ambiguity in the specifications of the systems they use.
	(Hackers feel that such ambiguities are acceptable as long as
	the {Right Thing} to do is obvious to any thinking observer;
	sadly, this casual attitude toward specifications becomes
	unworkable when a system becomes popular in the {Real World}.)
	Since a hacker is likely to feel that a standards document is
	both unnecessary and technically deficient, the deprecation
	inherent in this term may be directed as much against the
	standard as against the person who ought to read it.

	[{Jargon File}]

RTI

	{Return from interrupt}

RTL

	1. <hardware> {Resistor-Transistor Logic}.

	2. <language> {Register Transfer Language}.

RTL/1

	<language> Real Time Language.

	A {real-time} language written by J.G.P. Barnes of {ICI} in
	1971.  It was the predecessor of {RTL/2}.

	["Real Time Languages for Process Control", J.G.P. Barnes,
	Computer J 15(1):15-17, Feb 1972].

	(1994-11-09)

RTL/2

	Real Time Language.

	A small {real-time} language based on {ALGOL 68}, with
	{separate compilation} designed by J.G.P. Barnes of ICI in
	1972 as a successor to {RTL/1}.

	A program is composed of separately compilable modules called
	"bricks" which may be datablocks, procedures or stack.  A
	stack is a storage area for use as a workspace by a task.  The
	language is {block-structured} and {weakly typed}.  Simple
	types are byte, int, frac and real.  There are no {Booleans}.
	Compound types may be formed from {arrays}, {records} and
	{refs} (pointers).  There are no user-defined types.  Control
	statements are if-then-elseif-else-end, for-to-by-do-rep,
	block-endblock, switch, goto, and label variables.

	["RTL/2: Design and Philosophy", J.G.P. Barnes, Hayden & Son,
	1976].

RTM

	1. [{Usenet}] Read The Manual.  Politer variant of {RTFM}.

	2. Robert T. Morris Jr.

	The perpetrator of the great Internet worm of 1988 (see {Great
	Worm}); villain to many, naive hacker gone wrong to a few.
	Morris claimed that the worm that brought the Internet to its
	knees was a benign experiment that got out of control as the
	result of a coding error.  After the storm of negative
	publicity that followed this blunder, Morris's user name on ITS
	was hacked from RTM to {RTFM}.

	[{Jargon File}]

	(1995-03-31)

RTMP

	{Routing Table Maintenance Protocol}

RTOS

	{Real-Time Operating System}

RTP

	{Real-Time Transport Protocol}

RT-PC

	<computer> RISC Technology Personal Computer.

	(Commonly, but incorrectly, known as the "PC-RT", later
	changed to just "RT") {IBM}'s first {RISC}-based {Unix}
	computer.  The RT-PC was the predecessor to IBM's {RS/6000}.
	It ran {AIX} 1.x and 2.x and had a {PC-AT} bus and IBM's
	{ROMP} {microprocessor}.  It was withdrawn from the marketing
	around 1989 or 1990.

	(1995-04-06)

RTS

	1. <operating system> {run-time system}.

	2. <programming> {return from subroutine}.

	(1999-07-26)

RTSA

	{real-time structured analysis}

RTSP

	{Real Time Streaming Protocol}

RTT

	{Round-Trip Time}

RTTI

	{Run Time Type Information}

RTTY

	{radio teletypewriter}

ru

	<networking> The {country code} for the Russian Federation.

	(1999-01-27)

rubi

	{furigana}

Ruby

	<language>

	1. A {relational language} designed by Jones and M. Sheeran in
	1986 for describing and designing circuits (a {hardware
	description language}).  Ruby programs denote {binary
	relations} and programs are built-up inductively from
	primitive relations using a pre-defined set of {relational
	operators}.  Ruby programs also have a geometric
	interpretation as networks of primitive relations connected by
	wires, which is important when layout is considered in circuit
	design.

	Ruby has been continually developed since 1986, and has been
	used to design many different kinds of circuits, including
	{systolic arrays}, {butterfly networks} and arithmetic
	circuits.

	{(ftp://ftp.cs.chalmers.se/pub/misc/ruby/)}.

	E-mail: <graham@cs.chalmers.se>.

	["Ruby - A Language of Relations and Higher-Order Functions",
	M. Sheeran, Proc 3rd Banff Workshop on Hardware Verification,
	Springer 1990].

	(1994-10-27)

	2. One of five pedagogical languages based on {Markov
	algorithms}, used in Higman's report (below).  The other
	languages are {Brilliant}, {Diamond}, {Nonpareil}, and
	{Pearl}.

	["Nonpareil, a Machine Level Machine Independent Language for
	the Study of Semantics", B. Higman, ULICS Intl Report No ICSI
	170, U London (1968)].

	(1994-10-27)

	3. A fully {object oriented} {interpreted} {scripting
	language} by Yukihiro Matsumoto <matz@netlab.co.jp>.

	Similar in scope to {Perl} and {Python}, Ruby has high-level
	{data types}, automatic {memory management}, {dynamic typing},
	a {module} system, {exceptions}, and a rich standard library.
	Other features are {CLU}-style {iterators} for {loop
	abstraction}, {singleton classes}/{methods} and {lexical
	closures}.

	In Ruby, everything is an {object}, including the basic data
	types.  For example, the number 1 is an instance of {class}
	Fixnum.

	Current version (stable): 1.6.7, as of 2002-03-01.

	{Ruby Home (http://ruby-lang.org/)}.

	{Ruby Central (http://rubycentral.com/)}.

	["Programming Ruby - The Pragmatic Programmer's Guide", David
	Thomas, Andrew Hunt, Yukihiro Matsumoto pub. Addison Wesley
	2000].

	(2002-06-19)

rude

	[WPI] 1. Badly written or functionally poor, e.g. a program
	that is very difficult to use because of gratuitously poor
	design decisions.  Opposite: {cuspy}.

	2. Anything that manipulates a shared resource without regard
	for its other users in such a way as to cause a (non-fatal)
	problem.  Examples: programs that change tty modes without
	resetting them on exit, or windowing programs that keep
	forcing themselves to the top of the window stack.  Compare
	{all-elbows}.

	[{Jargon File}]

	(1994-10-27)

RUFL

	Rhodes University Functional Language.  A {Miranda}-like
	functional language from Rhodes University, Grahamstown, South
	Africa with a {SPARC} {code generator}.

	(1994-10-27)

run

	{execution}

RUNCIBLE

	Early system for mathematics on {IBM 650}.

	See also {FORTRUNCIBLE}, {IT}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-10-27)

runes

	1. Anything that requires {heavy wizardry} or {black art} to
	{parse}: core dumps, {JCL} commands, {APL} or code in a
	language you haven't a clue how to read.  Not quite as bad as
	{line noise}, but close.

	Compare {casting the runes}, {Great Runes}.

	2. Special display characters (for example, the high-half
	graphics on an {IBM PC}).

	[{Jargon File}]

runic

	<jargon> Obscure, consisting of {runes}.

	{VMS} fans sometimes refer to {Unix} as "RUnix".  Unix fans
	return the compliment by expanding VMS to "Very Messy Syntax"
	or "Vachement Mauvais Systeme" (French; literally "Cowlike Bad
	System", idiomatically "Bitchy Bad System").

	(1996-09-17)

run-length encoding

	A kind of {compression} {algorithm} which replaces sequences
	("runs") of consecutive repeated characters (or other units of
	data) with a single character and the length of the run.  This
	can either be applied to all input characters, including runs
	of length one, or a special character can be used to introduce
	a run-length encoded group.  The longer and more frequent the
	runs are, the greater the compression that will be achieved.
	This technique is particularly useful for encoding black and
	white {images} where the data units would be single bit
	{pixels}.

	(1994-10-27)

Run Length Limited

	<storage> (RLL) The most popular scheme for encoding data on
	{magnetic disks}.  RLL packs up to 50% more data on a disk
	than {MFM}.

	{IBM} invented RLL encoding and used it in {mainframe} disk
	drives.  During the late 1980s, {PC} hard disks began using
	RLL.  Today, virtually every drive on the market uses some
	form of RLL.

	Groups of bits are mapped to specific patterns of flux.  The
	density of flux transitions is limited by the spatial
	resolution of the disk and frequency response of the head and
	electronics.  However, transitions must be close enough to
	allow reliable {clock recovery}.  RLL implementations vary
	according to the minimum and maximum allowed numbers of
	{transition cells} between transitions.  For example, the most
	common variant today, RLL 1,7, can have a transition in every
	other cell and must have at least one transition every seven
	cells.  The exact mapping from bits to transitions is
	essentially arbitrary.

	Other schemes include {GCR}, {FM}, {Modified Frequency
	Modulation} (MFM).  See also: {PRML}.

	{(http://cma.zdnet.com/book/upgraderepair/ch14/ch14.htm)}.

	(2003-08-12)

run time

	1. The elapsed time to perform a computation on a particular
	computer.

	2. The amount of time a processor actually spent on a
	particular process and not on other processes or overhead (see
	{time-sharing}).

	3. The period of time during which a program is being
	executed, as opposed to {compile-time} or load time.  The term
	should be hyphenated when used as an adjective.

	4. {run-time support}.

	(2001-09-14)

run-time environment

	<operating system> A collection of subroutines and
	{environment variables} that provide commonly used functions
	and data for a program while it is running.

	Compare {run-time support}.

	(1995-03-22)

run-time error

	<programming> An {error} in the execution of a program which
	occurs at {run time}, as opposed to a {compile-time error}.

	A good programming language should, among other things, aim to
	replace run-time errors by compile-time errors.  Language
	features such as {strong typing} help.

	A good program should attempt to avoid run-time errors by, for
	example, checking that their input data is sensible.  Where
	this is not possible, the program should attempt to detect the
	error and handle it gracefully rather than just exiting via
	the language or operating system's default handler.  Here
	again, a good language will make this easy to do (or at least
	possible).

	See also {abort}, {core dump}, {GPF}.

	(1997-01-13)

run-time library

	<operating system, programming, library> A file containing
	routines which are linked with a program at {run time} rather
	than at {compile-time}.  The advantage of such {dynamic
	linking} is that only one copy of the library needs to be
	stored, rather than a copy being included with each
	{executable} that refers to it.  This can greatly reduce the
	disk space occupied by programs.  Furthermore, it means that
	all programs immediately benefit from changes (e.g. {bug}
	fixes) to the single copy of the library without requiring
	recompilation.  Since the library code is normally classified
	as read-only to the {memory management} system, it is possible
	for a single copy of the library to be loaded into memory and
	shared by all active programs, thus reducing {RAM} and
	{virtual memory} requirements and program load time.

	(1997-07-16)

run-time support

	{run-time system}

run-time system

	<programming> (RTS, run-time support, run-time) Library code
	and processes which support software written in a particular
	language running on a particular {platform}.  The RTS
	typically deals with details of the interface between the
	program and the {operating system} such as {system calls},
	program start-up and termination, and {memory management}.

	(1999-07-26)

Run-Time Type Information

	<compiler> (RTTI) Facilities included in {C++} {compilers} to
	allow the {type} of an object to be determined at {run time}.

	This facility, found in good C++ compilers and some other
	{high level languages}, adds type information to memory
	resident objects (i.e. type name or unique type-id).  This
	allows the {run-time system} to determine if an object is of a
	specific type, for example, to ensure that a {cast} of an
	object is valid.

	(1996-04-15)

ruptime

	{Unix} {Berkeley networking} command to report the status of
	all hosts on the net.  See also rwho.  See ruptime(1N).

RUSH

	1. <language> An interactive dialect of {PL/I}, related to
	{CPS}, dated about 1966.  The name is the abbreviation of
	"Remote Use of Shared Hardware".

	["Introduction to RUSH", Allen-Babcock Computing 1969.  Sammet
	1969, p.309.]

	2. <language> A {high-level language} that closely resembles
	{Tcl} but aimed to provide substantially faster execution.
	See {An Introduction to the Rush Language
	(ftp://ginsberg.cs.berkeley.edu/pub/papers/asah/rush-tcl94.ps.gz)}.
	by Adam Sah, Jon Blow, and Brian Dennis (1994).

	(1996-12-17)

Russell

	<language> (After {Bertrand Russell}) A compact,
	{polymorphical}ly typed {functional language} by A. Demers &
	J. Donahue with {bignums} and {continuations}.  {Types} are
	themselves {first-class} values and may be passed as
	{arguments}.

	{(ftp://parcftp.xerox.com/pub/russell/russell.tar.Z)}.

	["An Informal Description of Russell", H. Boehm et al, Cornell
	CS TR 80-430, 1980].

	["Understanding Russell: A First Attempt", J.G. Hook in LNCS
	173, Springer].

	(1995-03-27)

Russell, Bertrand

	{Bertrand Russell}

Russell's Attic

	<mathematics> An imaginary room containing {countably many}
	pairs of shoes (i.e. a pair for each {natural number}), and
	countably many pairs of socks.  How many shoes are there?
	Answer: countably many (map the left shoes to even numbers and
	the right shoes to odd numbers, say).  How many socks are
	there?  Also countably many, we want to say, but we can't
	prove it without the {Axiom of Choice}, because in each pair,
	the socks are indistinguishable (there's no such thing as a
	left sock).  Although for any single pair it is easy to select
	one, we cannot specify a general method for doing this.

	(1995-03-29)

Russell's Paradox

	<mathematics> A {paradox} (logical contradiction) in {set
	theory} discovered by {Bertrand Russell}.  If R is the set of
	all sets which don't contain themselves, does R contain
	itself?  If it does then it doesn't and vice versa.

	The paradox stems from the acceptance of the following
	{axiom}: If P(x) is a property then

		{x : P}

	is a set.  This is the {Axiom of Comprehension} (actually an
	{axiom schema}).  By applying it in the case where P is the
	property "x is not an element of x", we generate the paradox,
	i.e. something clearly false.  Thus any theory built on this
	axiom must be inconsistent.

	In {lambda-calculus} Russell's Paradox can be formulated by
	representing each set by its {characteristic function} - the
	property which is true for members and false for non-members.
	The set R becomes a function r which is the negation of its
	argument applied to itself:

		r = \ x . not (x x)

	If we now apply r to itself,

		r r = (\ x . not (x x)) (\ x . not (x x))
		    = not ((\ x . not (x x))(\ x . not (x x)))
		    = not (r r)

	So if (r r) is true then it is false and vice versa.

	An alternative formulation is: "if the barber of Seville is a
	man who shaves all men in Seville who don't shave themselves,
	and only those men, who shaves the barber?"  This can be taken
	simply as a proof that no such barber can exist whereas
	seemingly obvious axioms of {set theory} suggest the existence
	of the paradoxical set R.

	{Zermelo Fränkel set theory} is one "solution" to this
	paradox.  Another, {type theory}, restricts sets to contain
	only elements of a single type, (e.g. {integers} or sets of
	integers) and no type is allowed to refer to itself so no set
	can contain itself.

	A message from Russell induced {Frege} to put a note in his
	life's work, just before it went to press, to the effect that
	he now knew it was inconsistent but he hoped it would be
	useful anyway.

	(2000-11-01)

rusty iron

	<jargon, hardware> Synonym {tired iron}.  It has been claimed
	that this is the inevitable fate of {water MIPS}.

	[{Jargon File}]

	(1995-03-25)

rusty memory

	<storage, humour> {Mass-storage} that uses iron-oxide-based
	magnetic media (especially {magnetic tape} and the
	pre-{Winchester} {removable disk packs} used in {washing
	machines}).

	Compare {donuts}.

	[{Jargon File}]

	(1997-07-20)

RUTH

	D.A. Harrison at Newcastle University.  Real-time language
	based on LispKit.  Uses timestamps and real-time clocks.

	["RUTH: A Functional Language for Real-Time Programming",
	D. Harrison in PARLE: Parallel Architectures and Languages
	Europe, LNCS 259, Springer 1987, pp.297-314].

rw

	<networking> The {country code} for Rwanda.

	(1999-01-27)

rwho

	<networking> The {Berkeley Unix} networking command to report
	who is logged in on all {hosts} on the local {network
	segment}.

	{Unix manual page}: rwho(1).

	(1996-09-08)

RWP

	{Remote Write Protocol}

Rx

	A pattern matcher compatible with {GNU} {regex}, but generally
	faster.

	Version 0.05, released 1994-05-18, contained substantial
	changes from the version last distributed with GNU {sed}.
	These changes provide low-level support for searching across
	arbitrarily fragmented strings and suspendable searches.

RYFM

	<abuse> 1. "Read Your Fucking Manual".  Uncommon variant of
	{RTFM}.

	2. "Read Your Fucking Mail".  A gentle reminder to someone to
	check their corresponence and, who knows, maybe even respond.

	(2012-10-27)

S

	<language> A statistical analysis language from {AT&T}.

	["S: An Interactive Environment for Data Analysis and
	Graphics", Richard A. Becker, Wadsworth 1984].

	(1997-01-21)

s///

	<chat> s/{foo}/{bar}/ is an idiom which means "I didn't mean
	to type 'foo', I meant to type 'bar'".

	Its use in {talk} systems, especially {irc}, comes from the
	use of s/// as a substitution operator in {Perl}, {sed} and
	{ed}.  In these languages and tools, s/foo/bar/ would replace
	any substring matching the {regular expression} "foo" with the
	string "bar".

	(1997-03-16)

S3

	1. <language> An {ALGOL 68}-like system language for the {ICL
	2900} computer.

	2. <graphics, hardware> A video chipset.

	3. <graphics> An {X Window System} {screen server}.

	(2003-02-28)

SA

	{Structured Analysis}

sa

	<networking> The {country code} for Saudi Arabia.

	(1999-01-27)

SA-110

	<processor> The first member of the {StrongARM} family
	resulting from the architecture license agreement between
	{Digital Equipment Corporation} and {Advanced RISC Machines}
	Ltd. (ARM), developer of the {ARM} 32-bit {RISC} architecture.

	The SA-110 combines ARM's low-power architecture with
	Digital's processor design and {CMOS} process expertise, and
	is targetted at {embedded} consumer electronics products.

	(1996-02-06)

SAA

	{Systems Application Architecture}

Saber-C

	Renamed to {CodeCenter}.

Saber-C++

	Renamed to {ObjectCenter}.

SAC

	1. An early system on the {Datatron 200} series.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-04-12)

	2. {Service Access Controller}.

	(2002-12-30)

SAC-1

	<mathematics, tool> An early {symbolic mathematics} system,
	written in {Fortran} by G.E. Collins.

	[Proc 2nd Symp Symb Alg Manip pp.144-152 (1971)].

	(1995-04-12)

SAC2

	<mathematics, tool> A {symbolic mathematics} system which
	compiles to {Fortran} or {Common Lisp}.

	E-mail: <jma@poly.polytechnique.fr>.

	(1995-04-12)

sacadm

	<operating system> (Service Access Controller Administration)
	A {Unix} (Solaris?) command for administering both {ttymon}
	and {listen}.  It can be used to add and remove, start and
	stop, and enable and disable {port monitors}.

	(2002-12-30)

sacred

	<jargon> Reserved for exclusive use by something.  The term
	might mean only writable by whatever it is sacred to.

	For example, "Register 7 is sacred to the interrupt handler"
	would mean that if any other code changed the contents of
	register 7, dire consequences would ensue.

	[{Jargon File}]

	(2002-12-30)

SAD

	{Systems Analysis Definition}

SAD SAM

	Query language by Lindsay.  Sammet 1969, p.669.

SADT

	{Structured Analysis and Design Technique}

SAFARI

	ON-line text editing system by {MITRE Corporation}.

	Sammet 1969, p.685.

safe

	A safe program analysis is one which will not reach invalid
	conclusions about the behaviour of the program.  This may
	involve making safe approximations to properties of parts of
	the program.  A safe approximation is one which gives less
	information.

	For example, strictness analysis aims to answer the question
	"will this function evaluate its argument"?.  The two possible
	results are "definitely" and "don't know".  A safe
	approximation for "definitely" is "don't know".  The two
	possible results correspond to the two sets: "the set of all
	functions which evaluate their argument" and "all functions".
	A set can be safely approximated by another which contains it.

safe mode

	<operating system> An alternative way to start {Microsoft
	Windows} such that only a minimal set of software components
	({drivers} and {background processes}) are loaded, making it
	easier to diagnose problems.  Safe mode loads a standard low
	{resolution} {video driver} and does not support connection to
	the {Internet}.

	Windows will sometimes restart in safe mode automatically
	following a {crash}.  All Windows versions except {Windows
	3.1} can be started in safe mode, usually by holding the Ctrl
	or F8 key while the computer is restarting.  To start {Windows
	NT} in safe mode you need to edit C:\boot.ini.

	Once the problem is fixed you need to restart Windows normally
	to load all the installed components.

	(2004-12-31)

safety

	See {safe}, {safety-critical system}.

safety-critical system

	A computer, electronic or electromechanical system whose
	failure may cause injury or death to human beings.  E.g. an
	aircraft or nuclear power station control system.  Common
	tools used in the design of safety-critical systems are
	{redundancy} and {formal methods}.

	See also {aeroplane rule}.

saga

	<jargon> (WPI) A {cuspy} but bogus raving story about N
	{random} broken people.

	Here is a classic example of the saga form, as told by {Guy
	Steele} (GLS):

	Jon L. White (login name JONL) and I (GLS) were office mates
	at {MIT} for many years.  One April, we both flew from Boston
	to California for a week on research business, to consult
	face-to-face with some people at {Stanford}, particularly our
	mutual friend {Richard Gabriel} (RPG).

	RPG picked us up at the San Francisco airport and drove us
	back to {Palo Alto} (going {logical} south on route 101,
	parallel to {El Camino Bignum}).  Palo Alto is adjacent to
	Stanford University and about 40 miles south of San Francisco.
	We ate at The Good Earth, a "health food" restaurant, very
	popular, the sort whose milkshakes all contain honey and
	protein powder.  JONL ordered such a shake - the waitress
	claimed the flavour of the day was "lalaberry".  I still have
	no idea what that might be, but it became a running joke.  It
	was the colour of raspberry, and JONL said it tasted rather
	bitter.  I ate a better tostada there than I have ever had in
	a Mexican restaurant.

	After this we went to the local Uncle Gaylord's Old Fashioned
	Ice Cream Parlor.  They make ice cream fresh daily, in a
	variety of intriguing flavours.  It's a chain, and they have a
	slogan: "If you don't live near an Uncle Gaylord's - MOVE!"
	Also, Uncle Gaylord (a real person) wages a constant battle to
	force big-name ice cream makers to print their ingredients on
	the package (like air and plastic and other non-natural
	garbage).  JONL and I had first discovered Uncle Gaylord's the
	previous August, when we had flown to a computer-science
	conference in {Berkeley}, California, the first time either of
	us had been on the West Coast.  When not in the conference
	sessions, we had spent our time wandering the length of
	Telegraph Avenue, which (like Harvard Square in Cambridge) was
	lined with picturesque street vendors and interesting little
	shops.  On that street we discovered Uncle Gaylord's Berkeley
	store.  The ice cream there was very good.  During that August
	visit JONL went absolutely bananas (so to speak) over one
	particular flavour, ginger honey.

	Therefore, after eating at The Good Earth - indeed, after
	every lunch and dinner and before bed during our April visit
	--- a trip to Uncle Gaylord's (the one in Palo Alto) was
	mandatory.  We had arrived on a Wednesday, and by Thursday
	evening we had been there at least four times.  Each time,
	JONL would get ginger honey ice cream, and proclaim to all
	bystanders that "Ginger was the spice that drove the Europeans
	mad!  That's why they sought a route to the East!  They used
	it to preserve their otherwise off-taste meat."  After the
	third or fourth repetition RPG and I were getting a little
	tired of this spiel, and began to paraphrase him: "Wow!
	Ginger!  The spice that makes rotten meat taste good!"  "Say!
	Why don't we find some dog that's been run over and sat in the
	sun for a week and put some *ginger* on it for dinner?!"
	"Right!  With a lalaberry shake!"  And so on.  This failed to
	faze JONL; he took it in good humour, as long as we kept
	returning to Uncle Gaylord's.  He loves ginger honey ice
	cream.

	Now RPG and his then-wife KBT (Kathy Tracy) were putting us up
	(putting up with us?) in their home for our visit, so to thank
	them JONL and I took them out to a nice French restaurant of
	their choosing.  I unadventurously chose the filet mignon, and
	KBT had je ne sais quoi du jour, but RPG and JONL had lapin
	(rabbit).  (Waitress: "Oui, we have fresh rabbit, fresh
	today."  RPG: "Well, JONL, I guess we won't need any
	*ginger*!")

	We finished the meal late, about 11 P.M., which is 2 A.M
	Boston time, so JONL and I were rather droopy.  But it wasn't
	yet midnight.  Off to Uncle Gaylord's!

	Now the French restaurant was in Redwood City, north of Palo
	Alto.  In leaving Redwood City, we somehow got onto route 101
	going north instead of south.  JONL and I wouldn't have known
	the difference had RPG not mentioned it.  We still knew very
	little of the local geography.  I did figure out, however,
	that we were headed in the direction of Berkeley, and
	half-jokingly suggested that we continue north and go to Uncle
	Gaylord's in Berkeley.

	RPG said "Fine!" and we drove on for a while and talked.  I
	was drowsy, and JONL actually dropped off to sleep for 5
	minutes.  When he awoke, RPG said, "Gee, JONL, you must have
	slept all the way over the bridge!", referring to the one
	spanning San Francisco Bay.  Just then we came to a sign that
	said "University Avenue".  I mumbled something about working
	our way over to Telegraph Avenue; RPG said "Right!" and
	maneuvered some more.  Eventually we pulled up in front of an
	Uncle Gaylord's.

	Now, I hadn't really been paying attention because I was so
	sleepy, and I didn't really understand what was happening
	until RPG let me in on it a few moments later, but I was just
	alert enough to notice that we had somehow come to the Palo
	Alto Uncle Gaylord's after all.

	JONL noticed the resemblance to the Palo Alto store, but
	hadn't caught on.  (The place is lit with red and yellow
	lights at night, and looks much different from the way it does
	in daylight.)  He said, "This isn't the Uncle Gaylord's I went
	to in Berkeley!  It looked like a barn!  But this place looks
	*just like* the one back in Palo Alto!"

	RPG deadpanned, "Well, this is the one *I* always come to when
	I'm in Berkeley.  They've got two in San Francisco, too.
	Remember, they're a chain."

	JONL accepted this bit of wisdom.  And he was not totally
	ignorant - he knew perfectly well that University Avenue was
	in Berkeley, not far from Telegraph Avenue.  What he didn't
	know was that there is a completely different University
	Avenue in Palo Alto.

	JONL went up to the counter and asked for ginger honey.  The
	guy at the counter asked whether JONL would like to taste it
	first, evidently their standard procedure with that flavour,
	as not too many people like it.

	JONL said, "I'm sure I like it.  Just give me a cone."  The
	guy behind the counter insisted that JONL try just a taste
	first.  "Some people think it tastes like soap."  JONL
	insisted, "Look, I *love* ginger.  I eat Chinese food.  I eat
	raw ginger roots.  I already went through this hassle with the
	guy back in Palo Alto.  I *know* I like that flavour!"

	At the words "back in Palo Alto" the guy behind the counter
	got a very strange look on his face, but said nothing.  KBT
	caught his eye and winked.  Through my stupor I still hadn't
	quite grasped what was going on, and thought RPG was rolling
	on the floor laughing and clutching his stomach just because
	JONL had launched into his spiel ("makes rotten meat a dish
	for princes") for the forty-third time.  At this point, RPG
	clued me in fully.

	RPG, KBT, and I retreated to a table, trying to stifle our
	chuckles.  JONL remained at the counter, talking about ice
	cream with the guy b.t.c., comparing Uncle Gaylord's to other
	ice cream shops and generally having a good old time.

	At length the g.b.t.c. said, "How's the ginger honey?"  JONL
	said, "Fine!  I wonder what exactly is in it?"  Now Uncle
	Gaylord publishes all his recipes and even teaches classes on
	how to make his ice cream at home.  So the g.b.t.c. got out
	the recipe, and he and JONL pored over it for a while.  But
	the g.b.t.c. could contain his curiosity no longer, and asked
	again, "You really like that stuff, huh?"  JONL said, "Yeah,
	I've been eating it constantly back in Palo Alto for the past
	two days.  In fact, I think this batch is about as good as the
	cones I got back in Palo Alto!"

	G.b.t.c. looked him straight in the eye and said, "You're *in*
	Palo Alto!"

	JONL turned slowly around, and saw the three of us collapse in
	a fit of giggles.  He clapped a hand to his forehead and
	exclaimed, "I've been hacked!"

	[My spies on the West Coast inform me that there is a close
	relative of the raspberry found out there called an
	"ollalieberry" - ESR]

	[Ironic footnote: it appears that the {meme} about ginger vs.
	rotting meat may be an urban legend.  It's not borne out by an
	examination of mediaeval recipes or period purchase records
	for spices, and appears full-blown in the works of Samuel
	Pegge, a gourmand and notorious flake case who originated
	numerous food myths. - ESR]

	[{Jargon File}]

	(1994-12-08)

sagan

	<jargon> /say'gn/ (From Carl Sagan's TV series "Cosmos")
	Billions and billions.  A large quantity of anything.

	"There's a sagan different ways to tweak Emacs."  "The US
	Government spends sagans on bombs and welfare - hard to say
	which is more destructive."

	[{Jargon File}]

	(1999-10-12)

SAGE

	1. <body, job> {Systems Administrators Guild}.

	2. <project> {Semi-Automatic Ground Environment}.

	(2001-01-27)

SAIC

	{(http://saic.com)}.

	(1996-03-21)

SAID

	{Security Association ID}

SAIL

	1. <body, education> {Stanford Artificial Intelligence
	Laboratory}.

	2. <language> {Stanford Artificial Intelligence Language}.

	3. <language> An early system on the {Larc} computer.

	[Listed in CACM 2(5):16, May 1959].

	[{Jargon File}]

	(2001-06-22)

SAINT

	1. <language> {Symbolic Automatic INTegrator}.

	2. <networking, security, tool> {Security Administrator's
	Integrated Network Tool}.

Saint Andrews Static Language

	{St Andrews Static Language}

SAL

	<language>

	1. {Simple Actor Language}.

	2. {SPARK Annotation Language}.

SALEM

	["SALEM - A Programming System for the Simulation of Systems
	Described by Partial Differential Equations", S.M. Morris et
	al, Proc SJCC 33(1), 1968].

	(1994-12-08)

Sales Automation

	{Sales Force Automation}

salescritter

	/sayls'kri"tr/ Pejorative hackerism for a computer
	salesperson.  Hackers tell the following joke:

	Q. What's the difference between a used-car dealer and a
	computer salesman?

	A. The used-car dealer knows he's lying.  [Some versions add:
	...and probably knows how to drive.]

	This reflects the widespread hacker belief that salescritters
	are self-selected for stupidity (after all, if they had brains
	and the inclination to use them, they'd be in programming).
	The terms "salesthing" and "salesdroid" are also common.

	Compare {marketroid}, {suit}.

	[{Jargon File}]

	(1994-12-08)

Sales Force Automation

	<business> (Sales Automation, SFA, SFFA, Sales & Field Force
	Automation) Software to support sales reps.  The software
	gives sales representitives access to contacts, appointments
	and e-mail.  It is likely to be integrated with {Customer
	Relationship Management} systems and {Opportunity Management
	Systems}.

	(1999-08-20)

S-ALGOL

	Orthogonal data structures on ALGOL 60.  "S-Algol Language
	Reference Manual", R. Morrison, TR CS/79/1 U St Andrews, 1979.
	"An Introduction to Programming with S-Algol", A.J. Cole &
	R. Morrison, Cambridge U Press 1982.

SALT

	1. Symbolic Assembly Language Trainer.  Assembly-like language
	implemented in BASIC by Kevin Stock, now at Encore in France.

	2. Sam And Lincoln Threaded language.  A threaded extensible
	variant of BASIC.  "SALT", S.D. Fenster et al, BYTE (Jun 1985)
	p.147.

	[{Jargon File}]

salt

	A tiny bit of near-random data inserted where too much
	regularity would be undesirable; a data {frob} (sense 1).  For
	example, the Unix crypt(3) manual page mentions that "the salt
	string is used to perturb the DES algorithm in one of 4096
	different ways."

salt mines

	Dense quarters housing large numbers of programmers working
	long hours on grungy projects, with some hope of seeing the
	end of the tunnel in N years.  Noted for their absence of
	sunshine.  Compare {playpen}, {sandbox}.

	[{Jargon File}]

salt substrate

	[MIT] Collective noun used to refer to potato chips, pretzels,
	saltines, or any other form of snack food designed primarily
	as a carrier for sodium chloride.  From the technical term
	"chip substrate", used to refer to the silicon on the top of
	which the active parts of integrated circuits are deposited.

SAM

	{System Account Manager}

sam

	<tool> A multi-file {screen editor} with structural {regular
	expressions}.  Sam runs under the {X Window System}.

	(2000-07-16)

SAM76

	A {macro} language by Claude Kagan descended from {TRAC}.
	There is a version for {CP/M}.

	[Dr Dobbs J ca 1977].

Samba

	<networking> A free suite of programs which implement the
	{Server Message Block} (SMB) protocol.

	Originally developed for {Unix} by Andrew Tridgell at the
	{Australian National University}, the Samba {server} allows
	files and printers on the {host} {operating system} to be
	shared with {clients} such as {Windows for Workgroups}, {DOS},
	{OS/2}, {Windows NT} and others.

	For example, instead of using {telnet} to log in to a Unix
	machine to edit a file there, a {Windows 95} user might
	connect a drive in the Windows {Explorer} to a Samba server on
	the Unix machine and edit the file in a Windows editor.

	A Unix client called smbclient, built from the same {source
	code}, allows {ftp}-like access to SMB resources.

	Samba is available for many Unix variants, OS/2, and {VMS}.
	Porting to {Novell Netware} is in progress (August 1996).

	smblib is a {portable} generic library for making SMB calls
	for implementing {client/server} functions from within any
	program.  {Linux} implements a complete file system (based on
	smbclient) so by default Linux users have full access to
	resources on {LAN Server}, Windows NT and {LAN Manager}
	networks.

	{(http://samba.org/samba/samba.html)}.

	(1998-11-22)

SAME

	1. {Standard ANSI Module language with Extensions}.

	2. <architecture> {Stripe And Mirror Everything}.

same-day service

	<humour, operating system> An ironic term used to describe
	long response time, particularly with respect to {MS-DOS}
	{system calls} (which ought to require only a tiny fraction of
	a second to execute).  Such response time is a major incentive
	for programmers to write programs that are not {well-behaved}.

	See also {PC-ism}.

	[{Jargon File}]

	(1996-12-17)

SAMeDL

	{SQL} {Ada} Module Description Language.  Used to interface
	{Ada} {application programs} to {SQL}-based {DBMSs}.

	E-mail: Marc Graham <marc@sei.cmu.edu>.
	{(ftp://ajpo.sei.cmu.edu/public/atip/samedl/)}.

	["Rationale for SQL Ada Module Description Language SAMeDL",
	SEI-92-TR-016].

samizdat

	<publication> (Russian, literally "self publishing") The
	process of disseminating documentation via underground
	channels.  Originally referred to photocopy duplication and
	distribution of banned books in the former Soviet Union; now
	refers by obvious extension to any less-than-official
	promulgation of textual material, especially rare, obsolete,
	or never-formally-published computer documentation.  Samizdat
	is obviously much easier when one has access to
	high-{bandwidth} {networks} and high-quality {laser printers}.

	Strictly, "samizdat" only applies to distribution of needed
	documents that are otherwise unavailable, and not to
	duplication of material that is available for sale under
	{copyright}.

	See {Lions Book} for a historical example.

	See also: {hacker ethic}.

	[{Jargon File}]

	(2000-03-23)

SAML

	<security> An {XML} framework for communicating user
	{authentication}, {entitlement}, and attribute information,
	developed by the Security Services Technical Committee of
	{OASIS}.

	SAML supports {federation}, allowing business entities to make
	assertions regarding the identity, attributes and entitlements
	of a subject (an entity that is often a human user) to other
	entities, such as a partner company or another enterprise
	application.

	(2011-05-12)

Sammet, Jean E.

	{Jean E. Sammet}

sample

	<digital signal processing> The result of measuring the
	amplitude of an analog signal at a specified time.  In
	{digital signal processing} a sample is a signed or unsigned
	number and the number of samples per second is called the
	{sample rate}.

	(2001-06-06)

sample rate

	<digital signal processing> The number of times an analog
	signal is measured (sampled) per second.  The unit of sample
	rate is "samples per second".  This is often expressed in
	{kiloHertz} (kHz).  For example, "CD quality" sound has a
	sample rate of 44 kHz.

	Compare {data rate}.  See {Nyquist frequency}.

	[Is it correct to use Hertz for things other than the
	frequency of a sine wave?]

	(2001-06-06)

sampling

	<DSP> The process of taking a {sample} of a signal at evenly
	spaced intervals of time.  This is the first step in {Digital
	Signal Processing}.

	(2001-06-06)

sampling frequency

	{sample rate}

samurai

	A hacker who hires out for legal cracking jobs, snooping for
	factions in corporate political fights, lawyers pursuing
	privacy-rights and First Amendment cases, and other parties
	with legitimate reasons to need an electronic locksmith.  In
	1991, mainstream media reported the existence of a loose-knit
	culture of samurai that meets electronically on BBS systems,
	mostly bright teenagers with personal micros; they have
	modelled themselves explicitly on the historical samurai of
	Japan and on the "net cowboys" of William Gibson's {cyberpunk}
	novels.  Those interviewed claim to adhere to a rigid ethic of
	loyalty to their employers and to disdain the vandalism and
	theft practiced by criminal crackers as beneath them and
	contrary to the hacker ethic; some quote Miyamoto Musashi's
	"Book of Five Rings", a classic of historical samurai
	doctrine, in support of these principles.

	See also {Stupids}, {social engineering}, {cracker}, {hacker
	ethic}, and {dark-side hacker}.

	[{Jargon File}]

SAN

	{Storage Area Network}

sandbender

	[IBM] A person involved with silicon lithography and the
	physical design of {integrated circuits}.  Compare
	{ironmonger}, {polygon pusher}.

sandbox

	(UK: "sandpit")

	1. <operating system> A protected, limited environment where
	applications (e.g. {Java} programs downloaded from the
	{Internet}) are allowed to "play" without risking damage to
	the rest of the system.

	2. <jargon> A term for the R&D department at many software and
	computer companies (where hackers in commercial environments
	are likely to be found).  The term is half-derisive, but
	reflects the truth that research is a form of creative play.

	Compare {playpen}.

	3. <operating system> {link farm}.

	[{Jargon File}]

	(2001-02-08)

Sandman

	The {DoD} requirements that led to {APSE}.

San Francisco

	<project, library> {IBM}'s {Java} component {framework}
	application template.

	The San Francisco Project, started in 1998(?), aims to create
	a generic set of {java} building blocks to provide the core
	functions of general business processes such as sales order
	processing, general ledger, inventory management and product
	distribution.

	The project aims to use component based design allowing easy
	vendor customisation and Java code generation allowing
	applications to be built and run across multiple platforms.
	It also aims to be compatible with third party development
	tools.

	{(http://ibm.com/Java/Sanfrancisco/)}.

	(1998-08-16)

sanity check

	<programming> 1. Checking {code} (or anything else, e.g. a
	{Usenet} posting) for completely stupid mistakes.  Implies
	that the check is to make sure the author was sane when it was
	written; e.g. if a piece of scientific software relied on a
	particular formula and was giving unexpected results, one
	might first look at the nesting of parentheses or the coding
	of the formula, as a "sanity check", before looking at the
	more complex I/O or data structure manipulation routines, much
	less the {algorithm} itself.

	Compare {reality check}.

	2. A run-time test, either validating input or ensuring that
	the program hasn't screwed up internally (producing an
	inconsistent value or state).

	[{Jargon File}]

	(1998-08-29)

Santa Cruz Operation

	(SCO) A supplier of {Unix} systems for {Intel}
	{microprocessors}.  They supply {Xenix} and {Open Desktop}.

	Founded in 1979, SCO became a public company in May, 1993 and
	trades on the Nasdaq National Market System under the symbol
	SCOC.  SCO maintains its world headquarters in Santa Cruz,
	California, USA; a European headquarters in Watford, England;
	a Government Systems Group in Reston, Virginia; and offices in
	Asia, Australia, Canada, Latin America, and throughout Europe
	and the United States.  In February 1993, SCO acquired {IXI}
	Limited of Cambridge, England, the leading supplier of {Unix}
	System windowing software.

	{(http://websco.sco.com/)}.

	(1994-10-28)

	[Addresses?]

SAP

	1. <company> {SAP AG} (Systems, Applications and Products in
	Data Processing).

	2. <protocol> {Service Advertising Protocol}.

	3. <networking> {Service Access Point}.

	4. <language> {Symbolic Assembler Program}.

	(1999-05-26)

SAP AG

	<company> (Systeme, Anwendungen, Produkte in der
	Datenverarbeitung - German for "Systems, Applications and
	Products in Data Processing") A company from Germany that
	sells the leading suite of {client-server} business software.
	The US branch is called SAP America.

	{(http://sap.com/)}.

	[Details?]

	(1998-07-28)

SAPI

	1. <programming> {Speech Application Programming Interface}.

	2. <programming> {Scheduling Application Programming
	Interface}.

	3. <networking> {Service Access Point Identifier}.

	(1996-10-03)

SAR

	{segmentation and reassembly}

SAS

	1. <language> {Statistical Analysis System}.

	2. <tool> {SAS System}.

	(1998-11-06)

SASD

	{Structured Analysis, Structured Design}

SASE

	{Specific Application Service Element}.  Opposite: {CASE}.

SASI

	{Small Computer System Interface}

SASL

	1. <language> {St Andrews Static Language}.

	2. <networking> {Simple Authentication and Security Layer}.

SASL+LV

	Unifies logic and functional programming.  A more complete
	version of FGL+LV, in SASL syntax.  "Combinator Evaluations of
	Functional Programs with Logical Variables", G. Bage et al, TR
	UUCS-87-027, U Utah, Oct 1987.

SASL-YACC

	A version of {Yacc} written in {SASL} by Simon Peyton-Jones.

SAS System

	<tool> (SAS) Integrated software to access, manage, analyze,
	and present data.  The SAS System can be used to perform data
	entry, retrieval and management; report writing and graphics
	design; statistical and mathematical analysis; business
	forecasting and decision support; operations research; project
	management and applications development.

	(1998-11-06)

SATA

	{Serial Advanced Technology Attachment}

SATAN

	{Security Administrator's Integrated Network Tool}

Sather

	<language> /Say-ther/ (Named after the Sather Tower at {UCB},
	as opposed to the Eiffel Tower).

	An interactive {object-oriented} language designed by Steve
	M. Omohundro at {ICSI} in 1991.  Sather has simple {syntax},
	similar to {Eiffel}, but it is non-proprietary and faster.

	Sather 0.2 was nearly a subset of Eiffel 2.0, but Sather 1.0
	adds many distinctive features: parameterised {class}es,
	{multiple inheritance}, statically-checked {strong typing},
	{garbage collection}.  The compiler generates {C} as an
	{intermediate language}.  There are versions for most
	{workstations}.

	Sather attempts to retain much of {Eiffel}'s theoretical
	cleanliness and simplicity while achieving the efficiency of
	{C++}.  The compiler generates efficient and portable C code
	which is easily integrated with existing code.

	A variety of development tools including a debugger and
	{browser} based on {gdb} and a {GNU Emacs} development
	environment have also been written.  There is also a {class
	library} with several hundred classes that implement a variety
	of basic data structures and numerical, geometric,
	connectionist, statistical, and graphical abstractions.  The
	authors would like to encourage contributions to the library
	and hope to build a large collection of efficient,
	well-written, well-tested classes in a variety of areas of
	computer science.

	Sather runs on {Sun-4}, {HP9000}/300, {Decstation} 5000,
	{MIPS}, {Sony News} 3000, {Sequent}/{Dynix}, {SCO} {SysV}R3.2,
	{NeXT}, {Linux}.

	See also {dpSather}, {pSather}, {Sather-K}.

	{(ftp://ftp.icsi.berkeley.edu/pub/sather)}.

	E-mail: <sather-admin@icsi.berkeley.edu>.

	Mailing list: sather-request@icsi.berkeley.edu.

	(1995-04-26)

Sather-K

	<language> Karlsruhe Sather.

	A sublanguage of {Sather} used for introductory courses in
	{object-oriented design} and {typesafe programming}.

	E-mail: <trapp@karlsruhe.gmd.de>.

	(1994-11-11)

satisfiability problem

	A problem used as an example in {complexity theory}.  It can
	be stated thus:

	 Given a Boolean expression E, decide if there is some
	 assignment to the variables in E such that E is true.

	A {Boolean} expression is composed of Boolean variables,
	(logical) negation (NOT), (logical) {conjunction} (AND) and
	parentheses for grouping.  The satisfiability problem was the
	first problem to be proved to be {NP-complete} (by Cook).

	["Introduction to Automata Theory, Languages, and Computation"
	by Hopcroft and Ullman, pub. Addison-Wesley].

	(1994-11-11)

saturation

	1. <graphics> In colour theory, the "colourfulness" of a
	stimulus relative to its {brightness}, the amount of the
	dominant wavelength relative to other wavelengths in the
	colour, one of the three coordinates in the {hue, saturation,
	value} (HSV) and {hue, saturation, brightness} (HSB) {colour
	models}.

	White, black and grey contain equal amounts of red, green and
	blue light and are completely unsaturated.  A pure colour with
	very little gray in it is highly saturated.  The amount of
	saturation does not affect the {hue} of a colour and is
	unrelated to the {value} (total amount of light in a colour).

	There are several competing mathematical definitions of
	saturation.

	{(http://www.ncsu.edu/scivis/lessons/colormodels/color_models2.html#saturation)}.

	{(http://www.pomona.edu/academics/courserelated/classprojects/visual-lit/saturation/saturation.html)}.

	2. The state of any system that is operating at its maximum
	capacity, e.g. a network connection that is carry a continuous
	stream of data with no idle time.  {Capacity planning} aims to
	monitor load and increase resources before saturation is
	reached.

	(2008-05-09)

Saturday-night special

	<jargon> (From police slang for a cheap handgun) A
	{quick-and-dirty} program or feature {kluge}d together during off
	hours, under a deadline, and in response to pressure from a
	{salescritter}.  Such hacks are dangerously unreliable, but all
	too often sneak into a production release after insufficient
	review.

	[{Jargon File}]

	(1994-11-11)

sausage code

	<humour, programming> Code which, once you know the details of how
	it's made, you'll never want to use again.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-11-22)

SAVE

	An {assembler} for the {Burroughs 220} by Melvin Conway (see
	{Conway's Law}).  The name "SAVE" didn't stand for anything,
	it was just that you lost fewer card decks and listings
	because they all had SAVE written on them.

	(1995-01-16)

save

	<editor, programming, storage> To copy {data} to a more
	permanent form of storage.  The term is commonly used for when
	some kind of document editing {application program} writes the
	current document from {RAM} to a {file} on {hard disk} at the
	request of the user.  The implication is that the user might
	later {load} the file back into the editor again to view it,
	print it, or continue editing it.  Saving a document makes it
	safe from the effects of power failure.

	The "document" might actually be anything, e.g. a {word
	processor} document, the current state of a game, a piece of
	music, a {website}, or a memory image of some program being
	executed (though the term "dump" would probably be more common
	here).

	Data can be saved to any kind of (writable) storage: hard
	disk, {floppy disk}, {CD-R}; either locally or via a
	{network}.

	A program might save its data without any explicit user
	request, e.g. periodically as a precaution ("auto save"), or
	if it forms part of a {pipeline} of processes which pass data
	via intermediate files.  In the latter case the term suggests
	all data is written in a single operation whereas "output"
	might be a continuous flow, in true pipeline fashion.

	When copying several files from one storage medium to another,
	the terms "backup", "dump", or "archive" would be used rather
	than "save".  The term "store" is similar to "save" but
	typically applies to copying a single item of data, e.g. a
	number, from a {processor}'s {register} to {RAM}.

	A "save" operation saves the document in its native format,
	e.g. a proprietary word processor format, whereas "save as"
	(or "export") saves the same data in a different format,
	e.g. a {plain text} file.

	(2002-06-07)

save as

	<editor, programming, storage> A variant of {save} that saves
	the current document in an alternative format.

	(2005-02-15)

say

	A human may "say" things to a computer by typing them on a
	terminal.  "To list a directory verbosely, say "ls -l"."
	Tends to imply a {newline}-terminated command (a "sentence").

	A computer may "say" things to you, even if it doesn't have a
	speech synthesiser, by displaying them on a terminal in
	response to your commands.  This usage often confuses
	{mundanes}.

	[{Jargon File}]

sb

	<networking> The {country code} for the Solomon Islands.

	(1999-01-27)

SB AWE32

	<multimedia, music, hardware> A standard {SB16 MultiCD} {sound
	card} with the {EMU8000} "Advanced WavEffect" music
	synthesizer {integrated circuit}.  The card includes all the
	standard SB16 features as well as the {Advanced Signal
	Processor} and multiple interfaces supporting {Creative},
	{Mitsumi} and {Sony} {CD-ROM} drives.

	The EMU8000 comes integrated with 1MB of {General MIDI}
	samples and 512kB of {DRAM} for additional sample downloading.
	It can address up to 28 MB of external DRAM.  The SB AWE32
	supports General MIDI, Roland GS, and Sound Canvas MT-32
	{emulation}.

	(1996-12-16)

SBCS

	<character> (IBM) single-byte character set.

	A {character set} that uses 8 bits to represent a character.

	(1995-03-21)

SBD

	{Smart Battery Data}

SBE

	{Microsoft Office Small Business Edition}

SBM

	{Solution Based Modelling}

SB-Prolog

	Stony Brook Prolog.  A {public domain} {Prolog} {interpreter}
	for {Unix}.  Version 3.1.  Distributed under the {GNU}
	{General Public License}.

	{(ftp://sbcs.sunysb.edu/pub/sbprolog/)}.

	{Amiga version 2.3.2
	(ftp://ftp.cso.uiuc.edu/amiga/fish/f1/ff140)} and
	{(ftp://ftp.cso.uiuc.edu/amiga/fish/f1/ff141)}.

	E-mail: <warren@sbcs.sunysb.edu>.

	(1995-01-16)

SBR

	{Spectral Band Replication}

SBus

	<hardware> The hardware interface for add-in boards in later
	{Sun-3} (and {Sun-4}?) {workstations}.

	[Reference?]

	(2001-09-07)

SC

	<body> Subcommittee (of {ISO}, {JTC}?).

sc

	<networking> The {country code} for the Seychelles.

	(1999-01-27)

SCA

	{Single Connection Attach}

SCADA

	{Supervisory Control and Data Acquisition}

scag

	To destroy the data on a disk, either by corrupting the
	file system or by causing media damage.

	Compare {scrog}, {roach}.

	[{Jargon File}]

	(1995-01-16)

scalability

	How well a solution to some problem will work when the size of
	the problem increases.

	For example, a central {server} of some kind with ten
	{clients} may perform adequately but with a thousand clients
	it might fail to meet response time requirements.  In this
	case, the average response time probably scales linearly with
	the number of clients, we say it has a {complexity} of O(N)
	("order N") but there are problems with other complexities.
	E.g. if we want N nodes in a network to be able to communicate
	with each other, we could connect each one to a central
	exchange, requiring O(N) wires or we could provide a direct
	connection between each pair, requiring O(N^2) wires (the
	exact number or formula is not usually so important as the
	highest power of N involved).

	(1995-03-29)

Scalable Coherent Interface

	<hardware, protocol> (SCI) The {ANSI}/{IEEE} 1596-1992
	{standard} that defines a point-to-point {interface} and a set
	of {packet} {protocols}.  The SCI protocols use packets with a
	16-byte {header} and 16, 64, or 256 data bytes.  Each packet
	is protected by a 16-bit {CRC} code.

	The standard defines 1 Gbit/second {serial} {fiber-optic}
	links and 1 Gbyte/second {parallel} copper links.  SCI has two
	unidirectional links that operate concurrently.

	The SCI protocols support {shared memory} by encapsulating
	{bus} requests and responses into SCI request and response
	packets.  Packet-based {handshake} protocols guarantee
	reliable data delivery.  A set of {cache coherence} protocols
	are defined to maintain cache coherence in a {shared memory
	system}.

	{Message passing} is supported by a compatible subset of the
	SCI protocols.  This protocol subset does not invoke SCI cache
	coherency protocols.

	SCI uses 64-bit {addressing} and the most significant 16 bits
	are used for addressing up to 64K {nodes}.

	{http://uni-paderborn.de/pc2/systems/sci/}.

	[Applications?]

	(1999-03-22)

Scalable Processor ARChitecture

	<computer> (SPARC) An {instruction set architecture} designed
	by {Sun Microsystems} for their own use in 1985.  Sun was a
	maker of {680x0}-based {Unix} {workstations}.  Research
	versions of {RISC} processors had promised a major step
	forward in speed but existing manufacturers were slow to
	introduce a RISC type processor, so Sun went ahead and
	developed its own, based on the {University of California at
	Berkley}'s {RISC I} and {RISC II} 1980-2.  In keeping with
	their open philosophy, they licenced it to other companies,
	rather than manufacture it themselves.  The evolution and
	standardisation of SPARC is now directed by the non-profit
	consortium {SPARC International, Inc.}

	SPARC was not the first {RISC} processor.  The {AMD 29000}
	came before it, as did the {MIPS R2000} (based on {Stanford}'s
	design) and {Hewlett-Packard} {Precision Architecture} {CPU},
	among others.  The SPARC design was radical at the time, even
	omitting multiple cycle multiply and divide instructions (like
	a few others), while most RISC CPUs are more conventional.

	SPARC implementations usually contain 128 or 144 {registers},
	({CISC} designs typically had 16 or less).  At each time 32
	registers are available - 8 are global, the rest are allocated
	in a "window" from a stack of registers.  The window is moved
	16 registers down the stack during a function call, so that
	the upper and lower 8 registers are shared between functions,
	to pass and return values, and 8 are local.  The window is
	moved up on return, so registers are loaded or saved only at
	the top or bottom of the register stack.  This allows
	functions to be called in as little as 1 cycle.  Like some
	other RISC processors, reading global register zero always
	returns zero and writing it has no effect.  SPARC is
	{pipelined} for performance, and like previous processors, a
	dedicated {condition code register} holds comparison results.

	SPARC is "scalable" mainly because the register stack can be
	expanded (up to 512, or 32 windows), to reduce loads and saves
	between functions, or scaled down to reduce {interrupt} or
	{context switch} time, when the entire register set has to be
	saved.  Function calls are usually much more frequent, so the
	large register set is usually a plus.

	SPARC is not a chip, but a specification, and so there are
	various implementations of it.  It has undergone revisions,
	and now has multiply and divide instructions.  Most versions
	are 32 bits, but there are designs for 64-bit and
	{superscalar} versions.  SPARC was submitted to the {IEEE}
	society to be considered for the {P1754} microprocessor
	standard.

	SPARC(R) is a registered trademark of SPARC International,
	Inc. in the United States and other countries.

	[The SPARC Architecture Manual, v8, ISBN 0-13-825001-4].

	(1994-11-01)

Scalable Sampling Rate

	<compression, standard, algorithm> (SSR) See, e.g., {MPEG-4
	AAC SSR}.

	(2001-12-08)

Scalable Vector Graphics

	<graphics, web> A {W3C} standard for {vector
	graphics}, based on {XML}.

	{(http://w3.org/Graphics/SVG/)}.

	(2001-02-06)

scalar

	1. <mathematics> A single number, as opposed to a {vector} or
	{matrix} of numbers.  Thus, for example, "scalar
	multiplication" refers to the operation of multiplying one
	number (one scalar) by another and is used to contrast this
	with "matrix multiplication" etc.

	2. <architecture> In a {parallel processor} or {vector
	processor}, the "scalar processor" handles all the sequential
	operations - those which cannot be parallelised or vectorised.

	See also {superscalar}.

	3. <programming> Any data type that stores a single value
	(e.g. a number or {Boolean}), as opposed to an {aggregate}
	data type that has many elements.  A {string} is regarded as a
	scalar in some languages (e.g. {Perl}) and a vector of
	{characters} in others (e.g. {C}).

	(2002-06-12)

SCALLOP

	<language, history> A medium-level language for {CDC}
	computers, used to {bootstrap} the first {Pascal} {compiler}.

	(1994-11-01)

SCAN

	1. ["A Parallel Implementation of the SCAN Language",
	N.G. Bourbakis, Comp Langs 14(4):239-254 (1989)].

	2. A {real-time} language from {DEC}.

	[Are these the same language?]

	(1994-11-01)

scan

	1. (computer peripheral) See {scanner}.

	2. (circuit design) See {scan design}.

	3. ({functional programming}) See {scanl}, {scanr}.

	4. <storage, algorithm> An algorithm for scheduling multiple
	accesses to a disk.  A number of requests are ordered
	according to the data's position on the storage device.  This
	reduces the disk arm movement to one "scan" or sweep across
	the whole disk in the worst case.  The serivce time can be
	estimated from the disk's track-to-track {seek} time, maximum
	seek time (one scan), and maximum {rotational latency}.

	{Scan-EDF} is a variation on this.

	(1995-11-15)

scan design

	<electronics> (Or "Scan-In, Scan-Out") A electronic circuit
	design technique which aims to increase the controllability
	and observability of a digital {logic circuit} by
	incorporating special "{scan registers}" into the circuit so
	that they form a {scan path}.

	Some of the more common types of scan design include the
	{multiplexed register} designs and {level-sensitive scan
	design} (LSSD) used extensively by {IBM}.  {Boundary scan} can
	be used alone or in combination with either of the above
	techniques.

	["Digital Systems Testing and Testable Design" by Abramovici,
	Breuer, and Friedman, ISBN 0-7167-8179-4].

	["Design of Testable Logic Circuits" by R.G. Bennetts,
	(Brunel/Southhampton Universities), ISBN 0-201-14403-4].

	(1995-02-23)

SCANDISK

	<operating system, storage> An {MS-DOS} command to check for
	faults on a disk and provide a graphical representation the
	results.  Scandisk was introduced with MS-DOS version 6 to
	replace CHKDSK.

	[What kinds of disk?  What faults?]

	(1997-07-16)

Scan-EDF

	<storage, algorithm> A variation of the {Scan} disk aceess
	algorithm for use in a {real-time} environment where, in
	general, requests are served according to {Earliest Deadline
	First}.  If two requests share the same deadline, they may be
	reorganised according to Scan.

	A typical example is a video server that retrieves video data
	from a hard disk.  The playback of a video impose tight
	real-time constraints but if the server retrieves data once
	every second for each video channel, Scan-EDF can be applied,
	reducing the {seek} {overhead}.

	(1995-11-15)

scanf

	The {C} library routine that reads data from the {standard
	input} {stream} {stdin} into the locations given by each entry
	in its argument list.  The first argument is a format string
	which controls interpretation of the input and each subsequent
	argument points to a variable with a type that corresponds to
	a type specifier in the format-string.

	{Unix manual page}: scanf(3).

	(1995-02-23)

Scan-In, Scan-Out

	{scan design}

scan line

	<hardware> A horizontal line of {pixels} generated by a single
	horizontal sweep of the beam from a {monitor}'s {electron
	gun}.  The number of scanlines that make up a {frame} is the
	vertical {resolution}.

	(1996-02-09)

scanner

	1. An input device that takes in an optical image and
	digitises it into an electronic image represented as binary
	data.  This can be used to create a computerised version of a
	photo or illustration.

	A scanner may be linked to {optical character recognition}
	software allowing printed documents to be converted to
	electronic text without having to type them in at a keyboard.

	2. {lexical analyser}.

	(1995-02-14)

scanno

	/skan'oh/ An error in a document caused by a {scanner} glitch,
	analogous to a typo or {thinko}.

	[{Jargon File}]

	(1995-02-14)

scan path

	(circuit design) A technique used to increase the
	controllability and observability of a {logic circuit} by
	incorporating "{scan registers}" into the circuit.  Normally
	these act like {flip-flops} but they can be switched into a
	"test" mode where they all become one long {shift register}.
	This allows data to be clocked serially through all the scan
	registers and out of an output pin at the same time as new
	data is clocked in from an input pin.

	Using this technique, the state of certain points in the
	circuit can be examined and modified at any time by suspending
	normal operation and switching to test mode.  If the scan path
	is placed adjacent to the circuit's input and output pins then
	this is known as "{boundary scan}".

	(1995-02-14)

scan register

	<electronics, testing> A {digital logic} circuit which can
	act either as a {flip-flop} or as a serial {shift register}
	and which is used to form a {scan path} for testing.

	The most common design is a multiplexed {flip-flop}:

		      ___	  ____
	 normal in --|	 \	 |    |
		     |mux |------|D  Q|---- normal/scan
	 scan in ----|___/    	 |    |     output
		       |	 |flip|
	 test mode ----+         |flop|
			         |    |
	 clk --------------------|>   |
				 |____|

	The addition of a {multiplexor} (mux) to each {flip-flop}'s
	input allows operation in either normal or test mode.  The
	output of each flip-flop goes to the normal functional logic
	as well as to the scan input of the next multiplexor in the
	scan path.

	The other common design is {level-sensitive scan design}
	(LSSD).

	(2011-12-16)

scar tissue code

	<humour, programming> Old {code} that is {commented out} but still
	included in the current {release}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-01-04)

SCC

	{strongly connected component}

SCCS

	<software> Source Code Control System: a popular {source code
	management} system found on {Unix} since early versions.

	{Unix manual page}: sccs(1).

	(2011-12-16)

SCEPTRE

	Designing and analysing circuits.

	["SCEPTRE: A Computer Program for Circuit and Systems
	Analysis", J.C. Bowers et al, P-H 1971].

Schachter's Hypothesis

	<web> The observation that "Given two unrelated
	technical terms, an {Internet} {search engine} will retrieve
	only résumés".  This was first formulated by {Joshua Eli
	Schachter (http://burri.to/~joshua/)} in about 1998, while
	poring over the uniformly irrelevant pages that resulted from
	a search he'd run on "+{Perl} +{MAPI}" in {Altavista}.

	(2002-02-04)

scheduler

	{scheduling}

scheduling

	<algorithm> The arrangement of a number of related operations
	in time.

	There are several kinds of scheduling related to computers:

	{instruction scheduling} - sequencing the instructions
	executed by the {CPU}

	{multitasking} ("process scheduling") - sharing a CPU between
	several processes

	{application} {software} to help organise your daily meetings
	etc.

	{task scheduling} - {algorithms} to solve the general problem
	of satisfying time and resource {constraints} between a number
	of tasks.

	Compare {planning}.

	(1998-04-25)

Scheduling API

	{Scheduling Application Programming Interface}

Scheduling Application Programming Interface

	(SAPI, Scheduling API) An {API} aimed at {software} which aids
	humans in arranging their (business) activities.

	{Microsoft} has defined a SAPI for its {Schedule+}
	application.

	(1995-01-11)

Schelog

	<language, Scheme, Prolog> (Previously "slog"?) A {Prolog} to
	{Chez Scheme} {macro} translator by <dorai@cs.rice.edu>.
	Schelog relies on continuations.

	{(http://cs.rice.edu/CS/PLT/packages/schelog)}.

	(2000-11-20)

schema

	1. <database> {database schema}.

	2. <logic> {axiom schema}.

	3. <data> {XML schema}.

Schema Definition Set

	(SDS) Something in {Portable Common Tool Environment}.

	[What?]

	(2001-03-03)

Schema Representation language

	(SRL)

	["SRL/2 Users Manual", J.M. Wright et al, Robotics Inst, CMU,
	1984].

schematic capture

	The process of entering the logical design of an electronic
	circuit into a CAE system by creating a schematic
	representation of components and interconnections.

schematic type variable

	{generic type variable}

Schematik

	A {NeXT} front-end to {MIT Scheme} for the NeXT by Chris Kane
	and Max Hailperin <max@nic.gac.edu>.  Schematik provides
	syntax-knowledgeable text editing, graphics windows and a
	user-interface to an underlying MIT Scheme process.  It comes
	with MIT Scheme 7.1.3 ready to install on the NeXT and
	requires {NEXTSTEP}.

	Version: 1.1.5.2.

	{USA FTP (ftp://ftp.gac.edu/pub/next/scheme/)}.  {Germany
	(ftp://ftp.informatik.uni-muenchen.de/pub/next/ProgLang)}.

	 E-mail: <schematik@gac.edu>.

	 (1993-03-11)

Scheme

	<programming> (Originally "Schemer", by analogy with {Planner}
	and {Conniver}).  A small, uniform {Lisp} dialect with clean
	{semantics}, developed initially by {Guy Steele} and {Gerald
	Sussman} in 1975.  Scheme uses {applicative order reduction}
	and {lexical scope}.  It treats both {functions} and
	{continuations} as {first-class} objects.

	One of the most used implementations is {DrScheme}, others
	include {Bigloo}, {Elk}, {Liar}, {Orbit}, {Scheme86} (Indiana
	U), {SCM}, {MacScheme} (Semantic Microsystems), {PC Scheme}
	(TI), {MIT Scheme}, and {T}.

	See also {Kamin's interpreters}, {PSD}, {PseudoScheme},
	{Schematik}, {Scheme Repository}, {STk}, {syntax-case}, {Tiny
	Clos}, {Paradigms of AI Programming}.

	There have been a series of revisions of the report defining
	Scheme, known as {RRS} (Revised Report on Scheme), {R2RS}
	(Revised Revised Report ..), {R3RS}, {R3.99RS}, {R4RS}.

	{Scheme resources (http://schemers.org/)}.

	Mailing list: scheme@mc.lcs.mit.edu.

	[IEEE P1178-1990, "IEEE Standard for the Scheme Programming
	Language", ISBN 1-55937-125-0].

	(2003-09-14)

Scheme84

	{Scheme} from {Indiana University}.  It requires {Franz Lisp}
	on a {VAX} under {VMS} or {BSD}.

	E-mail: Nancy Garrett <nlg@indiana.edu>.

	Send a tape with return postage to Scheme84 Distribution,
	Nancy Garrett, c/o Dan Friedman, Department of Computer
	Science, Indiana University, Bloomington, Indiana.  Telephone:
	+1 (812) 335 9770.

Scheme88

	{(ftp://nexus.yorku.ca/pub/scheme/)}.

	[Description?]

Scheme->C

	{Scheme-to-C}

Scheme Library

	<library> (SLIB) A portable {Scheme} library providing
	compatibiliy and utility functions for all standard Scheme
	implementations.

	Version 2c5 supports {Bigloo}, {Chez}, {ELK}, {GAMBIT},
	{MacScheme}, {MITScheme}, {PocketScheme}, {RScheme},
	{Scheme->C}, {Scheme48}, {SCM}, {SCSH}, {T3.1}, {UMB-Scheme},
	and {VSCM}.

	{(http://swissnet.ai.mit.edu/~jaffer/SLIB.html)}.

	(1999-06-07)

Scheme-Linda

	A {Scheme} interface to {Linda} written by Ulf Dahlen of
	{University of Edinburgh} in 1990.  It runs on the {Computing
	Surface} and the {Symmetry}.

	["Scheme-Linda", U. Dahlen et al, EPCC-TN-90-01 Edinburgh
	1990].

	(1994-12-15)

Scheme Object System

	(SOS) Chris Hanson?

	{(ftp://altdorf.ai.mit.edu/archive/cph/sos.tar.gz)}.

	[Description?]

Scheme Repository

	A collection of free {Scheme} programs.

	{(ftp://nexus.yorku.ca/pub/scheme/)}.

Scheme-to-C

	<language> A {Scheme} {compiler} written in {C} that emits C
	and is embeddable in C.  Scheme-to-C was written by Joel
	Bartlett of {Digital Western Research Laboratory}.  Version
	15mar93 translates a superset of Revised**4 Scheme to C that
	is then compiled by the {native} {C} compiler for the {target
	machine}.  This design results in a portable system that
	allows either stand-alone Scheme programs or programs written
	in both compiled and interpreted Scheme and other languages.
	It supports "{expansion passing style}" {macros}, {foreign
	function} calls, {records}, and interfaces to {Xlib} ({Ezd}
	and {Scix}).

	Scheme-to-C runs on {VAX}, {ULTRIX}, {DECstation}, {Alpha AXP}
	{OSF}/1, {Windows 3.1}, {Apple Macintosh} 7.1, {HP 9000/300},
	{HP 9000/700}, {Sony News}, {SGI} {Iris} and {Harris}
	{Nighthawk}, and other {Unix}-like {88000} systems.  The
	earlier 01nov91 version runs on {Amiga}, {SunOS}, {NeXT}, and
	{Apollo} systems.

	{(ftp://gatekeeper.dec.com/pub/DEC/Scheme-to-C/)}.

	(2000-05-24)

Schlaer-Mellor

	An {object-oriented analysis} (OOA), design and modelling
	method that addresses the integration of structural and
	behavioural properties.  It also allows an animation of the
	design.

	{I-OOA} is a tool that supports the Schlaer Mellor Design
	Method.

	(1995-01-31)

Schoonschip

	<mathematics, tool> (From the Dutch for "beautiful ship" or
	"clean ship") A program for {symbolic mathematics}, especially
	High Energy Physics, written by M. Veltman of CERN in 1964.
	Schoonschip only does algebra, no derivatives.  It was
	implemented originally in {CDC 6600} and {CDC 7600} {assembly
	language} and currently in {680x0} {assembly language}.
	Latest versions run on {Amiga}, {Atari ST}, {Sun-3} and
	{NeXT}.

	It was once maintained by David Williams at the {University of
	Michigan} Physics Department.

	{(ftp://archive.umich.edu/physics/schip)}.

	(2000-11-14)

schrödinbug

	<jargon, programming> /shroh'din-buhg/ ({MIT}, from the
	Schrödinger's Cat thought-experiment in quantum physics) A design
	or implementation {bug} that doesn't manifest until someone
	reading the {source code} or using the program in an unusual way
	notices that it never should have worked, at which point it stops
	working until fixed.

	Though (like {bit rot}) this sounds impossible, it happens; some
	programs have harboured schrödinbugs for years.

	Compare {heisenbug}, {Bohr bug}, {mandelbug}.

	[{Jargon File}]

	(1995-02-28)

SCI

	<hardware> 1. {Scalable Coherent Interface}.

	2. {UART}.

	(1998-02-14)

Science and Engineering Research Council

	<body> (SERC) Formerly the largest of the five research
	councils funded by the British Government through the Office
	of Science and Technology.  SERC funded higher education
	research in science and engineering, including computing and
	was responsible for the Rutherford Appleton Laboratory, near
	Oxford; the Daresbury Laboratory, near Warrington; the Royal
	Greenwich Observatory at Cambridge and the Royal Observatory,
	Edinburgh.

	In April 1994 SERC was split into the Engineering and Physical
	Sciences Research Council and the Particle Physics and
	Astronomy Research Council.  SERC's remote sensing efforts
	have been transferred to the Natural Environment RC and its
	biotechnology efforts merged with the Agriculture and Food RC
	to make the new Biotechnology and Biological Sciences RC.  The
	two major SERC laboratories - {Rutherford Appleton Laboratory}
	and Daresbury Laboratory are now independent.

	{(http://unixfe.rl.ac.uk/serc/serc.html)}.

	(1994-12-15)

Scientific Data Systems

	<company> (SDS) The company that produced the SDS 940 (later
	renamed {XDS 940}).  Around 1968 {Xerox} bought out SDS and
	renamed the SDS machines to XDS.

	[What else?]

	(2001-03-03)

SCL

	<language> 1. {System Control Language}.

	2. Symbolic Communication Language.  Designed primarily for
	the manipulation of symbolic formulas.  Featured pattern
	matching (which was partly the inspiration for SNOBOL), string
	operations in buffers, and automatic storage management.  "A
	Language for Symbolic Communication", C.Y. Lee et al, Tech Mem
	62-3344-4, Bell Labs, Sept 1962.

SCM

	1. <business> {Supply Chain Management}.

	(2003-10-09)

	2. <language> A {Scheme} {interpreter} in {C} by Aubrey Jaffer
	and others.  SCM conforms to {R4RS} and {IEEE} {P1178} and
	includes a {conformance test}.  It is distributed under {GPL}.
	Version 5d0 runs under {Amiga}, {Atari-ST}, {MacOS}, {MS-DOS},
	{OS/2}, {NOS/VE}, {Unicos}, {VMS}, {Unix}, and similar
	systems.

	{x-scm} provides an {X Window System} interface for SCM
	programs.

	{(http://swissnet.ai.mit.edu/~jaffer/SCM.html)}.

	(1999-06-07)

SC/MP

	<processor> (Nicknamed "Scamp") A typical 8-bit
	{microprocessor} from {National Semiconductor} released in
	April 1976.  It was intended for control applications (a
	simple {BASIC} in a 2.5K {ROM} was added to one version).  It
	featured 16 bit addressing, with 12 address lines and 4 lines
	borrowed from the data bus (it was common to borrow lines from
	the data bus for addressing).  Internally, it included three
	{index registers} (P1 to P3) and two 8-bit general-purpose
	{registers}.  It had a {PC}, but no {stack pointer} or
	{subroutine} instructions (though they could be emulated with
	index registers).  During {interrupts}, the {PC} was saved in
	P3.  It was meant for embedded control, and these features
	were omitted for cost reasons.  It was also {bit serial}
	internally to keep it cheap.

	The unique feature was the ability to completely share a
	system bus with other processors.  Most processors of the time
	assumed they were the only ones accessing memory or I/O
	devices.  Multiple SC/MPs could be hooked up to the bus, as
	well as other intelligent devices, such as {DMA controllers}.
	A control line (ENOUT (Enable Out) to ENIN) could be chained
	along the processors to allow cooperative processing.  This
	was very advanced for the time, compared to other {CPUs}.

	In addition to I/O ports like the {Intel 8080}, the SC/MP also
	had instructions and one pin for serial input and one for
	output.

	(1994-11-16)

SCO

	{Santa Cruz Operation}

Scode

	The internal representation used by the {Liar} compiler for
	{MIT Scheme}.

	(1994-11-01)

SCOOP

	Structured Concurrent Object-Oriented Prolog.

	["SCOOP, Structured Concurrent Object-Oriented Prolog",
	J. Vaucher et al, in ECOOP '88, S. Gjessing et al eds, LNCS
	322, Springer 1988, pp.191-211].

SCOOPS

	Scheme Object-Oriented Programming System.  Developed at
	{Texas Instruments} in 1986.  It supports {multiple
	inheritance} and {class variables}.

	{(ftp://altdorf.ai.mit.edu/archive/scheme-library/unsupported/CScheme)}.

	(1994-11-01)

SCOPE

	<project> Software Evaluation and Certification Programme
	Europe.

	An {ESPRIT} project.

	(1995-04-12)

scope

	<programming> The scope of an identifier is the region of a
	program source within which it represents a certain thing.
	This usually extends from the place where it is declared to
	the end of the smallest enclosing block (begin/end or
	procedure/function body).  An inner block may contain a
	redeclaration of the same identifier in which case the scope
	of the outer declaration does not include (is "shadowed" or
	"{occlude}d" by) the scope of the inner.

	See also {activation record}, {dynamic scope}, {lexical
	scope}.

	(1994-11-01)

Scorpion

	Twenty tools that can be used to construct specialised
	programming environments.  The Scorpion Project was started by
	Prof. Richard Snodgrass <rts@cs.arizona.edu> as an outgrowth
	of the {SoftLab} Project (which produced the {IDL Toolkit})
	that he started when he was at the {University of North
	Carolina}.  The Scorpion Project is directed by him at the
	{University of Arizona} and by Karen Shannon at the
	{University of North Carolina} at Chapel Hill.

	Version 6.0 runs on {Sun-3}, {Sun-4}, {VAX}, {Decstation},
	{Iris}, {Sequent}, {HP9000}.

	See also {Candle}.

	{(ftp://cs.arizona.edu/scorpion/)}.

	Mailing list: info-scorpion-request@cs.arizona.edu.

	E-mail: <scorpion-project@cs.arizona.edu>.

	(1993-11-04)

Scott-closed

	A set S, a subset of D, is Scott-closed if

	(1) If Y is a subset of S and Y is {directed} then lub Y is in
	S and

	(2) If y <= s in S then y is in S.

	I.e. a Scott-closed set contains the {lubs} of its {directed}
	subsets and anything less than any element.  (2) says that S
	is downward {closed} (or left closed).

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	(1995-02-03)

Scott domain

	An {algebraic}, {boundedly complete}, {complete partial
	order}.  Often simply called a {domain}.

	(1994-11-01)

SCPI

	{Standard Commands for Programmable Instruments}

SCPI Consortium

	<body> A body established to promote {Standard Commands for
	Programmable Instruments}.

	Address: 8380 Hercules Drive, Suite P3, La Mesa, CA 91942,
	USA.

	{SCPI in Europe
	(http://ourworld.compuserve.com/homepages/acea/scpi_uk.htm)}.
	Address: ACEA, P.O. Box 134, 7640 AC Wierden The Netherlands.
	Telephone: +31 546 577 994.  E-mail: <ACEA@compuserve.com>.

	(1999-01-05)

scram switch

	<jargon> (From the nuclear power industry) An emergency
	power-off switch (see {Big Red Switch}), especially one
	positioned to be easily hit by evacuating personnel.  In
	general, this is *not* something you {frob} lightly; these
	often initiate expensive events (such as Halon dumps) and are
	installed in a {dinosaur pen} for use in case of electrical
	fire or in case some luckless {field servoid} should put 120
	volts across himself while {Easter egging}.

	SCRAM stands for Safety Control Rod Ax Man.  In the early days
	of nuclear power, boron moderator rods were raised and lowered
	on ropes.  In the event of a runaway chain reaction, a man
	with an axe would chop the rope and drop the rods into the
	nuclear pile to stop the reaction.

	See also {molly-guard}, {TMRC}.

	[{Jargon File}]

	(2003-05-17)

SCRAP

	Something written at {CSIR}, Pretoria, South Africa in the
	late 1970s.  It ran on {Interdata} and {Perkin-Elmer}
	computers and was in use until the late 1980s.

	[But what was it?]

	(1994-12-15)

scratch

	1. (From "scratchpad") Describes a data structure or recording
	medium attached to a machine for testing or temporary-use
	purposes; one that can be {scribble}d on without loss.
	Usually in the combining forms "scratch memory", "scratch
	register", "scratch disk", "scratch tape", "scratch volume".

	See also {scratch monkey}.

	2. (primarily {IBM}) To delete (as in a file).

	[{Jargon File}]

	(1994-12-15)

scratch disk

	1. <storage> See {scratch}.

	2. <operating system> Unallocated space on {Windows 95}'s
	primary {hard disk} {partition}, used for {virtual memory}.

	Shortage of space on this partition can result in the error
	"scratch disk full".

	(2000-03-07)

scratch monkey

	<humour> As in "Before testing or reconfiguring, always mount
	a {scratch monkey}", a proverb used to advise caution when
	dealing with irreplaceable data or devices.  Used to refer to
	any scratch volume hooked to a computer during any risky
	operation as a replacement for some precious resource or data
	that might otherwise get trashed.

	This term preserves the memory of Mabel, the Swimming Wonder
	Monkey, star of a biological research program at the
	University of Toronto.  Mabel was not (so the legend goes)
	your ordinary monkey; the university had spent years teaching
	her how to swim, breathing through a regulator, in order to
	study the effects of different gas mixtures on her physiology.
	Mabel suffered an untimely demise one day when a DEC engineer
	troubleshooting a crash on the program's VAX inadvertently
	interfered with some custom hardware that was wired to Mabel.

	It is reported that, after calming down an understandably
	irate customer sufficiently to ascertain the facts of the
	matter, a DEC troubleshooter called up the {field circus}
	manager responsible and asked him sweetly, "Can you swim?"

	Not all the consequences to humans were so amusing; the sysop
	of the machine in question was nearly thrown in jail at the
	behest of certain clueless droids at the local "humane"
	society.  The moral is clear: When in doubt, always mount a
	scratch monkey.

	{ESR} notes: There is a version of this story, complete with
	reported dialogue between one of the project people and DEC
	field service, that has been circulating on Internet since
	1986.  It is hilarious and mythic, but gets some facts wrong.
	For example, it reports the machine as a {PDP-11} and alleges
	that Mabel's demise occurred when DEC {PM}ed the machine.
	Earlier versions of this entry were based on that story; this
	one has been corrected from an interview with the hapless
	sysop.

	A corespondent adds: The details you give are somewhat
	consistent with the version I recall from the Digital "War
	Stories" notesfile, but the name "Mabel" and the swimming bit
	were not mentioned, IIRC.  Also, there's {a very detailed
	account (http://mv.com/ipusers/arcade/monkey.htm)} that
	claims that three monkies died in the incident, not just one.
	I believe Eric Postpischil wrote the original story at DEC, so
	his coming back with a different version leads me to wonder
	whether there ever was a real Scratch Monkey incident.

	[{Jargon File}]

	(2004-08-22)

Scratchpad I

	<language> A general-purpose language originally for
	interactive {symbolic mathematics} by Richard Jenks, Barry
	Trager, Stephen M. Watt and Robert S. Sutor of {IBM Research},
	ca 1971.  It features abstract parametrised data types,
	{multiple inheritance} and {polymorphism}.  There were
	implementations for {VM/CMS} and {AIX}.

	["Scratchpad User's Manual", RA 70, IBM (June 1975)].

	(1994-12-15)

Scratchpad II

	See {Scratchpad I}, {AXIOM}.

	["Scratchpad II Programming Language Manual", R.D. Jenks et
	al, IBM, 1985].

	[Scratchpad II Newsletter: Computer Algebra Group, TJWRC, Box
	218, Yorktown Hts, NY 10598].

scream and die

	Synonym {cough and die}, but connotes that an error message
	was printed or displayed before the program crashed.

	[{Jargon File}]

Screamer

	An extension of {Common Lisp} providing {nondeterministic}
	{backtracking} and {constraint} programming.

	{(ftp://ftp.ai.mit.edu/pub/screamer.tar.Z)}.

	[Isn't all backtracking nondeterministic by definition?]

screaming tty

	[Unix] A terminal line which spews an infinite number of
	random characters at the operating system.  This can happen if
	the terminal is either disconnected or connected to a
	powered-off terminal but still enabled for login;
	misconfiguration, misimplementation, or simple bad luck can
	start such a terminal screaming.  A screaming tty or two can
	seriously degrade the performance of a vanilla Unix system;
	the arriving "characters" are treated as userid/password pairs
	and tested as such.  The Unix password encryption algorithm is
	designed to be computationally intensive in order to foil
	brute-force crack attacks, so although none of the logins
	succeeds; the overhead of rejecting them all can be
	substantial.

	[{Jargon File}]

screen

	1. <hardware> A generic term for a {display device} that shows
	text and/or images on a roughly flat rectangular surface.  The
	most common type is usually refered to as a "{monitor}" and is
	based on a {cathode-ray tube}, though {flat panel} displays
	have, since around 2000, become increasingly competitive in
	price and performance.

	(2005-07-28)

	2. A {screen multiplexer} utility which lets you run multiple
	{interactive} {terminal sessions} (and {curses} programs)
	through a single terminal connection (on one {virtual
	console}, one terminal, through one {modem} link, {telnet}
	session or {xterm}).

	Screen can detach processes from one terminal and attach them
	to another.  "Auto-detach" lets you continue working after
	being disconnected and reconnected.  It supports keyboard
	driven cut and paste from any text and/or curses application
	(like {Lynx}) to any other (like {xemacs}).

	Screen comes with many {Linux} distributions and is available
	(free) on many other {Unix} {platforms}.

	(2005-07-29)

screen blanker

	{screen saver}

screen dump

	<graphics> (Or "screen shot") An {image}, often stored in a
	file, of what was displayed on a computer's screen at some
	time.  Sending someone a screen dump can be very useful for
	remote support and diagnosis because it may show important
	details that the user didn't realise were significant,
	e.g. which {web browser} they were using.

	(2009-01-05)

Screen Peace

	<tool> A {screen saver} for {Microsoft Windows} by Anthony
	Andersen.  Released as {charityware}.  It can load extension
	modules with {filename extension} ".SPX".

	{Some modules
	(ftp://src.doc.ic.ac.uk/computing/systems/ibmpc/windows3/desktop/spx2.zip)}.

	(1997-11-23)

screen popping

	<communications> The use of {CTI} to make customer data appear
	on a call centre terminal at the same time as the customer
	call is transferred.

	(2003-12-04)

screen reader

	<application> A {text-to-speech} system, intended for use by
	blind or low-vision users, that speaks the text content of a
	computer display.

	(1998-10-19)

screen refresh

	{refresh rate}

screen saver

	<tool> A program which displays either a completely black
	image or a constantly changing image on a computer monitor to
	prevent a stationary image from "burning" into the phosphor of
	the screen.  Screen savers usually start automatically after
	the computer has had no user input for a preset time.  Some
	screen savers come with many different modules, each giving a
	different effect.

	Approximately pre-1990, many {cathode ray tubes}, in TVs,
	computer {monitors} or elsewhere, were prone to "burn-in";
	that is, if the same pattern (e.g., the {WordPerfect} status
	line; the {Pong} score readout; or a TV channel-number
	display) were shown at the same position on the screen for
	very long periods of time, the phosphor on the screen would
	"fatigue" and that part of the screen would seem greyed out,
	even when the CRT was off.

	Eventually CRTs were developed which were resistant to burn-in
	(and which sometimes went into {sleep} mode after a period of
	inactivity); but in the meantime, solutions were developed:
	home video game systems of the era (e.g., Atari 2600s) would,
	when not being played, change the screen every few seconds, to
	avoid burn-in; and computer screen saver programs were
	developed.

	The first screen savers were simple screen blankers - they
	just set the screen to all black, but, in the best case of
	{creeping featurism} ever recorded, these tiny (often under 1K
	long) programs grew without regard to efficiency or even basic
	usefulness.  At first, small, innocuous {display hacks}
	(generally on an almost-black screen) were added.  Later, more
	complex effects appeared, including {animations} (often with
	sound effects!) of arbitrary length and complexity.

	Along the way, avoiding repetitive patterns and burn-in was
	completely forgotten and "screen savers" such as {Pointcast}
	were developed, which make no claim to save your monitor, but
	are simply bloated {browsers} for {push media} which
	self-start after the machine has been inactive for a few
	minutes.

	(1997-11-23)

screen scraper

	<tool> A piece of software used to automate interaction
	between two computer systems through the terminal interface
	(designed for human use) of one of those systems.

	Typically, the screen scraper interacts with {terminal
	emulation} software to generate input to and process output
	from the "host" system through terminal screens.  Screen
	scrapers are advantageous when modifications to the host
	system are undesireable, when it is desireable to make use of
	the existing business and data integrity logic on the host,
	and when no other (peer-to-peer) interface method is
	available.

	Some products employ screen scraping combined with additional
	functionality which provides a {DBMS}-like or other
	specialised interface to the host.  The host system is often
	called a "{legacy} system" because it usually the older of the
	systems involved and based on older technology.

	(1995-04-19)

screen server

	<spelling> Do you mean "{screen saver}"?

	(2004-08-21)

screen sharing

	{Audiographic Teleconferencing}

Screenwrite

	<language> A columnar format {third generation programming
	language} similar in layout to {assembler} and used for
	{transaction processing}, solely on the {Honeywell} {Bull}
	{TPS6} {database}/transaction management system on their Level
	6 {DPS6} {minicomputers} running under the {GCOS6} {operating
	system}.  In the UK it was mainly used by local authorities
	and the Ministry of Defense.  Being proprietary technology,
	its popularity waned with the introduction of {open systems}
	standards, {relational databases} and {fourth generation
	languages} but it is believed that some systems made it
	through {Y2K}.

	[Dates?]

	(2003-05-15)

screw

	<jargon> (MIT) A failure, usually in software.  Especially
	used for user-visible misbehaviour caused by a {bug} or
	{misfeature}.  This use has become quite widespread outside
	{MIT}.

	[{Jargon File}]

	(1994-12-01)

screwage

	/skroo'*j/ Like {lossage} but connotes that the failure is due
	to a designed-in misfeature rather than a simple inadequacy or
	a mere bug.

	[{Jargon File}]

	(1994-12-01)

scribble

	To modify a data structure in a random and unintentionally
	destructive way.  "Bletch! Somebody's disk-compactor program
	went berserk and scribbled on the i-node table."  "It was
	working fine until one of the allocation routines scribbled on
	low core."  Synonymous with {trash}; compare {mung}, which
	conveys a bit more intention, and {mangle}, which is more
	violent and final.

	[{Jargon File}]

Scribe

	A text-formatting language by Brian Reid.

	(1994-12-01)

SCRIPT

	1. An early system on the {IBM 702}.

	[Listed in CACM 2(5):16 (May 1959)].

	2. A {real-time} language.

	["A Communication Abstraction Mechanism and its Verification",
	N. Francez et al, Sci Comp Prog 6(1):35-88 (1986)].

	(1994-12-01)

script

	<language> A program written in a {scripting language}, but
	see {Ousterhout's dichotomy}.

	(1999-02-22)

Scriptics

	<company> {John Ousterhout}'s company that is the home of
	{Tcl} development and the {TclPro} tool suite.

	{(http://scriptics.com/)}.

	(1998-11-27)

scripting language

	<language> (Or "glue language") A loose term for any language
	that is {weakly typed} or {untyped} and has little or no
	provision for complex {data structures}.  A program in a
	scripting language (a "{script}") is often {interpreted} (but
	see {Ousterhout's dichotomy}).

	Scripts typically interact either with other programs (often
	as {glue}) or with a set of functions provided by the
	interpreter, as with the {file system} functions provided in a
	{UNIX shell} and with {Tcl}'s {GUI} functions.  Prototypical
	scripting languages are {AppleScript}, {C Shell}, {MS-DOS}
	{batch files} and {Tcl}.

	(2001-03-06)

scrog

	/skrog/ [Bell Labs] To damage, trash, or corrupt a data
	structure.  "The list header got scrogged."  Also reported as
	"skrog", and ascribed to the comic strip "The Wizard of Id".
	Compare {scag}; possibly the two are related.  Equivalent to
	{scribble} or {mangle}.

	[{Jargon File}]

SCROLL

	String and Character Recording Oriented Logogrammatic
	Language.

	["SCROLL - A Pattern Recording Language", M. Sargent, Proc
	SJCC 36 (1970)].

	(1994-12-01)

scroll

	<interface> (From a scroll of paper) To change the portion of
	a document displayed in a window or on a {VDU} screen.  In a
	{graphical user interface}, scrolling is usually controlled by
	the user via {scroll bars}, whereas on a VDU the text scrolls
	up automatically as lines of data are output at the bottom of
	the screen.

	(2001-04-27)

scrollable list

	<operating system> A list of information in a {graphical user
	interface} with a {scroll bar}, often used to present a list
	of choices.

	(1999-10-03)

scroll bar

	<graphics> A {widget} found in {graphical user interfaces} and
	used to show and control ("scroll") which portion of a
	document is currently visible in a window.  A window may have
	a horizontal or, most often, vertical scroll bar or both.

	A vertical scroll bar is a narrow strip drawn up the side of
	the window containing a "bubble" whose position in the scroll
	bar represents the position of the visible part within the
	whole document.  By dragging the bubble with the mouse the
	user can scroll the view over the entire document.  Arrow
	buttons are usually provided at the end(s) of the scroll bar
	to allow the window to be scrolled by a small amount, e.g. one
	line of text, in either direction by clicking them with the
	mouse.  Some programs provide a second pair of buttons for
	scrolling a page at a time or some other unit.  Clicking on
	the scroll bar outside the bubble will either, depending on
	the particular {WIMP}, move the bubble to that point or move
	it some amount (typically a screenful) in that direction.

	Different {WIMP} systems define different standards for
	whether scroll bars appear on the left or right, top or bottom
	of the window, and for their behaviour.

	To reduce mouse movement, the up and down scroll buttons
	should either be next to each other at one end of the scroll
	bar (as in {NEXTSTEP}) or should reverse their effect when
	clicked with the right-hand mouse button (as in the {X Window
	System} and {RISC OS}).  The fraction of the scroll bar filled
	by the bubble should indicate the fraction of the document
	visible in the window.

	(1998-06-26)

scrolling

	<chat, games> To flood a {chat room} or {Internet game} with
	text or {macros} in an attempt to annoy the occupants.  This
	can often cause the chat room to be "uninhabitable" due to the
	"noise" created by the scroller.  Compare {spam}.

	(2001-03-27)

scrool

	/skrool/ [The pioneering Roundtable chat system in Houston
	ca. 1984; probably originated as a typo for "scroll"] The log
	of old messages, available for later perusal or to help one
	get back in synch with the conversation.  It was originally
	called the "scrool monster", because an early version of the
	roundtable software had a bug where it would dump all 8K of
	scrool on a user's terminal.

	[{Jargon File}]

scrozzle

	/skroz'l/ Used when a {self-modifying code} segment runs
	incorrectly and corrupts the running program or vital data.

	(1994-11-24)

scruffies

	{neats vs. scruffies}

SCSI

	{Small Computer System Interface}

SCSI-1

	<hardware> The original {SCSI}, as opposed to
	{SCSI-2} or {SCSI-3}.

	(1995-04-20)

SCSI-2

	<hardware> A version of the {SCSI} command
	specification.

	SCSI-2 shares the original SCSI's {asynchronous} and
	{synchronous} modes and adds a "{Fast SCSI}" mode (<10MB/s)
	and "{Wide SCSI}" (16 bit, <20MB/s or rarely 32 bit).

	Another major enhancement was the definition of command sets
	for different device classes.  SCSI-1 was rather minimalistic
	in this respect which led to various incompatibilities
	especially for devices other than {hard-disks}.  SCSI-2
	addresses that problem. allowing {scanners}, {hard disk
	drives}, {CD-ROM} drives, tapes and many other devices to be
	connected.

	Normal SCSI-2 equipment (not wide or {differential}) can be
	connected to a SCSI-1 bus and vice versa.

	(1995-04-19)

SCSI-3

	<hardware> An ongoing standardisation effort to
	extend the capabilities of {SCSI-2}.  SCSI-3's goals are more
	devices on a bus (up to 32); faster data transfer; greater
	distances between devices (longer cables); more device classes
	and command sets; structured documentation; and a structured
	{protocol} model.

	In SCSI-2, data transmission is parallel (8, 16 or 32 bit
	wide).  This gets increasingly difficult with higher data
	rates and longer cables because of varying signal delays on
	different wires.  Furthermore, wiring cost and drive power
	increases with wider data words and higher speed.  This has
	triggered the move to serial interfacing in SCSI-3.  By
	embedding clock information into a serial data stream signal
	delay problems are eliminated.  Driving a single signal also
	consumes less driving power and reduces connector cost and
	size.

	To allow for backward compatibility and for added flexibility
	SCSI-3 allows the use of several different transport
	mechanisms, some serial and some parallel.  The software
	{protocol} and command set is the same for each transport.
	This leads to a layered protocol definition similar to
	definitions found in networking.

	SCSI-3 is therefore in fact the sum of a number of separate
	standards which are defined by separate groups.  These
	standards and groups are currently:

	 X3T9.2/91-13R2   SCSI-3 Generic Packetized Protocol
	 X3T9.2/92-141    SCSI-3 Queuing Model
	 X3T9.2/92-079    SCSI-3 Architecture Model
	 IEEE P1394       High Performance Serial Bus
	 X3T9.2/92-106    SCSI-3 Block Commands
	 X3T9.2/91-189    SCSI-3 Serial Bus Protocol
	 X3T9.2/92-105    SCSI-3 SCSI-3 Core Commands
			  SCSI-3 Common Command Set
	 X3T9.2/92-108    SCSI-3 Graphic Commands
	 X3T9.2/92-109    SCSI-3 Medium Changer Commands
	 X3T9.2/91-11     SCSI-3 Interlocked Protocol
	 X3T9.2/91-10     SCSI-3 Parallel Interface
	 X3T9.2/92-107    SCSI-3 Stream Commands
			  SCSI-3 Scanner Commands

	Additional Documents for the Fibre Channel are also meant to
	be included in the SCSI-3 framework, i.e.:

			  Fibre Channel SCSI Mapping
			  Fibre Channel Fabric Requirements
			  Fibre Channel Low Cost Topologies
	 X3T9.3/92-007    Fibre Channel Physical and Signalling Interface
			  Fibre Channel Single Byte Commands
			  Fibre Channel Cross Point Switch Topology
	 X3T9.2/92-103    SCSI-3 Fibre Channel Protocol (GPP & SBP)

	As all of this is an ongoing effort of considerable
	complexity, document structure and workgroups may change.  No
	final standard is issued yet.

	In the meantime a group of manufacturers have proposed an
	extension of {SCSI-2} called {Ultra-SCSI} which doubles the
	transfer speed of {Fast-SCSI} to give 20MByte/s on an 8 bit
	connection and 40MByte/s on a 16-bit connection.

	[Hermann Strass: "SCSI-Bus erfolgreich anwenden",
	Franzis-Verlag Muenchen 1993].

	(1995-04-19)

SCSI adaptor

	<hardware> (Or "host adaptor") A device that communicates
	between a computer and its {SCSI} {peripherals}.  The SCSI
	adaptor is usually assigned {SCSI ID} 7.  It is often a
	separate card that is connected to the computer's {bus}
	(e.g. {PCI}, {ISA}, {PCMCIA}) though increasinly, SCSI
	adaptors are built in to the {motherboard}.  Apart from being
	cheaper, busses like PCI are too slow to keep up with the
	newer SCSI standards like {Ultra SCSI} and {Ultra-Wide SCSI}.

	There are several varieties of SCSI (and their connectors) and
	an adaptor will not support them all.

	The performance of SCSI devices is limited by the speed of the
	SCSI adaptor and its connection to the computer.  An adaptor
	that plugs into a parallel port is unlikely to be as fast as
	one incorporated into a motherboard.  Fast adaptors use {DMA}
	or {bus mastering}.

	Some SCSI adaptors include a {BIOS} to allow PCs to {boot}
	from a SCSI hard disk, if their own BIOS supports it.

	{Adaptec} make the majority of SCSI {chipsets} and many of the
	best-selling adaptors.

	Note that it is not a "SCSI controller" - it does not control
	the devices, and "SCSI interface" is redundant - the "I" of
	"SCSI" stands for "interface".

	(1999-11-24)

SCSI controller

	{SCSI adaptor}

SCSI ID

	<hardware> The unique address of a {SCSI} device.  SCSI IDs
	range from 0 to 7 for 8-bit SCSI systems, 0 to 15 for 16-bit
	and 0 to 31 for 32-bit systems.  The {SCSI adaptor} is
	usually assigned ID 7.  A device's SCSI ID is often set by
	switches on the device.

	(1999-09-01)

SCSI initiator

	<hardware> A device that begins a {SCSI} transaction by
	issuing a command to another device (the {SCSI target}),
	giving it a task to perform.  Typically a SCSI host adapter is
	the initiator but targets may also become initiators.

	(1999-02-10)

SCSI interface

	{SCSI adaptor}

SCSI reconnect

	<hardware> The ability of a {SCSI initiator} to initiate new
	transactions before earlier ones have completed.  A target or
	initiator can disconnect from the bus when it experiences a
	delay in completing a task so that another device can use the
	bus.  It can reconnect later and complete the task.

	(1999-02-16)

SCSI target

	<hardware> A {SCSI} device that executes a command from a
	{SCSI initiator} to perform some task.  Typically the target
	is a SCSI peripheral device but the {host adapter} can also be
	a target.

	(1999-02-10)

ScumOS

	<abuse, operating system> /skuhm'os/ or /skuhm'O-S/ An
	Unflattering hackerism for {SunOS}, the {Unix} variant once
	supported on {Sun Microsystems}'s Unix {workstations}.

	Despite what this term might suggest, Sun was founded by
	hackers and still enjoys excellent relations with hackerdom;
	usage is more often in exasperation than outright loathing.

	See also {sun-stools}.  Compare {AIDX}, {Macintrash}, {Nominal
	Semidestructor}, {Open DeathTrap}, {HP-SUX}.

	[{Jargon File}]

	(1995-04-19)

scuzzy

	The usual pronunciation of {SCSI}.

SD

	{Structured Design}

sd

	<networking> The {country code} for the Sudan.

	(1999-01-27)

SDDI

	{Sony Digital Data Interface}

SDE

	Software Development Environment: equivalent to SEE.

SDF

	Syntax Definition Formalism.  A language for lexical and
	syntactic specification.

	["The Syntax Definition Formalism SDF - Reference Manual",
	J. Heering et al, Centre for Math & CS, Amsterdam].

	["Algebraic Specification", J.A. Bergstra et al eds, ACM Press
	1989, Chap 6.  To appear].

	(1994-10-27)

SDH

	{Synchronous Digital Hierarchy}

SDI

	1. <library> {Selective Dissemination of Information}.

	2. <programming> {Single Document Interface}.

	(1999-03-30)

SDK

	{Software Developers Kit} (or "Software Development Kit").

SDL

	Specification and Design Language.

	Defined by the {ITU-T} (recommendation Z100) to provide a tool
	for unambiguous specification and description of the behaviour
	of telecommunications systems.  The area of application also
	includes process control and real-time applications.  SDL
	provides a Graphic Representation (SDL/GR) and a textual
	Phrase Representation (SDL/PR), which are equivalent
	representations of the same semantics.  A system is specified
	as a set of interconnected {abstract machines} which are
	extensions of the {Finite State Machine} (FSM).

	1. System Software Development Language.  System software for
	the B1700.  "System Software Development Language Reference
	Manual", 1081346, Burroughs Corp (Dec 1974).

	2. Specification and Description Language.  {ITU-T}.
	Specification language with both graphical and character-based
	syntaxes for defining interacting extended finite state
	machines.  Used to specify discrete interactive systems such
	as industrial process control, traffic control, and
	telecommunication systems.  Proc Plenary Assembly, Melbourne
	14-1988-11-25, Fasc X.1, CCITT.  "Telecommunications Systems
	Engineering Using SDL", R. Saracco et al, N-H 1989.  Available
	from Verilog, MD.  (See XDL).

	3. Shared Dataspace Language.  "A Shared Dataspace Language
	Supporting Large-Scale Concurrency", G. Roman et al, Proc 8th
	Intl Conf Distrib Comp Sys, IEEE 1988, pp.265-272.

	4. Structure Definition Language.  Used internally by DEC to
	define and generate the symbols used for VAX/VMS internal data
	structures in various languages.

	5. System Description Language.  language used by the Eiffel/S
	implementation of Eiffel to assemble clusters into a system.
	(see Lace).

SDL 92

	SDL[2] with object-orientation.

SDLC

	1. <communications> {Synchronous Data Link Control}.

	2. <programming> {Systems Development Life Cycle}.

	(2000-12-24)

SDM

	{Schematic Data Model}

SDMS

	A {query language}.

SDP

	{Service Discovery Protocol}

SDRAM

	{Synchronous Dynamic Random Access Memory}

SDRC

	<company> The company behind {VGX}.

	{(http://sdrc.com/)}.

	[More details?]

	(1998-02-06)

SDR-RAM

	{Single Data Rate Random Access Memory}

SDR-SDRAM

	{Single Data Rate Random Access Memory}

SDS

	1. <company> {Scientific Data Systems}.

	2. <tool> {Schema Definition Set}.

	(2001-03-03)

SDS 92

	<computer> A 12-bit computer from {Scientific Data Systems}
	which preceded the {Xerox Data Systems Model 940}.

	(2001-03-03)

SDS 940

	{Xerox Data Systems Model 940}

SDSL

	{Single-line Digital Subscriber Line}

SE

	1. <software> {software engineering}.

	2. {IBM Systems Engineer}.

	(1998-07-08)

se

	<networking> The {country code} for Sweden.

	(1999-01-27)

SEA

	{Self Extracting Archive}

Seagate Technology

	<company> A major manufacturer of {hard disk drives}, founded
	in 1979 as "Shugart Technology" by {Alan F. Shugart} and
	{Finis Conner}.  That name is on the original patents for the
	5.25" hard disk drive.  They changed the name to Seagate
	Technology soon after to avoid confusion, and also to avoid
	friction with {Xerox}, which had since purchased Alan's
	earlier company, {Shugart Associates}.

	{(http://seagate.com/)}.

	{Technical information at Impediment
	(http://impediment.com/seagate/)}.

	Address: 920 Disc Drive, Scotts Valley, CA 95066, USA.

	Fax: +1 (408) 438 3320.

	(2000-02-09)

SEAL

	Semantics-directed Environment Adaptation Language.

	{(ftp://ftp.cwi.nl/pub/gipe/0092b.ps.Z)}.

search

	1. <web> {web search}.

	2. <computability> {search problem}.

	3. <theory> {search algorithm}.

search algorithm

	<theory> Any {algorithm} for identifying a solution to a
	problem (a {search problem}) out of a {space} of potential
	solutions by considering several potential solutions until one
	is found that meets certain criteria.

	See {A* search}, {beam search}, {best-first search},
	{breadth-first search}, {depth-first search}.

	(2007-11-03)

search-and-destroy mode

	Hackerism for a noninteractive search-and-replace facility in
	an editor, so called because an incautiously chosen match
	pattern can cause {infinite} damage.

	[{Jargon File}]

search engine

	<web, tool, information science> A remotely
	accessible program that lets you do keyword searches for
	information on the {Internet}.  There are several types of
	search engine; the search may cover titles of documents,
	{URLs}, headers, or the {full text}.

	{A list of search engines
	(http://cuiwww.unige.ch/meta-index.html#MISC)}, Centre
	Universitaire d'Informatique at the University of Geneva

	(1995-11-28)

search problem

	<computability> A computational problem that requires
	identifying a solution from some, possibly infinite, solution
	{space} (set of possible solutions).  E.g. "What is the
	millionth {prime number}?".  This contrasts with a {decision
	problem} which merely asks whether a given answer is a
	solution or not.

	(1999-02-15)

search term

	<information science> An element of a search or query.  A
	search term is the basic building block of a {boolean search}
	or a {weighted search}.  In a search engine a search term is
	typically a word, phrase, or pattern match expression.  For
	example: cosmonaut or "space travel" or astronaut*

	In a {database} a term is typically the comparison of a column
	with a constant or with another column.  For example:
	last_name like 'Smith%'

	(1999-08-27)

{searchTerms}

	<web> The placeholder or {variable} used in the <Url> element of
	an {OpenSearchDescription} {XML} file to show where the user's
	actual {search terms} should go.  For example, this dictionary's
	Open Search description (published in file {(/search.xml)})
	includes the following element:

	 <Url type="text/html" template="http://foldoc.org/{searchTerms}" />

	meaning that to search for, say, "foo", you should go to
	http://foldoc.org/foo.

	You may have reached this page because you were trying to use some
	system based on {Open Search} and failed to supply any search term
	to substitute into the URL.

	{Open Search reference (http://www.opensearch.org/Specifications/OpenSearch/1.1#The_.22Url.22_element)}.

	(2014-08-22)

Search The Fucking Web

	<web, jargon> (Always abbreviated STFW) A response implying that
	an inquirer could have easily found an answer to his question
	using {Google} or some other {web} {search engine}.  It
	is now often quicker and more productive to search the {World-Wide
	Web} than to {RTFM}.

	{JFGI}, {GIYF} and {lmgtfy.com} convey the same message.

	(2014-05-23)

SEC

	{Single Edge Contact Cartridge}

SECC

	{Single Edge Contact Cartridge}

SECD machine

	{Stack Environment Control Dump machine}

secondary cache

	<memory management> (Or "second level cache", "level two
	cache", "L2 cache") A larger, slower {cache} between the
	{primary cache} and main memory.  Whereas the {primary cache}
	is often on the same {integrated circuit} as the {central
	processing unit} (CPU), a secondary cache is usually external.

	(1997-06-25)

secondary damage

	When a fatal error occurs (especially a {segfault}) the
	immediate cause may be that a pointer has been trashed due to
	a previous {fandango on core}.  However, this fandango may
	have been due to an *earlier* fandango, so no amount of
	analysis will reveal (directly) how the damage occurred.  "The
	data structure was clobbered, but it was secondary damage."

	By extension, the corruption resulting from N cascaded
	fandangoes on core is "Nth-level damage".  There is at least
	one case on record in which 17 hours of {grovel}ling with
	"adb" actually dug up the underlying bug behind an instance of
	seventh-level damage!  The hacker who accomplished this
	near-superhuman feat was presented with an award by his
	fellows.

	[{Jargon File}]

secondary key

	<database> A {candidate key} which is not selected as a
	{primary key}.

	(1997-04-26)

secondary storage

	<storage> Any {non-volatile} storage medium that is not
	directly accessible to the {processor}.  Memory directly
	accessible to the processor includes {main memory}, {cache}
	and the {CPU} {registers}.  Secondary storage includes {hard
	drives}, {magnetic tape}, {CD-ROM}, {DVD drives}, {floppy
	disks}, {punch cards} and {paper tape}.

	Secondary storage devices are usually accessed via some kind
	of controller.  This contains registers that can be directly
	accessed by the CPU like main memory ("{memory mapped}").
	Reading and writing these registers can cause the device to
	perform actions like reading a block of data off a disk or
	rewinding a tape.  See also {DMA}.

	Programs and data stored in secondary storage must first be
	loaded into main memory before the processor can use them.

	(1997-11-05)

second generation

	1. <language> {second generation language}.

	2. <architecture> {second generation computer}.

second generation computer

	<architecture> A computer built from {transistors}, designed
	between the mid-1950s and mid-1960s.

	{Ferrite core memory} and {magnetic drums} replaced {cathode
	ray tubes} and {delay-line storage} for main {memory}.  {Index
	registers} and {floating point} arithmetic hardware became
	widespread.  Machine-independent {high level programming
	languages} such as {ALGOL}, {COBOL} and {Fortran} were
	introduced to simplify programming.

	{I/O processors} were introduced to supervise input-output
	operations independently of the {CPU} thus freeing the CPU
	from time-consuming housekeeping functions.  The CPU would
	send the I/O processor an initial instruction to start
	operating and the I/O processor would then continue
	independently of the CPU.  When completed, or in the event of
	an error, the I/O processor sent an {interrupt} to the CPU.

	{Batch} processing became feasible with the improvement in I/O
	and storage technology in that a batch of jobs could be
	prepared in advance, stored on magnetic tape and processed on
	the computer in one continuous operation placing the results
	on another magnetic tape.  It became commonplace for
	auxiliary, small computers to be used to process the input and
	output tapes off-line thus leaving the main computer free to
	process user programs.  Computer manufacturers began to
	provide system software such as {compilers}, {subroutine}
	libraries and batch monitors.

	With the advent of second generation computers it became
	necessary to talk about computer systems, since the number of
	memory units, processors, I/O devices, and other system
	components could vary between different installations, even
	though the same basic computer was used.

	The instruction repertoire of the {IBM 7094} (a typical second
	generation machine) had over 200 instructions including data
	transfer instructions for transferring a {word} of information
	between the CPU and memory or between two CPU registers;
	fixed-point and floating point arithmetic instructions;
	{logic} instructions (AND, OR etc.); instructions for
	modifying {index registers}; conditional and unconditional
	branching; {subroutines}; input-output operations for
	transferring data between I/O devices and main memory.

	(1996-11-25)

second generation language

	{assembly language}

	See also {first generation language}, {third generation
	language}.

second level cache

	{secondary cache}

second normal form

	{database normalisation}

Second-Order Lambda-calculus

	<language> (SOL) A {typed lambda-calculus}.

	["Abstract Types have Existential Type", J. Mitchell et al,
	12th POPL, ACM 1985, pp. 37-51].

	(1995-07-29)

second-system effect

	(Sometimes, more euphoniously, "second-system syndrome") When
	one is designing the successor to a relatively small, elegant,
	and successful system, there is a tendency to become grandiose
	in one's success and design an {elephantine} feature-laden
	monstrosity.  The term was first used by Fred Brooks in his
	classic "{The Mythical Man-Month}.  It described the jump from
	a set of nice, simple operating systems on the {IBM 70xx}
	series to {OS/360} on the 360 series.  A similar effect can
	also happen in an evolving system; see {Brooks's Law},
	{creeping elegance}, {creeping featurism}.  See also
	{Multics}, {OS/2}, {X}, {software bloat}.

	[{Jargon File}]

sector interleave

	(Or sector map) The mapping from logical to physical sector
	numbers on a {magnetic disk} designed to optimise sequential
	reads and writes.  Data is usually transferred to and from the
	disk in {blocks} or {sectors} where one sector lies within a
	continuous range of rotational angle of the disk.  If logical
	sectors are assigned sequentially to physical sectors
	(0,1,2,...) then by the time one sector has been read and
	processed (e.g. writen to main memory) the start of the next
	logical sector will have passed the read/write head and will
	not be accessible until the disk's rotation brings it back
	under the head.

	Staggering the physical sectors (e.g. 0,3,6,1,4,7,2,5,8) aims
	to allow just enough time deal with one sector before the next
	is accessible.  This obviously depends on the relative speed
	of the rotation of the disk, sector size, sectors per track
	and the speed of transfer of sectors to main memory.

sector interleaving

	{sector interleave}

sector map

	{sector interleave}

sector mapping

	In this scheme the memory and {cache} are divided into blocks
	of 2^m bytes (the {cache line} size).  A sector consists of
	2^n consecutive blocks.

	When a block is cached, it is read into the correct position
	in any sector of the cache, given by discarding the bottom m
	address bits and taking the next n as the block number within
	the sector.

	That whole sector is then tagged with the remaining upper
	address bits and the other blocks in the sector are marked as
	invalid.  This scheme takes advantage of locality of reference
	to consecutive blocks and needs fewer tags thus reducing the
	cost of associative access to the tags.

Secure File Transfer Protocol

	{SSH File Transfer Protocol}

Secure Hash Algorithm

	<algorithm, cryptography} (SHA)	A {one-way hash function}
	developped by {NIST} and defined in standard {FIPS} 180.
	SHA-1 is a revision published in 1994; it is also described
	in {ANSI} standard X9.30 (part 2).

	(2003-04-12)

Secure Multipurpose Internet Mail Extensions

	<messaging, standard> (S-MIME) A specification for secure
	{electronic mail}.  S-MIME was designed to add security to
	e-mail messages in {MIME} format.  The security services
	offered are {authentication} (using {digital signatures}) and
	{privacy} (using {encryption}).

	{(http://rsa.com/rsa/S-MIME/)}.

	(1997-05-10)

Secure Shell

	<operating system> (ssh) A {Unix} {shell} program for logging
	into, and executing commands on, a remote computer.  ssh is
	intended to replace {rlogin} and {rsh}, and provide secure
	encrypted communications between two untrusted hosts over an
	insecure network.  {X11} connections and arbitrary {TCP/IP}
	{ports} can also be forwarded over the secure channel.

	{(http://cs.hut.fi/ssh/)}.

	(1997-01-07)

Secure Sockets Layer

	<networking, security> (SSL) A {protocol} designed by
	{Netscape Communications Corporation} to provide secure
	communications over the {Internet} using {asymmetric key
	encryption}.  SSL is layered beneath application {protocols}
	such as {HTTP}, {SMTP}, {Telnet}, {FTP}, {Gopher} and {NNTP}
	and is layered above the connection protocol {TCP/IP}.  It is
	used by the {HTTPS} {access method}.

	(2007-05-25)

security

	<security> Protection against unauthorized access to, or
	alteration of, information and system resources including
	{CPUs}, {storage devices} and programs.

	Security includes:

	* {confidentiality} - preventing unauthorized access;
	{integrity} - preventing or detecting unauthorized
	modification of information.

	* {authentication} - determining whether a user is who they
	claim to be.

	* {access control} - ensuring that users can access the
	resources, and only the resources, that they are authorised
	to.

	* {nonrepudiation} - proof that a message came from a certain
	source.

	* availability - ensuring that a system is operational and
	accessible to authorised users despite hardware or software
	failures or attack.

	* privacy - allowing people to know and control how
	information is collected about them and how it is used.

	Security can also be considered in the following terms:

	* physical security - who can touch the system to operate or
	modify it, protection against the physical environment - heat,
	earthquake, etc.

	* operational/procedural security - who is authorised to do or
	responsible for doing what and when, who can authorise others
	to do what and who has to report what to who.

	* personnel security - hiring employees, background screening,
	training, security briefings, monitoring and handling
	departures.

	* System security - User access and authentication controls,
	assignment of privilege, maintaining file and {filesystem}
	integrity, {backup}, monitoring processes, log-keeping, and
	{auditing}.

	* {network security} - protecting network and
	telecommunications equipment, protecting network servers and
	transmissions, combatting eavesdropping, controlling access
	from untrusted networks, firewalls, and intrusion detection.

	{Encryption} is one important technique used to improve data
	security.

	{OWASP} is the {free} and {open} application security
	community.

	(2007-10-05)

Security Administrator's Integrated Network Tool

	<networking, security, tool> (SAINT, originally "Security
	Administrator Tool for Analyzing Networks", SATAN) A tool
	written by Dan Farmer and Wietse Venema which remotely probes
	systems via the {network} and stores its findings in a
	{database}.  The results can be viewed with an {web browser}.
	SAINT requires {Perl} 5.000 or better.

	In its simplest mode, SAINT gathers as much information about
	remote hosts and networks as possible by examining such
	network services as {finger}, {NFS}, {NIS}, {FTP}, {TFTP},
	{rexd}, and other services.  The information gathered includes
	the presence of various network information services as well
	as potential security flaws - usually in the form of
	incorrectly setup or configured network services, well-known
	{bugs} in system or network utilities, or poor or ignorant
	policy decisions.  It can then either report on this data or
	use a simple rule-based system to investigate any potential
	security problems.  Users can then examine, query, and analyze
	the output with a {web browser}.  While the program is
	primarily geared toward analysing the security implications
	of the results, a great deal of general network information
	can be gained when using the tool - network topology, network
	services running, and types of hardware and software being
	used on the network.

	SAINT can also be used in exploratory mode.  Based on the
	initial data collection and a user configurable ruleset, it
	will examine the avenues of trust and dependency and iterate
	further data collection runs over secondary hosts.  This not
	only allows the user to analyse his own network, but also to
	examine the real implications inherent in network trust and
	services and help them make reasonably educated decisions
	about the security level of the systems involved.

	{(http://wwdsi.com/saint/)}.

	{Old SATAN page (http://fish.com/satan/)}.

	{Mailing list (http://wwdsi.com/saint/list_server.html)}.

	(2000-08-12)

Security Association

	<networking> The relationship between two or more entities
	(typically, a computer, but could be a user on a computer, or
	software component) which describes how the entities will use
	security services, such as {encryption}, to communicate.

	See {RFC 1825}.

	(1997-07-09)

Security Association ID

	<networking> (SAID) A 32-bit field added to {packet} headers
	for {encryption} and {authentication} in the proposed
	{Internet Protocol Version 6}.

	(1997-07-09)

security through obscurity

	<security> Or "security by obscurity".  A term applied by
	hackers to most {operating system} vendors' favourite way of
	coping with security holes - namely, ignoring them,
	documenting neither any known holes nor the underlying
	security {algorithms}, trusting that nobody will find out
	about them and that people who do find out about them won't
	exploit them.  This never works for long and occasionally sets
	the world up for debacles like the {RTM} worm of 1988 (see
	{Great Worm}), but once the brief moments of panic created by
	such events subside most vendors are all too willing to turn
	over and go back to sleep.  After all, actually fixing the
	bugs would siphon off the resources needed to implement the
	next user-interface frill on marketing's wish list - and
	besides, if they started fixing security bugs customers might
	begin to *expect* it and imagine that their warranties of
	merchantability gave them some sort of rights.

	Historical note: There are conflicting stories about the
	origin of this term.  It has been claimed that it was first
	used in the {Usenet} newsgroup in {news:comp.sys.apollo}
	during a campaign to get {HP}/{Apollo} to fix security
	problems in its {Unix}-{clone} {Aegis}/{DomainOS} (they didn't
	change a thing).  {ITS} fans, on the other hand, say it was
	coined years earlier in opposition to the incredibly paranoid
	{Multics} people down the hall, for whom security was
	everything.  In the ITS culture it referred to (1) the fact
	that by the time a {tourist} figured out how to make trouble
	he'd generally got over the urge to make it, because he felt
	part of the community; and (2) (self-mockingly) the poor
	coverage of the documentation and obscurity of many commands.
	One instance of *deliberate* security through obscurity is
	recorded; the command to allow patching the running ITS system
	({altmode} altmode control-R) echoed as $$^D.  If you actually
	typed alt alt ^D, that set a flag that would prevent patching
	the system even if you later got it right.

	[{Jargon File}]

	(1994-12-15)

SED

	{smoke-emitting diode}

Sed

	<tool, text> Stream editor.

	The {Unix} stream editor.  It has a powerful but cryptic
	command language and is based on {regular expressions}.

	There is a {GNU} version called {GNU Sed}.

	[{Jargon File}]

	(1994-11-03)

SEE

	1. {Simultaneous Engineering Environment}.

	2. {Software Engineering Environment}.

	(1999-04-26)

seed

	{BitTorrent}

seek

	1. <storage> To move the head of a {disk drive} radially,
	i.e., to move from one {track} to another.

	2. <storage> To wind the {tape} to a given location.

	3. <programming> To move the pointer that marks the next {byte}
	to be read from or written to a {file}.

	(1997-07-15)

seeking

	{seek}

seek time

	<storage> The time it takes for a {disk drive} to move its
	head(s) from one {track} to another.  The seek time depends on
	the power of the servo, the mass of the heads, the number of
	tracks traversed and the time taken to position the heads over
	the target track accurately enough to start data transfer.

	See also: {average seek time}, {minimum seek time}, {maximum
	seek time}.

	(1997-07-15)

SEESAW

	<language> An early system on the {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-15)

see u see me

	{CU-SeeMe}

SEGA

	<company, games> manufacturer of video game hardware and
	software.

	{Usenet} newsgroup: {news:rec.games.video.sega}.

	(1995-03-01)

Sega Genesis/MegaDrive

	<games> A {games console} made by {SEGA}.

	The Genesis used a {Zilog Z80} for its sound generator.  This
	made the Genesis compatible with {Sega Master System} games
	through a device called a "Power Base Converter" which
	basically shut down the Genesis/MegaDrive's {68000} {CPU} and
	made the Z80 the CPU.

	(2008-07-28)

segfault

	{segmentation fault}

seggie

	/seg'ee/ British shorthand for a {Unix} {segmentation fault}.

	[{Jargon File}]

	(1994-12-15)

segment

	/seg'ment/ 1. <architecture> A collection of {pages} in a
	{memory management} system.

	2. <programming> A separately relocatable section of an
	executable program.  {Unix} executables have a {text segment}
	(executable {machine instructions}), a {data segment}
	(initialised data) and a {bss segment} (uninitialised data).

	3. <networking> {network segment}.

	4. To experience a {segmentation fault}.  Confusingly, the stress
	is often put on the first syllable, like the noun "segment",
	rather than the second like mainstream verb "segment".  This
	is because it is actually a noun shorthand that has been
	verbed.

	5. A block of memory in a {segmented address space}.

	[{Jargon File}]

	(2004-02-27)

segmentation

	<networking> (Or "segmentation and reassembly", SAR) Breaking
	an arbitrary size {packet} into smaller pieces at the
	transmitter.  This may be necessary because of restrictions in
	the communications channel or to reduce {latency}.  The pieces
	are joined back together in the right order at the receiver
	("reassembly").  Segmentation may be performed by a {router}
	when routing a packet to a network with a smaller maximum
	packet size.

	The term "segmentation" is used in {ATM}, in {TCP/IP}, it is
	called "fragmentation" an is performed at the {IP} layer
	before the "fragments" are passed to the {transport layer}.

	See for example {ATM forum} {UNI} 4.0 specification.

	[Better reasons?]

	(1999-06-14)

segmentation and reassembly

	{segmentation}

segmentation fault

	An error in which a running {Unix} program attempts to access
	memory not allocated to it and terminates with a segmentation
	violation error and usually a {core dump}.

	[{Jargon File}]

	(1994-12-15)

segmented address space

	<architecture> An addressing scheme where all memory
	references are formed by adding an offset to a base address
	held in a segment {register}.

	The effect is to segment memory into blocks, which may overlap
	either partially or completely, depending on the contents of
	the segment registers but normally they would be distinct to
	give access to the maximum total range of addresses.  In this
	case the scheme does provide some degree of {memory
	protection} within a single process since, for example, a data
	reference cannot affect an area of memory containing code.
	However, compilers must either generate slower code or code
	with artificial limits on the size of {data structures}.

	The best known implementation is that used on the {Intel 8086}
	and later Intel {microprocessors}, where a 16-bit {offset} is
	added to a 16-bit base address held in one of four segment
	base registers.  Each instruction has a default segment (code
	(CS), data (DS), stack (SS), ? (ES)) which determines which
	segment register is used.  Special prefix instructions allow
	this default to be overridden.

	Other computers, such as {GE-645}/{Honeywell Multics},
	{Burroughs} large systems ({B-5500}, {B-6600}), and others,
	have used segmentation to good effect.

	Opposite: {flat address space}.  See also {addressing mode}.

	[In what way were the others better than Intel's {brain
	damaged} implementation?].

	(2004-06-01)

segv

	/seg'vee/ segmentation violation.

	{segmentation fault}

	(1994-12-15)

SEI

	Software Engineering Institute.

	(Carnegie Mellon University).

Seiko RC-4000

	A wristwatch with an {EIA-232} interface.  A clip fitted round
	the watch and made electrical contact.  This clip had a socket
	for a stereo style jack lead the other end of which was a
	25-way {D-type} connector.  The lead allowed you to enter
	phone numbers etc. into the watch without having to play with
	tiny buttons.  It also meant if the battery on your watch ran
	out you could restore the data without having to type it all
	in again.

	It was around the era of the 8-bit home computers like the
	{Spectrum}, {BBC Microcomputer}, {Apple II}, {C64} - the
	1980s.

	(1995-01-30)

SEL

	1. {Self-Extensible Language}.

	2. {Subset-Equational Language}.

Selective Dissemination of Information

	<library> (SDI) (From Library Science) SDI is a current
	awareness system which alerts you to the latest publications
	in your specified field(s) of interest.

	A user registers at such a system with keywords representing
	his or her fields of interest, called a search profile.  When
	new publications matching the search profile appear, the
	system informs the user of them instantly, periodically or
	upon request.  Some systems may also be able to inform the
	user if changes in already notified publications occur.

	{Health Science Library SDI
	(http://www-hsl.mcmaster.ca/sdi.html)}.  {FIZ Karlsruhe
	Scientific Service Institution
	(http://fiz-karlsruhe.de/mc-sdi.html)}.

	(1997-03-10)

selector

	<programming> 1. In {Smalltalk} or {Objective C}, the {syntax}
	of a message which selects a particular {method} in the target
	{object}.

	2. An operation that returns the state of an object but does
	not alter that state.  Selector {functions} or {methods} often
	have names which begin with "get" and corresponding {modifier}
	methods or {procedures} whose names begin with "set".

	(1998-01-12)

Self

	<language> A small, {dynamically typed} {object-oriented
	language}, based purely on {prototypes} and {delegation}.
	Self was developed by the Self Group at {Sun Microsystems
	Laboratories, Inc.} and {Stanford University}.  It is an
	experimental {exploratory programming} language.

	Release 2.0 introduces full {source-level debugging} of
	optimised code, adaptive optimisation to shorten compile
	pauses, {lightweight threads} within Self, support for
	dynamically linking {foreign functions}, changing programs
	within Self and the ability to run the experimental Self
	graphical browser under {OpenWindows}.  Designed for
	expressive power and malleability, Self combines a pure,
	{prototype}-based object model with uniform access to state
	and behaviour.  Unlike other languages, Self allows objects to
	inherit state and to change their patterns of inheritance
	dynamically.  Self's customising compiler can generate very
	efficient code compared to other dynamically-typed
	object-oriented languages.

	Version: 3.0 runs on {Sun-3} (no optimiser) and {Sun-4}.

	{(http://sunlabs.com/research/self/)}.

	["Self: The Power of Simplicity", David Ungar
	<ungar@sun.eng.com> et al, SIGPLAN Notices 22(12):227-242,
	OOPSLA '87, Dec 1987].

	(1999-06-09)

Self-Extensible Language

	["SEL - A Self-Extensible Programming Language", G. Molnar,
	Computer J 14(3):238-242 (Aug 1971)].

	(1994-12-15)

Self Extracting Archive

	<file format> (SEA) An {archive} format used on the {Apple
	Macintosh}.  {Double-click}ing a file of this type should
	extract its contents.

	(1995-05-02)

self-reference

	See {self-reference}.

	[{Jargon File}]

selvage

	{chad}

SEM

	The semantic specification language for {COPS}.

	["Metalanguages of the Compiler Production System COPS",
	J. Borowiec, in GI Fachgesprach "Compiler-Compiler", ed
	W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].

semantic gap

	The difference between the complex operations performed by
	{high-level language} constructs and the simple ones provided
	by computer {instruction sets}.  It was in an attempt to try
	to close this gap that computer architects designed
	increasingly {complex instruction set computers}.

	(1994-10-10)

semantic network

	<data> A {graph} consisting of {nodes} that represent physical
	or conceptual objects and arcs that describe the relationship
	between the nodes, resulting in something like a data flow
	diagram.  Semantic nets are an effective way to represent data
	as they incorporate the inheritance mechanism that prevents
	duplication of data.  That is, the meaning of a concept comes
	from its relationship to other concepts and the information is
	stored by interconnecting nodes with labelled arcs.

	(1999-01-07)

semantics

	<theory> The meaning of a string in some language, as opposed
	to {syntax} which describes how symbols may be combined
	independent of their meaning.

	The semantics of a programming language is a function from
	programs to answers.  A program is a {closed term} and, in
	practical languages, an answer is a member of the syntactic
	category of values.  The two main kinds are {denotational
	semantics} and {operational semantics}.

	(1995-06-21)

semaphore

	<programming, operating system> The classic method for
	restricting access to shared resources (e.g. storage) in a
	{multi-processing} environment.  They were invented by
	{Dijkstra} and first used in {T.H.E} {operating system}.

	A semaphore is a {protected variable} (or {abstract data
	type}) which can only be accessed using the following
	operations:

		P(s)
		Semaphore s;
		{
		  while (s == 0) ;	/* wait until s>0 */
		  s = s-1;
		}

		V(s)
		Semaphore s;
		{
		  s = s+1;
		}

		Init(s, v)
		Semaphore s;
		Int v;
		{
		  s = v;
		}

	P and V stand for Dutch "Proberen", to test, and "Verhogen",
	to increment.  The value of a semaphore is the number of units
	of the resource which are free (if there is only one resource
	a "binary semaphore" with values 0 or 1 is used).  The P
	operation {busy-waits} (or maybe {sleeps}) until a resource is
	available whereupon it immediately claims one.  V is the
	inverse, it simply makes a resource available again after the
	process has finished using it.  Init is only used to
	initialise the semaphore before any requests are made.  The P
	and V operations must be {indivisible}, i.e. no other process
	can access the semaphore during the their execution.

	To avoid {busy-wait}ing, a semaphore may have an associated
	{queue} of processes (usually a {FIFO}).  If a process does a
	P on a semaphore which is zero the process is added to the
	semaphore's queue.  When another process increments the
	semaphore by doing a V and there are tasks on the queue, one
	is taken off and resumed.

	(1995-02-01)

semi

	/se'mee/ or /se'mi:/ A spoken abbreviation for semicolon.

	"Commands to {grind} are prefixed by semi semi star" means
	that the prefix is ";;*", not 1/4 of a star.

	[{Jargon File}]

	(1995-01-31)

Semi-Automatic Ground Environment

	<project> (SAGE) The computer system of the old US Norad air
	defence system.  SAGE was ground-breaking in many ways, such
	as being one of the first very large software projects and the
	first {real-time} system.

	{MIT Lincoln Laboratory} developed SAGE and {MITRE
	Corporation} was responsible for system engineering and
	implementation oversight.

	{(http://togger.com/)},
	{(http://jps.net/ethelen/sage.html)},
	{(http://eskimo.com/%7Ewow-ray/sage28.html)}.

	[Confirm?  Dates?  Connection with MIT Research Laboratory for
	Electronics?]

	(1999-12-16)

semicolon

	;

	Common: {ITU-T}: semicolon; {semi}.  Rare: weenie; {INTERCAL}:
	hybrid, pit-thwong.

semiconductor

	<electronics> A material, typically crystaline, which allows
	{current} to flow under certain circumstances.  Common
	semiconductors are silicon, germanium, gallium arsenide.
	Semiconductors are used to make {diodes}, {transistors} and
	other basic "solid state" electronic components.

	As crystals of these materials are grown, they are "doped"
	with traces of other elements called {donors} or {acceptors}
	to make regions which are n- or p-type respectively for the
	{electron model} or p- or n-type under the {hole model}.
	Where n and p type regions adjoin, a junction is formed which
	will pass {current} in one direction (from p to n) but not the
	other, giving a {diode}.

	One {model} of semiconductor behaviour describes the doping
	elements as having either {free electrons} or {holes} dangling
	at the points in the crystal lattice where the doping elements
	replace one of the atoms of the foundation material.  When
	external electrons are applied to n-type material (which
	already has free electrons present) the repulsive force of
	like charges causes the free electrons to migrate toward the
	junction, where they are attracted to the holes in the p-type
	material.  Thus the junction conducts current.

	In contrast, when external electrons are applied to p-type
	material, the attraction of unlike charges causes the holes to
	migrate away from the junction and toward the source of
	external electrons.  The junction thus becomes "depleted" of
	its charge carriers and is non-conducting.

	(1995-10-04)

Semidetached Mode

	<programming> A term used by {COCOMO} to describe a project
	development somewhere between organic and embedded.  The team
	members have a mixture of experienced and inexperienced
	personnel.  The software to be developed has some
	characteristics of both organic and embedded modes.
	Semidetached software can be as large as 300K {DSIs}.

	(1996-05-29)

SENDIT

	Systems Engineering for Network Debugging, Integration and
	Test.  A two-year European Commission funded project to
	produce software tools for distributed applications running on
	networks of microcontrollers.

	(1994-07-21)

sendmail

	<messaging> The {BSD} Unix {Message Transfer Agent} supporting
	mail transport via {TCP/IP} using {SMTP}.  Sendmail is
	normally invoked in the {background} via a {Mail User Agent}
	such as the {mail} command.

	Sendmail was written by {Eric Allman} at the {University of
	California at Berkeley} during the late 1970s.  He now has his
	own company, {Sendmail Inc.}

	Sendmail was one of the first programs to route messages
	between {networks} and today is still the dominant e-mail
	transfer software.  It thrived despite the awkward {ARPAnet}
	transition between {NCP} to TCP protocols in the early 1980s
	and the adoption of the new SMTP Simple Mail Transport
	Protocol, all of which made the business of mail routing a
	complex challenge of backward and forward compatibility for
	several years.  There are now over one million copies of
	Sendmail installed, representing over 75% of all Internet mail
	servers.

	Simultaneously with the announcement of the company in
	November 1997, Sendmail 8.9 was launched, featuring new tools
	designed to limit {junk e-mail}.  SendMail 8.9 is still
	distributed as {source code} with the rights to modify and
	distribute.

	Latest version: 8.9.1, as of 1998-08-25.

	The command

		sendmail -bv ADDRESS

	can be used to learn what the local mail system thinks of
	ADDRESS.  You can also talk to the Sendmail {daemon} on a
	remote host FOO with the command

		telnet FOO 25

	(1998-08-25)

sendmail.cf

	<messaging> {sendmail}'s configuration file, which it reads
	once when starting up, usually found in the /etc directory.

	Only real {Unix Gurus} can understand, let alone modify, this
	file since it consists moslty of {header} {rewrite rules}
	written as {M4} {macros}, as well as various other one- or
	two-character commands.

	(1996-12-09)

Sendmail Inc.

	<company> The company, announced in November 1997 and launched
	in March 1998, created by {Eric Allman}, the original author
	of {Sendmail}.  Allman is Chief Technology Officer, {Greg
	Olson} is President and CEO.

	Sendmail Inc. will sell commercial upgrades, service and
	support to {Internet Service Providers} and corporations
	running critical {e-mail} applications, while still continuing
	{freeware} development.

	{Sun Microsystems} founders {Bill Joy} and Andy Bechtolscheim
	are among the investors in the company, along with Tim
	O'Reilly of publishers O'Reilly & Associates and John Funk of
	e-mail company {InfoBeat Inc.}.

	Allman said that he devoted the fist six months of the life of
	Sendmail Inc. to finalising the freeware release.  A
	commercial version was due in summer 1998, at around $1000 per
	server.  The company is expected to reach $40m annual sales
	within three years.  Funding is in the region of $1.25m.

	{(http://sendmail.com/)}.

	Address: Emeryville, California, USA.

	(1998-08-25)

Seneca

	{Oberon-V}

senior bit

	[IBM]  Synonym {meta bit}.

	[{Jargon File}]

sense

	<human language> A meaning of a word.

	(2007-05-03)

sensor

	<hardware> An electronic device used to measure a physical
	quantity such as temperature, pressure or loudness and convert
	it into an electronic signal of some kind (e.g a voltage).
	Sensors are normally components of some larger electronic
	system such as a computer control and/or measurement system.

	Analog sensors most often produce a voltage proportional to
	the measured quantity.  The signal must be converted to
	digital form with a {ADC} before the CPU can process it.

	Digital sensors most often use serial communication such as
	{EIA-232} to return information directly to the controller or
	computer through a {serial port}.

	(1997-04-15)

sentence

	<logic> A collection of {clauses}.

	See also {definite sentence}.

	(2003-12-04)

SE-ODP

	Support Environment for Open Distributed Processing.  An
	{ECMA} {standard}.

SEP

	1. Someone Else's Problem.

	2. <tool> A {SASD} tool from {IDE}.

	(1995-10-12)

separate compilation

	<programming> A feature of most modern programming languages
	that allows each program {module} to be compiled on its own to
	produce an {object file} which the {linker} can later combine
	with other object files and {libraries} to produce the final
	{executable}.  Separate compilation avoids processing all the
	source code every time the program is built, thus saving
	development time.  The object files are designed to require
	minimal processing at {link time}.  They can also be collected
	together into {libraries} and distributed commercially without
	giving away source code (though they can be disassembled).

	Examples of the output of separate compilation are {C} object
	files (extension ".o") and {Java} ".class" files.

	(2005-02-19)

SEPIA

	Standard ECRC Prolog Integrating Applications.  Prolog with
	many extensions including attributed variables ("metaterms")
	and declarative coroutining.  "SEPIA", Micha Meier
	<micha@ecrc.de> et al, TR-LP-36 ECRC, March 1988.  Version 3.1
	available for Suns and VAX.  (See ECRC-Prolog).  E-mail:
	<sepia-request@ecrc.de>.

SEPP

	{Single Edge Processor Package}

Seque

	"Seque: A Programming Language for Manipulating Sequences",
	R.E.  Griswold et al, Comp Langs 13(1):13-22 (1988).

Sequel

	1. Precursor to SQL.

	["System R: Relational Approach to Database Management", IBM
	Res Lab, San Jose, reprinted in Readings in Database Systems].

	2. U Leeds.  Theorem prover specification language.  Pattern
	matching notation similar to Prolog.  Compiled into Lisp.

	[Proc ICJAI 13].

	{(ftp://agora.leeds.ac.uk/scs/logic/)}.

Sequenced Packet Exchange

	<networking, protocol> (SPX) A {transport layer} {protocol}
	built on top of {IPX}.  SPX is used in {Novell NetWare}
	systems for communications in {client/server} {application
	programs}, e.g. {BTRIEVE} ({ISAM} manager).

	SPX is not used for connections to the {file server} itself;
	this uses {NCP}.  It has been extended as SPX-II.  SPX/IPX
	perform equivalent functions to {TCP/IP}.

	{(http://developer.novell.com/research/appnotes/1995/december/03/04.htm)}.

	[Better reference?]

	(1999-05-27)

sequencer

	<music> Any system for recording and/or playback of music via
	a programmable memory which stores music not as audio data,
	but as some representation of notes.  The most common modern
	usage of "sequencer" is to refer to systems (whether in
	software, or as a feature of devices like synthesizers or drum
	machines) that deal with {MIDI} data.

	(1999-06-04)

Sequent

	<company> A computer manufacturer.

	Quarterly sales $109M, profits $7M (Aug 1994).

	Sequent computers was acquired by {IBM} in 1999.

	[History?]

	(2003-10-21)

sequential coding

	<graphics, file format, algorithm> The usual {bitmap} {image}
	data storage format or transmission {algorithm} where the
	resoluton is constant and later data adds only more area.
	This contrasts with {progressive coding}.

	(2000-09-12)

sequential file matching

	A programming technique that matches records in one sequential
	file with records in another sequential file.  The records are
	accessed in the physical order in which they are stored.

	(1994-11-02)

Sequential Parlog Machine

	(SPM) The {virtual machine} (and its machine code) for the
	{Parlog} {logic programming} language.

	{(ftp://nuri.inria.fr/lang/Parlog.tar.Z)}.

	["Parallel Logic Programming in PARLOG", Steve Gregory,
	Addison-Wesely, UK, 1987].

sequential processing

	<architecture> (Or "serial processing") Running a single
	{task} to completion on a single {processor}, in contrast to
	{parallel processing} or {multitasking}.

	(1995-04-23)

SERC

	{Science and Engineering Research Council}

SERCOS

	{serial real-time communications system}

	[What is it?]

	["More choices link motors and drives to controls", by
	L. Langnau.  Power Transmission Design, vol. 37, no. 7,
	pp. 33-36].

	(1996-01-23)

serial

	1. <communications> {serial communications}

	2. <architecture> {serial processor}.

Serial Advanced Technology Attachment

	<storage> (SATA, Serial ATA) A computer {bus} technology
	primarily designed for transfer of data to and from a {hard
	disk}.  SATA is the successor to {Advanced Technology
	Attachment} (ATA), which was given the {retronym} Parallel ATA
	(PATA) to distinguish it from Serial ATA.

	Serial ATA is designed to be scalable.  The original SATA/150
	or "SATA 1" can transfer up to 150 {MBps} and "SATA 3.0
	Gbit/s" has a maximum data rate of 300 {MBps}.

	Both SATA and PATA drives have built-in low level control
	electronics but the term {IDE} is usually restricted to
	parallel ATA drives.

	{(http://www.serialata.org/)}.

	(2007-02-23)

Serial ATA

	{Serial Advanced Technology Attachment}

serial communications

	<communications> Communication via a single channel that
	delivers one bit of data at a time, in contrast to {parallel}
	communications where multiple serial channels are combined,
	either physically (e.g. multiple cores in a cable) or by
	{multiplexing}.

Serial Communications Interface

	{UART}

Serial Interface Adaptor

	(SIA) The {Ethernet} driver chip used on a {Filtabyte}
	Ethernet card.

serial IO chip

	{UART}

serialise

	<programming> To represent an arbitrarily complex {data
	structure} in a location-independent way so that it can be
	communicated or stored elsewhere.

	For example, an {object} representing a time, with
	{attributes} for year, month, timezone, etc., could be
	serialised as the {string} "2002-02-24T14:33:52-0800", or an
	{XML} element "<dateobj year='2002' month='02' day='24'
	hour='14' minute='33' second='52' timezone='-0800' />", or as
	a {binary} string.

	As well as providing an external data representation
	(e.g. representing an {integer} as a string of {ASCII}
	digits) and {marshalling} components into a single block of
	data, a serialisation {algorithm} needs to follow {pointers}
	to include objects referred to by the initial object.  This is
	further complicated by the possible presence of cycles in the
	{object graph}.

	It should be possible to store the serialised representation
	on disk, or transmit it across a network, and then restore it
	as an object (graph) that is the same as the original.

	(2001-09-28)

serialize

	{serialise}

serial line

	<communications> Wires which connect two {serial ports}
	carrying serial data consisting of sequential bits represented
	by one of two voltages.

	A common electrical specification for the signals on a serial
	line is {RS-423}.

	{(ftp://ftp.acorn.co.uk/pub/documents/appnotes/231-245/234.ps)}.

	(1995-02-02)

Serial Line Internet Protocol

	<communications, protocol> (SLIP) Software allowing the
	{Internet Protocol} (IP), normally used on {Ethernet}, to be
	used over a {serial line}, e.g. an {EIA-232} {serial port}
	connected to a {modem}.  It is defined in {RFC} 1055.

	SLIP modifies a standard {Internet} {datagram} by appending a
	special SLIP END character to it, which allows datagrams to be
	distinguished as separate.  SLIP requires a port configuration
	of 8 data bits, no {parity}, and {EIA} or {hardware flow
	control}.  SLIP does not provide {error detection}, being
	reliant on other high-layer protocols for this.  Over a
	particularly error-prone {dial-up} link therefore, SLIP on its
	own would not be satisfactory.

	A SLIP connection needs to have its {IP address} configuration
	set each time before it is established whereas {Point-to-Point
	Protocol} (PPP) can determine it automatically once it has
	started.

	See also {SLiRP}.

	(1995-04-30)

Serial Line IP

	(SLIP) {Serial Line Internet Protocol}.

Serial Peripheral Interface

	<communications, hardware> (SPI) A {serial interface} in which
	a master device supplies {clock} pulses to exchanges data
	serially with a slave over two data wires (Master-Slave and
	Slave-Master).  This term probably originated with Motorola in
	about 1979 with their first all-in-one {microcontroller}.

	(2003-07-13)

serial port

	<hardware, communications> (Or "com port") A connector on a
	computer to which you can attach a {serial line} connected to
	peripherals which communicate using a serial (bit-stream)
	{protocol}.  The most common type of serial port is a 25-pin
	D-type connector carrying {EIA-232} signals.  Smaller
	connectors (e.g. 9-pin {D-type}) carrying a subset of EIA-232
	are often used on {personal computers}.  The serial port is
	usually connected to an {integrated circuit} called a {UART}
	which handles the conversion between serial and parallel data.

	In the days before bit-mapped displays, and today on
	{multi-user} systems, the serial port was used to connect one
	or more terminals ({teletypewriters} or {VDUs}), printers,
	{modems} and other serial peripherals.  Two computers
	connected together via their serial ports, possibly via
	{modems}, can communicate using a {protocol} such as {UUCP} or
	{CU} or {SLIP}.

	(1995-01-12)

Serial Presence Detect

	{presence detect}

serial processing

	{sequential processing}

serial processor

	<architecture> A computer whose {central processing unit}
	performs a single machine-level operation at a time.  This
	term would be used mostly in contrast to a {parallel
	processor}.

	(2008-03-14)

Serial Storage Architecture

	<storage> (SSA) IBM's proposed ANSI standard for a standard
	high-speed interface to disk clusters and arrays.  SSA allows
	{full-duplex} {packet multiplexed} serial data transfers at
	rates of 20Mb/sec in each direction.

	According to John Taylor, programme manager at IBM's Storage
	Division at Havant, SSA will be used in arrays of discs
	working with high-end computers ranging from mainframes down
	to LAN servers.  Taylor said that SSA differs from the {IEEE}
	proposed {P1394} serial interface specification in its ability
	to offer simultaneous multiplexed transfers from more than one
	disk or array.  IBM also supports the P1394 standard which
	will be used primarily by desktop PCs for {multimedia}
	applications.

	SSA has received backing from a number of companies including
	connector makers Molex, ITT Cannon and AMP, disk drive makers
	Conner and Western Digital and RAID array suppliers like
	Dynatech and NCR.  IBM expects to see the first SSA products
	released at Comdex in Autumn 1994 but it will be 1995 before
	the products ship in volume.

	Under an agreement signed with {ASIC} maker and {ARM} licencee
	{VLSI Technology}, IBM will use ARM-based chips made by VLSI
	to implement the SSA interface and VLSI will make these cores
	available to third parties as one of its Functional System
	Blocks.

serve

	<networking> To be a {server}, to provide a {service}.

	E.g., "The {shttpd} serves requested documents to clients over
	a secure link."

	(1997-09-11)

servelet

	{Java servlet}

server

	1. A program which provides some service to other ({client})
	programs.  The connection between client and server is
	normally by means of {message passing}, often over a
	{network}, and uses some {protocol} to encode the client's
	requests and the server's responses.  The server may run
	continuously (as a {daemon}), waiting for requests to arrive
	or it may be invoked by some higher level daemon which
	controls a number of specific servers ({inetd} on {Unix}).

	There are many servers associated with the {Internet}, such as
	those for {HTTP}, {Network File System}, {Network Information
	Service} (NIS), {Domain Name System} (DNS), {FTP}, {news},
	{finger}, {Network Time Protocol}.  On Unix, a long list can
	be found in /etc/services or in the {NIS} database "services".
	See {client-server}.

	2. A computer which provides some service for other computers
	connected to it via a network.  The most common example is a
	{file server} which has a local disk and services requests
	from remote clients to read and write files on that disk,
	often using {Sun}'s {Network File System} (NFS) {protocol} or
	{Novell Netware} on {PCs}.  Another common example is a {web
	server}.

	[{Jargon File}]

	(2003-12-29)

serverlet

	{Java Servlet}

Server Message Block

	<protocol> (SMB) A {client/server} {protocol} that provides
	file and printer sharing between computers.  In addition SMB
	can share {serial ports} and communications abstractions such
	as {named pipes} and {mail slots}.  SMB is similar to {remote
	procedure call} (RPC) specialised for file system access.

	SMB was developed by {Intel}, {Microsoft}, and {IBM} in the
	early 1980s.  It has also had input from {Xerox} and {3Com}.
	It is the native method of file and print sharing for
	Microsoft {operating systems}; where it is called {Microsoft
	Networking}.  {Windows for Workgroups}, {Windows 95}, and
	{Windows NT} all include SMB clients and servers.  SMB is also
	used by {OS/2}, {Lan Manager} and {Banyan} {Vines}.  There are
	SMB servers and clients for {Unix}, for example {Samba} and
	{smbclient}.

	SMB is a {presentation layer} protocol structured as a large
	set of commands (Server Message Blocks).  There are commands
	to support file sharing, printer sharing, {user
	authentication}, resource browsing, and other miscellaneous
	functions.  As clients and servers may implement different
	versions ("dialects") of the protocol they negotiate before
	starting a session.

	The {redirector} packages SMB requests into a {network control
	block} (NBC) structure that can be sent across the network to
	a remote device.

	SMB originally ran on top of the lower level protocols
	{NetBEUI} and {NetBIOS}, but now typically runs over {TCP/IP}.

	Microsoft have developed an extended version of SMB for the
	{Internet}, the {Common Internet File System} (CIFS), which in
	most cases replaces SMB.  {CIFS} runs only runs over TCP/IP.

	{Just what is SMB?
	(http://samba.anu.edu.au/cifs/docs/what-is-smb.html)}.

	{IBM protocols
	(http://protocols.com/pbook/ibm.htm)}.

	{Microsoft SMB/CIFS documents
	(ftp://ftp.microsoft.com/developr/drg/CIFS/)}.

	(1999-08-08)

server-parsed HTML

	<file format, web> (SPML, SHTML) A kind of {HTML}
	file containing server-specific, non-standard commands which
	are interpreted by the {HTTP server} and replaced by standard
	HTML or text before the data is returned to the client.

	Different servers use different command syntax and support
	different sets of commands.  The most common example is a
	{server-side include} command which simply expands to the
	contents of some given file and allows bits of HTML or text to
	be shared between pages for ease of updating.  Other commands
	insert the value of an {environment variable} or the output of
	a {shell command}.  These allow pages to be different each
	time they are served without requiring a {CGI} script.

	Some servers distinguish SPML from HTML with a different
	{filename extension}, others use the execute bit of the file's
	{permissions}.

	(1996-09-29)

server room

	<hardware> The room where all the {server} computers are
	housed.  The {workstations} at which people sit and program
	are usually located elsewhere.

	Compare: {sun lounge}, {dinosaur pen}, {play pen}, {salt
	mines}, {disk farm}.

	(1998-07-06)

servers

	{server}

server-side

	<web> Processing or content generation that is done
	on the {web server} or other server, as opposed to on the
	{client} computer where the {web browser} is running.

	An example is {server-side include} where one file is inserted
	in another before it is served, rather than, say, having the
	browser request the files separately and combine them using an
	{iframe}.  A very common kind of server-side processing is the
	inclusion of data from a {database} in a web page.

	There are many software environments and technologies designed
	for server-side processing, e.g. {CGI}, {ISAPI}, {WebObjects}
	and {ASP}.

	The greatest advantage of server-side processing is that it is
	independent of the many different client software environments
	that exist on the {Internet}, chiefly different {web browsers}
	and {operating systems}.  The disadvantage is that the user
	must wait for a response from the server which is a much
	slower form of interaction than is possible with client-side
	processing using, e.g., {JavaScript}.

	(2003-12-29)

server-side include

	<web> (SSI) The facility provided by most {web
	servers}, e.g. {NCSA httpd}, to replace special {tags} in an
	{HTML} file with the contents of another file before the file
	is sent out by the server, i.e. an {HTML} {macro}.

	{NCSA httpd tutorial
	(http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html)}.

	(1996-09-08)

service

	<networking, programming> Work performed (or offered) by a
	{server}.  This may mean simply serving simple requests for
	data to be sent or stored (as with {file servers}, {gopher} or
	{http} servers, {e-mail} servers, {finger} servers, {SQL}
	servers, etc.); or it may be more complex work, such as that
	of {irc} servers, print servers, {X Windows} servers, or
	process servers.

	E.g. "Access to the finger {service} is restricted to the
	local {subnet}, for security reasons".

	(1997-09-11)

serviceability

	<systems> The ease with which {corrective maintenance} or
	{preventative maintenance} can be performed on a system (e.g. by a
	{hardware} service technician).  Higher serviceability improves
	{availability} and reduces service cost.

	Serviceability is one component of {RAS}.

	(2000-08-13)

Service Access Point

	<networking> (SAP) The {OSI} term for the component of a
	network address which identifies the individual application on
	a host which is sending or receiving a {packet}.

	{TCP/IP}'s equivalent term is "{port}".

	Different SAPs distinguish between different services or
	applications on a host, e.g. {electronic mail}, {FTP}, {HTTP}.

	(1996-12-23)

Service Advertising Protocol

	<networking> (SAP) A {Novell NetWare} {protocol}.  SAP follows
	the spirit of the {Xerox} {Clearinghouse} protocol, it permits
	file, print, and gateway servers to advertise their services
	and addresses.

	(1996-01-13)

Service Discovery Protocol

	<protocol> (SDP) A {Bluetooth} {protocol} in the {Core
	Protocol Stack} that allows {devices} to connect to
	other {services}.

	{Bluetooth SDP
	(http://bluetooth.org/assigned-numbers/sdp.htm)}.

	(2002-06-28)

service-oriented architecture

	<software, architecture> (SOA) Systems built from
	loosely-coupled {software} modules deployed as {services},
	typically communicating via a {network}.  This allows
	different modules to be implemented and deployed in different
	ways, e.g. owned by different organisations, developed by
	different teams, written in different {programming languages},
	running on different {hardware} and {operating systems}.  The
	key to making it work is {interoperability} and {standards} so
	that modules can exchange data.

	SOAs often support {service discovery}, allowing a service to
	be changed without having to explicitly reconnect all its
	clients.

	Many different frameworks have been developed for SOA,
	including {SOAP}, {REST}, {RPC}, {DCOM}, {CORBA}, {web
	services} and {WCF}.

	(2009-01-23)

service provider

	<communications> An organisation that provides a service by
	telephone, such as an 0800 (toll free) number.  The service
	provider buys the services of a telecom supplier (e.g. BT) but
	advertises the service and deals with the calls itself.
	Increasingly, service providers are now also managing their
	advanced {call-routing}.

	(1996-08-27)

Service Set Identifier

	<networking> (SSID) A 32-{character} unique identifier that
	distinguishes one wireless network from another.  All devices
	attempting to connect to a specific network use the same SSID,
	which appears in the header of {packets}.  Because an SSID can
	be intercepted, it does not supply any security to the
	network.

	(2009-01-23)

servlet

	{Java servlet}

session

	<networking> 1. A lasting connection between a user (or user
	agent) and a {peer}, typically a {server}, usually involving
	the exchange of many packets between the user's computer and
	the server.  A session is typically implemented as a layer in
	a network {protocol} (e.g. {telnet}, {FTP}).

	In the case of protocols where there is no concept of a
	session layer (e.g. {UDP}) or where sessions at the {session
	layer} are generally very short-lived (e.g. {HTTP}), {virtual}
	sessions are implemented by having each exchange between the
	user and the remote host include some form of {cookie} which
	stores state (e.g. a unique session ID, information about the
	user's preferences or authorisation level, etc.).

	See also {login}.

	2. A lasting connection using the {session layer} of a
	networking protocol.

	(1997-08-03)

Session Initiation Protocol

	<protocol> (SIP) A very simple text-based application-layer
	control {protocol}.  It creates, modifies, and terminates
	{sessions} with one or more participants.  Such sessions
	include {Internet telephony} and {multimedia} conferences.

	It is described in {RFC 2543}.

	(2000-05-31)

session layer

	<networking> The third highest {protocol layer} (layer 5) in the {OSI}
	seven layer model.  The session layer uses the {transport
	layer} to establish a {connection} between processes on
	different {hosts}.  It handles {security} and creation of the
	session.  It is used by the {presentation layer}.

	Documents: {ITU} Rec. X.225 ({ISO} 8327), ITU Rec. X.215 (ISO
	8326).

	[Examples?]

	(1997-12-07)

SES/workbench

	<tool, simulation> An iconic {simulation} and design tool,
	linked to some of the major {CASE} systems now available or in
	development.

	(1996-03-28)

SET

	1. <security> {Secure Electronic Transaction}.

	2. <electronics> {Single Electron Tunneling}.

	3. <standard> {Standard d'Echange et de Transfert}.

	(1999-03-26)

set

	A collection of objects, known as the elements of the set,
	specified in such a way that we can tell in principle whether
	or not a given object belongs to it.  E.g. the set of all prime
	numbers, the set of zeros of the cosine function.

	For each set there is a {predicate} (or property) which is
	true for (possessed by) exactly those objects which are
	elements of the set.  The predicate may be defined by the set
	or vice versa.  Order and repetition of elements within the
	set are irrelevant so, for example, {1, 2, 3} = {3, 2, 1} =
	{1, 3, 1, 2, 2}.

	Some common set of numbers are given the following names:

	N = the {natural numbers} 0, 1, 2, ...

	Z = the {integers} ..., -2, -1, 0, 1, 2, ...

	Q = the {rational numbers} p/q where p, q are in Z and q /= 0.

	R = the {real numbers}

	C = the {complex numbers}.

	The empty set is the set with no elements.  The intersection
	of two sets X and Y is the set containing all the elements x
	such that x is in X and x is in Y.  The union of two sets is
	the set containing all the elements x such that x is in X or x
	is in Y.

	See also {set complement}.

	(1995-01-24)

set abstraction

	{list comprehension}

set associative cache

	<architecture> A compromise between a {direct mapped cache}
	and a {fully associative cache} where each address is mapped
	to a certain set of cache locations.  The address space is
	divided into blocks of 2^m bytes (the {cache line} size),
	discarding the bottom m address bits.  An "n-way set
	associative" cache with S sets has n cache locations in each
	set.  Block b is mapped to set "b mod S" and may be stored in
	any of the n locations in that set with its upper address bits
	as a tag.  To determine whether block b is in the cache, set
	"b mod S" is searched associatively for the tag.

	A direct mapped cache could be described as "one-way set
	associative", i.e. one location in each set whereas a fully
	associative cache is N-way associative (where N is the total
	number of blocks in the cache).  Performance studies have
	shown that it is generally more effective to increase the
	number of entries rather than associativity and that 2- to
	16-way set associative caches perform almost as well as fully
	associative caches at little extra cost over direct mapping.

	(2004-10-18)

set complement

	<theory> The complement of set A in set U is all elements of U
	which are not elements of A.

	(1995-01-24)

set comprehension

	{list comprehension}

Setext

	A markup scheme intended for documents that are both human-
	and computer-readable.

SETL

	SET Language.  A very high level language based on sets,
	designed by Jack Schwartz at the {Courant Institute} in the
	early 1970s.  It was possibly the first use of {list
	comprehension} notation.

	Data types include sets (unordered collections), {tuples}
	(ordered collections) and maps (collections of ordered pairs).
	Expressions may include {quantifiers} ('for each' and
	'exists').  The first {Ada} translator was written in SETL.

	See also {ISETL}, {ProSet}, {SETL2}.

	["Programming With Sets - An Introduction to SETL", Jacob
	T. Schwartz et al, Springer 1986].

SETL2

	{SETL} with more conventional {Ada}-like syntax, {lexical
	scope}, full block structure, {first-class functions} and a
	package and library system.  Ported to {OS/2}, {MS-DOS} (3.1
	up), Extended {MS-DOS} (80286 and higher processors with
	extended memory), {Macintosh} (with the {MPW} environment),
	Sun-3 (SunOS 4), Sun-4 (SunOS 4), IBM RS/6000 (AIX 3.1), DEC
	RISC product line (Ultrix 4.0), DEC Vaxen (Mt. Xinu Unix or
	VMS).

	{(ftp://cs.nyu.edu/pub/languages/setl2)}.  Please e-mail Kirk
	Snyder <snyder@spunky.cs.nyu.edu> if you take a copy.

	["The SETL2 Programming Language", W. Kirk Snyder, Courant
	Inst TR 490, Jan 1990].

SETL/E

	{ProSet}

Set Priority Level

	(SPL) The way traditional {Unix} {kernels} implement {mutual
	exclusion} by running code at high {interrupt priority levels}
	and thus blocking lower level interrupts.

	(1994-11-23)

SETS

	Set Equation Transformation System.

	Symbolic manipulation of Boolean equations.  "Efficient
	Ordering of Set Expressions for Symbolic Expansion",
	R.G. Worrell et al, J ACM 20(3):482-488 (Jul 1973).

set theory

	<mathematics> A mathematical formalisation of the theory of
	"sets" (aggregates or collections) of objects ("elements" or
	"members").  Many mathematicians use set theory as the basis
	for all other mathematics.

	Mathematicians began to realise toward the end of the 19th
	century that just doing "the obvious thing" with sets led to
	embarrassing {paradox}es, the most famous being {Russell's
	Paradox}.  As a result, they acknowledged the need for a
	suitable {axiomatisation} for talking about sets.  Numerous
	such axiomatisations exist; the most popular among ordinary
	mathematicians is {Zermelo Fränkel set theory}.

	{The beginnings of set theory
	(http://www-groups.dcs.st-and.ac.uk/~history/HistoryTopics.html)}.

	(1995-05-10)

set-top box

	<communications, networking> (STB) Any electronic device
	designed to produce output on a conventional televesion set
	(on top of which it nominally sits) and connected to some
	other communications channels such as telephone, {ISDN},
	{optical fibre} or cable.  The STB usually runs software to
	allow the user to interact with the programmes shown on the
	television in some way.

	{Online Media} are one STB manufacturer.

	(1997-05-16)

SEUS

	R. Weyrauch et al.  Language allowing functions to return
	multiple values.  Implemented but never published.  Mentioned
	in "Evolution of Lisp", G.L. Steele et al, SIGPLAN Notices
	28(3):231-270 (March 1993).

seven layer model

	{Open Systems Interconnect}

Seven-Segment Display

	<electronics> (SSD) A kind of display element consisting of seven
	independently controllable lines arranged as a rectangular figure
	eight. A seven-segment display is the simplest device that can
	display any of the digits zero to nine (and some other characters)
	by lighting different combinations of lines.  They are often seen
	in electronic calculators or measuring equipment.

	(2013-04-27)

SEX

	/seks/ [Sun Users' Group & elsewhere] 1. Software EXchange.  A
	technique invented by the blue-green algae hundreds of
	millions of years ago to speed up their evolution, which had
	been terribly slow up until then.  Today, SEX parties are
	popular among hackers and others (of course, these are no
	longer limited to exchanges of genetic software).  In general,
	SEX parties are a {Good Thing}, but unprotected SEX can
	propagate a {virus}.  See also {pubic directory}.

	2. The {mnemonic} often used for Sign EXtend, a machine
	instruction found in the {PDP-11} and many other
	architectures.  The {RCA 1802} chip used in the early {Elf}
	and SuperElf {personal computers} had a "SEt X register" SEX
	instruction, but this seems to have had little folkloric
	impact.

	DEC's engineers nearly got a {PDP-11} {assembler} that used
	the "SEX" mnemonic out the door at one time, but (for once)
	marketing wasn't asleep and forced a change.  That wasn't the
	last time this happened, either.  The author of "The Intel
	8086 Primer", who was one of the original designers of the
	{Intel 8086}, noted that there was originally a "SEX"
	instruction on that processor, too.  He says that Intel
	management got cold feet and decreed that it be changed, and
	thus the instruction was renamed "CBW" and "CWD" (depending on
	what was being extended).  The {Intel 8048} (the
	{microcontroller} used in {IBM PC} keyboards) is also missing
	straight "SEX" but has logical-or and logical-and instructions
	"ORL" and "ANL".

	The {Motorola 6809}, used in the UK's "{Dragon 32}" {personal
	computer}, actually had an official "SEX" instruction; the
	{6502} in the {Apple II} with which it competed did not.
	British hackers thought this made perfect mythic sense; after
	all, it was commonly observed, you could (on some theoretical
	level) have sex with a dragon, but you can't have sex with an
	apple.

	[{Jargon File}]

	(1998-03-03)

sexadecimal

	{hexadecimal}

sex changer

	{gender mender}

SEXI

	{SNOBOL}

Seymour Cray

	<person> The founder of {Cray Research} and designer of
	several of their {supercomputers}.

	Cray has been a charismatic yet somewhat reclusive figure.  He
	began Cray Research in Minnesota in 1972.  In 1988, Cray moved
	his {Cray-3} project to Colorado Springs.  The next year, Cray
	Research spun it off to create {Cray Computer}.  In 1989, Cray
	left Cray Research and started Cray Computer Corporation in Colorado
	Springs.

	His quest to build a faster computer using new-generation
	materials failed in 1995, and his bankruptcy cost half a
	billion dollars and more than 400 jobs.  The company was
	unable to raise $20 million needed to finish the {Cray-4} and
	filed for bankruptcy in March 1995.

	In the summer of 1996, Cray started a Colorado Springs-based
	company called {SRC Computers, Inc.}  "We think we'll build
	computers, but who knows what kind or how," Cray said at the
	time.  "We'll talk it over and see if we can come up with a
	plan."

	On 1996-09-22, aged 70, Cray broke his neck in a car
	accident.  Surgery for massive head injuries and swelling of
	the brain leaving him in a critical and unstable condition.

	(1997-03-02)

SFA

	{Sales Force Automation}

SFBI

	Shared Frame Buffer Interconnect (Intel)

SFD-ALGOL

	System Function Description-ALGOL.  Extension of ALGOL for
	synchronous systems.  Sammet 1969, p.625.

SFFA

	{Sales Force Automation}

SFL

	System Function Language.  Assembly language for the ICL2900.
	"SFL Language Definition Manual", TR 6413, Intl Computers Ltd.

SFLV

	Unifies logic and functional programming.  SASL+LV with
	unification moved from actual/formal parameter matching to
	equational clauses.  "Static Analysis of Functional Programs
	with Logical Variables", G. Lindstrom in Programming Languages
	Implementation and Logic Programming, P. Deransart et al eds,
	LNCS 348, Springer 1988.

sFTP

	{Secure File Transfer Protocol}

sg

	<networking> The {country code} for Singapore.

	(1999-01-27)

SGCP

	{Simple Gateway Control Protocol}

SGI

	{Silicon Graphics, Inc.}

SGML

	{Standard Generalized Markup Language}

sgmls

	<language, tool> Sgmls is an {SGML} {parser} derived from the
	{ARCSGML} parser materials which were written by Charles
	Goldfarb.  It outputs a simple, easily parsed, line oriented,
	{ASCII} representation of an SGML document's Element Structure
	Information Set (see pp 588-593 of "The SGML Handbook").  It
	is intended to be used as the front end for
	structure-controlled SGML {application programs}.

	Version 1.1 for {Unix} and {MS-DOS} by James J. Clark
	<jjc@jclark.com> and Charles Goldfarb.

	{(ftp://ftp.uu.net/pub/text-processing/sgml/sgmls-1.0.tar.Z)},
	{(ftp://ftp.jclark.com/sgmls/sgmls-1.1.tar.Z)}.

	E-mail: James Clark <jjc@jclark.com>.

	(1993-02-22)

SGML Tagger

	<tool> A tool to assist with adding {SGML} to a piece of text.
	The Tagger only lets the user insert a mark-up tag which is
	correct in that particular context.

	{(http://www1.oup.co.uk/cite/oup/E-P/Humanities/The_SGML_Tagger/)}.

	(1997-03-18)

SGRAM

	{Synchronous Graphics Random Access Memory}

sh

	1. <operating system> {Bourne shell}.

	2. <networking> The {country code} for St. Helena.

	(1999-01-27)

SHA

	{Secure Hash Algorithm}

SHACO

	An early system on the {IBM 701}.

	[Listed in CACM 2(5):1959-05-16].

	(1995-10-25)

SHADOW

	<language> A {syntax}-directed {compiler} written by Barnett
	and Futrelle in 1962.  It was the predecessor to {SNOBOL}(?)

	[Sammet 1969, p. 448, 605].

	(1995-01-16)

shadowing

	{aliasing}

shadow ram

	<operating system> A memory area in {PC-AT} compatibles used
	to store frequently accessed {ROM} code to speed up operation.

	(1995-01-16)

shallow binding

	A method of storing variable bindings where the current value
	of a variable can be found at a known location rather than by
	searching an environment or association list.  When a new
	binding is made, the old value is copied into the environment.

shambolic link

	/sham-bol'ik link/ A Unix symbolic link, particularly when it
	confuses you, points to nothing at all, or results in your
	ending up in some completely unexpected part of the
	file system.

	[{Jargon File}]

Shape_VC

	A {code management} system which offers version control
	functionality similar to systems like {RCS} or {SCCS} with
	some extensions and a more {Unix}-like command interface.

	(1994-11-04)

ShapeTools

	<tool, programming> A {code management} system for {Unix} from
	The {Technical University of Berlin}.

	(1995-05-11)

shar

	<tool, file format> ("Shell archive", after {ar} and {tar})
	Any of the many {Unix} programs that creates a {flatten}ed
	representation of one or more files, with the unique property
	that it can be unflattened (the original files extracted)
	merely by feeding it through a standard {Unix} {shell}.  The
	output of shar, known as a "shar file" or "sharchive", can be
	distributed to anyone running {Unix}, and no special unpacking
	software is required.

	Sharchives are intriguing in that they are typically created
	by shell scripts; the script that produces sharchives is thus
	a script which produces self-unpacking scripts, which may
	themselves contain scripts.  The disadvantage of sharchives
	are that they are an ideal venue for {Trojan horse} attacks
	and that, for recipients not running Unix, no simple
	un-sharchiving program is possible; sharchives can and do make
	use of arbitrarily-powerful shell features and other Unix
	commands.

	Different implementations of shar vary in sophistication.
	Some just {uuencode} each input file and output commands to
	{uudecode} the result, others include extensive checking to
	make sure the files have been transferred without corruption
	and that all parts of a multi-file sharchive have been
	unpacked.

	The {unshar} utility strips off mail and news headers before
	passing the remainder of its input to sh.

	(1996-10-18)

sharchive

	{shar}

sharding

	<database> A form of {data partitioning} in which a large
	{database} {table} is split over multiple {servers} in order
	to {balance load (load balancing)}.  Some property of the data
	is used to select which server should handle a given row,
	e.g. the {primary id} {modulo} the number of servers.

	Sharding should be a last resort in database performance
	optimisation because of the difficulty of changing the
	allocation of data to servers, e.g. if the number of servers
	changes or the distribution is found to be uneven.

	{Sharding Your Database, Ovid, perl.org
	(http://blogs.perl.org/users/ovid/2010/05/sharding-your-database.html)}.

	(2010-05-16)

Share and enjoy!

	1. Commonly found at the end of software release announcements
	and {README files}, this phrase indicates allegiance to the
	hacker ethic of free information sharing (see {hacker ethic}).

	2. The motto of the Sirius Cybernetics Corporation (the
	ultimate gaggle of incompetent {suits}) in Douglas Adams's
	"Hitch Hiker's Guide to the Galaxy".  The irony of using this
	as a cultural recognition signal appeals to {freeware}
	hackers.

	[{Jargon File}]

shared memory

	1. Memory in a {parallel computer}, usually {RAM}, which can
	be accessed by more than one processor, usually via a shared
	{bus} or network.

	It usually takes longer for a processor to access shared
	memory than to access its own private memory because of
	contention for the processor-to-memory connections and because
	of other overheads associated with ensuring synchronised
	access.  Computers using shared memory usually have some kind
	of local {cache} on each processor to reduce the number of
	accesses to shared memory.  This requires a {cache
	consistency} {protocol} to ensure that one processor's cached
	copy of a shared memory location is invalidated when another
	processor writes to that location.

	The alternative to shared memory is {message passing} where
	all memory is private to some particular processor and
	processors communicate by sending messages down special
	links.  This is usually slower than shared memory but it
	avoids the problems of contention for memory and can be
	implemented more cheaply.

	2. Memory which can be access by more than one process in a
	{multitasking} {operating system} with memory protection.
	Some {Unix} variants, e.g. {SunOS} provide this kind of shared
	memory.

	{Unix manual pages}: shmop(2), shmctl(2), shmget(2).

	(1994-10-20)

Shared Time Repair of Big Electronic Systems

	<language> (STROBES) A language for computer testing.

	[Sammet 1969, p. 699].

	(1995-02-06)

shareware

	<software> /sheir'weir/ {Software} that, like {freeware}, can
	be usually obtained ({download}ed) and redistributed for free,
	but most often is under {copyright} and does legally require a
	payment in the {EULA}, at least beyond the {evaluation} period
	or for commercial applications.  This payment, as well as
	fulfilling the {user}'s legal obligations, may buy additional
	support, documentation, or functionality.  Generally, {source
	code} for shareware programs is not available.  Shareware is
	sometimes also {nagware} and/or {crippleware}, which muddles
	the term and is frowned upon in the community.

	See also {careware}, {charityware}, {guiltware},
	{postcardware}, and {-ware}; compare {payware}.

	[{Jargon File}]

	(2002-01-30)

shar file

	{shar}

sharp

	<character> {hash}.

Sharp APL

	<language> (Or "Dictionary APL")

	["A Dictionary of the APL Language", K. Iverson, Pub 0402,
	Sharp Assocs, Toronto, 1985].

	{(ftp://watserv1.waterloo.edu/languages/apl/sharp.apl)}.

	(1997-09-02)

S-HDSL

	{Single-pair High Speed Digital Subscriber Line}

shebang

	<operating system> (Or "shebang line", "{bang path}")
	/sh*-bang'/ (From "{sharp}" and "{bang}") The {magic cookie}
	"#!" used in {Unix} to mark the start of a {script}, e.g. a
	{shell script} or {Perl script}.

	Under {Unix}, if the first two bytes of an {executable} file
	are "#!", the {kernel} treats the file as a script rather than
	a {machine code} program.  The word following the "!" (i.e.,
	everything up to the first {whitespace}) is used as the
	{pathname} of the {interpreter}.  For example, if the first
	line of an executable is

	 #!/usr/local/bin/perl

	the script will be treated as a {Perl} script and passed as an
	argument to /usr/local/bin/perl to be interpreted.  Some
	variants of Unix also allow one or more parameters to be
	passed to the interpreter, for example, you can write

	 #!/usr/bin/perl -w

	and the script will be started as if you typed

	 /usr/bin/perl -w <filename>

	on the command line.  Also, most modern kernels ignore any
	whitespace between the "!" and the interpreter pathname.  Even
	some modern kernels have fairly small limits (e.g. 32) on the
	length of line they will accept, making long pathnames and
	arguments somewhat unportable.

	[Does anyone call this a "magic string"?]

	(1998-05-06)

SHEEP

	<mathematics, tool> A package for {symbolic mathematics},
	especially {tensor analysis} and General Relativity, developed
	by Inge Frick in Stockholm in the late 1970s to early 1980s.
	SHEEP was implemented in {DEC-10} {assembly language}, then in
	several {LISPs}.  The current version runs on {Sun}-3 and is
	based on {Portable Standard LISP}.

	["Sheep, a Computer Algebra System for General Relativity",
	J.E.F. Skea et al in Proc First Brazilian School on Comp Alg,
	W. Roque et al eds, Oxford U Press 1993, v2].

	{(http://riaca.win.tue.nl/archive/can/SystemsOverview/Special/Tensoranalysis/SHEEP/index.html)}.

	(2002-12-28)

shelf

	A public library of {class}es for the {Eiffel} language.

shelfware

	<jargon> /shelfweir/ {Software} which is never used and so
	ends up on the shelf.  Shelfware may be purchased on a whim by
	an individual, or in accordance with corporate policy, but not
	actually required for any particular use.  Alternatively, it
	may be software that has been developed (unlike {vaporware}),
	but is never released as a product -- a common occurrence at
	{DEC}.

	[{Jargon File}]

	(1997-07-20)

SHELL

	<language> An early system on the {Datatron 200} series.

	[Listed in CACM 2(5):16 (May 1959)].

	[{Jargon File}]

	(1995-05-11)

shell

	1. <operating system> (Originally from {Multics}, widely
	propagated via {Unix}) The {command interpreter} used to pass
	commands to an {operating system}; so called because it is the
	part of the operating system that interfaces with the outside
	world.

	The commonest Unix shells are the c shell ({csh}) and the
	Bourne shell ({sh}).

	2. (Or "wrapper") Any interface program that mediates access
	to a special resource or {server} for convenience, efficiency,
	or security reasons; for this meaning, the usage is usually "a
	shell around" whatever.

	[{Jargon File}]

	(1995-05-11)

shell out

	[Unix] To spawn an interactive subshell from within a program
	(e.g. a mailer or editor).  "Bang foo runs foo in a subshell,
	while bang alone shells out."

	[{Jargon File}]

	(1995-05-11)

shell script

	<programming, operating system> A {program} written to be
	interpreted by the {shell} of an {operating system},
	especially {Unix}.

	Compare: {script}, {glue language}.

	(1999-02-22)

shell variable

	<programming, operating system> One of the {variables}
	accessible to a {Unix} {shell} process, including {environment
	variables} (e.g. $HOME), {command line arguments} (e.g. $1)
	and local variables (e.g. $input_file).  Other {operating
	systems} have similar variables.

	(1999-01-26)

shielded twisted pair

	<hardware> (STP) A kind of cable {used} for most {Ethernet}
	cabling, especially fast ethernet connections such as 100
	{Mbps}.

	Compare: {unshielded twisted pair}.

	(1999-11-15)

SHIFT

	Scalable Heterogeneous Integrated Facility Testbed.  A
	parallel processing project at CERN.

Shift In

	<character> (SI, Control-O, {ASCII} 15) The character used on
	some ancient {teletypes} to start using an alternative
	{character set}.

	(1996-06-24)

shift left logical

	{logical shift}

Shift Out

	<character> (SO, Control-N, {ASCII} 14) The character which
	was used to "shift out" of an alternate character set on some
	ancient {teletypes}, reversing the effect of the {Shift In}
	(SI, ASCII 15) character.

	(1996-06-24)

shift right logical

	{logical shift}

shim

	<jargon, memory management> A small piece of data inserted in
	order to achieve a desired {memory alignment} or other
	addressing property.

	For example, the {PDP-11} {Unix} {linker}, in split I&D
	(instructions and data) mode, inserts a two-{byte} shim at
	location 0 in data space so that no data object will have an
	address of 0 (and be confused with the {C} null pointer).

	See also {loose bytes}.

	[{Jargon File}]

	(1994-12-21)

shit hit the fan

	<chat> (SHTF) A slang expression for a chaotic or otherwise
	unfavourable outcome.

	(2000-11-07)

shitogram

	/shit'oh-gram/ A *really* nasty piece of e-mail.

	Compare {nastygram}, {flame}.

	[{Jargon File}]

	(1994-12-21)

Shockwave

	<tool> A program from {Macromedia} for viewing files created
	with {Macromedia Director}.  Shockwave is freely available as
	a {plug-in} for the {Netscape Navigator} web {browser}.

	"Shocked" pages that incorporate documents created in Director
	can usually only be enjoyed by users with an {ISDN} or faster
	connection.

	{(http://macromedia.com/shockwave/)}.

	[Filetypes?  More detail?]

	(1998-07-07)

shockwave

	<networking> The propagation of failure, shutdown, {meltdown},
	net overload, or a {virus} from one network node to another,
	resulting in a wave of inactivity across the net.

	(1997-05-16)

Shockwave Flash

	{Flash}

shopbot

	<web> A kind of {bot} that searches the {World-Wide
	Web} to find the best price for a product you're looking for.

	[Examples?]

	(1999-06-19)

short card

	<hardware> A half-length {IBM PC expansion card} or adaptor
	that will fit in one of the two short slots located toward
	the right rear of a standard chassis (tucked behind the
	{floppy disk} drives).

	See also: {tall card}.

	[What bus?]

	[{Jargon File}]

	(1998-07-08)

Short Code

	<language> (SHORTCODE) A {pseudocode} {interpreter} for
	mathematics problems, designed by {John Mauchly} in 1949 to
	execute on Eckert and Mauchly's {BINAC} and later on {UNIVAC
	I} and II.  Short Code was possibly the first attempt at a
	{high level language}.

	[Sammet 1969, p. 129].

	(1996-11-01)

shortcut

	<file system> {Microsoft Corporation}'s term for a {symbolic
	link}, stored as a file with extension ".lnk".  Shortcuts
	first appeared in 1996 in the {Windows 95} {operating system}.
	Windows shortcuts can link to any file or directory
	("folder"), including those on remote computers, using {UNC}
	paths.  Each shortcut can also have its own {icon}.  A
	shortcut that links to an executable file can pass {arguments}
	and specify the directory in which the command should run.
	Unlike a {Unix} {symbolic link}, a shortcut does not always
	behave exactly like the target file or directory.

	Compare {pif}.

	(2001-12-18)

Shorten

	<audio, compression> A form of {lossless} {audio}
	{compression}.

	[Details?]

	(2001-12-17)

shortest job first

	<algorithm> A scheduling {algorithm} used in {multitasking}
	{operating systems} that favours processes with the shortest
	estimated running time.

	(1998-04-25)

Short Message Service

	<messaging> (SMS) A message service offered by the {GSM}
	digital {cellular telephone} system.

	Using SMS, a short alphanumeric message (160 alphanumeric
	characters) can be sent to a mobile phone to be displayed
	there, much like in an {alphanumeric pager} system.  The
	message is buffered by the GSM network until the phone becomes
	active.

	(1996-02-18)

shotgun debugging

	The software equivalent of {Easter egging}; the making of
	relatively undirected changes to software in the hope that a
	bug will be perturbed out of existence.  This almost never
	works, and usually introduces more bugs.

	[{Jargon File}]

shoulder surfing

	<security> Secretly watching someone perform some supposedly
	secure action; looking over their shoulder.  The canonical example
	is watching what keys someone presses when they enter a password.
	Other examples include using binoculars to watch someone across
	the street enter their PIN in a cash machine or simply reading
	sensitive information off somebody's screen without them
	realising.

	(2013-11-06)

shovelware

	/shuh'v*l-weir"/ Extra software dumped onto a CD-ROM or tape
	to fill up the remaining space on the medium after the
	software distribution it's intended to carry, but not
	integrated with the distribution.

Show-And-Tell

	A visual {dataflow} language designed for use by elementary
	school children.

	["A Visual Language for Keyboardless Programming", T. Kimura
	et al, TR WUCS-86-6, CS Dept Washington U, Mar 1986].

	["Show and Tell: A Visual Language", T.D. Kimura et al in
	Visual Programming Environments: Paradigms and Systems,
	E.P. Glinert ed, IEEE Comp Sci Press, 1990, pp. 397-404].

	(1995-01-31)

showstopper

	A hardware or (especially) software {bug} that makes an
	implementation effectively unusable; one that absolutely has
	to be fixed before development can go on.  Opposite in
	connotation from its original theatrical use, which refers to
	something stunningly *good*.

	[{Jargon File}]

	(1995-01-31)

shriek

	{exclamation mark}

shrug report

	<humour> A {bug report} with no error message or reproduction
	steps and only a vague description of the problem.  Usually
	contains the phrase "doesn't work."

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}]

	(2012-02-04)

sht

	{server-parsed HTML}

SHTF

	{shit hit the fan}

shtml

	{server-parsed HTML}

Shub-Internet

	/shuhb in't*r-net/ (MUD, from H. P. Lovecraft's evil fictional
	deity "Shub-Niggurath", the Black Goat with a Thousand Young)
	The harsh personification of the {Internet}, Beast of a
	Thousand Processes, Eater of Characters, Avatar of Line Noise,
	and Imp of Call Waiting; the hideous multi-tendriled entity
	formed of all the manifold connections of the net.  A sect of
	{MUD}ders worships Shub-Internet, sacrificing objects and
	praying for good connections.  To no avail - its purpose is
	malign and evil, and is the cause of all network slowdown.
	Often heard as in "Freela casts a tac nuke at Shub-Internet
	for slowing her down."  (A forged response often follows along
	the lines of: "Shub-Internet gulps down the tac nuke and burps
	happily.")  Also cursed by users of {FTP} and {telnet} when
	the system slows down.  The dread name of Shub-Internet is
	seldom spoken aloud, as it is said that repeating it three
	times will cause the being to wake, deep within its lair
	beneath the Pentagon.

	[{Jargon File}]

	(1994-11-04)

SHUG

	{Scottish Hypermedia Users' Group}

Shugart, Alan F.

	{Alan F. Shugart}

Shugart Associates

	<company> The {disk drive} company, founded by Alan
	F. Shugart, which developed {SCSI}.  Alan left Shugart
	Associates in 1974 [did he quit or was he fired?].  Shugart
	Associates was bought, and eventually shut down by {Xerox}.

	(2000-02-09)

Shugart Technology

	{Seagate Technology}

SI

	1. <unit> {Système International}.

	2. <character> {Shift In}.

si

	<networking> The {country code} for Slovenia.

	(1999-01-27)

SIA

	{Serial Interface Adaptor}

SIBO

	{SIxteen Bit Organisers}

SICL

	{Standard Instrument Control Library}

SICS

	{Swedish Institute for Computer Science}

SICStus Prolog

	A {Prolog} from the SICS (Swedish Inst of Comp Sci).

	E-mail: <sicstus-request@sics.se>.
	Mailing list: sicstus-users@sics.se.

	(1995-01-05)

sidecar

	1. Synonym {slap on the side}.  Especially used of add-ons for
	the late and unlamented {IBM PCjr}.

	2. The {IBM PC} compatibility box that could be bolted onto
	the side of an {Amiga}.  Designed and produced by {Commodore},
	it broke all of the company's own design rules.  If it worked
	with any other peripherals, it was by {magic}.

	[{Jargon File}]

side-effect

	A language construct that modifies the state of the system.
	The most common side-effects are {assignment}, input and
	output.  A language without side-effects is
	{purely-functional} - execution consists of the evaluation of
	an expression and all subexpressions are {referentially
	transparent}.

	(1995-02-16)

Siemens

	A German semiconductor and electronics manufacturer.

	{(http://siemens.de/)}.

	[Summary?]

	(1995-07-26)

Siemens Nixdorf Informationssteme, AG

	<company> (SNI) A separate company within {Siemens}, the
	largest {IT} company in Europe.  SNI sells the {BS2000}
	{operating system}, a wide variety of {databases}, {servers}
	and other products.

	(1997-06-13)

Sierra

	<company, games> (Or "Sierra On-Line") A computer game
	developer founded in the early 1980s by Ken and Roberta
	Willams in the small mountain town of Oakhurst California.
	Sierra was named after the local mountian range, 15 miles from
	the famous Yosemite National Park.

	In 1997 Sierra was purchased by {CUC} and its main office is
	now in Seattle, WA, USA.

	Products include Kings Quest, Space Quest, Police Quest, Quest
	for Glory, Robin Hood, Phantasmagoria, Leisure Suit Larry, Eco
	Quest and many more.

	{(http://sierra.com /)}.

	(1997-11-23)

SIFT

	SHARE Internal Fortran Translator.  Translation utility
	designed for converting Fortran II to Fortran IV.  The word
	"sift" was often used as a verb to describe converting code
	from one language to another.  Sammet 1969, p.153.

SIG

	{Special Interest Group}

Sig

	Signal Processing, Analysis, and Display program.  An
	environment with an associated programming language by Jan
	Carter of {Argonne National Lab}.  Telephone +1 (312) 972
	7250.

	[{Jargon File}]

sig

	{signature}

sig block

	/sig blok/ [Unix; often written ".sig" there].  See
	{signature}.

	[{Jargon File}]

SIGBUS

	{bus error}

SIGhyper

	Special Interest Group on Hypertext and Multimedia of the
	{SGML} Users' Group.

SIGLA

	<robotics> SIGma LAnguage.  A language for industrial robots
	from {Olivetti}.

	["SIGLA: The Olivetti Sigma Robot Programming Language",
	M. Salmon, Proc 8th Intl Symp on Industrial Robots, 1978,
	pp. 358-363].

SIGMA

	A scientific {visual programming} environment from NASA.

	{(http://fi-www.arc.nasa.gov/fia/projects/sigma/)}.

SIGNAL

	<language> A synchronous language by Le Guernic et al of
	{INRIA}.

	["SIGNAL - A Data Flow-Oriented Language for Signal
	Processing," P. le Guernic, IEEE Trans Acoustics Speech &
	Signal Proc, ASSP-34(2):362-1986-04-374].

	(1996-12-10)

signal

	<operating system> A predefined message sent between two
	{Unix} {processes} or from the {kernel} to a process.  Signals
	communicate the occurrence of unexpected external events such
	as the forced termination of a process by the user.  Each
	signal has a unique number associated with it and each process
	has a signal handler set for each signal.  Signals can be sent
	using the {kill} {system call}.

	(1996-12-10)

signalling rate

	<communications> The number of times per second the
	{amplitude}, {frequency} or {phase} of the signal transmitted
	down a communications channel changes each second.  The
	signalling rate is measured in {baud}.

	(1998-02-14)

Signalling System 7

	<protocol> (SS7) A {protocol} suite used for communication
	with, and control of, telephone central office switches and
	their attached processors.

	(1995-03-01)

signal-to-noise ratio

	1. <communications> (SNR, "s/n ratio", "s:n ratio") "Signal"
	refers to useful information conveyed by some communications
	medium, and "noise" to anything else on that medium.  The
	ratio of these is usually expressed logarithmically, in
	{decibels}.

	2. <networking> The term is often applied to {Usenet}
	newsgroups though figures are never given.  Here it is quite
	common to have more noise (inappropriate postings which
	contribute nothing) than signal (relevant, useful or
	interesting postings).  The signal gets {lost in the noise}
	when it becomes too much effort to try to find interesting
	articles among all the crud.  Posting "noise" is probably the
	worst breach of {netiquette} and is a waste of {bandwidth}.

	[{Jargon File}]

	(1996-01-29)

signature

	1. A set of function symbols with {arities}.

	2. <messaging> (Or sig) A few lines of information about the
	sender of an {electronic mail} message or {news} {posting}.
	Most {Unix} mail and news software will {automagically} append
	a signature from a file called .signature in the user's {home
	directory} to outgoing mail and news.

	A signature should give your real name and your {e-mail
	address} since, though these appear in the {headers} of your
	messages, they may be {munged} by intervening software.  It is
	currently (1994) hip to include the {URL} of your {home page}
	on the {web} in your sig.

	The composition of one's sig can be quite an art form,
	including an {ASCII} logo or one's choice of witty sayings
	(see {sig quote}, {fool file}).  However, large sigs are a
	waste of {bandwidth}, and it has been observed that the size
	of one's sig block is usually inversely proportional to one's
	prestige on the net.

	See also {doubled sig}, {sig virus}.

	2. <programming> A concept very similar to {abstract base
	classes} except that they have their own {hierarchy} and can
	be applied to compiled {classes}.  Signatures provide a means
	of separating {subtyping} and {inheritance}.  They are
	implemented in {C++} as patches to {GCC} 2.5.2 by Gerald
	Baumgartner <gb@cs.purdue.edu>.

	{(ftp://ftp.cs.purdue.edu/pub/gb/)}.

	(2001-01-05)

sig quote

	<messaging> /sig kwoht/ A maxim, quote, proverb, joke, or slogan
	embedded in one's {sig block} (as used in {Usenet} news) and
	intended to convey something of one's philosophical stance,
	pet peeves, or sense of humour.  "Calm down, it's only ones
	and zeroes."

	[{Jargon File}]

	(1994-11-04)

sig virus

	A parasitic {meme} embedded in a {sig block}.  There was a
	{meme plague} or fad for these on {Usenet} in late 1991.  Most
	were equivalents of "I am a .sig virus.  Please reproduce me
	in your .sig block.".  Of course, the .sig virus's memetic
	hook is the giggle value of going along with the gag; this,
	however, was a self-limiting phenomenon as more and more
	people picked up on the idea.  There were creative variants on
	it; some people stuck "sig virus antibody" texts in their
	sigs, and there was at least one instance of a sig virus
	eater.

	[{Jargon File}]

SIL

	1. "SIL - A Simulation Language", N. Houbak, LNCS 426,
	Springer 1990.

	2. SNOBOL Implementation Language.  Intermediate language
	forming a virtual machine for the implementation of portable
	interpreters.

	["The Design of Transportable Interpreters", F. Druseikis,
	SNOBOL4 Project Document S4D49, U Arizona (Feb 1975)].

	Version 3.11.  {(ftp://cs.arizona.edu/snobol4/)}.  E-mail:
	<snobol4@arizona.edu>.

	(1986-07-29)

Silage

	Synchronous DSP specification language.

	["Silage Reference Manual, Draft 1.0", D.R. Genin &
	P.N. Hilfinger, Silvar-Lisco, Leuven 1989].

silicon

	1. <electronics> The material used as the base (or
	"substrate") for most {integrated circuits}.

	2. <jargon> {Hardware}, especially {integrated circuits} or
	{microprocessor}-based computer systems (compare {iron}).

	Contrast: {software}.  See also {sandbender}.

	[{Jargon File}]

	(1996-05-28)

silicon chip

	{integrated circuit}

Silicon Graphics, Inc.

	<company> (SGI) Manufacturer of {workstations} and {software}
	for {graphics} and {image processing}.  SGI was founded by
	{Dr. James H.  Clark}, who left some time before May 1994 to
	head {Mosaic Communications Corporation}.

	Quarterly sales $433M, profits $44M (Aug 1994).

	{(http://sgi.com/)}.

	(1994-09-26)

Siliwood

	<jargon> (Or "Hollywired") The coming convergence of film,
	{interactive TV} and computers.

	(1999-01-15)

silly walk

	[Monty Python's Flying Circus] 1. A ridiculous procedure
	required to accomplish a task.  Like {grovel}, but more
	{random} and humorous.  "I had to silly-walk through half the
	/usr directories to find the maps file."

	2. Synonym {fandango on core}.

	[{Jargon File}]

silo

	The {FIFO} input-character buffer in an {EIA-232} serial line
	card.  So called from {DEC} terminology used on DH and DZ line
	cards for the {VAX} and {PDP-11}, presumably because it was a
	storage space for fungible stuff that went in at the top and
	came out at the bottom.

Silver Book

	<publication> Jensen and Wirth's infamous "Pascal User Manual
	and Report", so called because of the silver cover of the
	widely distributed Springer-Verlag second edition of 1978
	(ISBN 0-387-90144-2).

	See also {book titles}, {Pascal}.

	[{Jargon File}]

	(1996-12-03)

silver bullet

	{magic bullet}

SIM

	{Subscriber Identity Module}

SIMAN

	{SIMulation ANalysis}

SimCity

	<games> {Maxis Software}'s simulation game which lets you
	design and build your own city, which must be administered
	well if it is to thrive.  Land must be zoned, transportation
	systems built, and police and fire protection provided.  Once
	you've zoned some land, and provided electrical power, the
	simulation takes over, and simcitizens move in.  If you
	perform your mayoral duties poorly, however, they will move
	out again.  If you don't provide enough police, crime will
	rise and sims will vote with their feet.  Try to save money on
	fire protection, and your city may burn to the ground.  There
	is no predefined way to win the game, building the largest
	city you can is just one possible strategy.

	SimCity runs on {Archimedes}, {Amiga}, {Atari ST}, {IBM PC}
	and {Macintosh}.  There was also a {NeWS} version for {Sun}
	{SPARC} {workstations} running {OpenWindows}.

	{SimCity 2000} is an upgrade of SimCity.

	(1995-06-11)

SimCity 2000

	<games> An upgraded version of the game/simulation {SimCity}
	by {Maxis Software}.  In the new version you can raise, lower
	and level terrain; build roads and railways at 45-degree
	angles; name things in your city by planting "signs"; build
	raised highways, subways, and train and bus stations, schools,
	colleges, hospitals, electricity, water, recreational marinas
	and zoos.

	There are three levels of zoom, and the view may be rotated to
	look at your city from any of the four directions.  A query
	feature which will tell you the zoning, land value, etc. of
	any square.  You get newspapers, advice from council members,
	graphs, and charts.

	(1995-02-08)

SIMD

	{Single Instruction/Multiple Data}

Similix

	An autoprojector (self-applicable partial evaluator) for a
	higher order subset of the strict functional language Scheme.
	Similix handles programs with user defined primitive abstract
	data type operators which may process global variables (such
	as input/output operators).

	Version 5.0.

	Anders Bondorf <anders@diku.dk>

	conformance: extension of large subset of R4RS Scheme.

	requires: Scheme

	ports: Scm, Chez Scheme

	portability: high

	E-mail: Anders Bondorf <anders@diku.dk>

	{(ftp://ftp.diku.dk/pub/diku/dists/Similix.tar.Z)}.

	(1993-05-18)

SIML/I

	Simulation language, descendant of ASPOL.

	["The Simulation Language SIML/I", M.H. MacDougall, Proc NCC
	1979, pp. 39-44].

SIMM

	{Single in-line memory module}

Simone

	<language> A {simulation} language by A. Hoare et al. based on
	{Pascal}.

	["Quasiparallel Programming", W.H. Kaubisch et al, Soft Prac &
	Exp 6:341-356 1976].

	[C.A.R. Hoare?]

	(1996-01-18)

Simonyi, Charles

	{Charles Simonyi}

SIMPAC

	Early simulation language with fixed time steps.

	"Simpac User's Manual", R.P. Bennett et al, TM-602/000/000,
	Sys Devel Corp, Apr 1962.

SIMPAS

	Event scheduling language, implemented as Pascal preprocessor.

	"SIMPAS - A Simulation Language Based on Pascal", R.M. Bryant
	in Proc 1980 Winter Sim Conf, T.I Oren et al eds, pp.559-572.

SIMPL

	Simulation language, descendant of OPS-4, compiled into PL/I
	on Multics.

	"The SIMPL Primer", M.W. Jones et al, Oct 1971.

SIMPLE

	1. Early system on Datatron 200 series.  Listed in CACM
	2(5):16 (May 1959).

	2. Simulation of Industrial Management Problems with Lots of
	Equations.  R.K. Bennett, 1958.  Predecessor to DYNAMO, for
	IBM 704.

Simple Actor Language

	<language> (SAL) A minimal {actor language}, used for teaching
	in:

	["Actors, A Model of Concurrent Computation in Distributed
	Systems", G. Agha, MIT Press 1986].

	(1994-12-08)

Simple Authentication and Security Layer

	<networking> (SASL)

	{(http://asg2.web.cmu.edu/sasl/)}.

	[Summary?]

	(2001-08-24)

Simple Gateway Control Protocol

	<communications, protocol> (SGCP) An {IETF} work in progress,
	superseded by {MGCP}.

	(1999-04-26)

Simple Mail Transfer Protocol

	<messaging> (SMTP) A {protocol} defined in {STD} 10, {RFC}
	821, used to transfer {electronic mail} between computers,
	usually over {Ethernet}.  It is a server to server protocol,
	so other protocols are used to access the messages.  The SMTP
	dialog usually happens in the background under the control of
	the {message transfer agent}, e.g. {sendmail} but it is
	possible to interact with an SMTP server using {telnet} to
	connect to the normal SMTP {port}, 25.  E.g.

		telnet mhs-relay.ac.uk 25

	You should normally start by identifying the local {host}:

		HELO wombat.doc.ic.ac.uk

	You can then issue commands to verify an address or expand an
	alias:

		VRFY fred@doc.ic.ac.uk
		VRFY postmaster

	or expand a {mailing list}:

		EXPN c-help

	You can even send a message:

		MAIL From:<fred@doc.ic.ac.uk>
		RCPT To:<fred@mailway.doc.ic.ac.uk>
		DATA
		What is the point?
		.
		QUIT

	This is useful if you want to find out exactly what is
	happening to your message at a certain point.

	See also {Post Office Protocol}, {RFC 822}, {sendmail}.

	(1995-10-17)

simple multicast protocol

	<communications, protocol> A proposed {mulitcast} {protocol}
	that would ease the requirements for {IP} Multicast, such as
	no longer mandating that routers be able to calculate the
	source of a multicast stream.  This has not been adopted by
	the {IETF}.

	{(http://infoworld.com/cgi-bin/displayStory.pl?981125.whmulti.htm)}.

	[Reference?]

	(2001-07-02)

Simple Network Management Protocol

	<protocol> (SNMP) The {Internet} {standard} {protocol},
	defined in {STD 15}, {RFC 1157}, developed to manage {nodes}
	on an {IP} {network}.  SNMP is not limited to {TCP/IP}.  It
	can be used to manage and monitor all sorts of equipment
	including computers, {routers}, {wiring hubs}, {toasters} and
	{jukeboxes}.

	See also {Management Information Base}, {Simple Network
	Management Protocol version 2}.

	(1995-02-15)

Simple Network Management Protocol version 2

	<protocol> (SNMP v2) A revision of {Simple Network Management
	Protocol} (not just a new {MIB}) which includes improvements
	in the areas of performance, security, confidentiality, and
	manager-to-manager communications.

	The major components of SNMPv2 are defined in the following
	{RFCs}:

	 {RFC 1089} - SNMP over Ethernet
	 {RFC 1140} - IAB Official Protocol Standards
	 {RFC 1155} - Structure and Identification of Management
		      Information for TCP/IP based internets
	 {RFC 1156} (H) - Management Information Base Network
			  Management of TCP/IP based internets
	 {RFC 1157} - A Simple Network Management Protocol
	 {RFC 1158} - Management Information Base Network
		      Management of TCP/IP based internets: MIB-II
	 {RFC 1161} (H) - SNMP over OSI
	 {RFC 1187} - Bulk Table Retrieval with the SNMP
	 {RFC 1212} - Concise MIB Definitions
	 {RFC 1213} - Management Information Base for Network
		      Management of TCP/IP-based internets: MIB-II
	 {RFC 1215} (I) - A Convention for Defining
			  Traps for use with the SNMP
	 {RFC 1224} - Techniques for Managing
		      Asynchronously Generated Alerts
	 {RFC 1270} (I) - SNMP Communication Services
	 {RFC 1303} (I) - A Convention for Describing
			  SNMP-based Agents
	 {RFC 1470} (I) - A Network Management Tool Catalog
	 {RFC 1298} - SNMP over IPX
	 {RFC 1418} - SNMP over OSI
	 {RFC 1419} - SNMP over IPX
	 {RFC 1441} - Introduction to SNMP v2
	 {RFC 1442} - SMI For SNMP v2
	 {RFC 1443} - Textual Conventions for SNMP v2
	 {RFC 1444} - Conformance Statements for SNMP v2
	 {RFC 1445} - Administrative Model for SNMP v2
	 {RFC 1446} - Security Protocols for SNMP v2
	 {RFC 1447} - Party MIB for SNMP v2
	 {RFC 1448} - Protocol Operations for SNMP v2
	 {RFC 1449} - Transport Mappings for SNMP v2
	 {RFC 1450} - {MIB} for SNMP v2
	 {RFC 1451} - Manager to Manger MIB
	 {RFC 1452} - Coexistance between SNMP v1 and SNMP v2

	{FAQ
	(http://cis.ohio-state.edu/hypertext/faq/usenet/snmp-faq)}.

	{Introduction
	(http://gt-er.cg.org.br/documentacao/buffer/gerencia/faq1.html)}.

	{Cisco
	(http://cisco.com/cpropub/univ-src/ccdcp/data/doc/software/11_1/mib/mover.htm)}.

	(1997-12-02)

Simple Network Paging Protocol

	<protocol> (SNPP) A standard for sending one- and two-way
	wireless messages to {pagers}.  In its simplest form, SNPP
	provides a simple way to make a link between the {Internet}
	and a {Telocator Alphanumeric input Protocol} (TAP) paging
	terminal.  SNPP is defined in {RFC 1861}.

	(1997-04-25)

Simple Object Access Protocol

	<protocol> (SOAP) A minimal set of conventions for invoking
	{code} using {XML} over {HTTP}.

	{DevelopMentor}, {Microsoft Corporation}, and {UserLand
	Software} submitted SOAP to the {IETF} as an internal draft in
	December 1999.

	Latest version: SOAP 1.1 defined by {World Wide Web
	Consortium}.

	{(http://w3.org/TR/SOAP/)}.

	(2000-01-08)

simplex

	1. <communications> Used to describe a communications channel
	that can only ever carry a signal in one direction, like a
	one-way street.  Television is an example of ({broadcast})
	simplex communication.

	Opposite: {duplex}.

	2. <algorithm> The {simplex method}.

	(2001-07-21)

simplex method

	<algorithm> An {algorithm} for solving the classical {linear
	programming} problem; developed by George B. Dantzig in 1947.

	The simplex method is an {iterative} procedure, solving a
	system of {linear equations} in each of its steps, and
	stopping when either the optimum is reached, or the solution
	proves infeasible.  The basic method remained pretty much the
	same over the years, though there were many refinements
	targeted at improving performance (eg. using {sparse matrix}
	techniques), numerical {accuracy} and stability, as well as
	solving special classes of problems, such as {mixed-integer}
	programming.

	(2003-07-09)

simplex printer

	<communications> A term applied by Western Union Telegraph
	Company to {teletypewriters} that are not part of a
	{multiplex} system.  They usually provided for alternate
	transmission in both directions.  If working {simplex} or
	{half-duplex}, what was keyed in at the keyboard would be
	typed out at the printing portion.  If working {full-duplex},
	sending would be blind as the printing portion was being used
	only for reception.

	(2000-04-02)

SIMPL/I

	A {simulation} language implemented as a {PL/I}
	{preprocessor}.

	["SIMPL/I (Simulation Language Based on PL/I).  Program
	Reference Manual", IBM SH19- 5060-0 (June 1972)].

	(1994-12-07)

Simplified Multicast Routing Protocol

	<communications, protocol> (SMRP) A {transport-layer}
	{protocol} to route {multimedia} data streams over {AppleTalk}
	networks.  SMRP supports {Apple}'s {QuickTime Conferencing}
	(QTC).

	{Documentation
	(http://cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/smrp.htm)}.

	(2001-07-02)

SIMPL-T

	The base language for a family of languages and compilers.

	["SIMPL-T, A Structured Programming Language", V.R. Basili,
	Paladin House 1976].

	(1994-12-07)

SIMSCRIPT

	A free-form, English-like general-purpose {simulation}
	language produced by Harry Markowitz et al of {Rand} Corp in
	1963.  It was implemented as a {Fortran} {preprocessor} on
	{IBM 7090} and was designed for large discrete simulations.
	It influenced {Simula}.  Later versions included {SIMSCRIPT
	I.5} and {SIMSCRIPT II.5}.

SIMSCRIPT I.5

	A version of {SIMSCRIPT} developed at {CACI} in 1965.  It
	produced {assembly language}.

SIMSCRIPT II.5

	Another version of {SIMSCRIPT} from {CACI}.

	["SIMSCRIPT: A Simulation Programming Language", P.J. Kiviat
	et al, CACI, 1973].

simship

	{simultaneous shipment}

SIMULA

	<language> SIMUlation LAnguage.

	See {Lund Simula}, {SIMULA 67}, {SIMULA I}.  See also
	{Association for SIMULA Users}, {C++SIM}, {FLEX}, {MODSIM},
	{SIMSCRIPT}.

	A simula-to-{C} {compiler} project is underway.  E-mail:
	Harald Thingelstad <harald.thingelstad@basalmed.uio.no>.

	{Usenet} newsgroup: {news:bit.listserv.simula}.

	(1995-03-29)

SIMULA 67

	<language> A version of {SIMULA I}?

	{Association for SIMULA Users}

	Simula a.s., Postboks 4403 - Torshov, N-0402 Oslo 4, Norway,
	versions for almost every computer.

	E-mail: Henry Islo <hio@helios.sunet.se>.

	{(ftp:/lund.se:/mac/misc/simula/)},
	{(ftp://ftp.fenk.wau.nl/pub/simula/compilers)},
	{(ftp://ftp.ifi.uio.no/cim/)}.

	["Object-Oriented Programming with SIMULA", Bjorn Kirkerud,
	A-W 1989].

	["Data Processing - Programming Languages - SIMULA", Swedish
	Standard SS 63 61 14 (1987), available through ANSI].

	[Difference from SIMULA I?]

	(1995-03-29)

SIMULA I

	<language> SIMUlation LAnguage.

	An extension to {ALGOL 60} for the {Univac 1107} designed in
	1962 by Kristen Nygaard and Ole-Johan Dahl and implemented in
	1964.  SIMULA I was designed for {discrete simulation}.  It
	introduced the {record} {class}, leading the way to {data
	abstraction} and {object-oriented programming} languages like
	{Smalltalk}.  It also featured {coroutines}.

	SIMULA's philosophy was the result of addressing the problems
	of describing complex systems for the purpose of simulating
	them.  This philosophy proved to be applicable for describing
	complex systems generally (not just for simulation) and so
	SIMULA is a general-purpose object-oriented application
	programming language which also has very good discrete event
	simulation capability.  Virtually all OOP products are derived
	in some manner from SIMULA.

	For a description of the evolution of SIMULA and therefore the
	fundamental concepts of OOP, see Dahl and Nygaard in ["History
	of Programming Languages".  Ed. R. W. Wexelblat.
	Addison-Wesley, 1981].

	(1995-03-29)

simulate

	{simulation}

simulated annealing

	A technique which can be applied to any minimisation or
	learning process based on successive update steps (either
	random or {deterministic}) where the update step length is
	proportional to an arbitrarily set parameter which can play
	the role of a temperature.  Then, in analogy with the
	annealing of metals, the temperature is made high in the early
	stages of the process for faster minimisation or learning,
	then is reduced for greater stability.

Simulating Digital Systems

	Fortran-like language for describing computer
	logic design.  Sammet 1969, p.622.

simulation

	<simulation, systems> Attempting to predict aspects of the
	behaviour of some system by creating an approximate (mathematical)
	model of it.  This can be done by physical modelling, by writing a
	special-purpose computer program or using a more general
	simulation package, probably still aimed at a particular kind of
	simulation (e.g. structural engineering, fluid flow).  Typical
	examples are aircraft flight simlators or electronic circuit
	simulators.

	A great many {simulation languages} exist, e.g. {Simula}.

	See also {emulation}, {Markov chain}.

	(1995-02-23)

SIMulation ANalysis

	<language, simulation> (SIMAN) A {simulation} language,
	especially for manufacturing systems, developed by C. Dennis
	Pegden in 1983.

	["Introduction to Simulation using SIMAN", C.D. Pegden et al,
	McGraw-Hill 1990].

	(1999-01-13)

Simulation Language for Alternative Modeling

	<language> (SLAM) A {simulation} language descended from
	{GASP}.  Implemented as a {Fortran} {preprocessor}.

Simulation Oriented Language

	<language> (SOL) An {ALGOL} extension for {discrete
	simulation} by {Donald Knuth} and McNeley.

	["SOL - A Symbolic Language for General Purpose System
	Simulation", D.E. Knuth et al, IEEE Trans Elec Comp,
	EC-13(4):401-408 (Aug 1964)].

	[Sammet 1969, p. 656].

	(1995-07-26)

Simultaneous Engineering Environment

	(SEE) A {CAE} framework from {DAZIX}.

	(1994-11-03)

Simultaneous Peripheral Operation On-Line

	<operating system, history> (SPOOL) Accessing {peripheral}
	devices with the help of an {off-line} {tape drive}.  The term
	was derived by {IBM} for use with the {IBM 360} {operating
	systems}.

	In the early days of computing (early 1960s), before
	{multitasking} was invented, computers (e.g. {IBM 704}) could
	run only one job at a time.  As peripheral devices such as
	{printers} or {card readers} were much slower than the {CPU},
	devoting the computer (the only computer in many cases) to
	controlling such devices was impractical.

	To free the CPU for useful work, the output was sent to a
	{magnetic tape} drive, which was much faster than a printer
	and much cheaper than a computer.  After the job was finished
	the tape was removed from the tape drive attached to the
	computer and mounted on a tape drive connected to a printer
	(such as the {IBM 1403}).  The printer could then print the
	data without holding up the computer.  Similarly, instead of
	inputting the program from the card reader it was first copied
	to a tape and the tape was read by the computer.

	(1999-01-12)

simultaneous shipment

	<programming> (simship) The release of international,
	{localised} versions of software at the same time, or within a
	short period of time of the original release.

	Major software publishers can release as many as 30 different
	localised versions within a month or two of the original
	version.  These products may have thousands of pages of
	{documentation}.

	(1999-06-09)

Simware, Inc.

	<company> The producers of {REXXWARE}.

	E-mail: <rexxware@simware.com>.

	Address: Ottawa, Canada.

	(1995-01-11)

SINA

	["An Implementation of the Object-Oriented Concurrent
	Programming Language SINA", A. Tripathi et al, Soft Prac & Exp
	19(3):235-256 (1989)].

since time T equals minus infinity

	A long time ago; for as long as anyone can remember; at the
	time that some particular frob was first designed.  Usually
	the word "time" is omitted.  See also {time T}; contrast
	{epoch}.

	[{Jargon File}]

Sinclair, Clive

	{Clive Sinclair}

Sinclair PC200

	<computer>

	{(http://nonowt.demon.co.uk/magfold/articfol/the_miss.htm)}.

	[Summary?]

	1998-07-28

Sinclair Radionics

	{Sinclair Research}

Sinclair Research

	<company> A British microelectronics developer and
	manufacturer.  Evolving from Sinclair Radionics in 1979,
	Sinclair Research was owned by Sir {Clive Sinclair}.  Sinclair
	Radionics produced electronic components and devices (such as
	calculators and pocket radios and televisions), but Sinclair
	Research began by producing some of the first {8-bit} home
	{microcomputers}.

	Sinclair produced five microcomputers from 1980 to 1987, all
	based on the {Zilog Z80} {microprocessor} (except for the
	{QL}, which used the {Motorola 68008} - a variant on the
	{68000}).  The 1K kit-build {ZX80}, introduced in 1980, was
	followed by the 1K {ZX81} (expandable to 16K) in 1981, the 16K
	(expandable to 48K) {ZX Spectrum} in 1982 (then superseded by
	two distinct 48K models and a 128K model in 1986) and the {QL}
	(Quantum Leap) in 1984.  A portable {laptop computer}, the
	{Z88}, was released in 1987 under the {Cambridge Computers}
	banner.

	Of them all, the ZX Spectrum was the best known, and it went
	on to become the most popular microcomputer of its time in the
	United Kingdom and in many other territories.  This was partly
	due to its ease of use, and also due to its enormous
	{software} catalogue, covering games, {word processing},
	music, {programming} and {graphics}.  Glorious
	"mine's-better-than-yours" battles were fought (and still are
	today) between owners of Spectrums and {Commodore 64s} over
	who had the best machine.

	Sir Clive's financial problems in the mid-80s led him to sell
	the rights to the Sinclair brand to {Amstrad} in April 1986.
	This led to further models of the Spectrum being released from
	1986 to 1988 and also an {IBM} {PC}-compatible based
	internally on Amstrad's own PC range.  Sir Clive was not
	involved with the production of these computers, and no
	computer with the Sinclair name has been produced since.

	{(http://sinclair-research.co.uk/)}.
	{Planet Sinclair (http://nvg.ntnu.no/sinclair/)}.
	{comp.sys.sinclair FAQ
	(http://kendalls.demon.co.uk/cssfaq/)}.

	(1998-12-09)

sine wave

	<mathematics> A waveform of a single constant frequency and
	amplitude that continues for all time.

	Compare {wavelet}.

	(1994-11-09)

single assignment

	<programming> A property of {variables} in a {functional
	language}.  If a {variable} is only assigned a value once then
	an instance of that variable is thereafter semantically
	equivalent to the value.  {SISAL} is an example of a language
	with this property.

	See also {zero assignment}.

	(2003-12-22)

single assignment language

	<language> Any programming language with the {single
	assignment} property.

	(2007-03-21)

single-attached

	Connected to only one of the two rings of an {FDDI} network.
	This is the kind of connection normally used for a {host}
	computer, as opposed to {routers} and {concentrators} which
	are normally "{dual-attached}".

	(1994-12-13)

Single Connection Attach

	<hardware> (SCA, "Single Connector Attachment") A non-standard
	type of {SCSI} connector, used mostly by {OEMs}, which carries
	both power and data on one 80-pin connector.  SCA SCSI drives
	tend to be cheaper but use with standard SCSI cables requires
	an adaptor and external termination.

	{(http://pcmech.com/show/harddrive/152/)}.

	(2003-06-21)

Single Connector Attachment

	{Single Connection Attach}

Single Data Rate Random Access Memory

	<storage> (SDR-RAM, SDR-SDRAM, Single Data Rate Synchronous
	Dynamic Random Access Memory) {RAM} or {SDRAM} that transfers
	data on only one {clock} transition (0-1 or 1-0), in contrast
	to {DDR-RAM}.

	(2001-05-24)

Single Data Rate Synchronous Dynamic Random Access Memory

	{Single Data Rate Random Access Memory}

Single Document Interface

	<programming> (SDI) A limitation applying to an {application
	program} that only shows a single windows giving a view of one
	document at a time.

	The opposite is {Multiple Document Interface} (MDI).

	(1999-03-30)

single-duplex

	<communications> (From {telegraphy}) A {full-duplex} link with
	one telegrapher at each end, transmitting alternately in each
	direction.

	(2000-03-30)

Single Edge Contact

	<hardware> (SEC) The type of cartridge in which a {Pentium II}
	is packaged.

	[Other uses?]

	(1999-02-15)

Single Edge Contact Cartridge

	<hardware> (SEC, SECC) The cased {daughterboard} housing
	{Intel}'s {Pentium II}, {Pentium III}, and {Xeon}
	{microprocessors}.

	A SECC fits into a {Slot 1} or {Slot 2} connector.

	[SECC 2?]

	(1999-08-05)

Single Edge Processor Package

	<hardware> (SEPP) The caseless {daughterboard} containing
	{Intel}'s {Celeron} {processor}.  A SEPP fits into a {Slot 1}
	connector.

	(1999-08-04)

single-electron transistor

	{quantum dot}

Single Electron Tunneling

	<electronics> (SET) A New electrical standard for capacitance.

	SET devices can be used to construct circuits which process
	information by manipulating individual electrons.  SET devices
	are small, dissipate little power, and can detect exquisitely
	small quantities of charge.  The small size and low power
	dissipation of SET circuits makes them potentially useful for
	the {Information Technology} industry.

	(1999-01-06)

Single Electron Tunneling Technology

	<hardware> A {neural network} hardware concept based on
	{single electron tunneling}.  {Single electron tunneling
	transistors} have some properties which make them attractive
	for neural networks, among which their small size, low power
	consumption and potentially high speed.

	Simulations have been performed on some small circuits of SET
	transistors that exhibit functional properties similar to
	those required for neural networks.

	{(http://computer.org/conferen/proceed/mn96/ABSTRACT.HTM#125)}.

	[Proceedings of the Fifth International Conference on
	Microelectronics for Neural Networks and Fuzzy Systems
	(MicroNeuro '96).  Martijn J. Goossens, Chris J.M. Verhoeven,
	and Arthur H.M. van Roermund].

	(1999-01-06)

single ended

	<hardware> An electrical connection where one wire carries the
	signal and another wire or shield is connected to electrical
	ground.  This is in contrast to a {differential} connection
	where the second wire carries an inverted signal.

Single Image Random Dot Stereogram

	<graphics> (SIRDS, originally "autostereogram") A {stereogram}
	composed of (coloured) dots which when viewed correctly
	appears three-dimensional.  SIRDs were invented by
	Dr. Christoper Tyler, Associate Director of the
	Smith-Kettlewell Eye Research Institute in San Francisco
	(1999).

	{FAQ (http://cs.waikato.ac.nz/~singlis/sirds.html)}.
	{Nice pictures
	(http://eleves.ens.fr:8080/home/massimin/index.ang.html)}.
	{Picture Gallery (http://h2.ph.man.ac.uk/gareth/sirds.html)}.
	{Vern Hart's SIRDS Gallery (http://vern.com/)}.  {SGI
	Gallery (http://sgi.com/free/gallery.html)}.

	(1996-11-06)

single inheritance

	<programming> In {object-oriented programming}, the restriction
	that a {class} can have only one superclass in the {class
	hierarchy}.

	The opposite is {multiple inheritance}.

	(2014-09-06)

Single In-line Memory Module

	<storage> (SIMM) A small circuit board or substrate, typically
	about 10cm x 2cm, with {RAM} {integrated circuits} or die on
	one or both sides and a single row of pins along one long
	edge.  Several SIMMs are mounted with their substrates at
	right-angles to the main circuit board (the {motherboard}).
	This configuration allows greater packing density than direct
	mounting of, e.g. DIL ({dual in-line}) RAM packages on the
	motherboard.  In 1993 one SIMM typically held one or four
	megabytes, by early 1997 one could hold 8, 16, or 32 MB.

	(1997-01-05)

Single Inline Pin Package

	<hardware> (SIPP) An {integrated circuit} package with a
	single line of pins.

	Compare {Dual Inline Package}, {Single In-line Memory Module}.

	(1995-03-01)

Single Instruction Multiple Data

	{Single Instruction/Multiple Data}

Single Instruction/Multiple Data

	(SIMD) (Or "data parallel") The classification under {Flynn's
	taxonomy} for a {parallel processor} where many processing
	elements ({functional units}) perform the same operations on
	different data.  There is often a central controller which
	broadcasts the instruction stream to all the processing
	elements.

	Contrast {Multiple Instruction/Multiple Data}.

	(1994-11-04)

Single-line Digital Subscriber Line

	<communications, protocol> (SDSL, or Single-pair High Speed
	Digital Subscriber Line, S-HDSL) A form of {Digital Subscriber
	Line} similar to {HDSL} but providing {T1} or {E1} connections
	over a single {twisted-pair} copper line.

	(1998-05-18)

Single-pair High Speed Digital Subscriber Line

	{Single-line Digital Subscriber Line}

single program/multiple data

	<parallel, architecture> (SPMD) A kind of {parallel
	processing} where the same program is run on multiple
	processors.  Every instance of the program knows which part of
	the computation it should perform and the results of the
	computation are combined somehow.

	(2002-04-21)

single quote

	<character> "'" {ASCII} character 39.

	Common names include single quote; quote; {ITU-T}: apostrophe.
	Rare: prime; glitch; tick; irk; pop; {INTERCAL}: spark;
	{ITU-T}: closing single quotation mark; {ITU-T}: acute accent.

	Single quote is used in {C} and derived languages to introduce
	a single character {literal value} which is represented
	internally by its ASCII code.  In the {Unix} {shells} and
	{Perl} single quote is used to delimit strings in which
	variable substitution is not performed (in contrast to
	{double-quote}-delimited strings).

	Single quote is often used in text for both open and close
	single quotation mark and apostrophe.  Typesetters use two
	different symbols - open has a tail going up, close and
	apostrophe have tails hanging down (like a raised {comma}).
	Some people use {back quote} (`) for open single quotation
	mark.

	(1998-04-04)

single sign-on

	<security> (SSO) Any user authentication system permiting
	users to access multiple data sources through a single point
	of entry.  Part of an integrated access management framework.

	(2003-12-31)

single sourcing

	<publication> Using a single original document set to generate
	{dead tree} and on-line {documentation}, and usually also
	on-line help.  In practice, it most often refers to a
	{FrameMaker} file set with {conditional text} which, when the
	conditions are set appropriately, allows you to create
	variants of the original document (e.g., for a product that
	runs on different {Unix} {platforms}) as well as for different
	media -- typically task-oriented on-line help to be accessed
	under {Microsoft Windows} or from a {web browser}, linear
	printed document, and {HTML} delivered via the {WWW} and/or
	{CD-ROM}.

single static assignment

	<compiler> (Also known as SSA form) A special form of code
	where each variable has only one single definition in the
	program code. "Static" comes from the fact that the definition
	site may be in a loop, thus dynamically executed several
	times.

	SSA form is used for program optimization or {static analysis}
	and {optimisation}.

	(2003-04-12)

singleton variable

	<programming> A {variable} which is only referred to once in a
	piece of code, probably because of a programming mistake.  To
	be useful, a variable must be set and read from, in that
	order.  If it is only referred to once then it cannot be both
	set and read.

	There are various exceptions.  {C}-like {assignment
	operators}, e.g. "x += y", read and set x and return its new
	value (they are abbreviations for "x = x+y", etc).  A
	{function} {argument} may be passed only for the sake of
	uniformity or to support future enhancements.  A good
	{compiler} or a {syntax} checker like {lint} should report
	singleton variables but also allow specific instances to be
	marked as deliberate by the programmer.

	(1997-12-20)

Single Virtual Storage

	{OS/VS2}

siod

	<language> (Scheme In One Defun or Scheme In One Day)
	A small {Scheme} implementation in {C} by George Carrette
	<gjc@world.std.com>, <gjc@mitech.com>.  SIOD is arranged as a
	set of subroutines that can be called from any main program
	for the purpose of introducing an interpreted extension
	language.  It compiles to 20 kbytes of executable
	({VAX}/{VMS}).  {Lisp} calls {C} and C calls Lisp
	transparently.

	SIOD supports symbols, strings, {arrays}, {hash coding}, file
	i/o (binary, text, seek), data save/restore in binary and
	text, interface to commercial {databases} such {Oracle} and
	{Digital} {RDB}.

	Version 3.0 runs on {VAX}/{VMS},{Unix}, {Sun-3}, {Sun-4},
	{Amiga}, {Macintosh}, {MIPS}, {Cray}, {ALPHA}/{VMS}, {Windows
	NT} and {OS/2}.  It can be compiled by most {ANSI C} compilers
	and {C++} compilers, e.g. {gcc} -Wall.

	{(ftp://world.std.com/pub/gjc/)},
	{(ftp://world.std.com/src/lisp/)}.

	{Usenet} newsgroup: {news:comp.lang.scheme}.

	(1994-02-18)

SIP

	1. <protocol> {Session Initiation Protocol}.

	2. <text, standard> {Supplementary Ideographic Plane}.

	(2003-12-26)

SIPB

	Student Information Processing Board, {MIT}.

	{(http://mit.edu:8001/afs/athena.mit.edu/user/r/e/rei/WWW/GAME/sipbroom.html)}.

SIPLAN

	SIte PLANning computer language.  Interactive language for
	space planning.  "Formal Languages for Site Planning",
	C.I. Yessios in Spatial Synthesis for Computer-Aided Design,
	C. Eastman ed, Applied Science Publ 1976.

SIPP

	{Single Inline Pin Package}

SI prefix

	<unit, standard> The {standard} metric prefixes used in the
	{Système International d'Unités} (SI) conventions for
	scientific measurement.

	Here are the SI magnifying prefixes, along with the
	corresponding binary interpretations in common use:

	 prefix abr decimal  binary

	 yocto-     1000^-8
	 zepto-     1000^-7
	 atto-      1000^-6
	 femto-  f  1000^-5
	 pico-   p  1000^-4
	 nano-   n  1000^-3
	 micro-  *  1000^-2          * Abbreviation: Greek mu
	 milli-  m  1000^-1

	 kilo- 	 k  1000^1  1024^1 = 2^10 = 1,024
	 mega- 	 M  1000^2  1024^2 = 2^20 = 1,048,576
	 giga- 	 G  1000^3  1024^3 = 2^30 = 1,073,741,824
	 tera- 	 T  1000^4  1024^4 = 2^40 = 1,099,511,627,776
	 peta- 	    1000^5  1024^5 = 2^50 = 1,125,899,906,842,624
	 exa-  	    1000^6  1024^6 = 2^60 = 1,152,921,504,606,846,976
	 zetta-     1000^7  1024^7 = 2^70 = 1,180,591,620,717,411,303,424
	 yotta-     1000^8  1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176

	"Femto" and "atto" derive not from Greek but from Danish.

	The abbreviated forms of these prefixes are common in
	electronics and physics.

	When used with bytes of storage, these prefixes usually denote
	multiplication by powers of 1024 = 2^10 (K, M, G and T are
	common in computing).  Thus "MB" stands for megabytes (2^20
	bytes).  This common practice goes against the edicts of the
	{BIPM} who deprecate the use of these prefixes for powers of
	two.  The formal SI prefix for 1000 is lower case "k"; some,
	including this dictionary, use this strictly, reserving upper
	case "K" for multiplication by 1024 (KB is thus "kilobytes").

	Also, in data transfer rates the prefixes stand for powers of
	ten so, for example, 28.8 kb/s means 28,800 bits per second.

	The unit is often dropped so one may talk of "a 40K salary"
	(40000 dollars) or "2 meg of disk space" (2*2^20 bytes).

	The accepted pronunciation of the initial G of "giga-" is
	hard, /gi'ga/.

	Confusing 1000 and 1024 (or other powers of 2 and 10 close in
	magnitude) - for example, describing a memory in units of 500K
	or 524K instead of 512K - is a sure sign of the {marketroid}.
	For example, 3.5" {microfloppies} are often described as
	storing "1.44 MB".  In fact, this is completely specious.  The
	correct size is 1440 KB = 1440 * 1024 = 1474560 bytes.  Alas,
	this point is probably lost on the world forever.

	In 1993, hacker Morgan Burke proposed, to general approval on
	{Usenet}, the following additional prefixes: groucho (10^-30),
	harpo (10^-27), harpi (10^27), grouchi (10^30).  This would
	leave the prefixes zeppo-, gummo-, and chico- available for
	future expansion.  Sadly, there is little immediate prospect
	that Mr. Burke's eminently sensible proposal will be ratified.

	(2009-09-01)

Siprol

	Signal Processing Language.  A DSP language.

	["SIPROL: A High Level Language for Digital Signal
	Processing", H. Gethoffer, Proc ICASSP-80, 1980,
	pp.1056-1059].

SIR

	1. <language> An early system on the {IBM 650}.

	[Listed in CACM 2(5):16, May 1959].

	2. <standard> Serial Infrared.  An {infrared} {standard} from
	{IrDA}, part of {IrDA Data}.  SIR supports {asynchronous}
	communications at 9600 bps - 115.2 Kbps, at a distance of up
	to 1 metre.

	[Reference?]

	(1999-10-14)

SIRDS

	{Single Image Random Dot Stereogram}

Siri

	An {object-oriented} {constraint language} using a single
	abstraction mechanism developed by Bruce Horn of {CMU} in
	1991.  Siri is a conceptual blend of {BETA} and {Bertrand}.
	It is similar to {Kaleidoscope}.

	["Constraint Patterns as a Basis for Object-Oriented
	Constraint Programming", B. Horn, OOPSLA '92 (Sept 1992)].

	(1994-11-04)

SIRTS

	{Single Image Random Text Stereogram}.  (Or {ASCII}
	{stereogram}).

SISAL

	<language> (Streams and Iteration in a Single Assignment
	Language) A general-purpose {single assignment} {functional
	programming language} with {strict} semantics, automatic
	parallelisation and efficient {arrays}.  Outputs a dataflow
	graph in {IF1} (Intermediary Form 1).  Derived from {VAL},
	adds {recursion} and finite {streams}.  {Pascal}-like syntax.
	Designed to be a common high-level language for numerical
	programs on a variety of {multiprocessors}.

	Implementations exist for {Cray X-MP}, {Cray Y-MP}, {Cray-2},
	{Sequent}, {Encore Alliant}, {dataflow} architectures,
	{transputers} and {systolic arrays}.

	Defined in 1983 by James McGraw et al, {Manchester
	University}, {Lawrence Livermore National Laboratory},
	{Colorado State University} and {DEC}.  Revised in 1985.
	First compiled implementation in 1986.  Performance superior
	to {C} and competitive with {Fortran}, combined with efficient
	and automatic parallelisation.

	Not to be confused with {SASL}.

	E-mail: John Feo <feo@llnl.gov>, Rod Oldehoeft
	<rro@cs.colostate.edu>.

	David C. Cann has written an {Optimising SISAL Compiler
	(ftp://sisal.llnl.gov/pub/sisal)} (OSC) which attempts to make
	efficient use of {parallel processors} such as {Crays}.

	Latest version: 12.0, SISAL 1.2.

	["A Report on the SISAL Language Project", J.T. Feo et al, J
	Parallel and Distrib Computing 10(4):349-366 (Dec 1990)].

	(2000-07-07)

sit

	{Stuffit}

SITBOL

	<language> A {SNOBOL4} {interpreter} for the {PDP-10}.

	["SITBOL Version 3.0", J.F. Gimpel, TRS4D30b, Bell Labs,
	1973].

	(1997-09-14)

site map

	<web> A {web page} listing the other main pages on
	a {website} to help users find pages they want and see what
	areas are available.

	FOLDOC doesn't really have a site map but it does have a
	{contents page (/contents.html)}.

	(2009-03-07)

sitename

	{hostname}

SIxteen Bit Organisers

	<communications> (SIBO) {Psion}'s family of {PDA}s running
	{EPOC}, including the MC200, MC400, Series 3 (1991-1998),
	Series 3a, Series 3c, Series 3mx, Siena, Workabout and
	Workabout mx.

	(2009-05-26)

sj

	<networking> The {country code} for Svalbard and Jan Mayen
	Islands.

	(1999-01-27)

sk

	<networking> The {country code} for Slovakia.

	(1999-01-27)

Skel-ML

	A parallel variant of {ML} using {skeletons} being developed
	(April 1994) as part of Tore Bratvold's PhD in the Department
	of Computing and Electronic Engineering, Heriot-Watt
	University, Edinburgh, UK.  Programs are written in a subset
	of {Standard ML}, and parallelism is extracted from the use of
	certain {higher-order functions}.  The SkelML compiler uses
	profiling information together with skeleton performance
	models to distinguish useful from non-useful parallelism.  An
	important feature is the ability to perform transformations
	between skeletons to improve performance.  Skeletons currently
	supported are map, filter, fold, pipe (implicitly extracted
	from function application) and various combinations of these.

	See also {paraML}.

	E-mail: Tore A Bratvold <tore@cee.hw.ac.uk>.

Sketchpad

	A program that allowed users to draw on a screen with a {light
	pen}.  It supported constraints (e.g. drawing a constrained
	ellipse produced a circle).  It also had some {computer aided
	design} features (e.g. computing loads on beams).

	Sketchpad was the subject of {Ivan E. Sutherland}'s 1963 {MIT}
	PhD thesis, which opened the field of {computer graphics}.  It
	was the progenitor of computer drawing packages like {MacDraw}
	or {Adobe Illustrator}.  There is a film of Sketchpad in
	action.

	It solved {constraints} using {value inference} and introduced
	the "{ring}" list structure.

	["Sketchpad: A Man-Machine Graphical Communication System",
	I.e. Sutherland, MIT Lincoln Lab, TR 296 (Jan 1963)].

	[Sammet 1969, p. 678].

	(1995-02-14)

S/Key

	{One-Time Password}

Skill

	A somewhat peculiar blend between {Franz-Lisp} and {C}, with a
	large set of various {CAD} primitives.  It is owned by
	{Cadence Design Systems} and has been used in their CAD
	frameworks since 1985.  It's an {extension language} to the
	CAD framework (in the same way that {Emacs-Lisp} extends {GNU
	Emacs}), enabling you to automate virtually everything that
	you can do manually in for example the graphic editor.  Skill
	accepts {C}-syntax, fun(a b), as well as {Lisp} syntax, (fun a
	b), but most users (including Cadence themselves) use the
	C-style.

	[Jonas Jarnestrom <etxjojm@eua.ericsson.se>].

	(1995-02-14)

Skim

	<language> A {Scheme} implementation with {packages} and other
	enhancements, by Alain Deutsch et al, France.

	(2000-11-02)

SkipJack

	<cryptography> An {encryption} {algorithm} created by the NSA
	(National Security Agency) which encrypts 64-bit blocks of
	data with an 80-bit key.  It is used in the {Clipper} chip, a
	{VLSI} device with an {ARM} processor core, which is intended
	to perform cryptographic operations while allowing the
	security agencies listen in.

	There are (apparently) two agencies, both of whom have to
	agree that there is a valid reason to decode a message.  Don't
	laugh, they are serious.

	[Algorithm?]

	(1995-12-07)

SKOL

	{Fortran} pre-processor for {COS} (Cray Operating System).

skolemisation

	A means of removing {quantifiers} from {first order logic}
	formulas.

	[Details?]

S-K reduction machine

	An {abstract machine} defined by Professor {David Turner} to
	evaluate {combinator} expressions represented as {binary
	graphs}.  Named after the two basic combinators, S and K.

skrog

	{scrog}

SKsh

	Steve Koren/Korn shell.  A {Unix} {ksh}-like {shell} which
	runs under {AmigaDos} by Steve Koren
	<koren@hpfcogv.fc.hp.com>.  SKsh provides a {Unix}-like
	environment but supports many {AmigaDos} features such as
	{resident commands} and {ARexx}.  Scripts can be written to
	run under either {ksh} or SKsh and many of the useful {Unix}
	commands such as {xargs}, {grep} and {find} are provided.

	Latest version: 2.1.

	{(ftp://hubcap.clemson.edu/pub/amiga/incom*/utils/SKsh021.lzh)}.

	(1992-12-16)

SKU

	{stock-keeping unit}

skulker

	{prowler}

SL

	<processor> Features of some {Intel} processors, including the
	{Pentium}, for reducing power consumption.  These features
	operate at two levels: the {microprocessor} and the system.
	The processor can enter a low power state during
	non-{processor intensive} tasks (such as {word processing}),
	or a very low-power state when the computer is not in use
	("sleep" mode).  At the system level, {system management mode}
	can slow down, suspend, or completely shut down various system
	components to save energy.

	(1995-05-06)

sl

	<networking> The {country code} for Sierra Leone.

	(1999-01-27)

SL5

	String and list processing language with expression-oriented
	syntax.  Coroutines.

	["An Overview of SL5", Ralph E. Griswold, SIGPLAN Notices
	12(4):40-50 (Apr 1977)].

slack

	1. <operating system> Internal fragmentation.  Space allocated
	to a disk file but not actually used to store useful
	information.

	2. <jargon> In the theology of the {Church of the SubGenius},
	a mystical substance or quality that is the prerequisite of
	all human happiness.

	Since {Unix} files are stored compactly, except for the
	unavoidable wastage in the last block or fragment, it might be
	said that "Unix has no slack".

	See {ha ha only serious}.

	[{Jargon File}]

	(1995-03-01)

slackware

	<operating system> A distribution of the {Linux} {operating
	system} by Patrick Volkerding
	<volkerdi@mhd1.moorhead.msus.edu>, <volkerdi@ftp.cdrom.com>.

	{cdrom.com (ftp://ftp.cdrom.com/pub/linux/)}.

	{FAQ
	(ftp://sunsite.unc.edu/pub/Linux/distributions/slackware/SLAKWARE.FAQ)}.

	{Sunsite Linux archives
	(http://sunsite.unc.edu/pub/Linux/distributions/slackware/)}.

	{Sunsite mirrors
	(http://sunsite.unc.edu/pub/Linux/MIRRORS.html)}.

	(1995-03-01)

SLAM

	1. <language> {Simulation Language for Alternative
	Modeling}.

	2. A continuous simulation language.

	["SLAM - A New Continuous Simulation Language",
	N.A. Wallington et al, in SCS Simulation Council Proc Series:
	Toward Real-Time Simulation (Languages, Models and Systems),
	R.E. Crosbie et al eds, 6(1):85-89 (Dec 1976)].

	(1995-03-03)

SLANG

	1. R.A. Sibley.  CACM 4(1):75-84 (Jan 1961).

	2. Set LANGuage.  Jastrzebowski, ca 1990.  C extension with
	set-theoretic data types and garbage collection.  "The SLANG
	Programming Language Reference Manual, Version 3.3",
	W. Jastrzebowski <wojtek@loml.math.yale.edu>, 1990.

	3. Structured LANGuage.  Michael Kessler, IBM.  A language
	based on structured programming macros for IBM 370 assembly
	language.  "Project RMAG: SLANG (Structured Language)
	Compiler", R.A. Magnuson, NIH-DCRT-DMB-SSS-UG105, NIH, DHEW,
	Bethesda, MD 20205 (1980).

	4. "SLANG: A Problem Solving Language for Continuous-Model
	Simulation and Optimisation", J.M. Thames, Proc 24th ACM Natl
	Conf 1969.

S-Lang

	<language> A small but highly functional {embedded}
	{interpreter}.  S-Lang was a stack-based {postfix} language
	resembling {Forth} and {BC}/{DC} with limited support for
	{infix notation}.  Now it has a {C}-like infix syntax.
	{Arrays}, stings, integers, {floating-point} and {autoloading}
	are all suported.  The editor {JED} embeds S-lang.

	S-Lang is available under the {GNU Library General Public
	License}.  It runs on {MS-DOS}, {Unix}, and {VMS}.

	Latest version: 0.94, as of 1993-06-12.

	{(ftp://amy.tch.harvard.edu/)}.

	E-mail: John E. Davis <davis@tch.harvard.edu>.

	(2000-10-30)

slap on the side

	(Also called a {sidecar}, or abbreviated "SOTS").  A type of
	external expansion hardware marketed by computer manufacturers
	(e.g. {Commodore} for the {Amiga} 500/1000 series and {IBM} for
	the hideous failure called {IBM PCjr}).  Various SOTS boxes
	provided necessities such as memory, hard drive controllers,
	and conventional expansion slots.

	[{Jargon File}]

slash

	{oblique stroke}

slashdot effect

	<jargon> An effect where a document on a {WWW} {server} is
	linked to from another, popular, site, with the resultant
	traffic overloading the server so that a connection cannot be
	made to it.  This is especially likely if the server is
	running {Microsoft IIS}.

	The term was coined by readers of the {Unix} advocacy {web
	site} {slashdot.org (http://slashdot.org/)}.

	(1998-10-24)

slave tty

	(/dev/ttyp*) The half of a {pseudo-tty} which programs
	(e.g. getty) read from and write to as though it was an
	ordinary {serial line}.

SLD resolution

	<logic, programming> (Selected, Linear, Definite) {Linear
	resolution} with a {selection function} for {definite
	sentences}.

	A definite sentence has exactly one {positive literal} in each
	{clause} and this literal is selected to be resolved upon,
	i.e. replaced in the {goal} clause by the {conjunction} of
	{negative literals} which form the body of the clause.

	[Why is SLD resolution important?]

	(2003-12-04)

sleep

	1. <operating system, multitasking> (Or "{block}") When a
	{process} on a {multitasking} system asks the {scheduler} to
	deactivate it until some given external event (e.g. an
	{interrupt} or a specified time delay) occurs.

	The alternative is to {poll} or "{busy wait}" for the event
	but this uses processing power.

	Also used in the phrase "sleep on" (or "block on") some
	external event, meaning to wait for it.

	E.g. the {Unix} command of the same name which pauses the
	current process for a given number of seconds.

	2. <hardware> To go into partial deactivation to save power.

	[{Jargon File}]

	(2000-09-25)

SLIB

	{Scheme Library}

Slide

	<project> A now-retired {Jakarta} project to develop a
	repository for content management.  Slide is no longer in
	development.  It featured {WebDAV}, DeltaV WebDAV versioning,
	different databases and file system storage, transactions and
	locking, flexible permissions per file and more.

	{Slide home (http://jakarta.apache.org/slide/)}.

	(2008-06-04)

sliding-window

	<networking> A method of {flow control} in which a {receiver}
	gives a {transmitter} permission to transmit {data} until a
	{window} is full.  When the window is full, the transmitter
	must stop transmitting until the receiver advertises a larger
	window.

	{TCP}, other transport {protocols}, and several {link-layer
	protocols} use this method of flow control.

	(2002-12-02)

SLIM

	A VLSI language for translating DFA's into circuits.
	J.L. Hennessy, "SLIM: A Simulation and Implementation Language
	for VLSI Microcode", Lambda, Apr 1981, pp.20-28.

	[{Jargon File}]

slim

	<jargon> A small, derivative change (e.g. to code).

	(2003-05-13)

Slingshot

	<networking, business, tool, product, protocol> {CSK
	Software}'s {real time} financial server for the {Internet}.

	Slingshot allows the delivery of real time market data across
	the {Internet} and private {intranets} quickly, cheaply and
	securely.  The first beta-test version was released free to
	the Internet on 6 August 1996.  Slingshot allows any financial
	institution, regardless of size, to publish their rates and
	associated information to a global audience using standard
	Internet protocols and software.  The {real-time} data can be
	seamlessly integrated into any standard {web}
	application and thus combined with static text, database
	queries and even audio and video objects, to create services.

	The Slingshot protocol enables the delivery of other forms of
	real time data over the Internet, thus making Slingshot useful
	in industries as varied as manufacturing, betting, telemetry,
	weather, transport and medicine.

	Version 2's improved protocol minimises the required
	{bandwidth} and can go through {firewalls}, {proxies}, and
	{virus scanners}, making Slingshot real-time data accessible
	everywhere where normal web access is possible.

	(2003-05-13)

SLIP

	1. {Serial Line Internet Protocol}.

	2. Symmetric LIst Processsor.  Early 1960's list processing
	subroutine package for {Fortran} by J. Weizenbaum.  Later also
	embedded in {MAD} and {ALGOL}.  ["Symmetric List Processor",
	J. Weizenbaum CACM 6:524-544(1963).  Sammet 1969, p.387].

SlipKnot

	<web> A graphical {web browser} specifically
	designed for {Microsoft Windows} users who have {Unix} {shell
	accounts} with their service providers.  Its primary feature
	is that it does not require {SLIP} or {PPP} or {TCP/IP}
	services.  SlipKnot is distributed as restricted shareware.

	Version: 1.0.

	{SlipKnot home (http://micromind.com/slipknot.htm)}.

	E-mail: <slipknot@micromind.com>.

	(2003-03-25)

SLIPS

	"An Interpreter for SLIPS - An Applicative Language Based on
	Lambda-Calculus", V. Gehot et al, Comp Langs 11(1):1-14
	(1986).

SLiRP

	<networking, tool> A {SLIP emulator} by Danny Gasparovski,
	faster than {TIA}.

	Version: 0.95H 12 Sep 95.

	{(http://webcom.com/~llarrow/slirp.html)}.

	(1995-09-15)

SLLIC

	<language> An intermediate language developed at {HP}.  An
	infinite-register version of the {Precision Architecture}
	{instruction set}?

	(1995-05-28)

slog

	{Schelog}

Sloop

	"Parallel Programming in a Virtual Object Space", S. Lucco,
	SIGPLAN Notices 22(12):26-34 (OOPSLA '87) (Dec 1987).

slop

	<jargon> 1. A one-sided {fudge factor}, that is, an allowance
	for error but in only one of two directions.  For example, if
	you need a piece of wire 10 feet long and have to guess when
	you cut it, you make very sure to cut it too long, by a large
	amount if necessary, rather than too short by even a little
	bit, because you can always cut off the slop but you can't
	paste it back on again.  When discrete quantities are
	involved, slop is often introduced to avoid the possibility of
	being on the losing side of a {fencepost error}.

	2. The percentage of "extra" code generated by a compiler over
	the size of equivalent {assembly code} produced by
	{hand-hacking}; i.e. the space (or maybe time) you lose because
	you didn't do it yourself.  This number is often used as a
	measure of the quality of a compiler; slop below 5% is very
	good, and 10% is usually acceptable.  Modern compilers,
	especially on {RISCs}, may actually have *negative* slop; that
	is, they may generate better code than humans.  This is one of
	the reasons assembler programming is becoming less common.

	[{Jargon File}]

	(1995-05-28)

slopsucker

	/slop'suhk-r/ A lowest-{priority} task that only runs when the
	computer would otherwise be idle.  Also called a "hungry
	puppy" or "bottom feeder" (after the fishermen's and
	naturalists' term for finny creatures who subsist on the
	primordial ooze).

	One common variety of slopsucker hunts for large {prime
	numbers}.

	Compare {background}.

	[{Jargon File}]

	(2003-09-29)

slosh

	{backslash}

Slot 1

	<hardware, standard> The physical and electrical specification
	for the connector used by some of {Intel}'s {microprocessor}
	cards, currently (August 1999) the {SEPP} {Celeron} and the
	{SECC} {Pentium II}.

	Slot 1 is a departure from the square {ZIF} {PGA}/{SPGA}
	sockets used by {Pentium} and earlier processors, the
	processor being mounted on a card, with a 242-lead
	edge-connector.

	The Slot 1 specification allows for higher {bus rates} than
	{Socket 7}.  Slot 1 motherboards use the {GTL+} {bus
	protocol}.

	See also {Slot 2}, {Slot A}.

	[bus rates?]

	(1999-08-04)

Slot 2

	<hardware, standard> A physical and electrical specification
	for the 330-lead edge-connector used by some of {Intel}'s
	{microprocessor} cards, currently (August 1999) the {SECC}
	{Pentium III}/{Xeon}.

	Slot 2 is intended for use in high end multi-processor
	{workstations} and {servers}.

	See also {Slot A}, {Slot 1}.

	[Multi processor support?]

	(1999-08-04)

Slot A

	<hardware> The physical and electrical specification for the
	edge-connector used by {AMD}'s {Athlon} processor.

	The connector allows for a higher {bus rate} than {Socket 7}
	or {Super 7}.  Slot A motherboards use {Compaq}'s {EV6} {bus
	protocol}.  Slot A is mechanically compatible but electrically
	incompatible with {Intel}'s {Slot 1}.

	(1999-08-05)

slurp

	To read a large data file entirely into {core} before working
	on it.  This may be contrasted with the strategy of reading a
	small piece at a time, processing it, and then reading the
	next piece.  "This program slurps in a 1K-by-1K matrix and
	does an FFT."  See also {sponge}.

	[{Jargon File}]

sm

	<networking> The {country code} for San Marino.

	(1999-01-27)

smail

	{snail-mail}

SMALGOL

	SMall ALGOL.

	A subset of {ALGOL 60}.

	["SMALGOL-61", G.A. Bachelor et al CACM 4(11):499-502 (Nov
	1961)].

	[Sammet 1969].

	(1995-01-31)

SMALL

	1. Functional, lazy, untyped.

	["SMALL - A Small Interactive Functional System",
	L. Augustsson, TR 28, U Goteborg and Chalmers U, 1986].

	2. A {toy language} used to illustrate {denotational
	semantics}.

	["The Denotational Description of Programming Languages",
	M.J.C. Gordon, Springer 1979].

Small Business Edition

	{Microsoft Office Small Business Edition}

Small-C

	A subset of {C}.  The original compiler, written in {C} by Ron
	Cain, appeared in Dr. Dobb's Journal.  James E. Hendrix
	improved and extended the original compiler and published "The
	Small-C Handbook".  Both these compilers produced {8080}
	{assembly code}.

	A Small-C compiler based on {RatC} produced {6502} {assembly
	code} for the {BBC Microcomputer}.  It was written in Small-C
	and {bootstrap}ped using {Zorland C} on an {Amstrad PC1512}
	under {MS-DOS} 3.2, then transferred onto a {BBC Micro} using
	{Kermit}.  The compiler can be used to cross-compile {6502}
	code from an {MS-DOS} host, or as a {resident} Small-C
	compiler on a BBC Micro.  It runs on {68000}, {6809}, {VAX},
	{8080}, {BBC Micro} and {Zilog Z80}.

	Posted to comp.sources.unix volume 5.

	{(ftp://apple.com/ArchiveVol1/Unix_lang)}.

	["Small-C"?, Ron Cain, Dr. Dobb's Journal, May 1980, Dec
	1982?]

	["The Small-C Handbook," James Hendrix, Reston 1984, ISBN
	0-8359-7012-4].

	(1989-01-05)

Small Computer System Interface

	<hardware, standard> (SCSI) /skuh'zee/, /sek'si/ The most
	popular processor-independent standard, via a parallel bus,
	for system-level interfacing between a computer and
	intelligent devices including {hard disks}, {floppy disks},
	{CD-ROM}, {printers}, {scanners}, and many more.

	SCSI can connect multiple devices to a single {SCSI adaptor}
	(or "host adaptor") on the computer's bus. SCSI transfers bits
	in parallel and can operate in either {asynchronous} or
	{synchronous} modes.  The synchronous transfer rate is up to
	5MB/s.  There must be at least one {target} and one
	{initiator} on the SCSI {bus}.

	SCSI connections normally use "{single ended}" drivers as
	opposed to {differential drivers}.  Single ended SCSI can
	suport up to six metres of cable.  Differential ended SCSI can
	support up to 25 metres of cable.

	SCSI was developed by {Shugart Associates}, which later became
	{Seagate}.  SCSI was originally called SASI for "Shugart
	Associates System Interface" before it became a standard.

	Due to SCSI's inherent protocol flexibility, large support
	infrastructure, continued speed increases and the acceptance
	of SCSI Expanders in applications it is expected to hold its
	market.

	The original standard is now called "SCSI-1" to distinguish it
	from {SCSI-2} and {SCSI-3} which include specifications of
	{Wide SCSI} (a 16-bit bus) and {Fast SCSI} (10 MB/s transfer).

	SCSI-1 has been standardised as {ANSI} X3.131-1986 and
	{ISO}/{IEC} 9316.

	A problem with SCSI is the large number of different
	connectors allowed.  Nowadays the trend is toward a 68-pin
	{miniature D-type} or "high density" connector (HD68) for
	{Wide SCSI} and a 50-pin version of the same connector (HD50)
	for 8-bit SCSI (Type 1-4, pin pitch 1.27 mm x 2.45 mm).
	50-pin {ribbon cable} connectors are also popular for internal
	wiring (Type 5, pin pitch 2.54 mm x 2.54 mm).  {Apple
	Computer} used a 25-pin connector on the {Macintosh} computer
	but this connector causes problems with high-speed equipment.
	Original SCSI implementations were highly incompatible with
	each other.

	{ASPI} is a standard {Microsoft Windows} interface to SCSI
	devices.

	{Usenet} newsgroup: {news:comp.periphs.scsi}.

	{(news:comp.periphs.scsi)}.
	SCSI Trade Association & FAQ {(http://scsita.org/)}.

	["System" or "Systems"?]

	(1999-03-30)

small-office/home-office

	(SoHo) A term describing the market for certain computer goods.

	(1995-01-11)

Small Outline DIMM

	<storage> (SO-DIMM) A smaller kind of {DIMM} with 72 pins
	(supporting 32-bit transfers) or 144 pins (64-bit transfers).
	Regular DIMMs have 168 pins and support 64-bit transfers.
	Being roughly half the size of the regular DIMM, SO-DIMMs are
	often used in {notebook computers}.

	{Kingston Memory Guide
	(http://kingston.com/tools/umg/newumg05a.asp)}.

	(2001-02-16)

Smalltalk

	<language> The pioneering {object-oriented programming} system
	developed in 1972 by the Software Concepts Group, led by {Alan
	Kay}, at {Xerox PARC} between 1971 and 1983.  It includes a
	language, a programming environment, and an extensive object
	library.

	Smalltalk took the concepts of {class} and {message} from
	{Simula-67} and made them all-pervasive.  Innovations included
	the {bitmap display}, windowing system, and use of a {mouse}.

	The {syntax} is very simple.  The fundamental construction is
	to send a message to an {object}:

		object message

	or with extra parameters

		object message: param1 secondArg: param2 .. nthArg: paramN

	where "secondArg:" etc. are considered to be part of the
	message name.

	Five pseudo-variables are defined: "self", "super", "nil",
	"true", "false".  "self" is the receiver of the current
	message.  "super" is used to delegate processing of a message
	to the {superclass} of the receiver.  "nil" is a reference to
	"nothing" (an instance of UndefinedObject).  All variables
	initially contain a reference to nil.  "true" and "false" are
	{Booleans}.

	In Smalltalk, any message can be sent to any object.  The
	recipient object itself decides (based on the message name,
	also called the "message selector") how to respond to the
	message.  Because of that, the {multiple inheritance} system
	included in the early versions of Smalltalk-80 appeared to be
	unused in practice.  All modern implementations have single
	inheritance, so each class can have at most one superclass.

	Early implementations were {interpreted} but all modern ones
	use {dynamic translation} (JIT).

	Early versions were Smalltalk-72, Smalltalk-74, Smalltalk-76
	(inheritance taken from Simula, and concurrency), and
	Smalltalk-78, {Smalltalk-80}.  Other versions include {Little
	Smalltalk}, {Smalltalk/V}, {Kamin's interpreters}.  Current
	versions are {VisualWorks}, {Squeak}, {VisualAge}, {Dolphin
	Smalltalk}, {Object Studio}, {GNU Smalltalk}.

	See also: {International Smalltalk Association}.

	{UIUC Smalltalk archive (http://st-www.cs.uiuc.edu/)}.
	{FAQ (http://XCF.Berkeley.EDU/pub/misc/smalltalk/FAQ/)}.

	{Usenet} newsgroup: {news:comp.lang.smalltalk}.

	["The Smalltalk-76 Programming System Design and
	Implementation", D.H. Ingalls, 5th POPL, ACM 1978, pp. 9-16].

	(2001-09-11)

Smalltalk-80

	<language> The classic standard {Smalltalk} dialect, described
	in Adele's book, cited below, commonly known as "The Blue
	Book".

	["Smalltalk-80: The Language and Its Implementation", Adele
	Goldberg et al, A-W 1983].

	[BYTE 6(8), Aug 1981].

	{(ftp://st.cs.uiuc.edu/pub/ISA)},
	{(ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER)},
	{(ftp://gnu.org/pub/gnu)}.

	Mail server: goodies-lib@r5.cs.man.ac.uk.

	(2004-12-14)

Smalltalk/V

	The first widely available version of {Smalltalk}, developed
	by {Digitalk} in 1986 for {IBM PC} and {Macintosh}.

	(1995-02-14)

SmallVDM

	<tool>

	["SmallVDM: An Environment for Formal Specification and
	Prototyping in Smalltalk", in Object Oriented Specification
	Case Studies, K. Lano et al eds, P-H 1993].

	(1996-04-20)

SMALLWORLD

	<legal> A trademark of {Smallworldwide
	Plc. (http://smallworld.co.uk/)}.

	(1999-08-26)

SmallWorld

	<language> An {object-oriented} language.

	["SW 2 - An Object-based Programming Environment", M.R. Laff
	et al, IBM TJWRC, 1985].

	(1996-04-20)

Smarandache logic

	{neutrosophic logic}

SMART

	For {MS-DOS}?

	[{Jargon File}]

smart

	1. <programming> Said of a program that does the {Right Thing}
	in a wide variety of complicated circumstances.  There is a
	difference between calling a program smart and calling it
	intelligent; in particular, there do not exist any intelligent
	programs (yet - see {AI-complete}).

	Compare {robust} (smart programs can be {brittle}).

	2. <hardware> Incorporating some kind of digital electronics.

	(1995-03-28)

Smart Battery Data

	<hardware, protocol> (SBD) A method to monitor a rechargeable
	battery pack, initiated by {Duracell} and {Intel}.  An special
	{IC} in the battery pack monitors the battery and reports
	information to the {SMBus}.  This information might include:
	type, model number, manufacturer, characteristics, discharge
	rate, predicted remaining capacity, almost-discharged alarm so
	that the PC can shut down gracefully; temperature and voltage
	to provide safe fast-charging.

	{Smart Battery System Implementers Forum
	(http://sbs-forum.org/)}.

	(1999-08-08)

smart card

	Any plastic card (like a credit card) with an embedded
	{integrated circuit} for storing information.

	Smart cards are being incorporated into soldier's dog-tags and
	used to store hospital patients' medical records.  This way
	they are always instantly accessible.

	Other uses are as a form of token in banking systems.  You
	could store electronic money on the card or less valuable
	tokens such as those given away by petrol companies which you
	collect to exchange for free gifts at a later date.  The idea
	being that one smart card is easier to carry around than a
	multitude of paper tokens.

	{news:alt.technology.smartcards}

	(1995-01-06)

Smartdrive

	<storage, product> A {Microsoft} {MS DOS} {disk cache} program
	to speed up disk access.

	For most users, a 1MB cache is sufficient.  Devoting more
	memory to the cache offers diminishing returns, since the
	additional cache hits become fewer (and the extra memory could
	be better used to reduce {swapping}).

	Typing SMARTDRV /S at a DOS prompt shows the cache size, a
	hit-and-miss report, and information about which drives are
	being cached.  The hit-and-miss statistics are crucial for
	gauging the effectiveness of SmartDrive settings.  A score in
	the high 80s shows that SmartDrive is well configured.  Run
	SMARTDRV /S several times during a Windows session and note
	the-hit-and-miss figures each time.  If your percentage
	usually falls below 80 percent, you should consider increasing
	the cache size.  You can edit the SMARTDRV line in your
	{AUTOEXEC.BAT} file to increase both the InitCacheSize and the
	WinCacheSize parameters.

	SmartDrive Monitor is an undocumented Windows program that
	comes with DOS 6.0 for logging and controling the cache.

	(1995-11-22)

SMARTdrv

	{Smartdrive}

smart terminal

	{intelligent terminal}

smash case

	{case sensitivity}

smash sum

	{coalesced sum}

smash the stack

	<jargon> In {C} programming, to corrupt the execution stack by
	writing past the end of a local array or other data structure.
	Code that smashes the stack can cause a return from the
	routine to jump to a random address, resulting in insidious
	data-dependent {bugs}.

	Variants include "trash" the stack, {scribble} the stack,
	{mangle} the stack.

	See {spam}; see also {aliasing bug}, {fandango on core},
	{memory leak}, {memory smash}, {precedence lossage}, {overrun
	screw}.

	[{Jargon File}]

	(1995-03-16)

SMB

	1. <protocol> {Server Message Block}.

	2. <hardware, protocol> {System Management Bus}.

	(1999-08-08)

smbclient

	{Samba}

smblib

	{Samba}

SMBus

	{System Management Bus}

SMCC

	{Sun Microsystems} Computer Corporation.

SMDS

	{Switched Multimegabit Data Service}

SMG

	Screen Management Guidelines.  A {VMS} package of run-time
	library routines providing windows on {DEC} {VT100} terminals.

SMI

	{Structure of Management Information}

SMIL

	1. <language> The {machine language} for a Swedish computer.

	{(ftp://ftp.wustl.edu/mirrors/info-mac/lang/smil-emulator.hqx)}.

	2. <hypertext, language, multimedia, text, web>
	{Synchronized Multimedia Integration Language}.

	(2000-04-21)

smiley

	{emoticon}

smilies

	{emoticon}

S-MIME

	{Secure Multipurpose Internet Mail Extensions}

SML

	1. {Standard ML}.

	2. Small Machine Language.  Barnes, ICI 1969.  Real-time
	language, an ALGOL variant, and the predecessor of RTL.  "SML
	User's Guide", J.G.P.  Barnes, ICI, TR JGPB/69/35 (1969).

SML#

	An extension of SML/NJ with polymorphic field selection and
	nondestructive field update.  "A Compilation Method for
	ML-style Polymorphic Record Calculi", A. Ohori, POPL 1992.

	{(ftp://ftp.cis.upenn.edu/pub/sml#/)}.

sml2c

	A Standard ML to C compiler.  sml2c is a batch compiler and
	compiles only module-level declarations, i.e. signatures,
	structures and functors.  It provides the same pervasive
	environment for the compilation of these programs as SML/NJ.
	As a result, module-level programs that run on SML/NJ can be
	compiled by sml2c without any changes.  Based on SML/NJ
	version 0.67 and shares front end and most of its run-time
	system, but does not support SML/NJ style debugging and
	profiling.

	School of Computer Science, Carnegie Mellon University

	{(ftp://dravido.soar.cs.cmu.edu/usr/nemo/sml2c/sml2c.tar.Z)}.
	{Linux
	(ftp://ftp.dcs.glasgow.ac.uk/pub/linux/smlnj-0.82-linux.tar.Z)}.

	conformance:	superset
		+ first-class continuations,
		+ asynchronous signal handling
		+ separate compilation
		+ freeze and restart programs

	ports: IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4
	386(Mach)

	portability:	easy, easier than SML/NJ

	E-mail: <david.tarditi@cs.cmu.edu>, <peter.lee@cs.cmu.edu>

	(1991-06-27)

SML/NJ

	{Standard ML of New Jersey}

SMM

	{System Management Mode}

SMNP

	Do you mean "{SNMP}"?  If not, please tell me.

smoke

	1. To {crash} or blow up, usually spectacularly. "The new
	version smoked, just like the last one."  Used for both
	hardware (where it often describes an actual physical event),
	and software (where it's merely colourful).

	2. [Automotive slang] To be conspicuously fast.  "That
	processor really smokes."  Compare {magic smoke}.

	[{Jargon File}]

smoke and mirrors

	Marketing deceptions.  The term is mainstream in this general
	sense.  Among hackers it's strongly associated with bogus
	demos and crocked {benchmarks} (see also {MIPS},
	{machoflops}).  "They claim their new box cranks 50 MIPS for
	under $5000, but didn't specify the instruction mix - sounds
	like smoke and mirrors to me."  The phrase has been said to
	derive from carnie slang for magic acts and "freak show"
	displays that depend on "trompe l"oeil' effects, but also
	calls to mind the fierce Aztec god Tezcatlipoca (lit. "Smoking
	Mirror") for whom the hearts of huge numbers of human
	sacrificial victims were regularly cut out.  Upon hearing
	about a rigged demo or yet another round of fantasy-based
	marketing promises, hackers often feel analogously
	disheartened.

smoke-emitting diode

	<humour, electronics> (From "{light-emitting diode}") An
	incorrectly connected {diode}, probably a {light-emitting
	diode}, in the process of losing its {magic smoke} and
	becoming a {friode}.

	See also {LER}.

	(1996-04-28)

smoke test

	1. A rudimentary form of testing applied to electronic
	equipment following repair or reconfiguration, in which power
	is applied and the tester checks for sparks, smoke, or other
	dramatic signs of fundamental failure.  See {magic smoke}.

	2. By extension, the first run of a piece of software after
	construction or a critical change.  See and compare {reality
	check}.

	There is an interesting semi-parallel to this term among
	typographers and printers: When new typefaces are being
	punch-cut by hand, a "smoke test" (hold the letter in candle
	smoke, then press it onto paper) is used to check out new
	dies.

	[{Jargon File}]

smoking clover

	[ITS] A {display hack} originally due to Bill Gosper.  Many
	convergent lines are drawn on a colour monitor in {AOS} mode
	(so that every pixel struck has its colour incremented).  The
	lines all have one endpoint in the middle of the screen; the
	other endpoints are spaced one pixel apart around the
	perimeter of a large square.  The colour map is then
	repeatedly rotated.  This results in a striking, rainbow-hued,
	shimmering four-leaf clover.  Gosper joked about keeping it
	hidden from the FDA (the US's Food and Drug Administration)
	lest its hallucinogenic properties cause it to be banned.

SMoLCS

	Specification metalanguage used for a formal definition of
	Ada.  "An Introduction to the SMoLCS Methodology",
	E. Astesiano, U Genova 1986.

SMOP

	/S-M-O-P/ [Simple (or Small) Matter of Programming] 1. A piece
	of code, not yet written, whose anticipated length is
	significantly greater than its complexity.  Used to refer to a
	program that could obviously be written, but is not worth the
	trouble.  Also used ironically to imply that a difficult
	problem can be easily solved because a program can be written
	to do it; the irony is that it is very clear that writing such
	a program will be a great deal of work.  "It's easy to enhance
	a Fortran compiler to compile COBOL as well; it's just an
	SMOP."  2. Often used ironically by the intended victim when a
	suggestion for a program is made which seems easy to the
	suggester, but is obviously (to the victim) a lot of work.

	[{Jargon File}]

SMP

	1. {Symbol Manipulation Program}.

	2. <computer, parallel> {symmetric multiprocessing}.

	(1995-03-19)
SMPS

	{switch mode power supply}

SMPT

	<spelling> Do you mean {SMTP}?

	(2003-11-24)

SMRP

	{Simplified Multicast Routing Protocol}

SMS

	1. <messaging> {Short Message Service}.

	2. <storage> {Storage Management Services}.

	3. <operating system> {System Management Server}.

	(1999-05-02)

SMT

	{Station Management}

SMTP

	{Simple Mail Transfer Protocol}

smug report

	<humour> A {bug report} submitted by a user who thinks he
	knows more about the system's design than he really does,
	filled with irrelevant technical details and (incorrect)
	suggestions about the cause and solution of the problem.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2011-11-30)

smurf

	<jargon> /smerf/ (From the {news:soc.motss} {Usenet}
	newsgroup, after some obnoxiously gooey cartoon characters) A
	newsgroup regular with a habitual style that is irreverent,
	silly, and cute.  Like many other hackish terms for people,
	this one may be praise or insult depending on who uses it.  In
	general, being referred to as a smurf is probably not going to
	make your day unless you've previously adopted the label
	yourself in a spirit of irony.

	Compare {old fart}.

	[{Jargon File}]

	(1995-10-25)

sn

	<networking> The {country code} for Senegal.

	(1999-01-27)

SNA

	{Systems Network Architecture}

snacc

	<tool> (Sample Neufeld {ASN.1} to {C/C++} Compiler) A program
	by Mike Sample <msample@opentext.com> which compiles 1990
	{ASN.1} data structures (including some {macros}) into {C},
	{C++} or type tables.  The generated {C/C++} includes a .h
	file with the equivalent data struct and a .c/.C file for the
	{BER} encode and decode, print and free routines.

	snacc includes the compiler, run-time BER libraries, and
	utility programs.  snacc is compiled under {GNU} {General
	Public License}.  It requires {yacc} or {bison}, {lex} or
	{flex}, and {cc} (ANSI or non-ANSI).

	ITU TS X.208/ISO 8824.

	Latest version: 1.1, as of 1993-07-12.

	{Home
	(http://fokus.gmd.de/ovma/freeware/snacc/entry.html)}.

	E-mail: <snacc-bugs@cs.ubc.ca>.

	[Michael Sample and Gerald Neufeld, "Implementing Efficient
	Encoders and Decoders for Network Data Representations", IEEE
	INFOCOM '93 Proceedings, Vol 3, pp. 1143-1153, Mar 1993].

	[Michael Sample, "How Fast Can ASN.1 Encoding Rules Go?",
	M.Sc. Thesis, University of British Columbia, Apr 1993].

	(1998-08-09)

snaf

	{chad}

SNAFU principle

	/sna'foo prin'si-pl/ [WWII Army acronym for "Situation Normal:
	All Fucked Up"] "True communication is possible only between
	equals, because inferiors are more consistently rewarded for
	telling their superiors pleasant lies than for telling the
	truth." - a central tenet of {Discordianism}, often invoked
	by hackers to explain why authoritarian hierarchies screw up
	so reliably and systematically.  The effect of the SNAFU
	principle is a progressive disconnection of decision-makers
	from reality.  This lightly adapted version of a fable dating
	back to the early 1960s illustrates the phenomenon perfectly:

	 In the beginning was the plan,
	       and then the specification;
	 And the plan was without form,
	       and the specification was void.

	 And darkness
	       was on the faces of the implementors thereof;
	 And they spake unto their leader,
	       saying:
	 "It is a crock of shit,
	       and smells as of a sewer."

	 And the leader took pity on them,
	       and spoke to the project leader:
	 "It is a crock of excrement,
	       and none may abide the odor thereof."

	 And the project leader
	       spake unto his section head, saying:
	 "It is a container of excrement,
	       and it is very strong, such that none may abide it."

	 The section head then hurried to his department manager,
	       and informed him thus:
	 "It is a vessel of fertilizer,
	       and none may abide its strength."

	 The department manager carried these words
	      to his general manager,
	 and spoke unto him
	      saying:
	 "It containeth that which aideth the growth of plants,
	      and it is very strong."

	 And so it was that the general manager rejoiced
	      and delivered the good news unto the Vice President.
	 "It promoteth growth,
	      and it is very powerful."

	 The Vice President rushed to the President's side,
	      and joyously exclaimed:
	 "This powerful new software product
	      will promote the growth of the company!"

	 And the President looked upon the product,
	      and saw that it was very good.

	After the subsequent disaster, the {suits} protect themselves
	by saying "I was misinformed!", and the implementors are
	demoted or fired.

	[{Jargon File}]

snag

	{bug}

snail mail

	<messaging> (Or "snailmail", "smail" from "US Mail" via
	"USnail"; "paper mail").  Bits of {dead tree} sent via the
	postal service as opposed to {electronic mail}.  One's postal
	address is, correspondingly, a "snail (mail) address".  There
	have even been parody USnail posters and stamps made.

	The variant "paper-net" is a hackish way of referring to the
	postal service, comparing it to a very slow, low-reliability
	{network}.  {Sig blocks} sometimes include a "Paper-Net:"
	header just before the sender's postal address; common
	variants of this are "Papernet" and "P-Net".  Note that the
	standard {netiquette} guidelines discourage this practice as a
	waste of bandwidth, since netters are quite unlikely to
	casually use postal addresses and if they really wanted your
	{snail mail} address they could always ask for it by e-mail.

	Compare {voice-net}, {sneakernet}, {P-mail}.

	(1995-01-31)

SNAP

	<language> 1. An early ({IBM 360}?) interpreted
	text-processing language for beginners, close to basic
	English.

	["Computer Programming in English", M.P. Barnett, Harcourt
	Brace 1969].

	2. ["Some Proposals for SNAP, A Language with Formal Macro
	Facilities", R.B. Napper, Computer J 10(3):231-243, 1967].

	[Same as 1?]

	(2006-05-27)

snap

	1. <programming> To remove indirection, e.g. by replacing a
	{pointer} to a pointer with a pointer to the final target (see
	{chase pointers}).

	The underlying metaphor may be a rubber band stretched through
	a number of points; if you release it from the intermediate
	points, it snaps to a straight line from first to last.

	Often a {trampoline} performs an error check once and then
	snaps the pointer that invoked it so subsequent calls will
	bypass the trampoline (and its one-shot error check).  In this
	context one also speaks of "snapping links".  For example, in
	a {Lisp} implementation, a function interface trampoline might
	check to make sure that the caller is passing the correct
	number of arguments; if it is, and if the caller and the
	callee are both compiled, then snapping the link allows that
	particular path to use a direct procedure-call instruction
	with no further overhead.

	[{Jargon File}]

	(2006-05-27)

	2. <operating system> {snap dump}.

	(2006-05-27)

snap dump

	<operating system> A {memory dump}, often partial, requested
	by a program to display its current status for debugging.
	Program execution often continues normally following a snap
	dump, as opposed to a {crash dump}.

	[Short for "snapshot"?]

	(2006-05-27)

Snappy

	{Snappy Video Snapshot}

Snappy Video Snapshot

	<hardware> (registered trademark) A {frame grabber} for the
	{IBM PC} designed and marketed by {Play, Inc.}.

	(1997-07-11)

snarf

	/snarf/ 1. To grab, especially to grab a large document or
	file for the purpose of using it with or without the author's
	permission.

	See also {BLT}.

	2. ({Unix}) To fetch a file or set of files across a network.

	See also {blast}.

	3. To acquire, with little concern for legal forms or
	politesse (but not quite by stealing).  "They were giving away
	samples, so I snarfed a bunch of them."

	4. Synonym for {slurp}.  "This program starts by snarfing the
	entire database into core."

	5. ({GEnie}) To spray food or {programming fluids} due to
	laughing at the wrong moment.  This sense appears to be
	widespread among mundane teenagers - ESR.

	6. This term was mainstream in the late 1960s, meaning "to eat
	piggishly".  It may still have this connotation in context.

	7. A creature on the Thundercats, fond of eating, usually
	covertly.

	[{Jargon File}]

	(1995-02-21)

snarf & barf

	/snarf'n-barf`/ Under a {WIMP} environment, the act of
	grabbing a region of text and then stuffing the contents of
	that region into another region (or the same one) to avoid
	retyping a command line.  In the late 1960s, this was a
	mainstream expression for an "eat now, regret it later" cheap
	restaurant expedition.

	[{Jargon File}]

	(1994-11-04)

snarf down

	To {snarf}, with the connotation of absorbing, processing, or
	understanding.  "I'll snarf down the latest version of the
	{nethack} user's guide - it's been a while since I last
	played."

	[{Jargon File}]

	(1994-11-04)

snark

	[Lewis Carroll, via the Michigan Terminal System] 1. A system
	failure.  When a user's process bombed, the operator would get
	the message "Help, Help, Snark in MTS!"

	2. More generally, any kind of unexplained or threatening
	event on a computer (especially if it might be a boojum).
	Often used to refer to an event or a log file entry that might
	indicate an attempted security violation.  See {snivitz}.

	3. UUCP name of snark.thyrsus.com, home site of the Hacker
	{Jargon File} versions 2.*.*.

	[{Jargon File}]

sneakernet

	/snee'ker-net/ Term used (generally with ironic intent) for
	transfer of electronic information by physically carrying
	tape, disks, or other media from one machine to another.

	"Never underestimate the bandwidth of a station wagon filled
	with magtape, or a 747 filled with CD-ROMs."

	Also called tennis-net, armpit-net, floppy-net, shoe-net,
	walk-net, foot-net.

	(2003-07-02)

sneck

	<jargon> The sound made by {deboursification}, according to
	Sam Spade anti-{spam} software.

	(1999-09-15)

snert

	<abuse> A derogatory term commonly used on the {Internet}
	{ECHO} {BBS}, echonyc.com, meaning to "make overtures of a
	sexual nature".  It implies terminal cluelessness.

	(1995-03-01)

SNI

	{Siemens Nixdorf Informationssteme, AG}

Sniff

	A {C++}/{C} programming environment providing browsing,
	cross-referencing, design visualisation, documentation and
	editing support.  Developed by UBS Switzerland and marketed by
	takeFive Salzburg.

	[{Jargon File}]

sniff

	{poll}

sniffer

	{packet sniffer}

snivitz

	<jargon> /sniv'itz/ A hiccup in hardware or software; a small,
	transient problem of unknown origin (less serious than a
	{snark}).

	Compare {glitch}.

	[{Jargon File}]

	(1995-03-28)

SNMP

	{Simple Network Management Protocol}

SNMP agent

	<networking> A software process that responds to queries using
	the {Simple Network Management Protocol} to provide status and
	statistics about a network {node}.

	(1995-11-11)

SNMPv2

	{Simple Network Management Protocol version 2}

SNOBOL

	{String Oriented Symbolic Language}

SNOBOL2

	A {SNOBOL} variant which existed only briefly.  It featured
	built-in functions, but not programmer-defined ones.

	["SNOBOL2", D.J. Farber, R.E. Griswold and I.P. Polonsky, TR
	Bell Labs, Apr 1964].

SNOBOL3

	{SNOBOL} with user-defined functions.  Written in 1965.  The
	SNOBOL 6.3 compiler for the {PDP-6} and {PDP-10} was written
	in SNOBOL.

	["The SNOBOL3 Programming Language", D.J. Farber et al, Bell
	Sys Tech J 45(6):895-944 (Jul 1966)].

	(1994-11-04)

SNOBOL4

	<language> A quite distinct descendant of {SNOBOL}, developed
	by Griswold et al in 1967.  SNOBOL4 is {declarative} with
	{dynamic scope}.  Patterns are {first-class} data objects that
	can be constructed by concatenation and alternation.  Success
	and failure are used for {flow control}.  Delayed
	(unevaluated) expressions can be used to implement
	{recursion}.  It has a table data type.  Strings generated at
	run time can be treated as programs and executed.

	See also {vanilla}.

	{SNOBOL 4 (http://snobol4.org/)}.

	{(ftp://apple.com/ArchiveVol1/Unix_lang)}.

	{A FOLDOC parser in SNOBOL4
	(http://www.topcat.hypermart.net/foldoc.html)}!

	["The SNOBOL4 Programming Language", Ralph E. Griswold et al,
	P-H 1971].

	(2011-01-05)

SNOOPS

	Craske, 1988.  An extension of SCOOPS with meta-objects that
	can redirect messages to other objects.  "SNOOPS: An
	Object-Oriented language Enhancement Supporting Dynamic
	Program Reeconfiguration", N. Craske, SIGPLAN Notices 26(10):
	53-62 (Oct 1991).

'Snooze

	/snooz/ [FidoNet] Fidonews, the weekly official on-line
	newsletter of FidoNet.  As the editorial policy of Fidonews is
	"anything that arrives, we print", there are often large
	articles completely unrelated to FidoNet, which in turn tend
	to elicit {flamage} in subsequent issues.

	[{Jargon File}]

SNPP

	{Simple Network Paging Protocol}

SNR

	{signal-to-noise ratio}

S/N ratio

	{signal-to-noise ratio}

SNR bandwidth product

	<communications> The {integral} of the {SNR} over {frequency}.
	The SNR bandwidth product is an important limit in the
	capacity of a communication channel.

	(2003-07-20)

SO

	1. <character> {Shift Out}

	2. Significant Other, almost invariably written abbreviated
	and pronounced /S-O/ by hackers.  Used to refer to one's
	primary relationship, especially a live-in to whom one is not
	married.

	[{Jargon File}]

so

	<networking> The {country code} for Somalia.

	(1999-01-27)

SO 2

	An early system on {IBM 701}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-04)

SOA

	1. <architecture> {service-oriented architecture}.

	2. <networking> {start of authority}.

SOAP

	1. <protocol> {Simple Object Access Protocol}.

	2. <language> {Symbolic Optimal Assembly Program}.

	(2001-03-23)

SOAR

	1. State, Operator And Result.  A general problem-solving
	{production system} architecture, intended as a model of human
	intelligence.  Developed by A. Newell in the early 1980s.
	SOAR was originally implemented in {Lisp} and {OPS5} and is
	currently implemented in {Common Lisp}.  Version: Soar6.

	E-mail: <soar@cs.cmu.edu>.

	["The SOAR Papers", P.S. Rosenbloom et al eds, MIT Press
	1993].

	(1994-11-04)

	2. Smalltalk On A RISC.  A {RISC} {microprocessor} designed by
	David Patterson's at Berekeley.

	(1994-11-04)

social engineering

	<jargon, security> A term used among {crackers} and {samurai}
	for cracking techniques that rely on weaknesses in {wetware}
	rather than software; the aim is to trick people into
	revealing passwords or other information that compromises a
	target system's security.  Classic scams include phoning up a
	mark who has the required information and posing as a field
	service tech or a fellow employee with an urgent access
	problem.  See also the {tiger team} story in the {patch}
	entry.

	[{Jargon File}]

	(2006-11-22)

social network

	<communications> Any {website} designed to allow multiple
	users to publish content themselves.  The information may be
	on any subject and may be for consumption by (potential)
	friends, mates, employers, employees, etc.  The sites
	typically allow users to create a "profile" describing
	themselves and to exchange public or private messages and list
	other users or groups they are connected to in some way.
	There may be editorial content or the site may be entirely
	user-driven.  Content may include text, images
	(e.g. {(http://flickr.com/)}), video
	(e.g. {(http://youtube.com/)}) or any other media.

	Social networks on the the web are a natural extension of
	{mailing lists} and {buletin boards}.  They are related to
	{wikis} like {(http://wikipedia.org/)} but typically do not
	allow users to modify content once it has been submitted,
	though usually you can publish comments on others'
	submissions.

	Different sites have different emphasis.  For example,
	{(http://friendsreunited.co.uk/)} (one of the earliest such
	sites) focusses on listing former acquaintances;
	{(http://myspace.com/)} is music-oriented;
	{(http://linkedin.com/)} aims to connect business partners;
	{(http://del.icio.us/)}, {(http://stumbleupon.com/)} and
	{(http://digg.com/)} are for exchanging links to favouirite
	websites.  There are many more.

	Sometimes the social aspects are a side-effect of bringing
	together people with shared interests,
	e.g. {(http://slashdot.org/)} (IT), other times they become
	more important than the original purpose,
	e.g. {(http://worldofwarcraft.com/)} (fantasy gaming).

	(2006-12-05)

social networking

	{social network}

social science number

	(IBM) A statistic that is {content-free}, or nearly so.  A
	measure derived via methods of questionable validity from data
	of a dubious and vague nature.  Predictively, having a social
	science number in hand is seldom much better than nothing, and
	can be considerably worse.  {Management} loves them.

	See also {numbers}, {math-out}, {pretty pictures}.

	(1994-11-04)

socket

	<networking> The {Berkeley Unix} mechansim for creating a
	virtual connection between processes.  Sockets interface
	{Unix}'s {standard I/O} with its {network} communication
	facilities.  They can be of two types, stream (bi-directional)
	or {datagram} (fixed length destination-addressed messages).
	The socket library function socket() creates a communications
	end-point or socket and returns a {file descriptor} with which
	to access that socket.  The socket has associated with it a
	socket address, consisting of a {port} number and the local
	host's network address.

	{Unix manual page}: socket(2).

	(1995-01-31)

Socket 1

	{x86 processor socket}

Socket 2

	{x86 processor socket}

Socket 3

	{x86 processor socket}

Socket 370

	<hardware, standard, processor> (PGA370) A physical and
	electrical specification for a {motherboard} {processor}
	socket.  Socket 370 uses a square {SPGA} {ZIF} socket with 370
	pins, arranged 37x37 (sometimes described as 19x19).

	{Intel} originally designed Socket 370 for {PPGA} Celeron
	processors.  Newer Socket 370 motherboards additionally
	support {FC-PGA} Celeron and {Pentium III} processors.

	The difference between the two versions is electrical;
	some pins are used differently and voltage requirements have
	been changed from Intel's {VRM 8.2} to {VRM 8.4}.  In
	addition, Celeron processors require a 66 MHz front side bus
	({FSB}), and Pentium III processors require a 100/133 MHz FSB.

	Some older Socket 370 motherboards support VRM 8.4 and
	variable bus speeds, so adapters are available that convert
	the socket pinout to allow FC-PGA processors to work.

	{VIA}'s {Cyrix III} processor was designed to work with
	Socket 370 motherboards.

	{Intel Celeron Processor in PPGA form factor - Integration
	(http://pentium.com/design/quality/celeron/ppga/integration.htm)}.

	{Pentium III Processors - Design Guidelines
	(http://intel.com/design/PentiumIII/designgd/)}.

	(2000-08-26)

Socket 4

	{x86 processor socket}

Socket 5

	{x86 processor socket}

Socket 6

	{x86 processor socket}

Socket 7

	<hardware, standard> A physical and electrical specification
	for the {x86 processor socket} matching the pins on {Pentium}
	{microprocessors} manufactured by {Intel}, and compatibles
	made by {Cyrix}, {AMD} and others.  Any {CPU} chip conforming
	to this specification can be plugged into any conforming
	{motherboard}.

	Supported processors include: 2.5V - 3.5V {Pentiums} 75-233
	MHz, AMD {K5} through {K6}, Cyrix {6x86} (and MX) P120 - P233.

	Socket 7 uses a {SPGA} socket, either a 296 pin {LIF} or a 321
	pin {ZIF} arranged as 37x37 or 19x19 (depending on who you
	speak to!).

	See also {Super 7}.

	Intel's {Pentium II} processor uses {Slot 1} mounting.

	[Pin-out?]

	(1999-08-29)

Socket 8

	<hardware, standard> A physical and electrical specification
	for the {x86 processor socket} matching the pins on a {Pentium
	Pro} {microprocessor}.

	Socket 8 uses a {dual pattern} {PGA}/{SPGA} {LIF}/{ZIF} socket
	with 387 pins, arranged 24x26.

	(1999-08-04)

SOCKS

	<security> A security package that allows a {host} behind a
	{firewall} to use {finger}, {FTP}, {telnet}, {Gopher}, and
	{Mosaic} to access resources outside the firewall while
	maintaining the security requirements.

	[The Security FAQ, {Usenet} newsgroups
	{news:comp.security.misc}, {news:comp.security.unix},
	{news:alt.security}].

	(1995-01-31)

SOCRATIC

	An early interactive learning system (not a language(?))
	developed at {Bolt, Beranek & Newman}.

	[Sammet 1969, p. 702].

	(1994-11-04)

SODA

	{Symbolic Optimum DEUCE Assembly Program}

SODAS

	[D.L. Parnas & J.A. Darringer.  Proc FJCC 31:449-474, AFIPS
	(Fall 1967)].

	(1994-11-04)

SO-DIMM

	{Small Outline DIMM}

Sod's Law

	<humour> {Murphy's Law}.

	[Or is it "Sodd"?]

	(1995-12-29)

SOE

	{Standard Operating Environment}

SoftBench

	An {IPSE} from {Hewlett-Packard}.

soft boot

	<operating system> A {boot} which resets only part of the
	{system}.

	For example, "If you're running the {mess-dos} {emulator},
	control-alt-insert will cause a soft boot of the emulator,
	while leaving the rest of the system running".

	Contrast {hard boot}.

	[{Jargon File}]

	(1995-11-27)

softcopy

	/soft'kop-ee/ (by analogy with "hardcopy") A machine-readable
	("{machinable}") form of corresponding {hardcopy}.

	[{Jargon File}]

	(1994-11-04)

Softlab

	<company> A {software engineering} company strong in the UK
	and Germany.

	[Details?]

soft link

	{symbolic link}

SoftModem

	The integration of {modem} controller and {data pump}
	{algorithms} into a single {RAM}-based {DSP} hardware
	architecture.  These integrated algorithms are stored on the
	computer's hard disk, from which they are downloaded into the
	DSP board's random-access memory (RAM).  This downloading, or
	"booting" process of the PC-installed software algorithms
	occurs as part of the computer's power-up initialisation
	process in less than 100 milliseconds, making it transparent
	to the user.

	[Digicom Modem FAQ version 2.03].

SoftVelocity Inc.

	<company> The distributors of the {Clarion} family of
	application development systems.

	{SoftVelocity, Inc. (http://softvelocity.com)}.

	(2003-10-15)

software

	<programming> (Or "computer program", "program", "code") The
	instructions executed by a computer, as opposed to the
	physical device on which they run (the "{hardware}").

	The term was coined by the eminent statistician, {John Tukey}.

	Programs stored on {non-volatile storage} built from
	{integrated circuits} (e.g. {ROM} or {PROM}) are usually
	called {firmware}.

	Software can be split into two main types - {system software}
	and application software or {application programs}.  System
	software is any software required to support the production or
	execution of application programs but which is not specific to
	any particular application.  Examples of system software would
	include the {operating system}, {compilers}, editors and
	sorting programs.

	Examples of application programs would include an accounts
	package or a {CAD} program.  Other broad classes of
	application software include {real-time} software, {business
	software}, scientific and engineering software, {embedded
	software}, personal computer software and {artificial
	intelligence} software.

	Software includes both {source code} written by humans and
	executable {machine code} produced by {assemblers} or
	{compilers}.  It does not usually include the data processed
	by programs unless this is in a format such as {multimedia}
	which depends on the use of computers for its presentation.
	This distinction becomes unclear in cases such as {spread
	sheets} which can contain both instructions (formulae and
	{macros}) and data.  There are also various intermediate
	compiled or {semi-compiled}, forms of software such as
	{library} files and {byte-code}.

	Some claim that {documentation} (both paper and electronic) is
	also software.  Others go further and define software to be
	programs plus documentation though this does not correspond
	with common usage.

	The noun "program" describes a single, complete and
	more-or-less self-contained list of instructions, often stored
	in a single {file}, whereas "code" and "software" are
	uncountable nouns describing some number of instructions which
	may constitute one or more programs or part thereof.  Most
	programs, however, rely heavily on various kinds of {operating
	system} software for their execution.  The nounds "code" and
	"software" both refer to the same thing but "code" tends to
	suggest an interest in the implementation details whereas
	"software" is more of a user's term.

	(2002-07-21)

Software AG

	<company> A German {software engineering} company that started
	with the {ADABAS} {database}.  {Natural} is their {4GL}
	development environment, {EntireX} is their {DCOM} for {Unix}
	and {IBM}.  {BOLERO}, is an {object-oriented} development
	environment and {application server} specially made for
	Electronic Business applications.

	{(http://softwareag.com/)}.

	Mailing-list: <sag-l@uafsysb.uark.edu>.

	(1999-03-06)

software audit

	<legal> A regular investigation of the software installed on
	all computers in an organisation to ensure that it is
	authorised or licensed.

	Software audits minimise the risk of prosecution for {software
	theft}, minimise the risk of {viruses} through uncontrolled
	software copying, and ensure technical support is available to
	all users.

	The {Business Software Alliance} {Guide To Software Management
	(http://bsa.org/bsa)}.

	(1996-05-19)

Software BackPlane

	<programming, tool> A {CASE} framework from {Atherton}.

	(1996-05-19)

software bloat

	<jargon, abuse> The result of adding new features to a program
	or system to the point where the benefit of the new features
	is outweighed by the extra resources consumed ({RAM}, disk
	space or performance) and complexity of use.  Software bloat
	is an instance of Parkinson's Law: resource requirements
	expand to consume the resources available.  Causes of software
	bloat include {second-system effect} and {creeping
	featuritis}.  Commonly cited examples include Unix's "{ls}(1)"
	command, the {X Window System}, {BSD}, {Missed'em-five},
	{OS/2} and any {Microsoft} product.

	[{Jargon File}]

	(1995-10-16)

Software bus

	A support environment for heterogeneous distributed
	processing, such as the ANSA Testbench.

software copyright

	<legal> {Copyright} on a piece of {software}.  Software raises
	interesting questions in relation to copyright, such as what
	constitutes a "performance" of a piece of software and which
	aspects of software are restricted.

	(2008-05-22)

Software Description Database

	<networking> {Archie}'s database of names and short
	descriptions of many of the software packages, documents (like
	{RFCs} and educational material), and data files that are
	available via the {Internet}.

	(1995-11-12)

Software Developers Kit

	<jargon, product> (SDK, or "Software Development Kit")
	Software provided by a software vendor to allow their products
	to be used with those of other software vendors.

	(1995-03-01)

software development life cycle

	{software life cycle}

software enabling

	<programming> (Or "enabling") Modification of the design or
	implementation of software to allow {internationalisation} to
	take place.

	In particular, enabling may refer to the modification of
	software to support double-byte character sets, hence
	"{Unicode} enabling" and "double-byte enabling".

	(1999-06-28)

software engineering

	<programming> (SE) A systematic approach to the analysis,
	design, implementation and maintenance of {software}.  It
	often involves the use of {CASE} tools.  There are various
	models of the {software life-cycle}, and many {methodologies}
	for the different phases.

	(1994-11-03)

Software Engineering Environment

	(SEE) A set of management and technical tools to support
	software development, usually integrated in a coherent
	framework; equivalent to an {IPSE}.

	(1994-11-03)

software handshaking

	<communications> The transmission of extra data on a channel
	in order to control the device sending data in the other
	direction on that channel.  For an {EIA-232} connection, this
	means sending {Control-S} and {Control-Q} characters to stop
	and start transmission.

	Since software handshaking requires the transmission and
	processing of extra data it can be less efficient than
	{hardware handshaking}.

	(1996-10-16)

software interrupt

	An {interrupt} caused by a specific {machine language}
	operation code (e.g. the {Motorola 68000}'s TRAP, the {IBM
	System/390}'s SVC or the {ARM}'s SWI) rather than by a
	hardware event.

	As with a hardware interrupt, this causes the processor to
	store the current state, store identifying information about
	the particular interrupt, and pass control to a first level
	{interrupt handler}.

	A {trap} is similar except that it is caused by an unexpected
	software condition or error (e.g. divide by zero, undefined
	instruction) rather than a deliberate instruction.

	(1995-02-14)

Software in the Public Interest, Inc.

	<company> (SPI) A non-profit corporation which helps
	organisations develop and distribute {open hardware} and {open
	software}.  SPI's goals are:

	* to create, form and establish an organization to formulate
	and provide software systems for use by the general public
	without charge;

	* to teach and train individuals regarding the use and
	application of such systems;

	* to hold classes, seminars and workshops concerning the
	proper use and application of computers and computer systems;

	* to endeavor to monitor and improve the quality of currently
	existing publicly available software;

	* to support, encourage and promote the creation and
	development of software available to the general public;

	* to provide information and education regarding the proper
	use of the Internet;

	* to organize, hold and conduct meetings, discussions and
	forums on contemporary issues concerning the use of computers
	and computer software;

	* to foster, promote and increase access to software systems
	available to the general public;

	* to solicit, collect and otherwise raise money and to expend
	such funds in furtherance of the goals and activities of the
	corporation;

	* to aid, assist, cooperate, co-sponsor and otherwise
	engage in concerted action with private, educational and
	governmental organisations and associations on all issues
	and matters concerning the use of computers and computer
	software and;

	* generally to endeavor to promote, foster and advance
	interest in computers and computer software by all available
	means and methods.

	SPI currently supports {Berlin}, {Debian}, {GNOME}, {LSB},
	{Open Source}.

	{SPI Home (http://spi-inc.org/)}.

	(2002-04-14)

software laser

	An optical laser works by bouncing photons back and forth
	between two mirrors, one totally reflective and one partially
	reflective.  If the lasing material (usually a crystal) has
	the right properties, photons scattering off the atoms in the
	crystal will excite cascades of more photons, all in lockstep.
	Eventually the beam will escape through the partially
	reflective mirror.

	One kind of {sorcerer's apprentice mode} involving {bounce
	messages} can produce closely analogous results, with a
	{cascade} of messages escaping to flood nearby systems.  By
	mid-1993 there had been at least two publicised incidents of
	this kind.

	[{Jargon File}]

software law

	<legal> Software may, under various circumstances and in
	various countries, be restricted by patent or {copyright} or
	both.  Most commercial software is sold under some kind of
	{software license}.

	A patent normally covers the design of something with a
	function such as a machine or process.  Copyright restricts
	the right to make and distribute copies of something written
	or recorded, such as a song or a book of recipies.  Software
	has both these aspects - it embodies functional design in the
	{algorithms} and data structures it uses and it could also be
	considered as a recording which can be copied and "performed"
	(run).

	"{Look and feel}" lawsuits attempt to monopolize well-known
	command languages; some have succeeded.  {Copyrights} on
	command languages enforce gratuitous incompatibility, close
	opportunities for competition, and stifle incremental
	improvements.

	{Software patents} are even more dangerous; they make every
	design decision in the development of a program carry a risk
	of a lawsuit, with draconian pretrial seizure.  It is
	difficult and expensive to find out whether the techniques you
	consider using are patented; it is impossible to find out
	whether they will be patented in the future.

	The proper use of {copyright} is to prevent {software piracy}
	- unauthorised duplication of software.  This is completely
	different from copying the idea behind the program in the same
	way that photocopying a book differs from writing another book
	on the same subject.

	{Usenet} newsgroup: {news:misc.legal.computing}.

	["The Software Developer's and Marketer's Legal Companion",
	Gene K. Landy, 1993, AW, 0-201-62276-9].

	(1994-11-16)

software life-cycle

	<programming> The phases a software product goes through
	between when it is conceived and when it is no longer
	available for use.  The software life-cycle typically includes
	the following: {requirements analysis}, {design},
	construction, testing ({validation}), installation, operation,
	maintenance, and retirement.

	The development process tends to run iteratively through these
	phases rather than linearly; several models (spiral, waterfall
	etc.) have been proposed to describe this process.

	Other processes associated with a software product are:
	quality assurance, marketing, sales and support.

	(1996-12-27)

Software Method

	{Software Methodology}

Software Methodology

	<programming> The study of how to navigate through each phase
	of the software process model (determining data, control, or
	uses hierarchies, partitioning functions, and allocating
	requirements) and how to represent phase products (structure
	charts, stimulus-response threads, and {state transition
	diagrams}).

	(1996-05-29)

software metric

	<programming> A measure of software quality which indicates
	the complexity, understandability, testability, description
	and intricacy of code.

	(1994-11-16)

software patent

	<legal> A patent intended to prevent others from using some
	programming technique.

	There have been several infamous patents for software
	techniques which most experienced programmers would consider
	fundamental or trivial, such as the idea of using
	{exclusive-or} to plot a cursor on a {bitmap display}.  The
	spread of software patents could stifle innovation and make
	programming much harder because programmers would have to
	worry about patents when designing or choosing {algorithms}.

	There are over ten thousand software patents in the US, and
	several thousand more are issued each year.  Each one may be
	owned by, or could be bought by, a grasping company whose
	lawyers carefully plan to attack people at their most
	vulnerable moments.  Of course, they couch the threat as a
	"reasonable offer" to save you miserable years in court.
	"Divide and conquer" is the watchword: pursue one group at a
	time, while advising the rest of us to relax because we are in
	no danger today.

	Compuserve developed the {GIF} format for graphical images
	many years ago, not knowing about {Unisys}'s 1985 patent
	covering the {LZW} data compression {algorithm} used in GIF.
	GIF was subsequently adopted widely on the {Internet}.  In
	1994 Unisys threatened to sue Compuserve, forcing them to
	impose a sublicensing agreement for GIF on their users.
	Compuserve users can accept this agreement now, or face Unisys
	later on their own.  The rest of us don't have a choice -- we
	get to face Unisys when they decide it's our turn.  So much
	trouble from just one software patent.

	Patents in the UK can't describe {algorithms} or mathematical
	methods.

	See also {LPF}, {software law}.

	{patent search
	(http://sunsite.unc.edu/patents/intropat.html)}.

	(1995-01-06)

software piracy

	<software> Making or distributing unauthorised copies of
	{software}, either for kudos or for profit.  See {software
	theft}.

	(2010-02-03)

software pirate

	<software, legal> Someone engaged in {software piracy}.

	(2010-02-03)

Software Practice and Experience

	<publication> (SPE) A journal about {software}.

	{(http://columbus.cs.nott.ac.uk/compsci/spe/)}.

	[Publisher?  UK?]

	(1997-12-12)

Software Productivity Centre

	<body> (SPC) A non-profit organisation based in Vancouver, BC,
	Canada with the mandate to assist software developers to
	improve their {software engineering} process.

	(1998-10-13)

Software Publishing Certificate

	<security> (SPC) A {public key certification standard} (PKCS)
	#7 signed data object containing {X.509} {certificates}.  SPCs
	are used for {digital signatures} as applicable to computer
	software.

	(2007-05-16)

Software Publishing Corporation

	<company> (SPC) The company that produces {Harvard Graphics}.

	{(http://spco.com/)}.

	(1998-10-13)

software reliability

	See also {formal methods}, {safety-critical system}.

	{(ftp://ftp.sei.cmu.edu/pub/depend-sw)}.  Mailing list:
	depend-sw@sei.cmu.edu.

	[Summary?]

software rot

	<programming> The tendency of software that has not been used
	in a while to fail; such failure may be semi-humorously
	ascribed to {bit rot}.  More commonly, "software rot" strikes
	when a program's assumptions become out of date.  If the
	design was insufficiently {robust}, this may cause it to fail
	in mysterious ways.

	For example, owing to shortsightedness in the design of some
	COBOL programs, many would have succumbed to software rot when
	their 2-digit year counters wrapped around at the beginning of
	the year 2000.  A related incident made the news in 1990, when
	a gentleman born in 1889 applied for a driver's licence
	renewal in Raleigh, North Carolina.  The system refused to
	issue the card, probably because with 2-digit years the ages
	101 and 1 cannot be distinguished.

	Historical note: Software rot in an even funnier sense than
	the mythical one was a real problem on early research
	computers (e.g. the {R1}; see {grind crank}).  If a program
	that depended on a peculiar instruction hadn't been run in
	quite a while, the user might discover that the {opcodes} no
	longer did the same things they once did.  ("Hey, so-and-so
	needs an instruction to do such-and-such.  We can {snarf} this
	opcode, right?  No one uses it.")

	Another classic example of this sprang from the time an {MIT}
	hacker found a simple way to double the speed of the
	unconditional jump instruction on a {PDP-6}, so he patched the
	hardware.  Unfortunately, this broke some fragile timing
	software in a music-playing program, throwing its output out
	of tune.  This was fixed by adding a defensive initialisation
	routine to compare the speed of a timing loop with the
	real-time clock; in other words, it figured out how fast the
	PDP-6 was that day, and corrected appropriately.

	[{Jargon File}]

	(2002-02-22)

software theft

	<legal> Unauthorised duplication and/or use of computer
	{software}.  This usually means unauthorised copying, either
	by individuals for use by themselves or their friends or by
	companies who then sell the illegal copies to users.  Many
	kinds of {software protection} have been invented to try to
	reduce software theft but, with sufficient effort, it is
	always possible to bypass or "crack" the protection, and
	{software protection} is often annoying for legitimate users.

	Software theft in 1994 was estimated to have cost $15 billion
	in worldwide lost revenues to software publishers.  It is an
	offence in the UK under the Copyright, Designs and Patents Act
	1988, which states that "The owner of the copyright has the
	exclusive right to copy the work."

	It is estimated that European software houses alone lose $6
	billion per year through the unlawful copying and distribution
	of software, with much of this loss being through business
	users rather than "basement hackers".  One Italian pirating
	operation employed over 100 staff and had a turnover of $10M.

	It is illegal to: 1. Copy or distribute software or its
	documentation without the permission or licence of the
	copyright owner.  2. Run purchased software on two or more
	computers simultaneously unless the licence specifically
	allows it.  3. Knowingly or unknowingly allow, encourage or
	pressure employees to make or use illegal copies sources
	within the organisation.  4. Infringe laws against
	unauthorised software copying because someone compels or
	requests it.  5. Loan software in order that a copy be made of
	it.

	When software is upgraded it is generally the case that the
	licence accompanying the new version revokes the old version.
	This means that it is illegal to run both the old and new
	versions as only the new version is licensed.

	Both individuals and companies may be convicted of piracy
	offences.  Officers of a company are also liable to conviction
	if the offences were carried out by the company with their
	consent.  On conviction, the guilty party can face
	imprisonment for up to two years (five in USA), an unlimited
	fine or both as well as being sued for copyright infringement
	(with no limit) by the copyright owner.

	Because copying software is easy, some think that it is less
	wrong than, say, stealing it from a shop.  In fact, both
	deprive software producers of income.

	Software theft should be reported to the {Federation Against
	Software Theft} (FAST).

	See also {Business Software Alliance}, {software audit},
	{software law}.

	(2003-06-17)

Software through Pictures

	<programming, tool> (StP) A set of {CASE} tools distributed by
	{Aonix (http://aonix.com/)}.

	(1999-05-21)

software tool

	<programming> A program that aids in the development of other
	programs.  It may assist the programmer in the design, code,
	compile, link, edit, or debug phases.

	(1996-05-28)

Software Verification Research Centre

	<body> (SVRC) A Special Research Centre of the Australian
	Research Council.  Its mission is to create improved methods
	and tools, of industrial significance, for developing
	{verified software}.  Two of the SVRC's core projects are the
	{Cogito} methodology and the {Ergo} {proof tool}.

	(1995-11-14)

Software Writer's Language

	<language> (SWL) /swil/ An industrial strength dialect of
	{Pascal} that allowed multiple {source code} files, originally
	developed at {Control Data Corporation} (CDC) prior to 1973.
	Development continued at the {Integrated Systems Laboratory}.
	SWL was adopted by NCR as its corporate {operating system} and
	{compiler} implementation language (1978-1982+).  The NCR SWL
	dialect was renamed NCRL (NCR Language) in 1981 and continued
	development [until ?].

	(2003-12-31)

softwarily

	/soft-weir'i-lee/ In a way pertaining to software.  "The
	system is softwarily unreliable."  The adjective "softwary" is
	*not* used.  See {hardwarily}.

	[{Jargon File}]

softy

	(IBM) {Hardware} hackers' term for a {software} expert who is
	largely ignorant of the mysteries of hardware.

	(1995-01-11)

SOH

	{Start Of Header}

SOHIO

	An early system on the {IBM 705}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-01-11)

SoHo

	{small-office/home-office.}

SOIF

	{Summary Object Interchange Format}

SOJ

	{Small Outline J}

SOL

	1. <language> {Simulation Oriented Language}.

	2. {Second-Order lambda-calculus}.

	3. Semantic Operating Language.  Language for manipulating
	semantic networks for building cognitive models, particularly
	for natural language understanding.  "Explorations in
	Cognition", D.A. Norman et al, W.H.  Freeman 1974.

	4. Shit Outta Luck.

Solaris

	<operating system> {Sun Microsystems, Inc.}'s version of the
	{Unix} {operating system}.  As well as the core operating
	system, Solaris inludes networking software, the {Java Virtual
	Machine}, the {CDE}/Desktop that includes an {X11}-based
	{windowing environment} and {graphical user interface}.

	Sun claim that Solaris is not just an operating system but an
	"operating environment".

	Solaris 1.x was a retroactive (marketing?) name for {SunOS}
	4.1.x (where x>=1).

	Solaris 2.x (which is the first version most people call
	"Solaris") includes SunOS5.x, which is an SVR4-derived Unix,
	{OpenWindows} 3.x, and {tooltalk}.

	Version 2.7 ("Solaris 7") was around in 1999-03-02.  Version
	2.8 was released in June 2000.  Latest version: 9, as of
	2002-07-15.

	{(http://sun.com/solaris/)}.

	(2002-07-15)

solid state

	<electronics> (Often hyphenated when used as an adjective) A
	term describing any device that uses {semiconductor}
	components rather than {electron tubes} or {relays}.
	Semiconductors are "solid" in that they contain no gas
	("vacuum" tubes contain a small amount as the vacuum is not
	perfect) or moving parts (like relays), but probably more
	important is the connotation of reliability and durability
	that made possible things like portable radios.

	(2007-09-21)

Solid State Disk

	(SSD) <storage> Any kind of {solid-state storage device} that
	appears to the system as a disk drive.  SSDs are more expensive
	that the same capacity of magnetic disk but have much shorter
	{access time}.

	(2013-04-27)

solid-state storage device

	<storage> Any memory component with no moving parts, typically
	built around some kind of semiconductor {integrated circuit}.
	An example is {bubble memory}.

	See also: {RAM disk}.

	(2001-12-31)

SOLO

	[SOL (Semantic Operating Language) + LOGO].  A variant of
	{LOGO} with primitives for dealing with {semantic networks}
	and {pattern matching} rather than lists.

	["A User-Friendly Software Environment for the Novice
	Programmer", M. Eisenstadt <marc@open.ac.uk>, CACM
	27(12):1056-1064 (1983)].

solution

	<jargon> A {marketroid} term for something he wants to sell
	you without bothering you with the often dizzying distinctions
	between {hardware}, {software}, {services}, {applications},
	{file formats}, companies, brand names and {operating
	systems}.

	"{Flash} is a perfect image-streaming solution."  "What is
	it?"  "Um...  about a thousand dollars."

	See also: {technology}.

	(1998-07-07)

Solution Based Modelling

	(SBM) A software development process described in the book
	"Developing Object-Oriented Software for the Macintosh"
	written by Neal Goldstein and Jeff Alger, published by Addison
	Wesley in 1992.

Solve

	Parallel object-oriented language.  "Message Pattern
	Specifications: A New Technique for Handling Errors in
	Parallel Object- Oriented Systems", J.A. Purchase et al,
	SIGPLAN Notices 25(10):116-125 (OOPSLA/ECOOP '90) (Oct 1990).

SOM

	System Object Model.  An implementation of CORBA by IBM.

Somar DumpAcl

	<tool> A utilty which provides a concise report of {Windows
	NT} file system permissions, to help find holes in system
	security.

	(1995-04-10)

Somar Software

	<company> The distributors of {Somar DumpAcl} and other
	utilities for {Windows NT}.

	{(http://somar.com/)}.

	Address: Washington, DC, USA.

	(1995-04-10)

some random X

	<jargon> Used to indicate a member of class X, with the
	implication that Xs are interchangeable.  "I think some random
	cracker tripped over the guest timeout last night."

	See also {J. Random}.

	[{Jargon File}]

	(1995-03-03)

Sonata

	<operating system> The code name for the major {Mac OS}
	release due in mid-1999.

	{(http://devworld.apple.com/mkt/informed/appledirections/mar97/roadmap.html)}.

	(1997-10-15)

SONET

	{Synchronous Optical NETwork}

Sony Playstation

	{Playstation}

SORCERER

	<tool> A simple tree {parser generator} by Terence Parr
	<parrt@s1.arc.umn.edu>.

	SORCERER is suitable for translation problems lying between
	those solved by {code generator} generators and by full
	source-to-source translator generators.  SORCERER generates
	simple, flexible, top-down, tree {parsers} that, in contrast
	to code generators, may execute actions at any point during a
	tree walk.  SORCERER accepts {extended BNF} notation, allows
	{predicates} to direct the tree walk with {semantic} and
	{syntactic} context information, and does not rely on any
	particular intermediate form, parser generator, or other
	pre-existing application.

	SORCERER is included in the {Purdue Compiler-Construction Tool
	Set}.

	Version: 1.00B

	{(ftp://marvin.ecn.purdue.edu/pub/pccts/sorcerer/)}.

	E-mail: <parrt@acm.org> ("e-mail sor.tar.Z.uu" in subject).

	Mailing list: pccts-users-request@ahpcrc.umn.edu (message
	body: "subscribe pccts-users YOUR-NAME", where YOUR-NAME can
	be your name or e-mail address).

	(1994-02-15)

sorcerer's apprentice mode

	<networking> (From Johann Wolfgang von Goethe's "Der
	Zauberlehrling", via the Walt Disney film "Fantasia") A {bug}
	in a {protocol} where, under some circumstances, the receipt
	of a message causes multiple messages to be sent, each of
	which, when received, triggers the same bug.  Used especially
	of such behaviour caused by {bounce message} loops in
	{electronic mail} software.

	Compare {broadcast storm}, {network meltdown}, {software
	laser}, {ARMM}.

	{Der Zauberlehrling
	(http://unix-ag.uni-kl.de/~conrad/lyrics/zauber.html)}.

	[{Jargon File}]

	(1999-10-08)

sort

	1. <application, algorithm> To arrange a collection of items
	in some specified order.  The items - {records} in a file or
	data structures in memory - consist of one or more {fields} or
	members.  One of these fields is designated as the "sort key"
	which means the records will be ordered according to the value
	of that field.  Sometimes a sequence of key fields is
	specified such that if all earlier keys are equal then the
	later keys will be compared.  Within each field some ordering
	is imposed, e.g. ascending or descending numerical, {lexical
	ordering}, or date.

	Sorting is the subject of a great deal of study since it is a
	common operation which can consume a lot of computer time.
	There are many well-known sorting {algorithms} with different
	time and space behaviour and programming {complexity}.

	Examples are {quicksort}, {insertion sort}, {bubble sort},
	{heap sort}, and {tree sort}.  These employ many different
	data structures to store sorted data, such as {arrays},
	{linked lists}, and {binary trees}.

	2. <tool> The {Unix} utility program for sorting lines of
	files.

	{Unix manual page}: sort(1).

	(1997-02-12)

sorting

	{sort}

SOS

	1. {Scheme Object System}.

	2. An infamously {losing} text editor.  Once, back in the
	1960s, when a text editor was needed for the {PDP-6}, a hacker
	{crufted} together a {quick-and-dirty} "stopgap editor" to be
	used until a better one was written.  Unfortunately, the old
	one was never really discarded when new ones (in particular,
	{TECO}) came along.  SOS is a descendant ("Son of Stopgap") of
	that editor, and many {PDP-10} users gained the dubious
	pleasure of its acquaintance.  Since then other programs
	similar in style to SOS have been written, notably the early
	font editor BILOS /bye'lohs/, the Brother-In-Law Of Stopgap
	(the alternate expansion "Bastard Issue, Loins of Stopgap" has
	been proposed).

	3. The {PDP-10} instruction to decrease a value.  Oppose
	{AOS}.

	[{Jargon File}]

sound

	1. {audio}.

	2. <logic> An {inference system} A is sound with respect to
	another system B if A can only reach conclusions which are
	true in B.  A {type inference} system is considered sound with
	respect to a {semantics} if the type inferred for an
	expression is the same as the type inferred for the meaning of
	that expression under the semantics.

	The dual to soundness is {complete}ness.

	(1995-03-01)

Sound Blaster

	<hardware> The best known family of {sound cards} for the {IBM
	PC} from {Creative Labs}.

	[Features?  Models?  Reference?]

	(1998-04-28)

sound card

	A plug-in optional circuit card for an {IBM PC}.  It provides
	high-quality stereo sound output under program control.  A
	"{multimedia}" PC usually includes a sound card.  One of the
	best known is the {Sound Blaster}.

	[Other kinds?]

	(1995-03-01)

soundex

	<algorithm, text> An {algorithm} for encoding a word so that
	similar sounding words encode the same.  The first letter is
	copied unchanged then subsequent letters are encoded as
	follows:

		bfpv	 -> "1"
		cgjkqsxz -> "2"
		dt	  	 -> "3"
		l	  	 -> "4"
		mn	  	 -> "5"
		r	  	 -> "6"

	Other characters are ignored and repeated characters are
	encoded as though they were a single character.  Encoding
	stops when the resulting string is four characters long,
	adding trailing "0"s if it is shorter.  For example, "SMITH"
	or "SMYTHE" would both be encoded as "S530".

	(1995-01-05)

soundness

	The quality of being {sound} (2).

source

	{source code}

source code

	<language, programming> (Or "source", or rarely "source language")
	The form in which a {computer program} ({software}) is written by
	the {programmer}.  Source code is written in some formal
	{programming language} which can be {compiled} automatically into
	{object code} or {machine code} or executed by an {interpreter}.

	Source code might be stored in a {source code management} system.

	If you have the source code for a program rather than just its
	compiled, executable form, then you can, with the right tools,
	modify it to fix {bugs} or add new {features}.  This is the basis
	of the {open source} philosophy - empowering people to improve the
	software they use for the benefit of themselves and others.

	The {Jargon File} would have us believe that an old-time hacker
	might refer to source code informally as "English", with the
	implication that to him his favourite {programming language} is at
	least as readable as English.

	(2014-06-27)

source code control

	{source code management}

source code escrow

	<software> An arrangement where some {source code} is held in
	{escrow} by a third party as long as it is supported by the
	vendors, but should they cease to support it, it becomes the
	property of the purchasers so that they can arrange for its
	continued maintenance.

	(1999-12-14)

source code management

	<software> The use of software systems to help program
	developers keep track of version history of {source code}
	{modules} as well as {releases}, parallel versions ({code
	branches}), etc.  The free {CVS} was an early example, mostly
	replaced by {Subversion} and {git}.  {Perforce} is a powerful
	commercial product.  {SCCS} was once popular on {Unix} and
	{VSS} is {Microsoft}'s offering.

	(2011-12-16)

source language

	{source code}

source-level debugger

	<programming, tool> A {debugger} that shows the programmer the
	line or {expression} in the {source code} that resulted in a
	particular {machine code} instruction of a running program
	loaded in memory.  This helps the programmer to analyse a
	program's behaviour in the high-level terms like source-level
	{flow control} constructs, {procedure} calls, named
	{variables}, etc instead of {machine instructions} and memory
	locations.  Source-level debugging also makes it possible to
	step through execution a line at a time and set source-level
	{breakpoints}.

	In order to support source-level debugging, the program must
	be compiled with this option enabled so that extra information
	is included in the executable code to identify the
	corresponding positions in the source code.

	A {symbolic debugger} is one level lower - it displays symbols
	(procedure and variable names) stored in the executable but
	not individual source code lines.

	{GDB} is a widely used example of a source-level debugger.

	(2007-04-03)

source of all good bits

	<jargon, job> A person from whom (or a place from which)
	useful information may be obtained.  If you need to know about
	a program, a {guru} might be the source of all good bits.  The
	title is often applied to a particularly competent secretary.

	[{Jargon File}]

	(2001-01-27)

source package

	<software> A collection (usually an {archive} file) containing
	all the files necessary to build and modify a piece of
	software.

	A {Debian} source package includes the original source archive
	(.orig.tar.gz), Debianisation diffs
	(-<debian-version>.diff.gz) and a Debian source control file
	(-<debian-version>.dsc).

	(2000-05-31)

source route

	<messaging> An {electronic mail address} which specifies the
	route the message should take as a sequence of {hostnames}.
	It is called a source route because the route is determined at
	the source of the message rather than at each stage as is now
	more common.  The most common kind of source route is a {UUCP}
	style {bang path}, "foo!bar!baz!fred'.  The {RFC 822} syntax,
	"@foo:@bar:fred@baz", is seldom seen because most systems
	which understand RFC 822 also perform automatic routing based
	on the destination hostname.  A third, intermediate, form is
	sometimes seen: "fred%baz%bar@foo.com".

source routing

	{source route}

southbridge

	<architecture> The {integrated circuit} in a {core logic}
	{chip set} that controls the {IDE} bus, {USB}, {plug-n-play}
	support, the {PCI}-{ISA} bridge, keyboard/mouse controller,
	{power management}, and various other features.  One brand
	provides {sound card} functions.

	Other functions are provided by the {northbridge} chip.

	{(http://maximumpc.com/terminator/terminator_s.html)}.

	(2000-01-15)

SP

	Simplicity and Power.

	A {Prolog}-like language.

	["Simplicity and Power - Simplifying Ideas in Computing",
	J.G. Wolff, Computer J 33(6):518-534 (Dec 1990)].

	(1994-12-01)

SP2

	{SP/2}

	[Which is correct?]

SP/2

	Scalable POWERparallel 2.

	A line of {RISC}-based processors from {IBM} using {symmetric
	multi-processing}.  SP/2 replaced SP/1.

	The SP2 is a classical {MPP} design, based on a {Shared
	Nothing} architecture.  The SP2 is an example of the
	{Distributed Memory Processor} (DMP) parallel model, with
	individual nodes interconnected over a {LAN}, or a
	High-Performance Switch (HPS).  SP2 systems can have from 2 to
	512 nodes.  Each node is a {RISC system/6000} running {IBM}'s
	{AIX} {operating system}.

	The SP2 supports applications in both technical and commercial
	environments.  In terms of commercial applications, the SP2 is
	typically being used in support of, {MIS}/{DSS} including
	{data mining}, {business applications} e.g. {SAP}, {Alternative
	Mainframe}/{Mainframe Offload}, {LAN Server Consolidation}.

	(1995-03-07)

space

	<character> The space character, {ASCII} 32.

	See {octal forty}.

	(2007-01-29)

space bar

	<hardware> (Or "space key") The extra-wide {key} at the near
	edge of every {keyboard} that is used to enter a {space}
	character.

	In some {Graphical User Interfaces}, the space bar can be used
	to select the current item where the context does not allow
	text entry, e.g. when the {input focus} is on a {push button}
	or {tick box}.

	(2007-01-29)

space-cadet keyboard

	A now-legendary device used on {MIT} {Lisp} machines, which
	inspired several still-current jargon terms and influenced the
	design of {Emacs}.  It was equipped with no fewer than *seven*
	shift keys: four keys for {bucky bits} ("control", "meta",
	"hyper", and "super") and three like regular shift keys,
	called "shift", "top", and "front".  Many keys had three
	symbols on them: a letter and a symbol on the top, and a Greek
	letter on the front.  For example, the "L" key had an "L" and
	a two-way arrow on the top, and the Greek letter lambda on the
	front.  By pressing this key with the right hand while playing
	an appropriate "chord" with the left hand on the shift keys,
	you could get the following results:

	 L		lowercase l

	 shift-L	uppercase L

	 front-L	lowercase lambda

	 front-shift-L	uppercase lambda

	 top-L		two-way arrow

	(front and shift are ignored) And of course each of these
	might also be typed with any combination of the control, meta,
	hyper, and super keys.  On this keyboard, you could type over
	8000 different characters!  This allowed the user to type very
	complicated mathematical text, and also to have thousands of
	single-character commands at his disposal.  Many hackers were
	actually willing to memorise the command meanings of that many
	characters if it reduced typing time (this attitude obviously
	shaped the interface of {Emacs}).  Other hackers, however,
	thought that many {bucky bits} was overkill, and objected that
	such a keyboard can require three or four hands to operate.

	See {cokebottle}, {double bucky}, {meta bit}, {quadruple
	bucky}.

	Note: early versions of this entry incorrectly identified the
	space-cadet keyboard with the "Knight keyboard".  Though both
	were designed by Tom Knight, the latter term was properly
	applied only to a keyboard used for {ITS} on the {PDP-10} and
	modelled on the Stanford keyboard (as described under {bucky
	bits}).  The true space-cadet keyboard evolved from the Knight
	keyboard.

	[{Jargon File}]

	(1994-12-05)

space complexity

	<complexity> The way in which the amount of storage space
	required by an {algorithm} varies with the size of the problem
	it is solving.  Space complexity is normally expressed as an
	order of magnitude, e.g. O(N^2) means that if the size of the
	problem (N) doubles then four times as much working storage
	will be needed.

	See also {computational complexity}, {time complexity}.

	(1996-05-08)

space key

	{space bar}

space leak

	A data structure which grows bigger, or lives longer, than
	might be expected.  Such unexpected memory use can cause a
	program to require more {garbage collections} or to run out of
	{heap}.  Space leaks in {functional programs} usually result
	from excessive laziness.  For example, the {Haskell} function

		sum []     = 0
		sum (x:xs) = x + sum xs

	when applied to a list will build a chain of closures for the
	additions and only when it reaches the end of the list will it
	perform the additions and free the storage.  Another example
	is the function

		mean l = sum l / length l

	The sum function forces the entire list l to be evaluated and
	built in the heap.  None of it can be garbage collected until
	the length function has consumed it.

SPACEWAR

	<games> A space-combat simulation game for the {PDP-1} written
	in 1960-61 by Steve Russell, an employee at {MIT}.  SPACEWAR
	was inspired by E. E. "Doc" Smith's "Lensman" books, in which
	two spaceships duel around a central sun, shooting torpedoes
	at each other and jumping through hyperspace.  MIT were
	wondering what to do with a new {vector video display} so
	Steve wrote the world's first video game.  Steve now lives in
	California and still writes software for {HC12} {emulators}.

	SPACEWAR aficionados formed the core of the early hacker
	culture at {MIT}.  Nine years later, a descendant of the game
	motivated {Ken Thompson} to build, in his spare time on a
	scavenged {PDP-7}, the {operating system} that became {Unix}.
	Less than nine years after that, SPACEWAR was commercialised
	as one of the first video games; descendants are still
	{feep}ing in video arcades everywhere.

	["SPACEWAR" or "Space Travel"?]

	[{Jargon File}]

	(2004-07-19)

SPADE

	Specification Processing And Dependency Extraction.
	Specification language.  G.S. Boddy, ICL Mainframes Div,
	FLAG/UD/3DR.003

spaghetti code

	<programming> A pejorative term for code with a complex and
	tangled {control structure}, especially one using many
	{GOTOs}, {exceptions}, or other "unstructured" branching
	constructs.  The synonym "kangaroo code" has been reported,
	doubtless because such code has so many jumps in it.

	{Object-oriented programming} may also feature {spaghetti
	inheritance} or {spaghetti with meatballs code}.

	[{Jargon File}]

	(2013-07-31)

spaghetti inheritance

	<humour, programming> A term used by users of {object-oriented}
	languages with inheritance, such as {Smalltalk} for a convoluted
	{class}-subclass graph, often resulting from carelessly deriving
	subclasses from other classes just for the sake of reusing their
	code.  Coined to discourage such practice, through
	guilt-by-association with {spaghetti code}.

	[{Jargon File}]

	(2013-07-31)

spaghetti with meatballs code

	<humour, programming> {Object-oriented code} that depends on messy
	procedural {spaghetti code}.  May also feature {spaghetti
	inheritance}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-07-31)

spam

	1. <messaging> (From Hormel's Spiced Ham, via the Monty Python
	"Spam" song) To post irrelevant or inappropriate messages to
	one or more {Usenet} {newsgroups}, {mailing lists}, or other
	messaging system in deliberate or accidental violation of
	{netiquette}.

	It is possible to spam a newsgroup with one well- (or ill-)
	planned message, e.g. asking "What do you think of abortion?"
	on soc.women.  This can be done by {cross-post}ing, e.g. any
	message which is crossposted to alt.rush-limbaugh and
	alt.politics.homosexuality will almost inevitably spam both
	groups.  (Compare {troll} and {flame bait}).

	Posting a message to a significant proportion of all
	newsgroups is a sure way to spam Usenet and become an object
	of almost universal hatred.  Canter and Siegel spammed the net
	with their Green card post.

	If you see an article which you think is a deliberate spam, DO
	NOT post a {follow-up} - doing so will only contribute to the
	general annoyance.  Send a polite message to the poster by
	private e-mail and CC it to "postmaster" at the same address.
	Bear in mind that the posting's origin might have been forged
	or the apparent sender's account might have been used by
	someone else without his permission.

	The word was coined as the winning entry in a 1937 competition
	to choose a name for Hormel Foods Corporation's "spiced meat"
	(now officially known as "SPAM luncheon meat").  Correspondant
	Bob White claims the modern use of the term predates Monty
	Python by at least ten years.  He cites an editor for the
	Dallas Times Herald describing Public Relations as "throwing a
	can of spam into an electric fan just to see if any of it
	would stick to the unwary passersby."

	{Usenet} newsgroup: {news:news.admin.net-abuse}.

	See also {netiquette}.

	2. (A narrowing of sense 1, above) To indiscriminately send
	large amounts of unsolicited {e-mail} meant to promote a
	product or service.  Spam in this sense is sort of like the
	electronic equivalent of junk mail sent to "Occupant".

	In the 1990s, with the rise in commercial awareness of the
	net, there are actually scumbags who offer spamming as a
	"service" to companies wishing to advertise on the net.  They
	do this by mailing to collections of {e-mail} addresses,
	Usenet news, or mailing lists.  Such practises have caused
	outrage and aggressive reaction by many net users against the
	individuals concerned.

	3. (Apparently a generalisation of sense 2, above) To abuse
	any network service or tool by for promotional purposes.

	"AltaVista is an {index}, not a promotional tool.  Attempts to
	fill it with promotional material lower the value of the index
	for everyone.  [...] We will disallow {URL} submissions from
	those who spam the index.  In extreme cases, we will exclude
	all their pages from the index." -- {Altavista}.

	4. <jargon, programming> To crash a program by overrunning a
	fixed-size {buffer} with excessively large input data.

	See also {buffer overflow}, {overrun screw}, {smash the stack}.

	5. <chat, games> (A narrowing of sense 1, above) To flood any
	{chat} forum or {Internet game} with purposefully annoying
	text or macros.  Compare {Scrolling}.

	(2003-09-21)

spamdex

	<web> (Presumably from "{spam}", "index") {word
	spamming}.

	"Spamdexing has come a long way from the halcyon days of the
	summer of 1995.  Back then, all one needed to do was add the
	word 'sex' a thousand times at the end of a Web page to
	attract attention from the likes of Lycos.  The search-engine
	operators caught on fast" -- {Andrew Leonard, Hotwired 1996
	(http://packet.com/packet/leonard/96/32/index3a.html)}.

	(1997-04-09)

spamming

	{spam}

spanning tree algorithm

	<networking, standard> An {IEEE 802.1} standard providing
	distributed {routing} over multiple {LAN}s connected by
	{bridges}.

	(2010-09-26)

SPAR

	Early system on Datatron 200 series.  Listed in CACM 2(5):16
	(May 1959).

SPARC

	1. <processor> {Scalable Processor ARChitecture}.

	2. <database> {ANSI/SPARC Architecture}.

	(1999-02-27)

SPARC International, Inc.

	<body> An organisation established to promote the {Scalable
	Processor ARChitecture} (SPARC).  Their main service is
	conformance testing.  They also produce the "SPARC flash"
	newsletter and publish lists of SPARC compliant machines
	tested by SPARC International to be {binary compatible} with
	other compliant machines.

	{(http://sparc.com/)}.

	SPARC(R) is a registered trademark of SPARC International,
	Inc. in the United States and other countries.

	(1995-01-04)

SPARCStation

	<computer> A family of {workstations} from {Sun Microsystems}
	based on the {SPARC} architecture.  Models include the
	{SPARCStation 1}, 1+, SLC, {SPARCStation ELC}, IPX,
	{SPARCStation 5}, {SPARCStation 10} and {SPARCStation 20}.

	(1994-11-23)

SPARCstation 10

	<computer> A {SPARCStation} with a 4-way associative {data
	cache} and a five-way associative {instruction cache}.  The
	10/31, 10/41 and 10/51 also have a {secondary cache} not
	present on earlier {SPARCStations}.

	(1994-12-02)

SPARCstation 20

	<computer> A {SPARCStation} based on the {HyperSPARC}
	processor.  The 20 is compatible with the earlier
	{SPARCstation 10}.  It has a {clock rate} of 100MHz and
	delivers a {SPECfp92} of 127.6.

	The SPARCstation 20 Model 71 and 712MP uses the 75MHz
	{SuperSPARC} processors that give a 35% and 14% boost to
	SPECint92 and SPECfp92 respectively compared to the 61/612MP.

	(1994-12-02)

SPARCsystem 4

	<computer> A computer built with the {MicroSPARC ii} 70MHz
	{CPU} as used in the {SPARC 5} Model 70.  The SPARCsystem 4 is
	basically a cheaper, cut-down SPARC 5.  It has an 8-bit {pixel
	accelerator} instead of the SBus Turbo GX card.  Memory
	expansion is limited to 160 MB.  Availability was planned for
	March/April 1995.

	(1995-02-07)

SPARC Xterminal 1

	<computer> {Sun}'s lowest cost networked {Unix} desktop, it is
	board-upgradeable to a {SPARC 4}.  It comes with a choice of
	{frame buffers}: 8-bit colour, {Turbo GX}, or Turbo GX plus.
	This product was expected to replace the {SPARCclassic X}.  UK
	availability was planned for March 1995.

	(1995-02-08)

SPARK

	<language> An annotated subset of {Ada} supported by tools
	supplied by {Praxis Critical Systems} (originally by PVL).

	{(http://sparkada.com)}.

	(2001-07-12)

SPARK Annotation Language

	<language> (SAL) {ICL}, Ltd.  Used in the verification of
	{SPARK} programs against {Z} specifications.

	(1994-12-08)

SPARKS

	<language> Fortran superset, used in Fundamentals of Data
	Structures, E.  Horowitz & S. Sahni, Computer Science Press
	1976.

	(2007-03-21)

sparse

	A sparse {matrix} (or {vector}, or {array}) is one in which
	most of the elements are zero.  If storage space is more
	important than access speed, it may be preferable to store a
	sparse matrix as a list of (index, value) pairs or use some
	kind of {hash} scheme or {associative memory}.

	(1995-01-16)

Spatial Technologies

	<company> Distributors of the {ACIS} {solid modelling} engine.

	[More info?]

	(1999-06-29)

spawn

	<operating system> To create a {child process} in a
	{multitasking} {operating system}.  E.g. {Unix}'s {fork}
	{system call} or one of the spawn() library routines provided
	by most {MS-DOS}, {Novell NetWare} and {OS/2} {C} compilers -
	spawnl(), spawnle(), etc.

	(1995-03-28)

SPC

	1. <business> {Statistical Process Control}.  Something to do
	with {quality management}.

	[What is it?]

	2. <body> {Software Productivity Centre}.

	3. <company> {Software Publishing Corporation}.

	4. <security> {Software Publishing Certificate}.

SPD

	{Serial Presence Detect}

SPDL

	Standard Page Description Language

	A draft within the ODA standard.

	(1995-03-28)

SPE

	{Software Practice and Experience}

Speakeasy

	Simple array-oriented language with numerical integration and
	differentiation, graphical output, aimed at statistical
	analysis.

	["Speakeasy", S. Cohen, SIGPLAN Notices 9(4), (Apr 1974)].

	["Speakeasy-3 Reference Manual", S. Cohen et al. 1976].

speaker

	1. <audio, hardware> {loudspeaker}.

	2. The person who is (assumed to be) talking.

	(1996-12-01)

SPEC

	<benchmark, body> Standard Performance Evaluation Corporation.

	A non-profit corporation registered in California formed to
	"establish, maintain and endorse a standardized set of
	relevant {benchmarks} that can be applied to the newest
	generation of high-performance computers" (from SPEC's
	bylaws).  The founders believe that the user community will
	benefit greatly from an objective series of
	applications-oriented tests, which can serve as common
	reference points and be considered during the evaluation
	process.

	SPEC develops suites of {benchmarks} intended to measure
	computer performance.  These are available to the public for a
	fee covering development and administration costs.

	The current (14 Nov 94) SPEC benchmark suites are: {CINT92}
	(CPU intensive integer benchmarks); {CFP92} (CPU intensive
	floating-point benchmarks); SDM (UNIX Software Development
	Workloads); SFS (System level file server (NFS) workload).

	{Results (ftp://ftp.cdf.toronto.edu/pub/spectable)}.

	SPEC also publishes a quarterly report of SPEC news and
	results, The SPEC Newsletter.  Some issues are {here
	(http://performance.netlib.org/performance/html/spec.html)}.

	There is a {FAQ} about SPEC {here
	(http://performance.netlib.org/performance/html/specfaq.html)}.

	(1994-11-14)

Spec

	A specification language.  It expresses {black box} interface
	specifications for large distributed systems with {real-time}
	constraints.  It incorporates conceptual models, {inheritance}
	and the event model.  It is a descendant of {MSG.84}.

	["An Introduction to the Specification Language Spec",
	V. Berzins et al, IEEE Software 7(2):74-84 (Mar 1990)].

spec

	{specification}

SPECbase_fp92

	A variant of {SPECfp92} that reports "baseline" results, using
	stricter run rules.

	(1994-11-14)

SPECbase_int92

	A variant of {SPECint92} that reports "baseline" results,
	using stricter run rules.

	(1994-11-14)

SPECbaserate

	A variant of {SPECrate} that reports "baseline" results, using
	stricter run rules.

	See {SPECrate_base_fp92}, {SPECrate_base_int92}.

	(1994-11-14)

SPEC CFP92

	<benchmark> A {benchmark} suite from {SPEC} containing 14
	programs performing {floating-point} computations.  12 are
	written in {Fortran} and two in {C}.  They can be used to
	estimate the performance of CPU, memory system, and compiler
	code generation.

	The individual programs are Circuit Design, Simulation (2x),
	Quantum Chemistry (3x), Electromagnetism, Geometric
	Translation, Optics, Robotics, Medical Simulation, Quantum
	Physics, Astrophysics, NASA Kernels.

	The benchmark suite can be used either for speed measurement,
	resulting in {SPEC ratios}, or for throughput measurement,
	resulting in {SPEC rates}

	(1994-11-15)

SPEC CINT92

	<benchmark> A {benchmark} suite from {SPEC}, which contains
	six benchmarks in {C} performing integer computations. They
	can be used to estimate the performance of CPU, memory system,
	and compiler code generation.

	The individual programs are Logic Design (2x), Interpreter,
	Data Compression, Spreadsheet.  The approximate size of the
	suite is 85500 lines of source code without comments.

	The benchmark suite can be used either for speed measurement,
	resulting in {SPEC ratios}, or for throughput measurement,
	resulting in {SPEC rates}

	(1994-11-15)

SPECfp92

	<benchmark> A {benchmark} result derived from the results of a
	set of CPU intensive floating-point benchmarks from {SPEC}
	(the {geometric mean} of the 14 {SPEC ratios} of {CFP92}).
	SPECfp92 can be used to estimate a machine's single-tasking
	performance on {floating-point} code.

	{Results (ftp://ftp.nosc.mil/pub/aburto/specfp92.tbl)}.

	(1994-11-14)

SPECIAL

	<language, specification> A specification language, developed
	at {SRI} around 1976, used to specify the {abstract machines}
	in {Hierarchical Design Methodology} (HDM).

	["SPECIAL - A Specification and Assertion Language",
	L. Robinson et al, TR CSL-46, SRI, Jan 1977].

	(2012-07-08)

special-case

	To write unique code to handle input to or situations arising
	in a program that are somehow distinguished from normal
	processing.  This would be used for processing of mode
	switches or interrupt characters in an interactive interface
	(as opposed, say, to text entry or normal commands), or for
	processing of {hidden flags} in the input of a batch program
	or {filter}.

	[{Jargon File}]

Special Interest Group

	(SIG) One of several technical areas, sponsored by the
	{Association for Computing Machinery}.  Well-known SIGs
	include SIGPLAN (the Special Interest Group on Programming
	Languages), SIGARCH (the Special Interest Group for Computer
	Architecture) and SIGGRAPH (the Special Interest Group for
	Computer Graphics).

	(1994-10-27)

specialisation

	A reduction in generality, usually for the sake of increased
	efficiency.  If a piece of code is specialised for certain
	values of certain variables (usually function arguments), this
	is known as "{partial evaluation}".  In a language with
	{overloading} (e.g. {Haskell}), an overloaded function might be
	specialised to a non-overloaded instance at compile-time if
	the types of its arguments are known.

specification

	<jargon> (spec) A document describing how some system should
	work.

	(2001-02-06)

specific markup

	In computerised document preparation, a method of adding
	formatting commands to the text to control layout, such as new
	line, new page, centre text etc.

	Compare {generic markup}.

	(2001-02-06)

SPECint92

	<benchmark> A {benchmark} result derived from the results of a
	set of integer benchmarks from {SPEC} (geometric mean of the 6
	{SPEC ratios} of {CINT92}) which can be used to estimate a
	machine's single-tasking performance on integer code.

	SPECint92 obsoletes SPECint89.

	{Results (ftp://ftp.nosc.mil/pub/aburto/specin92.tbl)}.

	See also {SPECbase_int92}.

	(1994-11-14)

SPECmark

	<benchmark> The average of a set of {floating-point} and
	integer {SPEC} {benchmark} results.

	While the old average {SPECmark89} has been popular with the
	industry and the press, {SPEC} has intentionally *not* defined
	an average "SPECmark92" over all {CPU} {benchmarks} of the
	1992 suites ({CINT92} and {CFP92}), for the following reasons:
	With 6 integer ({CINT92}) and 14 {floating-point} ({CFP92})
	benchmarks, the average would be biased too much toward
	floating-point.  Customers' workloads are different, some
	integer-only, some floating-point intensive, some mixed.
	Current processors have developed their strengths in a more
	diverse way (some more emphasizing integer performance, some
	more floating-point performance) than in 1989.

	Some SPECmark results are available {here
	(ftp://ftp.cdf.toronto.edu/pub/spectable)}.

	See also {SPECint92}, {SPECfp92}, {SPECrate_int92},
	{SPECrate_fp92}.

	(1994-11-15)

SPECmark89

	<benchmark> An old {SPECmark} {benchmark} result derived from
	a set of {floating-point} and integer {benchmarks}.  It is the
	{geometric mean} of ten {SPEC ratios} of the outdated 1989
	{SPEC} benchmark suite.  The use of SPECmark89 is strongly
	discouraged, having been superseded by {CINT92} and {CFP92}.

	(1994-11-29)

SPECOL

	["SPECOL - A Computer Enquiry Language for the
	Non-Programmer", B.T. Smith, Computer J 11:121 (1968)].

SPEC rate

	<benchmark> Results of the throughput measurement using {SPEC}
	{benchmark} suites {CINT92} and {CFP92}.  With the throughput
	measurement method, several copies of a given benchmark are
	executed.  The method is particularly suitable for
	{multiprocessor} systems.

	The results, called SPEC rate, express how many jobs of a
	particular type (characterised by the individual benchmark)
	can be executed in a given time (The SPEC reference time
	happens to be a week, the execution times are normalized with
	respect to a {VAX 11/780}).  The SPEC rates therefore
	characterise the capacity of a system for compute-intensive
	jobs of similar characteristics.

	See also {SPEC ratio}.

	(1994-11-14)

SPECrate_base_fp92

	<benchmark> A variant of {SPECrate_fp92} that reports
	"baseline" results, using stricter run rules.

	(1994-11-15)

SPECrate_fp92

	<benchmark> A {benchmark} result derived from the results of a
	set of {floating-point} benchmarks (the {geometric mean} of 14
	{SPEC rates} from {CFP92}) run multiple times simultaneously,
	which can be used to estimate a machine's overall
	{multi-tasking} throughput for {floating-point} code.  It is
	typically used on {multiprocessor} machines.

	SPECrate_fp92 obsoletes SPECfpThruput89.

	(1994-11-14)

SPECrate_int92

	<benchmark> The integer {SPECrate} derived from the results of
	a set of integer benchmarks (the {geometric mean} of six {SPEC
	rates} from {CINT92}) run multiple times simultaneously, and
	can be used to estimate a machine's overall {multi-tasking}
	throughput for integer code.  It is typically used on
	{multiprocessor} machines.

	SPECrate_int92 obsoletes SPECintThruput89.

	See also {SPECbaserate}.

	(1994-11-14)

SPEC ratio

	<benchmark> Results for each individual {benchmark} of the
	{SPEC} benchmark suites, for example {CINT92} and {CFP92},
	expressed as the ratio of the wall clock time to execute one
	single copy of the benchmark, compared to a fixed "SPEC
	reference time", which was chosen early-on as the execution
	time on a {VAX 11/780}.

	See also {SPEC rate}.

	(1994-11-14)

Spectral Band Replication

	<audio, compression> (SBR) Guessing the nontransmitted higher
	frequency range of a compressed audio file by some helper bits
	(transmiited with the stream) and the transmitted base band.
	SBR allows a restoration (not reconstruction) of the upper
	frequency range without lots of bits.  It was developed by
	{Coding Technology (http://codingtechnology.com/)}, and is
	useful for medium and high quality coding at low and medium
	data rates.  It is used by {Digital Radio Mondiale} and {MP3
	Pro}.

	(2004-12-10)

Spectrum

	{ZX Spectrum}

speculative evaluation

	<parallel> A technique used in {parallel processing} where
	some evaluation may be started before it is known whether it
	is needed (Eager evaluation).  This may result in some wasted
	processing and may introduce unnecessary non-terminating
	processes but it can reduce the overall run time by making
	some needed results available earlier than they would be
	otherwise.

	Opposite: {conservative evaluation}.

	(1995-05-05)

speculative execution

	<processor> A technique allows a {superscalar} processor to
	keep its {functional units} as busy as possible by executing
	instructions before it is known that they will be needed.

	The {Intel P6} uses speculative execution.

	Compare {branch prediction}, {speculative evaluation}.

	(1995-05-05)

Speech Application Programming Interface

	<programming, standard> (SAPI) {Microsoft}'s standard {API}
	for speech synthesis and {speech recognition} in {Windows 95}.
	The idea is to let developers try out and use various
	low-level speech software from any number of verndors, while
	retaining the same API.

	Mike Rozak is the lead of the SAPI project at Microsoft.
	Numerous major speech vendors have announced SAPI-support
	plans.  {SRAPI}, the competing speech recognition API by
	{Lotus}/WordPerfect, is fast becoming obsolete.

	(1996-03-04)

speech recognition

	<application> (Or voice recognition) The identification of
	spoken words by a machine.  The spoken words are digitised
	(turned into sequence of numbers) and matched against coded
	dictionaries in order to identify the words.

	Most systems must be "trained," requiring samples of all the
	actual words that will be spoken by the user of the system.
	The sample words are digitised, stored in the computer and
	used to match against future words.  More sophisticated
	systems require voice samples, but not of every word.  The
	system uses the voice samples in conjunction with dictionaries
	of larger vocabularies to match the incoming words.  Yet other
	systems aim to be "speaker-independent", i.e. they will
	recognise words in their vocabulary from any speaker without
	training.

	Another variation is the degree with which systems can cope
	with connected speech.  People tend to run words together,
	e.g. "next week" becomes "neksweek" (the "t" is dropped).  For
	a voice recognition system to identify words in connected
	speech it must take into account the way words are modified by
	the preceding and following words.

	It has been said (in 1994) that computers will need to be
	something like 1000 times faster before large vocabulary (a
	few thousand words), speaker-independent, connected speech
	voice recognition will be feasible.

	(1995-05-05)

Speech Recognition Application Program Interface

	<programming> (SRAPI) {Novell, Inc.}'s high level {API} for
	{speech recognition} which will be rolled out with
	{WordPerfect} 7.0 and {Perfect Office} 7.0.  SRAPI is in
	competition with {SAPI} from {Microsoft}, a high level API
	which currently addresses command and control (but not yet
	dictation).

	[Byte; March 1996; page 30; "Battle of the Dictaion APIs"].

	(1996-03-12)

speech synthesis

	The generation of an sound waveform of human speech from a
	textual or phonetic description.  See also {speech
	recognition}.

	There are demonstrations which {say a number
	(http://cs.yale.edu/cgi-bin/saynumber.au)} or {say a
	phrase (http://wwwtios.cs.utwente.nl/say/form/)}.

SPEED

	Early system on LGP-30.  Listed in CACM 2(5):16 (May 1959).

Speedcoding

	<language> A {pseudocode} {interpreter} for mathematics on
	{IBM 701} and {IBM 650} written by John Backus in 1953.

	[Sammet 1969, p. 130].

	(2000-03-27)

Speedcoding 3

	<language> [Listed in CACM 2(5):16, May 1959].

	(2000-03-27)

SPEEDEX

	Early system on {IBM 701}.  Listed in CACM 2(5):16 (May 1959).

speedometer

	A pattern of lights displayed on a linear set of LEDs (today)
	or nixie tubes (yesterday, on ancient mainframes).  The
	pattern is shifted left every N times the operating system
	goes through its {main loop}.  A swiftly moving pattern
	indicates that the system is mostly idle; the speedometer
	slows down as the system becomes overloaded.  The speedometer
	on Sun Microsystems hardware bounces back and forth like the
	eyes on one of the Cylons from the wretched "Battlestar
	Galactica" TV series.

	Historical note: One computer, the GE 600 (later Honeywell
	6000) actually had an *analog* speedometer on the front panel,
	calibrated in instructions executed per second.

	[{Jargon File}]

spell

	{incantation}

spelling flame

	<messaging> A {Usenet} posting ostentatiously correcting a
	previous article's spelling, possibly as a way of casting
	scorn on the point the article was trying to make, instead of
	actually responding to that point (compare {dictionary
	flame}).  Of course, people who are more than usually slovenly
	spellers are prone to think *any* correction is a spelling
	flame.  It's an amusing comment on human nature that spelling
	flames themselves often contain spelling errors.

	[{Jargon File}]

	(1994-11-22)

Sperry Corporation

	<company> The company which merged with the {Burroughs
	Corporation} to form {Unisys Corporation}.  Divisions included
	{Sperry Univac}, Sperry Flight Systems, and others.  Some of
	these were sold off after the merger.

	(1995-03-27)

Sperry Univac

	<company> One of the divisions of {Sperry Corporation} at the
	time that company merged with the {Burroughs Corporation} to
	form {Unisys Corporation}.

	[Connection with the {Univac} computer?]

	(1994-11-22)

SPG

	System Program Generator.  A compiler-writing language.

	["A System Program Generator", D. Morris et al, Computer J
	13(3) (1970)].

SPGA

	{Staggered Pin Grid Array}

SPI

	1. <company> {Software in the Public Interest, Inc.}.

	2. <hardware> {Serial Peripheral Interface}.

	(2003-07-13)

Spice Lisp

	<language> A flavour of {Lisp}, the sources of which (in Lisp)
	are available from {CMU}.

	(1998-03-14)

SPID

	Service Provider ID

spider

	<web> (Or "robot", "crawler") A program that
	automatically explores the {web} by retrieving a
	document and recursively retrieving some or all the documents
	that are referenced in it.  This is in contrast with a normal
	{web browser} operated by a human that doesn't automatically
	follow links other than {inline images} and {URL redirection}.

	The {algorithm} used to pick which references to follow
	strongly depends on the program's purpose.  {Index}-building
	spiders usually retrieve a significant proportion of the
	references.  The other extreme is spiders that try to validate
	the references in a set of documents; these usually do not
	retrieve any of the links apart from redirections.

	The {standard for robot exclusion} is designed to avoid some
	problems with spiders.

	Early examples were {Lycos} and {WebCrawler}.

	{Home
	(http://info.webcrawler.com/mak/projects/robots/robots.html)}.

	(2001-04-30)

Spiderweb

	<tool> A program for creating versions of {Knuth}'s {WEB}
	self-documenting programs ("{literate programming}").

	{(ftp://princeton.edu/)}.

	(1999-08-26)

spiffy

	/spi'fee/ 1. Said of programs having a pretty, clever, or
	exceptionally well-designed interface. "Have you seen the
	spiffy {X} version of {empire} yet?"  This was common
	mainstream slang during the 1940s.

	2. Said sarcastically of a program that is perceived to have
	little more than a flashy interface going for it.  Which
	meaning should be drawn depends delicately on tone of voice
	and context.

	[{Jargon File}]

spike

	<jargon> To defeat a selection mechanism by introducing a
	(sometimes temporary) device that forces a specific result.
	The word is used in several industries; telephone engineers
	refer to spiking a relay by inserting a pin to hold the relay
	in either the closed or open state, and railroaders refer to
	spiking a track switch so that it cannot be moved.  In
	programming environments it normally refers to a temporary
	change, usually for testing purposes (as opposed to a
	permanent change, which would be called {hard-coded}).

	(1999-10-18)

spill

	{register spilling}

spim

	<messaging> (From {spam} and {IM}) Unsolicited commercial
	messages sent via an {instant messaging} system, instant
	messenger spam.

	(2008-01-21)

spin

	<programming, jargon> Equivalent to {buzz}.  More common among
	{C} and {Unix} programmers.

	[{Jargon File}]

	(2008-01-21)

spin control

	<interface> A type of input {control} available on most {graphical
	user interfaces}, consisting of a {text box} or {list control}
	with associated up and down {buttons}.  The user can either type
	in the text box or select an item from the list by clicking on it
	directly, or they can repeatedly select the next or previous value
	by clicking the up or down button.

	(2008-09-26)

spinner

	{spin control}

spiral model

	<programming> A {software life-cycle} model which supposes
	incremental development, using the {waterfall model} for each
	step, with the aim of managing risk.  In the spiral model,
	developers define and implement features in order of
	decreasing priority.

	[Barry Boehm, "A Spiral Model of Software Development and
	Enhancement", ACM SIGSOFT Software Engineering Notes, August
	1986].

	[Barry Boehm "A Spiral Model of Software Development and
	Enhancement" IEEE Computer, vol.21, #5, May 1988, pp 61-72].

	[Better explanation?]

	(1997-11-23)

SPIT

	Language for IBM 650.  (See IT).

SPITBOL

	SPeedy ImplemenTation of snoBOL.  "Macro SPITBOL - A SNOBOL4
	Compiler", R.B.K. Dewar et al, Soft Prac & Exp 7:95-113, 1971.

	Current versions: SPITBOL-68000, Sparc SPITBOL from Catspaw
	Inc, (719)539-3884.

spiware

	<spelling> Misspelling of {spyware}.

	(2008-10-07)

SP/k

	<language> (Subset PL/I, k=1..8) A series of {PL/I} subsets,
	simplified for student use.

	["SP/k: A System for Teaching Computer Programming", R.C. Holt
	et al, CACM 20(5):301-309, May 1977].

	(1997-12-27)

SPL

	1. Synchronous Programming Language.  A DSP language.
	"Introduction to the SPL Compiler", Computalker Consultants,
	1986.

	2. Space Programming Language.  Realtime language used by the
	US Air Force for aerospace software.  Aka SPL/J6.  Similar to
	JOVIAL.  "Space Programming Language Development", SAMSO TP
	70-325, System Development Corp (Sep 1970).  (See CLASP).

	3. System Programming Language.  HP, 1977.  An ALGOL-like
	language for the HP3000 computer allowing inline assembly
	code.  MPE, the OS for the HP3000 was written in SPL.
	Pub.No.30000-90024, HP.  See also {SPLash!}.

	4. Systems Programming Language.

	PRIME Computer, 80's.  A variant of PL/I used on PRIME
	computers.  PL/I subset G, less I/O plus a few extensions.
	SPL User's Reference Guide, Prime.  (See PL/P.)

	5. Systems Programming Language.

	A PL/I subset/extension for the P1000.

	D.B. Wortman, U Toronto.

	Philips Data Sys, Netherlands, 1971.

	Symbolic constants, pointer arithmetic, inline assembly code.
	Used to implement compilers, operating systems, and database.

	["Experiences With SPL", J. Klunder in Machine Oriented Higher
	Level Languages, W. van der Poel, N-H 1974, pp. 385-393].

	[Can 4 and 5 be the same?]

	6. Student Programming Language.

	A translator-interpreter for a dialect of {PL/I}.

	7. {Set Priority Level}

	[{Jargon File}]

	(1995-02-07)

SPL/1

	{SPL/I}

SPLash!

	1. Software Research Northwest, 1987.  Compiler for SPL[3].

	2. Systems Programming LAnguage for Software Hackers.
	Mentioned in TeX for the Impatient, Paul W. Abrahams, A-W
	1990.

splash screen

	<programming> An initial screen displayed by interactive
	software, usually containing a logo, version information,
	author credits and/or a {copyright} notice.

	The term originated among {Macintosh} users and spread, the
	synonym {banner} was once also used.

	[{Jargon File}]

	(1998-04-28)

splat

	1. Name used in many places (DEC, IBM, and others) for the
	asterisk ("*") character (ASCII 0101010).  This may derive
	from the "squashed-bug" appearance of the asterisk on many
	early line printers.

	2. Name used by some {MIT} people for the "#" character (ASCII
	35).

	3. (Rochester Institute of Technology) The {feature key} on a
	Mac (same as {alt}).

	4. An obsolete name used by some people for the
	{Stanford}/{ITS} {extended ASCII} circle-x character.  This
	character is also called "blobby" and "frob", among other
	names; it is sometimes used by mathematicians as a notation
	for "tensor product".

	5. An obsolete name for the semi-mythical {Stanford} {extended
	ASCII} circle-plus character.

	See also {ASCII}.

	[{Jargon File}]

	(1995-01-19)

SPL/I

	Signal Processing Language One.

	(Or "SPL/1") A language designed by {Intermetrics} for
	acoustic {signal processing}.  It has graphics and
	multiprocessing features.

	["SPL/I Language Reference Manual", M.S. Kosinski,
	Intermetrics Report 172-1 (July 1976)].

	(1995-01-19)

SPLINTER

	A {PL/I} {interpreter} with debugging features.

	[Sammet 1969, p.600].

	(1995-01-19)

split

	{chunker}

Split-C

	Parallel extension of {C} for distributed memory
	multiprocessors.  Aims to provide efficient low-level access
	to the underlying machine.

	{CM5 (ftp://ftp.cs.berkeley.edu/ucb/CASTLE/Split-C)}.
	Mail-list: split-c@boing.cs.berkeley.edu.

splot

	<graphics, tool> A graph plotting package from {Stanford
	University} which produces {encapsulated PostScript}.

	splot is more flexible than {gnuplot} in producing histograms,
	and you can set {font} and symbol sizes individually.

	(1997-09-26)

SPLX

	<language> Specification Language for Parallel cross-product
	of processes and sequential modules.

	["Parallel Module Specification on SPLX", C.F. Nourani,
	SIGPLAN Notices 27(1):114-115, Jan 1992].

	(1997-09-26)

SPM

	{Sequential Parlog Machine}

SPMD

	{single processor/multiple data}

SPML

	{server-parsed HTML}

spod

	<chat> (Great Britain) A lower form of life found on {chat}
	systems and {MUDs}.  The spod has few friends in {RL} and uses
	chat instead, finding communication easier and preferable over
	the {net}.  He has all the negative traits of the {computer
	geek} without having any interest in computers per se.
	Lacking any knowledge of, or interest in, how networks work,
	and considering his access a God-given right, he is a major
	irritant to {sysadmins}, clogging up lines in order to reach
	new {MUDs}, following passed-on instructions on how to sneak
	his way onto {Internet} ("Wow!  It's in America!") and
	complaining when he is not allowed to use busy routes.  A true
	spod will start any conversation with "Are you male or
	female?" (and follow it up with "Got any good
	numbers/IDs/passwords?") and will not talk to someone
	physically present in the same terminal room until they log
	onto the same computer that he is using and enter {chat}.

	Compare {newbie}, {tourist}, {weenie}, {twink}, {terminal
	junkie}, {dweeb}.

	[{Jargon File}]

	(1998-01-18)

spoiler

	1. A remark which reveals important plot elements
	from books or movies, thus denying the reader (of the article)
	the proper suspense when reading the book or watching the
	movie.

	2. Any remark which telegraphs the solution of a problem or
	puzzle, thus denying the reader the pleasure of working out
	the correct answer (see also {interesting}).  Either sense
	readily forms compounds like "total spoiler", "quasi-spoiler"
	and even "pseudo-spoiler".

	By convention, {Usenet} news articles which are spoilers in
	either sense should contain the word "spoiler" in the Subject:
	line, or guarantee via various tricks that the answer appears
	only after several screens-full of warning, or conceal the
	sensitive information via {rot13}, or some combination of
	these techniques.

	[{Jargon File}]

	(1995-01-18)

sponge

	<tool> A kind of {Unix} {filter} that reads its entire input
	before writing any output, e.g. {sort}.  Unlike most filters, a
	sponge can safely overwrite the input file with the output data.

	On a file system with {file versioning} (like {ITS} or {VMS}) the
	distinction is less significant because output would be written to
	a new version of the input file anyway.

	See also {slurp}.

	[{Jargon File}]

	(2014-06-21)

spoo

	Variant of {spooge}, sense 1.

	[{Jargon File}]

spoof

	{spoofing}

spoofing

	A technique used to reduce network overhead, especially in
	{wide area networks} (WAN).

	Some network {protocols} send frequent packets for management
	purposes.  These can be {routing} updates or {keep-alive}
	messages.  In a {WAN} this can introduce significant overhead,
	due to the typically smaller {bandwidth} of WAN connections.

	Spoofing reduces the required bandwidth by having devices,
	such as {bridges} or {routers}, answer for the remote devices.
	This fools (spoofs) the {LAN} device into thinking the remote
	LAN is still connected, even though it's not.  The spoofing
	saves the WAN bandwidth, because no packet is ever sent out on
	the WAN.

	LAN {protocols} today do not yet accommodate spoofing easily.

	["Network Spoofing" by Jeffrey Fritz, BYTE, December 1994,
	pages 221 - 224].

	(1995-01-13)

spooge

	/spooj/ Inexplicable or arcane code, or random and probably
	incorrect output from a computer program.

	[{Jargon File}]

	(1995-01-12)

SPOOL

	<operating system> Acronym for {Simultaneous Peripheral
	Operation On-Line}; but see also {spool}.

	[{Jargon File}]

	(1996-05-20)

Spool

	<language> An {object-oriented} {logic programming} language.

	["An Experience with a Prolog Based Language", K. Fukunaga et
	al, SIGPLAN Notices 21(11):224-231 (Nov 1986) (OOPSLA '86)].

	[{Jargon File}]

	(1995-03-25)

spool

	<operating system> To send files to some device or program (a
	"{spooler}" or {demon}) that puts them in a {queue} for later
	processing of some kind.  Without qualification, the spooler
	is the "print spooler" controlling output of jobs to a
	{printer}; but the term has been used in connection with other
	{peripherals} (especially {plotters} and graphics devices) and
	occasionally even for input devices.

	The term "SPOOL" has been attributed to {IBM} as an acronym
	for {Simultaneous Peripheral Operation On-Line} but it's
	widely thought to have been contrived for effect.

	[No connection with "spool of magnetic tape"?]

	[{Jargon File}]

	(1996-05-20)

spooler

	<operating system, tool> Software or hardware to which data is
	{spool}ed and which processes that data (e.g. prints it) in the
	{background}.

	(1995-03-25)

spool file

	Any file to which data is {spool}ed to await the next stage of
	processing.  Especially used in circumstances where spooling
	the data copes with a mismatch between speeds in two devices
	or pieces of software.  For example, when you send mail under
	Unix, it's typically copied to a spool file to await a
	transport {demon}'s attentions.

	[{Jargon File}]

SpoolView

	<tool> A printing system for {Unix}.  SpoolView can control
	several {printers} connected to a {TCP/IP} network.  Different
	printers can be loaded with different paper and forms.

	After submitting a print request, the user can change the
	printer, form, number of copies or priority.

	Administrators can register new printers, change paper forms
	on printers, cancel requests, suspend printers.

	{Light Infocon S.A. (http://light.com.br/)}.

	(1998-12-21)

spray

	<networking> A {Unix} command that sends {packets} to a {host}
	and reports performance statistics.  The number of packets,
	delay between packets and packet length can all be specified.
	The spray command uses the {Remote Procedure Call} (RPC)
	{protocol} to send a one-way stream of packets to the sprayd
	{daemon} on the given host.  With the "-i" option, spray uses
	the {Internet Control Message Protocol} (ICMP) instead of RPC.
	Normally these will be echoed automatically, creating a return
	stream.

	{Unix manual page}: spray(1M).

	(2007-03-12)

spreadsheet

	<application, tool> (Or rarely "worksheet") A type of
	{application program} which manipulates numerical and string
	data in rows and columns of cells.  The value in a cell can be
	calculated from a formula which can involve other cells.  A
	value is recalculated automatically whenever a value on which
	it depends changes.  Different cells may be displayed with
	different formats.

	Some spreadsheet support three-dimensional matrices and cyclic
	references which lead to iterative calculation.

	An essential feature of a spreadsheet is the copy function
	(often using {drag-and-drop}).  A rectangular area may be
	copied to another which is a multiple of its size.  References
	between cells may be either absolute or relative in either
	their horizontal or vertical index.  All copies of an absolute
	reference will refer to the same row, column or cell whereas a
	relative reference refers to a cell with a given offset from
	the current cell.

	Many spreadsheets have a "What-if" feature.  The user gives
	desired end conditions and assigns several input cells to be
	automatically varied.  An area of the spreadsheet is assigned
	to show the result of various combinations of input values.

	Spreadsheets usually incorporate a {macro language}, which
	enables third-party writing of worksheet applications for
	commercial purposes.

	In the 1970s, a {screen editor} based calculation program
	called {Visi-Calc} was introduced.  It was probably the first
	commercial spreadsheet program.  Soon {Lotus Development
	Corporation} released the more sophisticated {Lotus 1-2-3}.
	Clones appeared, (for example {VP-Planner} from {Paperback
	Software} with {CGA} graphics, {Quattro} from {Borland}) but
	Lotus maintained its position with world-wide marketing and
	support - and lawyers!  For example, Borland was forced to
	abandon its Lotus-like {pop-up menu}.

	While still developing 1-2-3, Lotus introduced {Symphony},
	which had simultaneously active windows for the spreadsheet,
	graphs and a {word processor}.

	{Microsoft} produced {MultiPlan} for the {Macintosh}, which
	was followed by {Excel} for Macintosh, long before {Microsoft
	Windows} was developed.

	When {Microsoft Windows} arrived Lotus was still producing the
	{text-based} 1-2-3 and Symphony.  Meanwhile, {Microsoft}
	launched its {Excel} spreadsheet with interactive graphics,
	graphic charcters, mouse support and {cut-and-paste} to and
	from other Windows applications.  To compete with Windows
	spreadsheets, Lotus launched its {Allways} add-on for 1-2-3 -
	a post-processor that produced Windows-quality graphic
	characters on screen and printer.  The release of Lotus 1-2-3
	for Windows was late, slow and buggy.

	Today, Microsoft, Lotus, Borland and many other companies offer
	Windows-based spreadsheet programs.

	The main end-users of spreadsheets are business and science.

	Spreadsheets are an example of a non-algorithmic programming
	language.

	[Dates?]

	(1995-03-28)

spread spectrum communications

	<communications> (Or "spread spectrum") A technique by which a
	signal to be transmitted is modulated onto a {pseudorandom},
	noise-like, wideband {carrier signal}, producing a
	transmission with a much larger {bandwidth} than that of the
	data {modulation}.

	Reception is accomplished by {cross correlation} of the
	received wide band signal with a synchronously generated
	replica of the carrier.

	Spread-spectrum communications offers many important benefits:

	Low probability of detection, interception or determination of
	the transmitter's location.  To an observer who does not
	possess information about the carrier, the transmission is
	indistinguishable from other sources of noise.

	High immunity against interference and jamming (intentional
	interference).  The presence of (narrowband) interference
	signals only decreases the channel's {signal-to noise ratio}
	and therefore its {error rate}, which can be dealt with by
	using {error correcting codes}.  A jammer would have to use
	wideband interference signals, which would require very high
	power (again assuming that the jammer does not know the
	characteristics of the carrier).

	High immunity against adverse effects of multipath
	transmission.  In the presence of multiple paths between
	transmitter and receiver (e.g. by reflected signals), signals
	of certain frequencies can be cancelled at certain locations
	when the difference in path delays between multiple
	propagation paths cause the signals to arrive out of phase.
	This effect is particularly troublesome in narrowband mobile
	communications, where it causes "blind spots" - locations
	where no signal can be received.

	Transmitter/receiver pairs using independent random carriers
	can operate in the same frequency range with minimal
	interference.  These are called {Code Division Multiple
	Access} (CDMA) systems.  Increasing the number of T/R pairs
	again only gradually increases each channel's error rate.  In
	contrast, narrowband systems can only accomodate a fixed
	number of channels determined by available bandwidth and
	channel width (data rate).

	When the data modulation cannot be distinguished from the
	carrier modulation, and the carrier modulation is random to an
	unwanted observer, the spread spectrum system assumes
	cryptographic capabilities, with the carrier modulation taking
	on the function of a key in a {cipher} system.

	The most important practical modes of spread spectrum coding
	are Direct Sequence (DS) and {Frequency-Hopping Spread
	Spectrum} (FH).

	In DS, a pseudo random sequence is phase-shift-keyed (PSK)
	onto the carrier.

	Spread Spectrum development began during World War II, with
	the earliest studies dating from the 1920s.  Most papers
	remained classified until the 1980s.

	Direct sequence spread spectrum was invented by Paul Kotowski
	and Kurt Dannehl at Telefunken.

	The technique is used extensively in military communications
	today.  Commercial applications include {cellular telephony}
	and mobile networking.

	["Spread Spectrum Communications", Charles E. Cook et al
	(Ed.), IEEE Press, New York, 1983. ISBN 0-87942-170-3].

	{Hedy Lamarr (http://sirius.be/lamarr.htm)},
	{(http://ncafe.com/chris/pat2/)}.

	(2001-08-08)

SPRING

	{String PRocessING language}

SPRINT

	List processing language involving stack operations.  "SPRINT
	- A Direct Approach to List Processing Languages", C.A. Kapps,
	Proc SJCC 30 (1967).  Sammet 1969, p 462.

Sprintnet

	A public {packet-switched} network using the {ITU-T} {X.25}
	{protocols}, that provides {dial-up} access to services like
	{Delphi}, {Portal}, {GEnie} and {Compuserve}.

	(1994-10-17)

Sprite

	<operating system> An {operating system} from {Berkeley}
	supporting {multiprocessing} and distributed files.

	[Details?  References?]

	(1994-10-17)

sprite

	<graphics, file format> A small {bitmap} image, often used in
	animated games but also sometimes used as a synonym for
	{icon}.

	(1997-06-29)

sprocket feed

	<printer> (Or "tractor feed", "pin feed") A method some
	{printers} use to move paper by rotating wheels with pins or
	studs (tractors) that engage holes along the sides of the
	(usually fanfold) paper.  A sprocket feed printer does not
	slip unless the paper jams, but cannot feed standard typing
	paper or work with a {sheet feeder} like {friction feed}.

	Some paper for sprocket feed printers has the edge strips with
	the holes in detachable from the rest of the paper.  These
	strips are known as {chad} (and other names).

	(1997-06-29)

SPS

	Symbolic Programming System.  Assembly language for IBM 1620.

SPSS

	{Statistical Package for the Social Sciences}

SPSS, Inc.

	<company> A company selling a variety of {software} under the
	general description of "Statistical Product and Service
	Solutions".

	The company was founded to distribute and support the
	{Statistical Package for the Social Sciences}, but now
	supplies software or four broad markets: {data mining},
	survey/market research, quality improvement, and scientific
	research.

	{(http://spss.com/)}.

	(1999-07-20)

SPUR

	An early system on the {IBM 650}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-12-01)

SPX

	1. <networking> {Sequenced Packet Exchange}.

	2. <application> A graphics program for the {Atari} microcomputer.

	{(ftp://src.doc.ic.ac.uk/computing/systems/atari/umich/Graphics/spx_v18.lzh)}.

	3. {Simplex}.

	(1997-03-04)

spx

	<filename extension> The {filename extension} for {Screen
	Peace} eXtension files.

	(1995-03-14)

spyware

	<software> (Or "adware") Any type of software that transmits
	information without the user's knowledge.

	Information is sent via the {Internet} to a server somewhere,
	normally as a hidden side effect of using a program.
	Gathering this information may benefit the user indirectly,
	e.g. by helping to improve the software he is using.  It may
	be collected for advertising purposes or, worst of all, to
	steal security information such as passwords to online
	accounts or credit card details.

	Spyware may be installed along with other software or as the
	result of a {virus} infection.  There are many tools available
	to locate and remove various forms of spyware from a computer.

	Some {HTTP cookies} could be considered as spyware as their
	use is generally not made explicit to users.  It is however
	possible to disallow them, either totally or individually, and
	some are actually useful, e.g. recording the fact that a user
	has logged in.

	{(http://spychecker.com/spyware.html)}.

	(2004-05-23)

\sqcap

	{LaTeX} inverted square U.  The symbol for {greatest lower
	bound}.

	(1994-12-01)

\sqcup

	{LaTeX} square U.  The symbol for {least upper bound}.

	(1994-12-01)

SQE

	{Signal Quality Error}

	{IEEE 802.3}, {Ethernet}.  Equivalent to {D/I/X} "{Collision
	Presence Test}".

	(1995-04-14)

SQL

	<language, database, standard> /S Q L/ An industry-standard
	language for creating, updating and, querying {relational
	database management systems}.

	SQL was developed by {IBM} in the 1970s for use in {System R}.
	It is the {de facto standard} as well as being an {ISO} and
	{ANSI} {standard}.  It is often embedded in general purpose
	programming languages.

	The first SQL standard, in 1986, provided basic language
	constructs for defining and manipulating {tables} of data; a
	revision in 1989 added language extensions for {referential
	integrity} and generalised {integrity} {constraints}.  Another
	revision in 1992 provided facilities for {schema} manipulation
	and {data administration}, as well as substantial enhancements
	for data definition and data manipulation.

	Development is currently underway to enhance SQL into a
	computationally complete language for the definition and
	management of {persistent}, complex objects.  This includes:
	generalisation and specialisation hierarchies, {multiple
	inheritance}, user defined {data types}, {triggers} and
	{assertions}, support for {knowledge based systems},
	{recursive query expressions}, and additional data
	administration tools.  It also includes the specification of
	{abstract data types} (ADTs), object identifiers, {methods},
	{inheritance}, {polymorphism}, {encapsulation}, and all of the
	other facilities normally associated with object data
	management.

	The emerging {SQL3} standard is expected to be complete in
	1998.

	According to Allen G. Taylor, SQL does __not__ stand for
	"Structured Query Language".  That, like "SEQUEL" (and its
	pronunciation /see'kw*l/), was just another unofficial name
	for a precursor of SQL.  However, the IBM SQL Reference manual
	for DB2 and Craig Mullins's "DB2 Developer's Guide" say SQL
	__does__ stand for "Structured Query Language".

	{SQL Standards (http://jcc.com/sql_stnd.html)}.

	{An SQL parser
	(ftp://ftp.ora.com/published/oreilly/nutshell/lexyacc/)} is
	described in "Lex & Yacc", by Levine, Mason & Brown published
	by O'Reilly.

	{The 1995 SQL Reunion: People, Projects, and Politics
	(http://mcjones.org/System_R/SQL_Reunion_95/)}.

	["A Guide to the SQL Standard", C.J. Date, A-W 1987].

	["SQL for Dummies", Allen G. Taylor, IDG Books Worldwide].

	(2005-11-17)

SQL2

	<database, standard, language> An extended version of the
	{SQL} {standard}.

	(1995-03-20)

SQL3

	<database, standard, language> A draft {standard} for another
	extension of {SQL}.  The latest SQL3 Working Draft addresses
	the requirement for {objects} and "object identifiers" in SQL
	and also specifies supporting features such as
	{encapsulation}, {subtypes}, {inheritance}, and
	{polymorphism}.

	In the USA, SQL3 is being processed as both an {ANSI} Domestic
	("D") project and as an {ISO} project.  It is expected to be
	complete in 1998.

	{November 1992 paper
	(ftp://speckle.ncsl.nist.gov/isowg3/dbl/BASEdocs/sql3overview.txt)}.

	{Working draft (ftp://gatekeeper.dec.com/pub/standards/sql/)}.

	[ISO/IEC SQL Revision.  ISO-ANSI Working Draft Database
	Language SQL (SQL3), Jim Melton - Editor, document ISO/IEC
	JTC1/SC21 N6931, {ANSI}, July 1992].

	[Current Status?]

	(2002-04-21)

SQL Access Group

	<body> The origanisaton which defined {Call-Level Interface},
	on which {ODBC} is based.  It is now part of {X/Open}.

	[Address, details?]

	(1995-11-05)

SQL/DS

	A database package from IBM including a relational DBMS.

SQL Module Language

	A language used to interface other languages ({Ada}, {C},
	{COBOL}) to {SQL}-based {DBMS}es.  It is an {ANSI} {standard}.

	Version: Ada/{SAME} by {Informix}.

	(1994-11-23)

SQL Server

	<database> (Note capitalised)

	1. Sybase {Adaptive Server Enterprise}.

	2. {Microsoft SQL Server}.

	(2003-07-02)

SQL server

	<database> (Note not capitalised) Any {database management
	system} (DBMS) that can respond to queries from {clients}
	formatted in the {SQL} language.

	Two popular examples are {Microsoft SQL Server} and {Sybase
	SQL Server}.

	(1997-12-07)

SQLWindows

	<programming, product> A package used to graphically develop
	{MS-Windows} {client-server} applications.  Sold by {Gupta}
	Corporation.

	{(http://wji.com/gupta/w1000030.html)}.
	{Demos FTP (ftp://wji.com/gupta/sqlw.demodisk/)}.

	(1995-07-05)

SQR

	<database, language> A {fourth generation language} for the
	creation of reports from {databases}.  SQR is interpreted to
	dynamically generate {SQL} queries and format the results.

	Originally a {Sybase} product, it was then sold to MITI, who
	subsequently changed their name to {SQRIBE}.

	SQR Server supports {native} database access for all major
	{DBMSs} and the use of {platform} independent {Java} code.

	(1998-09-19)

SQRIBE

	<company> The company formerly known as MITI which bought
	{SQR} from {Sybase}.

	{(http://sqribe.com/)}.

	(1998-09-24)

\sqsubseteq

	{LaTeX} name for a symbol like a capital E without the bottom
	half of its vertical line.

	In {domain theory},

		x \sqsubseteq y

	means x is no more defined that y.  This expression only has
	meaning if x and y are {comparable} elements of some
	{partially ordered set}.

	(1994-11-24)

Square

	<language> A {query language}, a precursor to {SQL}.

	["Specifying Queries as Relational Expressions: The SQUARE
	Data Sublanguage", R.E. Boyce et al, CACM 18(11):621-628 (Nov
	1975)].

	(1995-05-02)

square-headed boyfriend

	{square-headed girlfriend}

square-headed girlfriend

	<humour> A computer.

	(1999-01-15)

square tape

	<storage> {Mainframe} magnetic tape cartridges for use with
	{IBM 3480} or compatible tape drives; or {QIC} tapes used on
	{workstations} and {microcomputers}.  The term comes from the
	square (actually rectangular) shape of the cartridges;
	contrast {round tape}.

	[{Jargon File}]

Squeak

	<language> 1. <graphics>

	["Squeak: A Language for Communicating with Mice", L. Cardelli
	et al, Comp Graphics 19(3):199-204, July 1985].

	See {Newsqueak}.

	2. A {Smalltalk} implementation and a media {authoring} tool
	by members of the original {Xerox PARC} team which created
	Smalltalk ({Alan Kay}, Dan Ingalls, et al).  Squeak is an
	{open-source} implementation, with a highly portable {virtual
	machine} implemented in a subset of Smalltalk (translated into
	{C} and compiled by a C {compiler} of the target {platform}).

	{Squeak Home (http://squeak.org/)}.

	{SqueakCentral (http://squeakland.org/)}.

	(2002-11-03)

Squiggol

	{Bird-Meertens Formalism}

squirt the bird

	<jargon, communications> To transmit a signal up to a
	satellite.  "Crew and talent are ready, what time do we squirt
	the bird?"

	(1997-04-29)

SR

	<language> Synchronizing Resources.

	A language for concurrent programming.

	"Resources" encapsulate processes and variables they share.
	Each Resource can be separately compiled.  "Operations"
	provide the primary mechanism for process interaction.

	SR provides a novel integration of the mechanisms for invoking
	and servicing operations.  Consequently, it supports local and
	{remote procedure call}, {rendezvous}, {message passing},
	{dynamic process creation}, {multicast}, {semaphores} and
	{shared memory}.

	Version 2.2 has been ported to {Sun-3}, {Sun-4}, {Decstation},
	{SGI Iris}, {HP PA}, {HP 9000/300}, {NeXT}, {Sequent
	Symmetry}, {DG AViiON}, {RS/6000}, {Multimax}, {Apollo} and
	others.

	{(ftp://cs.arizona.edu/sr/sr.tar.Z)}.

	E-mail: <sr-project@cs.arizona.edu>.  Mailing list:
	info-sr-request@cs.arizona.edu.

	["An Overview of the SR Language and Implementation", G.
	Andrews, ACM TOPLAS 10:51-86 (Jan 1988)].

	["The SR Programming Language: Concurrency in Practice",
	G.R. Andrews et al, Benjamin/Cummings 1993, ISBN
	0-8053-0088-0].

	(1992-09-01)

sr

	<networking> The {country code} for Suriname.

	(1999-01-27)

SRAM

	{static random-access memory}

SRAPI

	{Speech Recognition Application Program Interface}

SRC Modula-3

	Version 2.11

	compiler(->C), run-time, library, documentation

	The goal of Modula-3 is to be as simple and safe as it
		can be while meeting the needs of modern systems
		programmers.  Instead of exploring new features, we
		studied the features of the Modula family of languages
		that have proven themselves in practice and tried to
		simplify them into a harmonious language.  We found
		that most of the successful features were aimed at one
		of two main goals: greater robustness, and a simpler,
		more systematic type system.  Modula-3 retains one of
		Modula-2's most successful features, the provision for
		explicit interfaces between modules.  It adds objects
		and classes, exception handling, garbage collection,
		lightweight processes (or threads), and the isolation
		of unsafe features.

	conformance:	implements the language defined in SPwM3.

	ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix
	68020/HP-UX RS/6000/AIX IBMRT/4.3 68000/NEXTSTEP i860/SVR4
	SPARC/SunOS 68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix

	Mailing list:	comp.lang.modula3

	E-mail: Bill Kalsow <kalsow@src.dec.com>

	From DEC/SRC, Palo Alto, CA.  "Modula-3 Report (revised)"
	Luca Cardelli et al.

	{(ftp://gatekeeper.dec.com/DEC/Modula-3/)}.

	(1992-02-09)

SRDL

	Small {algebraic specification language}, allows {distfix
	operators}.

	["A Constructive Method for Abstract Algebraic Software
	Specification", H.  Klaeren, Theor Computer Sci 30,
	pp.134-204, 1984].

SR flip-flop

	<hardware> (Or "RS flip-flop") A "set/reset" {flip-flop} in
	which activating the "S" input will switch it to one stable
	state and activating the "R" input will switch it to the other
	state.

	The outputs of a basic SR flip-flop change whenever its R or S
	inputs change appropriately.  A clocked SR flip-flop has an
	extra clock input which enables or disables the other two
	inputs.  When they are disabled the outputs remain constant.

	If we connect two clocked SR flip-flops so that the Q and /Q
	outputs of the first, "master" flip-flop drive the S and R
	inputs of the second, "slave" flip-flop, and we drive the
	slave's clock input with an inverted version of the master's
	clock, then we have an {edge-triggered} RS flip-flop.  The
	external R and S inputs of this device are latched on one edge
	(transition) of the clock (e.g. the falling edge) and the
	outputs will only change on the next opposite (rising) edge.

	If both R and S inputs are active (when enabled), a {race
	condition} occurs and the outputs will be in an indeterminate
	state.  A {JK flip-flop} avoids this possibility.

	{(http://play-hookey.com/digital/logic4.html)}.

	(1997-05-15)

SRI

	{SRI International}

SRI International

	<company> One of the world's largest contract research firms.
	Founded in 1946 in conjuction with {Stanford University} as
	the Stanford Research Institute, they later became fully
	independent and were incorporated as a non-profit organisation
	under U.S. and California laws.

	SRI does research and development in many areas, independently
	and for hire.  They produce and sell reports on the
	independent research.

	{(http://sri.com/)}.

	Address: Menlo Park, California, USA; Cambridge, UK.

	(2003-04-12)

SRL

	1. Bharat Jayaraman.

	["Towards a Broader Basis for Logic Programming",
	B. Jayaraman, TR CS Dept, SUNY Buffalo, 1990].

	2. {Schema Representation language}.

	3. {Structured Robot Language}.

	C. Blume & W. Jacob, U Karlsruhe.

	(1995-01-26)

SRP

	A {data link layer} {protocol}.

SS7

	{Signalling System 7}

SSA

	{Single Static Assignment}
	{Serial Storage Architecture}

SSADM

	A software engineering method and toolset required by some UK
	government agencies.

SSBA

	{Suite Synthetique des Benchmarks de l'AFUU}

SSD

	1. {Solid State Disk}

	2. {Seven-Segment Display}

SSE

	{Streaming SIMD Extensions}

SSE-2

	<architecture> {Intel Corporation}'s extention of their {SSE}
	{floating point} {SIMD} instructions to handle 64-bit floating
	point numbers.  SSE-2 was introduced with the {Pentium 4}.

	(2001-12-23)

ssh

	<operating system> 1. {Steve's Shell}.

	2. {Secure Shell}.

	(1997-01-07)

SSH File Transfer Protocol

	<networking> (SFTP) A version of {File Transfer Protocol}
	(FTP) using an {encrypted} network connection provided by
	{Secure Shell} (SSH), usually SSH 2.

	The SFTP {protocol} allows for a range of operations on remote
	files, making it more like a {remote file system} protocol.
	SFTP clients can resume interrupted transfers, get directory
	listings and remove remote files.  SFTP has largely replaced
	{Secure Copy} (SCP).

	{IETF spec
	(http://ietf.org/internet-drafts/draft-ietf-secsh-filexfer-13.txt)}.

	(2006-09-28)

SSI

	1. <electronics> {small scale integration}.

	2. <computer> A kind of {PDP-11}(?).

	[What kind?]

	3. <web> {server-side include}.

	(1996-09-08)

SSID

	{Service Set Identifier}

SSII

	{Societe de Service en Ingenierie Informatique}

SSL

	1. <language> {Synthesizer Specification Language}.

	2. <language> {Syntax/Semantic Language} (S/SL).

	3. <networking, web> {Secure Sockets Layer}.

	(1996-09-08)

S/SL

	{Syntax/Semantic Language}

SSLeay

	<networking, security, protocol> A free implementation of
	{Netscape}'s {Secure Socket Layer} {protocol}, coded from
	scratch, using only the publically available documentation of
	the various protocols, by Eric Young in Australia.

	SSLeay supports the {DES}, {RSA}, {RC4}, and {IDEA}
	{encryption} {algorithms}.

	[Home?]

	(2000-12-07)

SSMA

	<chat> some such meaningless acronym.

	(1998-10-30)

SSO

	{single sign-on}

SSR

	{Scalable Sampling Rate}

st

	<networking> The {country code} for Sao Tome and Principe.

	(1999-01-27)

ST-506

	<storage> The first full-height 5.25 inch {hard disk drive}
	for {personal computers}, introduced in 1980 by Shugart
	Technology (now {Seagate Technology}).  The ST-506 stored up
	to 5 {megabtyes} after {formatting} using {MFM encoding}.  It
	transferred data at 625 {kilobytes per second}.

	The ST-506 (like the {ST-412}) was interfaced to a computer
	via a {disk controller}.  The interface was a faster version
	of the Shugart Associates {SA1000} interface, which was in
	turn based upon the {floppy disk drive} interface.  Two cables
	connected the controller to the disk.  The 34-pin control
	cable controlled mechanical motion and data was read or
	written serially using two pins of the 20-pin data cable.

	Other companies copied the interface, creating a universal {de
	facto standard} that was further strengthened by its revision
	to support Seagate's 10 MB ST-412 drive that was adopted for
	the {IBM PC XT}.

	Around 1990, {SCSI} and {ATA} superseded ST-506.  These
	eliminated the problems of matching controllers to drives by
	physically integrating a controller with the drive, allowing
	{interleave ratios} and other disk parameters to be optimised
	by the manufacturer rather than the system integrator.

	{Connector pin-out (http://www.gamesx.com/hwb/co_ST506.html)}.

	(2007-03-06)

STAB

	<language> A descendent of {BCPL}.

	(1996-08-25)

STAB-11

	["The Translation and Interpretation of STAB-11", A.J.T. Colin
	et al, Soft Prac & Exp 5(2):123-138, Apr 1975].

	(1996-08-25)

STAC

	1. <language> {Storage Allocation and Coding Program}.

	2. <company> The company responsible for {Stacker} and {stac
	compression}.

	{(http://stac.com/)}.

	(1998-06-08)

stac compression

	<communications> A {data compression} technique from {STAC},
	used with {modems}.  Stac compression is capable of
	compressing data by a factor of about four.

	[Details?]

	(1998-06-08)

stack

	<programming> (See below for synonyms) A data structure for
	storing items which are to be accessed in last-in first-out
	order.

	The operations on a stack are to create a new stack, to "push"
	a new item onto the top of a stack and to "pop" the top item
	off.  Error conditions are raised by attempts to pop an empty
	stack or to push an item onto a stack which has no room for
	further items (because of its implementation).

	Most processors include support for stacks in their
	{instruction set architectures}.  Perhaps the most common use
	of stacks is to store {subroutine} arguments and return
	addresses.  This is usually supported at the {machine code}
	level either directly by "jump to subroutine" and "return from
	subroutine" instructions or by {auto-increment} and
	auto-decrement {addressing modes}, or both.  These allow a
	contiguous area of memory to be set aside for use as a stack
	and use either a special-purpose {register} or a general
	purpose register, chosen by the user, as a {stack pointer}.

	The use of a stack allows subroutines to be {recursive} since
	each call can have its own calling context, represented by a
	stack frame or {activation record}.  There are many other
	uses.  The programming language {Forth} uses a data stack in
	place of variables when possible.

	Although a stack may be considered an {object} by users,
	implementations of the object and its access details differ.
	For example, a stack may be either ascending (top of stack is
	at highest address) or descending.  It may also be "full" (the
	stack pointer points at the top of stack) or "empty" (the
	stack pointer points just past the top of stack, where the
	next element would be pushed).  The full/empty terminology is
	used in the {Acorn Risc Machine} and possibly elsewhere.

	In a list-based or {functional language}, a stack might be
	implemented as a {linked list} where a new stack is an empty
	list, push adds a new element to the head of the list and pop
	splits the list into its head (the popped element) and tail
	(the stack in its modified form).

	At {MIT}, {pdl} used to be a more common synonym for stack,
	and this may still be true.  {Knuth} ("The Art of Computer
	Programming", second edition, vol. 1, p. 236) says:

	  Many people who realised the importance of stacks and queues
	  independently have given other names to these structures:
	  stacks have been called push-down lists, reversion storages,
	  cellars, dumps, nesting stores, piles, last-in first-out
	  ("LIFO") lists, and even yo-yo lists!

	[{Jargon File}]

	(1995-04-10)

Stack Environment Control Dump machine

	(SECD machine) The first {abstract machine} for reducing
	{lambda-calculus} expressions, invented by P. J. Landin.  The
	machine has four {registers} holding pointers to {linked
	lists} operated as push-down {stacks} which hold the
	information required for the evaluation of an expression.  The
	registers point to (1) Stack which holds the arguments of
	partially evaluated expressions and results of completely
	evaluated ones, (2) Environment where the current expression
	being evaluated is stored, (3) Control which holds the machine
	instructions that manipulate the contents of the four
	registers that represent the expression being evaluated, (4)
	Dump on which the state of the machine is temporarily saved
	during the evaluation of expressions.  See also {Lispkit}.

stack frame

	{activation record}

stacking order

	<graphics> The relationship between {windows} that (partially)
	obscure each other.  A {window manager} will include commands
	to alter the stacking order by bringing a chosen window to the
	front (top) or back (bottom) of the stack.

	(1995-03-21)

stack loader

	<hardware, storage> (Or "autoloader") A {magnetic tape} drive
	that can automatically fetch tapes from a stack and load them.

	Compare {jukebox}.

	[Sequential or random access?]

	(1996-12-12)

stack overflow

	<programming> An error condition which results from attempting
	to {push} more items onto a {stack} than space has been
	allocated for.  Often, this will simply overwrite the adjacent
	memory locations causing hard-to-trace {bugs}.

	Stack overflow can result, for example, from an insufficient
	number of stack frames to handle hardware {interrupts}.

	(1995-03-21)

stack pointer

	<architecture, programming> (SP) A {register} or {variable}
	pointing to the top of a {stack}.

	(2004-11-08)

stack puke

	Some processor architectures are said to "puke their guts onto
	the stack" to save their internal state during {exception}
	processing.  The {Motorola 68020}, for example, regurgitates
	up to 92 bytes on a {bus fault}.  On a {pipeline}d machine,
	this can take a while.

	[{Jargon File}]

	(1994-11-01)

stack traceback

	<programming> (The results of) determining the sequence of
	nested procedure calls a program has made up to a certain
	point in its execution.  A traceback may also show values of
	procedure arguments and {local variables} stored on the stack.

	(1995-03-21)

STAGE2

	A {macro} language.

	["The Mobile Programming System: STAGE2", W.M.  Waite, CACM
	13:415 (1970)].

	(1994-10-27)

Staggered Pin Grid Array

	<hardware> (SPGA) A style of {integrated circuit} socket or
	pin-out with a staggered grid of pins around the edge of the
	socket, positioned as several squares, one inside the other.

	SPGA is commonly used on {motherboards} for {processors},
	e.g. {Socket 5}, {Socket 7} and {Socket 8}.

	See also {PGA}.

	[Better description?]

	(1999-08-04)

staircase

	{jaggies}

staircasing

	{jaggies}

@stake

	<security, software> A computer security development group and
	consultancy dedicated to researching and documenting security
	flaws that exist in {operating systems}, {network}
	{protocols}, or software.

	@stake publishes information about security flaws through
	advisories, research reports, and tools.  They release the
	information and tools to help system administrators, users,
	and software and hardware vendors better secure their
	systems.

	L0pht merged with @stake in January 2000.

	{@stake home (http://atstake.com/research/redirect.html)}.

	(2003-06-12)

stale pointer bug

	<programming> (Or "aliasing bug") A class of subtle
	programming errors that can arise in code that does {dynamic
	allocation}, especially via {malloc} or equivalent.

	If several {pointers} address (are "aliases for") a given hunk
	of storage, it may happen that the storage is freed or
	reallocated (and thus moved) through one alias and then
	referenced through another, which may lead to subtle (and
	possibly intermittent) lossage depending on the state and the
	allocation history of the malloc {arena}.  This bug can be
	avoided by never creating aliases for allocated memory, or by
	use of a {higher-level language}, such as {Lisp}, which
	employs a {garbage collector}.

	The term "aliasing bug" is nowadays associated with {C}
	programming, it was already in use in a very similar sense in
	the {ALGOL 60} and {Fortran} communities in the 1960s.

	See also {smash the stack}, {fandango on core}, {memory leak},
	{memory smash}, {spam}.

	[{Jargon File}]

	(1995-05-09)

Stallman, Richard M.

	{Richard Stallman}

stand-alone

	<jargon> Capable of operating without other programs,
	libraries, computers, hardware, networks, etc.  Exactly what
	is absent is presumed to be obvious from context.

	"We only run Windows on stand-alone PCs because it's too
	dangerous to run it on networked ones."

	(1998-02-11)

standard

	<standard> Standards are necessary for {interworking},
	{portability}, and {reusability}.  They may be {de facto
	standards} for various communities, or officially recognised
	national or international standards.

	{Andrew Tanenbaum}, in his Computer Networks book, once said,
	"The nice thing about standards is that there are so many of
	them to choose from", a reference to the fact that competing
	standards become a source of confusion, division,
	obsolescence, and duplication of effort instead of an
	enhancement to the usefulness of products.

	Some bodies concerned in one way or another with computing
	standards are {IAB} ({RFC} and {STD}), {ISO}, {ANSI}, {DoD},
	{ECMA}, {IEEE}, {IETF}, {OSF}, {W3C}.

	(1999-07-06)

Standard Commands for Programmable Instruments

	<standard> (SCPI) A standard complementing {IEEE 488},
	developed by {Hewlett-Packard} and promoted by the {SCPI
	Consortium}.

	(1994-11-01)

Standard d'Echange et de Transfert

	<standard> (SET) A French {standard} for exchange of {CAD}
	data.

	(1998-03-07)

standard deviation

	<statistics> (SD) A measure of the range of values in a set of
	numbers.  Standard deviation is a statistic used as a measure
	of the dispersion or variation in a distribution, equal to the
	square root of the {arithmetic mean} of the squares of the
	deviations from the arithmetic mean.

	The standard deviation of a random variable or list of numbers
	(the lowercase greek sigma) is the square of the {variance}.
	The standard deviation of the list x1, x2, x3...xn is given by
	the formula:

	 sigma = sqrt(((x1-(avg(x)))^2 + (x1-(avg(x)))^2 +
	              ...  + (xn(avg(x)))^2)/n)

	The formula is used when all of the values in the population
	are known.  If the values x1...xn are a random sample chosen
	from the population, then the sample Standard Deviation is
	calculated with same formula, except that (n-1) is used as the
	{denominator}.

	[{dictionary.com (http://dictionary.com/)}].

	["Barrons Dictionary of Mathematical Terms, second edition"].

	(2003-05-06)

standard for robot exclusion

	<web> A proposal to try to prevent the havoc
	wreaked by many of the early {web} {robots} when
	they retrieved documents too rapidly or retrieved documents
	that had side effects (such as voting).  The proposed standard
	for robot exclusion offers a solution to these problems in the
	form of a file called "robots.txt" placed in the {document
	root} of the {website}.

	{W3C standard
	(http://w3.org/TR/html4/appendix/notes.html#h-B.4.1.1)}.

	(2006-10-17)

Standard for the exchange of product model data

	(STEP) A draft {ISO} {standard} for the exchange of {CAD}
	data.

	See also {PDES}.

	(1995-02-22)

Standard Generalised Markup Language

	<spelling> {ISO} spell it "{Standard Generalized Markup
	Language}".

	(1996-12-13)

Standard Generalized Markup Language

	<language, text> (SGML) A generic {markup} language for
	representing documents.  SGML is an International Standard
	that describes the relationship between a document's content
	and its structure.  SGML allows document-based information to
	be shared and re-used across applications and computer
	{platforms} in an open, vendor-neutral format.  SGML is
	sometimes compared to {SQL}, in that it enables companies to
	structure information in documents in an open fashion, so that
	it can be accessed or re-used by any SGML-aware application
	across multiple platforms.

	SGML is defined in "ISO 8879:1986 Information processing --
	Text and office systems -- Standard Generalized Markup
	Language (SGML)", an {ISO} standard produced by {JTC} 1/SC 18
	and amended by "Amendment 1:1988".

	Unlike other common document file formats that represent both
	content and presentation, SGML represents a document's content
	{data} and structure (interrelationships among the data).
	Removing the presentation from content establishes a neutral
	format.  SGML documents and the information in them can easily
	be re-used by publishing and non-publishing {applications}.

	SGML identifies document elements such as titles, paragraphs,
	tables, and chapters as distinct objects, allowing users to
	define the relationships between the objects for structuring
	data in documents.  The relationships between document
	elements are defined in a {Document Type Definition} (DTD).
	This is roughly analogous to a collection of {field}
	definitions in a {database}.  Once a document is converted
	into SGML and the information has been 'tagged', it becomes a
	database-like document.  It can be searched, printed or even
	programmatically manipulated by SGML-aware applications.

	Companies are moving their documents into SGML for several
	reasons:

	Reuse - separation of content from presentation facilitates
	multiple delivery formats like {CD-ROM} and {electronic
	publishing}.

	Portability - SGML is an international, platform-independent,
	standard based on {ASCII} text, so companies can safely store
	their documents in SGML without being tied to any one vendor.

	Interchange - SGML is a core data standard that enables
	SGML-aware applications to inter-operate and share data
	seamlessly.

	A central SGML document store can feed multiple processes in a
	company, so managing and updating information is greatly
	simplified.  For example, when an aeroplane is delivered to a
	customer, it comes with thousands of pages of documentation.
	Distributing these on paper is expensive, so companies are
	investigating publishing on CD-ROM.  If a maintenance person
	needs a guide for adjusting a plane's flight surfaces, a
	viewing tool automatically assembles the relevant information
	from the document {repository} as a complete document.  SGML
	can be used to define attributes to information stored in
	documents such as security levels.

	There are few clear leaders in the SGML industry which, in
	1993, was estimated to be worth US $520 million and is
	projected to grow to over US $1.46 billion by 1998.

	A wide variety tools can be used to create SGML systems.  The
	SGML industry can be separated into the following categories:

	Mainstream Authoring consists of the key {word processing}
	vendors like {Lotus}, {WordPerfect} and {Microsoft}.

	SGML Editing and Publishing includes traditional SGML
	authoring tools like {ArborText}, {Interleaf}, {FrameBuilder}
	and {SoftQuad Author}/Editor.

	SGML Conversions is one of the largest sectors in the market
	today because many companies are converting legacy data from
	mainframes, or documents created with mainstream word
	processors, into SGML.

	Electronic Delivery is widely regarded as the most compelling
	reason companies are moving to SGML.  Electronic delivery
	enables users to retrieve information on-line using an
	intelligent document viewer.

	Document Management may one day drive a major part of the
	overall SGML industry.

	SGML Document Repositories is one of the cornerstone
	technologies that will affect the progress of SGML as a data
	standard.

	Since 1998, almost all development in SGML has been focussed
	on {XML} - a simple (and therefore easier to understand and
	implement) subset of SGML.

	{"ISO 8879:1986//ENTITIES Added Latin 1//EN"
	(http://ucc.ie/info/net/isolat1.html)} defines some
	characters.  [How are these related to {ISO 8859}-1?].

	{ISO catalogue entry (http://iso.ch/cate/d16387.html)}.

	SGML parsers are available from
	{VU, NL (ftp://star.cs.vu.nl/Sgml)},
	{FSU (ftp://mailer.cc.fsu.edu/pub/sgml)},
	{UIO, Norway (ftp://ifi.uio.no/pub/SGML/SGMLS)}.

	See also {sgmls}.

	{Usenet} newsgroup: {news:comp.text.sgml}.

	["The SGML Handbook", Charles F. Goldfarb, Clarendon Press,
	1991, ISBN 0198537379.  (Full text of the ISO standard plus
	extensive commentary and cross-referencing.  Somewhat cheaper
	than the ISO document)].

	["SGML - The User's Guide to ISO 8879", J.M. Smith et al,
	Ellis Harwood, 1988].

	[Example of some SGML?]

	(2000-05-31)

standard input/output

	<programming, operating system> The predefined input/output
	channels which every {Unix} process is initialised with.
	Standard input is by default from the terminal, and standard
	output and standard error are to the terminal.  Each of these
	channels (controlled via a {file descriptor} 0, 1, or 2 -
	stdin, stdout, stderr) can be redirected to a file, another
	device or a {pipe} connecting its process to another process.
	The process is normally unaware of such {I/O redirection},
	thus simplifying prototyping of combinations of commands.

	The {C} programming language library includes routines to
	perform basic operations on standard I/O.  Examples are
	"printf", allowing text to be sent to standard output, and
	"scanf", allowing the program to read from standard input.

	(1996-06-07)

Standard Instrument Control Library

	(SICL) A {platform}-independent {API} for software to control
	and test electronic instruments conforming to {IEEE 488}.

	(1995-01-05)

standard interpretation

	{standard semantics}

standard I/O

	{standard input/output}

Standard Lisp

	A subset of {Lisp 1.5} developed by A. Hearn primarily for
	implementing {REDUCE}.  It was replaced by {Portable Sandard
	LISP}.

	["Standard LISP Report", J. Marti et al, SIGPLAN Notices
	14(10):48-58 (Oct 1979)].

	(1994-11-04)

Standard ML

	<language> (SML) Originally an attempt by Robin Milner
	<rm@lfcs.edinburgh.ac.uk> ca. 1984 to unify the dialects of
	{ML}, SML has evolved into a robust general-purpose language.
	Later versions have been maintained by D. B. MacQueen, Lal
	George <george@research.att.com>, and J. H. Reppy
	<jhr@research.att.com> at AT&T, and A. W. Appel
	<appel@princeton.edu>.

	SML is {functional}, with {imperative programming} features.
	It is environment based and {strict}.  It adds to ML the
	{call-by-pattern} of {Hope}, {recursive data types},
	{reference types}, typed {exceptions}, and {modules}.  (The
	"core" language excludes the modules).

	Standard ML is {polymorphic}ally typed and its module system
	supports flexible yet secure large-scale programming.
	{Standard ML of New Jersey} is an optimising {native-code
	compiler} for Standard ML that is written in Standard ML.  It
	runs on a wide range of architectures. The distribution also
	contains: an extensive library - The Standard ML of New Jersey
	Library, including detailed documentation; {Concurrent ML}
	(CML); {eXene} - an elegant interface to {X11} (based on
	{CML}); {SourceGroup} - a {separate compilation} and "{make}"
	facility.

	Implementations: {SML/NJ}, {POPLOG ML}, {Poly/ML}, {Edinburgh
	SML}, {ANU ML}, {Micro ML}, {lazy sml2c}.

	{sml2c} compiles to {C}.  See also {ML Kit}.

	Version 0.93 runs on {68000}, {SPARC}, {MIPS}, {HPPA},
	{RS/6000}, {Intel 386}, {Intel 486} and {Macintosh}.

	{Manual
	(http://dcs.napier.ac.uk/course-notes/sml/manual.html)}.

	{FTP from ATT (ftp://research.att.com/dist/ml/)}.
	{FTP from Suny SB (ftp://sbcs.sunysb.edu/)}.

	Mailing list: sml-request@cs.cmu.edu.

	["A Proposal for Standard ML", R. Milner, ACM Symp on LISP and
	Functional Prog 1984, pp. 184-197].

	(1995-12-24)

Standard ML of New Jersey

	(SML/NJ) An implementation of {SML} by {Andrew Appel} at
	{Princeton} <Appel@princeton.edu> and {Dave MacQueen} at
	{AT&T}.  Version 0.93.

	["Standard ML of New Jersey", A. Appel et al, "Proc Third Intl
	Symp on Prog Lang Impl and Logic Programming", LNCS Springer
	1991].

	Versions for Unix, Mac.  {(ftp://cs.yale.edu/pub/ml)},
	{(ftp://research.att.com/dist/ml)}.  Mailing list:
	sml@cs.cmu.edu.

Standard Operating Environment

	<standard> (SOE) A specification of the {architecture},
	{operating systems}, {application set} and configuration of
	computers within an organisation.

	(2007-06-11)

standard semantics

	The standard interpretation of a term in some language yields
	the term's standard denotational semantics, i.e. its "meaning".
	This is usually given by a semantic function which maps a term
	in the abstract syntax to a point in some domain.  The domain
	is the interpretation of the term's type.  The semantic
	function also takes an environment - a function which maps the
	free variables of the term to their meaning.  We say that a
	domain point "denotes", or "is the denotation of", a term.  A
	non-standard semantics results from some other interpretation,
	e.g. an abstract interpretation.

Standard Widget Toolkit

	<graphics, programming, standard> (SWT) The {Eclipse Foundation}'s
	{framework} for developing {graphical user interfaces} in {Java}.
	SWT is written in explicitly standard Java but uses the {Java
	Native Interface} to talk to a {platform}-native GUI library.  SWT
	is the third major attempt to give Java a decent GUI framework,
	following {AWT} and {Swing}.  Of the three, SWT is the most
	consistent with the native GUIs but its programming model is hard
	to port to non-{Windows} platforms.

	{Wikipedia (http://en.wikipedia.org/wiki/SWT)}.

	(2004-12-21)

St Andrews Static Language

	<language> (SASL) A {functional programming} language designed
	by Professor {David Turner} in 1976 whilst at St. Andrews
	University.  SASL is a derivative of {ISWIM} with {infinite
	data structures}.  It is fully {lazy} but {weakly typed}.  It
	was designed for teaching functional programming, with very
	simple {syntax}.

	Example syntax:

		def fac n =
		   n = 0 -> 1 ; n x fac(n-1)

	A version of the {expert system} {EMYCIN} has been written in
	SASL.

	SASL was originally known as "St Andrews Standard Language".
	Not to be confused with {SISAL}.

	{(ftp://a.cs.uiuc.edu/uiuc/kamin.distr/distr/sasl.p)}.
	See also {Kamin's interpreters}.

	["A New Implementation Technique for Applicative Languages",
	D.A. Turner, Soft Prac & Exp 8:31-49 (1979)].

	(2007-03-21)

Stanford Artificial Intelligence Laboratory

	<body, education> (SAIL) /sayl/, not /S-A-I-L/ An important
	site in the early development of {LISP}; with the {MIT AI
	Lab}, {BBN}, {CMU}, {XEROX PARC}, and the {Unix} community,
	one of the major wellsprings of technical innovation and
	hacker-culture traditions (see the {WAITS} entry for details).
	The SAIL machines were shut down in late May 1990, scant weeks
	after the MIT AI Lab's ITS cluster was officially
	decommissioned.

	[{Jargon File}]

	(2001-06-22)

Stanford Artificial Intelligence Language

	<language> (SAIL) Dan Swinehart & Bob Sproull, Stanford AI
	Project, 1970.  A large ALGOL 60-like language for the DEC-10
	and DEC-20.  Its main feature is a symbolic data system based
	upon an associative store (originally called LEAP).  Items may
	be stored as unordered sets or as associations (triples).
	Processes, events and interrupts, contexts, backtracking and
	record garbage collection.  Block- structured macros.  "Recent
	Developments in SAIL - An ALGOL-based Language for Artificial
	Intelligence", J. Feldman et al, Proc FJCC 41(2), AFIPS (Fall
	1972).  (See MAINSAIL).

	The Stanford Artificial Intelligence Language used at {SAIL}
	(the place).  It was an ALGOL 60 derivative with a coroutining
	facility and some new data types intended for building search
	trees and association lists.

	A number of interesting software systems were coded in SAIL,
	including early versions of {FTP} and {TeX} and a document
	formatting system called {PUB}.

	In 1978, there were half a dozen different operating systems
	for the PDP-10: WAITS (Stanford), ITS (MIT), TOPS-10 (DEC),
	CMU TOPS-10 (CMU), TENEX (BBN), and TOPS-20 (DEC, after
	TENEX).

	SAIL was ported from {WAITS} to {ITS} so that {MIT}
	researchers could make use of software developed at {Stanford
	University}.  Every port usually required the rewriting of I/O
	code in each application.

	[{Jargon File}]

	(2001-06-22)

Stanford Research Institute

	Former name of {SRI International}.

Stanford University

	<education> A University in the city of Palo Alto, California,
	noted for work in computing, especially {artificial
	intelligence}.  See {SAIL}.

	(2003-02-28)

STAPLE

	<language> A programming language written at Manchester
	(University?) and used at {ICL} in the early 1970s for writing
	the test suites.  STAPLE was based on {Algol 68} and had a
	very advanced {optimising compiler}.

	(2003-02-28)

Staple

	<language> St Andrews Applicative Persistent Language.
	Language combining functional programming with persistent
	storage, developed at St. Andrews University in Scotland.
	Tony Davie, <ad@cs.st-andrews.ac.uk>.

	(2007-03-22)

STAR 0

	Early system on Datatron 200 series.  Listed in CACM 2(5):16
	(May 1959).

StarBurst

	An active DBMS from IBM Almaden Research Center.

StarLISP

	{*LISP}

StarMOD

	{*MOD}

star network

	<networking> A {network} topology where every {node} has a
	direct connection (only) to the central node, which might be a
	{hub}, {switch}, or {server}.

	(1999-10-29)

Starset

	Portable storage/retrieval language for distributed databases.
	"Starset programming Language", M.M. Gilula et al, Nauka,
	Moscow 1991, ISBN 5-02-006831-4.

STARSYS

	{Convergent Technologies Operating System}

start bit

	<protocol> A {bit} which signals the start of transmission of
	a character on a {serial line}.  For an {RS-423} signal, the
	line is normally at logical zero which there is no data and
	the start bit is a logical one.  The zero-one transition tells
	the receiver when to start sampling the signal to extract the
	data bits.

	[Is this upside-down?]

	(1995-02-02)

start of authority

	<networking> (SOA) A type of {resource record} used by the
	{Domain Name System} (DNS) to give meta-data about a set of
	domain name data (the contents of a "zone file").  An SOA
	record has the following parameters:

	Serial: the zone serial number - a version number for the zone
	file.

	Refresh: the number of seconds between update requests from
	secondary and slave name servers.

	Retry: the number of seconds the secondary or slave will wait
	before retrying when an attempt fails.

	Expire: (time to live - TTL) the number of seconds a master or
	slave will wait before considering cached data out-of-date.

	Minimum: previously used to determine the minimum TTL, this
	offers negative caching.

	(2007-05-11)

Start Of Header

	<character> (SOH) {mnemonic} for {ASCII} 1.

	[What header?]

	(1996-05-31)

Start Of Text

	<character> (STX) {Mnemonic} for {ASCII} 2.

	(1996-05-31)

start tag

	{tag}

state

	<storage, architecture, jargon, theory> How something is; its
	configuration, attributes, condition, or information content.
	The state of a system is usually temporary (i.e. it changes
	with time) and volatile (i.e. it will be lost or reset to some
	initial state if the system is switched off).

	A state may be considered to be a point in some {space} of all
	possible states.  A simple example is a light, which is either
	on or off.  A complex example is the electrical activation in
	a human brain while solving a problem.

	In computing and related fields, states, as in the light
	example, are often modelled as being {discrete} (rather than
	continuous) and the transition from one state to another is
	considered to be instantaneous.  Another (related) property of
	a system is the number of possible states it may exhibit.
	This may be finite or infinite.  A common model for a system
	with a finite number of discrete state is a {finite state
	machine}.

	[{Jargon File}]

	(1996-10-13)

state diagram

	{state transition diagram}

stateless

	A stateless {server} is one which treats each request as an
	independent transaction, unrelated to any previous request.
	This simplifies the server design because it does not need to
	allocate storage to deal with conversations in progress or
	worry about freeing it if a client dies in mid-transaction.  A
	disadvantage is that it may be necessary to include more
	information in each request and this extra information will
	need to be interpreted by the server each time.

	An example of a stateless server is a {web} server.
	These take in requests ({URLs}) which completely specify the
	required document and do not require any context or memory of
	previous requests.

	Contrast this with a traditional {FTP} server which conducts
	an interactive session with the user.  A request to the server
	for a file can assume that the user has been authenticated and
	that the current directory and transfer mode have been set.

state machine

	{finite state machine}

statement

	<programming> A single instruction in a {computer program}
	written in a {procedural language}.  Typical examples are an
	{assignment statement}, an {if statement} (conditional), a
	{loop} statement ("while", "for", "repeat", "until", etc.), a
	{procedure call}, a procedure {exit}, {function} {return
	statement}, {switch statement} or {goto statement}.

	In many languages, one or more simple statements can be
	executed sequentially as a {compound statement},
	e.g. bracketed between "begin" and "end" or "{" and "}" which
	can then appear in place of a simple statement in an "if" or
	loop.

	Each statement in a {high-level language} will typically be
	translated into several {machine code} instructions by a
	{compiler} or, alternatively, executed by an {interpreter}.

	(2009-10-23)

state transition diagram

	A diagram consisting of circles to represent states and
	directed line segments to represent transitions between the
	states.  One or more actions (outputs) may be associated with
	each transition.  The diagram represents a {finite state
	machine}.

State University of New York

	<body> (SUNY) The public university system of New York State,
	USA, with campuses throughout the state.

	(1995-03-01)

static

	<programming> {static typing}, {static variable}.

	<storage> {static random-access memory}.

	<web> {static content}.

	<theory, programming> {static analysis}.

statically typed

	{static typing}

static analysis

	<theory, programming> A family of techniques of program
	analysis where the program is not actually executed (as
	opposed to dynamic analysis), but is analyzed by tools to
	produce useful information.

	Static analysis techniques range from the most mundane
	(statistics on the density of comments, for instance) to the
	more complex, {semantics}-based techniques.

	Qualities sought in static analysis techniques are {soundness}
	and {completeness}.

	(2003-04-12)

static database management system

	<database> (static DBMS) A {database} consisting of
	"information-based relationships", one that is rigorously
	structured to facilitate retrieval and update in terms of
	inherent relationships.  This creates a static environment
	wherein the locations of the related records are already
	known.  Typical static DBMS are either hierarchical ({IMS},
	{System 2000}) or a {CODACYL} (network or plex) DBMS (such as
	{TOTAL}, {IDMS}, {IDS}, {DMS-2}).  These environments
	facilitate rapid, high volume processing of data.

	The opposite is a {dynamic database management system}.

	(1998-10-07)

static DBMS

	{static database management system}

static link

	<compiler> (Or "access link" or "environment link") A pointer
	from an {activation record} to the activation record for the
	textually enclosing {scope}.  A static link is only required
	in a statically (lexically) scoped language.

	The number of static links to follow may be determined
	statically (at compile time).  It is simply the difference in
	{lexical nesting depth} between the declaration and the
	reference.

	See also {display}.

	(1995-03-07)

static method

	<programming> In {object-oriented programming}, a {function}
	packaged along with a given {class}; not really a {method} at all.

	For example, a String class might include a static method,
	concatenate(), which returns its arguments joined into one
	string.  It might be called like this:

	 print String.concatenate("FOL", "DOC");

	which would print "FOLDOC".

	The same result might be achieved with a real {object method},
	append(), which returns its argument string appended to the object
	it is invoked on, e.g.:

	 String s = "FOL";
	 print s.append("DOC");

	While the {syntax} looks similar, the two are completely
	different.  The static method is just a function called
	"String.concatenate" which can be resolved to the address of some
	code at compile time (or load time if the String class is
	dynamically loaded).  When invoking an object method, the class of
	the object is not generally known until {run time} so method
	lookup is a run-time process.

	(2014-09-06)

static nested scope

	<programming> Where the {scope} of an {identifier} is fixed at
	{compile-time} to be the smallest {block} ({begin}/end,
	{function}, or {procedure} body) containing the identifier's
	{declaration}.  This means that an identifier declared in some
	block is only accessible within that block and from procedures
	declared within it.

	This term is used in the {Python} community.

	Compare {lexical scope}.

	(2002-02-18)

static nested scoping

	{static nested scope}

static RAM

	{static random-access memory}

static random-access memory

	<storage> (SRAM) {Random-access memory} in which each bit of
	storage is a bistable {flip-flop}, commonly consisting of
	cross-coupled {inverters}.  It is called "static" because it
	will retain a value as long as power is supplied, unlike
	{dynamic random-access memory} (DRAM) which must be regularly
	refreshed.  It is however, still {volatile}, i.e. it will lose
	its contents when the power is switched off, in contrast to
	{ROM}.

	SRAM is usually faster than DRAM but since each bit requires
	several transistors (about six) you can get less bits of SRAM
	in the same area.  It usually costs more per bit than DRAM and
	so is used for the most speed-critical parts of a computer
	(e.g. {cache} memory) or other circuit.

	(1995-04-22)

static scope

	{lexical scope}

static typing

	<programming> Enforcement of type rules at {compile time}
	rather than at {run time}.  Static typing catches more errors
	at compile time than {dynamic typing}.

	{Ada}, {C}, {C++}, {Haskell}, {Java}, and {ML} are examples of
	statically typed languages.

	Statically typed languages may have {strong typing} or {weak
	typing}.

	(2004-07-20)

static variable

	<programming> A kind of {local variable} in certain
	{programming languages} that retains its value even when
	program execution moves outside its {scope}.  This contrasts
	with an ordinary, {automatic variable}, which is reinitialised
	(possibly to an undefined value) every time the block is
	entered.

	Static variables have a fixed location in the data section of
	the program's {address space} whereas automatic variables are
	typically allocated on the {stack}.

	(2009-12-14)

Station Management

	<networking> (SMT) Station Management One of the 4 key {FDDI}
	component layers.  SMT is an overlay function that handles the
	management of the FDDI ring.  It handles neighbor
	identification, fault detection and reconfiguration, insertion
	and de-insertion from the ring, and traffic statistics
	monitoring.

	(1997-05-11)

Statistical Analysis System

	<language> (SAS) A statistical and matrix handling language
	with {PL/I}-like {syntax}.

	["A User's Guide to SAS", A.J. Barr, SAS Inst 1976].

	(1994-12-12)

Statistical Package for the Social Sciences

	<statistics, tool> (SPSS) The flagship program of {SPSS,
	Inc.}, written in the late 1960s.

	["SPSS X User's Guide", SPSS, Inc. 1986].

	[Details?]

	(1999-07-20)

statistical time division multiplexing

	<communications> (STDM, StatMUX) A system developed to
	overcome some inefficiencies of standard {time division
	multiplexing}, where {time slices} are still allocated to
	channels, even if they have no information to transmit.

	STDM uses a variable time slot length and by allowing channels
	to vie for any free slot space.  It employs a buffer memory
	which temporarily stores the data during periods of peak
	traffic.  This scheme allows STDM to waste no high-speed line
	time with inactive channels.  STDM requires each transmission
	to carry identification information (i.e. a channel
	identifier).  To reduce the cost of this overhead, a number of
	characters for each channel are grouped together for
	transmission.

	["Data Communications, Computer Networks and Open Systems",
	Halsall & Fred, Addison Wesley, p160-161, 1995].

	["Digital, Analog, and Data Communication", Sinnema &
	McGovern, Prentice Hall, p245, 1986].

	(1997-03-05)

statistics

	<statistics, mathematics> The practice, study or result of the
	application of mathematical {functions} to collections of
	{data} in order to summarise or {extrapolate} that data.

	The subject of statistics can be divided into descriptive
	statistics - describing data, and analytical statistics -
	drawing conclusions from data.

	(1997-07-16)

StatMUX

	{statistical time division multiplexing}

STB

	{set-top box}

STD

	1. {state transition diagram}.

	2. {Internet} standard.

	A subseries of {Request For Comments} (RFC) that specify
	{Internet} {standards}.  The official list of Internet
	standards is {STD 1}.

	See also {For Your Information}.

	{rfc.net (http://rfc.net/)}.

	(1994-11-30)

STD 1

	<standard> The {Internet Architecture Board} official list of
	{Internet} {standards}.

	[Postel, J., "IAB Official Protocol Standards", STD 1, RFC
	1360, Internet Architecture Board, September 1992].

	(1995-02-07)

STD 13

	<networking, standard> One of the {STDs} defining the {Domain
	Name System}.

	(1997-12-15)

STD 15

	The {STD} defining {Simple Network Management Protocol}.

	(1994-11-14)

STD 2

	<networking, standard> The document listing the current
	{Internet} {Assigned Numbers}.

	[Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
	1340, USC/Information Sciences Institute, July 1992].

	(2001-04-08)

STD 9

	The {STD} defining {File Transfer Protocol} (FTP).

	(1995-02-07)

stderr

	{standard input/output}

stdin

	{standard input/output}

stdio

	{standard input/output}

stdio.h

	<programming> {standard input/output} {header file}.

	(1996-01-28)

STDM

	{statistical time division multiplexing}

stdout

	{standard input/output}

STDWIN

	A windowing interface from {CWI} with windows, menus, modal
	dialogs, mouse and keyboard input, scroll bars, drawing
	primitives, etc that is portable between {platforms}.  STDWIN
	is available for {Macintosh} and the {X Window System}.

steam-powered

	Old-fashioned or underpowered; archaic.  This term does not
	have a strong negative loading and may even be used
	semi-affectionately for something that clanks and wheezes a
	lot but hangs in there doing the job.

	[{Jargon File}]

Steelman

	DoD, June 1978.  Fifth and last of the series of DoD
	requirements that led to Ada.  "Steelman Requirements for High
	Order Programming Languages", US Dept of Defense, June 1978.
	SIGPLAN Notices 13(12) (Dec 1978).  (See Strawman, Woodenman,
	Tinman, Ironman).

steganography

	<security> Hiding a secret message within a larger one in such
	a way that others can not discern the presence or contents of
	the hidden message.  For example, a message might be hidden
	within an {image} by changing the {least significant bits} to
	be the message bits.

	[{Chaffing and Winnowing: Confidentiality without Encryption,
	Ronald L. Rivest, MIT Lab for Computer Science, 1998-03-22
	(http://theory.lcs.mit.edu/~rivest/chaffing.txt)}].

	(1998-07-13)

stemmer

	<information science, human language> A program or {algorithm}
	which determines the morphological root of a given inflected
	(or, sometimes, derived) word form -- generally a written word
	form.

	A stemmer for English, for example, should identify the
	{string} "cats" (and possibly "catlike", "catty" etc.) as
	based on the root "cat", and "stemmer", "stemming", "stemmed"
	as based on "stem".

	English stemmers are fairly {trivial} (with only occasional
	problems, such as "dries" being the third-person singular
	present form of the verb "dry", "axes" being the plural of
	"ax" as well as "axis"); but stemmers become harder to design
	as the morphology, orthography, and {character encoding} of
	the target language becomes more complex.  For example, an
	Italian stemmer is more complex than an English one (because
	of more possible verb inflections), a Russian one is more
	complex (more possible noun declensions), a Hebrew one is even
	more complex (a {hairy} writing system), and so on.

	Stemmers are common elements in {query} systems, since a user
	who runs a query on "daffodils" probably cares about documents
	that contain the word "daffodil" (without the s).

	({This dictionary} has a rudimentary stemmer which currently
	(April 1997) handles only conversion of plurals to singulars).

	(1997-04-09)

stemming

	{stemmer}

STENSOR

	L. Hornfeldt, Stockholm, mid-80's.  Symbolic math, especially
	General Relativity.  Implemented on top of SHEEP and MACSYMA.

STEP

	{Standard for the exchange of product model data}

Stephen Cole Kleene

	{Stephen Kleene}

Stephen Jobs

	<person> Stephen P. Jobs (born 24 February 1955).  The
	co-founder and ex-president of {Apple Computer}, leader of the
	team that produced the {Macintosh}.

	In 1979, when he was president of Apple, Steven Jobs saw a
	demonstration of {Smalltalk} at {Xerox}'s {Palo Alto Research
	Center}.  He and other Apple employees were "very impressed
	with the unique and revolutionary user-friendly design".

	The first {Macintosh} was released in January 1984.  Jobs
	described it as {insanely great}.

	Jobs was ousted from Apple in 1985 and founded {Next, Inc.}.
	In December 1996 he was re-employed by Apple when they bought
	NeXT.

	See also {lithium lick}, {Mathematica}.

	(1997-03-18)

Stephen Kleene

	<person> Professor Stephen Cole Kleene (1909-01-05 -
	1994-01-26) /steev'n (kohl) klay'nee/ An American
	mathematician whose work at the {University of
	Wisconsin-Madison} helped lay the foundations for modern
	computer science.  Kleene was best known for founding the
	branch of {mathematical logic} known as {recursion theory} and
	for inventing {regular expressions}.  The {Kleene star} and
	{Ascending Kleene Chain} are named after him.

	Kleene was born in Hartford, Conneticut, USA.  He received his
	Bachelor of Arts degree from Amherst College in 1930.  From
	1930 to 1935, he was a graduate student and research assistant
	at {Princeton University} where he received his doctorate in
	mathematics in 1934.  In 1935, he joined UW-Madison
	mathematics department as an instructor.  He became an
	assistant professor in 1937.

	From 1939 to 1940, he was a visiting scholar at Princeton's
	{Institute for Advanced Study} where he laid the foundation
	for recursive function theory, an area that would be his
	lifelong research interest.  In 1941 he returned to Amherst as
	an associate professor of mathematics.

	During World War II Kleene was a lieutenant commander in the
	United States Navy.  He was an instructor of navigation at the
	U.S. Naval Reserve's Midshipmen's School in New York, and then
	a project director at the Naval Research Laboratory in
	Washington, D.C.

	In 1946, he returned to Wisconsin, eventually becoming a full
	professor.  He was chair of mathematics, and computer sciences
	in 1962 and 1963 and dean of the College of Letters and
	Science from 1969 to 1974.  In 1964 he was named the Cyrus
	C. MacDuffee professor of mathematics.

	An avid mountain climber, Kleene had a strong interest in
	nature and the environment and was active in many conservation
	causes.  He led several professional organisations, serving as
	president of the {Association of Symbolic Logic} from 1956 to
	1958.  In 1961, he served as president of the International
	Union of the History and the Philosophy of Science.

	Kleene pronounced his last name /klay'nee/.  /klee'nee/ and
	/kleen/ are extremely common mispronunciations.  His first
	name is /steev'n/, not /stef'n/.  His son, Ken Kleene
	<kenneth.kleene@umb.edu>, wrote: "As far as I am aware this
	pronunciation is incorrect in all known languages.  I believe
	that this novel pronunciation was invented by my father."

	{(gopher://gopher.adp.wisc.edu/00/.data/.news-rel/.9401/.940126a)}.

	(1999-03-03)

stepper motor

	<hardware> An electric motor that rotates in small, fixed
	increments and is used, among other things, to control the
	radial position (seeking) of the heads on a {disk drive}.

	(2006-12-24)

Stepstone Corp

	<company> A company founded by Brad Cox, responsible for
	{Objective C}.

	Telephone: +1 (203) 426-1875.

	(1996-08-04)

stepwise refinement

	{top-down design}

stereogram

	A two-dimensional image which, when viewed correctly appears
	three-dimensional.  E.g. {SIRDS} or {SIRTS}.

	{(ftp://katz.anu.edu.au/pub/stereograms)}.

	(1994-11-03)

Sterling Software, Inc.

	<company> A software company which was bought out by {Computer
	Associates International, Inc.}

	{Acquisition (http://ca.com/acq/sterling/)}.

	(2002-04-20)

Steve Jobs

	{Stephen Jobs}

Steve's Shell

	<operating system> (ssh) A {Unix} {shell} with many {csh}- and
	{ksh}-like features, by Steve Baker <ice@judy.indstate.edu>
	and Thomas Moore.

	Version 1.7 has been ported to {Sequent}, {Sun}, {NeXT},
	{Ultrix}, {BSDI} and is available from {comp.sources.unix}
	volume 26.

	(1993-04-15)

Steve Wozniak

	<person> Co-founder of {Apple Computer} with {Steve Jobs} on
	01 April 1976 and the inventor of the {Apple II} {personal
	computer}.

	(1998-04-05)

STFT

	{Short Term Fourier Transform}

STFU

	<chat> Shut the fuck up.

	(2008-03-04)

STFW

	{Search The Fucking Web}

Sticks&Stones

	<language, functional programming> A {functional},
	{polymorphic} {hardware description language} loosely based on
	{ML} by Lucca Cardelli.

	["An Algebraic Approach to Hardware Description and
	Verification", L. Cardelli, Thesis, Edinburgh U, 1982].

	["Sticks&Stones II: A Functional Language VLSI Layout
	Generation Tool", Andrew Butterfield <butrfeld@cs.tcd.ie>,
	Thesis, Trinity College, 1990].

	(2008-03-04)

sticky analysis

	<theory> A kind of program analysis that uses information from
	all the call sites of a function or procedure.

	(1999-06-15)

sticky bit

	<operating system> The {bit} in the mode of a {Unix} file
	which, if set for an executable, tells the {kernel} to keep
	the code loaded in {swap space} even after it has finished
	executing on the assumption that it is likely to be used again
	soon.  This performance optimisation was included in some
	early (and recent?) versions of {Unix} to save reloading
	frequently used programs such as the {shell} or {vi} from
	disk.

	If the sticky bit is set on a directory, an unprivileged user
	may not delete or rename files of other users in that
	directory even if he has write access to the directory.

	The Unix "ls" command displays a set sticky bit as a "t" in
	the permissions of a file or directory.

	(1997-02-26)

sticky content

	<web> {web} pages that refer only or
	mostly to pages on the same {website}.  This is important to
	some commercial sites who want users to keep accessing pages
	from their site because they receive advertising income from
	each hit.  It does however somewhat miss the point of the
	web which is to link useful information across the
	whole {Internet}.

	(1999-06-15)

stiffy

	<storage, jargon> ({University of Lowell}, Massachusetts) A
	3.5-inch {microfloppy}, so called because their jackets are
	more rigid than those of the 5.25-inch and the (obsolete)
	8-inch {floppy disk}.  Elsewhere this might be called a
	"firmy".

	[{Jargon File}]

	(1994-11-03)

STIL

	STatistical Interpretive Language.

	["STIL User's Manual", C.F.  Donaghey et al, Indust Eng Dept,
	U Houston (Aug 1969)].

STING

	A parallel dialect of {Scheme} intended to serve as a
	high-level {operating system} for symbolic programming
	languages.  {First-class} {threads} and processors and
	customisable {scheduling} policies.

	E-mail: <suresh@research.nj.dec.com>.

	["A Customizable Substrate for Concurrent Languages",
	S. Jagannathan et al, ACM SIGPLAN Notices, 1992].

	(1994-11-03)

STk

	<language, LISP, graphics> A {Scheme} {interpreter} blended
	with Ousterhout's {Tk} package by Erick Gallesio
	<eg@unice.fr>.  STk expresses all of Tk as Scheme objects.
	STk includes a slow {CLOS}/{Dylan}-like {object-oriented}
	extension.

	STk almost conforms to {R4RS} and runs on {SunOS} 4.1.x and
	{Ultrix}/{MIPS}.

	Latest version: 4.0.1, as of 2000-09-24.

	{(ftp://kaolin.unice.fr/pub/STk-1.00.tar.gz)}.
	{(ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/STk-2.1.tar.Z)}.

	(2000-12-16)

STMP

	Did you mean {SMTP}?

stochastic

	{probabilistic}

stock-keeping unit

	<database> (SKU) /skyoo/ (rarely seen expanded) A common term
	for a unique numeric identifier, typically in a {database}.
	Originally this was used only for products, but has spread in
	usage.

	Compare with {UID} for sense development.

	(1998-09-27)

STOIC

	{STring Oriented Interactive Compiler}

stomp on

	To inadvertently overwrite something important, usually
	automatically.  "All the work I did this weekend got stomped
	on last night by the nightly server script."  Compare
	{scribble}, {mangle}, {trash}, {scrog}, {roach}.

	[{Jargon File}]

STONE

	A Structured and Open Environment: a project supported by the
	German Ministry of Research and Technology (BMFT) to design,
	implement and distribute a SEE for research and teaching.

Stone Age

	<jargon> In computer folklore, an ill-defined period from
	{ENIAC} (ca. 1943) to the mid-1950s; the great age of
	electromechanical {dinosaurs}.  Sometimes used for the entire
	period up to 1960-61 (see {Iron Age}); however, it is more
	descriptive to characterise the latter period in terms of a
	"Bronze Age" era of {transistor}-logic, pre-{ferrite core
	memory} machines with {drum} or {CRT} mass storage (as opposed
	to just {mercury delay lines} and/or relays).

	More generally, the term is used pejoratively for ancient
	hardware or software, even by survivors from the {Stone Age}.

	[{Jargon File}]

	(2003-09-27)

stone knives and bearskins

	(From the Star Trek Classic episode "The City on the Edge of
	Forever") A term traditionally used to describe (and
	deprecate) computing environments that are grotesquely
	primitive in light of what is known about good ways to design
	things.  As in "Don't get too used to the facilities here.
	Once you leave SAIL it's stone knives and bearskins as far as
	the eye can see".

	Compare {steam-powered}.

	[{Jargon File}]

	(1995-01-24)

Stoneman

	The requirements, written by the {HOLWG} of the US {DoD} in
	Feb 1980, that led to APSE.

	["Requirements for Ada Programming Support Environments:
	STONEMAN", US Dept of Defense, Feb 1980].

	(1995-01-24)

stop bit

	In serial communications, where each bit of the message is
	transmitted in sequence, stop bits are extra "1" bits which
	follow the data and any {parity} bit.  They mark the end of a
	unit of transmission (normally a byte or character).

	For example, characters on an {EIA-232} {serial line} may have
	one or two stop bits added.  Some {UARTs} even allow for 1.5
	stop bits but one is probably the most commonly used.  A
	serial connection may be described as, for example, "8N1"
	which means eight data bits, no {parity} and one stop bit.

	(1995-01-24)

stoppage

	/sto'p*j/ Extreme {lossage} that renders something (usually
	something vital) completely unusable.  "The recent system
	stoppage was caused by a {fried} transformer."

	[{Jargon File}]

	(1995-01-24)

storage

	<storage> (Or "memory") A device into which data can be
	entered, in which it can be held, and from which it can be
	retrieved at a later time.  The distinguishing characteristics
	of a device are its capacity (the number of bytes it can
	hold), its {access speed}, whether it is {volatile} (loses
	data when the power is turned off), removeable and/or
	writeable.  Common examples are {DRAM}, {hard disk}, {CD-ROM},
	{Flash memory}.

	(2009-02-23)

Storage Allocation and Coding Program

	<language> (STAC) A symbolic {macro-assembler} for the
	{English Electric} {DEUCE}.

	["DEUCE STAC Programming Manual", DEUCE News No. 38, Report
	K/AA y 1 DEUCE Library Service, Data Processing and COntrol
	Systems DIvision, English Electric Company, Kidsgrove, June].

	(1998-06-08)

Storage Area Network

	<storage> (SAN) A high-speed subnetwork of shared storage
	devices.  A storage device is a machine that contains nothing
	but a disk or disks for storing data.

	A SAN's architecture works in a way that makes all storage
	devices available to all servers on a LAN or WAN.  As more
	storage devices are added to a SAN, they too will be
	accessible from any server in the larger network.  The server
	merely acts as a pathway between the end user and the stored
	data.

	Because stored data does not reside directly on any of a
	network's servers, server power is used for business
	applications, and network capacity is released to the end
	user.

Storage Management Services

	<storage> (SMS) Software that enables network administrators
	to route {backup} data from various devices on a network to
	another device such as a server or a {magnetic tape} backup
	unit.  This is done either to make use of a high-capacity
	storage system such as a tape {juke-box} or for disaster
	protection.

	(1996-02-18)

storage media

	<storage> Devices on which {data} is stored, as opposed to the
	device ("drive") used to read and write data from and to the
	media.  The term typically applies to removeable storage such
	as {magnetic tape} or {flash memory}, rather than fixed
	devices like a {hard disk}.

	(2009-02-23)

store

	<jargon> In some varieties of Commonwealth hackish, the
	preferred synonym for {core}.  Thus, "bringing a program into
	store" means that a program is being {swap}ped in from
	{backing store} to {main store}.

	[{Jargon File}]

	(2006-12-06)

store and forward

	<messaging> (Or "message switching") A kind of {message
	passing} system where a complete message is received before
	any of it is passed on to the next node.  This means that each
	message is using at most one interprocessor link at any time
	but intermediate nodes will require more storage buffers than
	under the alternative, {wormhole routing}.

	E-mail transmission is an example of {store and forward}
	message passing.

	(1995-02-16)

stored procedure

	<database> A {subroutine} stored in a {database} and executed
	by the {database management system}.  The subroutine may be
	written in the same language in which the database is queried
	and may be precompiled to improve performance.

	Typically a stored procedure encapsulates some business
	process.  Performing this on the database server avoids the
	network overhead of transferring input data to the client for
	processing.  This would be particularly significant if
	processing lots of data and returning a small result set like
	a total or maximum.  Stored procedures also provide consistent
	implementation of the business logic to clients written in
	different languages and running in different environments.

	Some financial systems allow databases access through stored
	procedures alone, this restricts actions on the data to a
	small number of auditable queries.

	Sybase SQL Server ({Adaptive Server Enterprise}) was the first
	commercially successful RDBMS to support stored procedures.

	(2004-03-04)

storm

	{broadcast storm}

Story of Mel

	{The story of Mel}

STP

	{shielded twisted pair}

StP

	{Software through Pictures}

STP4

	A statistical language.

Strachey, Christopher

	{Christopher Strachey}

Strand

	1. {AND-parallel} {logic programming} language.  Essentially
	flat {Parlog83} with sequential-and and sequential-or
	eliminated.

	["Strand: New Concepts on Parallel Programming", Ian Foster et
	al, P-H 1990].  {Strand88} is a commercial implementation.

	2. A query language, implemented on top of {INGRES} (an
	{RDBMS}).  ["Modelling Summary Data", R. Johnson, Proc ACM
	SIGMOD Conf 1981].

Strand88

	A commercial implementation of {Strand} from Strand Software
	Technologies Ltd., UK and Strand Software, Beaverton, OR, USA.
	E-mail: <strand88@sstl.uucp>.

Stratus

	<company> One of the leading manufacturers of {fault-tolerant}
	computer systems.  While virtually all of Stratus' core
	hardware and software is sold into the financial services,
	telecommunications, travel and transportation, and gaming
	these markets, a broad range of {middleware} and
	{applications} are developed and marketed by Stratus, its
	subsidiaries, and third party partners.

	Yearly sales $609M, profits $43.5M (1996).

	{(http://stratus,com)}.

	(1997-04-24)

Strawman

	The first of the series of {DoD} requirements that led to
	{Ada} ({Woodenman}, {Tinman}, {Ironman}, {Steelman}).
	Strawman was produced by the {HOLWG} in Apr 1975.

	(1995-01-30)

STREAM

	["STREAM: A Scheme Language for Formally Describing Digital
	Circuits", C.D. Kloos in PARLE: Parallel Architectures and
	Languages Europe, LNCS 259, Springer 1987].

	(1995-01-30)

stream

	1. <communications> An {abstraction} referring to any flow of
	data from a source (or sender, producer) to a single sink (or
	receiver, consumer).  A stream usually flows through a channel
	of some kind, as opposed to {packets} which may be addressed
	and routed independently, possibly to multiple recipients.
	Streams usually require some mechanism for establishing a
	channel or a "{connection}" between the sender and receiver.

	2. <programming> In the {C} language's buffered input/ouput
	library functions, a stream is associated with a file or
	device which has been opened using {fopen}.  Characters may be
	read from (written to) a stream without knowing their actual
	source (destination) and buffering is provided transparently
	by the library routines.

	3. <operating system> Confusingly, {Sun} have called their
	modular {device driver} mechanism "{STREAMS}".

	4. <operating system> In {IBM}'s {AIX} {operating system}, a
	stream is a {full-duplex} processing and data transfer path
	between a driver in {kernel space} and a process in {user
	space}.

	[IBM AIX 3.2 Communication Programming Concepts,
	SC23-2206-03].

	5. <communications> {streaming}.

	6. <programming> {lazy list}.

	(1996-11-06)

streaming

	<communications> Playing {sound} or {video} in {real time} as
	it is downloaded over the {Internet} as opposed to storing it
	in a local file first.  A {plug-in} to a {web browser} such as
	{Netscape Navigator} decompresses and plays the data as it is
	transferred to your computer over the {web}.
	Streaming audio or video avoids the delay entailed in
	downloading an entire file and then playing it with a {helper
	application}.  Streaming requires a fast connection and a
	computer powerful enough to execute the decompression
	{algorithm} in {real time}.

	(1996-11-06)

Streaming SIMD Extensions

	<architecture> (SSE) {Intel Corporation}'s {floating point}
	{SIMD} extention of their {Pentium} {microprocessor}
	architecture.  SSE was formerly know as KNI (Katmai New
	Instructions).  It was introduced with the {Pentium III}.

	{Intel Pentium III
	(http://developer.intel.com/design/pentiumiii/prodbref/)}.

	{ipoem (http://ipoem.com/technology/Docs/pentium4.html)}.

	(2003-07-13)

stream-oriented

	{connection-oriented}

STREAMS

	<operating system> A collection of {system calls}, {kernel}
	resources, and kernel utility routines that can create, use,
	and dismantle a {stream}.  A "stream head" provides the
	interface between the stream and the user processes.  Its
	principal function is to process STREAMS-related user system
	calls.  A "stream module" processes data that travel bewteen
	the stream head and driver.  The "stream end" provides the
	services of an external input/output device or an internal
	software driver.  The internal software driver is commonly
	called a {pseudo-device} driver.

	The STREAMS concept has been formalised in {Unix} {System V}.
	For example, {SVR4} implements {sockets} and {pipes} using
	STREAMS, resulting in pipe(2) openning bidirectional pipes.

	[IBM AIX 3.2 Communication Programming Concepts, SC23-2206-03].

	(1999-06-29)

strength reduction

	An optimisation where a function of some systematically
	changing variable is calculated more efficiently by using
	previous values of the function.  In a {procedural language}
	this would apply to an expression involving a loop variable
	and in a {declarative language} it would apply to the argument
	of a {recursive} function.  E.g.

		f x = ... (2**x) ... (f (x+1)) ...

			==>

		f x = f' x (2**x)
		      where
		      f ' x z = ... z ... (f' (x+1) 2*z) ...

	Here the expensive operation (2**x) has been replaced by the
	cheaper 2*z in the recursive function f'.  This maintains the
	invariant that z = 2**x for any call to f'.

	(1995-01-31)

STRESS

	STRuctual Engineering Systems Solver.

	A system for structural analysis problems in Civil
	Engineering.  STRESS was superseded by {STRUDL}.

	["STRESS: A User's Manual", S.J. Fenves et al, MIT Press
	1964].

	[Sammet 1969, p. 612].

	(1995-01-31)

stress testing

	<testing> Testing aimed at investigating the behaviour of a
	software or hardware equipment in out of ordinary operating
	conditions.

	(1998-03-27)

strict

	A function f is strict in an argument if

		f bottom = bottom

	(See {bottom}).  In other words, the result depends on the
	argument so evaluation of an application of the function
	cannot terminate until evaluation of the argument has
	terminated.

	If the result is only {bottom} when the argument is bottom
	then the function is also {bottom-unique}.

	See also {strict evaluation}, {hyperstrict}.

	(1995-01-25)

strict evaluation

	{Call-by-value} evaluation order is sometimes called "strict
	evaluation" because, in a sequential system, it makes
	functions behave as though they were {strict}, in the sense
	that evaluation of a function application cannot terminate
	before evaluation of the argument.  Similarly, languages are
	called strict if they use {call-by-value} argument passing.

	Compare {eager evaluation}, {lazy evaluation}.

	(1994-12-21)

strided

	/str:'d*d/ (scientific computing) Said of a sequence of memory
	reads and writes to addresses, each of which is separated from
	the last by a constant interval called "the stride length", or
	just "the stride".  These can be a worst-case access pattern
	for {cache} schemes when the stride length is a multiple of
	the {cache line} size.

	Strided references are often generated by loops through an
	{array}, and (if the data is large enough that access-time is
	significant) it can be worthwhile to tune for better locality
	by inverting double loops or by partially unrolling the outer
	loop of a loop nest.

	[{Jargon File}]

	(1994-12-21)

string

	<programming> A sequence of {data} values, usually {bytes},
	which usually stand for {characters} (a "character string").
	The {mapping} between values and characters is determined by
	the {character set} which is itself specified implcitly or
	explicitly by the environment in which the string is being
	interpreted.

	The most common character set is {ASCII} but, since the late
	1990s, there has been increased interest in larger character
	sets such as {Unicode} where each character is represented by
	more than eight {bits}.

	Most programming languages consider strings (e.g.
	"124:shabooya:\n", "hello world") basically distinct from
	numbers which are typically stored in fixed-length {binary} or
	{floating-point} representation.

	A {bit string} is a sequence of {bits}.

	(1999-12-21)

String EXpression Interpreter

	{String Oriented Symbolic Language}

stringly typed

	<humour, programming> A humourous play on "{strongly typed}",
	coined by Mark Simpson, for an implementation that uses
	strings instead of more appropriate types, thus preventing
	{compile-time} {type checking}.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2012-06-25)

STring Oriented Interactive Compiler

	<language> (STOIC) A language from the Smithsonian
	Astrophysical Observatory.  STOIC is similar to {FORTH} for
	strings and includes many {VAX}-specific items.

	(1998-09-27)

String Oriented Symbolic Language

	<language> (SNOBOL) A {string processing language} for {text}
	and {formula} manipulation, developed by David J. Farber, Ralph E.
	Griswold and Ivan P. Polonsky at {Bell Labs} in 1962.

	SNOBOL had only simple {control structures} but provided a
	rich string-matching formalism of power comparable to {regular
	expressions} but implemented differently.  People used it
	for simple {natural language processing} analysis tasks well
	into the 1980s.  Since then, {Perl} has come into favour for
	such tasks.

	SNOBOL was originally called "SEXI" - String EXpression
	Interpreter.  In spite of the suggestive name, SNOBOL is not
	related to {COBOL}.  Farber said the name SNOBOL was largely
	contrived at the time the original JACM article was published
	when one of the implementors said something like, "This
	program doesn't have a snowball's chance in hell of ...".  The
	expansion to "String Oriented Symbolic Language" was contrived
	later.

	Implementations include (in no particular order): {SNOBOL2},
	{SNOBOL3}, {SNOBOL4}, {FASBOL}, {SITBOL}, {MAINBOL}, {SPITBOL}
	and {vanilla}.

	See also {EZ}, {Poplar}, {SIL} and {Icon}.

	{SNOBOL 4 (http://snobol4.org/)}.

	{David Farber (http://cis.upenn.edu/%7Efarber/)}.

	{Ralph Griswold (http://cs.arizona.edu/people/ralph/)}.

	["SNOBOL, A String Manipulating Language", R. Griswold et al,
	J ACM 11(1):21, Jan 1964].

	(2004-04-29)

String PRocessING language

	<language> (SPRING)

	["From SPRING to SUMMER: Design, Definition and Implementation
	of Programming Languages for String Manipulation and Pattern
	Matching", Paul Klint, Math Centre, Amsterdam 1982].

	(1996-02-06)

string reduction

	A {reduction system} where an expression is represented as a
	string of function names, constants and parentheses.  It is
	reduced by replacing parts of the string representing subterms
	by their value.

	It is harder to represent sharing of subexpressions in string
	reduction than in {graph reduction}.

	(1995-02-06)

stripe

	{data striping}

stripe set

	{data striping}

striping

	{data striping}

STROBES

	{Shared Time Repair of Big Electronic Systems}

stroke

	The oblique stroke character, "/", ASCII 47.

	See {ASCII} for other synonyms.

	[{Jargon File}]

StrongARM

	<processor> A collaborative project between {Digital Equipment
	Corporation} and {Advanced RISC Machines} Ltd. (ARM) announced
	on 1995-02-06 licensing the {ARM} {RISC} architecture to
	{Digital Semiconductor} for the development of
	high-performance, low power {microprocessors}.

	The StrongARM family of 32-bit RISC products developed under
	the agreement are faster versions of the existing ARM
	processors with a somewhat different {instruction set}.  They
	are targetted at applications such as next-generation
	{personal digital assistants} with improved user interfaces
	and communications; {interactive television} and set-top
	products; video games and {multimedia} {edutainment} systems
	with realistic imaging, motion and sound; and digital imaging,
	including low cost digital image capture and photo-quality
	scanning and printing.

	The StrongARM family has limited software compatibility with
	the {ARM6}, {ARM7} and {ARM8} families due to its separate
	{caches} for data and instructions which causes
	{self-modifying code} to fail.

	The {SA-110} is the first member of the family.

	(1998-09-07)

strongly connected component

	(SCC) A subset, S, of the nodes of a {directed graph} such
	that any node in S is reachable from any other node in S and S
	is not a subset of any larger such set.  SCCs are {equivalence
	class}es under the {transitive closure} of the "directly
	connected to" {relation}.

	(1995-02-06)

strongly typed

	{strong typing}

strong typing

	<programming> Strict enforcement of {type} rules with no
	exceptions.  Incorrect type usage can be detected either at
	{run time} or at {compile time}.  Strong typing catches more
	type errors than {weak typing}, resulting in fewer hard
	errors.  In a strongly typed language, conversion between
	types requires the use of explicit conversion functions
	("casts") as opposed to {implicit type coercion}.

	Typing strength is a continuum; {ML} is more strongly typed
	than {Java}, which is more strongly typed than {C}.

	Strong or weak typing is independent of the choice between
	{static typing} and {dynamic typing}.  Among strongly typed
	languages, {Ada}, {Java}, {Haskell} and {ML} are statically
	typed, whereas {Python} and {Ruby} are dynamically typed.

	(2004-07-20)

Stroustrup, Bjarne

	{Bjarne Stroustrup}

struct

	<programming> A data type in {C} and {C++} corresponding to a
	{record} in {Ada} or {Pascal} or a {tuple} in {functional
	programming}.  A struct has one or more members, each of which
	may have different types.  It is used to group associated data
	together.

	(1995-02-14)

structural recursion

	The process of transforming an expression by expressing its
	structure as a syntax tree and applying a certain
	transformation rule to each kind of node, starting from the
	top.  Rules for non-{leaf nodes} will normally return a result
	which depends on applying the rules recursively to its
	sub-nodes.  Examples include {syntax} analysis, {code
	generation}, {abstract interpretation} and {program
	transformation}.

	(1995-01-11)

structured analysis

	One of a number of requirements analysis methods used in
	software engineering.

Structured Analysis and Design Technique

	<modeling> (SADT) A {function modeling} method for analysing
	and communicating the functional perspective of a system.
	SADT was commissioned by The United States Air Force.

	{IDEF0} was derived from SADT.

	(2007-01-08)

structured design

	<programming> (SD) One of a number of systematic {top-down
	design} techniques used in {software engineering}, usually
	after {structured analysis}.

	(1995-04-28)

structure diagram

	<programming, data> A pictorial representation of the
	composition, grouping and relationship of data items.

	(1998-06-11)

structured language

	{block-structured}

structured programming

	<programming> Any software development technique that includes
	{structured design} and results in the development of a
	program consisting of blocks of code whose internal details
	are independent.  Structured programming is usually done in a
	{block-structured} language.

	(2004-09-29)

Structured Query Language

	{SQL}

Structure of Management Information

	(SMI) The rules used to define the objects that can be
	accessed via a {network management protocol}.  This {protocol}
	is defined in {STD} 16, {RFC} 1155.

	See also {Management Information Base}.

	(1994-11-14)

strudel

	<character> Common (spoken) name for the commercial at sign,
	"@", {ASCII} 64.

	[{Jargon File}]

	(1995-03-13)

STRUDL

	STRUctured Design Language.

	Dynamic and {finite-element analysis}, steel and concrete
	structures.  Subsystem of {ICES}.  ["ICES STRUDL-II
	Engineering User's Manual", R68-91, CE Dept MIT (Nov 1968)
	Sammet 1969, p.613].

STSC APL

	Implementation of APL by Scientific {Time-Sharing} Corporation

stub

	1. <programming> A dummy procedure used when linking a program
	with a {run-time library}.  The stub routine need not contain
	any code and is only present to prevent "undefined label"
	errors at link time.

	2. <programming, networking> A local procedure in a {remote
	procedure call}.  The {client} calls the stub to perform some
	task and need not necessarily be aware that RPC is involved.
	The stub transmits parameters over the network to the {server}
	and returns the results to the caller.

	(1995-11-09)

stub network

	A {network} which only carries {packets} to and from local
	{hosts}.  Even if it has paths to more than one other network,
	it does not carry traffic for other networks.  See also
	{backbone}, {transit network}.

stubroutine

	/stuhb'roo-teen/ [contraction of "stub subroutine"] Tiny,
	often vacuous placeholder for a {subroutine} that is to be
	written or fleshed out later.

	[{Jargon File}]

STUDENT

	D.G. Bobrow 1964.  Early query system.  Sammet 1969, p.664.

Student PL/I

	<language> A translator-{interpreter} for a {PL/I} subset
	derived from {SPL}.

	["Student PL/I Compiler", R.A. Vowels, RMIT, Melbourne, 1971].

	(1996-01-19)

studly

	Impressive; powerful.  Said of code and designs which exhibit
	both complexity and a virtuoso flair.  Has connotations
	similar to {hairy} but is more positive in tone.  Often in the
	emphatic "most studly" or as noun-form "studliness".  "Smail
	3.0's configuration parser is most studly."

	[{Jargon File}]

studlycaps

	<jargon> /stuhd'lee-kaps/ A hackish form of silliness similar
	to {BiCapitalisation} for trademarks, but applied randomly and
	to arbitrary text rather than to trademarks.  ThE oRigiN and
	SigNificaNce of thIs pRacTicE iS oBscuRe.

	(1995-03-01)

Stuffit

	<tool, file format> (filename extension: .sit) A file
	{archiving} and {compression} utility, developed by {Aladdin
	Systems, Inc.}.  Stuffit was originally developed for the
	{Macintosh} and is still the Mac standard tool for compression
	and archiving (compressing multiple files into one).  Stuffit
	is now also available for {Microsoft Windows} and {Linux}.
	Compared to the standard Windows tool, {WinZip}, it is faster
	and gives better compression.

	Stuffit archives can be extracted with Stuffit Expander.

	{Stuffit Home (http://stuffit.com/)}.

	(2003-09-20)

Stupids

	Term used by {samurai} for the {suits} who employ them.
	Succinctly expresses an attitude at least as common, though
	usually better disguised, among other subcultures of hackers.
	There may be intended reference here to an SF story originally
	published in 1952 but much anthologised since, Mark Clifton's
	"Star, Bright".  In it, a super-genius child classifies humans
	into a very few "Brights" like herself, a huge majority of
	"Stupids", and a minority of "Tweens", the merely ordinary
	geniuses.

	[{Jargon File}]

stupid-sort

	Synonym {bogo-sort}.

Sturgeon's Law

	"Ninety percent of everything is crap".  Derived from a quote
	by science fiction author Theodore Sturgeon, who once said,
	"Sure, 90% of science fiction is crud.  That's because 90% of
	everything is crud."  Oddly, when Sturgeon's Law is cited, the
	final word is almost invariably changed to "crap".  Compare
	{Ninety-Ninety Rule}.  Though this maxim originated in SF
	fandom, most hackers recognise it and are all too aware of its
	truth.

	[{Jargon File}]

STX

	{Start Of Text}

style

	<web> The visual presentation or formatting of {web
	content}, chiefly either {HTML} content with style controlled
	by {Cascading Style Sheets} (CSS) or {XML} content controlled
	by {XSL}.  Style is distinguished from meaning, which is
	encoded with {semantic markup}.  The latter deals with logical
	divisions of content such as headings, lists and paragraphs.

	(2008-02-25)

su

	<operating system, tool, security> (substitute user) The
	{Unix} command which allows you to become another user after
	entering their {password}.  su is most often used without
	arguments in which case it defaults to user {root}.  Some
	versions of Unix only allows this command to be used by
	members of the {wheel} group.

	{Unix manual page}: su(1).

	(1996-09-08)

SUB

	{Substitute}

subband encoding

	An audio {compression} technique where the sound is split into
	frequency bands and then parts of the signal which the ear
	cannot detect are removed, e.g. a quiet sound masked by a loud
	one.  The remaining signal is encoded using variable bit-rates
	with more bits per sample being used in the mid frequency
	range.

	Subband encoding is used in {MPEG-1}.

	(1994-11-02)

subclass

	{class hierarchy}

subject

	<programming> In {subject-oriented programming}, a subject is
	a collection of {classes} or class fragments whose {class
	hierarchy} models its domain in its own, subjective way.  A
	subject may be a complete application in itself, or it may be
	an incomplete fragment that must be composed with other
	subjects to produce a complete application.  Subject
	composition combines class hierarchies to produce new subjects
	that incorporate functionality from existing subjects.

	(1999-08-31)

subject index

	<information science> An information resource that contains
	references to other resources, categorised by subject, usually
	in a {hierarchy}.

	{Yahoo} is the most popular {Internet} subject index.  Like
	most {other subject indices
	(http://yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Searching_the_Web/Web_Directories/)},
	Yahoo is arranged {ontologically}.

	Subject indices are not to be confused with {search engines},
	which are based not on subject, but instead on {relevance},
	although (1) this difference is often (possibly rightly)
	hidden from the unsophisticated user, and (2) future
	integration of {knowledge representation} into relevance
	ranking {algorithms} will make this a hazy distinction.

	(1997-04-09)

subject-oriented programming

	<programming> Program composition that supports building
	{object-oriented} systems as compositions of {subjects},
	extending systems by composing them with new subjects, and
	integrating systems by composing them with one another
	(perhaps with {glue} or adapter subjects).

	The flexibility of subject composition introduces novel
	opportunities for developing and modularising object-oriented
	programs.  Subject-oriented programming-in-the-large involves
	dividing a system into subjects and writing rules to compose
	them correctly.  It complements {object-oriented programming},
	solving a number of problems that arise when OOP is used to
	develop large systems or suites of interoperating or
	integrated applications.

	{IBM subject-oriented programming
	(http://research.ibm.com/sop/)}.

	(1999-08-31)

sublanguage

	<database, language> One of the languages associated with a
	{DBMS}, for example a {data-definition language} or {query
	language}.

	(1999-10-18)

subnet

	A portion of a {network}, which may be a physically
	independent network segment, which shares a {network address}
	with other portions of the network and is distinguished by a
	subnet number.  A subnet is to a network what a network is to
	an {internet}.

subnet address

	The {subnet} portion of an {IP address}.  In a subnetted
	{network}, the {host} portion of an IP address is split into a
	subnet portion and a host portion using an {address mask} (the
	subnet mask).

subnet mask

	{address mask}

subnet number

	{subnet address}

subroutine

	<programming> (Or "procedure") A sequence of {instructions}
	for performing a particular task.  Most programming languages,
	including most {machine languages}, allow the programmer to
	define subroutines.  This allows the subroutine code to be
	called from multiple places, even from within itself (in which
	case it is called {recursive}).  The programming language
	implementation takes care of returning control to (just after)
	the calling location, usually with the support of call and
	return instructions at {machine language} level.

	Most languages also allow {arguments} to be passed to the
	subroutine, and one, or occasionally more, {return values} to
	be passed back.

	A {function} is often very similar to a subroutine, the main
	difference being that it is called chiefly for its return
	value, rather than for any {side effects}.

	(1996-10-01)

subscribe

	<messaging> To request to receive messages posted to a
	{mailing list} or {newsgroup}.  In contrast to the mundane use
	of the word this is often free of charge.

	(1997-03-27)

Subscriber Identity Module

	<telecommunications, wireless> (SIM or "SIM card") A component,
	usually in the form of a miniature {smart-card}, that is
	theoretically tamper-proof and is used to associate a {mobile
	subscriber} with a {mobile network} subscription.  The SIM holds
	the subscriber's unique {MSISDN} along with secret information
	such as a private {encryption key} and encryption and digital
	signature algorithms.  Most SIMs also contain {non-volatile
	storage} for network and device management, contact lists, text
	messages sent and received, logos and in some cases even small
	{Java} {programs}.

	(2007-01-06)

subscribing

	{subscribe}

\subseteq

	Like a U on its right side with a line under it.  For sets x
	and y, x \subseteq y if all elements of x are also elements of
	y.

	(1995-02-03)

Subset-Equational Language

	(SEL) A {declarative} language for set processing by Bharat
	Jayaraman with subset and equational program clauses; {pattern
	matching} over sets (it supports efficient iteration over
	sets); annotations to say which functions distribute over
	union in which arguments (for point-wise/incremental
	computation over sets); defining {transitive closures} through
	circular constraints (implemented by mixed
	top-down/{memoisation} and bottom-up strategy);
	{meta-programming} and simple {higher-order} programming;
	modest user-interface including tracing.

	The SEL {compiler}, written in {Quintus Prolog}, generates
	{WAM}-like code, extended to deal with set-matching,
	{memoisation}, and the novel control structure of the
	language.  The {run-time system} is written in {C}.

	{(ftp://ftp.cs.buffalo.edu/users/bharat/SEL2)}.

	E-mail: Bharat Jayaraman <bharat@cs.buffalo.edu>.

	["Towards a Broader Basis for Logic Programming",
	B. Jayaraman, TR CS Dept, SUNY Buffalo, 1990].

	["Set Abstraction in Functional and Logic Programming",
	F.S.K. Silbermann <fs@cs.tulane.edu> et al, ACM Proc 1989].

	(1994-12-15)

Substitute

	<character> (SUB) {ASCII} character 26.

	[Why?]

	(1996-06-28)

substrate

	<hardware> The body or base layer of an {integrated circuit},
	onto which other layers are deposited to form the circuit.
	The substrate is usually Silicon, though Sapphire is used for
	certain applications, particularly military, where radiation
	resistance is important.  The substrate is originally part of
	the {wafer} from which the {die} is cut.  It is used as the
	electrical {ground} for the circuit.

	(1996-04-07)

subtype

	<programming> If S is a subtype of T then an expression of
	{type} S may be used anywhere that one of type T can and an
	{implicit type conversion} will be applied to convert it to
	type T.

	In {object oriented programming}, this means that {objects} of
	type S must accept every {message} that one of type T would.

	(1997-07-28)

subtyping

	{subtype}

SuccessoR

	A language for {distributed computing} derived from {SR}.

	["SuccessoR: Refinements to SR", R.A. Olsson et al, TR 84-3, U
	Arizona 1984].

	(1994-12-15)

successor

	{daughter}

sucking mud

	(Or "pumping mud") (Applied Data Research) Crashed or
	{wedged}.  Usually said of a machine that provides some
	service to a network, such as a {file server}.  This Dallas
	regionalism derives from the East Texas oilfield lament, "Shut
	'er down, Ma, she's a-suckin' mud".  Often used as a query.
	"We are going to reconfigure the network, are you ready to
	suck mud?"

	[{Jargon File}]

	(1994-12-15)

Sue

	The system language used to write an {operating system} for
	the {IBM 360}.  It is a cross between {Pascal} and {XPL}.  It
	allows type checked {separate compilation} of internal
	procedures using a program library.

	["The System Language for Project Sue", B.L. Clark e al,
	SIGPLAN Notices 6(9):79-88 (Oct 1971)].

	(1994-12-01)

sufficiently small

	{suitably small}

SUGAR

	A simple {lazy functional language} designed at {Westfield
	College}, University of London, UK and used in Principles of
	Functional Programming, Hugh Glaser et al, P-H 1984.

	(1994-12-01)

suicideware

	<jargon> A program which entirely stops functioning after a
	predefined date.  Used to ensure that {beta versions} don't
	remain in circulation indefinitely or in {demo versions} to
	ensure that they can only be used to try out the program.

	(1997-05-26)

SUIF

	Stanford University Intermediate Format.

	A register-oriented intermediate language.

	(1994-12-01)

suit

	1. Ugly and uncomfortable "business clothing" often worn by
	non-hackers.  Invariably worn with a "tie", a strangulation
	device that partially cuts off the blood supply to the brain.
	It is thought that this explains much about the behaviour of
	suit-wearers.

	2. A person who habitually wears suits, as distinct from a
	techie or hacker.

	See {loser}, {burble}, {management}, {Stupids}, {SNAFU
	principle}, and {brain-damaged}.

	[{Jargon File}]

	(1998-07-01)

suitably small

	<jargon, mathematics> (From mathematical jargon) An expression
	used ironically to characterise unquantifiable behaviour that
	differs from expected or required behaviour.  For example,
	suppose a newly created program came up with a correct
	full-screen display, and one publicly exclaimed: "It works!"
	Then, if the program dumped {core} on the first mouse click,
	one might add: "Well, for suitably small values of `works'."

	Compare the characterisation of pi under {for values of}.

	[{Jargon File}]

	(1997-09-21)

Suite Synthetique des Benchmarks de l'AFUU

	<benchmark> (SSBA, AFUU Synthetic Benchmark Suite) A {public
	domain} {benchmark} suite produced by the {AFUU}.

	Version: 2.3 (1995-07-14).

	(1996-06-11)

sum

	1. <theory> In {domain theory}, the sum A + B of two {domains}
	contains all elements of both domains, modified to indicate
	which part of the union they come from, plus a new {bottom}
	element.  There are two constructor functions associated with
	the sum:

		inA : A -> A+B       inB : B -> A+B
		inA(a) = (0,a)	     inB(b) = (1,b)

	and a disassembly operation:

		case d of {isA(x) -> E1; isB(x) -> E2}

	This can be generalised to arbitrary numbers of domains.

	See also {smash sum}, {disjoint union}.

	2. <tool> A {Unix} utility to calculate a 16-bit {checksum} of
	the data in a file.  It also displays the size of the file,
	either in {kilobytes} or in 512-byte blocks.  The checksum may
	differ on machines with 16-bit and 32-bit ints.

	{Unix manual page}: sum(1).

	(1995-03-16)

Summary Object Interchange Format

	<web, protocol> (SOIF) The attribute-value pair
	record format which {Harvest Brokers} use to exchange
	{Harvest} content summaries.

	SOIF provides a means of bracketing collections of summary
	objects, allowing {Harvest Brokers} to retrieve SOIF content
	summaries for many objects in a single, efficient compressed
	stream.  Harvest Brokers provide support for querying SOIF
	data using structured attribute-value queries and many other
	types of queries.

	{(http://ust.hk/Harvest/brokers/soifhelp.html)}.

	(1996-09-16)

SUMMER

	String manipulation and pattern matching language by Klint &
	Sint at {CWI} in the late 1970s.  It was recently used as the
	input and implementation language for the {Dataflow Compiler
	Project} at {CWI}.

	["An Overview of the SUMMER Programming Language", Paul Klint,
	7th POPL, ACM 1980, pp. 47-55].

SUMMER SESSION

	An early system on {MIT}'s {Whirlwind}.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-01-19)

sum of products

	1. <mathematics, logic> Any mathematical {expression} in which
	an addition operator is applied to two or more subexpressions
	each of which is an application of a multiplication operator.
	The most common case would be scalar addition and
	multiplication, e.g.

		ab + cd

	but the term is used for other kinds of operators with similar
	properties, such as AND and OR in {Boolean algebra}, e.g.

		(a AND b) OR (c AND d)

	2. <types> {algebraic data type}.

	(2008-02-04)

sum of products type

	{algebraic data type}

Sun

	{Sun Microsystems}

Sun-2 Workstation

	<computer> A {Unix} {workstation} produced by {Sun
	Microsystems, Inc.}, based on the {Motorola 68000}.  Followed
	by the {Sun-3 Workstation}.

	[Details?  Dates?]

	(2001-03-11)

Sun-3 Workstation

	<computer> A {Unix} {workstation} produced by {Sun
	Microsystems, Inc.} in the 1980s, based on the {Motorola
	68020}.  Successor to the {Sun-2 Workstation}, followed by the
	{Sun-4 Workstation}.  The Sun-3 had a custom {MMU}.  A couple
	of mutant models used an entirely different architecture.

	[Details?  Dates?]

	(2001-03-11)

Sun-4 Workstation

	<computer> A {Unix} {workstation} produced by {Sun
	Microsystems, Inc.} in the late 1980s[?], based on {SPARC}
	processors.  The Sun-4 followed the {Sun-3 Workstation}.
	Later SPARC-based workstations were called "{SPARCstations}".

	[Details?  Dates?  Was "Sun-4" a SPARCstation?]

	(2001-03-11)

sun lounge

	<jargon> (Great Britain) The room where all the {Sun}
	{workstations} live.  The humour in this term comes from the
	fact that it's also in mainstream use to describe a solarium,
	and all those Sun workstations clustered together give off an
	amazing amount of heat.

	[{Jargon File}]

	(1995-01-19)

Sun Microsystems, Inc.

	<company> One of the first, and now biggest, US computer
	manufacturers.  They also manufacture in Europe.  The Sun-2
	and 3 series of {workstations} and {servers} were based on the
	{Motorola} {680x0} family of {microprocessors} and the Sun-4
	series on the {SPARC}.  Sun also produce their own version of
	{Unix}, originally called {SunOS} and now {Solaris}.  Their
	{Network File System} has become the {de facto standard} for
	sharing files between Unix systems.

	Sun own {MySQL AB}.  Sun was bought by {Oracle Corporation} on
	2009-04-20.

	Quarterly sales $1403M, profits $78M (Aug 1994).

	{(http://sun.com/)}.  {Sun World Online
	(http://sun.com/sunworldonline/)}.

	Address: 2550 Garcia Ave., Mt. View, CA 94043 -1100 USA.

	(1995-10-14)

SunOS

	<operating system> {Sun Microsystems}' version of {Unix} for
	Sun {workstations}.  SunOS is similar to {BSD Unix} with some
	{SVR4} features and {OpenWindows} 3.0.

	After version 4, SunOS was integrated into Sun's {Solaris}
	"operating environment".

	(1999-03-26)

sunspots

	1. Notional cause of an odd error.  "Why did the program
	suddenly turn the screen blue?"  "Sunspots, I guess."

	2. Also the cause of {bit rot} - from the myth that sunspots
	will increase {cosmic rays}, which can flip single bits in
	memory.  See also {phase of the moon}.

	[{Jargon File}]

sun-stools

	Unflattering hackerism for {SunTools}, a pre-{X} windowing
	environment notorious in its day for size, slowness, and
	misfeatures.  {X}, however, is larger and slower; see
	{second-system effect}.

SunView

	A windowing system from {Sun Microsystems}, superseded by
	{NeWS}.

SUNY

	{State University of New York}

SUPER

	The successor to {LOGLISP}, based on {LNF}.

	["New Generation Knowledge Processing: Final Report on the
	SUPER System", J Alan Robinson et al, CASE Center TR 8707,
	Syracuse U, 1987].

	(1994-11-24)

Super 7

	<hardware, standard> An upgrade to {Socket 7} to support {AGP}
	and a 100 MHz {system bus},, supported by non-{Intel}
	{processor} and {motherboard} manufacturers such as {AMD} and
	{Cyrix}.

	Due to faster access to {L2 cache} and memory, Super 7 gives a
	10% performance boost over Socket 7 motherboards for the same
	processor.  Super 7 motherboards should support all Socket 7
	processors.

	(1999-08-04)

Superbrain

	<computer> A {personal computer} released in 1980 by {Intertec}.
	The Superbrain had two {Z80A} {microprocessors} running at 4 MHz,
	one for the main processing and the other for peripheral
	activities.  It had an integrated {keyboard} and {display}.  It
	was sold with the {CP/M} {operating system}, {Microsoft Basic}, an
	{8080} {assembler} and {Microsoft Cobol 74}.

	The base model, the "Superbrain 10", had no drives, only a network
	connection.  Other models added one or two 5" {floppy disc} units.
	The "Jr" had 170K drives (single-sided), the "QD" had 340 KB
	drives (double-sided) and the "SD" had 780k.

	Intertec did not sell or support a hard drive or an {S-100} bus
	for these machines.

	The network version of the SuperBrain was called CompuStar.  The
	network was a large gray parallel cable.  CompuStar had three
	"file servers" that accepted up to 255 machines.  These were the
	"DSS-10" with a 10MB 8" Winchester drive; the "CDC" with 96MB
	consisting of 80MB fixed and a 16MB removable platter; and the
	"Priam" with a 144MB 14" platter winchester.  Intertec
	manufactured the controllers for the last two and an enclosure and
	power supply for the Priam.  CDC had to go on-site to install the
	96MB.

	The SuperBrain was succeeded in 1982 by the {SuperBrain II}.

	{(http://www.old-computers.com/museum/computer.asp?st=1&c=204)}.

	(2013-12-30)

SuperBrain II

	<computer> The 1982 successor to the {Superbrain} with a faster
	and enhanced {disk operating system} and improved {video} and
	{graphics}.

	{(http://www.old-computers.com/museum/computer.asp?st=1&c=204)}.

	(2013-12-30)

superclass

	{class hierarchy}

supercombinators

	{Combinators} with coarser granularity than those proposed by
	{David Turner}.  A {functional program} is translated to a set
	of functions without {free variables}.  The members of the set
	are selected to be optimal for that program.  Supercombinators
	were proposed by John Hughes at {University of Edinburgh}.

supercompilation

	A function program transformation technique invented by
	Turchin.  A program is evaluated symbolically in order to
	observe the possible history of computation states called
	configurations.  Based on this Turchin's REFAL compiler would
	try to construct a better program.

supercomputer

	<computer> A broad term for one of the fastest computers
	currently available.  Such computers are typically used for
	{number crunching} including scientific {simulations},
	(animated) {graphics}, analysis of geological data (e.g. in
	petrochemical prospecting), structural analysis, computational
	fluid dynamics, physics, chemistry, electronic design, nuclear
	energy research and meteorology.  Perhaps the best known
	supercomputer manufacturer is {Cray Research}.

	A less serious definition, reported from about 1990 at The
	{University Of New South Wales} states that a supercomputer is
	any computer that can outperform {IBM}'s current fastest, thus
	making it impossible for IBM to ever produce a supercomputer.

	(1996-12-13)

SuperDrive

	<storage> {Apple Computer, Inc.}'s name for a combined
	{DVD-ROM}, {DVD-RW}, {CD-RW} drive that appeared in the {iMac}
	in 2002.

	(2009-05-05)

superhighway

	{information superhighway}

SuperJanet

	An initiative started in 1989, under the Computer Board, with
	the aim of developing of a national {broadband} network to
	support UK higher education and research.  The preparatory
	work culminated in 1992 with the award of a contract worth 18M
	pounds to British Telecom to provide networking services over
	a four year period that extends to March 1997.

	The BT contract will provide a national network with two
	components: a high speed, configurable bandwidth network
	serving up to 16 sites, initially using {PDH} to be replaced
	with {SDH}, and a high speed switched data service ({SMDS})
	serving 50 or more sites.  The primary role of the PDH/SDH
	component will be to support the development and deployment of
	an {ATM} network.  These components will be complemented by
	several high performance {Metropolitan Area Networks} each
	serving several closely located sites.  The aim is to provide,
	within the first year of the project, a pervasive network
	capable of supporting a large and diverse user community.

	The network has two parts, an {IP} data network and an ATM
	network, both operating at 34Mbit/s.  Early in August 1993 the
	pilot IP network was transferred to full service and was
	configured to provide a trunk network for JIPS, the {JANET IP
	Service}.

	In November 1993 work was well advanced on the next phase
	which aims to extend SuperJANET to a large number of sites.
	The pilot four site ATM network will be extended to serve
	twelve sites and will expand the scope of the video network.
	The principal vehicle used for the expansion of the data
	network will be the {SMDS} service provided by {BT}.  Most of
	the work associated with the development of this phase is
	expected to be completed by the end of March 1994.

	[Joint Network Team, Network News 40, ISSN 0954 - 0636].

	{(ftp://osiris.jnt.ac.uk/pub/newsfiles/documents/netwnews/news40+/news40.para)}.

	[Current status?]

	(1994-12-15)

SUPERMAC

	A general-purpose {macro} language, embeddable in existing
	languages as a run-time library.

	["SUPERMAC - A Macro Facility That can be Added to Existing
	Compilers", P.J. Brown, Soft Prac & Exp 10(6):431-434].

	(1994-12-15)

super minicomputer

	<computer> Any {minicomputer} distinguished by having
	{intelligent peripherals} or multiple processors.  The {DEC
	PDP-8} was a minicomputer, the PDP-11 could be a minicomputer
	or a super minicomputer depending upon the sub-model.

	(2004-08-25)

SuperPaint

	<graphics> A pioneering {graphics} program and {framebuffer}
	computer system developed by {Richard Shoup} at {Xerox PARC}.
	Design started in 1972 and the system produced its first
	stable image in April 1973.  SuperPaint was one of the first
	computers used for creative work, video editing and animation,
	all which would become major sections within the entertainment
	industry and major components of industrial design.

	SuperPaint had a {graphical user interface} and could capture
	images from video input or combine them with digital data.
	SuperPaint was the first program with features such as
	changing {hue, saturation and value}, a {colour palette},
	custom {polygons} and lines, virtual paintbrushes and pencils,
	auto-filling of images and {anti-aliasing}.

	{Richard Shoup's website
	(http://www.rgshoup.com/prof/SuperPaint/)}.

	(2008-11-27)

Super Pascal

	<language> A {Pascal} variant used in the reference below.
	Super Pascal adds
	non-numeric {labels}, a {return statement} and {expressions} as
	names of {types}.

	["Data Structures and Algorithms", A.  Aho, Hopcroft & Ullman,
	A-W 1983]

	(2004-08-25)

superpipelined

	1. Traditional {pipelined} architectures have a single
	pipeline stage for each of: instruction fetch, instruction
	decode, memory read, {ALU} operation and memory write.  A
	superpipelined {processor} has a {pipeline} where each of
	these logical steps may be subdivided into multiple {pipeline}
	stages.

	2. Marketese for {pipelined}.

superprogrammer

	A prolific programmer; one who can code exceedingly well and
	quickly.  Not all hackers are superprogrammers, but many are.
	Productivity can vary from one programmer to another by three
	orders of magnitude.  For example, one programmer might be
	able to write an average of three lines of working code in one
	day, while another, with the proper tools, might be able to
	write 3,000.  This range is astonishing; it is matched in very
	few other areas of human endeavour.

	The term "superprogrammer" is more commonly used within such
	places as IBM than in the hacker community.  It tends to
	stress naive measures of productivity and to underweight
	creativity, ingenuity, and getting the job *done* - and to
	sidestep the question of whether the 3,000 lines of code do
	more or less useful work than three lines that do the {Right
	Thing}.  Hackers tend to prefer the terms {hacker} and
	{wizard}.

	[{Jargon File}]

superscalar

	<architecture> A superscalar architecture is a {uniprocessor}
	that can execute two or more {scalar} operations in parallel.
	Some definitions include {superpipelined} and {VLIW}
	architectures; others do not.  Superscalar architectures
	(apart from superpipelined architectures) require multiple
	{functional units}, which may or may not be identical to each
	other.  In some superscalar processors the order of
	instruction execution is determined statically (purely at
	compile-time), in others it is determined dynamically (partly
	at run time).

super source quench

	A special packet designed to shut up an {Internet} host.  The
	{Internet Protocol} (IP) has a control message called Source
	Quench that asks a host to transmit more slowly on a
	particular connection to avoid congestion.  It also has a
	Redirect control message intended to instruct a host to send
	certain packets to a different local router.  A "super source
	quench" is actually a redirect control packet, forged to look
	like it came from a local router, that instructs a host to
	send all packets to its own local loopback address.  This will
	effectively tie many Internet hosts up in knots.  Compare
	{godzillagram}, {breath-of-life packet}.

	[{Jargon File}]

SuperTalk

	Silicon Beach Software.  A superset of HyperTalk used in
	SuperCard.

superuser

	[Unix] Synonym {root}, {avatar}.  This usage has spread to
	non-Unix environments; the superuser is any account with all
	{wheel} bits on.  A more specific term than {wheel}.

	[{Jargon File}]

Super VGA

	{Super Video Graphics Array}

Super Video Graphics Adapter

	{Super Video Graphics Array}

Super Video Graphics Adaptor

	{Super Video Graphics Array}

Super Video Graphics Array

	<hardware> (SVGA) A {video display} {standard} created by
	{VESA} for {IBM PC} compatible personal computers.  The
	resolution is 800 x 600 4-bit {pixels}.  Each pixel can
	therefore be one of 16 colours.

	See {Video Graphics Array}.

	[Is there a palette?  Standard document?  Adapter, Adaptor, or
	Array?]

	(1995-01-12)

supervisor mode

	(Or "{supervisor state}") An execution mode on some processors
	which enables execution of all instructions, including
	{privileged instructions}.  It may also give access to
	different a {address space}, to {memory management} hardware
	and to other peripherals.  This is the mode in which the
	{operating system} usually runs.

	Opposite: {user mode}.

	(1995-02-15)

Supervisory Control and Data Acquisition

	<application> (SCADA) Systems are used in industry to monitor
	and control plant status and provide logging facilities.
	SCADA systems are highly configurable, and usually interface
	to the plant via {PLCs}.

	(1997-02-11)

SuperZap

	<tool, IBM> An {IBM} {utility program} used to quickly {patch}
	{operating system} or {application program} executable {code}
	in preference to editing the {source code} and recompiling.

	The SuperZAP program was a quick hack written by one IBM
	Engineer, possibly from IBM UK, in the late 1960s to directly
	fix executable files.  He needed to fix a bug but it would
	have taken hours to rebuild the vast {OS/360} executables.

	The {S/360} architecture has an instruction ZAP (Zero and Add
	Packed) for {packed decmial} arithmetic, that sets the byte at
	a given address to a given value.  Superzap used this to write
	data given as a string of hex digits to a given location in an
	executable file in a matter of seconds.

	Soon the IBM development labs were releasing all Programming
	Temporary Fixes (PTFs) to OS/360 in this form.  OS/360
	included a version called IMASPZAP or AMASPZAP which persisted
	through {MVS}, {MVS/SP}, {MVS/XA}, {OS/390} and probably still
	remains in {z/OS}, the distant descendent of OS/360.

	[Private 2004-02-05 e-mail from Chris Gage, IBM employee and
	SuperZap user, 1970-].

	(2007-03-15)

Supplementary Ideographic Plane

	<text, standard> (SIP) The third plane (plane 2) defined in
	{Unicode}/{ISO 10646}, designed to hold all the {ideographs}
	descended from Chinese writing (mainly found in Vietnamese,
	Korean, Japanese and Chinese) that aren't found in the {Basic
	Multilingual Plane}.  The BMP was supposed to hold all
	ideographs in modern use; unfortunately, many Chinese dialects
	(like Cantonese and Hong Kong Chinese) were overlooked; to
	write these, characters from the SIP are necessary.  This is
	one reason even non-academic software must support characters
	outside the BMP.

	{Unicode home (http://unicode.org)}.

	(2002-06-19)

support

	<job> After-sale handholding; something many software vendors
	promise but few deliver.  To hackers, most support people are
	useless - because by the time a hacker calls support he or she
	will usually know the software and the relevant manuals better
	than the support people.  A hacker's idea of support is an
	electronic exchange with the software's designer.

	[{Jargon File}]

	(1995-02-15)

supremum

	{least upper bound}

Sure

	["Towards a Broader Basis for Logic Programming", Bharat
	Jayaraman, TR CS Dept, SUNY Buffalo, 1990].

	(1995-01-05)

surfing

	("Internet surfing") Used by analogy to describe the ease with
	which an expert user can use the waves of information flowing
	around the {Internet} to get where he wants.  The term became
	popular in the early 1990s as access to the {Internet} became more
	widespread and tools such as {web browsers} made its use simpler
	and more pleasant.

	(1995-01-05)

SURGE

	Sorter, Updater, Report Generator, Etc.  IBM 704, 1959.
	Sammet 1969, p.8.

surjection

	<mathematics> A function f : A -> B is surjective or onto or a
	surjection if f A = B.  I.e. f can return any value in B.
	This means that its {image} is its {codomain}.

	Only surjections have {right inverses}, f' : B -> A where
	f (f' x) = x since if f were not a surjection there would be
	elements of B for which f' was not defined.

	See also {bijection}, {injection}.

	(1995-05-27)

surjective

	{surjection}

surrogate key

	<database> A unique {primary key} generated by the {RDBMS}
	that is not derived from any data in the database and whose
	only significance is to act as the primary key.

	A surrogate key is frequently a sequential number (e.g. a
	{Sybase} "{identity column}") but doesn't have to be.  Having
	the key independent of all other columns insulates the
	database relationships from changes in data values or database
	design and guarantees uniqueness.

	Some database designers use surrogate keys religiously
	regardless of the suitability of other {candidate keys}.
	However, if a good key already exists, the addition of a
	surrogate key will merely slow down access, particularly if it
	is indexed.

	Compare: {intelligent key}.

	(1999-12-07)

suspension

	In {lazy evaluation}, a suspension (or in Henderson's
	terminology, a "recipe") is a {closure} with a flag indicating
	whether the expression has been evaluated or not.  When the
	expression is evaluated the first time, this flag is set.
	Subsequent requests for the value of the expression will not
	attempt to re-evaluate it.

	(1995-02-06)

Suzie COBOL

	/soo'zee koh'bol/ 1. ({IBM}, probably from Frank Zappa's "Suzy
	Creamcheese") A coder straight out of training school who
	knows everything except the value of {comments} in plain
	English.  Also (fashionable among personkind wishing to avoid
	accusations of sexism) "Sammy Cobol" or (in some non-IBM
	circles) "Cobol Charlie".

	2. (proposed) Meta-name for any {code grinder}, analogous to
	{J. Random Hacker}.

	[{Jargon File}]

	(1995-02-06)

sv

	<networking> The {country code} for El Salvador.

	(1999-01-27)

SVC

	1. <operating system> {Supervisor Call}.

	2. <networking> {switched virtual connection}.

	(2001-10-25)

SVG

	{Scalable Vector Graphics}

SVGA

	<hardware> {Super Video Graphics Array} (not
	"Adapter").

	(1995-11-16)

SVGA monitor

	<hardware, graphics> A {monitor} capable of displaying the
	output of an {SVGA} card.

	(1997-02-25)

SVID

	{System V Interface Definition}

S-Video

	<multimedia> A {video} format offering a higher quality signal
	than {composite video}, but a lower quality than {component
	video}.  This mid-level format divides the signal into two
	channels - {luminance} and {chrominance}.

	[Used where and for what?]

	(1998-06-25)

SVR4

	{AT&T}/{USL} {Unix} {System V} Release 4.

	(1995-03-28)

SVRC

	<body> {Software Verification Research Centre}.

	(1995-11-14)

SVS

	{OS/VS2}

swab

	/swob/ The {PDP-11} swap byte instruction mnemonic, as
	immortalised in the {dd} option "conv=swab".

	1. To solve the {NUXI problem} by swapping bytes in a file.

	2.  The program in V7 Unix used to perform this action, or
	anything functionally equivalent to it.

	See also {big-endian}, {little-endian}, {middle-endian},
	{bytesexual}.

	[{Jargon File}]

SWAG

	<jargon> Scientific (or Silly) Wild Ass Guess.  A term used by
	technical teams when establishing high level sizings for large
	projects.

	(2000-08-09)

swap

	<operating system> To move a program from fast-access memory
	to a slow-access memory ("swap out"), or vice versa ("swap
	in").  The term often refers specifically to the use of a
	{hard disk} (or a {swap file}) as {virtual memory} or "swap
	space".

	When a program is to be executed, possibly as determined by a
	{scheduler}, it is swapped into {core} for processing; when it
	can no longer continue executing for some reason, or the
	scheduler decides its {time slice} has expired, it is swapped
	out again.

	This contrasts with "paging" systems in which only parts of a
	program's memory is transfered.

	[{Jargon File}]

	(1996-11-22)

swap file

	<operating system> A file used by a {program} or, more often,
	an {operating system} as {swap space}.  A swap file is usually
	allocated as a long contiguous section of a {hard disk} to
	reduce access time.  The disk space used for a swap file can
	not be used for other things.  Under {Microsoft Windows}, swap
	files are recommended not to exceed three times the available
	{RAM} and are usually 150 percent of the RAM size.

	(1996-11-15)

swapped in

	{swap}

swapped out

	{swap}

swapping

	{swap}

swap space

	<operating system> An area of disk (e.g. a {swap file}) used
	to store the state of a process that has been {swap}ped out.
	Under a {virtual memory} system, it is the amount of swap
	space rather than the amount of {physical memory} which
	determines the maximum size of a single process and the
	maximum total size of all active processes.

	[{Jargon File}]

	(1994-11-03)

Sweden

	<networking> {Country code}: se.

SweetLambda

	Sugared {lambda-calculus}(?).

swf

	<filename extension> /S W F/ The {filename extension} for
	{Adobe} {Shockwave} {Flash} animated {vector graphics} files,
	common on the {web}.

	A rarely used alternative expansion is "Small Web Format".

	(2007-09-07)

Swing

	<programming> {Java}'s {graphical user interface} (GUI)
	package that provides a large collection of {widgets}
	(buttons, labels, lists etc.) that behave similarly on
	different {platforms}.  Swing features "pluggable look &
	feel", allowing the program to look like a {Windows}, {Motif}
	or {Macintosh) application.  It is implemented using the
	{Model View Controller} (MVC) architecture and makes extensive
	use of nested "containers" to control the handling of {events}
	such as keystrokes.

	{(http://java.sun.com/j2se/1.3/docs/api/javax/swing/package-summary.html)}.

	(2007-05-30)

SWI-Prolog

	<programming> A {Prolog} by Jan Wielemaker
	<jan@swi.psy.uva.nl> like a superset of {Edinburgh Prolog}.
	Version 1.7.2.  Docking Station is distributed under {General
	Public License}.  It runs on {Sun-4}, {Sun-3}, {Linux}, {DEC}
	{MIPS} (incomplete), {RS/6000}, {PS2}/{AIX}, {Atari ST},
	{Gould PN}, {NeXT}, {VAX}, {HP-UX} (problems), {MS-DOS}, and
	{OS/2}.

	{(ftp://swi.psy.uva.nl/pub/SWI-Prolog)}.

	{OS/2 (ftp://mpii02999.ag2.mpi-sb.mpg.de/pub/toolw/SWI/)}.

	Mailing list: prolog-request@swi.psy.uva.nl.

	(2000-03-23)

Swiss Army Code

	<programming, humour> {Code} for an {application} that is
	suffering from {feature creep}.  Swiss Army Code does many
	things, but does none of them well.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2014-06-06)

switch

	1. <programming> {switch statement}.

	2. <software> {command line option}.

	3. <networking> {packet switch}, {circuit switch}.

	(1999-01-14)

Switched Multimegabit Data Service

	<networking> (SMDS) An emerging high-speed {datagram}-based
	public data {network} service developed by {Bellcore} and
	expected to be widely used by telephone companies as the basis
	for their data networks.

	See also {Metropolitan Area Network}.

	(1997-01-31)

switched virtual circuit

	{virtual circuit}

switched virtual connection

	<networking> (SVC) A {virtual connection} in an {ATM} network
	set up on demand by the {signalling control point}.

	Contrast with {permanent virtual connection}.

	(2001-06-29)

switching

	<networking> Establishing the correct path through a network
	for a single packet of data ({packet switching}) or a
	persistent end-to-end connection ({circuit switching}).

	(2007-08-16)

switching hub

	<networking> A {circuit switching} {hub}.

	(1999-01-01)

switch statement

	<programming> (Or case statement, multi-way branch) A
	construct found in most {high-level languages} for selecting
	one of several possible blocks of code or branch destinations
	depending on the value of an expression.  An example in {C} is

		switch (foo(x, y))
		{
		case 1:  printf("Hello\n");	/* fall through */
		case 2:  printf("Goodbye\n"); break;
		case 3:  printf("Fish\n"); break;
		default: fprintf(stderr, "Odd foo value\n"); exit(1);
		}

	The break statements cause execution to continue after the
	whole switch statemetnt.  The lack of a break statement after
	the first case means that execution will {fall through} into
	the second case.  Since this is a common programming error you
	should add a comment if it is intentional.

	If none of the explicit cases matches the expression value
	then the (optional) default case is taken.

	A similar construct in some {functional languages} returns the
	value of one of several expressions selected according to the
	value of the first expression.  A distant relation to the
	modern switch statement is {Fortran}'s {computed goto}.

	(1997-01-30)

swizzle

	To convert external names, array indices, or references within
	a data structure into address pointers when the data structure
	is brought into main memory from external storage (also called
	"pointer swizzling"); this may be done for speed in chasing
	references or to simplify code (e.g. by turning lots of name
	lookups into pointer dereferences).  The converse operation is
	sometimes termed "unswizzling".

	See also {snap}.

	[{Jargon File}]

SWL

	{Software Writer's Language}

SWT

	{Standard Widget Toolkit}

swung dash

	<character> A {character} similar to {tilde} but appearing
	in the same vertical position as a {dash}, i.e. half way up
	rather than at the top like tilde.  {ASCII} does not include a
	swung dash so tilde is used instead.

	It is commonly used for "approximates" or "is approximately
	equal to".

	(1997-06-28)

sy

	<networking> The {country code} for Syria.

	(1999-01-27)

Sybase, Inc.

	<company> A software vendor focused on {database} management
	software.

	Yearly sales: $903.9 million (1997).

	Address: 6475 Christie Ave., Emeryville, California, USA.

	{(http://sybase.com)}.

	(1998-05-18)

Sybase SQL Server

	{Adaptive Server Enterprise}

SYDEL

	A system language, fully typed, with inline {assembly code},
	by Jan Garwick, ca 1974.

SYGMA

	A symbolic generator and macro assembler by A.P. Ershov et al
	of Novosibirsk.  For the {BESM-6}, {M-220} and {Minsk-22}.

	["SYGMA, A Symbolic Generator and Macroassembler", A.P. Ershov
	et al, in Symbol Manipulation Languages and Techniques,
	D.G. Bobrow ed, N-H 1968, pp.226- 246].

SYLK

	{Symbolic Link}

syllogism

	/sil'oh-jiz`*m/ <logic> Deductive reasoning in which a
	conclusion is derived from two premises.  The conclusion
	necessarily follows from the premises so that, if these are
	true, the conclusion must be true, and the syllogism amounts
	to demonstration.  To put it another way, the premises {imply}
	the conclusion.

	For example, every virtue is laudable; kindness is a virtue;
	therefore kindness is laudable.

	Strangely, a syllogism can still be true if the premises are
	false.

	Compare {inference rule}.

	[Relationship between premises?]

	(2009-10-28)

Sylvan

	[Distributed language?]

Symantec

	<company> Software manufacturer of utility and development
	applications for {Windows} and {Macintosh} platforms.
	Products include ACT!, Norton Utilities, Norton AntiVirus,
	Symantec AntiVirus for Macintosh, Symantec Cafe.

	{(http://symantec.com/)}.

	(1997-03-10)

SYMBAL

	SYMbolic ALgebra.  A {symbolic mathematics} language with
	{ALGOL}-like syntax by Max Engeli, late 60's.  Implemented for
	{CDC 6600}.

	["User's Manual for the Formula Manipulation Language SYMBAL",
	M. Engeli, TRM-8.00, Comp Ctr UT Austin, June 1968].

SymbMath

	<mathematics, tool> A small {symbolic mathematics} package for
	{MS-DOS} which can learn new facts.

	Latest version: 2.1.1.

	{(Home (http://symbmath.com/)}.

	(2001-03-26)

SYMBOLANG

	Lapidus & Goldstein, 1965.  Symbol manipulating Fortran
	subroutine package for IBM 7094, later CDC 6600.

	["Some Experiments in Algebraic Manipulation", CACM 8:501-508
	1965].

	(1995-03-16)

Symbolic Assembler Program

	<language> (SAP) The {assembly language} for the {IBM 704},
	defined in the late 1950s.

	(1994-12-12)

SYMBOLIC ASSEMBLY

	<language> An early system on the {IBM 705}.

	[Listed in CACM 2(5):16, May 1959].

	(1996-01-15)

Symbolic Automatic INTegrator

	<mathematics, tool> (SAINT) A {symbolic mathematics} program
	written in {Lisp} by J. Slagle at {MIT} in 1961.

	[Sammet 1969, p. 410].

	(1994-12-08)

symbolic inference

	The derivation of new facts from known facts and {inference
	rules}.  This is one of the fundamental operations of
	{artificial intelligence} and {logic programming} languages
	like {Prolog}.

	Inference is a basic part of human reasoning.  For example
	given that all men are mortal and that Socrates is a man, it
	is a trivial step to infer that Socrates is mortal.  We might
	express these symbolically:

		man(X) => mortal(X).
		man(socrates).

	("if X is a man then X is mortal" and "Socrates is a man").
	Here, "man", "mortal" and "socrates" are just arbitrary
	symbols which the computer manipulates without reference to or
	knowledge of their external meaning.  A {forward chaining}
	system (a {production system}) could use these to infer the
	new fact

		mortal(socrates).

	simply by matching the left-hand-side of the implication
	against the fact and substituting socrates for the variable X.

	(1994-10-28)

Symbolic Link

	<file format> (SYLK) A {Microsoft} file format for
	{spreadsheets}, (not to be confused with {symbolic link}).

	SYLK format existed in one form or another in as early as
	1987, and was part of {Excel} v1.0.  It is is an outgrowth of
	{VisiCalc} {DIF} file format.

	SYLK format is ascii text and represents information about
	both formula, value, and some formatting information, which
	makes it something like an {RTF} for spreadsheets.  It is used
	as a general tabular data exchange format.

	{(http://netghost.narod.ru/gff/graphics/summary/micsylk.htm)}.

	[Reference?]

	(2004-04-08)

symbolic link

	<file system> (Or "symlink", "soft link" (by contrast with
	"{hard link}"), "{shortcut}", "{alias}") A special type of
	{Unix} file which refers to another file by its {pathname}.  A
	symbolic link is created with the "ln" (link) command:

		ln -s OLDNAME NEWNAME

	Where OLDNAME is the target of the link (usually a pathname)
	and NEWNAME is the pathname of the link itself.

	Most operations ({open}, {read}, {write}) on the symbolic link
	automatically {dereference} it and operate on its target
	(OLDNAME).  Some operations (e.g. removing) work on the link
	itself (NEWNAME).

	In contrast with {hard links}, there are no restrictions on
	where a symbolic link can point, it can refer to a file on
	another file system, to itself or to a file which does not
	even exist (e.g. when the target of the symlink is removed).
	Such problems will only be detected when the link is accessed.

	(1997-10-22)

symbolic logic

	<logic> The discipline that treats formal {logic} by means of
	a formalised artificial language or symbolic calculus, whose
	purpose is to avoid the ambiguities and logical inadequacies
	of {natural language}.

	(1995-12-24)

Symbolic Mathematical Laboratory

	<tool, mathematics> An on-line system under {CTSS} for
	{symbolic mathematics}.  It used a {display screen} and a
	{light pen}.

	[Sammet 1969, p.514].

	(1995-04-16)

symbolic mathematics

	<mathematics, application> (Or "symbolic math") The use of
	computers to manipulate mathematical equations and expressions
	in symbolic form, as opposed to manipulating the numerical
	quantities represented by those symbols.  Such a system might
	be used for symbolic integration or differentiation,
	substitution of one expression into another, simplification of
	an expression, change of subject etc.

	One of the best known symbolic mathematics software packages
	is {Mathematica}.  Others include {ALAM}, {ALGY}, {AMP},
	{Ashmedai}, {AXIOM*}, {CAMAL}, {CAYLEY}, {CCalc}, {CLAM},
	{CoCoA}(?), {ESP}, {FLAP}, {FORM}, {FORMAL}, {Formula ALGOL},
	{GAP}, {JACAL}, {LiE}, {Macaulay}, {MACSYMA}, {Magic Paper},
	{MAO}, {Maple}, {Mathcad}, {MATHLAB}, {MuMath}, {Nother},
	{ORTHOCARTAN}, {Pari}, {REDUCE}, {SAC-1}, {SAC2}, {SAINT},
	{Schoonschip}, {Scratchpad I}, {SHEEP}, {STENSOR}, {SYMBAL},
	{SymbMath}, {Symbolic Mathematical Laboratory}, {TRIGMAN},
	{UBASIC}.

	{Usenet} newsgropup: {news:sci.math.symbolic}.

	(1995-04-12)

Symbolic Optimal Assembly Program

	<language> (SOAP) The {IBM 650}'s {assembly language}.
	"Optimal" refers to rearranging instructions on slowly
	rotating {drum memory}.

	Versions: SOAP I, SOAP II, CASE SOAP III.

	[Listed in CACM 2(5):16, May 1959].

	(1994-11-04)

Symbolic Optimum DEUCE Assembly Program

	<language> (SODA) The symbolic {assembler} for a {one-level
	storage} {virtual machine} for the {English ELectric} {DEUCE}.

	["SODA Manual of Operation", R. C. Brigham and C. G. Bell,
	School of Elec Eng, U New S Wales, Sydney, NSW, 1958].

	(1994-11-04)

Symbolics, Inc.

	<company> The company which produced the {Lisp Machine}.

	{The Symbolics Museum (http://SMBX.org/)}.

	[Summary?]

	(2003-11-24)

Symbol Manipulation Program

	(SMP) {Steven Wolfram}'s earlier symbol manipulation program,
	before he turned to {Mathematica}.

	["SMP Handbook", C. Cole, S. Wolfram et al, Caltech 1981].

	(1995-01-29)

symlink

	{symbolic link}

symmetric

	<mathematics> 1. A {relation} R is symmetric if, for all x and
	y,

		x R y  =>  y R x

	If it is also {antisymmetric} (x R y & y R x => x == y) then
	x R y => x == y, i.e. no two different elements are related.

	2. In {linear algebra}, a member of the {tensor product} of a
	{vector space} with itself one or more times, is symmetric if
	it is a {fixed point} of all of the {linear isomorphisms} of
	the tensor product generated by {permutations} of the ordering
	of the copies of the vector space as factors.  It is said to
	be antisymmetric precisely if the action of any of these
	linear maps, on the given tensor, is equivalent to
	multiplication by the sign of the permutation in question.

	(1996-09-22)

symmetric key cryptography

	<cryptography> A {cryptography} system in which both parties
	have the same encryption {key}, as in {secret key
	cryptography}.

	Opposite: {public-key cryptography}.

	(1998-06-09)

Symmetric LISP

	A parallel {Lisp} in which environments are {first-class}
	objects.  It is implemented in {Common LISP}.

	["Parallelism, Persistence and Meta-Cleanliness in the
	Symmetric Lisp Processor", D. Gelernter et al, SIGPLAN Notices
	22(7):274-282 (July 1987)].

	["A Programming Language Supporting First-Class Parallel
	Environments", S. Jagannathan, MIT-LCS/TR 434, 1989].

	E-mail: Suresh Jagannathan <suresh@research.nj.nec.com>.

	(1995-03-16)

symmetric multiprocessing

	<parallel> (SMP) Two or more similar {processors} connected
	via a high-{bandwidth} link and managed by one {operating
	system}, where each processor has equal access to I/O devices.
	This is in contrast to the "{compute server}" kind of
	{parallel processor} where a {front-end processor} handles all
	I/O to disks, terminals and {local area network} etc.

	The processors are treated more or less equally, with
	{application programs} able to run on any or perhaps all
	processors in the system, interchangeably, at the operating
	system's discretion.  Simple MP usually involves assigning
	each processor to a fixed task (such as managing the file
	system), reserving the single main CPU for general tasks.

	{OS/2} currently supports so-called HMP (Hybrid
	Multiprocessing), which provides some elements of symmetric
	multiprocessing, using add-on IBM software called MP/2.  OS/2
	SMP was planned for release in late 1993.

	(1995-03-19)

symmetric multiprocessor

	{symmetric multiprocessing}

Symphony

	<tool, product> {Lotus Development}'s successor to their
	{Lotus 1-2-3} spreadsheet.  Unlike 1-2-3, Symphony allowed a
	limited form of {multitasking}.  The user could switch
	manually between it and {MS-DOS} and separate graph and
	spreadsheet windows could be opened simultaneously and would
	be updated automatically when cells were changed.  In
	addition, a small word processor could be opened in a third
	window.  These all could be printed out on the same report.
	Symphony could read and write Lotus 1-2-3 files and had
	interactive graphical output and a word processor, thus making
	it effectively a report generator.  Unlike 1-2-3, Symphony was
	not a great commercial success.

	(1995-03-28)

SYMPL

	<language> SYsteMs Programming Language.

	{CDC}'s derivative of {Jovial}.  SYMPL is a non-{re-entrant}
	{block structured} language with extensive {bit manipulation}
	facilities, which is linkable with {Fortran}.  Major parts of
	CDC systems during the 1970s were written in SYMPL.

	(1995-02-14)

SYN

	1. <character> {Synchronous idle}.

	2. <language> A syntactic specification language for {COPS}.

	["Metalanguages of the Compiler Production System COPS",
	J. Borowiec, in GI Fachgesprach "Compiler-Compiler", ed
	W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].

	3. [TCP/IP SYN request?]

	(1996-04-17)

sync

	/sink/ (Or "synch") 1. To synchronise, to bring into
	synchronisation.

	2. <file system> To force ("{flush}") all pending buffered
	disk writes to the disk.

	3. More generally, to force a number of competing processes or
	agents to a state that would be "safe" if the system were to
	crash, i.e. to {checkpoint} in the {database} sense.

	[{Jargon File}]

	(1994-11-11)

Synchronized Multimedia Integration Language

	<hypertext, language, multimedia, text, web> (SMIL)
	A language based on {Extensible Markup Language} (XML), that
	enables people without programming or scripting backgrounds to
	author multimedia presentations in a simple {text editor}.
	SMIL is suitable for use on the {web}.

	For example, a developer can write SMIL to display an {image}
	after an {audio} track ends.

	SMIL uses two main tags: parallel and sequential.  It refers
	to media objects by URLs, allowing them to be shared between
	presentations and stored on different servers for {load
	balancing}.  The language can also associate different media
	objects with different bandwidths.

	SMIL 1.0 became an official recommendation of the {World Wide
	Web Consortium} W3C in June 1998.

	{W3C (http://w3c.org/audiovideo/)}.

	(2000-04-21)

synchronous

	<operating system, communications> 1. Two or more processes
	that depend upon the occurrences of specific events such as
	common timing signals.

	2. Occurring at the same time or at the same rate or with a
	regular or predictable time relationship or sequence.

	Opposite: {asynchronous}.

	(1996-04-11)

Synchronous Data Link Control

	<communications> (SDLC) An {IBM} {protocol}.

	A discipline conforming to subsets of the {ADCCP} of {ANSI}
	and the {HDLC} of the {International Organization for
	Standardization}.  SDLC manages synchronous, code-transparent,
	bit-serial communication which can be {duplex} or
	{half-duplex}; switched or non-switched; {point-to-point},
	{multipoint}, or loop.

	Compare {Binary Synchronous Communication}.

	(1995-03-22)

Synchronous Digital Hierarchy

	<communications, standard> (SDH) An international digital
	telecommunications network hierarchy which standardises
	transmission around the bit rate of 51.84 megabits per second,
	which is also called STS-1.  Multiples of this bit rate
	comprise higher bit rate streams.  Thus STS-3 is 3 times
	STS-1, STS-12 is 12 times STS-1, and so on.  STS-3 is the
	lowest bit rate expected to carry {ATM} traffic, and is also
	referred to as STM-1 (Synchronous Transport Module-Level 1).

	The SDH specifies how payload data is framed and transported
	synchronously across {optical fibre} transmission links without
	requiring all the links and nodes to have the same
	synchronized clock for data transmission and recovery
	(i.e. both the clock frequency and phase are allowed to have
	variations, or be {plesiochronous}).

	SDH offers several advantages over the current {multiplexing}
	technology, which is known as {Plesiochronous Digital
	Hierarchy}.  Where PDH lacks built-in facilities for automatic
	management and routing, and locks users into proprietary
	methods, SDH can improve network reliability and performance,
	offers much greater flexibility and lower operating and
	maintenance costs, and provides for a faster provision of new
	services.

	Under SDH, incoming traffic is synchronized and enhanced with
	{network management} bits before being multiplexed into the
	STM-1 fixed rate {frame}.

	The fundamental clock frequency around which the SDH or
	{SONET} framing is done is 8 KHz or 125 microseconds.

	SONET ({Synchronous Optical Network}) is the American version
	of SDH.

	(1995-03-02)

Synchronous DRAM

	{Synchronous Dynamic Random Access Memory}

Synchronous Dynamic Random Access Memory

	<storage> (SDRAM, Synchronous DRAM) A form of {DRAM} which
	adds a separate {clock} signal to the control signals.  SDRAM
	chips can contain more complex {state machines}, allowing them
	to support "burst" access modes that clock out a series of
	successive {bits} (similar to the {nibble mode DRAM}).

	(2007-05-08)

Synchronous Graphics RAM

	{Synchronous Graphics Random Access Memory}

Synchronous Graphics Random Access Memory

	<storage> (SGRAM, Synchronous Graphics RAM) A type of
	{Synchronous DRAM} optimised for use in {graphics} hardware.
	Extra features can include {burst operation}, {block write}
	and {write per bit}.  SGRAMs are designed to provide the very
	high {throughput} needed for graphics-intensive operations
	such as 3d {rendering} and {full-motion video}.

	(1996-11-28)

Synchronous idle

	<character> (SYN) The {mnemonic} for {ASCII} character 22.

	[Why?]

	(1996-06-28)

synchronous key encryption

	<algorithm, cryptography> Data {encryption} using two
	interlocking keys where enything encoded using one key may be
	decoded using the other key.  This means if someone makes one
	of the two keys publicly available (as in {public-key
	encryption}) and keeps the other private, then anyone may send
	them a message or data that only they can decode, giving
	privacy, and furthermore, the sender may also encrypt that
	same message additionally with their own private key, making
	it impossible to read without decoding first with *their*
	__public__ key by the receiver, this gives authenticity.

	It is a very powerful system.  One cannot determine one key
	from the other, nor can they crack the encryption by computing
	all combinations, because, depending on the size of the keys
	(sometimes as large as 1024 bytes, though having grown from
	smaller versions in popular implementations of the software
	which does this), the amount of computing power required to
	crack the code is unavailable, even supercomputers would take
	more than a hundred years to crack it.

	{PGP} is a publicly availble software implementation written
	by Phil Zimmermann.

	(1994-10-10)

Synchronous Optical NETwork

	<networking> (SONET) A {broadband} networking {standard} based
	on point-to-point {optical fibre} networks.  SONET will
	provide a high-bandwidth "pipe" to support {ATM}-based
	services.

	The SONET standard will establish a digital {hierarchical
	network} with a consistent worldwide transport scheme.  SONET
	has been designed to take advantage of fibre, in contrast to
	the {plain old telephone system} which was designed for copper
	wires.

	SONET carries {circuit-switched} data in {frames} at speeds in
	multiples of 51.84 megabits per second (Mbps) up to 48 * 51.84
	Mbps = 2.488 {gigabits} per second.  Since SONET uses multiple
	channels to transmit data, each SONET {frame} can be
	considered to be a two-dimensional table of bytes that is 9
	rows high and 90 columns deep.  For every {OC-n} level, SONET
	can transmit n number of frames at a given time.  Groups of
	frames are called {superframes}.

	SONET is the American version of {SDH}.

	[Wulf Losee; Corporate Computing 8.92; STACKS; LAN Magazine
	10.93].

	(1994-11-30)

syncronous

	<spelling> It's spelled "{synchronous}".

	(1996-12-13)

synflood

	<networking> To {flood} another machine with bogus {TCP/IP}
	{SYN} requests.

	(1997-04-07)

synonym ring

	<information science> A list of words with related meanings
	used to broaden the scope of a word search.  As well as
	returning documents which contain a sought-for word a search
	using a synonym ring might also return documents which contain
	words in the same synonym ring as a sought-for word.  Synonym
	rings are produced manually and are usually specific to a
	certain field, e.g. legal knowhow.

	(1997-04-09)

syntactic salt

	The opposite of {syntactic sugar}, a feature designed to make
	it harder to write bad code.  Specifically, syntactic salt is
	a hoop the programmer must jump through just to prove that he
	knows what's going on, rather than to express a program
	action.  Some programmers consider required type declarations
	to be syntactic salt.  A requirement to write "end if", "end
	while", "end do", etc. to terminate the last block controlled
	by a control construct (as opposed to just "end") would
	definitely be syntactic salt.  Syntactic salt is like the real
	thing in that it tends to raise hackers' blood pressures in an
	unhealthy way.  Compare {candygrammar}.

	[{Jargon File}]

syntactic sugar

	Term coined by Peter Landin for additions to the syntax of a
	language which do not affect its expressiveness but make it
	"sweeter" for humans to use.  Syntactic sugar gives the
	programmer an alternative way of coding that is more succinct
	or more like some familiar notation.  It does not affect the
	expressiveness of the formalism (compare {chrome}).

	Syntactic sugar can be easily translated ("desugared") to
	produce a program in some simpler "core" syntax.  E.g. C's
	"a[i]" notation is syntactic sugar for "*(a + i)".  In a
	(curried) functional language, all operators are really
	functions and the use of {infix notation} "x+y" is syntactic
	sugar for function application "(+) x y".

	Alan Perlis once quipped, "Syntactic sugar causes cancer of
	the semicolon."

	The variants "syntactic saccharin" and "syntactic syrup" are
	also recorded.  These denote something even more gratuitous,
	in that they serve no purpose at all.  Compare {candygrammar},
	{syntactic salt}.

syntax

	<language> The structure of valid strings in a given language,
	as described by a {grammar}.  For example, the syntax of a
	binary number could be expressed as

		binary_number = bit [ binary_number ]

		bit = "0" | "1"

	meaning that a binary number is a bit optionally followed by a
	binary number and a bit is a literal zero or one digit.

	The meaning of the language is given by its {semantics}.

	See also {abstract syntax}, {concrete syntax}.

	(1994-10-31)

Syntax-Case

	<language> A {macro} system for {Scheme} by R. Kent Dybvig
	<dyb@cs.indiana.edu>.  It is superior to the low-level system
	described in the Revised^4 Report ({R4RS}).  Pattern variables
	are ordinary identifiers with essentially the same status as
	lexical variable names and {macro} {keywords}.  The {syntax}
	is modified to recognise and handle references to pattern
	variables.  Version 2.1 works with {Chez Scheme} and the
	{Macintosh} port runs under {MacGambit} 2.0

	{(ftp://iuvax.cs.indiana.edu/pub/scheme/syntax-case.tar.Z)}.
	{Macintosh (ftp://maya.dei.unipd.it/pub/mac/gambit/)}.

	["Syntactic Abstraction in Scheme",
	Robert Hieb, R. Kent Dybvig and Carl Bruggeman
	IUCS TR #355, 6/92 (revised 7/3/92)].

	["Writing Hygienic Macros in Scheme with Syntax-Case", R. Kent
	Dybvig, IUCS TR #356, 6/92 (revised 7/3/92)].

	(1992-07-06)

syntax directed translation

	A technique where the structure of a language processor (e.g. a
	compiler) is based on the structure of the language's
	{abstract syntax}.  There might be one procedure in the
	translator corresponding to each category in the abstract
	syntax.  That procedure is responsible for processing
	constructs of that category.  Each procedure would call others
	corresponding to the construct's subconstituents and then
	combine their results to give the overall result for that
	construct.

Syntax/Semantic Language

	<language> (S/SL) A high level {specification language} for
	{recursive descent parsers} developed by J.R. Cordy
	<cordy@cs.queensu.ca> and R.C. Holt <holt@uwaterloo.ca> at the
	University of Toronto in 1980.

	S/SL is a small language that supports cheap recursion and
	defines input, output, and error token names (& values),
	semantic mechanisms (class interfaces whose methods are really
	escapes to routines in a host programming language but allow
	good abstraction in the pseudo-code) and a pseudo-code program
	that defines the syntax of the input language by the token
	stream the program accepts.  Alternation, control flow and
	one-symbol look-ahead constructs are part of the language.

	The S/SL processor compiles this pseudo-code into a table
	(byte-codes) that is interpreted by the S/SL table-walker
	(interpreter).  The pseudo-code language processes the input
	language in recursive descent LL1 style but extensions allow
	it to process any LRk language relatively easily.  S/SL is
	designed to provide excellent syntax error recovery and
	repair.  It is more powerful and transparent than yacc but
	slower.

	S/SL has been used to implement production commercial
	compilers for languages such as {PL/I}, {Euclid}, {Turing},
	{Ada}, and {COBOL}, as well as {interpreters}, {command
	processors}, and domain specific languages of many kinds.

	{(ftp://ftp.cs.queensu.ca/pub/cordy/ssl)}.

	["Specification of S/SL: Syntax/Semantic Language", J.R. Cordy
	and R.C. Holt, Computer Systems Research Institute, University
	of Toronto, 1980].

	["An Introduction to S/SL: Syntax/Semantic Language",
	R.C. Holt, J.R.  Cordy, and D.B. Wortman; ACM Transactions on
	Programming Languages and Systems (TOPLAS), Vol 4, No.  2,
	April 1982, pp 149-178].

	["Hierarchic Syntax Error Repair", D.T. Barnard and R.C. Holt,
	International Journal of Computing and Information Sciences,
	Vol. 11, No. 4, August 1982, Pages 231-258.]

	(2003-10-30)

syntax tree

	<mathematics, theory, language> A {tree} representing the
	{abstract syntax} of some {tokens} in a {language}.

	(1998-11-12)

synthesis

	<programming, specification> The process of deriving
	(efficient) programs from (clear) specifications.

	See also {program transformation}.

	(1996-08-23)

Synthesizer Specification Language

	(SSL) A specification language based on {term algebra} and
	{attribute grammars}.  SSL is used by the {Synthesizer
	Generator}, a generator for {language-based editors} such as
	the {Cornell Program Synthesizer}.

	["Generating Language Based Environments", T. Reps, MIT Press
	1984].

	(1994-12-16)

sypware

	{spyware}

SyQuest Technology, Inc.

	<company, hardware> An early entrant into the removable {hard
	disk} market for {personal computers}.  For may years SyQuest
	held the market, particularly as a method of transferring
	large {desktop publisher} documents to printers.  SyQuest aim
	their products to give personal computer users "endless" hard
	drive space for data-intensive applications like {desktop
	publishing}, {Internet} information management, pre-press,
	{multimedia}, {audio}, {video}, {digital photography}, fast
	{backup}, data exchange, {archiving}, confidential data
	security and easy portability for the road.

	At the top of their current (Mar 1997) range are two drives,
	The {SyJet} 1.5 {GB} a 3.5 inch, double platter removable
	drive and the {EZFlyer} 230 {MB} also on 3.5 inch media.  A
	cartridge holding over 4.7GB is promised before the end of
	1997.

	In recent years they have not fared as well in the market,
	whilst {Iomega} has cornered the {Small Office/Home Office}
	(SOHO) market.  Over the period 1995 to 1997 sales declined
	resulting in a series of losses.  In the first quarter of 1997
	these losses had been reduced to $6.8 million with net
	revenues increasing to $48.3 million.  This compares to a net
	loss of $33.8 million, or $2.98 per share, on net revenues of
	$78.7 million for the same period the year before.  It would
	appear that substantial restructuring has occurred over the
	past few years.

	{(http://syquest.com/)}.

	(1997-03-27)

sysadmin

	{system administrator}

sysape

	/sys'ayp/ A rather derogatory term for a computer operator; a
	play on {sysop} common at sites that use the banana hierarchy
	of problem complexity (see {one-banana problem}).

	[{Jargon File}]

Sysdeco Mimer AB

	<company> Part of the international software group Sysdeco
	Group AS.  They developed the {MIMER} {RDBMS}.

	{(http://mimer.se/)}.

	Address: Uppsala, Sweden.

	(1995-11-11)

sys-frog

	/sis'frog/ (the {PLATO} system) A playful variant of
	"{sysprog}".

	[{Jargon File}]

	(1994-11-04)

SYSKEY

	<cryptography, operating system, security> A utility that
	{encrpyts} the {hashed} {password} information in a {SAM}
	database using a 128-bit {encryption key}.

	SYSKEY was an optional feature added in {Windows NT} 4.0 SP3.
	It was meant to protect against {offline} password {cracking}
	attacks so that the SAM database would still be secure even if
	someone had a copy of it.  However, in December 1999, a
	security team from {BindView (http://bindview.com/)} found
	a security hole in SYSKEY which indicates that a certain form
	of {cryptoanalytic} attack is possible offline.  A
	{brute-force attack} then appeared to be possible.

	Microsoft later collaborated with BindView to issue a fix
	(dubbed the 'Syskey Bug') which appears to have been settled
	and SYSKEY pronounced secure enough to resist brute-force
	attack.

	According to Todd Sabin of the BindView team RAZOR, the
	pre-RC3 versions of {Windows 2000} were also affected.

	{BindView Security Advisory
	(http://packetstorm.securify.com/9912-exploits/bindview.syskey.txt)}.

	{BindView press release
	(http://bindview.com/news/99/1222.html)}.

	{Microsoft bulletin
	(http://microsoft.com/Security/Bulletins/ms99-056.asp)}.

	(2000-07-16)

SYSLISP

	System language used in the implementation of Portable
	Standard Lisp.  Mentioned in "The Evolution of Lisp",
	G.L. Steele et al, SIGPLAN Notices 28(3):231-270 (Mar 1993).

sysop

	{system operator}

Sysplex

	<operating system> An {IBM} term for communicating {MVS}
	systems.  See also "{Parallel Sysplex}".

	(1996-11-23)

sysprog

	{Systems programmer}

system

	1. The {supervisor} program or {operating system} on a
	computer.

	2. The entire computer system, including input/output devices,
	the {supervisor} program or {operating system} and possibly
	other {software}.

	3. Any large program.

	4. Any method or {algorithm}.

	[{Jargon File}]

System/360

	<computer> The generic name for the {CPUs} and architecture
	released by {IBM} on 1964-04-07.  The 360 was marketed as a
	general purpose computer with 'all round' functionality -
	hence 360 (degrees).

	Models ranged from the 360/20 to the 360/65 and later the
	360/95, with typical memory configurations from 16K to 1024K.

	Elements of the architecture, such as the basic {instruction
	set} are still in use on IBM {mainframes} today.  Operating
	System/360 ({OS/360}) was developed for System/360.  Other
	associated {operating systems} included {DOS}, {OS/MFT} and
	{OS/MVT}.

	The 360 architecture was based on an 8-bit {byte}, 16 general
	purpose {registers}, 24-bit addressing, and a PSW (Program
	Status Word) including a location counter.

	{Gene Amdahl}, then an IBM employee, is generally acknowledged
	as the 360's chief architect.  He later went on to found
	{Amdahl Corporaton}, a manufacture of {PCM} {mainframe}
	equipment.

	The 360's predecessors were the smaller {IBM 1401} and the
	large {IBM 7090} series.  If was followed by the {IBM 370}.

	See also {ABEND}, {ALC}, {BAL}, {Big Red Switch}, {HCF}, {mode
	bit}, {PL360}, {PL/S}.

	(2004-06-06)

System/370

	<hardware, IBM> (S/370) An {IBM} {mainframe} {computer}
	introduced in 1970 as a successor to the {IBM 360}.
	Enhancements included the ability to support {virtual memory}
	and improved main storage.  Two models were available
	initially: 165 and 155, with {cycle times} of 80 and 115
	nanoseconds.

	{Press Release
	(http://www-1.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR370.html)}.

	(2004-06-06)

System 5

	{System V}

System 7.5

	<operating system> A version of {Mac OS}, the latest release as
	of Oct 1996 was 7.5.5.  Superseded by Mac OS 7.6 around March
	1997.

	{Mac OS home (http://macos.apple.com/)}.

	[Dates?  Features?]

	(1997-03-23)

System Account Manager

	<cryptography, operating system, security> (SAM) A {password}
	{database} stored as a {registry file} in {Windows NT} and
	{Windows 2000}.

	The System Account Manager (SAM) database stores users'
	passwords in a {hashed} format.  Since a {hash function} is
	one-way, this provides some measure of security for the
	storage of the passwords.  In an attempt to enhance the
	security of the SAM database against {offline cracking},
	Microsoft introduced the {SYSKEY} utility in {Windows NT} 4.0.

	(2000-07-19)

system administration

	<job> Activities performed by a system administrator (or
	"admin", "sysadmin", "site admin") such as monitoring security
	configuration, managing allocation of {user names} and
	{passwords}, monitoring disk space and other resource use,
	performing {backups}, and setting up new hardware and
	software.

	system administrators often also help users, though in a large
	organisation this may be a separate job.

	Compare {postmaster}, {sysop}, {system management}, {systems
	programmer}.

	[Other tasks?]

	(1999-05-02)

system administrator

	{system administration}

system analysis

	{systems analysis}

system analyst

	{systems analysis}

system board

	{motherboard}

system call

	<operating system, programming> The mechanism used by an
	{application program} to request service from the {operating
	system}.  System calls often use a special {machine code}
	instruction which causes the processor to change mode (e.g. to
	"supervisor mode" or "{protected mode}").  This allows the OS
	to perform restricted actions such as accessing hardware
	devices or the {memory management unit}.

	(1995-03-01)

system catalog

	<database> The {data dictionary} of a {DBMS}.  The system
	catalogue stores {meta-data} including the {schemas} of the
	{databases}.  It is a mini-database, and is usually stored
	using the DBMS itself in special {tables} called {system
	tables}.  It maybe referred to as being "on line", as it is
	active, and can be queried by users like any other table.

	(1999-04-27)

System Control Language

	<language> (SCL) The {command language} for the {VME/B}
	{operating system} on the {ICL2900}.  SCL was {block
	structured} and supported strings, lists of strings
	("superstrings"), {integer}, {Boolean}, and {array} types.
	You could trigger a {block} whenever a condition on a variable
	value occured.  It supported {macros} and default arguments.
	Commands were treated like procedure calls.

	["VME/B SCL Syntax", Intl Computers Ltd. 1980].

	(2003-01-08)

Systeme International

	{Système International d'Unités}

System F

	{polymorphic lambda-calculus}

System International

	{Système International d'Unités}

system management

	<job> Activities performed by a system manager, aiming to
	minimise the use of excessive, redundant resources to address
	the overlapping requirements of performance balancing, network
	management, reducing outages, system maintenance costs,
	diagnosis and repair, and migration to new hardware and
	software system versions.

	Compare: {system administration}.

	(1995-11-10)

System Management Bus

	<hardware, protocol> (SMBus, SMB) A simple two-wire {bus} used
	for communication with low-bandwidth devices on a motherboard,
	especially power related chips such as a laptop's rechargeable
	battery subsystem (see {Smart Battery Data}).  Other devices
	might include temperature sensors and lid switches.

	A device can provide manufacturer information, indicate its
	model/part number, save its state for a {suspend} event,
	report different types of errors, accept control parameters,
	and return status.  The SMB is generally not user configurable
	or accessible.

	The bus carries clock, data, and instructions and is based on
	{Philip's} {I2C} serial bus protocol. Support for SMBus devices
	is provided on {Windows 2000}. {Windows 98} does not support
	such devices.

	The {PIIX4} {chipset} provides SMBus functionality. Vendors
	using SMBus would be required to pay royalties.

	{SMBus website
	(http://sbs-forum.org/smbus/)}.

	{Software to interrogate a SMB motherboard
	(http://online.de/home/podien/SMB.HTM)}.

	{SMB devices, Part 8 Kernel Mode Driver Design Guide, Win2000 DDK
	(http://microsoft.com/ddk/)}.

	(1999-08-08)

System Management Mode

	<hardware> (SMM) A reduced power consumption state provided by
	some {Intel} {microprocessors}.  When a {CPU} enters SMM it
	saves its current state in a special area of {static RAM}
	called SMRAM (System Management {RAM}) and then runs a
	program, also stored in SMRAM, the SMM handler.

	SMM is implemented in all {Intel} "SL" suffixed CPUs.  In June
	1993, Intel announced it was discontinuing its SL range and
	instead making all its current processors SL enhanced.

	See also {Auto Idle}.

	(1994-11-09)

System Management Server

	<operating system> (SMS) Software used by {Microsoft} {Windows
	NT system administrators} to manage {personal computers} on
	any size network.  SMS can distribute software to desktops
	from one central location, detect every machine on the
	network, track software and hardware configurations, send key
	information back to a central database, and perform other
	tasks.

	{Home
	(http://microsoft.com/ntserver/management/exec/overview/sms.asp)}.

	(1999-03-24)

system manager

	{system management}

system mangler

	<humour> A humorous synonym for "{system manager}", possibly
	from the fact that one major {IBM} {operating system} had a
	{root} account called SYSMANGR.  The term refers specifically
	to a systems programmer in charge of administration, software
	maintenance, and updates at some site.  Unlike {admin}, this
	term emphasises the technical end of the skills involved.

	[{Jargon File}]

	(1995-11-10)

system operator

	<job, jargon> (Always abbreviated to "sysop") /sis'op/ A term
	used in the {BBS} world for the operator of a bulletin-board
	system (who is usually also the owner).

	A common neophyte mistake on {FidoNet} is to address a message
	to "sysop" in an international {echo}, thus sending it to
	hundreds of sysops around the world.

	Contrast: {system administrator}.

	(1999-10-20)

System Product Interpreter

	{Restructured EXtended eXecutor}

system programming language

	{Ousterhout's dichotomy}

System R

	<database> A {database} system built as a research project at
	{IBM San Jose Research} (now {IBM Almaden Research Center}) in
	the 1970s.  System R introduced the {SQL} language and also
	demonstrated that a {relational system database} could provide
	good {transaction processing} performance.

	{(http://mcjones.org/System_R/)}.

	(1998-09-29)

Systems Administrators Guild

	<body, job> (SAGE) A special technical group of the {USENIX
	Association}.

	{(http://usenix.org/sage)}.

	[Details?]

	(2001-01-27)

systems analysis

	<job> Study of the design, specification, feasibility, cost,
	and implementation of a computer system for business.  What a
	systems analyst does.

	(1997-04-25)

Systems Analysis Definition

	<programming> (SAD) The analysis of the role of a proposed
	system and the identification of the requirements that it
	should meet.  SAD is the starting point for system design.
	The term is most commonly used in the context of commercial
	programming, where software developers are often classed as
	either {systems analysts} or programmers.  The systems
	analysts are responsible for identifying requirements
	(i.e. systems analysis) and producing a design.  The
	programmers are then responsible for implementing it.

	(1996-03-07)

systems analyst

	{systems analysis}

Systems Application Architecture

	<programming> (SAA) {IBM}'s family of standard interfaces
	which enable {software} to be written independently of
	{hardware} and {operating system}.

	(1997-04-25)

Systems Development Life Cycle

	<programming> (SDLC, or "Software...") Any logical process used by
	a {systems analyst} to develop or redesign an {information
	system}.  SDLC includes {requirements}, design, {development},
	{integration}, {testing}, {validation}, training, user ownership,
	operations, analysis and maintenance.

	An SDLC should result in a system that meets or exceeds customer
	expectations, within time and cost estimates, works effectively
	and efficiently in the current and planned {Information
	Technology} {infrastructure}, is cheap to maintain and
	cost-effective to enhance.

	{(http://www.sdlc.ws/what-is-sdlc/)}.

	{US DOJ SDLC
	(http://www.justice.gov/jmd/irm/lifecycle/table.htm)}.

	(2013-11-12)

systems jock

	{jock}

Systems Network Architecture

	<networking> (SNA) {IBM}'s proprietary high level networking
	{protocol} {standard}, used by IBM and IBM compatible
	{mainframes}.

	Also referred to as "Blue Glue", SNA is a bletcherous protocol
	once widely favoured at commercial shops.  The official IBM
	definition is "that which binds blue boxes together."  It may
	be relevant that {Blue Glue} is also a 3M product commonly
	used to hold down carpets in {dinosaur pens}.

	[{Jargon File}]

	(1994-11-23)

system software

	<operating system> Any {software} required to support the
	production or execution of {application programs} but which is
	not specific to any particular application.

	System software typically includes an {operating system} to
	control the execution of other programs; user environment
	software such as a {command-line interpreter}, {window
	system}, {desktop}; development tools for building other
	programs such as {assemblers}, {compilers}, {linkers},
	{libraries}, {interpreters}, {cross-reference generators},
	{version control}, {make}; {debugging}, {profiling} and
	monitoring tools; utility programs, e.g. for sorting,
	printing, and editting.

	Different people would classify some or all of the above as
	part of the operating system while others might say the
	operating system was just the {kernel}.  Some might say system
	software includes {utility programs} like {sort}.

	(2007-02-02)

systems operator

	{system operator}

systems programmer

	<job> (sysprog) A generic job title that covers a variety of
	specialist roles such as writing low-level code that talks to
	directly to the {operating system} on a {server}.

	Typical skills required are experience of specific operating
	systems, networking ({TCP/IP}, {ATM}, {Ethernet}, {DNS}),
	electronic mail ({POP}, {IMAP}, {SMTP}), {web servers},
	{RDBMS}, operating system and network security, and hardware
	({SCSI}, {hard disks}, and {backup} devices).

	Contrast: {system administration}.

	(1999-09-14)

systems programming

	{systems programmer}

system testing

	<testing> (Or "application testing") A type of {testing} to
	confirm that all code modules work as specified, and that the
	system as a whole performs adequately on the {platform} on
	which it will be deployed.

	System testing should be performed by testers who are trained
	to plan, execute, and report on application and system code.
	They should be aware of scenarios that might not occur to the
	end user, like testing for null, negative, and format
	inconsistent values.  A tester should be able to repeat the
	steps that caused an error.

	(2003-09-24)

system unit

	<hardware> The main body of a computer, consisting of a
	plastic or metal enclosure, the {motherboard}, and (typically)
	internal {disk drives}, a {power supply}, cooling fans, and
	whatever circuit boards plugged into the mother board, such as
	a {video card}.

	The system unit is occasionally referred to as the {CPU},
	though this really means {central processing unit}.

	(2000-08-10)

System V

	1. The other major versions of the {Unix} {operating system}
	apart from {BSD}.  Developed by {AT&T}.  Later versions of
	Unix such as {SunOS} combined the best features of {System V}
	and {BSD} Unix.

	(1994-10-31)

	[Differences?]

	2. A supplier of {Unix} {open systems} for {Intel x86}
	processors.  They supply products from {SCO} and {Solaris} and
	offer general support for {Unix}, {TCP/IP}, and {Internet}.
	They serve and create third-party {WWW} pages and provide
	on-line support for commercial and non-commercial applications.

	{(http://systemv.com/)}.

	See also {System V Interface Definition}.

	(1994-12-12)

System V Interface Definition

	(SVID) A standard allowing source code portability between
	different {platforms} running Unix System V.

	(1995-03-28)

Système International

	{Système International d'Unités}

Système International d'Unités

	<unit, standard> (SI - International System of Units) The
	standard set of units of measurement set by the 11th General
	Conference on Weights and Measures in 1960.  There are seven
	base units: the {metre} (length), the {kilogram} (mass), the
	{second} (time), the {ampere} (electrical current), the kelvin
	(temperature), the mole (number of atoms) and the candela
	(luminous intensity).  These are defined either in terms of
	physical properties such as the speed of light or, in the case
	of mass, by a "prototype" lump of platinum-iridium kept at
	{BIPM}.  Derived units like meters per second (speed) are
	formed by combining base units.  SI also specifies a list of
	{prefixes} (multipliers like "k" for 1000).

	{SI Home (http://www.bipm.org/en/si/)}.

	(2014-07-08)

systolic array

	<architecture, parallel> (By analogy with the regular pumping
	of blood by the heart) An arrangement of processors in an
	array (often rectangular) where data flows synchronously
	across the array between neighbours, usually with different
	data flowing in different directions.  H. T. Kung and Charles
	Leiserson publish the first paper describing systolic arrays
	in 1978 [reference?].

	Each processor at each step takes in data from one or more
	neighbours (e.g. North and West), processes it and, in the
	next step, outputs results in the opposite direction (South
	and East).

	An example of a systolic {algorithm} might be matrix
	multiplication.  One matrix is fed in a row at a time from the
	top of the array and is passed down the array, the other
	matrix is fed in a column at a time from the left hand side of
	the array and passes from left to right.  Dummy values are
	then passed in until each processor has seen one whole row and
	one whole column.  At this point, the result of the
	multiplication is stored in the array and can now be output a
	row or a column at a time, flowing down or accross the array.

	See also {Ruby}, {SISAL}.

	(1998-07-01)

SysVile

	{Missed'em-five}

sz

	<networking> The {country code} for Swaziland.

	(1999-01-27)

T

	1. True.  A {Lisp} compiler by Johnathan A. Rees in 1982 at
	{Yale University}.  T has {static scope} and is a
	near-superset of {Scheme}.  {Unix} source is available.  T is
	written in itself and compiles to efficient native code.  Used
	as the basis for the Yale {Haskell} system.  Maintained by
	David Kranz <kranz@masala.lcs.mit.edu>.

	Latest version: 3.1.

	{(ftp://ftp.ai.mit.edu/pub/systems/t3.1)}.

	A {multiprocessing} version of T is available
	{(ftp://masala.lcs.mit.edu/pub/mult)}.

	Runs on {Decstation}, {SPARC}, {Sun-3}, {Vax} under {Unix},
	{Encore}, {HP}, {Apollo}, {Macintosh} under {A/UX}.

	E-mail: <t3-bugs@cs.yale.edu> (bugs).
	E-mail: <t-project@cs.yale.edu>.

	(1991-11-26)

	["The T Manual", Johnathan A. Rees <jar@zurich.ai.mit.edu> et
	al, Yale U, 1984].

	2. A {functional language}.

	["T: A Simple Reduction Language Based on Combinatory Term
	Rewriting", Ida et al, Proc of Prog Future Generation
	Computers, 1988].

	3. (lower case) The {Lisp} {atom} used to represent "true",
	among other things.  "false" is represented using the same
	atom as an empty list, {nil}.  This {overloading} of the basic
	constants of the language helps to make Lisp {write-only
	code}.

	4. In transaction-processing circles, an abbreviation for
	"transaction".

	5. (Purdue) An alternative spelling of "{tee}".

\t

	{horizontal tabulation}

T1

	<communications> An {AT&T} term for a {digital carrier}
	facility used to transmit a {DS1} formatted digital signal at
	1.544 megabits per second.

	T1 transmission uses a bipolar {Return To Zero} {alternate
	mark inversion} line coding scheme to keep the DC carrier
	component from saturating the line.

	Although some consider T1 signaling obsolete, much equipment
	operates at the "T1 rate" and such signals are either
	combined for transmission via faster circuits, or
	demultiplexed into 64 kilobit per second circuits for
	distribution to individual subscribers.

	T1 signals can be transported on {unshielded twisted pair}
	telephone lines.  The transmitted signal consists of pips of a
	few hundred nanoseconds width, each inverted with respect to
	the one preceding.  At the sending end the signal is 1 volt,
	and as received, greater than 0.01 volts.  This requires
	repeaters about every 6000 feet.

	The information is contained in the timing of the signals, not
	the polarity.  When a long sequence of bits in the transmitted
	information would cause no pip to be sent, "{bit stuffing}" is
	used so the receiving apparatus will not lose track of the
	sending clock.

	A T1 circuit requires two twisted pair lines, one for each
	direction.  Some newer equipment uses the two lines at half
	the T1 rate and in {full-duplex} mode; the sent and received
	signals are separated at each end by components collectively
	called a "hybrid".  Although this technique requires more
	sophisticated equipment and lowers the line length, an
	advantage is that half the sent and half the received
	information is mixed on any one line, making low-tech wiretaps
	less a threat.

	See also {Integrated Services Digital Network}.

	(1994-11-23)

T1 line

	{T1}

T1 rate

	{T1}

T3

	<communications> A {digital carrier} facility used to transmit
	a {DS3} formatted digital signal at 44.736 megabits per
	second.

	See also {Integrated Services Digital Network}.

	(1994-11-23)

T3 line

	{T3}

TA

	{Terminal Adaptor}

TAA

	{Track Average Amplitude}

TAB

	{HT}

table

	<database> A collection of {records} in a {relational database}.

	(1997-06-04)

table locking

	<database> A technique used in {database management systems},
	where an entire {table} is locked while data in it is being
	updated.

	Other techniques are {row-level locking} and {MVCC}.

	(1999-06-18)

tablespace

	<oracle, database, storage> A logical unit of storage, used by
	an {Oracle} database, that is made up of one or more
	{operating system} files.  Each table, {index} or other object
	that requires storage is located on a tablespace.

	The {database administrator} typically assigns a default and a
	temporary tablespace to each user and grants a quota on each
	so they can create tables and indexes.

	(2006-08-24)

TABLET

	A {query language}.

	["Human Factor Comparison of a Procedural and a Non-procedural
	Query Language", C. Welty et al, ACM Trans Database Sys
	6(4):626-649 (Dec 1981)].

	(1994-11-23)

TABLOG

	<language> A programming language based on {first order
	predicate logic} with equality that combines {relational
	programming} and {functional programming}.  It has functional
	notation and {unification} as its binding mechanism.  TABLOG
	supports a more general subset of standard {first order logic}
	than {Prolog}.  It employs the Manna-Waldinger
	'{deductive-tableau}' proof system as an {interpreter} instead
	of {resolution}.

	(1997-06-19)

tab-separated values

	<file format> (TSV) A file format used as a portable
	representation of a {database}.  Each line represents one
	entry or {record}; and in every line, each field is separated
	from the next by a tab character ({HT}).

	Compare {CSV}.

	(2001-03-16)

TABSOL

	<language> A language extension for {GECOM} written in the
	form of {truth tables} which was compiled into code for the
	tests and actions described.  TABSOL was developed by
	T.F. Kavanaugh, and was in use around 1964-5.

	(1996-09-15)

	[Proc FJCC 18:117-136, AFIPS (Fall 1960)].

	(1996-09-16)

Tabulating Machine Company

	<company> The company founded in 1896 by {Herman Hollerith} to
	exploit his invention of the {punched card}.  It became part
	of {IBM} in 1924.

	(1996-01-02)

TAC

	1. Translator Assembler-Compiler.  For {Philco 2000}.

	2. {Terminal Access Controller}.

TACL

	Tandem Advanced Command Language.  Tandem, about 1987.  The
	shell language used in Tandem computers.

TACPOL

	<language> A {PL/I}-like language used by the US Army for
	command and control.

	(2001-01-31)

Tactile User Interface

	<interface> (TUI) {Hardware} and {software} to provide access
	to computer-based graphical[?] information using touch, often
	intended for blind people.  See also {haptics}.

	(2003-10-17)

tag

	<language, text> An {SGML}, {HTML}, or {XML} {token}
	representing the beginning (start tag: "<p ...>") or end (end
	tag: "</p>") of an {element}.  In normal SGML {syntax} (and
	always in {XML}), a tag starts with a "<" and ends with an
	">".

	In {HTML} jargon, the term "tag" is often used for an
	"{element}".

	(2001-01-31)

Tagged Image File Format

	<file format, graphics> (TIFF) A {file format} used for
	still-image {bitmaps}, stored in tagged fields.  {Application
	programs} can use the tags to accept or ignore fields,
	depending on their capabilities.

	While TIFF was designed to be extensible, it lacked a core of
	useful functionality, so that most useful functions (e.g.
	{lossless} 24-bit colour) requires nonstandard, often
	redundant, extensions.  The incompatibility of extensions has
	led some to expand "TIFF" as "Thousands of Incompatible File
	Formats".

	Compare {GIF}, {PNG}, {JPEG}.

	(1997-10-11)

tagged queueing

	<hardware> A method allowing a device or {controller} to
	process commands received from a {device driver} out of order.
	It requires that the device driver attaches a tag to each
	command which the controller or device can later use to
	identify the response to the command.

	Tagged queueing can speed up processing considerably if a
	controller serves devices of very different speeds, such as an
	{SCSI} controller serving a mix of {CD-ROMs} and high-speed
	{disks}.  In such cases if a request to fetch data from the
	CD-ROM is shortly followed by a request to read from the disk,
	the controller doesn't have to wait for the CD-ROM to fetch
	the data, it can instead instruct the disk to fetch the data
	and return the value to the device driver, while the CD-ROM is
	probably still {seeking}.

	(1997-07-04)

tagged types

	<programming> {Ada}'s type mechanism in which types can be
	extended via {single inheritance}.

	(2000-02-21)

tag name

	{generic identifier}

tail call optimisation

	{last call optimisation}

tail call optimization

	{last call optimisation}

tail circuit

	<communications> A circuit which connects the {serial lines}
	of two {modems} together.

	[Why do that?]

	(1996-10-16)

tail recursion

	<programming> When the last thing a function (or procedure)
	does is to call itself.  Such a function is called tail
	recursive.  A function may make several {recursive} calls but
	a call is only tail-recursive if the caller returns
	immediately after it.  E.g.

		f n = if n < 2 then 1 else f (f (n-2) + 1)

	In this example both calls to f are recursive but only the
	outer one is tail recursive.

	Tail recursion is a useful property because it enables {tail
	recursion optimisation}.

	If you aren't sick of them already, see {recursion} and {tail
	recursion}.

	[{Jargon File}]

	(2006-04-16)

tail recursion modulo cons

	<programming, compiler> A generalisation of {tail recursion}
	introduced by D.H.D. Warren.  It applies when the last thing a
	function does is to apply a constructor functions (e.g. cons)
	to an application of a non-primitive function.  This is
	transformed into a tail call to the function which is also
	passed a pointer to where its result should be written.  E.g.

		f []     = []
		f (x:xs) = 1 : f xs

	is transformed into (pseudo {C}/{Haskell}):

		f [] = []
		f l  = f' l allocate_cons

		f' []     p = { *p = nil;
				return *p
			      }
		f' (x:xs) p = { cell = allocate_cons;
			        *p = cell;
				cell.head = 1;
				return f' xs &cell.tail
			      }

	where allocate_cons returns the address of a new cons cell, *p
	is the location pointed to by p and &c is the address of c.

	[D.H.D. Warren, DAI Research Report 141, University of
	Edinburgh 1980].

	(1995-03-06)

tail recursion optimisation

	<programming> (TRO) Discarding the calling environment ({call
	stack} {frame}) when the last thing a function or procedure
	does is to call itself.  This is important when a procedure
	calls itself {recursive}ly many times since, without tail
	recursion optimisation, the environments of earlier
	invocations would fill up the memory only to be discarded when
	(if) the last call terminated.

	Tail recursion optimisation is a special case of {last call
	optimisation} but it allows the further optimisation that some
	arguments may be passed in situ, possibly in {registers}.  It
	allows recursive functions to be compiled into {iterative}
	loops.

	See also {conversion to iteration}, {tail recursion modulo
	cons}.

	(2006-04-16)

tail-strict

	A tail-strict function evaluates every cons cell in its (list)
	argument.  It will therefore fail to terminate if its argument
	is an infinite list or if any tail of its argument fails to
	terminate.  The archetypal tail-strict function is length.
	See also Head-strict, Hyper-strict.

TAL

	{Transaction Application Language}

TALE

	Typed Applicative Language Experiment.  M. van Leeuwen.  Lazy,
	purely applicative, polymorphic.  Based on typed second order
	lambda-calculus.  "Functional Programming and the Language
	TALE", H.P. Barendregt et al, in Current Trends in
	Concurrency, LNCS 224, Springer 1986, pp.122-207.

Taligent

	A company founded jointly by Apple and IBM in March 1992.  HP
	announced in January, 1994 that it would buy a 15% stake in
	Taligent.  They are working on an "object-oriented operating
	system", due to be finished sometime in 1995.  However,
	various independent pieces of Taligent will likely appear to
	be used with other operating systems, e.g. IBM's WorkplaceOS.
	Pink is an older name for Taligent, dating back to work that
	Apple did before the formation of Taligent.

talk

	<chat, tool, networking, messaging> A {Unix} program and
	{protocol} supporting conversation between two or more users
	who may be logged into the same computer or different
	computers on a network.  Variants include {ntalk}, {ytalk},
	and {ports} or {emulators} of these programs for other
	{platforms}.

	{Unix} has the {talk} program and {protocol} and its variants
	{xtalk} and {ytalk} for the {X Window System}; {VMS} has
	{phone}; {Windows for Workgroups} has {chat}.  {ITS} also has
	a talk system.  These split the screen into separate areas for
	each user.

	{Unix}'s {write} command can also be used, though it does not
	attempt to separate input and output on the screen.

	Users of such systems are said to be in {talk mode} which has
	many conventional abbreviations and idioms.  Most of these
	survived into {chat} jargon, but many fell out of common use
	with the migration of {user} prattle from talk-like systems to
	{chat} systems in the early 1990s.  These disused
	talk-specific forms include:

	"BYE?" - are you ready to close the conversation?  This is the
	standard way to end a talk-mode conversation; the other person
	types "BYE" to confirm, or else continues the conversation.

	"JAM"/"MIN" - just a minute

	"O" - "over" (I have stopped talking).  Also "/" as in x/y - x
	over y, or two newlines (the latter being the most common).

	"OO" - "over and out" - end of conversation.

	"\" - Greek {lambda}.

	"R U THERE?" - are you there?

	"SEC" - wait a second.

	"/\/\/" - laughter.  But on a {MUD}, this usually means
	"earthquake fault".

	See also {talk bomb}.

	(1998-01-25)

talk bomb

	{flash}

talker system

	{talk}

talk mode

	<chat> Using a {talk} system.  E.g., "{B1FF} had me in talk
	mode for hours last night.  I had to bring his box down just
	to get him to shut up."

	The (1980s?) term now is as dated as talk itself which has
	been largely replaced by {chat}.

	[{Jargon File}]

	(1998-01-19)

TALL

	<language> TAC List Language.

	["TALL - A List Processor for the Philco 2000", J. Feldman,
	CACM 5(9):484-485 (Sep 1962)].

	(1995-03-01)

tall card

	<hardware> An expansion card for the {IBM PC AT}.  These can
	be larger than {IBM PC} or {IBM PC XT} cards because the AT
	case is bigger.

	When IBM introduced the PS/2 model 30 (its last gasp at
	supporting the {ISA}) they made the case lower and many
	industry-standard tall cards wouldn't fit.  This was felt to
	be a reincarnation of the {connector conspiracy}, done with
	less style.

	See also {short card}.

	[{Jargon File}]

	(1995-03-01)

Tandem Application Language

	{Transaction Application Language}

Tandem Computers

	<company> A US computer manufacturer.

	Quarterly sales $544M, profits $49M (Aug 1994).

	(1994-09-26)

Tandy

	<company> A US company, the parent company of {Radio Shack},
	makers of the {TRS-80} and other early {personal computers}.

	(1995-02-28)

Tanenbaum, Andrew

	{Andrew Tanenbaum}

Tangible User Interface

	<interface> An attempt to give physical form to digital
	information, making bits directly manipulable and perceptible
	by people.  Tangible Interfaces will make bits accessible
	through augmented physical surfaces (e.g. walls, desktops,
	ceilings, windows), graspable objects (e.g. building blocks,
	models, instruments) and ambient media (e.g. light, sound,
	airflow, water-flow, kinetic sculpture) within physical
	environments.

	{MIT Tangible Media Group (http://tangible.media.mit.edu/)}.

	(2003-10-17)

tanked

	1. <jargon> Same as {down}, used primarily by {Unix} hackers.

	See also {hosed}.

	2. Popularised as a synonym for "drunk" by Steve Dallas in the
	late lamented "Bloom County" comic strip.

	[{Jargon File}]

	(1995-02-28)

TANSTAAFL

	/tan'stah-fl/ (From Robert Heinlein's classic "The
	Moon is a Harsh Mistress") "There Ain't No Such Thing As A
	Free Lunch".

	Often invoked when someone is balking at the prospect of using
	an unpleasantly {heavyweight} technique, or at the poor
	quality of some piece of {free software}, or at the
	{signal-to-noise ratio} of unmoderated {Usenet} newsgroups.
	"What? Don't tell me I have to implement a {database} back end
	to get my address book program to work!"  "Well, TANSTAAFL you
	know."  This phrase owes some of its popularity to the high
	concentration of science-fiction fans and political
	libertarians in hackerdom.

	[{Jargon File}]

	(1995-02-28)

TAO

	<language> 1. A {Lisp} dialect with {concurrency},
	{object-orientation} and logic.

	["Concurrent Programming in TAO - Practice and Experience",
	I. Takeuchi in Parallel Lisp: Languages and Systems, T. Ito et
	al eds, LNCS 441, Springer 1989, pp. 271-299].

	(2006-02-06)

	2. A programming language for {APE/Quadrics} {parallel}
	computers, largely modelled on {FORTRAN} and evolved from the
	even more primitive {APESE} language.  TAO is particularly
	hard to work with, due to the lack of systematics, poor
	documentation and a primitive compiler.

	[Reference?  Dates?]

	(2006-02-06)

TAOS

	{Technology for Autonomous Operation Survivability}

TAP

	{Telocator Alphanumeric Protocol}

tap

	{hit}

tape

	1. {magnetic tape}.

	2. {paper tape}.

	(1996-05-25)

tape archive

	{tar}

tape drive

	{magnetic tape drive}

tape head

	<hardware> The electromagnetic component in a {magnetic tape
	drive} which reads and writes magnetic tape as it passes over
	it.  Tape heads need to be cleaned periodically to remove the
	oxide particles which accumulate on them and can lead to
	errors.

	(1997-03-12)

Tape Operating System

	<operating system> (TOS) An {IBM} {operating system} for
	{System 360}, used in the early days around 1965 to support
	the {IBM 360} model 30 et al.  TOS was a predecessor to IBM's
	{Disk Operating System}.

	TOS died out really early as disks such as the 2311 and 2314
	became common with the {IBM 360} whereas thet had been a real
	luxury on the {IBM 7090}.

	[Relationship to {BOS}?]

	(1999-01-20)

TAPI

	{Telephony Application Programming Interface}

tar

	<file format> ("Tape ARchive", following {ar}) {Unix}'s
	general purpose {archive} utility and the file format it uses.
	Tar was originally intended for use with {magnetic tape} but,
	though it has several {command line options} related to tape,
	it is now used more often for packaging files together on
	other media, e.g. for distribution via the {Internet}.

	The resulting archive, a "tar file" (humourously, "tarball")
	is often compressed, using {gzip} or some other form of
	compression (see {tar and feather}).

	There is a {GNU} version of tar called {gnutar} with several
	improvements over the standard versions.

	{Filename extension}: .tar

	{MIME type}: unregistered, but commonly application/x-tar

	{Unix manual page}: tar(1).

	Compare {shar}, {zip}.

	(1998-05-02)

tar and feather

	<jargon> (A sick contrivance from the {Unix} {tar} command and
	the Ku Klux Klan torture method) To create a transportable
	archive from a group of files by first sticking them together
	with {tar} (the Tape ARchiver) and then {compress}ing the
	result.  The latter action is dubbed "feathering" (purely for
	contrived effect) by analogy to what you do with an aeroplane
	propeller to decrease wind resistance, or with an oar to
	reduce water resistance; smaller files, after all, slip
	through comm links more easily.

	[{Jargon File}]

	(1997-05-26)

tarball

	{tar}

targa

	<graphics, file format> A graphics data format for {bitmap}
	{images}.  It uses 24 bits per {pixel} and is a common output
	format for {ray tracing} programs.

	(1995-01-05)

Targa Graphics Adaptor

	<graphics, file format> (TGA) The Truevision Targa Graphics
	Adaptor file format.

	The TGA format is a common {bitmap} file format for storage of
	24-bit images.  It supports {colourmaps}, {alpha channels},
	{compression} and comments.

	{Filename extension}: .tga.

	More information is available from
	{Truevision (http://truevision.com/)} and
	{The Graphics File Format Page
	(http://dcs.ed.ac.uk/~mxr/gfx/)}.

	[What does it have to do with graphics adaptors?]

	(1997-08-07)

target

	{SCSI target}

Target-Machine Description Language

	(TMDL) The machine-description language used in the
	Graham-Glanville {code generator}.

	["Table-Driven Code Generation", S.L. Graham, IEEE Computer
	13(8):25-34 (Aug 1980)].

	(1995-02-21)

TARTAN

	A simple language proposed to meet the {Ironman} requirements.

	["TARTAN - Language Design for the Ironman Requirements:
	Reference Manual", Mary Shaw et al, SIGPLAN Notices
	13(9):36-58 (Sep 1978)].

	(1995-01-05)

taskbar

	<operating system> The part of the {Microsoft Windows}
	{graphical user interface} (GUI) typically occupying a fixed
	strip along the bottom of the screen, showing a rectangular
	icon for each running {application}.

	The taskbar also contains the {Start menu} at its left-hand
	end and the {notification area} at the right-hand end.  Other
	{toolbars} can be added such as the {Quick Launch toolbar}.

	Clicking an application's taskbar icon makes its windows
	visible in front of other windows and gives one of them the
	{input focus}, or if it is already in front, minimises it.
	Right-clicking an icon gives a {window manager} menu, possibly
	customised by the application.  Right-clicking the taskbar
	itself performs global window manager actions such as
	minimising all windows and also allows you to set taskbar
	properties.  The taskbar can be locked in position or resized
	or dragged to the top, left or right of the screen.

	(2007-06-13)

Task Control Block

	<architecture> An {MVS} {control block} used to communicate
	information about {tasks} within an {address space} that are
	connected to an {MVS} subsystem such as {MQSeries} for
	{MVS/ESA} or {CICS}.

	{FAQ
	(http://www-4.ibm.com/software/ts/mqseries/library/manuals/csqfao/CSQFAO22.HTM)}.

	(2000-12-30)

task scheduling

	<algorithm> The assignment of start and end times to a set of
	tasks, subject to certain {constraints}.  Constraints are
	typically either time constraints (the payload must be
	installed before the payload bay doors are closed) or resource
	constraints (this task requires a small crane and a crane
	operator).

	In the case where the tasks are programs to run concurrently
	on a computer, this is also known as {multitasking}.

	(1998-04-25)

TASM

	Turbo Assembler.  {MS-DOS} assembler from Borland.

TASS

	Template ASSembly language.  Intermediate language produced by
	the Manchester SISAL compiler.

taste

	1. (primarily MIT) The quality of a program that tends to be
	inversely proportional to the number of features, hacks, and
	{kluges} it contains.  Taste refers to sound judgment on the
	part of the creator.  See also {elegant}, {flavour}.

	2. Alternative spelling of "{tayste}".

	[{Jargon File}]

tatar

	<human language> A Turkic language spoken by about five
	million Tatars in Russia, Ukraine, Turkey and elsewhere; the
	official language of the Republic of Tatarstan (Russian
	Federation).

	{language codes}: tt, tat.

	(2006-12-11)

tau

	<mathematics> The mathematical constant that is the circumference
	of a circle divided by its radius, equal to twice {pi}.

	Some have suggested that pi is the wrong choice of constant to
	describe the geometry of circles etc. and tau = 2*pi would have
	been better.  Most practising mathematicians think this is silly.
	The {xkcd} comic strip facetiously {proposed
	(http://xkcd.com/1292/)} a compromise of 1.5*pi or "pau".

	{The Pi Manifesto (http://www.thepimanifesto.com/)}.

	(2013-12-10)

tautological probability

	<logic> A notion introduced by Florentin Smarandache whereby
	the probability of some event is more than one.  Tautological
	probability is used for universally true {propositions},
	i.e. those which do not depend on time, space, subjectivity,
	etc.

	[Florentin Smarandache, "A Unifying Field in Logics. /
	Neutrosophy: Neutrosophic Probability, Set, and
	Logic", American Research Press, Rehoboth 1999].

	(2001-04-06)

tautological set

	<logic> A notion introduced by Florentin Smarandache: An
	element x(T, I, F) belongs more than sure to the {set} M; here
	T, I, F are real subsets representing the truth,
	indeterminacy, and falsity percentages respectively, and
	sup(T)>100.

	tautological set are used for universally true {propositions}
	where no parameter such as time, space, or subjectivity
	influences the truth value.

	[{Florentin Smarandache, "A Unifying Field in Logics. /
	Neutrosophy: Neutrosophic Probability, Set, and
	Logic", American Research Press, Rehoboth, 1999
	(http://gallup.unm.edu/~smarandache/neut-ad.htm)}]

	(1999-11-24)

tautology

	<logic> A {proposition} which is always true.

	Compare: {paradox}.

	{The Linguistic Smarandache Tautologies,
	(http://gallup.unm.edu/~smarandache/tautolog.txt)}.

	(1999-07-28)

TAWK

	{Tiny AWK}

Taxis

	["A Language Facility for Designing Database-Intensive
	Applications", J. Mylopoulos et al, ACM Trans Database Sys
	5(2):185-207 (June 1980)].

tayste

	{crumb}

taz

	{tgz}

TB

	{terabyte}

TBF

	{Mean Time Between Failures}

TBIL

	{Tiny Basic Interpreter Language}

TBK

	{Tool Builder Kit}

Tbl

	1. A language by M.E. Lesk for formatting tables, implemented
	as a {preprocessor} to {nroff}.

	(1994-11-01)

	2. Table Building Language.  A simple language by Robert
	Freiburghouse of {MIT} which combines user-defined actions
	into an {abstract machine}.  It can be used to build
	table-driven predictive {parsers} and {code generators} in the
	{MULTICS} {Fortran} compiler and several {PL/I} compilers,
	including {VAX}-11 PL/I.

	["Engineering A Compiler: VAX-11 Code Generation and
	Optimisation", P. Anklam et al, Digital Press 1977].

	(1994-11-01)

tc

	<networking> The {country code} for the Turks and Caicos
	Islands.

	(1999-01-27)

T-carrier system

	<communications> A series of wideband digital data
	transmission formats originally developed by the {Bell System}
	and used in North America and Japan.

	The basic unit of the T-carrier system is the {DS0}, which has
	a transmission rate of 64 Kbps, and is commonly used for one
	{voice circuit}.

	Originally the 1.544 megabit per second {T1} format carried 24
	pulse-code modulated, time-division multiplexed speech signals
	each encoded in 64 kilobit per second streams, leaving 8
	kilobits per second of framing information which facilitates
	the synchronisation and demultiplexing at the receiver.  {T2}
	and {T3} circuits channels carry multiple T1 channels
	multiplexed, resulting in transmission rates of up to 44.736
	Mbps.

	The T-carrier system uses {in-band signaling}, resulting in
	lower transmission rates than the {E-carrier system}.  It uses
	a restored polar signal with {303-type} data stations.

	Asynchronous signals can be transmitted via a standard which
	encodes each change of level into three bits; two which
	indicate the time (within the current synchronous frame) at
	which the transition occurred, and the third which indicates
	the direction of the transition.  Although wasteful of line
	bandwidth, such use is usually only over small distances.

	T1 lines are made free of direct current signal components by
	in effect capacitor coupling the signal at the transmitter and
	restoring that lost component with a "slicer" at the receiver,
	leading to the description "restored polar".

	[Telecommunications Transmission Engineering, Vol. 2,
	Facilities, AT&T, 1977].

	(2001-04-08)

TCB

	1. <jargon> {Trouble Came Back}.

	2. <security> ({Orange Book}) {Trusted Computing Base}.

	3. <operating system> {Task Control Block}.

	[{Jargon File}]

	(1998-07-02)

TCGS

	{Twente Compiler Generator System}

TC/IX

	The LynxOS kernel ported to the MIPS R3000 RISC processor by
	CDC.

Tcl

	{Tool Command Language}

Tcl Consortium

	<body> A non-profit agency dedicated to promoting {Tcl}.

	{(http://tclconsortium.org/)}.

	(1998-11-27)

tcl-debug

	A debugger for {Tcl} by Don Libes <libes@cme.nist.gov> that
	can be easily embedded in other applications.  It is included
	with many other Tcl libraries.

	{(ftp://ftp.cme.nist.gov/pub/expect/tcl-debug.tar.Z)}.

	(1994-10-31)

Tcl-DP

	Tcl-DP extends {Tcl}'s "send" by removing the restriction that
	you can only send to other clients of the same X11 server.
	Version 3.0 library by Larry Rowe.

	{(ftp://toe.cs.berkeley.edu/pub/multimedia/Tcl-DP)}.

tclhttpd

	<tool> An {embeddable} {Tcl}-based {web server}.

	[Details?]

	(1998-11-27)

TclX

	{Extended Tcl}

TCM

	{Trellis Code Modulation}

TCO

	{Total Cost of Ownership}

Tcode

	Intermediate language used by the Spineless Tagless G-machine
	(an abstract machine based on graph reduction) designed as a
	target for compilation of non-strict functional languages.
	"The Spineless tagless G- machine", S. Peyton Jones et al,
	Fourth Intl Conf Func Prog Langs and Comp Arch pp.184-201, ACM
	Sept 1989.

TCOL

	CMU.  Tree-based intermediate representation produced by the
	PQCC compiler generator.  "An Overview of the Production
	Quality Compiler- Compiler Projects", B.W. Leverett et al,
	IEEE Computer 13(8): 38-49 (Aug 1980).  (See LG).

TCOL.Ada

	CMU, 1980.  An intermediate representation for Ada, was merged
	with AIDA to form Diana.  "TCOL.Ada: Revised Report on an
	Intermediate Representation for the DOD Standard Programming
	Language", J.M. Newcomer et al, CMU-CS-79-128 (June 1979).

TCP

	{Transmission Control Protocol}

TCPIP

	Normally written "{TCP/IP}".

TCP/IP

	<protocol> {Transmission Control Protocol} over
	{Internet Protocol}.

	The {de facto} {standard} {Ethernet} {protocols} incorporated
	into {4.2BSD} {Unix}.  TCP/IP was developed by {DARPA} for
	{internetworking} and encompasses both {network layer} and
	{transport layer} protocols.  While {TCP} and {IP} specify two
	protocols at specific {protocol layers}, TCP/IP is often used
	to refer to the entire {DoD} {protocol} suite based upon
	these, including {telnet}, {FTP}, {UDP} and {RDP}.

	See also {ICMP}, {SMTP}, {SNMP}.

	(1995-03-17)

tcsh

	<Unix, operating system> A {Unix} {shell} by Christos Zoulas
	<christos@ee.cornell.edu>, based on {csh}.  tcsh adds {WYSIWYG}
	command line editing, command name {completion}, input {history}
	and various other features.

	Version 6.04 runs under many versions of {Unix} and under
	{OpenVMS}.  tcsh has been largely replaced by {bash}.

	{(ftp://ftp.spc.edu/)}.

	(2014-09-14)

Tcsim

	{Time Complex Simulator}

TCVN 5773

	<human language, standard> A 1993 {Vietnamese} character
	{standard} that includes {Han} characters.

	(2001-01-02)

TCVN 6056

	<human language, standard> A 1995 {Vietnamese} character
	{standard} that includes {Han} characters.

	(2001-01-02)

td

	<networking> The {country code} for Chad.

	(1999-01-27)

TDD

	1. <testing> {test-driven development}.

	2. <communications> {Telecommunications Device for the Deaf}.

TDEL

	{thick film dielectric electroluminescence}

TDF

	<language> An {intermediate language}, a close relative of
	{ANDF}.  A TDF program is an {ASCII} stream describing an
	{abstract syntax tree}.

	TDF became part of {TenDRA} in abut 2001.

	["TDF Specification", Defence Research Agency/Electronics
	Division, Great Malvern, England, +44 684 895314].

	(2003-05-13)

TDFL

	Dataflow language.  "TDFL: A Task-Level Dataflow Language", P.
	Suhler et al, J Parallel Dist Comp 9(2):103-115 (Jun 1990).

TDI

	{Transport Driver Interface}

TDM

	1. {Technical Data Management}

	2. {Time Division Multiplexing}

TDMA

	{time division multiple access}

TDR

	{time domain reflectometer}

Teamwork

	<product, software, tool> A {SASD} tool from {Sterling
	Software}, formerly {CADRE Technologies}, which supports the
	{Shlaer/Mellor} {Object-Oriented} method and the
	{Yourdon-DeMarco}, {Hatley-Pirbhai}, {Constantine} and {Buhr}
	notations.

	Teamwork was abandoned when {Computer Associates}
	acquired Sterling Software in March 2000.

	(2002-05-29)

Technical/Office Protocol

	(TOP) An {applications layer} {network} {application} and
	{protocol stack} for {office automation} developed by {Boeing}
	following the {OSI model}.  This {protocol} is very similar to
	{MAP} except at the lowest levels, where it uses {Ethernet}
	({IEEE} {802.3}) rather than {Token Bus} ({IEEE} {802.4}).

Technion

	<body> Israel Institute of Technology.

	{(http://technion.ac.il/)}.

	{(ftp://ftp.technion.ac.il/)}.

	Address: Haifa, Israel.

	(1995-05-09)

technology

	<jargon> {Marketroid} jargon for "{software}", "{hardware}",
	"{protocol}" or something else too technical to name.

	The most flagrant abuse of this word has to be "{Windows NT}"
	(New Technology) - {Microsoft}'s attempt to make the
	incorporation of some ancient concepts into their OS sound
	like real progress.  The irony, and even the meaning, of this
	seems to be utterly lost on Microsoft whose {Windows 2000}
	start-up screen proclaims "Based on NT Technology", (meaning
	yet another version of NT, including some {Windows 95}
	features at last).

	See also: {solution}.

	(2001-06-28)

Technology Enabled Relationship Manager

	{Customer Relationship Management}

Technology of Object-Oriented Languages and Systems

	<event> (TOOLS) One of the oldest {object-oriented}
	conferences, with 18 published proceedings volumes.  TOOLS is
	organised by {Interactive Software Engineering}.

	(1995-12-29)

TechRef

	/tek'ref/ [{MS-DOS}] The original "IBM PC Technical Reference
	Manual", including the {BIOS} listing and complete schematics
	for the PC.  The only PC documentation in the issue package
	that's considered serious by real hackers.

	[{Jargon File}]

TECO

	<editor, text> /tee'koh/ (Originally an acronym for "[paper]
	Tape Editor and COrrector"; later, "Text Editor and
	COrrector"]) A {text editor} developed at {MIT} and modified
	by just about everybody.  With all the dialects included, TECO
	may have been the most prolific editor in use before {Emacs},
	to which it was directly ancestral.  The first {Emacs} editor
	was written in TECO.

	It was noted for its powerful programming-language-like
	features and its unspeakably {hairy} {syntax} (see {write-only
	language}).  TECO programs are said to resemble {line noise}.
	Every string of characters is a valid TECO program (though
	probably not a useful one); one common game used to be predict
	what the TECO commands corresponding to human names did.

	As an example of TECO's obscurity, here is a TECO program that
	takes a list of names such as:

		Loser, J. Random
		Quux, The Great
		Dick, Moby

	sorts them alphabetically according to surname, and then puts
	the surname last, removing the comma, to produce the
	following:

		Moby Dick
		J. Random Loser
		The Great Quux

	The program is

		[1 J^P$L$$
		J <.-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L>$$

	(where ^B means "Control-B" (ASCII 0000010) and $ is actually
	an {alt} or escape (ASCII 0011011) character).

	In fact, this very program was used to produce the second,
	sorted list from the first list.  The first hack at it had a
	{bug}: GLS (the author) had accidentally omitted the "@" in
	front of "F^B", which as anyone can see is clearly the {Wrong
	Thing}.  It worked fine the second time.  There is no space to
	describe all the features of TECO, but "^P" means "sort" and
	"J<.-Z; ... L>" is an idiomatic series of commands for "do
	once for every line".

	By 1991, {Emacs} had replaced TECO in hacker's affections but
	descendants of an early (and somewhat lobotomised) version
	adopted by {DEC} can still be found lurking on {VMS} and a
	couple of {crufty} {PDP-11} {operating systems}, and ports of
	the more advanced MIT versions remain the focus of some
	antiquarian interest.

	See also {retrocomputing}.

	{(ftp://usc.edu/)} for {VAX}/{VMS}, {Unix}, {MS-DOS},
	{Macintosh}, {Amiga}.

	[Authro?  Home page?]

	(2001-03-26)

tee

	<tool, operating system> A {Unix} command which copies its
	{standard input} to its {standard output} (like {cat}) but
	also to a file given as its argument.  tee is thus useful in
	{pipelines} of {Unix} commands (see {plumbing}) where it
	allows you to create a duplicate copy of the data stream.
	E.g.

		egrep Unix Dictionary | tee /dev/tty | wc -l

	searches for lines containing the string "Unix" in the file
	"Dictionary", prints them to the terminal (/dev/tty) and
	counts them.

	{Unix manual page}: tee(1).

	[{Jargon File}]

	(1996-01-22)

TEI

	1. <communications> {Terminal Endpoint Identifier}.

	2. <text, project> {Text Encoding Initiative}.

	(1997-03-11)

telco

	<communications, company> (from telephone company) A company
	providing phone services to end users.  The company may or may
	not provide other phone services such operating
	long-distance/international backbones but the name telco
	usually emphasises its operation as a local service provider.

	Compare: {PTT}.

	(1998-05-18)

TELCOMP

	<language> A variant of {JOSS}.

	[Sammet 1969, p.217].

	(1997-04-07)

Telecommunication Display Device

	{Telecommunications Device for the Deaf}

Telecommunications Device for the Deaf

	<communications> (TDD) A terminal device used widely by deaf
	people for text communication over telephone lines.

	The acronym TDD is sometimes expanded as "Telecommunication
	Display Device" but is generally considered to be derived from
	"Telecommunications Device for the Deaf".  The deaf themselves
	do not usually use the term "TDD", but prefer simply "{TTY}"
	-- possibly the original term.  The ambiguity between this and
	the other meanings of "{TTY}" is generally not problematic.
	The acronym "TTD" is also common [Teletype for the deaf?].

	The standard most used by TDDs is reportedly a survivor of
	{Baudot code}.  It uses {asynchronous} transmission of 1400 Hz
	and 1600 Hz tones at 45.5 or 50 {baud}, with one {start bit},
	5 data bits and 1.5 {stop bits}.  This is generally
	incompatible with standard {modems}.

	A typical TDD is a device about the size of a small {laptop
	computer} (resembling, in fact, a circa 1983 Radio Shack
	{Model 100} computer) with a {QWERTY keyboard}, and small
	screen (often one line high, often made of an array of
	{LEDs}).  There is often a small printer for making
	transcripts of terminal sessions.  An {acoustic coupler}
	connects it to the telephone handset.

	With the falling cost of {personal computers} and the
	widespread use of {Internet} {talk} systems, there is now
	little reason to use this {Stone Age} technology.

	[Standards?  {i18n}?]

	(2006-10-08)

Telecommunications Industry Association

	<body, standard> (TIA) An association that sets {standards}
	for communications cabling.

	Cables that TIA set standards for include: {EIA}/TIA-568A
	and EIA/TIA-568B category three, four and five cable.

	{(http://tiaonline.org/)}.

	[Details?]

	(2000-04-24)

telecommuting

	The practice of working at home and communicating with your
	fellow workers through the phone, typically with a computer
	and modem.  Telecommuting saves the employee getting to and
	from work and saves the employer from supplying support
	services such as heating and cleaning, but it can also deprive
	the worker of social contact and support.

	(1995-01-05)

teledildonics

	<application, virtual reality> /tel"*-dil-do"-niks/ Sex in a
	computer simulated {virtual reality}, especially
	computer-mediated sexual interaction between the VR presences
	of two humans.  This practice is not yet possible except in
	the rather limited form of erotic conversation on {MUDs} and
	the like.  The term, however, is widely recognised in the VR
	community as a {ha ha only serious} projection of things to
	come.  "When we can sustain a multi-sensory surround good
	enough for teledildonics, *then* we'll know we're getting
	somewhere."

	[{Jargon File}]

	(1995-02-06)

telegraphy

	<communications, history> A historical term for communication,
	either wired or wireless, using {Morse code}.  The term is
	used in contrast with {telephony} meaning voice transmission.
	Telegraphy is sometimes (somewhat incorrectly) referred to as
	"{continuous wave}" or CW transmission.

	(2009-11-24)

telematics

	The combination of telecommunications and computing.  Data
	communications between systems and devices.

	(1995-02-07)

TelEnet

	The old name for {Sprintnet}.  TELENET used to provide a
	service called {PC Pursuit}.

	Not to be confused with {telnet} the program and {protocol}.

	(1994-10-17)

TELEPAC

	<networking> The Swiss {PTT} {X.25} network.

	(1995-11-09)

Telephone Application Program Interface

	<programming, communications> (TAPI) Officially it's
	{Telephony Application Programming Interface}.

	(1995-11-27)

telephony

	<communications> Communication, often two-way, of spoken
	information, by means of electrical signals carried by wires
	or radio waves.  The term was used to indicate transmission of
	the voice, as opposed to {telegraphy} (done in {Morse code}
	and usually called "{continuous wave}" or CW transmission),
	radio teletypewriter (RTTY) transmission (also called FSK for
	"{Frequency Shift Keying}", the modulation scheme used by such
	machines), and later, facimile.

	(1995-03-14)

Telephony Application Programming Interface

	<programming, communications> (TAPI, or "Telephone Application
	Program Interface") A {Windows 95} {Application Program
	Interface} enabling hardware independent access to telephone
	based communication.  TAPI covers a rather wide area of
	services from initialising the equipment (e.g. a {modem}) and
	placing a call to {voice mail} or control of a remote
	computer.

	[Telephone or Telephony?]

	(1995-12-05)

Telephony User Interface

	<communications> (TUI) Either a software interface to
	telephony (e.g. a phone-capable PC) or a {DTMF}-based
	interface to software (e.g. voicemail).

	(2003-10-21)

Telerat

	<abuse, hardware> /tel'*-rat/ Unflattering hackerism for
	"{Teleray}", a line of extremely losing {terminals}.

	[{Jargon File}]

	(1995-01-19)

Telescope User Interface

	<hardware, interface> (TUI) A remote control interface for a
	telescope.

	(2003-10-21)

Telescript

	A communications-oriented programming language using "active
	software agents", released by {General Magic} in 1994.  What
	{PostScript} did for cross-{platform}, device-independent
	documents, Telescript aims to do for cross-{platform},
	network-independent messaging.  Telescript protects
	programmers from many of the complexities of network
	{protocols}.

	(1995-01-16)

Teletype

	<hardware, product> ({tty}) A trademark for a hard-copy
	{teletypewriter} produced by {Teletype Corporation}.

	(2000-04-02)

teletype

	{teletypewriter}

Teletype Corporation

	<company> The company which made {Teletype} {teletypewriters}.

	Address: Skokie, Illinois, USA.

	(2000-04-03)

teletypewriter

	<hardware> (Nearly always abbreviated to "teletype" or
	"{tty}") An obsolete kind of {terminal}, with a noisy
	mechanical {printer} for output, a very limited {character
	set}, and poor print quality.

	See also {bit-paired keyboard}.

	(2000-04-02)

TeleUSE

	An {interface builder} for {Motif}.

television

	<hardware> A dedicated {push media} device for receiving
	{streaming video} and {audio}, either by terrestrial radio
	broadcast, satellite or cable.

	(1997-11-23)

Television Interface Adaptor

	<hardware, graphics> (TIA) The graphics chip in the {Atari
	2600}, also used as a sound chip for some arcade game.

	(1999-12-06)

TELNET

	/tel'net/ 1. The {Internet} {standard} {protocol} for remote
	login.  Runs on top of {TCP/IP}.  Defined in {STD} 8, {RFC
	854} and extended with options by many other RFCs.  {Unix}
	{BSD} networking software includes a program, telnet, which
	uses the protocol and acts as a {terminal emulator} for the
	remote login session.  Sometimes abbreviated to TN.  {TOPS-10}
	had a similar program called {IMPCOM}.

	2. The US nationwide network into which one dials to access
	{CompuServe}.  It was created by John Goltz, one of the
	founders and system {guru} of {CompuServe}.  He later worked
	for {Tymshare}, one of CompuServe's big competitors.

	[{Jargon File}]

	(2004-09-14)

Telocator Alphanumeric Protocol

	<communications, protocol> (TAP, or "IXO", "PET") A {protocol}
	for submitting requests to a {pager} service.  IXO/TAP is an
	{ASCII}-based, {half-duplex} {protocol} that allows the
	submission of a numeric or alphanumeric message.

	{Examples, protocol description, clarifications
	(ftp://mirror.lcs.mit.edu/telecom-archives/technical)}.

	See also {RFC 1568}.

	(1996-04-07)

Telon

	{CA-Telon}

TELOS

	1. The {LeLisp} Version 16 Object System.  Also used in
	{EuLisp}.  The {object-oriented} {core} of {EuLisp}.
	Incorporates ideas from {CLOS}, {ObjVLisp} and {OakLisp}.
	Total merging of {types} with {class}es and message-passing
	with normal function {application}.

	2. A {Pascal}-based {AI} language.

	["Design Rationale for TELOS, a Pascal-based AI Language",
	Travis et al, SIGPLAN Notices 12(8) (Aug 1977)].

TELSIM

	Busch, ca 1966.  Digital simulation.

	[Sammet 1969, p. 627].

template

	<text> A {document} that contains {parameters}, identified by some
	special {syntax}, that are replaced by {actual arguments} by the
	template processing system.  For example:

	 Dear <guest>, <host> would like to invite you
	 to a party at <location> on <date> at <time>.

	Where the words in angle brackets are the parameters to be
	replaced by the name of an actual guest, etc.

	More sophisticated systems allow repetition, where a section
	is repeated in a single output document using a list of
	inputs; conditional sections or (nested) inclusion of other
	templates.

	See also {class template}.

	(2007-10-14)

template code

	<programming> {Pseudocode} generated by an automated {CASE}
	system and requiring further hand-coding before compilation.

	(2008-10-22)

template wizard

	<application> Software to guide the creation of some kind of
	{template}.  Examples include {Excel}'s Template Wizard add-in
	for creating databases to receive form data.  Most {web
	authoring} tools include facilities for inserting text into
	template page designs.

	(2008-10-22)

TEMPLOG

	Extension of {Prolog} to handle a clausal subset of
	first-order {temporal logic} with discrete time.  Proposed by
	M. Abadi and Z. Manna of {Stanford University}.

	["Temporal Logic in Programming", M. Abadi et al, INtl Symp
	Logic Prog pp.4-16 (1987)].

TEMPO

	A programming language with simple {syntax} and {semantics}
	designed for teaching semantic and pragmatic aspects of
	programming languages.

	["TEMPO: A Unified Treatment of Binding Time and Parameter
	Passing Concepts in Programming Languages", N.D. Jones et al,
	LNCS 66, Springer 1978].

Tempo

	<operating system> The original code name for {Mac OS} version
	8.

	(1997-10-15)

temporal database

	<database> A {database} that can store and retrieve temporal
	data, that is, data which depends on time in some way.

	[More details?  Examples?]

	(1996-05-25)

temporal logic

	<logic> An extension of {predicate calculus} which includes
	notation for arguing about *when* statements are true.  Time
	is discrete and extends indefinitely into the future.  Three
	{prefix} operators, represented by a circle, square and diamond
	mean "is true at the next time instant", "is true from now on"
	and "is eventually true".  x U y means x is true until y is
	true.  x P y means x precedes y.

	There are two types of formula: "state formulae" about things
	true at one point in time, and "path formulae" about things
	true for a sequence of steps.  An example of a path formula is
	"x U y", and example of a state formula is "next x" or a
	simple atomic formula such at "waiting".

	"true until" in this context means that a state formula holds
	at every point in time up to a point when another formula
	holds.  "x U y" is the "strong until" and implies that there
	is a time when y is true.  "x W y" is the "weak until" in
	which it is not necessary that y holds eventually.

	There are two types of temporal logic used: branching time and
	linear time.  The basic propositional temporal logic cannot
	differentiate between the two, though.  Linear time considers
	only one possible future, in branching time you have several
	alternative futures.  In branching temporal logic you have the
	extra operators "A" (for "all futures") and "E" (for "some
	future").  For example, "A(work U go_home)" means "I will work
	until I go home" and "E(work U go_home)" means "I may work
	until I go home".

	(1997-01-21)

Tempura

	Language based on temporal logic.  "Executing Temporal Logic
	Programs", B. Moszkowski, Camb U Press 1986.

Ten15

	<language> A universal {intermediate language}, a predecessor
	to {TDF}.

	{Ten15 Home (http://mca-ltd.com/martin/Ten15)}.

	["Ten15: An Overview", P. Core et al, Royal Signals Radar
	Establishment TR 3977, Sept 1986].

	[Polymorphic?]

	(2003-05-13)

tendinitis

	{overuse strain injury}

TenDRA

	<language> {TenDRA home (http://tendra.org/)}.

	[Summary?]

	(2003-05-13)

ten-finger interface

	The interface between two networks that cannot be directly
	connected for security reasons; refers to the practice of
	placing two terminals side by side and having an operator read
	from one and type into the other.

	[{Jargon File}]

tennis elbow

	{overuse strain injury}

tense

	Of programs, very clever and efficient.  A tense piece of code
	often got that way because it was highly {bum}med, but
	sometimes it was just based on a great idea.  A comment in a
	clever routine by Mike Kazar, once a grad-student hacker at
	CMU: "This routine is so tense it will bring tears to your
	eyes."  A tense programmer is one who produces tense code.

	[{Jargon File}]

tensor product

	<mathematics> A function of two {vector spaces}, U and V,
	which returns the space of {linear maps} from V's {dual} to U.

	Tensor product has natural symmetry in interchange of U and V
	and it produces an {associative} "multiplication" on vector
	spaces.

	Wrinting * for tensor product, we can map UxV to U*V via:
	(u,v) maps to that linear map which takes any w in V's dual to
	u times w's action on v.  We call this linear map u*v.  One
	can then show that

		u * v + u * x = u * (v+x)
		u * v + t * v = (u+t) * v
	and
		hu * v = h(u * v) = u * hv

	ie, the mapping respects {linearity}: whence any {bilinear
	map} from UxV (to wherever) may be factorised via this
	mapping.  This gives us the degree of natural symmetry in
	swapping U and V.  By rolling it up to multilinear maps from
	products of several vector spaces, we can get to the natural
	associative "multiplication" on vector spaces.

	When all the vector spaces are the same, permutation of the
	factors doesn't change the space and so constitutes an
	automorphism.  These permutation-induced iso-auto-morphisms
	form a {group} which is a {model} of the group of
	permutations.

	(1996-09-27)

tenured graduate student

	<job> One who has been in graduate school for 10 years (the
	usual maximum is 5 or 6): a "ten-yeared" student (get it?).
	Actually, this term may be used of any grad student beginning
	in his seventh year.  Students don't really get tenure, of
	course, the way professors do, but a tenth-year graduate
	student has probably been around the university longer than
	any untenured professor.

	[{Jargon File}]

	(1996-09-27)

tera-

	{prefix}

terabyte

	<unit, data> (TB) A unit of {data} equal to one trillion {bytes}.
	A terabyte is 10^12 bytes or 1000^4 bytes or 1000 {gigabytes}.

	A {terabyte} is roughly the amount of data in 117 {DVDs} (at 8.5
	{gigabytes} each).

	1000 terabytes are one {petabyte}.

	(Note the spelling - one 'r').  See {prefix}.

	(2013-11-03)

teraflop

	<unit> 10^12 {flops}.

	Intel beat Hitachi to the record of 1.06 teraflops, on 04 Dec
	1996, unofficially in Beverton, Oregon, using 7264 {Pentium
	Pro} chips.

	(1997-07-21)

teraflop club

	<body> /te'r*-flop kluhb/ (From {tera-} and {flops}) A
	mythical association of people who consume outrageous amounts
	of computer time in order to produce a few simple pictures of
	glass balls with intricate ray-tracing techniques.  {Caltech}
	professor James Kajiya is said to have been the founder.

	[{Jargon File}]

	(1997-07-21)

TERM

	1. <networking> A program by Michael O'Reilly
	<michael@iinet.com.au> for people running {Unix} who have
	{Internet} access via a {dial-up} connection, and who don't
	have access to {SLIP}, or {PPP}, or simply prefer a more
	lightweight {protocol}.  TERM does end-to-end
	error-correction, {compression} and {mulplexing} across serial
	links.  This means you can {upload} and {download} files as
	the same time you're reading your news, and can run {X}
	{clients} on the other side of your {modem} link, all without
	needing {SLIP} or {PPP}.

	Latest version: 1.15.

	{(ftp://tartarus.uwa.edu.au/pub/oreillym/term/term115.tar.gz)}.

	2. <business> {Technology Enabled Relationship Management}.

	(1999-10-04)

TERMAC

	An interactive matrix language.

	["Users Guide to TERMAC", J.S. Miller et al, MIT Dec 1968].

	(1994-11-04)

termcap

	<operating system> (terminal capabilities) A {Unix} database
	listing different types of terminal (or {terminal emulation})
	and the character {strings} to send to make the terminal
	perform certain functions such as move the {cursor} up one
	line or clear the screen.

	Programs written using termcap can work on any terminal in the
	database which supports the necessary functions.  Typical
	programs are {text editors} or file viewers like {more}.  The
	termcap routines look for an {environment variable} "TERM" to
	determine which terminal the user is using.

	{terminfo} is a later version of termcap.

	(1998-10-30)

terminak

	/ter'mi-nak`/ [Caltech, ca. 1979] Any malfunctioning computer
	terminal.  A common failure mode of Lear-Siegler ADM 3a
	terminals caused the "L" key to produce the "K" code instead;
	complaints about this tended to look like "Terminak #3 has a
	bad keyboard.  Pkease fix."  See {AIDX}, {Nominal
	Semidestructor}, {Open DeathTrap}, {ScumOS}, {sun-stools},
	{Telerat}, {HP-SUX}.

	[{Jargon File}]

	(1995-04-14)

terminal

	1. <hardware> An electronic or electromechanical device for
	entering data into a computer or a communications system and
	displaying data received.  Early terminals were called
	{teletypes}, later ones {VDUs}.  Typically a terminal
	communicates with the computer via a {serial line}.

	2. <electronics> The end of a {line} where signals are either
	transmitted or received, or a point along the length of a line
	where the signals are made available to apparatus.

	3. <electronics> Apparatus to send and/or receive signals on a
	{line}.

	(1995-10-02)

Terminal Access Controller

	<hardware, networking> (TAC) A device which connects
	{terminals} to the {Internet}, usually using dial-up {modem}
	connections and the {TACACS} {protocol}.

	(1997-11-27)

terminal adapter

	{Terminal Adaptor}

Terminal Adaptor

	<networking, hardware> (TA) Equipment used to adapt
	{Integrated Services Digital Network} (ISDN) {Basic Rate
	Interface} (BRI) channels to existing terminal equipment
	standards such as {EIA-232} and {V.35}.  A Terminal Adaptor is
	typically packaged like a {modem}, either as a {stand-alone}
	unit or as an interface card that plugs into a computer or
	other communications equipment (such as a {router} or {PBX}).
	A Terminal Adaptor does not interoperate with a {modem}; it
	replaces it.

	[ISDN {FAQ}].

	(1994-10-03)

terminal brain death

	The extreme form of {terminal illness}.  What someone who has
	obviously been hacking continuously for far too long is said
	to be suffering from.

	[{Jargon File}]

terminal emulation

	What a {terminal emulator} does.

terminal emulator

	<communications> A program that allows a computer to act like
	a (particular brand of) terminal, e.g. a {vt-100}.  The
	computer thus appears as a terminal to the {host} computer and
	accepts the same {escape sequences} for functions such as
	cursor positioning and clearing the screen.

	{xterm} is a terminal emulator for the {X Window System}.

	(1995-02-16)

terminal illness

	{raster burn}

terminal junkie

	(UK) A {wannabee} or early {larval stage} hacker who spends
	most of his or her time wandering the directory tree and
	writing {noddy} programs just to get a fix of computer time.
	Variants include "terminal jockey", "console junkie", and
	{console jockey}.  The term "console jockey" seems to imply
	more expertise than the other three (possibly because of the
	exalted status of the {console} relative to an ordinary
	terminal).

	See also {twink}, {read-only user}.

	[{Jargon File}]

	(1995-02-16)

terminal node

	{leaf}

Terminal Oriented Real Time Operating System

	<operating system> (TORTOS) An {operating system} developed
	from {MVT} at Health Sciences Computing, UCLA by Dr. Patrica
	Britt from the late 1960s to the mid 1970s.

	Dr. Britt was a senior scientist at {IBM}, who become the
	Assistant Director of HSCF.

	TORTOS pre-dated {TSO} and provided {batch}, {real-time} and
	{time sharing} on an {IBM 360}/91.

	(2004-07-02)

Terminal Oriented Social Science

	<project> (TOSS) The Cambridge Project {Project MAC} was an
	ARPA-funded political science computing project.  They worked
	on topics like survey analysis and simulation, led by Ithiel
	de Sola Pool, J.C.R. Licklider and Douwe B. Yntema.  Yntema
	had done a system on the {MIT} Lincoln Labs {TX-2} called the
	{Lincoln Reckoner}, and in the summer of 1969 led a Cambridge
	Project team in the construction of an experiment called TOSS.
	TOSS was like {Logo}, with {matrix} operators.  A major
	feature was multiple levels of {undo}, back to the level of
	the {login} session.  This feature was cheap on the Lincoln
	Reckoner, but absurdly expensive on {Multics}.

	(1997-01-29)

Terminal Productivity eXecutive

	<operating system> (TPX) A multiple session manager used to
	access {mainframe} applications.  It was written by {Morgan
	Stanley}, acquired by {Duquesne Systems} and is now owned by
	{Computer Associates}.  TPX allows you to work in multiple
	mainframe applications concurrently; lock and unlock your TPX
	screen; place your applications on hold; logon to TPX from a
	different terminal without losing your place; customize your
	TPX menu and send a screen image to another TPX user.

	TPX runs on {MVS} and {VM}.  On VM, like {VTAM}, it uses the
	MVS-like facilities of {GCS}.  It has a complete {scripting}
	facility and lets you see other user's sessions.  The
	{client-server} version allows each managed session to open in
	its own window.  Richard Kuebbing has built a complete e-mail
	system into it.

	{Unicenter CA-TPX
	(http://www3.ca.com/Solutions/Product.asp?ID=1531)}.

	(2005-09-29)

terminal server

	A device which connects many {terminals} ({serial lines}) to a
	{local area network} through one network connection.  A
	terminal server can also connect many network users to its
	asynchronous ports for {dial-out} capabilities and printer
	access.

	(1995-02-16)

Terminal User Interface

	{Textual User Interface}

Terminate and Stay Resident

	(TSR) A type of {DOS} utility which, once loaded, stays in
	memory and can be reactivated by pressing a certain
	combination of keys.

termination analysis

	A program analysis which attempts to determine whether
	evaluation of a given expression will definitely terminate.

	Evaluation of a constant is bound to terminate, as is
	evaluation of a non-{recursive} function applied to arguments
	which are either not evaluated or which can themselves be
	proved to terminate.  A recursive function can be shown to
	terminate if it can be shown that the arguments of the
	recursive calls are bound to reach some value at which the
	recursion will cease.

	Termination analysis can never guarantee to give the correct
	answer because this would be equivalent to solving the
	{halting problem} so the answer it gives is either "definitely
	terminates" or "don't know".

	(1994-10-20)

terminator

	<electronics> A resistor connected to a signal wire in a {bus}
	or {network} for the purpose of impedance matching to prevent
	reflections.

	For example, a 50 ohm resistor connected across the end of an
	{Ethernet} cable.  {SCSI} chains and some {LocalTalk} wiring
	schemes also require terminators.

	(1995-05-17)

term rewriting system

	(TRS) A collection of {rewrite rules} used to transform terms
	(expressions, strings in some formal language) into equivalent
	terms.  See {reduction}.

	(1994-11-04)

Terms Of Service

	<networking> (TOS) The rules laid down by an on-line service
	provider such as AOL that members must obey or risk being
	"TOS-sed" (disconnected).

	(1999-04-02)

ternary

	<programming> A description of an {operator} taking three
	arguments.  The only common example is {C}'s ?: operator which
	is used in the form "CONDITION ? EXP1 : EXP2" and returns EXP1
	if CONDITION is true else EXP2.  {Haskell} has a similar "if
	CONDITION then EXP1 else EXP2" operator.

	See also {unary}, {binary}.

	(1998-07-29)

terpri

	/ter'pree/ TERminate PRInt line.  [{LISP 1.5} and later,
	{MacLISP}] To output a {newline}.  Still used in {Common
	LISP}.  On some early {operating systems} and hardware, no
	characters would be printed until a complete line was formed,
	so this operation terminated the line and emitted the output.

	[{Jargon File}]

	(1996-06-24)

terrabyte

	<spelling> It's spelled "{terabyte}".

	(1997-01-23)

Terse

	Language for decryption of hardware logic.

	["Hardware Logic Simulation by Compilation", C. Hansen, 25th
	ACM/IEEE Design Automation Conf, 1988].

test

	<testing> The process of exercising a product to identify
	differences between expected and actual behaviour.  Typically
	testing is bottom-up: {unit testing} and {integration testing}
	by developers, {system testing} by testers, and {user
	acceptance testing} by users.

	{Test coverage} attempts to assess how complete a test has
	been.

	2. The second stage in a {generate and test} search
	{algorithm}.

	[{Jargon File}]

	(2003-09-24)

test coverage

	<testing> A measure of the proportion of a program exercised
	by a {test suite}, usually expressed as a percentage.  This
	will typically involve collecting information about which
	parts of a program are actually executed when running the test
	suite in order to identify which branches of {conditional
	statements} which have been taken.

	The most basic level of test coverage is {code coverage
	testing} and the most methodical is {path coverage testing}.
	Some intermediate levels of test coverage exist, but are
	rarely used.

	The standard {Unix} tool for measuring test coverage is
	{tcov}, which annotates {C} or {Fortran} source with the
	results of a test coverage analysis.  {GCT} is a {GNU}
	equivalent.

	(2001-05-20)

test-driven development

	<programming, testing> (TDD) An iterative {software
	development} process where each iteration consists
	of the developer writing an automated {test case}
	for an unimplemented improvement or function, then
	producing code to pass that test and finally
	{refactoring} the code to acceptable standards.

	{Kent Beck}, who is credited with having developed or
	"rediscovered" the technique, stated in 2003 that TDD
	encourages simple designs and inspires confidence.

	TDD is related to the humourous definition of programming
	as the process of {debugging an empty file}.

	(2012-05-01)

testing

	{test}

TET

	Test Environment Toolkit project coordinated by {X/Open}.

TeX

	<publication> /tekh/ An extremely powerful {macro}-based text
	formatter written by {Donald Knuth}, very popular in academia,
	especially in the computer-science community (it is good
	enough to have displaced {Unix} {troff}, the other favoured
	formatter, even at many {Unix} installations).

	The first version of TeX was written in the programming
	language {SAIL}, to run on a {PDP-10} under Stanford's {WAITS}
	{operating system}.

	Knuth began TeX because he had become annoyed at the declining
	quality of the typesetting in volumes I-III of his monumental
	"Art of Computer Programming" (see {Knuth}, also {bible}).  In
	a manifestation of the typical hackish urge to solve the
	problem at hand once and for all, he began to design his own
	typesetting language.  He thought he would finish it on his
	sabbatical in 1978; he was wrong by only about 8 years.  The
	language was finally frozen around 1985, but volume IV of "The
	Art of Computer Programming" has yet to appear as of mid-1997.
	(However, the third edition of volumes I and II have come
	out).  The impact and influence of TeX's design has been such
	that nobody minds this very much.  Many grand hackish projects
	have started as a bit of {toolsmithing} on the way to
	something else; Knuth's diversion was simply on a grander
	scale than most.

	{Guy Steele} happened to be at Stanford during the summer of
	1978, when Knuth was developing his first version of TeX.
	When he returned to {MIT} that fall, he rewrote TeX's {I/O} to
	run under {ITS}.

	TeX has also been a noteworthy example of free, shared, but
	high-quality software.  Knuth offers monetary awards to people
	who find and report a bug in it: for each bug the award is
	doubled.  (This has not made Knuth poor, however, as there
	have been very few bugs and in any case a cheque proving that
	the owner found a bug in TeX is rarely cashed).  Though
	well-written, TeX is so large (and so full of cutting edge
	technique) that it is said to have unearthed at least one bug
	in every {Pascal} system it has been compiled with.

	TeX fans insist on the correct (guttural) pronunciation, and
	the correct spelling (all caps, squished together, with the E
	depressed below the baseline; the mixed-case "TeX" is
	considered an acceptable {kluge} on {ASCII}-only devices).
	Fans like to proliferate names from the word "TeX" - such as
	TeXnician (TeX user), TeXhacker (TeX programmer), TeXmaster
	(competent TeX programmer), TeXhax, and TeXnique.

	Several document processing systems are based on TeX, notably
	{LaTeX} Lamport TeX - incorporates document styles for books,
	letters, slides, etc., {jadeTeX} uses TeX as a backend for
	printing from {James' DSSSL Engine}, and {Texinfo}, the {GNU}
	document processing system.  Numerous extensions to TeX exist,
	among them {BibTeX} for bibliographies (distributed with
	LaTeX), {PDFTeX} modifies TeX to produce {PDF} and {Omega}
	extends TeX to use the {Unicode} character set.

	For some reason, TeX uses its own variant of the {point}, the
	{TeX point}.

	See also {Comprehensive TeX Archive Network}.

	{(ftp://labrea.stanford.edu/tex/)}.

	E-mail: <tug@tug.org> (TeX User's group, Oregon, USA).

	(2002-03-11)

TeX-78

	<language, text> The original version of {TeX}.

	(1997-11-20)

TeX-82

	<language, text> The version of {TeX} described in The
	TeXbook, Donald Knuth, A-W 1984.

	(1997-11-20)

Texas Instruments

	<company> (TI) A US electronics company.

	A TI engineer, {Jack Kilby} invented the {integrated circuit}
	in 1958.  Three TI employees left the company in 1982 to start
	{Compaq}.

	The {COOL} and {OATH} {C++} {class} libraries were developed
	at TI, as were {PDL2} and the {ASC} computer, {PC-Scheme} and
	{Texas Instruments Pascal}.

	{(ftp://ti.com/)}.

	(1994-09-26)

Texinfo

	A {GNU} documentation system that uses a single source file to
	produce both on-line information and printed output.  You can
	read the on-line information, known as an "{Info} file", with
	an Info documentation-reading program.  By convention, Texinfo
	source file names end with a ".texi" or ".texinfo" extension.

	You can write and format Texinfo files into Info files within
	{GNU Emacs}, and read them using the Emacs Info reader.  If
	you do not have Emacs, you can format Texinfo files into Info
	files using "{makeinfo}" and read them using "info".  {TeX} is
	used to typeset Texinfo files for printing.

	Texinfo is available from your nearest {GNU archive site}.

	Latest version: 3.1, as of 1993-03-23.

	(1994-10-05)

TeX point

	<unit, text> The variant of the {point} used by {TeX}, equal
	to 0.3514598035 mm, or 1/72.27 inch.

	[Why yet another variant?]

	(2002-03-11)

text

	1. Executable code, especially a "pure code" portion shared
	between multiple instances of a program running in a
	{multitasking} {operating system}.

	Compare {English}.

	2. Textual material in the mainstream sense; data in ordinary
	{ASCII} or {EBCDIC} representation (see {flat ASCII}).  "Those
	are text files; you can review them using the editor."

	These two contradictory senses confuse hackers too.

	[{Jargon File}]

	(1995-03-16)

text-based

	<jargon> Working under a non-window-based {operating system}
	(e.g. {MS-DOS}) as opposed to a {graphical user interface}
	(e.g. {Microsoft Windows}).

	An MS-DOS text-based program uses a screen with a fixed array
	of 80x25 or 80x40 characters.  Examples are {WordPerfect}
	before version 5.1 and {Microsoft Word}.

	(1995-03-16)

text editor

	<tool, text> A utility program for creating and modifying
	{text files}.  This differs from a {word processor} in that
	the word processors often embed special control codes or
	{escape sequences} in the file to control formatting.

	(1996-11-15)

Text Encoding Initiative

	<text, project, standard> (TEI) A project working to establish
	a standard for interchanging {electronic text} for scholarly
	research.  The TEI has adopted {SGML} and implemented the TEI
	standard as an SGML {Document Type Definition}.

	The TEI was incorporated as a not-for-profit consortium in
	December 2000, with host sites in Bergen, Oxford, Virginia,
	and Providence RI, USA.

	{(http://tei-c.org/)}.

	See also {Corpus Processing}.

	[Any connection with {Computational Linguistics} or {Natural
	Language Processing}?]

	(2001-03-23)

text file

	<file format> A {file} containing no "invisible" {control
	characters}, only {printable} letters, numbers and symbols,
	usually from the {ASCII} {character set}.

	A text file can be produced with a {text editor} and can
	usually be imported into any {word processor} though it will
	probably appear unformatted.

	Compare {binary file}, {flat file}, {rich text file}.

	(1996-11-15)

Text Processing Utility

	<language> (TPU) A {DEC} language for creation of
	text-processing interfaces, used to implement DEC's
	{Extensible VAX Editor} (EVE).

	(2000-05-08)

Text Reckoning And Compiling

	<language> (TRAC) An interactive macro generator language for
	string manipulation by Calvin N. Mooers and Peter Deutsch of
	{Sun Microsystems}.  TAC derived ideas from {Macro SAP}.
	There are versions for {PDP-1}, {PDP-8}, {PDP-10} and
	{PDP-11}.

	See also {MINT}, {SAM76}.

	E-mail: Preston Briggs <preston@rice.edu>.

	["TRAC: A Procedure- Describing Language for the Reactive
	Typewriter", Calvin N. Mooers, CACM 9(3):215-219 (Mar 1966).
	Rockford Research Inst, 1972].

	[Sammet 1969, pp.448-454].

	["Macro Processors", A.J. Cole, Cambridge U Press].

	(1994-12-21)

text segment

	{code segment}

Text To Speech

	<application> (TTS) Automatic conversion of text streams to
	voice.

	[Details?]

	(1997-05-11)

Textual User Interface

	<interface> (TUI) Either a {text-based} version of a {GUI}, or
	a {full-screen} version of a {CLI}.

	(2003-10-21)

texture

	<graphics> A measure of the variation of the intensity of a
	surface, quantifying properties such as smoothness, coarseness
	and regularity.  It's often used as a {region descriptor} in
	{image analysis} and {computer vision}.

	The three principal approaches used to describe texture are
	statistical, structural and spectral.  Statistical techniques
	characterise texture by the statistical properties of the grey
	levels of the points comprising a surface.  Typically, these
	properties are computed from the grey level {histogram} or
	grey level {cooccurrence matrix} of the surface.

	Structural techniques characterise texture as being composed
	of simple primitives called "texels" (texture elements), that
	are regularly arranged on a surface according to some rules.
	These rules are formally defined by {grammars} of various
	types.

	Spectral techiques are based on properties of the Fourier
	spectrum and describe global periodicity of the grey levels of
	a surface by identifying high energy peaks in the spectrum.

	(1995-05-11)

tf

	<networking> The {country code} for French southern
	territories.

	(1999-01-27)

TFDL

	<language> ["TFDL : A Task-level Dataflow Language",
	P.A. Suhler et al, J Parallel and Distrib Comput 9:103-115
	(1990)].

	(1995-05-11)

TFT

	{Thin Film transistor}

TFTP

	{Trivial File Transfer Protocol}

tg

	<networking> The {country code} for Togo.

	(1999-01-27)

TGA

	{Targa Graphics Adaptor}

T-gen

	A general-purpose {object-oriented} tool for the automatic
	generation of string-to-{object} translators.  It was written
	in {Smalltalk} by Justin Graver <graver@comm.mot.com> and runs
	in the Smalltalk programming environment.  T-gen supports the
	generation of both {top-down parsers} ({LL parsers}) and
	{bottom-up parsers} ({LR parsers}), which will automatically
	generate {derivation trees}, {abstract syntax trees} or
	arbitrary {Smalltalk} {objects}.  The simple specification
	{syntax} and {graphical user interface} are intended to
	enhance the learning, comprehension and usefulness of T-gen.

	Latest version: 2.1.

	Runs on {Smalltalk-80}, {ParcPlace Objectworks}/{Smalltalk
	4.0} or 4.1.

	{(ftp://st.cs.uiuc.edu/pub/st80_r41/T-gen2.1/)}.

	(1992-10-18)

TGS-II

	Translator Generator System.  Contained {TRANDIR}.

	[Sammet 1969, p. 640].

TGS Systems

	<company> Suppliers of {Prograph}.

	Telephone: +1 (902) 429 5642.

	(1995-03-31)

tgz

	<filename extension, compression> (Or less often "taz", Tar
	GNU zip) A {filename extension} for a file or directory which
	has been archived with {tar} and then compressed with {gzip}.
	The full form ".tar.gz" is also common on proper {file
	systems} not limited to {8.3} file names.

	(1996-11-03)

th

	<networking> The {country code} for Thailand.

	(1999-01-27)

thanks in advance

	<jargon> (Usually "TIA") A conventional {Usenet}
	net.politeness ending a posted request for information or
	assistance.  Sometimes written "advTHANKSance" or
	"aTdHvAaNnKcSe".

	[{Jargon File}]

	(1999-02-09)

That's not a bug, that's a feature!

	The {canonical} first parry in a debate about a purported
	{bug}.  The complainant, if unconvinced, is likely to retort
	that the bug is then at best a {misfeature}.

	See also {feature}.

	[{Jargon File}]

	(1995-02-02)

T.H.E

	<operating system> The {operating system} in which
	{semaphores} were first used.

	[Details?]

	(1999-10-12)

The Cuckoo's Egg

	A great book (and subsequent BBC TV series) telling the true
	story of Clifford Stoll, an astronomy professor at {UCB}'s
	{Lawrence Berkeley Lab}.  A 75-cent accounting error alerted
	him to the presence of an unauthorised user (a {cracker}) on
	his system.  The cracker, code named "Hunter", was breaking
	into US computer systems and stealing sensitive military and
	security information.  Hunter was part of a spy ring paid in
	cash and cocaine, and reporting to the KGB.

	["The Cuckoo's Egg", Clifford Stoll, London: Bodley Head,
	1990, ISBN 0-370-31433-6, ISBN 0-671-72688-9].

	[FTP?]

	(1994-11-15)

The Dojo Toolkit

	<library, programming> A modular, {open source} {JavaScript}
	library.  Dojo is designed for easy development of JavaScript-
	or {AJAX} based applications and websites.  It is supported
	by the Dojo Foundation, which is sponsored by {IBM}, {AOL},
	{Sun} and others.

	The name is from the Japanese term meaning "place of the way",
	used for a formal place of training.

	(2008-07-23)

The Force

	A {data parallel} language by Harry Jordan
	<harry@boulder.colorado.edu> which extends {Fortran} for
	{shared memory} {multiprocessors}.  It features parallel
	"case" statements and {critical sections}.

	["The Force", H. Jordan, in "The Characteristics of Parallel
	Algorithms", L. Jamieson et al eds, MIT Press 1987,
	pp. 395-436].

	(1994-12-14)

The Internet Account

	An {Internet} provider in Sydney, Australia who provides
	{SLIP}, {PPP} and {CLI} accounts for the same rates.
	<riscman@geko.com.au> handles {Acorn} software.

	{(http://geko.com.au/)}.

	{(ftp://ftp.geko.com.au/pub/)}.

	E-mail: <accounts@geko.com.au>.

	Telephone: +61 (2) 968 4333.  Fax: +61 (2) 968 4334.

	Address: PO BOX 473, Crows Nest, NSE 2065, Australia.

	(1995-02-02)

The MathWorks, Inc.

	<company> The company marketing {MATLAB}.

	{(http://mathworks.com/)}.

	E-mail: <info@mathworks.com>.

	Address: 3 Apple Hill Drive, Natick, Massachusetts 01760-2098 USA.

	Telephone: +1 (508) 647-7000.  Fax: +1 (508) 647-7101.

	(2005-08-13)

The Metadata Company

	<company> A company founded by Jack E. Myers, originally known
	as Metadata Information Partners.  Myers trademarked the word
	"Metadata" (unhyphenated with initial capital, as opposed to
	the general term {metadata}) to represent
	implementations of his {MetaModel} and to designate his
	company.

	Myers claims that a data and publication search in the summer
	of 1969 failed to discover any use either of the word
	"metadata" or "meta data".

	{(http://metadata.com/)}.

	E-mail: <metadata@metadata.com>.

	Address: 444 West Ocean Blvd, Suite 1600, Long Beach CA 90802,
	USA.

	(2010-05-15)

The Microsoft Network

	<networking> (MSN) {Microsoft}'s {ISP} and online content
	service, launched in October 1996.  Not to be confused with
	{Microsoft Networking}.

	MSN was originally based on custom software and protocols,
	however Microsoft saw the error of their ways and adopted
	Internet standards.  MSN now provides standard {WWW} and
	{email} facilities, albeit with Microsoft's {Internet
	Explorer} {web-browser} and the {Outlook Express} email
	software.

	The service also provides "Community Services" including
	{newsgroups}, {forums}, and {chat}.

	{(http://msn.com/)}.

	(1998-08-11)

The Mythical Man-Month

	<publication> Fred Brooks's excellent 1975 book on {software
	engineering}.

	See also {Brooks's Law}.

	["The Mythical Man-Month: Essays on Software Engineering",
	Fred Brooks, Addison-Wesley, 1975, ISBN 0-201-00650-2].

	(1996-06-20)

The Network

	{network, the}

THEO

	A {frame language}.

	["Theo: A Framework for Self-Improving Systems", Mitchell et
	al, in Architectures for Intelligence, K. VanLehn ed, Erlbaum,
	1989].

	(1994-12-14)

theology

	1. Ironically or humorously used to refer to {religious
	issues}.

	2. Technical fine points of an abstruse nature, especially
	those where the resolution is of theoretical interest but is
	relatively {marginal} with respect to actual use of a design
	or system.  Used especially around software issues with a
	heavy AI or language-design component, such as the smart-data
	vs.  smart-programs dispute in AI.

	[{Jargon File}]

The Open Group

	<body> (Formerly "X/Open") A vendor- and technology-neutral
	consortium of buyers and suppliers of {information systems}
	that aims to ease integration by testing and certifying
	products against {open standards}.

	{The Open Group Home (http://opengroup.org)}.

	(2006-07-13)

theory

	The consensus, idea, plan, story, or set of rules that is
	currently being used to inform a behaviour.  This usage is a
	generalisation and (deliberate) abuse of the technical
	meaning.  "What's the theory on fixing this TECO loss?"
	"What's the theory on dinner tonight?"  ("Chinatown, I
	guess.")  "What's the current theory on letting lusers on
	during the day?"  "The theory behind this change is to fix the
	following well-known screw...."

	(1994-12-14)

theory change

	<artificial intelligence> The study of methods used to
	incorporate new information into a {knowledge base} when the
	new information may conflict with existing information.

	{Belief revision} is one area of theory change.

	[Others?]

	(1995-03-20)

The Real-Time Operating System Nucleus

	<project> (TRON) A project to develop an {operating system}
	and {man-machine interface} that can work with other operating
	systems to provide an environment for many small distributed
	computers to cooperate in {real time}.  TRON is headed by
	Dr. Ken Sakamura of the {University of Tokyo} and supported by
	most of the major Japanese computer makers and {NTT}.

	{(http://atip.org/public/atip.reports.91/tron.html)}.

	(2003-05-23)

There's More Than One Way To Do It

	<programming, philosophy> (TMTOWTDI) One of the design principles
	of {Perl}.  The Perl {man page} ends with a note:

	The Perl motto is "There's more than one way to do it."
	Divining how many more is left as an exercise to the reader.

	(2001-03-15)

Theseus

	<language> A language based on {Euclid}, never implemented.

	["Theseus - A Programming Language for Relational Databases",
	J.E. Shopiro, ACM Trans Database Sys 4(4):493-517, Mar 1979].

	(1994-12-14)

The story of Mel

	{The story of Mel, a Real Programmer}

The story of Mel, a Real Programmer

	<programming, person> A 1983 article by Ed Nather about {hacker}
	{Mel Kaye}.  The full text follows.

	A recent article devoted to the macho side of programming made
	the bald and unvarnished statement, "Real Programmers write in
	FORTRAN".

	Maybe they do now, in this decadent era of Lite beer, hand
	calculators and "user-friendly" software but back in the Good
	Old Days, when the term "software" sounded funny and Real
	Computers were made out of {drums} and {vacuum tubes}, Real
	Programmers wrote in {machine code} - not {Fortran}, not
	{RATFOR}, not even {assembly language} - {Machine Code}, raw,
	unadorned, inscrutable {hexadecimal} numbers, directly.

	Lest a whole new generation of programmers grow up in
	ignorance of this glorious past, I feel duty-bound to
	describe, as best I can through the generation gap, how a Real
	Programmer wrote code.  I'll call him Mel, because that was
	his name.

	I first met Mel when I went to work for {Royal McBee Computer
	Corporation}, a now-defunct subsidiary of the typewriter company.
	The firm manufactured the {LGP-30}, a small, cheap (by the
	standards of the day) {drum}-memory computer, and had just
	started to manufacture the RPC-4000, a much-improved, bigger,
	better, faster -- drum-memory computer.  Cores cost too much,
	and weren't here to stay, anyway.  (That's why you haven't
	heard of the company, or the computer.)

	I had been hired to write a {Fortran} compiler for this new
	marvel and Mel was my guide to its wonders.  Mel didn't
	approve of compilers.

	"If a program can't rewrite its own code," he asked, "what
	good is it?"

	Mel had written, in {hexadecimal}, the most popular computer
	program the company owned.  It ran on the {LGP-30} and played
	blackjack with potential customers at computer shows.  Its
	effect was always dramatic.  The LGP-30 booth was packed at
	every show, and the IBM salesmen stood around talking to each
	other.  Whether or not this actually sold computers was a
	question we never discussed.

	Mel's job was to re-write the blackjack program for the
	{RPC-4000}.  ({Port}?  What does that mean?)  The new computer
	had a one-plus-one addressing scheme, in which each machine
	instruction, in addition to the {operation code} and the
	address of the needed {operand}, had a second address that
	indicated where, on the revolving drum, the next instruction
	was located.  In modern parlance, every single instruction was
	followed by a {GO TO}!  Put *that* in {Pascal}'s pipe and
	smoke it.

	Mel loved the RPC-4000 because he could optimize his code:
	that is, locate instructions on the drum so that just as one
	finished its job, the next would be just arriving at the "read
	head" and available for immediate execution.  There was a
	program to do that job, an "optimizing assembler", but Mel
	refused to use it.

	"You never know where its going to put things", he explained,
	"so you'd have to use separate constants".

	It was a long time before I understood that remark.  Since Mel
	knew the numerical value of every operation code, and assigned
	his own drum addresses, every instruction he wrote could also
	be considered a numerical constant.  He could pick up an
	earlier "add" instruction, say, and multiply by it, if it had
	the right numeric value.  His code was not easy for someone
	else to modify.

	I compared Mel's hand-optimised programs with the same code
	massaged by the optimizing assembler program, and Mel's always
	ran faster.  That was because the "{top-down}" method of
	program design hadn't been invented yet, and Mel wouldn't have
	used it anyway.  He wrote the innermost parts of his program
	loops first, so they would get first choice of the optimum
	address locations on the drum.  The optimizing assembler
	wasn't smart enough to do it that way.

	Mel never wrote time-delay loops, either, even when the balky
	{Flexowriter} required a delay between output characters to
	work right.  He just located instructions on the drum so each
	successive one was just *past* the read head when it was
	needed; the drum had to execute another complete revolution to
	find the next instruction.  He coined an unforgettable term
	for this procedure.  Although "optimum" is an absolute term,
	like "unique", it became common verbal practice to make it
	relative: "not quite optimum" or "less optimum" or "not very
	optimum".  Mel called the maximum time-delay locations the
	"most pessimum".

	After he finished the blackjack program and got it to run,
	("Even the initialiser is optimised", he said proudly) he got
	a Change Request from the sales department.  The program used
	an elegant (optimised) {random number generator} to shuffle
	the "cards" and deal from the "deck", and some of the salesmen
	felt it was too fair, since sometimes the customers lost.
	They wanted Mel to modify the program so, at the setting of a
	sense switch on the console, they could change the odds and
	let the customer win.

	Mel balked.  He felt this was patently dishonest, which it
	was, and that it impinged on his personal integrity as a
	programmer, which it did, so he refused to do it.  The Head
	Salesman talked to Mel, as did the Big Boss and, at the boss's
	urging, a few Fellow Programmers.  Mel finally gave in and
	wrote the code, but he got the test backward, and, when the
	sense switch was turned on, the program would cheat, winning
	every time.  Mel was delighted with this, claiming his
	subconscious was uncontrollably ethical, and adamantly refused
	to fix it.

	After Mel had left the company for greener pa$ture$, the Big
	Boss asked me to look at the code and see if I could find the
	test and reverse it.  Somewhat reluctantly, I agreed to look.
	Tracking Mel's code was a real adventure.

	I have often felt that programming is an art form, whose real
	value can only be appreciated by another versed in the same
	arcane art; there are lovely gems and brilliant coups hidden
	from human view and admiration, sometimes forever, by the very
	nature of the process.  You can learn a lot about an
	individual just by reading through his code, even in
	hexadecimal.  Mel was, I think, an unsung genius.

	Perhaps my greatest shock came when I found an innocent loop
	that had no test in it.  No test. *None*.  Common sense said
	it had to be a closed loop, where the program would circle,
	forever, endlessly.  Program control passed right through it,
	however, and safely out the other side.  It took me two weeks
	to figure it out.

	The RPC-4000 computer had a really modern facility called an
	{index register}.  It allowed the programmer to write a
	program loop that used an indexed instruction inside; each
	time through, the number in the index register was added to
	the address of that instruction, so it would refer to the next
	datum in a series.  He had only to increment the index
	register each time through.  Mel never used it.

	Instead, he would pull the instruction into a machine
	register, add one to its address, and store it back.  He would
	then execute the modified instruction right from the register.
	The loop was written so this additional execution time was
	taken into account -- just as this instruction finished, the
	next one was right under the drum's read head, ready to go.
	But the loop had no test in it.

	The vital clue came when I noticed the index register bit, the
	bit that lay between the address and the operation code in the
	instruction word, was turned on-- yet Mel never used the index
	register, leaving it zero all the time.  When the light went
	on it nearly blinded me.

	He had located the data he was working on near the top of
	memory -- the largest locations the instructions could address
	-- so, after the last datum was handled, incrementing the
	instruction address would make it overflow.  The carry would
	add one to the operation code, changing it to the next one in
	the instruction set: a jump instruction.  Sure enough, the
	next program instruction was in address location zero, and the
	program went happily on its way.

	I haven't kept in touch with Mel, so I don't know if he ever
	gave in to the flood of change that has washed over
	programming techniques since those long-gone days.  I like to
	think he didn't.  In any event, I was impressed enough that I
	quit looking for the offending test, telling the Big Boss I
	couldn't find it.  He didn't seem surprised.

	When I left the company, the blackjack program would still
	cheat if you turned on the right sense switch, and I think
	that's how it should be.  I didn't feel comfortable hacking up
	the code of a Real Programmer."

	[Posted to {Usenet} by its author, Ed Nather <utastro!nather>, on
	1983-05-21].

	{Jargon File
	(http://www.catb.org/jargon/html/story-of-mel.html)}.

	[{On the trail of a Real Programmer
	(http://www.jamtronix.com/blog/2011/03/25/on-the-trail-of-a-real-programmer/)},
	2011-03-25 blog post by "jonno" at Jamtronix]

	[When did it happen?  Did Mel use hexadecimal or octal?]

	(2003-09-12)

The World Of Cryton

	(TWOC) A {BBS} for the {Acorn} {Archimedes}.

	Telephone: +44 (1749) 670 030 (24hrs, most speeds).

	(1994-11-08)

the X that can be Y is not the true X

	Yet another instance of hackerdom's peculiar attraction to
	mystical references - a common humorous way of making
	exclusive statements about a class of things.  The template is
	from the "Tao te Ching": "The Tao which can be spoken of is
	not the true Tao."  The implication is often that the X is a
	mystery accessible only to the enlightened.  See the
	{trampoline} entry for an example, and compare {has the X
	nature}.

	[{Jargon File}]

thicket

	<jargon> Multiple {files} output from some operation.

	The term has been heard in use at {Microsoft} to describe the
	set of {files} output when {Microsoft Word} does "Save As a
	{Web} Page" or "Save as {HTML}".  The process can result in a
	main {XML} or {HTML} {file}, a {graphic} {file} for each
	{image} in the original, a {CSS} {file}, etc.

	This can be an issue as {XML} can be used as the default
	format in {Office 2000}, and {document management systems}
	can't yet cope with the relationship between the {files} in a
	thicket when checking in and out.

	(2001-09-01)

thick Ethernet cable

	{RG8}

thick film dielectric electroluminescence

	<hardware> (TDEL) A phenomenon used in some {flat panel}
	displays.

	(2007-06-04)

thicknet

	{10base5}

thin client

	<networking> A simple {client} program or hardware device
	which relies on most of the function of the system being in
	the {server}.

	{Gopher} clients, for example, are very thin; they are
	{stateless} and are not required to know how to interpret and
	display objects much more complex than menus and plain text.
	Gopher servers, on the other hand, can search {databases} and
	provide {gateways} to other services.

	By the mid-1990s, the model of decentralised computing where
	each user has his own full-featured and independent
	{microcomputer}, seemed to have displaced a centralised model
	in which multiple users use thin clients (e.g. {dumb
	terminals}) to work on a shared {minicomputer} or {mainframe}
	server.  Networked {personal computers} typically operate as
	"fat clients", often providing everything except some file
	storage and printing locally.

	By 1996, reintroduction of thin clients is being proposed,
	especially for {LAN}-type environments (see the {cycle of
	reincarnation}).  The main expected benefit of this is ease of
	maintenance: with fat clients, especially those suffering from
	the poor networking support of {Microsoft} {operating
	systems}, installing a new application for everyone is likely
	to mean having to physically go to every user's workstation to
	install the application, or having to modify client-side
	configuration options; whereas with thin clients the
	maintenance tasks are centralised on the server and so need
	only be done once.

	Also, by virtue of their simplicity, thin clients generally
	have fewer hardware demands, and are less open to being
	screwed up by ambitious {lusers}.

	Never one to miss a bandwagon, Microsoft bought up {Insignia
	Solutions, Inc.}'s "{NTRIGUE}" Windows remote-access product
	and combined it with {Windows NT} version 4 to allow thin
	clients (either hardware or software) to communicate with
	applications running under on a server machine under {Windows
	Terminal Server} in the same way as {X} had done for {Unix}
	decades before.

	(1999-02-01)

thin Ethernet cable

	{RG58}

ThingLab

	A {simulation} system written in {Smalltalk-80}.  It solves
	{constraints} using {value inference}.

	Version: ThingLab II.

	["The Programming Language Aspects of ThingLab, A
	Constraint-Oriented Simulation Laboratory", A. Borning, ACM
	TOPLAS 3(4):353-387 (Oct 1981)].

Think C

	An extension of {ANSI C} for the {Macintosh} by {Symantec
	Corporation}.  It supports {object-oriented} programming
	techniques similar to {C++}.

Thinking Machines Corporation

	<company> The company that introduced the {Connection Machine
	parallel computer} ca 1984.  Four of the world's ten most
	powerful {supercomputers} are Connection Machines.  Thinking
	Machines is the leader in scalable computing, with software
	and applications running on parallel systems ranging from 16
	to 1024 processors.  In developing the Connection Machine
	system, Thinking Machines also did pioneering work in parallel
	software.

	The 1993 technical applications market for massively parallel
	systems was approximately $310 million, of which Thinking
	Machines Corporation held a 29 percent share.  Thinking
	Machines planned to become a software provider by 1996, by
	which time the parallel computing market was expected to have
	grown to $2 billion.

	Thinking Machines Corporation has 200 employees and offices
	worldwide.

	Address: 245 First Street, Cambridge, MA 02142-1264, USA.
	Telephone: +1 (617) 234 1000.  Fax: +1 (617) 234 4444.

	(1994-12-01)

thinko

	<jargon> /thing'koh/ (Or "braino", by analogy with "{typo}") A
	momentary, correctable {glitch} in mental processing,
	especially one involving recall of information learned by
	rote; a bubble in the stream of consciousness.

	See also {brain fart}.  Compare {mouso}.

	[{Jargon File}]

	(1996-04-20)

thinnet

	{cheapernet}

third generation computer

	<architecture> A computer built with small-scale integration
	{integrated circuits}, designed after the mid-1960s.

	Third generation computers use {semiconductor} memories in
	addition to, and later instead of, {ferrite core memory}.  The
	two main types of semiconductor memory are {Read-Only Memory}
	(ROM) and read-and-write memories called {random-access
	memory} (RAM).

	A technique called {microprogramming} became widespread and
	simplified the design of the {CPUs} and increased their
	flexibility.  This also made possible the development of
	{operating systems} as {software} rather than as hard-wiring.

	A variety of techniques for improving processing efficiency
	were invented, such as {pipelining}, (parallel operation of
	{functional units} processing a single instruction), and
	{multiprocessing} (concurrent execution of multiple programs).

	As the execution of a program requires that program to be in
	memory, the concurrent running of several programs requires
	that all programs be in memory simultaneously.  Thus the
	development of techniques for concurrent processing was
	matched by the development of {memory management} techniques
	such as {dynamic memory allocation}, {virtual memory}, and
	{paging}, as well as {compilers} producing {relocatable code}.

	The {LILLIAC IV} is an example of a third generation computer.

	The CTSS ({Compatible Time-Sharing System}) was developed at
	{MIT} in the early 1960s and had a considerable influence on
	the design of subsequent timesharing operating systems.

	An interesting contrasting development in this generation was
	the start of mass production of small low-cost
	"{minicomputers}".

third generation language

	<language> (3GL, "{high level language}") A language designed
	to be easier for a human to understand, including things like
	named variables.  A fragment might be

		let c = c + 2 * d

	Fortran, ALGOL and COBOL are early examples of this sort of
	language.  Most "modern" languages ({BASIC}, {C}, {C++}) are
	third generation.  Most 3GLs support {structured programming}.

	See also {second generation language}, {fourth generation
	language}.

	(1996-05-30)

third normal form

	{database normalisation}

This can't happen

	{can't happen}

this dictionary

	{Free On-line Dictionary of Computing}

This time, for sure!

	<exclamation> Ritual affirmation frequently uttered during
	protracted {debugging} sessions involving numerous small
	obstacles (e.g. attempts to bring up a {UUCP} connection).  For
	the proper effect, this must be uttered in a fruity imitation
	of Bullwinkle J. Moose.

	Also heard: "Hey, Rocky!  Watch me pull a rabbit out of my
	hat!"  The {canonical} response is, of course, "But that trick
	*never* works!"

	See {hacker humour}.

	[{Jargon File}]

	(1995-09-27)

thn

	{thumbnail}

Thomas

	<language> A language compatible with the language
	{Dylan}(TM).  Thomas is NOT {Dylan}(TM).

	The first public release of a translator to {Scheme} by Matt
	Birkholz, Jim Miller, and Ron Weiss, written at {Digital
	Equipment Corporation}'s {Cambridge Research Laboratory} runs
	(slowly) on {MIT}'s {CScheme}, DEC's {Scheme->C}, Marc
	Feeley's {Gambi}, {Macintosh}, {PC}, {Vax}, {MIPS}, {Alpha},
	{680x0}.

	{(ftp://gatekeeper.pa.dec.com/pub/DEC/Thomas)}.

	Mailing list: <info-thomas@crl.dec.com>.

	["Dylan(TM) an object-oriented dynamic language", {Apple
	Computer}, Eastern Research and Technology, April 1992].

	(1992-09-11)

thrash

	To move wildly or violently, without accomplishing anything
	useful.  {Paging} or {swapping} systems that are overloaded
	waste most of their time moving data into and out of {core}
	(rather than performing useful computation) and are therefore
	said to thrash.  Thrashing can also occur in a {cache} due to
	{cache conflict} or in a {multiprocessor} (see {ping-pong}).

	Someone who keeps changing his mind (especially about what to
	work on next) is said to be thrashing.  A person frantically
	trying to execute too many tasks at once (and not spending
	enough time on any single task) may also be described as
	thrashing.

	Compare {multitask}.

	[{Jargon File}]

thrashing

	{thrash}

thread

	1. See {multithreading}.

	2. See {threaded code}.

	3. {topic thread}.

	[{Jargon File}]

threaded

	{thread}

threaded code

	<programming> A technique for implementing {virtual machine}
	{interpreters}, introduced by J.R. Bell in 1973, where each
	{op-code} in the virtual machine {instruction set} is the
	address of some (lower level) code to perform the required
	operation.  This kind of virtual machine can be implemented
	efficiently in {machine code} on most processors by simply
	performing an {indirect jump} to the address which is the next
	instruction.

	Many {Forth} implementations use threaded code and nowadays
	some use the term "threading" for almost any technique used to
	implement Forth's virtual machine.

	{(http://complang.tuwien.ac.at/forth/threaded-code.html)}.

	["James R. Bell", "Threaded Code", CACM, 1973, 16, 6, pp
	370-372].

	["An Architectural Trail to Threaded Code Systems", Kogge,
	P. M., IEEE Computer, March 1982].

	(1998-09-02)

threading

	{thread}

Thread Language Zero

	<language> (TL0) The {instruction set} of the TAM ({Threaded
	Abstract Machine}), used to implement {Id}.

	["Fine-grain Parallelism with Minimal Hardware Support", David
	Culler et al, SIGPLAN Notices 26(4):164-175, ASPLOS-IV Proc,
	Apr 1991].

	(1995-03-13)

thread-safe

	<programming> A description of code which is either
	{re-entrant} or protected from multiple simultaneous execution
	by some form of {mutual exclusion}.

	(1997-01-30)

three-finger salute

	{Vulcan nerve pinch}

three-letter acronym

	<jargon> (TLA) The {canonical}, self-describing {acronym} for the
	name of a species with which computing terminology is infested.
	Examples include {MCA}, {FTP}, {SNA}, {CPU}, {MMU}, {DMU}, {FPU},
	{TLA}.

	This dictionary contains many {TLAs}.

	Sometimes used by extension for any confusing acronym.  People
	who like this looser usage argue that not all TLAs have three
	letters, just as not all four-letter words have four letters.
	One also hears of "ETLA" (Extended Three-Letter Acronym) being
	used to describe four-letter acronyms.  The term "SFLA"
	(Stupid Four-Letter Acronym) has also been reported.

	See also {YABA}.

	The self-effacing phrase "TDM TLA" (Too Damn Many...) is used to
	bemoan the plethora of TLAs in use.  In 1989, a random of the
	journalistic persuasion asked hacker Paul Boutin "What do you
	think will be the biggest problem in computing in the 90s?"
	Paul's straight-faced response: "There are only 17,000
	three-letter acronyms." (To be exact, there are 26^3 = 17,576.)

	(2014-08-14)

three-tier

	<architecture> A {client-server} architecture in which the
	{user interface}, functional process logic ("business rules")
	and data storage and access are developed and maintained as
	independent {modules}, most often on separate {platforms}.

	Apart from the usual advantages of modular software with well
	defined interfaces, the three-tier architecture is intended to
	allow any of the three tiers to be upgraded or replaced
	independently as requirements or technology change.  For
	example, an upgrade of desktop {operating system} from
	{Microsoft Windows} to {Unix} would only affect the {user
	interface} code.

	Typically, the user interface runs on a desktop {PC} or
	{workstation} and uses a standard {graphical user interface},
	functional process logic may consist of one or more separate
	modules running on a {workstation} or application {server},
	and an {RDBMS} on a database server or {mainframe} contains
	the data storage logic.  The middle tier may be multi-tiered
	itself (in which case the overall architecture is called an
	"n-tier architecture").

	(1998-05-13)

throughput

	1. The rate at which a processor can work expressed in
	instructions per second or jobs per hour or some other unit of
	performance.

	2. <communications> {data transfer rate}.

	(2001-05-22)

thud

	1. Yet another {metasyntactic variable} (see {foo}).  It is
	reported that at {CMU} from the mid-1970s the canonical series
	of these was "foo", "bar", "thud", "blat".

	2. Rare term for the hash character, "#" (ASCII 35).  See
	{ASCII} for other synonyms.

	[{Jargon File}]

Thumb

	<processor> An extension to the {Advanced RISC Machine}
	architecture, announced on 06 March 1995 by {Advanced RISC
	Machines} Ltd.  By identifying the critical subset of the ARM
	{instruction set} and encoding it into 16 bits, ARM has
	succeeded in reducing typical program size by 30-40% from
	ARM's already excellent code density.  Since this Thumb
	instruction set uses less memory for program storage, cost is
	further reduced.

	All Thumb-aware {processor cores} combine the capability to
	execute both the 32-bit ARM and the 16-bit Thumb instruction
	sets.  Careful design of the Thumb instructions allow them to
	be decompressed into full ARM instructions transparently
	during normal instruction decoding without any performance
	penalty.  This differs from other 32-bit processors, like the
	{Intel 486SX}, with a 16-bit data bus, which require two
	16-bit memory accesses to execute every 32-bit instruction and
	so halve performance.

	The patented Thumb decompressor has been carefully designed
	with only a small amount of circuitry additional to the
	existing instruction decoder, so chip size and thus cost do
	not significantly increase.  Designers can easily interleave
	fast ARM instructions (for performance critical parts of a
	program) with compact Thumb code to save memory.

	(1995-03-14)

thumb

	<jargon> The slider or "bubble" on a window system
	{scrollbar}.  So called because moving it allows you to browse
	through the contents of a text window in a way analogous to
	thumbing through a book.

	[{Jargon File}]

	(1995-03-14)

thumbnail

	<file format, graphics> (From "thumbnail sketch") A file
	format used by {Graphics Workshop} for {Microsoft Windows}.
	{Filename extension}: ".thn".

	[What's in the files?]

	(1996-05-28)

Thunderbird

	<messaging, open source> A complete {free}, {open-source}
	{e-mail client} from the {Mozilla Foundation} and therefore a
	true code descendent of the e-mail code in {Netscape
	Navigator}.  The first non-{beta release} was in late 2004.
	The {Firefox} web browser is from the same source.

	{Thunderbird Home
	(http://mozilla.org/products/thunderbird)}.

	(2005-01-26)

thunk

	<programming> /thuhnk/ 1. "A piece of coding which provides an
	address", according to P. Z. Ingerman, who invented thunks in
	1961 as a way of binding {actual parameters} to their formal
	definitions in {ALGOL 60} {procedure} calls.  If a procedure
	is called with an expression in the place of a {formal
	parameter}, the compiler generates a thunk which computes the
	expression and leaves the address of the result in some
	standard location.

	2. The term was later generalised to mean an expression,
	frozen together with its {environment} (variable values), for
	later evaluation if and when needed (similar to a
	"{closure}").  The process of unfreezing these thunks is
	called "forcing".

	3. A {stubroutine}, in an {overlay} programming environment,
	that loads and jumps to the correct overlay.

	Compare {trampoline}.

	There are a couple of onomatopoeic myths circulating about the
	origin of this term.  The most common is that it is the sound
	made by data hitting the {stack}; another holds that the sound
	is that of the data hitting an {accumulator}.  Yet another
	suggests that it is the sound of the expression being unfrozen
	at argument-evaluation time.  In fact, according to the
	inventors, it was coined after they realised (in the wee hours
	after hours of discussion) that the type of an argument in
	{ALGOL 60} could be figured out in advance with a little
	{compile-time} thought, simplifying the evaluation machinery.
	In other words, it had "already been thought of"; thus it was
	christened a "thunk", which is "the past tense of "think" at
	two in the morning".

	4. ({Microsoft Windows} programming) {universal thunk},
	{generic thunk}, {flat thunk}.

	[{Jargon File}]

	(1997-10-11)

TIA

	1. <chat> Thanks in advance.

	2. <body> {Telecommunications Industry Association}.

	3. <software> The {Internet Adapter}.

	4. <graphics, hardware> {Television Interface Adaptor}.

	(1999-12-06)

tick

	1. A {jiffy} (sense 1).  2. In simulations, the discrete unit
	of time that passes between iterations of the simulation
	mechanism.  In AI applications, this amount of time is often
	left unspecified, since the only constraint of interest is the
	ordering of events.  This sort of AI simulation is often
	pejoratively referred to as "tick-tick-tick" simulation,
	especially when the issue of simultaneity of events with long,
	independent chains of causes is {handwave}d.  3. In the FORTH
	language, a single quote character.

	[{Jargon File}]

TickIT

	A software industry quality assessment scheme.

Tickle

	<text, tool> A {text editor}, file translator and {TCL}
	{interpreter} for the {Macintosh}.

	Version 5.0v1.  The text editor breaks the 32K limit (like
	{MPW}).

	The file translation utilities support {drag and drop}
	handling via tcl scripts of {BinHex}, {MacBinary}, {Apple
	Computer} Single/Double, {StuffIt} (with engine), {Unix}
	{compress}, {Unix} {tar} and {UUencode} files as well as text
	translation.

	Tickle implements tcl 7.0 with {tclX} extensions and
	{Macintosh} equivalents of {Unix}'s {ls}, {pwd}, {cd}
	commands.  It provides Macintosh access to {Resource Manager},
	{Communications Toolbox}, {OSA} Components (and
	{AppleScript}), {Editions} (publish and subscribe) and {Apple
	Events} (including AEBuild and AEPrint).  {OSA Script} support
	allows programming of any OSA scripting component within
	Tickle interpreter windows.  It provides the OSAtcl and OSAJ
	{J}/{APL} extensions and creates "Ticklets" which are small
	{application programs} that carry only the tcl script and use
	code in the OSAtcl component to drive an application that
	allows {drag and drop} with tcl scripts.  Tickle is scriptable
	and recordable.

	{(ftp://ftp.msen.com/pub/vendor/ice/tickle/Tickle5.0v1.hqx)}.

	E-mail: <time@ice.com>.

	(1994-10-12)

tickle a bug

	To cause a normally hidden bug to manifest itself through some
	known series of inputs or operations.  "You can tickle the bug
	in the Paradise VGA card's highlight handling by trying to set
	bright yellow reverse video."

	[{Jargon File}]

tick-list features

	({Acorn Computers}) Features in software or hardware that
	customers insist on but never use (calculators in desktop TSRs
	and that sort of thing).  The American equivalent would be
	"checklist features", but this jargon sense of the phrase has
	not been reported.

	(1995-01-06)

TIFF

	{Tagged Image File Format}

tiger team

	(US military jargon) 1. Originally, a team whose purpose is to
	penetrate security, and thus test security measures.  These
	people are paid professionals who do hacker-type tricks,
	e.g. leave cardboard signs saying "bomb" in critical defence
	installations, hand-lettered notes saying "Your codebooks have
	been stolen" (they usually haven't been) inside safes, etc.
	After a successful penetration, some high-ranking security
	type shows up the next morning for a "security review" and
	finds the sign, note, etc. and all hell breaks loose.  Serious
	successes of tiger teams sometimes lead to early retirement
	for base commanders and security officers (see the {patch}
	entry for an example).

	2. Recently, and more generally, any official inspection team
	or special {firefighting} group called in to look at a
	problem.

	A subset of tiger teams are professional {crackers}, testing
	the security of military computer installations by attempting
	remote attacks via networks or supposedly "secure"
	communication channels.  Some of their escapades, if
	declassified, would probably rank among the greatest hacks of
	all times.  The term has been adopted in commercial
	computer-security circles in this more specific sense.

	[{Jargon File}]

tight loop

	<programming> A {loop} of code that executes without releasing
	any resources to other programs or the {operating system}.

	Consider the following pointless {BASIC} loop that counts
	upward indefinitely

	 10 i = i + 1
	 20 GOTO 10

	Run on a single-user system such as {MS-DOS} this will not
	cause any problems.  Run on a {cooperative multitasking}
	operating system such as {Windows 3}, the system would appear
	to freeze.

	A {pre-emptive multitasking} operating system such as
	{UNIX} or {Windows NT} would "steal" cycles away from
	the program and continue to run other programs.

	See also {busy-wait} and {multitasking}.

	(1999-05-06)

tilde

	<character> "~" {ASCII} character 126.

	Common names are: {ITU-T}: tilde; squiggle; {twiddle}; not.
	Rare: approx; wiggle; {swung dash}; enyay; {INTERCAL}: sqiggle
	(sic).

	Used as {C}'s prefix {bitwise negation} {operator}; and in
	{Unix} {csh}, {GNU Emacs}, and elsewhere, to stand for the
	current user's {home directory}, or, when prefixed to a {login
	name}, for the given user's home directory.

	The "swung dash" or "approximation" sign is not quite the same
	as {tilde} in typeset material but the ASCII tilde serves for
	both (compare {angle brackets}).

	[Has anyone else heard this called "tidal" (as in wave)?]

	(1996-10-18)

TILE Forth

	<language> A {Forth} {interpreter} in {C} for {Unix} by Mikael
	Patel <mip@sectra.se>.  TILE Forth comes with many Forth
	libraries.  It conforms to the {Forth83} {standard} and is
	distributed under {GPL}.

	Latest version: 2.1, as of 1991-11-13.

	Availalbe via {FTP} from a {GNU archive site}.

	(1991-11-13)

Tim Berners-Lee

	<person> The man who invented the {web} while
	working at the Center for European Particle Research (CERN).
	Now Director of the {web Consortium}.

	Tim Berners-Lee graduated from the Queen's College at Oxford
	University, England, 1976.  Whilst there he built his first
	computer with a soldering iron, {TTL} gates, an {M6800}
	processor and an old television.

	He then went on to work for {Plessey Telecommunications}, and
	D.G. Nash Ltd (where he wrote software for intelligent
	printers and a {multi-tasking} {operating system}), before
	joining CERN, where he designed a program called 'Enquire',
	which was never published, but formed the conceptual basis for
	today's {web}.

	In 1984, he took up a fellowship at CERN, and in 1989, he
	wrote the first {web server}, "{httpd}", and the
	first client, "WorldWideWeb" a {hypertext} browser/editor
	which ran under {NEXTSTEP}.  The program "WorldWideWeb" was
	first made available within CERN in December, and on the
	{Internet} as a whole in the summer of 1991.

	In 1994, Tim joined the {Laboratory for Computer Science}
	(LCS) at the {Massachusetts Institute of Technology} (MIT).
	In 1999, he became the first holder of the {3Com} Founders
	chair.  He is also the author of "Weaving the Web", on the
	past present and future of the Web.

	In 2001, Tim was made a fellow of The Royal Society.

	Tim is married to Nancy Carlson. They have two children, born
	1991 and 1994.

	{(http://w3.org/People/Berners-Lee/Longer.html)}.

	(2001-06-17)

time bomb

	<software, security> A subspecies of {logic bomb} that is
	triggered by reaching some preset time, either once or
	periodically.  There are numerous legends about time bombs set
	up by programmers in their employers' machines, to go off if
	the programmer is fired or laid off and is not present to
	perform the appropriate suppressing action periodically.

	Interestingly, the only such incident for which we have been
	pointed to documentary evidence took place in the Soviet Union
	in 1986!  A disgruntled programmer at the Volga Automobile
	Plant (where the Fiat clones called Ladas were manufactured)
	planted a time bomb which, a week after he'd left on vacation,
	stopped the entire main assembly line for a day.  The case
	attracted lots of attention in the Soviet Union because it was
	the first cracking case to make it to court there.  The
	perpetrator got 3 years in jail.

	[{Jargon File}]

	(2001-09-15)

time complexity

	<complexity> The way in which the number of steps required by
	an {algorithm} varies with the size of the problem it is
	solving.  Time complexity is normally expressed as an order of
	magnitude, e.g. O(N^2) means that if the size of the problem
	(N) doubles then the algorithm will take four times as many
	steps to complete.

	See also {computational complexity}, {space complexity}.

	(1996-05-08)

Time Complex Simulator

	<simulation> (Tcsim) {Complex arithmetic} version of {Tsim}.

	Contact: {ZOLA Technologies}.

	(1996-01-18)

time division multiple access

	{time division multiplexing}

time division multiplexing

	<communications> (TDM) A type of {multiplexing} where two or
	more channels of information are transmitted over the same
	link by allocating a different time interval ("slot" or
	"slice") for the transmission of each channel.  I.e. the
	channels take turns to use the link.  Some kind of periodic
	synchronising signal or distinguishing identifier is usually
	required so that the receiver can tell which channel is which.

	TDM becomes inefficient when traffic is intermittent because
	the time slot is still allocated even when the channel has no
	data to transmit.  {Statistical time division multiplexing}
	was developed to overcome this problem.

	Compare {wavelength division multiplexing}, {frequency division
	multiplexing}, {code division multiplexing}.

	(2001-06-27)

Time Domain Reflectometer

	<hardware, networking> (TDR) An electronic device for
	detecting and locating short- or open-circuits in an
	{Ethernet} cable.  TDRs can also measure how the {characteristic
	impedance} of a line varies along its length.

	(1995-12-28)

timeout

	A period of time after which an error condition is raised if
	some event has not occured.  A common example is sending a
	message.  If the receiver does not acknowledge the message
	within some preset timeout period, a transmission error is
	assumed to have occured.

	(1995-11-09)

time quantum

	{time slice}

time-sharing

	<operating system> (Or "timesharing") An {operating system}
	feature allowing several users to run several tasks
	concurrently on one processor, or in parallel on many
	processors, usually providing each user with his own terminal
	for input and output.  {time-sharing} is {multi-user}
	{multitasking}.

	(2009-11-23)

Time Sharing Option

	<operating system> (TSO) System software from {IBM} that
	provides {time-sharing} on an IBM {mainframe} running in an
	{MVS} environment.

	(2003-08-15)

time shifting

	<programming> A technique used to work around problems due to
	the {Year 2000} and the "millennium bug".  Time shifting
	involves translating date fields in a database back by a fixed
	number of years to avoid year 2000 problems with the {database
	management system}.

	Typically dates are shifted back 28 years so that the occurrence
	of leap years and days of the week match with the actual year.

	(2003-08-15)

Time Simulator

	<simulation> (Tsim) A {stack}-based {simulation} language.

	Contact: {ZOLA Technologies}.

	(1999-10-04)

time sink

	(By analogy with "heat sink" or "current sink") A project that
	consumes unbounded amounts of time.

	[{Jargon File}]

	(1995-02-07)

time slice

	<operating system> (Or "time quantum", "quantum") The period
	of time for which a process is allowed to run uninterrupted in
	a {pre-emptive multitasking} {operating system}.

	The {scheduler} is run once every time slice to choose the
	next process to run.  If the time slice is too short then the
	scheduler will consume too much processing time but if it is
	too long then processes may not be able to respond to external
	events quickly enough.

	(1998-11-06)

times-or-divided-by

	<jargon> (By analogy with "plus-or-minus") A term occasionally
	used when describing the uncertainty factor associated with a
	estimate, for either humorous or brutally honest effect.

	For example, a software project usually has a scheduling
	uncertainty factor of at least two.

	[{Jargon File}]

	(2009-05-29)

time T

	/ti:m T/ An unspecified but usually well-understood time,
	often used in conjunction with a later time T+1.  "We'll meet
	on campus at time T or at Louie's at time T+1" means, in the
	context of going out for dinner: "We can meet on campus and go
	to Louie's, or we can meet at Louie's itself a bit later."
	(Louie's was a Chinese restaurant in Palo Alto that was a
	favourite with hackers.)  Had the number 30 been used instead
	of the number 1, it would have implied that the travel time
	from campus to Louie's is 30 minutes; whatever time T is (and
	that hasn't been decided on yet), you can meet half an hour
	later at Louie's than you could on campus and end up eating at
	the same time.

	See also {since time T equals minus infinity}.

	[{Jargon File}]

	(1994-12-12)

Time to Live

	(TTL) A field in the {Internet Protocol} header which
	indicates how many more {hops} this packet should be allowed
	to make before being discarded or returned.

	(1994-12-12)

time zone

	One of approximately 24 longitudinal divisions of the globe,
	nominally 15 degrees wide, in which clocks show the same time.
	Some zones follow the boundaries of states or territories,
	others differ from neighbouring zones by more or less than one
	hour.

	Computers can be programmed to take into account the time zone
	each user is working in, which is not necessarily the same as
	the zone the computer is in.

	See also {TZ}.

	(1997-07-20)

TINC

	{There Is No Cabal}

Tinman

	<language> The third of the series of DoD requirements that
	led to {Ada}.  Written by HOLWG, DoD, Jan 1976.

	See {Strawman}, {Woodenman}, {Ironman}, {Steelman}.

	(1976-01-01)

tinman+

	Macro language for Apple II?  Published in DDJ?

TINT

	Interpreted version of {JOVIAL}.

	[Sammet 1969, p. 528].

tint

	{hue}

Tiny

	1. A language which provides {concurrency} through
	{message-passing} to named message {queues}.

	2. A tool written by Michael Wolfe <mwolfe@cse.ogi.edu> at
	{Oregon Graduate Institute of Science & Technology} for
	examining {array} data dependence {algorithms} and {program
	transformations} for scientific computations.

	{Extended Tiny} was used to implement the {Omega test}.
	Michael Wolfe has also made extensions to his version of tiny.

	(1994-12-12)

Tiny BASIC

	<language> A dialect of {BASIC} developed by Dr. Wang [Wong?]
	in the late 1970s.  Tiny BASIC was 2K bytes in size and was
	loaded from {paper tape}.  It ran on almost any {Intel 8080}
	or {Zilog Z80} {microprocessor} for which the user could
	provide the necessary I/O driver software.

	Tiny BASIC was distributed as [the first ever?] {freeware}.
	The program listing contained the following phrases "All
	Wrongs reserved" and "{CopyLeft}", he obviously wasn't
	interested in money.

	See also {Tiny Basic Interpreter Language}.

	[More info?]

	(1997-09-12)

Tiny Basic Interpreter Language

	<language> (TBIL) The inner {interpreter} of Tom Pittman's set
	of {Tiny Basics} in Dr Dobb's Journal.

	(1997-09-12)

Tiny Clos

	A core part of {Common Lisp Object System} (CLOS) ported to
	{Scheme} and rebuilt using a MOP ({Metaobject Protocol}).
	This should be interesting to those who want to use MOPs
	without using a full {Common Lisp} or {Dylan}.

	The first release works with {MIT Scheme} 11.74.

	{(ftp://parcftp.xerox.com/pub/mops/)}.  E-mail: Gregor
	Kiczales <gregor@parc.xerox.com>.  Mailing list: mops
	(administered by <gregor@parc.xerox.com>).

	(1992-12-14)

TIP

	1. {Texas Instruments Pascal}.

	2. A {Unix} program for interactive communication via {serial
	lines}.

	{Unix manual page}: tip(1).

TIPL

	1.  Teach IPL.  An interpretive {IPL} teaching system.

	[Sammet 1969, p. 393].

	2.  A dialect of {IGL}.

tip of the ice-cube

	[IBM] The visible part of something small and insignificant.
	Used as an ironic comment in situations where "tip of the
	iceberg" might be appropriate if the subject were at all
	important.

	[{Jargon File}]

tired iron

	[IBM] Hardware that is perfectly functional but far enough
	behind the state of the art to have been superseded by new
	products, presumably with sufficient improvement in
	bang-per-buck that the old stuff is starting to look a bit
	like a {dinosaur}.

tits on a keyboard

	<jargon> Small bumps on certain keycaps to help touch-typists
	find the home keys (ASDF and JKL;) without looking.  They are
	found on the "F" and "J" of a {QWERTY} and the "5" of a
	{numeric keypad}.  The {Macintosh}, perverse as usual, has, or
	had, them on the "D" and "K" keys.

	This term is based on the vernacular American expression "as
	useful as tits on a boar" (or boar-hog, bull, bullfrog, or
	many other variants), meaning "not useful".

	[{Jargon File}]

	(1998-02-25)

tj

	<networking> The {country code} for Tajikistan.

	(1999-01-27)

Tk

	<programming, graphics> A {GUI} library, generally used with
	{TCL} by {John Ousterhout}, but also available from within {C}
	or {Perl}.  Tk is available for {X Window System}, {Microsoft
	Windows} and {Macintosh}.  Tk looks very similar to {Motif}.

	Version 3.5.

	{(ftp://ftp.cs.berkeley.edu/ucb/tcl/)}.

	(1995-11-09)

tk

	<networking> The {country code} for Tokelau.

	(1999-01-27)

TK-90X

	<computer> A Brazilian {clone}, manufactured by {Micro
	Digital}, of the British {Sinclair Research} {ZX Spectrum}
	{8-bit} {microcomputer}.  It differed from the standard
	Spectrum by adding an {Interface 2}-compatible {joystick}
	{interface}, and extra {BASIC} commands to aid {programming}
	and {graphics}-editing.  Because of these differences, it was
	slightly incompatible with the standard Spectrum.

	A later model, the TK-95, which boasted an improved keyboard
	(similar to the {Commodore 64}'s) and a more compatible {ROM},
	was little more than a {Timex} {TC2048} (another Spectrum
	clone) in disguise.

	{comp.sys.sinclair FAQ
	(http://kendalls.demon.co.uk/cssfaq/)}.

	["comp.sys.sinclair FAQ", D Burke M Fayzullin P Kendall et al,
	pub. Philip Kendall 1998]

	(1998-11-09)

TK-95

	{TK-90X}

T. Kohonen

	<person> A researcher at the {University of Helsinki} who has
	been studying {neural networks} for many years with the idea
	of modelling as closely as possible the behaviour of
	biological systems.  His name is commonly associated with a
	particular kind of neural network in which there are only two
	kinds of {neurons} (see {McCulloch-Pitts}), input and others.
	All the input neurons are connected to all others and the
	others are connected only to their other nearest neighbors.
	The training {algorithm} is a relatively simple one based on
	the geometric layout of the neurons, and makes use of
	{simulated annealing}.

	(1994-10-19)

TK!Solver

	Software Arts 1983.  Numerical constraint-oriented language.
	"The TK!Solver Book", M. Konopasek et al, McGraw-Hill 1984.

TL0

	{Thread Language Zero}

TL1

	Transaction Language 1.

	A subset of {ITU-T}'s {MML} from {Bellcore}, with simpler
	syntax.  TL1 is similar to {USL}.  It is used in
	communications between telephone operating systems and remote
	network test equipment.

	[OTGR, TR-TSY-000439, section 12, Bellcore].

	(1994-12-14)

TLA

	{three-letter acronym}

TLAs

	<jargon> As of 2014-08-14, {this dictionary} included 1285
	{three-letter acronyms}, which is 7% of the 26^3 = 17576 possible.

	Here's a {grep} command to find them:

		egrep '^[A-Z][A-Z][A-Z]$' Dictionary

	or a {GNU} {Emacs} command:

		(occur "^[A-Z][A-Z][A-Z]$")

	Here they are:

	{AAC}, {AAL}, {AAP}, {ABC}, {ABI}, {ABM}, {ABP}, {ABR}, {ACA},
	{ACE}, {ACF}, {ACK}, {ACL}, {ACM}, {ACP}, {ACT}, {ADC}, {ADL},
	{ADM}, {ADO}, {ADR}, {ADS}, {ADT}, {AED}, {AEP}, {AES}, {AFJ},
	{AFK}, {AFP}, {AFS}, {AGL}, {AGP}, {AIA}, {AID}, {AIR}, {AIT},
	{AIX}, {AKC}, {AKL}, {ALC}, {ALF}, {ALM}, {ALP}, {ALU}, {AMD},
	{AMI}, {AML}, {AMO}, {AMP}, {AMS}, {AND}, {ANI}, {ANL}, {ANR},
	{ANS}, {ANU}, {AOL}, {AOP}, {AOS}, {APA}, {APC}, {APE}, {API},
	{APL}, {APM}, {APT}, {AQL}, {ARC}, {ARL}, {ARM}, {ARP}, {ARQ},
	{ART}, {ASA}, {ASE}, {ASF}, {ASK}, {ASL}, {ASM}, {ASN}, {ASP},
	{ASR}, {AST}, {ATA}, {ATK}, {ATM}, {ATS}, {ATX}, {AUI}, {AUP},
	{AVC}, {AVI}, {AVS}, {AWE}, {AWG}, {AWT}, {AYT}, {BAD}, {BAL},
	{BAP}, {BBC}, {BBL}, {BBS}, {BCC}, {BCD}, {BCL}, {BCS}, {BDC},
	{BDL}, {BEA}, {BEG}, {BEL}, {BER}, {BFI}, {BGA}, {BGP}, {BIP},
	{BLT}, {BMF}, {BMP}, {BNC}, {BNF}, {BOA}, {BOF}, {BOS}, {BPI},
	{BPR}, {BPS}, {BQS}, {BRB}, {BRH}, {BRI}, {BRS}, {BSA}, {BSD},
	{BSI}, {BSL}, {BSS}, {BST}, {BTB}, {BTS}, {BTW}, {BWQ}, {CAD},
	{CAE}, {CAF}, {CAI}, {CAL}, {CAM}, {CAN}, {CAP}, {CAR}, {CAS},
	{CAT}, {CAV}, {CBD}, {CBN}, {CBR}, {CBT}, {CBV}, {CCD}, {CCL},
	{CCP}, {CCR}, {CCS}, {CDA}, {CDC}, {CDE}, {CDF}, {CDL}, {CDM},
	{CDR}, {CDS}, {CDW}, {CEN}, {CER}, {CFD}, {CFP}, {CGA}, {CGI},
	{CGM}, {CHI}, {CID}, {CIF}, {CIL}, {CIM}, {CIO}, {CIR}, {CIS},
	{CIX}, {CJK}, {CLI}, {CLM}, {CLP}, {CLR}, {CLU}, {CLV}, {CLX},
	{CMA}, {CMC}, {CML}, {CMM}, {CMP}, {CMS}, {CMU}, {CMZ}, {CNC},
	{CNI}, {CNN}, {CNR}, {COM}, {COS}, {CPE}, {CPI}, {CPL}, {CPM},
	{CPS}, {CPU}, {CRC}, {CRL}, {CRM}, {CRT}, {CSG}, {CSL}, {CSM},
	{CSO}, {CSP}, {CSR}, {CSS}, {CSU}, {CSV}, {CTC}, {CTI}, {CTL},
	{CTS}, {CTY}, {CUA}, {CUL}, {CUT}, {CVS}, {CWI}, {DAA}, {DAC},
	{DAG}, {DAS}, {DAT}, {DAU}, {DBA}, {DBC}, {DBH}, {DCA}, {DCC},
	{DCE}, {DCG}, {DCI}, {DCL}, {DCP}, {DCS}, {DCT}, {DDB}, {DDE},
	{DDL}, {DDM}, {DDN}, {DDO}, {DDP}, {DDR}, {DDS}, {DDT}, {DDW},
	{DEA}, {DEC}, {DED}, {DEK}, {DER}, {DES}, {DEX}, {DFA}, {DFC},
	{DFD}, {DFS}, {DFT}, {DGL}, {DIB}, {DID}, {DIL}, {DIM}, {DIN},
	{DIP}, {DLC}, {DLE}, {DLG}, {DLL}, {DLM}, {DLP}, {DLT}, {DMA},
	{DME}, {DMI}, {DML}, {DMM}, {DMS}, {DMU}, {DMZ}, {DNF}, {DNS},
	{DOA}, {DOE}, {DOF}, {DOL}, {DOM}, {DOS}, {DPA}, {DPB}, {DPL},
	{DPN}, {DPP}, {DPS}, {DRM}, {DSA}, {DSE}, {DSI}, {DSL}, {DSM},
	{DSN}, {DSO}, {DSP}, {DSR}, {DSS}, {DST}, {DSU}, {DSW}, {DTD},
	{DTE}, {DTP}, {DTR}, {DTS}, {DUA}, {DVD}, {DVI}, {DXF}, {EAF},
	{EAG}, {EAI}, {EAX}, {ECC}, {ECL}, {ECM}, {ECP}, {EDA}, {EDF},
	{EDI}, {EDL}, {EDM}, {EDP}, {EDS}, {EER}, {EFF}, {EFI}, {EFL},
	{EFT}, {EGA}, {EGP}, {EIA}, {EJB}, {ELF}, {ELI}, {ELP}, {EMA},
	{EMC}, {EMI}, {EML}, {EMM}, {EMS}, {EMX}, {ENQ}, {ENS}, {EOF},
	{EOL}, {EOR}, {EOT}, {EOU}, {EPL}, {EPP}, {EPS}, {ERA}, {ERC},
	{ERD}, {ERM}, {ERP}, {ESA}, {ESC}, {ESD}, {ESF}, {ESI}, {ESL},
	{ESP}, {ESR}, {ETB}, {ETC}, {ETL}, {ETM}, {ETX}, {EVE}, {EXE},
	{FAC}, {FAD}, {FAP}, {FAQ}, {FAT}, {FCB}, {FCP}, {FCS}, {FDC},
	{FDD}, {FDT}, {FEA}, {FEC}, {FED}, {FEL}, {FFP}, {FFT}, {FGL},
	{FHS}, {FIR}, {FIX}, {FLI}, {FMQ}, {FMS}, {FMV}, {FNC}, {FOD},
	{FPA}, {FPM}, {FPU}, {FQL}, {FRA}, {FRL}, {FSB}, {FSF}, {FSK},
	{FSL}, {FSM}, {FSP}, {FTP}, {FTW}, {FTX}, {FUD}, {FXO}, {FXS},
	{FYA}, {FYI}, {GAL}, {GAN}, {GAP}, {GAT}, {GCC}, {GCL}, {GCR},
	{GCT}, {GDA}, {GDB}, {GDI}, {GEA}, {GEI}, {GEM}, {GFR}, {GFS},
	{GHC}, {GIF}, {GIN}, {GIP}, {GIS}, {GKS}, {GLB}, {GLS}, {GLU},
	{GMD}, {GMT}, {GNN}, {GNU}, {GOL}, {GOM}, {GPF}, {GPL}, {GPM},
	{GPS}, {GPV}, {GPX}, {GRE}, {GRG}, {GSI}, {GSL}, {GSM}, {GSS},
	{GTL}, {GUI}, {GVL}, {GWM}, {HAL}, {HCF}, {HCI}, {HCS}, {HDA},
	{HDC}, {HDD}, {HDF}, {HDL}, {HDM}, {HEP}, {HFC}, {HID}, {HLL},
	{HMA}, {HMP}, {HNC}, {HOL}, {HPF}, {HPL}, {HPR}, {HSB}, {HSC},
	{HSM}, {HSV}, {HTH}, {HVD}, {IAB}, {IAD}, {IAL}, {IAM}, {IAP},
	{IAR}, {IAS}, {IAW}, {IBM}, {ICA}, {ICE}, {ICI}, {ICL}, {ICQ},
	{ICT}, {ICW}, {IDD}, {IDE}, {IDL}, {IEC}, {IEF}, {IEN}, {IFC},
	{IFF}, {IFP}, {IFS}, {IFX}, {IGC}, {IGL}, {IGP}, {IGS}, {IGU},
	{IHS}, {IHV}, {IIL}, {IIR}, {IIS}, {IIT}, {ILF}, {IMD}, {IML},
	{IMO}, {IMP}, {IMR}, {IMS}, {IOI}, {IOS}, {IOW}, {IPA}, {IPC},
	{IPE}, {IPL}, {IPS}, {IPT}, {IPX}, {IQL}, {IRC}, {IRL}, {IRM},
	{IRQ}, {ISA}, {ISE}, {ISF}, {ISL}, {ISO}, {ISP}, {IST}, {ISV},
	{ITP}, {ITS}, {ITU}, {IVR}, {IVY}, {IXC}, {IXO}, {JAD}, {JAZ},
	{JCL}, {JCP}, {JDK}, {JES}, {JIT}, {JMS}, {JNI}, {JPL}, {JRE},
	{JRL}, {JRN}, {JSA}, {JSF}, {JSP}, {JTB}, {JTC}, {JTS}, {JVM},
	{KAP}, {KBS}, {KCL}, {KEE}, {KFX}, {KIS}, {KLB}, {KMS}, {KNI},
	{KRC}, {KRL}, {KRS}, {KSL}, {KSR}, {KTH}, {KVM}, {LAN}, {LAP},
	{LAT}, {LAU}, {LAX}, {LBA}, {LBE}, {LBL}, {LBX}, {LCC}, {LCD},
	{LCF}, {LCL}, {LCP}, {LCS}, {LDB}, {LDL}, {LDP}, {LDT}, {LEC},
	{LED}, {LEO}, {LER}, {LGN}, {LIF}, {LIS}, {LKA}, {LLC}, {LLP},
	{LML}, {LNF}, {LOC}, {LOL}, {LOM}, {LOP}, {LPC}, {LPF}, {LPG},
	{LPI}, {LPL}, {LPS}, {LPT}, {LRC}, {LRU}, {LSA}, {LSB}, {LSE},
	{LSL}, {LSP}, {LSR}, {LTL}, {LTR}, {LUG}, {LUN}, {LVD}, {LWP},
	{MAC}, {MAD}, {MAL}, {MAN}, {MAO}, {MAP}, {MAS}, {MAU}, {MBS},
	{MCA}, {MCC}, {MCI}, {MCL}, {MCP}, {MCS}, {MDA}, {MDF}, {MDI},
	{MDL}, {MFC}, {MFE}, {MFM}, {MHS}, {MIB}, {MIF}, {MIG}, {MII},
	{MIS}, {MIT}, {MIX}, {MJS}, {MLL}, {MMI}, {MML}, {MMO}, {MMS},
	{MMU}, {MMX}, {MNP}, {MOO}, {MOS}, {MPC}, {MPG}, {MPI}, {MPL},
	{MPP}, {MPV}, {MPX}, {MQG}, {MRI}, {MRP}, {MRS}, {MSB}, {MSM},
	{MSN}, {MSS}, {MSX}, {MTA}, {MTS}, {MTU}, {MUA}, {MUD}, {MUP},
	{MVC}, {MVS}, {MXI}, {NAG}, {NAK}, {NAS}, {NAT}, {NAU}, {NBS},
	{NBT}, {NCD}, {NCP}, {NCS}, {NDL}, {NDS}, {NEC}, {NFA}, {NFS},
	{NFT}, {NGL}, {NIC}, {NIH}, {NII}, {NIL}, {NIS}, {NLM}, {NLP},
	{NLS}, {NLX}, {NMI}, {NMU}, {NNI}, {NOC}, {NOL}, {NOR}, {NOS},
	{NOT}, {NPC}, {NPL}, {NQS}, {NRZ}, {NSE}, {NSF}, {NSI}, {NSS},
	{NTP}, {NTU}, {NVL}, {NVS}, {OAP}, {OBE}, {OBJ}, {OCL}, {OCP},
	{OCR}, {OCS}, {OCX}, {ODA}, {ODC}, {ODI}, {ODP}, {ODS}, {ODT},
	{OEM}, {OFA}, {OIC}, {OID}, {OIL}, {OLC}, {OLE}, {OMA}, {OMF},
	{OMG}, {OMR}, {OMS}, {OMT}, {ONC}, {OOA}, {OOD}, {OOF}, {OOP},
	{OPC}, {OPF}, {OPS}, {ORB}, {ORM}, {OSA}, {OSD}, {OSE}, {OSF},
	{OSI}, {OSP}, {OTI}, {OTP}, {OTT}, {OWL}, {PAD}, {PAL}, {PAM},
	{PAP}, {PAT}, {PAW}, {PBD}, {PBM}, {PBX}, {PCA}, {PCB}, {PCF},
	{PCI}, {PCL}, {PCM}, {PCN}, {PCS}, {PCU}, {PDA}, {PDC}, {PDF},
	{PDH}, {PDL}, {PDM}, {PDP}, {PDS}, {PDU}, {PEM}, {PEP}, {PER},
	{PEX}, {PFE}, {PFL}, {PFP}, {PGA}, {PGP}, {PHP}, {PIC}, {PID},
	{PIE}, {PIL}, {PIM}, {PIN}, {PIP}, {PIT}, {PKE}, {PKI}, {PLC},
	{PLD}, {PLL}, {PMC}, {PML}, {PMP}, {PNG}, {PNP}, {POA}, {POC},
	{POE}, {POM}, {POP}, {POR}, {POS}, {PPC}, {PPD}, {PPL}, {PPM},
	{PPN}, {PPP}, {PQS}, {PRA}, {PRI}, {PRL}, {PSA}, {PSD}, {PSF},
	{PSI}, {PSK}, {PSL}, {PSN}, {PSO}, {PSU}, {PTF}, {PTI}, {PTN},
	{PTT}, {PUB}, {PVC}, {PVM}, {PWM}, {QAM}, {QBE}, {QCA}, {QIC},
	{QMW}, {QNX}, {QPE}, {RAD}, {RAL}, {RAM}, {RAS}, {RCC}, {RCL},
	{RCS}, {RDF}, {RDI}, {RDL}, {RDP}, {RDS}, {REC}, {REM}, {REP},
	{REX}, {RFC}, {RFE}, {RFI}, {RFP}, {RFT}, {RGB}, {RIP}, {RJE},
	{RKM}, {RLE}, {RLF}, {RLL}, {RMI}, {RMS}, {RNF}, {ROM}, {RPC},
	{RPG}, {RPI}, {RPL}, {RPM}, {RPN}, {RPT}, {RRL}, {RRS}, {RSA},
	{RSI}, {RSL}, {RSN}, {RSS}, {RTF}, {RTI}, {RTL}, {RTM}, {RTP},
	{RTS}, {RTT}, {RWP}, {SAA}, {SAC}, {SAD}, {SAL}, {SAM}, {SAN},
	{SAP}, {SAR}, {SAS}, {SBD}, {SBE}, {SBM}, {SBR}, {SCA}, {SCC},
	{SCI}, {SCL}, {SCM}, {SCO}, {SDE}, {SDF}, {SDH}, {SDI}, {SDK},
	{SDL}, {SDM}, {SDP}, {SDS}, {SEA}, {SEC}, {SED}, {SEE}, {SEI},
	{SEL}, {SEM}, {SEP}, {SET}, {SEX}, {SFA}, {SFL}, {SGI}, {SHA},
	{SIA}, {SIG}, {SIL}, {SIM}, {SIP}, {SIR}, {SKU}, {SMB}, {SMG},
	{SMI}, {SML}, {SMM}, {SMP}, {SMS}, {SMT}, {SNA}, {SNI}, {SNR},
	{SOA}, {SOE}, {SOH}, {SOJ}, {SOL}, {SOM}, {SOS}, {SPC}, {SPD},
	{SPE}, {SPG}, {SPI}, {SPL}, {SPM}, {SPS}, {SPX}, {SQE}, {SQL},
	{SQR}, {SRI}, {SRL}, {SRP}, {SSA}, {SSD}, {SSE}, {SSI}, {SSL},
	{SSO}, {SSR}, {STB}, {STD}, {STP}, {STX}, {SUB}, {SVC}, {SVG},
	{SVS}, {SWL}, {SWT}, {SYN}, {TAA}, {TAB}, {TAC}, {TAL}, {TAO},
	{TAP}, {TBF}, {TBK}, {TCB}, {TCM}, {TCO}, {TCP}, {TDD}, {TDF},
	{TDI}, {TDM}, {TDR}, {TEI}, {TET}, {TFT}, {TGA}, {TIA}, {TIP},
	{TLA}, {TLB}, {TLD}, {TLI}, {TLS}, {TMG}, {TNC}, {TNX}, {TOK},
	{TOP}, {TOS}, {TPA}, {TPF}, {TPL}, {TPO}, {TPS}, {TPU}, {TPX},
	{TRO}, {TRS}, {TSO}, {TSP}, {TSR}, {TSV}, {TTD}, {TTL}, {TTS},
	{TUB}, {TUI}, {TXL}, {UAN}, {UAT}, {UAW}, {UBD}, {UCB}, {UCP},
	{UCS}, {UCX}, {UDF}, {UDP}, {UFO}, {UIL}, {UIS}, {UKC}, {ULP},
	{UMB}, {UML}, {UNC}, {UNI}, {UPS}, {URC}, {URI}, {URL}, {URN},
	{USB}, {USE}, {USL}, {USP}, {USR}, {UTC}, {UTF}, {UTP}, {VAL},
	{VAN}, {VAR}, {VAX}, {VBA}, {VCD}, {VCL}, {VCR}, {VDL}, {VDM},
	{VDT}, {VDU}, {VEE}, {VEL}, {VGA}, {VGX}, {VHE}, {VHS}, {VIF},
	{VIM}, {VLB}, {VLM}, {VME}, {VML}, {VMS}, {VOS}, {VPL}, {VPN},
	{VQF}, {VRC}, {VSE}, {VSF}, {VSP}, {VSX}, {VTC}, {VTS}, {VTW},
	{VUE}, {VUP}, {VXI}, {WAM}, {WAN}, {WAP}, {WBS}, {WCL}, {WDM},
	{WEB}, {WEP}, {WFL}, {WFW}, {WGL}, {WIC}, {WLL}, {WMA}, {WMI},
	{WML}, {WMV}, {WOM}, {WPA}, {WPG}, {WPI}, {WRT}, {WSL}, {WTF},
	{WTH}, {WWW}, {XDL}, {XDR}, {XFS}, {XGA}, {XIE}, {XML}, {XMM},
	{XMS}, {XNF}, {XNS}, {XON}, {XPC}, {XPG}, {XPL}, {XRN}, {XSB},
	{XSD}, {XSI}, {XSL}, {XTI}, {XTP}, {XUI}, {XUL}, {XVT}, {XXX},
	{YSM}, {ZAP}, {ZFC}, {ZIF}, {ZIL}, {ZOG}, {ZUG}

	(2014-08-14)

TLB

	{Translation Look-aside Buffer}

TLD

	{top-level domain}

TLI

	{Transport Layer Interface}

TL/I

	<language> An intermediate language for {Turing Machines}.

	["Examples of Formal Semantics", D. Knuth in Symp on Semantics
	of Algorithmic Languages, E. Engeler ed, LNM 188, Springer
	1971, pp. 212-235].

	(1994-12-02)

T Lisp

	{T}

TLS

	{Transport Layer Security protocol}

TM

	1. {Turing Machine}.

	2. A formal {database specification language}.

	[{Jargon File}]

tm

	<networking> The {country code} for Turkmenistan.

	Heavily used for {vanity domains} because it looks
	like the abbreviation for "trademark".

	(1999-01-27)

(TM)

	(Trademark) An {ASCII} rendition of the trademark-superscript
	symbol, appended to phrases that the author feels should be
	recorded for posterity.

	It is sometimes used ironically as a form of protest against
	the recent spate of {software patents}, {algorithm} patents
	and "{look and feel}" lawsuits.

	[{Jargon File}]

	(1994-12-02)

TMDL

	{Target-Machine Description Language}

TMG

	TransMoGrifier.

	An early language for writing {recursive descent} compilers.
	It was {macro}ed from the {IBM 1604} to the {IBM 709} to the
	{IBM 7094} to the {GE-635}, where it was used by McIlroy and
	Morris to write the {EPL} compiler for {Multics}.

	["TMG - A Syntax-Directed Compiler", R.M. McClure, Proc ACM
	20th Natl Conf (1965)].

	[Sammet 1969, p.636].

	(1994-12-02)

TMRC

	/tmerk'/ The Tech Model Railroad Club at {MIT}, one of the
	wellsprings of {hacker} culture.  The 1959 "Dictionary of the
	TMRC Language" compiled by Peter Samson included several terms
	that became basics of the hackish vocabulary (see especially
	{foo}, {mung}, and {frob}).

	By 1962, TMRC's legendary layout was already a marvel of
	complexity (and has grown in the thirty years since; all the
	features described here are still present).  The control
	system alone featured about 1200 relays.  There were {scram
	switch}es located at numerous places around the room that
	could be thwacked if something undesirable was about to occur,
	such as a train going full-bore at an obstruction.  Another
	feature of the system was a digital clock on the dispatch
	board, which was itself something of a wonder in those bygone
	days before cheap LEDS and seven-segment displays.  When
	someone hit a scram switch the clock stopped and the display
	was replaced with the word "FOO"; at TMRC the scram switches
	are therefore called "foo switches".

	Steven Levy, in his book "Hackers", gives a stimulating
	account of those early years.  TMRC's Power and Signals group
	included most of the early {PDP-1} hackers and the people who
	later bacame the core of the {MIT} {AI Lab} staff.  This
	dictionary accordingly includes a number of entries from the
	TMRC dictionary (via the Hacker Jargon File).

	[{Jargon File}]

	(2008-06-30)

TMRCie

	/tmerk'ee/, (MIT) A denizen of {TMRC}.

TMS 9900

	<processor> One of the first true 16-bit {microprocessors},
	released by {Texas Instruments} in June 1976 (the first are
	probably {National Semiconductor} {IMP-16} or {AMD-2901} {bit
	slice processors} in 16-bit configuration).  It was designed
	as a single chip version of the {TI 990} {minicomputer}
	series, much like the {Intersil 6100} was a single chip
	{PDP-8}, and the {Fairchild 9440} and {Data General mN601}
	were both one chip versions of {Data General}'s {Nova}.
	Unlike the IMS 6100, however, the TMS 9900 had a mature, well
	thought out design.

	It had a 15-bit {address space} and two internal 16 bit
	{registers}.  One unique feature was that all user {registers}
	were actually kept in memory - this included {stack pointers}
	and the {program counter}.  A single workspace {register}
	pointed to the 16 {register set} in {RAM}, so when a
	subroutine was entered or an {interrupt} was processed, only
	the single workspace register had to be changed - unlike some
	{CPUs} which required dozens or more register saves before
	acknowledging a {context switch}.

	This was feasible at the time because {RAM} was often faster
	than the {CPUs}.  A few modern designs, such as the {INMOS}
	{transputer}, use this same design using {caches} or {rotating
	buffers}, for the same reason of faster {context switch}es.
	Other chips of the time, such as the {650x} series had a
	similar philosophy, using {index registers}, but the TMS 9900
	went the farthest in this direction.

	That wasn't the only positive feature of the chip.  It had
	good {interrupt} handling features and very good instruction
	set.  Serial I/O was available through address lines.  In
	typical comparisons with the {Intel 8086}, the TMS9900 had
	smaller and faster programs.  The only disadvantage was the
	small {address space} and need for fast {RAM}.

	Despite very poor support from Texas Instruments, the TMS 9900
	had the potential at one point to surpass the {Intel 8086} in
	popularity.

	(1994-11-30)

tn

	<networking> The {country code} for Tunisia.

	(1999-01-27)

tn3270

	A program, similar to {telnet}, used to connect to remote
	{IBM} {mainframe} {hosts}, many of which do not understand
	telnet.  The program emulates a {3270}-type terminal.

	For many tn3270 versions, the "clear screen" function is
	activated by typing Control-Z.  When logged on to an IBM host
	and "HOLDING" or "MORE..."  appears at the lower right corner
	of the screen, the "clear screen" function must be entered to
	display the next screen.  tn3270 emulations usually include
	{function key} definitions.

	(1994-11-03)

TNC

	<hardware> A threaded version of a {BNC}.

	(1996-12-21)

TNSTAAFL

	{TANSTAAFL}

TNX

	<chat> Thanks.  Also "TNX 1.0E6" or "{TNXE6}" - thanks a
	million.

	(1996-05-19)

TNXE6

	Thanks a million.  "E" is used in many programming languages
	to separate the mantissa and exponent of a {floating-point}
	constant so a number ending in "E6" means "times ten to the
	power six", i.e. times a million.

to

	<networking> The {country code} for Tonga.

	Heavily used for {vanity domains} because it looks like the
	English word "to".

	(1999-01-27)

to a first approximation

	1. When one is doing certain numerical computations, an
	approximate solution may be computed by any of several
	heuristic methods, then refined to a final value.  By using
	the starting point of a first approximation of the answer, one
	can write an algorithm that converges more quickly to the
	correct result.

	2. In jargon, a preface to any comment that indicates that the
	comment is only approximately true.  The remark "To a first
	approximation, I feel good" might indicate that deeper
	questioning would reveal that not all is perfect (e.g. a
	nagging cough still remains after an illness).

	[{Jargon File}]

toast

	<jargon> 1. Any completely inoperable system or component,
	especially one that has just crashed and burned: "Uh, oh ... I
	think the serial board is toast."

	2. To cause a system to crash accidentally, especially in a
	manner that requires manual rebooting.  "Rick just toasted the
	{firewall machine} again."

	Compare {fried}.

	(1995-05-01)

toaster

	<jargon> 1. The archetypal really stupid {application} for an
	{embedded} {microprocessor} controller; often used in comments
	that imply that a scheme is inappropriate technology (but see
	{elevator controller}).  "{DWIM} for an assembler?  That'd be
	as silly as running {Unix} on your toaster!"

	2. A very, very dumb computer. "You could run this program on
	any dumb toaster."

	See {bitty box}, {Get a real computer!}, {toy}, {beige
	toaster}.

	3. A {Macintosh}, especially the {Classic Mac}.  Some hold
	that this is implied by sense 2.

	4. A peripheral device.  "I bought my box without toasters,
	but since then I've added two boards and a second disk drive".

	This is not usually to be taken literally but, to show off the
	expansion capabilities of the {Risc PC}, {Acorn Computers
	Ltd.} built a seven-slice machine (which they called "the
	rocket-ship") and installed every imaginable peripheral.  In a
	spare {drive bay} of the top slice they installed a toaster.
	This machine was exhibited at various shows where it attracted
	attention by occasionally ejecting a pizza.

	[{Jargon File}]

	(1997-07-18)

toasternet

	<networking> 1. A low cost, low tech, publicly accessible
	local community {network}.  This is probably an extension of
	the term "{toaster}" used to mean a small, cheap, slow
	computer.

	{community networks
	(gopher://gopher.well.sf.ca.us/00/Community/communets/about.nets)}.

	2. The title of some informal notes on {IP address}ing,
	("Toasternet Part I and II"), circulated on the {IETF}
	{mailing list} during November 1991 and March 1992.

	Subsequent work was published in June 1993 in {RFC 1475} and
	{RFC 1476} and the "{CATNIP}" {Internet-Draft} by Robert
	L. Ullmann

	(1995-05-01)

to a zeroth approximation

	<jargon> (From "to a first approximation") A *really* sloppy
	approximation; a wild guess.

	Compare {social science number}.

	[{Jargon File}]

	(1994-12-12)

toggle

	To change a {bit} from whatever state it is in to the other
	state; to change from 1 to 0 or from 0 to 1.  This comes from
	"toggle switches", such as standard light switches, though the
	word "toggle" actually refers to the mechanism that keeps the
	switch in the position to which it is flipped rather than to
	the fact that the switch has two positions.  There are four
	things you can do to a bit: set it (force it to be 1), clear
	(or zero) it, leave it alone, or toggle it.

	[{Jargon File}]

	(1994-12-12)

TOK

	Referred to in Ursula K. LeGuin's "Always Coming Home."  Seems
	to be similar to the original {BASIC}.

	(1994-12-12)

token

	1. <grammar> A basic, grammatically indivisible unit of a
	language such as a {keyword}, operator or identifier.
	Compare: {lexeme}.

	2. <convention> (Or "{pumpkin}") An abstact concept passed
	between cooperating agents to ensure synchronised access to a
	shared resource.  Such a token is never duplicated or
	destroyed (unless the resource is) and whoever has the token
	has exclusive access to the resource it controls.  See for
	example {token ring}.

	If several programmers are working on a program, one
	programmer will "have the token" at any time, meaning that
	only he can change the program whereas others can only read
	it.  If someone else wants to modify it he must first obtain
	the token.

	(1999-02-23)

token bus

	<networking> (IEEE 802.4) A networking protocol which mediates
	access to a {bus} topology network as though it were a {token
	ring}.  This eliminates the {collisions} found in {carrier
	sense collision detect} protocols.  {Nodes} can be configured
	to pass the token in any order, not necessarily related to
	their physical ordering on the bus.  The token is sent from
	one node to its successor in the logical ring by broadcast on
	the bus and is ignored by the other nodes.

	(1996-12-13)

token ring

	A computer {local area network} arbitration scheme in which
	conflicts in the transmission of messages are avoided by the
	granting of "tokens" which give permission to send.  A station
	keeps the token while transmitting a message, if it has a
	message to transmit, and then passes it on to the next
	station.

	Often, "Token Ring" is used to refer to the {IEEE 802.5} token
	ring {standard}, which is the most common type of token ring.

	{Usenet} newsgroup: {news:comp.dcom.lans.token-ring}.

TomeRaider

	<application, file format> A {cross-platform} reference and
	{e-book reader} program and file format.  TomeRaider files are
	highly compressed and cross-referenced.  The reader displays
	the text and can follow the {hypertext links} embedded in the
	text.

	{TomeRaider Home (http://www.tomeraider.com/)}.

	(2008-02-15)

Tom Knight

	<person> A noted {hacker} at {MIT}.

	{(http://ai.mit.edu/people/tk/tk.html)}.

	(1996-12-12)

tone

	{brightness}

Tony Hoare

	{Anthony Hoare}

tool

	1. <tool> A program used primarily to create, manipulate,
	modify, or analyse other programs, such as a compiler or an
	editor or a cross-referencing program.  Opposite: {app},
	{operating system}.

	2. A {Unix} {application program} with a simple, "transparent"
	(typically text-stream) interface designed specifically to be
	used in programmed combination with other tools (see {filter},
	{plumbing}).

	3. <jargon> ({MIT}: general to students there) To work; to
	study (connotes tedium).  The {TMRC} Dictionary defined this
	as "to set one's brain to the grindstone".  See {hack}.

	4. <jargon, person> ({MIT}) A student who studies too much and
	hacks too little.  MIT's student humour magazine rejoices in
	the name "Tool and Die".

	[{Jargon File}]

	(1996-12-12)

toolbar

	<operating system> A common {graphical user interface}
	component, consisting of a permanently visible row of button
	{icons} that, when clicked with the {mouse}, cause the program
	to perform some action such as printing the current document
	or changing the {mode} of operation.

	The toolbar buttons often invoke functions accessible via
	{menus} but they are easier to use since they are permanently
	visible.  A typical use would be in a {paint} program where
	the toolbar allows the users to select one of the various
	painting "tools" - brush, pencil, bucket etc.

	Some {application programs} under some {operating systems} may
	allow the user to customise the functions accessible via
	toolbars; in others, the choice is fixed by the programmer.

	(2003-10-24)

toolbook

	<tool> A {Microsoft Windows} utility to make easy-to-use
	applications with a {graphical user interface}.  E.g. a guided
	tour of some software.

	(1995-03-14)

Toolbuilder

	{Tool Builder Kit}

Tool Builder Kit

	<tool> (TBK) A product from {IPSYS} which allows users to
	develop {CASE} tools appropriate to any {software engineering}
	{methodology}.

	(1996-05-08)

Tool Command Language

	<language> /tik*l/ (Tcl) An interpreted string processing
	language for issuing commands to {interactive} programs,
	developed by {John Ousterhout} at {UCB}.  Each {application
	program} can extend tcl with its own set of commands.

	Tcl is like a text-oriented {Lisp}, but lets you write
	algebraic expressions for simplicity and to avoid scaring
	people away.  Though originally designed to be a "scripting
	language" rather than for serious programming, Tcl has been
	used successfully for programs with hundreds of thousands of
	lines.

	It has a peculiar but simple {syntax}.  It may be used as an
	embedded {interpreter} in application programs.  It has
	{exceptions} and {packages} (called libraries), {name-spaces}
	for {procedures} and {variables}, and provide/require.  It
	supports {dynamic loading} of {object code}.  It is {eight-bit
	clean}.  It has only three variable types: strings, lists and
	{associative arrays} but no {structures}.

	Tcl and its associated {GUI} {toolkit}, {Tk} run on all
	flavors of {Unix}, {Microsoft Windows}, {Macintosh} and {VMS}.
	Tcl runs on the {Amiga} and many other {platforms}.

	Latest version: 8.0.3, as of 1998-09-25.

	See also {expect} (control interactive programs and pattern
	match on their output), {Cygnus Tcl Tools}, {[incr Tcl]} (adds
	classes and inheritence to Tcl), {Scriptics} (John
	Ousterhout's company that is the home of Tcl development and
	the TclPro tool suite), {Tcl Consortium} (a non-profit agency
	dedicated to promoting Tcl), {tclhttpd} (an embeddable
	Tcl-based web server), {tclx} (adds many commands to Tcl),
	{tcl-debug}.

	{comp.lang.tcl FAQ at MIT
	(ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/tcl-faq/)}.
	or {at purl.org (http://purl.org/NET/Tcl-FAQ/)}.

	{Scriptics downloads
	(http://scriptics.com/software/download.html)}.
	{Kanji (ftp://srawgw.sra.co.jp/pub/lang/tcl/jp/)}.

	{Usenet} newsgroups: {news:comp.lang.tcl.announce},
	{news:comp.lang.tcl}.

	["Tcl: An Embeddable Command Language", J. Ousterhout, Proc
	1990 Winter USENIX Conf].

	(1998-11-27)

TOOLS

	{Technology of Object-Oriented Languages and Systems}

toolsmith

	The software equivalent of a tool-and-die specialist; one who
	specialises in making the {tools} with which other programmers
	create applications.  Many hackers consider this more fun than
	applications per se; to understand why, see {uninteresting}.
	Jon Bentley, in the "Bumper-Sticker Computer Science" chapter
	of his book "More Programming Pearls", quotes Dick Sites from
	DEC as saying "I'd rather write programs to write programs
	than write programs".

	[{Jargon File}]

TOP

	{Technical/Office Protocol}

top-down design

	<programming> (Or "stepwise refinement").  The software design
	technique which aims to describe functionality at a very high
	level, then partition it repeatedly into more detailed levels
	one level at a time until the detail is sufficient to allow
	coding.  This approach to software design probably originated
	at {IBM}, and grew out of {structured programming} practices.

	(1996-08-04)

Top-Down Model

	<programming> A method for estimating the overall cost and
	effort of the proposed software project from global properties
	of the project.  The total cost and schedule is partitioned
	into components for planning purposes.

	(1996-05-29)

topic drift

	<messaging> Term used on GEnie, {Usenet} and other electronic
	fora to describe the tendency of a {thread} to drift away from
	the original subject of discussion (and thus, from the Subject
	header of the originating message).

	Often used in gentle reminders that the discussion has strayed
	off any useful track.  "I think we started with a question
	about Niven's last book, but we've ended up discussing the
	sexual habits of the common marmoset.  Now *that's* topic
	drift!"

	[{Jargon File}]

	(1996-05-29)

topic group

	{forum}

topic map

	<information science> A collection of "topics", their
	relationships, and information sources.  A topic map captures the
	subjects of which information sources speak, and the relationships
	between them, in a way that is implementation independent.

	A topic is a symbol within the computer that represents
	something in the world such as the play Hamlet, the playwright
	William Shakespeare, or the "authorship" relationship.

	Topics can have names.  They can also have occurrences, that
	is, information resources that are considered to be relevant
	in some way to their subject.  Topics can play roles in
	relationships.

	Thus, topics have three kinds of characteristics: names,
	sources, and roles played in relationships.  The assignment of
	such characteristics is considered to be valid within a
	certain scope, or context.

	Topic maps can be merged.  Merging can take place at the
	discretion of the user or application (at runtime), or may be
	indicated by the topic map's author at the time of its
	creation.

	(2003-07-19)

topic thread

	<messaging> (From {Usenet}, {GEnie}, {CompuServe}) A more or
	less continuous chain of postings on a single subject, sent to
	a {forum} such as a {Usenet} newsgroup.  To "follow a thread"
	is to read a series of postings sharing a common subject.

	On Usenet these are connected by "Reference" headers.  The
	better {newsreaders} can present news in thread order
	automatically.

	(2008-02-06)

top-level domain

	<networking> The last and most significant component of an
	{Internet} {fully qualified domain name}, the part after the
	last ".".  For example, {host} wombat.doc.ic.ac.uk is in
	top-level domain "uk" (for United Kingdom).

	Every other country has its own top-level domain, including
	".us" for the U.S.A.  Within the .us domain, there are
	subdomains for the fifty states, each generally with a name
	identical to the state's postal abbreviation.  These are
	rarely used however.  Within the .uk domain, there is a .ac.uk
	subdomain for academic sites and a .co.uk domain for
	commercial ones.  Other top-level domains may be divided up in
	similar ways.

	In the US and some other countries, the following top-level
	domains are used much more widely than the country code:

		.com - commercial bodies
		.edu - educational institutions
		.gov - U. S. government
		.mil - U. S. armed services
		.net - network operators
		.org - other organisations

	Since the rapid commercialisation of the Internet in the 1990s
	the ".com" domain has become particularly heavily populated
	with every company trying to register its company name as a
	subdomain of .com, e.g. "netscape.com" so as to make it easy
	for customers to guess or remember the {URL} of the comany's
	{home page}.

	United Nations entities use the domain names of the countries
	where they are located.  The UN headquarters facility in New
	York City, for example, is un.org.

	Several new top-level domains are about to be added (Oct
	1997):
		.nom   - individual people
		.rec   - recreational organisations
		.firm  - businesses such as law, accounting, engineering
		.store - commercial retail companies
		.ent   - entertainment facilities and organisations

	(1997-10-08)

topology

	1. <mathematics> The branch of mathematics dealing with
	{continuous transformations}.

	2. <networking> Which {hosts} are directly connected to which
	other hosts in a {network}.  {Network layer} processes need to
	consider the current network topology to be able to {route}
	{packets} to their final destination reliably and efficiently.

	(2001-03-29)

TOPS-10

	/tops-ten/ DEC's proprietary OS for the fabled {PDP-10}
	machines, long a favourite of hackers but now effectively
	extinct.  A fountain of hacker folklore.  See also {ITS},
	{TOPS-20}, {TWENEX}, {VMS}, {operating system}.  TOPS-10 was
	sometimes called BOTS-10 (from "bottoms-ten") as a comment on
	the inappropriateness of describing it as the top of anything.

	[{Jargon File}]

TOPS-20

	{TWENEX}

Tornado

	<programming> The {software development environment}
	previously distributed with {VxWorks}.

	(1996-11-29)

Toronto Euclid

	<language> The standard dialect of {Euclid}, as compared to
	{Ottawa Euclid}.

	(1996-11-29)

torrent

	{BitTorrent}

TORTOS

	{Terminal Oriented Real Time Operating System}

TOS

	<operating system> /toss/

	1. {IBM}'s {Tape Operating System}.

	2. The {operating system} of the {Atari} ST range of
	computers.  This range included the 512ST, 1040ST and the F,
	FM and E variations (e.g.1040STE).  Later, 32-bit machines
	(TT, Falcon030 and MegaSTE) were developed using a new version
	of TOS, called {MultiTOS} which was based on {MinT}.

	TOS went through several revisions starting initially as a
	derivative of {CP/M}, but developing into a remarkably
	complete and flexible operating system.  Features include: a
	{flat memory model}, {MS-DOS}-compatible disk format and
	support for {MIDI} and {SCSI} (in later versions).  TOS was
	designed to run Atari's version of the {GEM} {GUI}.

	There is some argument as to what TOS stands for, the main
	candidates being "Tramiel Operating System" (named after
	Atari's head at the time) or simply "The Operating System".

	3. <networking> {Terms Of Service}.

	4. Star Trek The Original Series as opposed to ST-TNG or
	ST-DS9.

	(1999-04-02)

Toshiba Corporation

	<company> A Japanese technology manufacturer with 364
	subsidiaries worldwide.  Toshiba makes and sells electronics
	for home, office, industry and health care including
	information and communication systems, electronic components,
	heavy electrical apparatus, consumer products and medical
	diagnostic imaging equipment.

	In FY 2003-4, Toshiba employed 161,286 people.

	{Toshiba Home (http://toshiba.co.jp/)}.

	(2005-01-19)

TOSS

	{Terminal Oriented Social Science}

total function

	<mathematics> A {function} which is defined for all arguments
	of the appropriate type.  The opposite is a {partial
	function}.

	(1997-01-10)

totally ordered

	<mathematics> Having a {total ordering}.

	(1997-01-10)

totally ordered set

	<mathematics> A {set} with a {total ordering}.

total ordering

	<mathematics> A {relation} R on a set A which is a {partial
	ordering}; i.e. it is reflexive (xRx), transitive (xRyRz =>
	xRz) and antisymmetric (xRyRx => x=y) and for any two elements
	x and y in A, either x R y or y R x.

	See also {equivalence relation}, {well-ordered}.

	(1995-02-16)

toto

	<programming> /toh-toh'/ The default scratch file name among
	French-speaking programmers - in other words, a francophone
	{foo}.  The phonetic mutations "titi", "tata", and "tutu"
	canonically follow "toto", analogously to {bar}, {baz} and
	{quux} in English.

	[{Jargon File}]

	(1995-04-18)

touchpad

	<hardware> (Or "trackpad") A stationary {pointing device} used
	mainly on {laptop computers}.  Touchpads provide a small, flat
	surface that you slide your finger over using the same
	movements as you would a {mouse}.  They were originally
	developed to provide a more natural and intuitive connection
	for the computer user than the mouse.

	Touchpads use a principle called coupling {capacitance}, and
	requires a {conductive} pointer such as a finger.  They
	contain a two-layer grid of {electrodes} which are connected
	to an {integrated circuit} (IC) mounted under the pad.  The
	upper layer contains vertical electrode strips while the lower
	layer is composed of horizontal electrode strips.  Capacitance
	from each of the horizontal electrodes to each of the vertical
	electrodes is measured by the IC.  A finger near the
	intersection of two electrodes modifies the capacitance
	between them, since a finger has very different {dielectric}
	properties than air.  The position of the finger is precisely
	determined based on these changes at various locations.

	According to one correspondent, you can use any part of your
	body, which is not surprising, but not a McDonalds Chicken
	McCrispy.  You can use reheated Pizza Hut Christmas Pizza
	though.

	{Synaptics (http://synaptics.com/product.htm)}.

	(2000-11-01)

touch screen

	<hardware> An input device that allows user to interact with
	computer by touching the display screen.

	Often this uses beams of infrared light that are projected
	across the screen surface.  Interrupting the beams generates
	an electronic signal identifying the location of the screen.
	Software interprets the signal and performs the required
	operation.

	(1995-04-13)

tourist

	<jargon> A guest on the system, especially one who generally
	logs in over a network from a remote location for {comm mode},
	{electronic mail}, {games} and other trivial purposes.  A
	tourist is one step below a {luser}.

	Hackers often spell this {turist}, perhaps by some sort of
	tenuous analogy with {luser} (this also expresses the {ITS}
	culture's penchant for six-letterisms).

	Compare {twink}, {read-only user}.

	[{Jargon File}]

	(1995-03-10)

tourist information

	Information in an on-line display that is not immediately
	useful, but contributes to a viewer's gestalt of what's going
	on with the software or hardware behind it.  Whether a given
	piece of info falls in this category depends partly on what
	the user is looking for at any given time.  The "bytes free"
	information at the bottom of an {MS-DOS} "dir" display is
	tourist information; so (most of the time) is the TIME
	information in a {Unix} "ps(1)" display.

	[{Jargon File}]

Towers of Hanoi

	<games> A classic computer science problem, invented by
	Edouard Lucas in 1883, often used as an example of
	{recursion}.

	"In the great temple at Benares, says he, beneath the dome
	which marks the centre of the world, rests a brass plate in
	which are fixed three diamond needles, each a cubit high and
	as thick as the body of a bee.  On one of these needles, at
	the creation, God placed sixty-four discs of pure gold, the
	largest disc resting on the brass plate, and the others
	getting smaller and smaller up to the top one.  This is the
	Tower of Bramah.  Day and night unceasingly the priests
	transfer the discs from one diamond needle to another
	according to the fixed and immutable laws of Bramah, which
	require that the priest on duty must not move more than one
	disc at a time and that he must place this disc on a needle so
	that there is no smaller disc below it.  When the sixty-four
	discs shall have been thus transferred from the needle on
	which at the creation God placed them to one of the other
	needles, tower, temple, and Brahmins alike will crumble into
	dust, and with a thunderclap the world will vanish."

	The recursive solution is: Solve for n-1 discs recursively,
	then move the remaining largest disc to the free needle.

	Note that there is also a non-recursive solution: On
	odd-numbered moves, move the smallest sized disk clockwise.
	On even-numbered moves, make the single other move which is
	possible.

	["Mathematical Recreations and Essays", W W R Ball, p. 304]

	{The rec.puzzles Archive
	(http://rec-puzzles.org/sol.pl/induction/hanoi)}.

	(2003-07-13)

Tower Technology Corporation

	A company, established in 1992 by the merger of two {OOT}
	companies, with the intention of supplying high performance
	{Eiffel} compilation systems.  Tower provides development
	tools, reusable {class} libraries, and services supporting
	large scale system development.

	{(http://cm.cf.ac.uk/Tower/)}.

	E-mail: <tower@twr.com> (orders and inquiries), <outlook@twr.com>
	(The Eiffel Outlook Journal).

	Telephone: +1 (512) 452 9455 (8:30 to 5:30 CST business days).
	Fax: +1 (512) 452 1721.  Sales +1 (800) 285-5124 (Free, USA
	and Canada only).

	Address: Tower Technology, 1501 W. Koenig Lane, Austin, TX
	78756, USA.

	(1994-12-12)

toy

	A computer system; always used with qualifiers.

	1. "nice toy": One that supports the speaker's hacking style
	adequately.

	2. "just a toy": A machine that yields insufficient
	{computrons} for the speaker's preferred uses.  This is not
	condemnatory, as is {bitty box}; toys can at least be fun.  It
	is also strongly conditioned by one's expectations; Cray XMP
	users sometimes consider the Cray-1 a "toy", and certainly all
	RISC boxes and mainframes are toys by their standards.  See
	also {Get a real computer!}.

	[{Jargon File}]

Toy/Ada

	<language> A {compiler} for a subset of {Ada}, written in
	{SML/NJ} by Amit Bhatiani at Rose-Hulman University.

	{(ftp://master.cs.rose-hulman.edu/pub/)}.

	(1992-04-08)

toy language

	<language> A language useful for instructional purposes or as
	a proof-of-concept for some aspect of computer-science theory,
	but inadequate for general-purpose programming.  {Bad Things}
	can result when a toy language is promoted as a general
	purpose solution for programming (see {bondage-and-discipline
	language}); the classic example is {Pascal}.  Several
	moderately well-known formalisms for conceptual tasks such as
	programming {Turing Machines} also qualify as toy languages in
	a less negative sense.

	See also {MFTL}.

	[{Jargon File}]

	(1995-05-09)

Toyohashi University Parallel Lisp Environment

	<language> (TUPLE) A parallel {Lisp} based on {KCL}.

	["Memory Management and Garbage Collection of an Extended
	Common Lisp System for Massively Parallel SIMD Architecture",
	Taiichi Yuasa, in Memory Management, IWMM92, Springer 1992,
	490-507].

	(1994-11-08)

toy problem

	[AI] A deliberately oversimplified case of a challenging
	problem used to investigate, prototype, or test algorithms for
	a real problem.  Sometimes used pejoratively.  See also
	{gedanken}, {toy program}.

	[{Jargon File}]

toy program

	<programming> 1. A trivial program that can be readily
	comprehended.

	2. A program for which the effort of initial coding dominates
	the costs through its {life cycle}.

	See also {noddy}.

	(1996-05-19)

tp

	<networking> The {country code} for East Timor.

	(1999-01-27)

TPA

	{Transient Program Area}

TPF

	{Transaction Processing Facility}

TP/IX

	<networking, protocol> An {Internet} {protocol}, described in
	{RFC 1475}, which changes {TCP} and {UDP} headers to give a
	64-bit {IP address}, a 32-bit {port} number, and a 64 bit
	sequence number.

	(1995-04-03)

TPL

	1. Table Producing Language.  "The Bureau of Labor Statistics
	Table Producing Language (TPL)", R.C. Mendelssohn, Proc ACM
	Annual Conf (1974).

	2. Fleming Nielson.  A concurrent {functional language}.

	3. Terminal Programming Language.  Texas Inst, late 70's.
	Used on the TI-990/1 Small Business Computer and the TI-771
	Intelligent Terminal.

TPO

	{twisted pair only}

TPS

	Tree Pruning System.  "An Adaptive Tree Pruning System: A
	Language for Programming Heuristic Tree Searches",
	E.W. Kozdrowicki, Proc ACM 23rd Natl Conf 1968.

tptc

	A {Turbo Pascal} to {Turbo C} translator.  Comes with full
	source.

	{(ftp://wuarchive.wustl.edu/mirrors/msdos/turbopas/tptc17*.zip)}.

TPU

	{Text Processing Utility}

TPX

	{Terminal Productivity eXecutive}

tr

	<networking> The {country code} for Turkey.

	(1999-01-27)

TRAC

	{Text Reckoning And Compiling}

traceroute

	<networking> A {TCP/IP} utility, originally {Unix}, which
	allows the user to determine the {route} {packets} are taking
	to a particular {host}.  Traceroute works by increasing the
	"{time to live}" value of packets and seeing how far they get,
	until they reach the given destination; thus, a lengthening
	trail of hosts passed through is built up.

	(2007-02-02)

trace scheduling

	<processor> A method of controlling and coordinating the
	operation of multiple hardware elements of a {Very Long
	Instruction Word} processor.  It was developed by Josh Fisher
	at the now-defunct {Multiflow Computer} Corporation

	[Details?]

	(1995-03-01)

track

	<storage> The part of a {disk} which passes under one
	read/write head while the head is stationary.  The number of
	tracks on a disk surface therefore corresponds to the number
	of different radial positions of the head(s).  The collection
	of all tracks on all surfaces at a given radial position is
	known a {cylinder} and each track is divided into {sectors}.

	(1997-07-15)

track ball

	{tracker ball}

tracker ball

	<hardware> A {pointing device} consisting of a ball housed in
	a socket containing sensors to detect rotation of the ball
	about two axes - like an upside-down {mouse}.  The user rolls
	the ball with his thumb or the palm of his hand to move a
	cursor.  Tracker balls are common on {CAD} {workstations} for
	ease of use and on modern {portable computers}, where there
	may be no desk space on which to use a {mouse}.  Some clip
	onto the side of the keyboard and have integral buttons which
	have the same function as mouse buttons.

	(1996-08-04)

tracking

	<text> The horizontal spacing between {characters} in a line of
	{text}.  Tracking is set when a {font} is designed but can often
	be altered in order to change the appearance of the text or for
	special effects.  It applies to both {proportional fonts} and
	{monospaced fonts}.

	Tracking should not be confused with {kerning} which deals with
	the spacing between certain pairs of characters in a proportional
	font.

	See also {leading}.

	(2013-12-05)

tracking cookie

	<web> An {HTTP cookie} used to identify a user of a
	{website} in order to log which pages they visit.  The site owner
	can use this information to optimise the site, e.g. for marketing
	purposes.

	(2013-12-05)

tracking file

	{tracking cookie}

trackpad

	{touchpad}

TrackPoint

	<hardware> (Or "pointing stick", "nipple") A small knob found
	in the middle of some {keyboards} that works like a very short
	{isometric joystick}.  Pressing it toward or away from you or
	from side to side moves the {pointer} on the screen.  Ted
	Selker brought the concept of an in-keyboard pointing device
	to {IBM} in September 1987.  TrackPoint was introduced in 1992
	on the {IBM} {ThinkPad} and later on some {desktops}.

	It takes up virtually no extra room on the box or the work
	area and also requires minimal movement of the hands from the
	keyboard.

	Many imitations of highly variable quality appeared.  Pointing
	sticks have also been used in many other {notebook} brands,
	including {TI}, {HP}, {Compac}, {Dell}, {Toshiba}
	(e.g. Portege 4000's "AccuPoint II"), and {AST} (e.g. Ascentia
	910N).

	"TrackPoint" and "Trackpoint" are IBM trademarks.

	{(http://research.ibm.com/mathsci/cmc/trackpoint.htm)}.

	[INTERACT'90, North Holland Pub Co, pp. 700-706].

	(2003-10-15)

tractor feed

	{sprocket feed}

TrafoLa

	<language> A {functional programming} language designed in the
	{PROSPECTRA} {ESPRIT} project to support declarative
	specification of {program transformations}.  It provides
	higher-order {pattern matching} on expression trees with
	{backtracking}.

	[Heckmann88].

	(1996-06-07)

Trafola-H

	A specification language for program transformations.
	Functional, statically typed, polymorphic, with extended
	constructs for pattern-matching.  "Trafola-H Reference
	Manual", R. Heckmann et al, U Saarlandes, Saarbrucken 1991.

trampoline

	An incredibly {hairy} technique, found in some {HLL} and
	program-overlay implementations (e.g. on the Macintosh), that
	involves on-the-fly generation of small executable (and,
	likely as not, self-modifying) code objects to do indirection
	between code sections.  These pieces of {live data} are called
	"trampolines".  Trampolines are notoriously difficult to
	understand in action; in fact, it is said by those who use
	this term that the trampoline that doesn't bend your brain is
	not the true trampoline.  See also {snap}.

	[{Jargon File}]

	(2003-03-26)

TRANDIR

	TRANslation DIRector.  A language for syntax-directed
	compiling.  Sammet 1969, p.640.

TRANQUIL

	1966.  ALGOL-like language with sets and other extensions, for
	the Illiac IV.  "TRANQUIL: A Language for an Array Processing
	Computer", N.E. Abel et al, Proc SJCC 34 (1969).

TRANS

	TRAffic Network Simulation Language.  "A Model for Traffic
	Simulation and a Simulation Language for the General
	Transportation Problem", Proc FJCC 37 (1970).

transaction

	A unit of interaction with a {DBMS} or similar system.  It
	must be treated in a coherent and reliable way independent of
	other transactions.  See {atomic}.

Transaction Application Language

	<language> (TAL) Not "Tandem Application Language". A
	{block-structured}, {procedural} language optimised for use on
	{Tandem} {hardware}.  TAL is a cross between {C} and {Pascal} and
	is the primary system programming language on {Tandem} computers.
	Tandem has no {assembler} and originally had no C or Pascal.

	[Was TAL derived from HP's System Programming Language?]

	(2001-07-09)

Transaction Processing Facility

	<operating system> (TPF) A {real-time} {mainframe} {operating
	system} released by {IBM} around 1976.  TPF is particularly
	suited to organisations dealing in very high I/O message
	switching and large global networks.  Current users include
	British Airways (reservations), VISA International
	(authorisations), Holiday Inn, and Quantas.

	TPF was traditionally a {370/Assembler} environment although
	the latest, release 4.1, contains {C}.  Formerly known as ACP
	(Airline Control Program), it was renamed "TPF" to suggests
	its greater scope.

	It is common for TPF sites to use IBM's {MVS} and {VM}
	operating systems for {off-line} processing.

	(1996-08-27)

transceiver

	<networking> Transmitter-receiver, any device that performs
	both functions.

	For example, on an {Ethernet} network, a transceiver is the
	hardware that connects a {host} interface (e.g. an {Ethernet}
	controller) to a {local area network}.  Ethernet transceivers
	contain electronics that apply signals to the cable and sense
	other host's signals and collisions.  See also {CSMA/CD}.

	(2008-08-04)

TRANSCODE

	<language> An early system on the {Ferut} computer.

	[Listed in CACM 2(5):16, May 1959].

	(2008-08-04)

transducer

	1. A device for converting sound, temperature, pressure, light
	or other signals to or from an electronic signal.

	2. {Finite State Machine}.

	(1995-02-15)

transfer

	1. <data> {data transfer}.

	2. <programming> {transfer of control}.

	3. <messaging> The movement of {electronic mail} between
	servers by a {Message Transfer Agent}.

transfer none

	{introspection annotation}

transfer of control

	<programming> To cause {execution} of a {program} to continue
	from a different address instead of proceding sequentially to
	the next instruction.  This may happen as a result of a {jump}
	instruction or some kind of {interrupt}.

	This term is more common when discussing {machine code}, the
	{high-level language} equivalent is a {goto} statement.

	(2009-06-09)

transfer rate

	{data transfer rate}

transfer syntax

	<networking, protocol> The actual representation of data as it
	is transmitted over a {network} (as opposed to {abstract
	syntax}).

	(1998-05-19)

transfinite induction

	<mathematics> {Induction} over some (typically large)
	{ordinal}.

	(1995-03-30)

transformation

	{program transformation}

transient

	1. <electronics> A sudden, brief increase in {current} or
	{voltage} in a circuit that can damage sensitive components
	and instruments.

	(2003-06-12)

	2. <software> A software object with a short and limited
	lifetime which is not saved for later reuse.

	(1998-04-19)

Transient Program Area

	<operating system> (TPA) The region of memory {CP/M} set aside
	for user programs.

	(2001-11-01)

transistor

	<electronics> A three terminal {semiconductor} amplifying
	device, the fundamental component of most active electronic
	circuits, including digital electronics.  The transistor was
	invented on 1947-12-23 at {Bell Labs}.

	There are two kinds, the {bipolar transistor} (also called the
	junction transistor), and the {field effect transistor} (FET).

	Transistors and other components are interconnected to make
	complex {integrated circuits} such as {logic gates},
	{microprocessors} and memory.

	(1995-10-05)

Transistor-Transistor Logic

	(TTL) A common semiconductor technology for building discrete
	digital logic integrated circuits.  It originated from {Texas
	Instruments} in 1965.

	There have been several series of TTL logic:

	 7400:	10 ns propagation time, 10 mW/gate power consumption,
		obsolete;

	 74L00:	Low power: higher resistances, less dissipation
		(1 mW), longer propagation time (30 ns);

	 74H00: High power: lower resistances, more dissipation: less
		sensitivity for noise;

	 74S00: Schottky-clamped: faster switching (3 ns, 19 mW) by
		using Schottky diodes to prevent the transistors from
		saturation;

	 74LS00: Low power, Schottky-clamped (10 ns, 2 mW);

	 74AS00: Advanced Schottky: faster switching, less
		 dissipation, (1.5 ns, 10 mW);

	 74ALS00: Advanced Low power Schottky (4 ns, 1.3 mW).

	For each 74xxx family there is a corresponding 54xxx family.
	The 74 series are specified for operation at 0 - 70 C whereas
	the 54 (military) series can operate at -55 - 125 C

	See also {CMOS}, {ECL}.

TRANSIT

	<language> A subsystem of {ICES}.

	[Sammet 1969, p.616].

	(2003-07-12)

transition ad

	{interstitial}

transitive

	A relation R is transitive if x R y  &  y R z  =>  x R z.
	Equivalence relations, pre-, partial and total orders are all
	transitive.

transitive closure

	The transitive closure R* of a relation R is defined by

		x R y => x R* y
		x R y  and  y R* z => x R* z

	I.e. elements are related by R* if they are related by R
	directly or through some sequence of intermediate related
	elements.

	E.g. in graph theory, if R is the relation on nodes "has an
	edge leading to" then the transitive closure of R is the
	relation "has a path of zero or more edges to".  See also
	Reflexive transitive closure.

transit network

	A {network} which passes traffic between other networks in
	addition to carrying traffic for its own {hosts}.  It must
	have paths to at least two other networks.

	See also {backbone}, {stub}.

	(1995-01-30)

Translation Look-aside Buffer

	<storage, architecture> (TLB) A table used in a {virtual
	memory} system, that lists the {physical address} {page}
	number associated with each {virtual address} {page} number.
	A TLB is used in conjunction with a {cache} whose tags are
	based on virtual addresses.  The virtual address is presented
	simultaneously to the TLB and to the cache so that cache
	access and the virtual-to-physical address translation can
	proceed in parallel (the translation is done "on the side").
	If the requested address is not cached then the physical
	address is used to locate the data in main memory.  The
	alternative would be to place the translation table between
	the cache and main memory so that it will only be activated
	once there was a cache miss.

	(1995-01-30)

Transmission Control Protocol

	<networking, protocol> (TCP) The most common {transport layer}
	{protocol} used on {Ethernet} and the {Internet}.  It was
	developed by {DARPA}.

	TCP is the {connection-oriented} protocol built on top of
	{Internet Protocol} (IP) and is nearly always seen in the
	combination {TCP/IP} (TCP over IP).  It adds {reliable
	communication} and {flow-control} and provides {full-duplex},
	process-to-process connections.

	TCP is defined in {STD 7} and {RFC} 793.

	{User Datagram Protocol} is the other, connectionless,
	protocol that runs on top of IP.

	(2001-06-14)

transparent

	1. <jargon> Not visible, hidden; said of a system which
	functions in a manner not evident to the user.  For example,
	the {Domain Name System} transparently resolves a {fully
	qualified domain name} into an {IP address} without the
	user being aware of it.

	Compare this to what {Donald Norman
	(http://atg.apple.com/Norman/)} calls "invisibility",
	which he illustrates from the user's point of view:

	"You use computers when you use many modern automobiles,
	microwave ovens, games, CD players and calculators.  You don't
	notice the computer because you think of yourself as doing the
	task, not as using the computer."  ["The Design of Everyday
	Things", New York, Doubleday, 1989, p. 185].

	2. <theory> Fully defined, known, predictable; said of a
	sub-system in which matters generally subject to volition or
	stochastic state change have been chosen, measured, or
	determined by the environment.  Thus for transparent systems,
	output is a known function of the inputs, and users can both
	predict the behaviour and depend upon it.

	(1996-06-04)

transparent audio coding

	<audio, compression> A {lossy audio compression} {algorithm}
	is transparent if the original and decoded signal are
	indistinguishable to the human ear.  The bit rate depends on
	the {codec} and the audio material.  Some codecs (e.g. {AAC},
	{MP3}) are optimized for transparent coding at a low data
	rate, others (e.g. {VQF}, {MP3Pro}, {AAC}+{SBR}, {WMA}) for
	distinguisable but pleasant reproduction at lower bit rates.

	Typical data rates in {kbps} for different codecs are:

	 MP1         288-320
	 MP2         224-256
	 MP3         160-224
	 MPEG-2 AAC  128-160
	 MPEG-4 AAC  112-144
	 MPEGplus    160-200

	(2001-12-23)

Transport Driver Interface

	<networking> (TDI) Developed by {SUN}, {IBM}, and {Microsoft}
	(and others?), the TDI is a {software} {interface} between the
	{protocols} and {application programing interface} layers of
	the {Windows NT network model}.

	(1997-11-05)

transport layer

	<networking> (Or "host-host layer") The middle layer in the
	{OSI} seven layer model.  The transport layer determines how
	to use the {network layer} to provide a virtual error-free,
	point to point connection so that host A can send messages to
	host B and they will arrive un-corrupted and in the correct
	order.  It establishes and dissolves connections between
	hosts.  It is used by the {session layer}.

	An example transport layer {protocol} is {Transmission Control
	Protocol} (TCP).

	{OSI} documents: {ITU} Rec. X.214 (ISO 8072), ITU Rec. X.224
	(ISO 8073).

	(1997-12-07)

Transport Layer Interface

	<networking, programming> (TLI, or "Transport Level
	Interface") A {protocol}-independent interface for accessing
	network facilities, modelled after the {ISO} {transport layer}
	(level 4), that first appeared in {Unix SVR3}.

	TLI is defined by {SVID} as transport mechanism for networking
	interfaces, in preference to {sockets}, which are biased
	toward {IP} and friends.  A disavantage is that a process
	cannot use read/write directly, but has to use backends using
	{stdin} and {stdout} to communicate with the network
	connection.  TLI is implemented in SVR4 using the {STREAMS}
	interface.  It adds no new {system calls}, just a library,
	libnsl_s.a.  The major functions are t_open, t_bind,
	t_connect, t_listen, t_accept, t_snd, t_rcv, read, write.

	According to the {Solaris} t_open {man page}, XTI (X/OPEN
	Transport Interface) evolved from TLI, and supports the TLI
	{API} for compatibility, with some variations on semantics.

	(1999-06-10)

Transport Layer Security protocol

	<networking, protocol> (TLS) A {protocol} designed to allow
	{client/server} applications to communicate over the
	{Internet} without {eavesdropping}, {tampering}, or {message
	forgery}.

	TLS is defined in {RFC 2246}.

	(2003-10-03)

Transport Level Interface

	{Transport Layer Interface}

Transport Service Access Point

	<networking> (TSAP) Part of the {OSI} {IP Presentation
	Addressing schema}.

	A TSAP identifes the {service access point} between the
	{session layer} and the {transport layer}.

	(1999-08-01)

transputer

	<processor, parallel> (Note lower case) A family of
	{microprocessors} from {Inmos} with interprocessor links,
	programmable in {occam}.

	[More details?]

	(1994-11-18)

TRANS-USE

	<language> An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(2004-09-14)

trap

	1. A program interrupt, usually an interrupt caused by some
	exceptional situation in the user program.  In most cases, the
	OS performs some action, then returns control to the program.

	2. To cause a trap.  "These instructions trap to the monitor."
	Also used transitively to indicate the cause of the trap.
	"The monitor traps all input/output instructions."

	This term is associated with assembler programming
	("interrupt" or "exception" is more common among {HLL}
	programmers) and appears to be fading into history among
	programmers as the role of assembler continues to shrink.
	However, it is still important to computer architects and
	systems hackers (see {system}, sense 1), who use it to
	distinguish {deterministic}ally repeatable exceptions from
	timing-dependent ones (such as I/O interrupts).

	[{Jargon File}]

trap door

	Or "trapdoor" 1. {back door}.

	2. {trap-door function}

trap-door function

	<cryptography, mathematics> A special class of {one-way
	function}, which is reversible if you know a certain secret
	associated with the function.

	{(http://rsasecurity.com/rsalabs/faq/2-3-2.html)}.
	{(http://ieor.berkeley.edu/~jshu/knapsack/Review/OverviewPK.html)}.

	(2003-05-22)

trash

	To destroy, e.g. the contents of a data structure.  The most
	common of the family of near-synonyms including {mung},
	{mangle}, and {scribble}.

	[{Jargon File}]

	(1994-11-03)

Trash-80

	Derogatory name for {Tandy}'s {TRS-80}.

	(1994-11-03)

traveling salesman problem

	<spelling> US spelling of {travelling salesman problem}.

	(1996-12-13)

travelling salesman

	{travelling salesman problem}

travelling salesman problem

	<algorithm, complexity> (TSP or "shortest path", US:
	"traveling") Given a set of towns and the distances between
	them, determine the shortest path starting from a given town,
	passing through all the other towns and returning to the first
	town.

	This is a famous problem with a variety of solutions of
	varying complexity and efficiency.  The simplest solution (the
	{brute force} approach) generates all possible routes and
	takes the shortest.  This becomes impractical as the number of
	towns, N, increases since the number of possible routes is
	!(N-1).  A more intelligent {algorithm} (similar to {iterative
	deepening}) considers the shortest path to each town which can
	be reached in one hop, then two hops, and so on until all
	towns have been visited.  At each stage the algorithm
	maintains a "frontier" of reachable towns along with the
	shortest route to each.  It then expands this frontier by one
	hop each time.

	{Pablo Moscato's TSP bibliography
	(http://densis.fee.unicamp.br/~moscato/TSPBIB_home.html)}.
	{Fractals and the TSP
	(http://ing.unlp.edu.ar/cetad/mos/FRACTAL_TSP_home.html)}.

	(1998-03-24)

traversal

	<data> Processing {nodes} in a {graph} one at a time, usually
	in some specified order.  Traversal of a tree is {recursive}ly
	defined to mean visiting the {root node} and traversing its
	children.  Visiting a node usually involves transforming it in
	some way or collecting data from it.

	In "pre-order traversal", a node is visited __before__ its
	children.  In "post-order" traversal, a node is visited
	__after__ its children.  The more rarely used "in-order"
	traversal is generally applicable only to binary trees, and is
	where you visit first a node's left child, then the node
	itself, and then its right child.

	For the binary tree:

	     T
	    / \
	   I   S
	  / \
	 D   E

	A pre-order traversal visits the nodes in the order T I D E S.
	A post-order traversal visits them in the order D E I S T.  An
	in-order traversal visits them in the order D I E T S.

	(2001-10-01)

traverse

	{traversal}

trawl

	To sift through large volumes of data (e.g. {Usenet} postings,
	FTP archives, or the {Jargon File}) looking for something of
	interest.
	[{Jargon File}]

tree

	<mathematics, data> A {directed acyclic graph}; i.e. a {graph}
	wherein there is only one route between any pair of {nodes},
	and there is a notion of "toward top of the tree" (i.e. the
	{root node}), and its opposite direction, toward the {leaves}.
	A tree with n nodes has n-1 edges.

	Although maybe not part of the widest definition of a tree, a
	common constraint is that no node can have more than one
	parent.  Moreover, for some applications, it is necessary to
	consider a node's {daughter} nodes to be an ordered {list},
	instead of merely a {set}.

	As a data structure in computer programs, trees are used in
	everything from {B-trees} in {databases} and {file systems}, to
	{game trees} in {game theory}, to {syntax trees} in a human or
	computer {languages}.

	(1998-11-12)

tree-killer

	<jargon, abuse> (Sun) 1. A printer.

	2. A person who wastes paper.  This epithet should be
	interpreted in a broad sense; "wasting paper" includes the
	production of {spiffy} but {content-free} documents.  Thus,
	most {suits} are tree-killers.

	This term may derive from {J.R.R. Tolkien's "Lord of the
	Rings"
	(http://sf.www.lysator.liu.se/sf_archive/sf-texts/SF_resource_guide/sfrgft.htm)}.
	in which Treebeard the Ent uses it to refer to the orcs'
	master, Saruman of Isengard.  Saruman represents, among other
	things, technology at its most misguided.

	See also: {dead tree}.

	[{Jargon File}]

	(1999-11-03)

TREET

	E.C. Haines, 1964.  An experimental variant of LISP1.5,
	implemented on the STRETCH computer.  Basic structure was a
	trinary tree.

	["The TREET {Time-Sharing} System", H.A. Bayard et al, Proc
	2nd Symp Symb and Alg Manip, ACM (Mar 1971)].

	[Sammet 1969, pp.457-461].

TREETRAN

	A {Fortran IV} subroutine package for tree manipulation.

Tree Transformation Language

	<functional programming> (TXL) A hybrid {functional language} and
	{rule-based language} developed by J.R. Cordy
	<cordy@cs.queensu.ca> et al of {Queen's University}, Canada in
	1988.  TXL is suitable for performing {source to source analysis}
	and transformation and for {rapid prototyping} of new languages
	and language processors.  It uses {structural transformation}
	based on {term rewriting}.

	TXL has been particularly successful in {software engineering}
	tasks such as {design recovery}, {refactoring}, and
	{reengineering}.  Most recently it has been applied to
	{artificial intelligence} tasks such as recognition of
	hand-written mathematics, and to transformation of {structured
	documents} in {XML}.

	TXL takes as input an arbitrary {context-free grammar} in
	{extended BNF}-like notation, and a set of {show-by-example}
	transformation rules to be applied to inputs parsed using the
	grammar.  TXL supports the notion of {agile parsing}, the
	ability to tailor the grammar to each particular task using
	"grammar overrides".

	Latest version: FreeTXL 10.3, as of 2003-10-26.

	{TXL Home (http://txl.ca/)}.

	["TXL: A Rapid Prototyping System for Programming Language
	Dialects", J.R. Cordy, C.D.; Halpern and D. Promislow,
	Computer Languages, Vol. 16, No. 1, January 1991, pp 97-107]

	["Source Transformation in Software Engineering using the TXL
	Transformation System", J.R. Cordy, T.R. Dean, A.J. Malton and
	K.A. Schneider, Journal of Information and Software
	Technology, Vol. 44, No. 13, October 2002, pp 827-837]

	["Recognizing Mathematical Expressions Using Tree
	Transformation", R. Zanibbi, D. Blostein and J.R. Cordy, IEEE
	Transactions on Pattern Analysis & Machine Intelligence,
	Vol. 24, No. 11, November 2002, pp 1455-1467]

	["Agile Parsing in TXL", T.R. Dean, J.R. Cordy, A.J. Malton
	and K.A. Schneider, Journal of Automated Software Engineering,
	Vol. 10, No. 4, October 2003, pp 311-336]

	(2003-11-04)

treeware

	<jargon> /tree'weir/ Printouts, books, {documentation}, and
	other information media made from pulped dead trees by a
	{tree-killer}.

	[{Jargon File}]

	(1999-01-15)

Trellis

	1. An {object-oriented} language from the University of
	Karlsruhe(?) with {static type-checking} and {encapsulation}.

	2. An {object-oriented} application development system from
	{DEC}, based on the {Trellis} language.  (Formerly named Owl).

	E-mail: Jerry Smith <smith@pipe.enet.dec.com>

	["Persistent and Shared Objects in trellis/owl", P. O'Brien et
	al, Proc 1986 IEEE Workshop on Object-Oriented Database
	Systems, IEEE, NY 1986].

Trellis Code Modulation

	(TCM) A modulation technique with hardware {error detection
	and correction}.

	[Details?]

	(1995-02-22)

Trident

	<company> A {video card} manufacturer.

	[More info?]

	(1997-07-16)

trigger

	<database> An action causing the automatic invocation of a
	procedure, for instance to preserve {referential integrity}.
	A triggers goes into effect when a user attempts to modify
	data with an insert, delete, or update command.  A trigger can
	instruct the system to take any number of actions when a
	specified change is attempted.  By preventing incorrect,
	unauthorized, or inconsistent changes to data, triggers help
	maintain the integrity of the database.

	[Sybase SQL Server Release 10.0 Transact-SQL User's Guide].

	(1995-02-22)

trigger finger

	{overuse strain injury}

TRIGMAN

	A system for {symbolic mathematics}, especially celestial
	mechanics.

	(1994-12-14)

trillion

	<mathematics> In Britain, France, and Germany, 10^18 or a
	million cubed.

	In the USA and Canada, 10^12.

	[Elsewhere?]

	(1996-10-03)

Trilogy

	<language> A {strongly typed} {logic programming} language
	with numerical {constraint}-solving over the {natural
	numbers}, developed by Paul Voda <voda@voda.ii.fmph.uniba.sk>
	at {UBC} in 1988.  Trilogy is syntactically a blend of
	{Prolog}, {Lisp}, and {Pascal}.  It contains three types of
	{clauses}: {predicates} ({backtracking} but no assignable
	variables), procedures (if-then-else but no backtracking;
	assignable variables), and {subroutines} (like procedures, but
	with input and {system calls}; callable only from top level or
	from other subroutines).

	Development of Trilogy I stopped in 1991.  Trilogy II,
	developed by Paul Voda 1988-92, was a {declarative} general
	purpose programming language, used for teaching and to write
	{CL}.

	{(http://fmph.uniba.sk/~voda)}.

	["The Constraint Language Trilogy: Semantics and
	Computations", P. Voda, Complete Logic Systems, 741 Blueridge
	Ave, North Vancouver BC, V7R 2J5].

	(2000-04-08)

triple DES

	<cryptography> A {product cipher} which, like {DES}, operates
	on 64-bit data blocks.  There are several forms, each of which
	uses the DES cipher 3 times.  Some forms use two 56-bit keys,
	some use three.  The DES "modes of operation" may also be used
	with triple-DES.

	(1995-05-11)

tri state

	<hardware> A feature of some {digital} electronic devices
	which allows a connector (pin) to either act as a normal
	output, driving a signal onto a line, or to be "tri stated" -
	set to a high-impedance ("high Z") condition.  This allows
	other outputs to drive signals onto the line.  Often the same
	connector also functions as an input when its output circuitry
	is tri stated.

	Tri-state outputs are typically used for the connection of
	several digital circuits to a shared {bus} onto which any one
	of them may output data for the others to input.

	(1996-07-26)

trit

	<unit> /trit/ (By analogy with "{bit}") One base-3 digit; the
	amount of information conveyed by a selection among one of
	three equally likely outcomes.  Trits arise, for example, in
	the context of a {flag} that should actually be able to assume
	*three* values - such as yes, no, or unknown.  Trits are
	sometimes jokingly called "3-state bits".  A trit may be
	semi-seriously referred to as "a bit and a half", although it
	is linearly equivalent to 1.5849625 bits (that is, log2(3)
	bits).

	[{Jargon File}]

	(1995-05-11)

Triton

	<processor> {Intel}'s {Pentium} {core} logic {chip set}.  In
	addition to the traditional features, this chip set supports:
	{EDO DRAM} to increase the {bandwidth} of the {DRAM}
	interface; "{pipelined} {burst SRAM}" for a cheaper, faster
	{second level cache}; "{bus master} {IDE}" control logic to
	reduce processor load; a plug and play port for easy
	implementation of functions such as audio.

	The Triton I chipset (official name 82430FX) consists of 4
	chips: one 82437FX TSC (Triton Sysetm Controller), two 82438FX
	TDP (Triton Data Path), and one 82371FB PIIX (PCI IDE
	Xcellerator).  It supports {PB Cache}, {EDO DRAM}, and a
	maximum {PCI} and memory burst data transfer rate of 100
	{megabytes} per second.

	There are also {Moble Triton} (82430MX), {Triton II}
	(82430HX), and the {Triton VX} (82430VX) chip sets.

	{Introduction
	(http://asus.com.tw/Products/TB/triton-intro.html)}.

	(1996-04-03)

Triton II

	<processor> (Official name 82430HX) A version of {Intel}'s
	{Triton} processor chip set with all the features of the
	Triton I plus support for {ECC}, {parity RAM}, two-way {SMP},
	{USB}, and {Concurrent PCI} to improve speed.

	It consists of one 82439HX TXC and one 82371SB PIIX3.

	(1996-04-03)

Triton VX

	<processor> (Official name 82430VX) A version of {Intel}'s
	{Triton} processor chip set with all the features of the
	Triton I plus support for {SDRAM}, {USB}, and a {UMA} option.

	Triton VX consists of one 82437VX TVC, two 82438VX TVP, and
	one 82371SB PIIX3.

	(1996-04-03)

Trivial File Transfer Protocol

	<networking> (TFTP) A simple file transfer protocol used for
	{down-load}ing {boot code} to {diskless workstations}.

	TFTP is defined in {RFC 1350}.

	[Details?  Other uses?  Relationship to {FTP}?]

	(1997-08-30)

TRO

	{tail recursion optimisation}

troff

	<text, tool> /T'rof/ or /trof/ The grey eminence of {Unix}
	text processing; a formatting and phototypesetting program,
	written originally in {PDP-11} {assembly code} and then in
	barely-structured early {C} by the late Joseph Ossanna,
	modelled after the earlier {ROFF} which was in turn modelled
	after {Multics}' {RUNOFF} by Jerome Saltzer (*that* name came
	from the expression "to run off a copy").  A companion
	program, {nroff}, formats output for terminals and line
	printers.

	In 1979, Brian Kernighan modified troff so that it could drive
	phototypesetters other than the Graphic Systems CAT.  His
	paper describing that work ("A Typesetter-independent troff",
	AT&T CSTR #97) explains troff's durability.  After discussing
	the program's "obvious deficiencies - a rebarbative input
	syntax, mysterious and undocumented properties in some areas,
	and a voracious appetite for computer resources" and noting
	the ugliness and extreme hairiness of the code and internals,
	Kernighan concludes:

	None of these remarks should be taken as denigrating
	Ossanna's accomplishment with TROFF.  It has proven a
	remarkably robust tool, taking unbelievable abuse from a
	variety of preprocessors and being forced into uses that
	were never conceived of in the original design, all with
	considerable grace under fire.

	The success of {TeX} and desktop publishing systems have
	reduced troff's relative importance, but this tribute
	perfectly captures the strengths that secured troff a place in
	hacker folklore; indeed, it could be taken more generally as
	an indication of those qualities of good programs that, in the
	long run, hackers most admire.

	{groff} is {GNU}'s implementation of {roff} in {C++}.

	[{Jargon File}]

	(1995-03-21)

troglodyte

	<jargon> (Commodore) 1. A hacker who never leaves his cubicle.
	The term "Gnoll" (from Dungeons & Dragons) is also reported.

	2. A curmudgeon attached to an obsolescent computing
	environment.  The combination "ITS troglodyte" was flung
	around some during the {Usenet} and {e-mail} wringle-wrangle
	attending the 2.x.x revision of the {Jargon File}; at least
	one of the people it was intended to describe adopted it with
	pride.

	[{Jargon File}]

	(1995-01-11)

troglodyte mode

	<jargon> (Rice University) Programming with the lights turned
	off, sunglasses on, and the terminal inverted (black on white)
	because you've been up for so many days straight that your
	eyes hurt (see {raster burn}).  Loud music blaring from a
	stereo stacked in the corner is optional but recommended.

	See {larval stage}, {hack mode}.

	[{Jargon File}]

	(1995-03-21)

trojan

	{Trojan horse}

Trojan horse

	<application, security> (Or just "trojan") A term coined by
	{MIT}-hacker-turned-NSA-spook Dan Edwards for a malicious,
	security-breaking program that is disguised as something
	benign, such as a directory lister, archiver, game or (in one
	notorious 1990 case on the Mac) a program to find and destroy
	{virus}es!  A Trojan horse is similar to a {back door}.

	See also {RFC 1135}, {worm}, {phage}, {mockingbird}.

	[{Jargon File}]

	(2008-06-19)

TROLL

	An {array} language for {continuous simulation}, econometric
	modelling or statistical analysis.

	["TROLL Reference Manual", D0062, Info Proc Services, MIT
	(1973-76)].

troll

	An {electronic mail} message, {Usenet} posting or other
	(electronic) communication which is intentionally incorrect,
	but not overtly controversial (compare {flame bait}), or the
	act of sending such a message.  Trolling aims to elicit an
	emotional reaction from those with a hair-trigger on the reply
	key.  A really subtle troll makes some people lose their
	minds.

	(1994-10-17)

TRON

	1. <project> {The Real-Time Operating System Nucleus}.

	2. <language, programming, testing, tool> (TRace ON) A
	{command} used when {debugging} {programs} written in
	early {line-numbered} {BASIC} that contained {GOTO} and
	{GOSUB} statements.

	When the TRON command had been {executed}, the program ran
	with a {window} open indicating the line number being
	executed at that instant.

	The {TROFF} (an abbreviation for "TRace OFF") command turned
	the {tracing} off.

	(2003-02-02)

tron

	<jargon> ({NRL}, {CMU}, probably from the film "Tron") To
	become inaccessible except via {electronic mail} or {talk}
	especially when one is normally available via telephone or in
	person.

	Compare {spod}.

	[{Jargon File}]

	(1994-11-03)

Trouble Came Back

	<jargon> (TCB) An {IBM} term for an intermittent or
	difficult-to-reproduce problem that has failed to respond to
	neglect or {shotgun debugging}.

	Compare {heisenbug}.

	(1998-07-02)

TRS

	{term rewriting system}

TRS-80

	<computer> A series of {personal computers} sold by {Tandy
	Radio Shack}.  The '80' refers to the use of {Zilog Z-80}
	processor (NOT {Intel 80x8x}).

	There were 7.5 computers in the TRS-80 line: Models I, II,
	III, 4, 100, 102, 200.  The Model 4P was a portable version of
	the Model 4 with no tape drive -- only 2 1/2-height single
	sided disk drives.

	Later models that Radio Shack produced were not TRS-80
	machines -- they were based on the {Intel 80x8x} architecture.
	These included Tandy 1000, Tandy 2000, Tandy 3000, and others.
	The 1000 had a proprietary Color card.  The 2000 was a
	powerful machine for its time, but was based on the {Intel
	80186}, so when {IBM} didn't build a computer based on this
	chip, it failed.  It was used to design a boat for the
	America's Cup.

	The TRS-80 {GUI}, DeskMate, was proprietary, but no more than
	{Windoze} at the time.

	Many joke about "{TRaSh-80}" machines but several models were
	in fact classics of their time.

	(1996-02-18)

Truchet point

	<unit, text> An obsolete variant of the {point}, equal to
	0.188 mm.

	(2002-03-11)

True BASIC

	<language> A compiled {BASIC}, by John Kemeny and Thomas
	E. Kurtz, requiring no {line numbers}.

	(1996-03-24)

true colour

	<graphics> A system where the red, green, and blue components
	of a colour are stored in {display memory}, as opposed to
	storing {logical colours} and using a {colour palette} to
	convert them to red, green, blue components.

	The advantage of true colour over a palette is that it does
	not restrict the range of colours which can be displayed on
	screen simultaneously.  For example, if eight bits are used to
	store each component of each {pixel} then a total of 2^24
	(about 17 million) different colours can be displayed at once
	which would require a (very expensive) palette with 3 * 2^24
	bytes (about 50 megabytes) of memory.

	The disadvantage of true colour is that image transformations
	which would normally be done by changing the palette must be
	done to every pixel of the image which can be much slower.

	Compare {high colour}.

	(1996-03-24)

true hacker

	<person> (By analogy with "trufan" from SF fandom) One who
	exemplifies the primary values of hacker culture, especially
	competence and helpfulness to other hackers.  A high
	compliment.  "He spent 6 hours helping me bring up UUCP and
	netnews on my FOOBAR 4000 last week - manifestly the act of a
	true-hacker".

	Compare {demigod}, opposite: {munchkin}.

	[{Jargon File}]

	(1996-01-07)

TRUENAME

	<operating system> An {undocumented} {DOS} command to find the
	{UNC} name of a file or directory on a network drive.

	(2003-10-21)

TrueType

	<text, standard> An {outline font} {standard} first developed
	by {Apple Computer}, and later embraced by {Microsoft}, as a
	competitor to {Adobe Systems, Inc.}'s {PostScript} which is
	still more popular.

	(1995-03-16)

Trumpet

	A {news reader} for {Microsoft Windows}, using the {WinSock}
	library.  There is also an {MS-DOS} version.  Trumpet is
	{shareware} from Australia.

	{(ftp://ftp.utas.edu.au/pc/trumpet)}.

	{(ftp://ftp.demon.co.uk/pub/ibmpc/winsock/stacks/trumpwsk/)}.

	{news:alt.winsock.trumpet}.

	[Author?]

	(1995-01-12)

TRUSIX

	{TRUSted Unix operating system}

truth table

	<logic> A table listing all possible combinations of inputs
	and the corresponding output of a {Boolean} function such as
	{AND}, {OR}, {NOT}, {IMPLIES}, {XOR}, {NAND}, {NOR}.  Truth
	tables can be used as a means of representing a function or as
	an aid in designing a circuit to implement it.

	(1998-07-30)

TS

	Typed Smalltalk.

	A {Smalltalk} by Ralph Johnson <johnson@speedy.cs.uiuc.edu> of
	the {University of Illinois}.

	["TS: An Optimising Compiler for Smalltalk", R.E. Johnson et
	al, SIGPLAN Notices 23(11) (Nov 1988)].

	(1995-01-12)

TSAP

	{Transport Service Access Point}

TSEE

	Technical and Engineering Environment: part of the RTEE
	toolset.

TSIA

	<messaging> Title Says It All.  Something to put in the body
	of a {electronic mail} message or {bulletin board} posting
	when no body is really necessary because the title or subject
	header contains the whole message.

	(2000-02-10)

Tsim

	{Time Simulator}

TSL-1

	Task Sequencing Language.  Language for specifying sequences
	of tasking events in Ada programs.

	["Task Sequencing Language for Specifying Distributed Ada
	Systems", D.C. Luckham et al in PARLE: Parallel Architectures
	and Langs Europe, LNCS 259, Springer 1987, pp.444-463].

TSO

	{Time Sharing Option}

TSP

	{travelling salesman problem}

TSR

	{Terminate and Stay Resident}

TSV

	{tab-separated values}

tt

	<networking> The {country code} for Trinidad and Tobago.

	(1999-01-27)

TTD

	{Telecommunications Device for the Deaf}

TTFN

	<chat> ta-ta for now - goodbye for now.  Used in the UK, USA
	and probably elsewhere.

	(1998-07-02)

TTL

	1. {transistor-transistor logic}.

	2. {Time to Live}.

TTS

	{Text To Speech}

tty

	<hardware> /tit'ee/ ({ITS} pronunciation, but some {Unix}
	people say it this way as well; this pronunciation is not
	considered to have sexual undertones), /T T Y/

	1. {teletypewriter}.

	2. (Especially {Unix}) Any terminal at all; sometimes used to
	refer to the particular terminal controlling a given job (it
	is also the name of a Unix command which outputs the name of
	the current controlling terminal).

	3. ({Unix}) Any {serial port}, whether or not the device
	connected to it is a terminal; so called because under Unix
	such devices have names of the form tty*.  Ambiguity between
	senses 2 and 3 is common but seldom bothersome.

	4. A {TDD}.

	[{Jargon File}]

	(1995-11-23)

TTYL

	<chat> talk to you later.

	(1998-01-18)

TUB

	{Technische Universita't Berlin}.  (Berlin technical
	university).

TUBA

	<networking, protocol> An {Internet} {protocol}, described in
	{RFC 1347}, {RFC 1526} and {RFC 1561}, and based on the {OSI}
	{Connectionless Network Protocol} (CNLP).

	TUBA is one of the proposals for {Internet Protocol Version
	6}.

	(1995-04-03)

tube

	1. <hardware> A {CRT} terminal.  Never used in the mainstream
	sense of TV; real hackers don't watch TV, except for Loony
	Toons, Rocky & Bullwinkle, Trek Classic, the Simpsons, and the
	occasional cheesy old swashbuckler movie.

	2. <electronics> {electron tube}.

	3. <jargon> (IBM) To send a copy of something to someone
	else's terminal.  "Tube me that note."

	[{Jargon File}]

	(1996-02-05)

tube time

	Time spent at a terminal or console.  More inclusive than
	hacking time; commonly used in discussions of what parts of
	one's environment one uses most heavily.  "I find I'm spending
	too much of my tube time reading mail since I started this
	revision."

	[{Jargon File}]

Tuckals

	An old statistical package still in use on some {VM}
	computers.

	(1995-11-28)

TUI

	<interface>

	1. {Textual User Interface}.

	2. Terminal User Interface.  Alternative name for {Textual
	User Interface}.

	3. <communications> {Telephony User Interface}.

	4. {Tangible User Interface}.

	5. {Tactile User Interface}.

	6. {Telescope User Interface}.

	(2003-10-17)

Tukey, John

	{John Tukey}

Tuki

	An intermediate code for functional languages.  "Another
	Implementation Technique for Applicative Languages", H. Glaser
	et al, ESOP86, LNCS 213, Springer 1986.

tunafish

	<humour, operating system> In hackish lore, refers to the
	mutated punchline of an age-old joke to be found at the bottom
	of the manual pages of "tunefs(8)" in the original {4.2BSD}
	distribution.  The joke was removed in later releases once
	commercial sites started using 4.2.  Tunefs relates to the
	"tuning" of {file-system} parameters for optimum performance,
	and at the bottom of a few pages of wizardly inscriptions was
	a "BUGS" section consisting of the line "You can tune a file
	system, but you can't tunafish".  Variants of this can be seen
	in other BSD versions, though it has been excised from some
	versions by humourless management droids.  The [nt]roff source
	for SunOS 4.1.1 contains a comment apparently designed to
	prevent this: "Take this out and a Unix Demon will dog your
	steps from now until the "time_t's wrap around."

	[{Jargon File}]

	(1997-01-12)

tune

	<jargon> (From musical, possibly via automotive, usage) To
	{optimise} a program or system for a particular environment,
	especially by adjusting numerical parameters designed as
	{hooks} for tuning, e.g. by changing "#define" lines in C.
	One may "tune for time" (fastest execution), "tune for space"
	(least memory use), or "tune for configuration" (most
	efficient use of hardware).

	See {bum}, {hot spot}, {hand-hacking}.

	[{Jargon File}]

	(1999-06-05)

tunneling

	<spelling US spelling of {tunnelling}.

tunnelling

	<networking> (US: "tunneling") A networking technique used to
	carry data encoded in one protocol, A, over a channel using
	another protocol, B.  Protocol A is said to be "encapsulated" in
	protocol B and treats B as though it were a {data link layer}.
	Tunnelling is used to get data between {administrative domains}
	which use a protocol that is not supported by the {internet}
	connecting those domains.

	A historical example would be transmitting written text via {Morse
	code} - instead of having someone carry the text on paper, it is
	converted to (or encapsulated as) Morse code at one end and
	converted back to written text at the other.

	A more recent example would be tunnelling {IPv6} over an {IPv4}
	network that does not support IPv6 natively.  Tunnelling
	techniques such as {6to4} or {6rd} are used to encapsulate {IPv6}
	in the absence of native {dual-stack} support.

	(2013-10-07)

Tunny Emulator

	<hardware, cryptography> A special-purpose computer designed
	at {Bletchley Park} (UK) based upon the reverse engineering of
	the Lorenz Cypher.  The Lorenz Cypher was used by the German
	army to encrypt high command orders for transmission via
	teleprinter (the {Enigma} was a field-use cypher).

	Once the key to a message was discovered (by the computer
	{Colossus}) the Tunny machine would be set to decrypt the
	message.  The process took about four days from intercept to
	printout. The original Tunny machine was built about 1943 and
	scrapped after the war.  In 2011 a working model was re-built
	at Bletchley Park where it is on display.

	(2012-03-25)

TUPLE

	{Toyohashi University Parallel Lisp Environment}

tuple

	<programming> In {functional languages}, a data object
	containing two or more components.  Also known as a product
	type or pair, triple, quad, etc.  Tuples of different sizes
	have different types, in contrast to lists where the type is
	independent of the length.  The components of a tuple may be
	of different types whereas all elements of a list have the
	same type.

	Examples of tuples (in {Haskell} notation) are: (1,2),
	("Tuple",True), (w,(x,y),z).  The degenerate tuple type with
	zero components, written (), is known as the unit type since
	it has only one possible value which is also written ().

	The implementation of tuples in a language may be either
	"{lifted}" or not.  If tuples are lifted then (bottom, bottom)
	/= bottom (where {bottom} represents non-termination) and the
	evaluation of a tuple may fail to terminate.  E.g. in Haskell:

		f (x, y) = 1    -->    f bottom = bottom
				       f (bottom, bottom) = 1

	With lifted tuples, a tuple pattern is refutable.  Thus in
	Haskell, {pattern matching} on tuples is the same as pattern
	matching on types with multiple constructors ({algebraic data
	types}) - the expression being matched is evaluated as far as
	the top level constructor, even though, in the case of tuples,
	there is only one possible constructor for a given type.

	If tuples are unlifted then (bottom, bottom) = bottom and
	evaluation of a tuple will never fail to terminate though any
	of the components may.  E.g. in {Miranda}:

		f (x, y) = 1    -->    f bottom = 1
				       f (bottom, bottom) = 1

	Thus in Miranda, any object whose type is compatible with a
	tuple pattern is assumed to match at the top level without
	evaluation - it is an {irrefutable} pattern.  This also
	applies to user defined data types with only one constructor.
	In Haskell, patterns can be made irrefutable by adding a "~"
	as in

		f ~(x, y) = 1.

	If tuple constructor functions were {strict} in all their
	arguments then (bottom, x) = (x, bottom) = bottom for any x
	so matching a refutable pattern would fail to terminate if
	any component was bottom.

	(2012-03-25)

tuple calculus

	<database> A form of {relational calculus} in which a
	variable's only permitted values are {tuples} of a given
	{relation}.

	{Codd}'s unimplemented language {ALPHA} and the subsequent
	{QUEL} are examples of the tuple calculus.

	(1998-10-05)

Tuple Space Smalltalk

	["Using Tuple Space Communication in Distributed
	Object-Oriented Languages", S. Matsuoka et al, SIGPLAN Notices
	23(11):276-284 (Nov 1988)].

	(1994-11-08)

tupling

	A {program transformation} where several results are returned
	from a single traversal of a data structure.  E.g.

		mean l = sum l / length l

			==>

		mean l = s/n
			 where
			 (s,n) = sumLen l

		sumLen []     = (0,0)
		sumLen (x:xs) = (s+x, n+1)
				where
				(s,n) = sumLen xs

	In {procedural} languages this technique is known as
	{horizontal loop combination} because it uses one loop to
	calculate several results.

	Another form of tupling transformation is used to avoid
	repeated evaluation where a function generates several
	identical calls to itself.  By analysing the pattern of
	recursion (see {descent function}) it is possible to arrange
	for these identical calls to share results.  E.g.

		fib 0 = 1
		fib 1 = 1
		fib n = fib (n-1) + fib (n-2)

			==>

		fib n = v where (_,v) = fibt n
		fibt 0 = (1,1)
		fibt n = (u+v,u) where (u,v) = fibt (n-1)

	(1995-01-12)

Turbo C

	<language> {Borland}'s {C} {compiler} for {IBM PCs}.

	Turbo C, version 1.0, was introduced by Borland in 1987.  It
	offered the first integrated edit-compile-run development
	environment for {C} on {IBM PCs}.  It ran in 384KB of memory.
	It allowed inline assembly, supported all memory models, and
	offered optimisations for speed, size, {constant folding}, and
	{jump elimination}.

	Version 1.5 shipped on five 360 KB diskettes of uncompressed
	files, and came with sample C programs, including a stripped
	down spreadsheet called mcalc.

	Turbo C 2.0 has a debugger, a fast assembler, and an extensive
	graphics library.

	Turbo C has been largely supplanted by {Turbo C++}, introduced
	circa September, 1990 for both {MS-DOS} and {Microsoft
	Windows}.

	["Compiling the facts on C", Richard Hale Shaw, PC Magazine,
	September 13, 1988, pages 115-183].

	(1996-10-31)

Turbo C++

	<language> {Borland}'s first {C}/{C++} {integerated
	development environment}, including a {compler}, a {linker}, a
	high-level {debugger}, a code editor and other tools.

	Turbo C++ conformed to {AT&T}'s C++ 2.0 language
	specification.  The development environment and {command line}
	tools originally ran under {MS-DOS}.  A 1992 version ran on
	{Windows 3.1}.  Version 1 came in two forms: Turbo C++ and
	Turbo C++ Professional.  The latter included {Turbo
	Assembler}, {Turbo Debugger} and {Turbo Profile}.

	It superceded the C-only {Turbo C} and was itself superceded
	by {C++ Builder}.

	{(http://community.borland.com/article/0,1410,21751,00.html)}

	(2008-01-21)

Turbo Debugger

	<programming> A {source-level debugger} designed for use with
	{Borland} and other {compilers}.

	{(http://borland.com/)}.

	(1999-04-23)

turbo nerd

	{computer geek}

Turbo Pascal

	<language, product> {Borland International}'s {Pascal}.
	Perhaps the first integrated development environment for
	{MS-DOS}.

	Versions 1.0-3.0: standard Pascal with a few extensions
	Versions 4.0 (1987) and 5.0: {separate compilation}.  Version
	5.5: {object-oriented}.  Version 6.0: {Turbo Vision} OOP
	library.

	{(http://borland.com/Product/ProdInfo.html)}.

	{tptc} translates Turbo Pascal to {Turbo C}.

	(1995-05-01)

Turbo Prolog

	A {strongly typed} Prolog-like {logic programming} language.
	1986.  It has user-defined domains.  Programs are arranged in
	sections: DOMAINS, CLAUSES, PREDICATES, DATABASE and GOAL.  It
	is currently known as {PDC Prolog} and is distributed by
	{Prolog Development Center}, Atlanta +1 404 873 1366.  E-mail:
	<pdc@mcimail.com>.

Turing

	1. {Alan Turing}.

	2. R.C. Holt <holt@csri.toronto.edu> & J.R. Cordy
	<cordy@cs.queensu.ca>, U Toronto, 1982.  Descendant of
	Concurrent Euclid, an airtight super-Pascal.  Used mainly for
	teaching programming at both high school and university level.

	Available from Holt Software Assocs, Toronto.

	Versions for Sun, {MS-DOS}, Mac, etc.

	E-mail: <distrib@turing.toronto.edu>.

	["Turing Language Report", R.C. Holt & J.R. Cordy, Report
	CSRI-153, CSRI, U Toronto, Dec 1983].

	["The Turing Programming Language", R.C. Holt & J.R. Cordy,
	CACM 31(12) (Dec 1988)].

Turing Machine

	<computability> A hypothetical machine defined in 1935-6 by
	{Alan Turing} and used for {computability theory} proofs.  It
	consists of an infinitely long "tape" with symbols (chosen
	from some {finite set}) written at regular intervals.  A
	pointer marks the current position and the machine is in one
	of a finite set of "internal states".  At each step the
	machine reads the symbol at the current position on the tape.
	For each combination of current state and symbol read, a
	program specifies the new state and either a symbol to write
	to the tape or a direction to move the pointer (left or right)
	or to halt.

	In an alternative scheme, the machine writes a symbol to the
	tape *and* moves at each step.  This can be encoded as a write
	state followed by a move state for the write-or-move machine.
	If the write-and-move machine is also given a distance to move
	then it can emulate an write-or-move program by using states
	with a distance of zero.  A further variation is whether
	halting is an action like writing or moving or whether it is a
	special state.

	[What was Turing's original definition?]

	Without loss of generality, the symbol set can be limited to
	just "0" and "1" and the machine can be restricted to start on
	the leftmost 1 of the leftmost string of 1s with strings of 1s
	being separated by a single 0.  The tape may be infinite in
	one direction only, with the understanding that the machine
	will halt if it tries to move off the other end.

	All computer {instruction sets}, {high level languages} and
	computer architectures, including {parallel processors}, can
	be shown to be equivalent to a Turing Machine and thus
	equivalent to each other in the sense that any problem that
	one can solve, any other can solve given sufficient time and
	memory.

	Turing generalised the idea of the Turing Machine to a
	"Universal Turing Machine" which was programmed to read
	instructions, as well as data, off the tape, thus giving rise
	to the idea of a general-purpose programmable computing
	device.  This idea still exists in modern computer design with
	low level {microcode} which directs the reading and decoding
	of higher level {machine code} instructions.

	A {busy beaver} is one kind of Turing Machine program.

	Dr. Hava Siegelmann of {Technion} reported in Science of 28
	Apr 1995 that she has found a mathematically rigorous class of
	machines, based on ideas from {chaos} theory and {neural
	networks}, that are more powerful than Turing Machines.  Sir
	Roger Penrose of {Oxford University} has argued that the brain
	can compute things that a Turing Machine cannot, which would
	mean that it would be impossible to create {artificial
	intelligence}.  Dr. Siegelmann's work suggests that this is
	true only for conventional computers and may not cover {neural
	networks}.

	See also {Turing tar-pit}, {finite state machine}.

	(1995-05-10)

Turingol

	<language> A {high-level language} for programming {Turing
	Machines} by {Donald Knuth}.  It was the subject of the first
	construction of a nontrivial {attribute grammar}.

	["Semantics of Context-Free Languages", D. Knuth, Math Sys Thy
	2:127-145 (1975)].

	(1995-10-08)

Turing Plus

	Systems programming language, a concurrent descendant of
	Turing.

	["The Turing Plus Report", R.C. Holt & J.R. Cordy, CSRI, U
	Toronto, Feb 1987].

	Available from Holt Software Assocs, Toronto
	<distrib@hsa.on.ca>.

Turing tar-pit

	A place where anything is possible but nothing of interest is
	practical.  {Alan M. Turing} helped lay the foundations of
	computer science by showing that all machines and languages
	capable of expressing a certain very primitive set of
	operations are logically equivalent in the kinds of
	computations they can carry out, and in principle have
	capabilities that differ only in speed from those of the most
	powerful and elegantly designed computers.  However, no
	machine or language exactly matching Turing's primitive set
	has ever been built (other than possibly as a classroom
	exercise), because it would be horribly slow and far too
	painful to use.

	A "Turing tar-pit" is any computer language or other tool that
	shares this property.  That is, it's theoretically universal
	but in practice, the harder you struggle to get any real work
	done, the deeper its inadequacies suck you in.  Compare
	{bondage-and-discipline language}.

	A tar pit is a geological occurence where subterranean tar
	leaks to the surface, creating a large puddle (or pit) of tar.
	Animals wandering or falling in get stuck, being unable to
	extricate themselves from the tar.  La Brea, California, has a
	museum built around the fossilized remains of mammals and
	birds found in such a tar pit.

	[{Jargon File}]

	(1998-06-27)

Turing test

	<artificial intelligence> A criterion proposed by {Alan
	Turing} in 1950 for deciding whether a computer is
	intelligent.  Turing called it "the Imitation Game" and
	offered it as a replacement for the question, "Can machines
	think?"

	A human holds a written conversation on any topic with an
	unseen correspondent (nowadays it might be by {electronic
	mail} or {chat}).  If the human believes he is talking to
	another human when he is really talking to a computer then the
	computer has passed the Turing test and is deemed to be
	intelligent.

	Turing predicted that within 50 years (by the year 2000)
	technological progress would produce computing machines with a
	capacity of 10**9 bits, and that with such machinery, a
	computer program would be able to fool the average questioner
	for 5 minutes about 70% of the time.

	The {Loebner Prize} is a competition to find a computer
	program which can pass an unrestricted Turing test.

	{Julia (http://fuzine.mt.cs.cmu.edu/mlm/julia.html)} is a
	program that attempts to pass the Turing test.

	See also {AI-complete}.

	{Turing's paper
	(http://cogprints.ecs.soton.ac.uk/archive/00000499/00/turing.html)}.

	(2004-02-17)

turist

	/too'rist/ Variant spelling of {tourist}.  Possibly influenced
	by {luser} and "{Turing}".

	[{Jargon File}]

TURN

	<messaging, protocol> An {SMTP} command with which a {client}
	asks the {server} to open an SMTP connection to the client,
	thus reversing their roles.

	Superseded by {ETRN}.

	(1997-11-21)

turn-key

	<jargon, application> A term which describes a complete system
	(hardware and software) which can be used for a specific
	application without requiring further programming or software
	installation.  The user can just "turn the key" (switch it on)
	and use it.

	Compare {end-to-end solution}.

	(2006-03-30)

turtle graphics

	<graphics> The line drawings produced by programs in {LOGO}.

	(2003-05-04)

TUTOR

	A Scripting language on {PLATO} systems from {CDC}.

	["The TUTOR Language", Bruce Sherwood, Control Data, 1977].

Tuxedo

	<database, networking> {Cross-platform} distributed
	{transaction monitor} {middleware} marketed by {BEA systems}.
	Tuxedo supports the production of {scalable} {client-server}
	applications and the coordination of {transactions} spanning
	heterogeneous {databases}, {operating systems}, and
	{hardware}.

	{BEA Home (http://beasys.com/)}.

	[Connection with {Novell, Inc.}?]

	(2003-01-08)

TV

	{television}

tv

	<networking> The {country code} for Tuvalu.

	Heavily used for {vanity domains} by TV stations.

	(1999-01-27)

tw

	<networking> The {country code} for Taiwan.

	(1999-01-27)

TWAIN

	<graphics, standard> An {image capture} {API} for {Microsoft
	Windows} and {Apple Macintosh} {operating systems} that
	enables the user to control a {scanner} or {digital camera}
	from {image processing} software.

	TWAIN was first released on 1992-02-29 and is currently
	ratified at version 2.0 as of 2005-11-28.  It is maintained by
	the TWAIN Working Group.

	Kevin Bier, chairman-emeritus of the TWAIN Working Group and
	the one of the original co-author/editors of TWAIN 1.0, chose
	the name TWAIN after reading letters by Mark Twain.  It was
	unofficially considered to mean "toolkit without an important
	name."

	The word "twain" is an archaic form meaning "two".  It appears
	in Kipling's "The Ballad of East and West" - "...and never the
	twain shall meet...", reflecting the difficulty, at the time,
	of connecting scanners and personal computers.  It was
	up-cased to TWAIN to make it more distinctive.  This led
	people to believe it was an acronym, and then to a contest to
	come up with an expansion.  None were selected, but the entry
	"Technology Without An Interesting Name" continues to haunt
	the standard.

	{The TWAIN Working Group (http://twain.org/)}.

	(2000-02-25)

tweak

	1. To change slightly, usually in reference to a value.  Also
	used synonymously with {twiddle}.  If a program is almost
	correct, rather than figure out the precise problem you might
	just keep tweaking it until it works.  See {frobnicate} and
	{fudge factor}; also see {shotgun debugging}.

	2. To {tune} or {bum} a program; preferred usage in the UK.

	[{Jargon File}]

tweening

	<graphics> An {interpolation} technique where an {animation}
	program generates extra frames between the key frames that the
	user has created.  This gives smoother animation without the
	user having to draw every frame.

	A scene is described by a mathematical model - a set of two-
	or three-dimensional objects whose positions in are given by
	sets of coordinates.  Tweening uses mathematical formulae to
	generate these coordinates at a sequence of discrete times.
	The simplest system would move each point at a constant rate
	in a straight line between its initial and final positions,
	though other kinds of path are possible.  The coordinates at
	each time step are used to generate (or "render") a
	two-dimensional image of the scene which forms one "frame" of
	the animation.

	Tweening is similar to {morphing} except that morphing is
	usually performed by interpolating between corresponding
	points marked by the user on two images, rather than between
	two configurations of a model.

	(1995-04-04)

tweeter

	{woofer}

TWENEX

	<operating system> /twe'neks/ The TOPS-20 {operating system}
	by {DEC} - the second proprietary OS for the {PDP-10} -
	preferred by most PDP-10 hackers over TOPS-10 (that is, by
	those who were not {ITS} or {WAITS} partisans).  TOPS-20 began
	in 1969 as {Bolt, Beranek & Newman}'s {TENEX} operating system
	using special paging hardware.  By the early 1970s, almost all
	of the systems on the {ARPANET} ran TENEX.  DEC purchased the
	rights to TENEX from BBN and began work to make it their own.
	The first in-house code name for the operating system was
	VIROS (VIRtual memory Operating System); when customers
	started asking questions, the name was changed to SNARK so DEC
	could truthfully deny that there was any project called VIROS.
	When the name SNARK became known, the name was briefly
	reversed to become KRANS; this was quickly abandoned when
	someone objected that "krans" meant "funeral wreath" in
	Swedish (though some Swedish speakers have since said it means
	simply "wreath"; this part of the story may be apocryphal).

	Ultimately DEC picked TOPS-20 as the name of the operating
	system, and it was as TOPS-20 that it was marketed.  The
	hacker community, mindful of its origins, quickly dubbed it
	TWENEX (a contraction of "twenty TENEX"), even though by this
	point very little of the original TENEX code remained
	(analogously to the differences between AT&T V6 Unix and BSD).
	DEC people cringed when they heard "TWENEX", but the term
	caught on nevertheless (the written abbreviation "20x" was
	also used).  TWENEX was successful and very popular; in fact,
	there was a period in the early 1980s when it commanded as
	fervent a culture of partisans as Unix or ITS - but DEC's
	decision to scrap all the internal rivals to the VAX
	architecture and its relatively stodgy VMS OS killed the
	DEC-20 and put a sad end to TWENEX's brief day in the sun.
	DEC attempted to convince TOPS-20 users to convert to {VMS},
	but instead, by the late 1980s, most of the TOPS-20 hackers
	had migrated to Unix.

	[{Jargon File}]

	(1995-04-01)

Twente Compiler Generator System

	<language, tool> (TCGS) A {compiler generator} developed at
	the {University of Twente}, The Netherlands.

	(1998-04-27)

Twentel

	A {functional language}.

	["The TWENTEL System (Version 1).", H. Kroeze, CS Dept TR, U
	Twente, 1986].

twiddle

	1. <character> The {tilde} character.

	2. <jargon> (To make) a small or insignificant change.
	E.g. twiddling a program often fixes one bug and generates
	several new ones (see also {shotgun debugging}).  Bits are
	often twiddled.  Twiddling a switch or knob implies much less
	sense of purpose than toggling or {tweak}ing it; see
	{frobnicate}.  {Bit twiddling} connotes aimlessness, and at
	best doesn't specify what you're doing to the bit; to
	"{toggle} a bit" has a more specific meaning.

	[{Jargon File}]

	(1995-01-31)

TWIG

	Tree-Walking Instruction Generator.

	A {code generator} language.  {ML-Twig} is an {SML/NJ}
	variant.

	["Twig Language Manual", S.W.K. Tijang, CS TR 120, Bell Labs,
	1986].

	(1995-01-31)

twilight zone

	[IRC]  Notionally, the area of cyberspace where {IRC}
	operators live.  An {op} is said to have a "connection to the
	twilight zone".

	[{Jargon File}]

twink

	/twink/ [UCSC] Equivalent to {read-only user}.  Also reported
	on the {Usenet} group soc.motss; may derive from gay slang for
	a cute young thing with nothing upstairs (compare mainstream
	"chick").

twinning

	<storage> Keeping a {mirror} of a {magnetic tape}.

	(1997-07-18)

Twin Vector Quantization

	<audio, compression> (VQF) Part of the {MPEG-4} {standard}
	dealing with time domain weighted interleaved {vector
	quantization}.

	[Why "VQF"?]

	(2001-12-17)

twip

	<unit, graphics> (TWentIeth of a Point) 1/20 of a {Postscript
	point}, or 1/1440th of an inch.  There are thus 1440 twips to
	an inch or about 567 twips to a centimeter.

	Twips are used in {Microsoft} formats and products, notably
	{Rich Text Format}, {Visual BASIC}, {Visual C++}, and {printer
	drivers}; and in {IBM} {AFP} products.

	Twips were devised in the olden days to describe the sizes of
	characters produced by {dot matrix printers} that were
	constrained to multiples of either 12 or 10 dots per inch.

	[Is it definitely relative to a __Postscript__ point, as opposed
	to one of the other definitions of {point}?]

	(2002-03-11)

twirling baton

	<graphics> The overstrike sequence -/|\-/|\- which produces an
	animated twirling baton.  If you output it with a single
	{backspace} between characters, the baton spins in place.  If
	you output the sequence BS SP between characters, the baton
	spins from left to right.  If you output BS SP BS BS between
	characters, the batton spins from right to left.

	The twirling baton was a popular component of animated
	signature files on the pioneering {PLATO} educational
	{time-sharing} system.  The "{archie}" {Internet} service is
	perhaps the best-known baton program today; it uses the
	twirling baton as an idler indicating that the program is
	working on a query.

	[{Jargon File}]

	(1995-02-23)

twisted pair

	<hardware> A type of cable in which pairs of conductors are
	twisted together to randomise possible {cross-talk} from
	nearby wiring.  Inadequate twisting is detectable using modern
	cable testing instruments.

	(1995-02-23)

twisted pair only

	<networking> (TPO) A network connection to an {Ethernet}
	{PCMCIA} card using {twisted pair} cable.

	[Other options?]

	(1997-05-12)

Twitter

	<messaging> A free {Internet} service for posting short
	messages, known as "tweets", via a central server, which are
	then sent to all users who have chosen to follow you or to a
	specific user.  A variety of {client} programs are available
	in addition to the {website}.  Launched in about 2008.

	{Twitter home (http://twitter.com/)}.

	(2009-06-10)

twm

	Tab Window Manager.

	A {window manager} for the {X Window System}.  Twm provides
	{titlebars}, shaped windows, several forms of icon management,
	user-defined macro functions, {click-to-type} and
	pointer-driven {keyboard focus}, and user-specified key and
	pointer button bindings.  It can be extensively configured by
	a startup file.

	Twm was written by Tom LaStrange, {Solbourne Computer}; Jim
	Fulton, MIT {X Consortium}; Steve Pitschke, {Stardent
	Computer}; Keith Packard, MIT X Consortium; Dave Sternlicht,
	MIT X Consortium; Dave Payne, {Apple Computer}.

	An extended version, {vtwm}, provides a {virtual desktop}.

	[Why "Tab"?]

	(1995-02-14)

.twmrc

	<operating system> (Tab Window Manager run commands) The
	configuration file for {twm}.

	See also {rc}.

	(1996-04-09)

two-binary, one-quaternary

	<communications> (2B1Q) A {physical layer} encoding used for
	{Integrated Services Digital Network} {basic rate interface}.
	2B1Q represents two {bits} (2B - a "dibit") using one of four
	signal levels (1Q - a "quadratude").  The first bit of the
	dibit is indicated by polarity: positive indicates a binary 1
	and negative indicates a 0.  The second half of the dibit is
	indicated by voltage magnitude: 1 Volt indicates a binary 1
	and 3 Volts indicates binary 0.

	(2003-01-10)

twonkie

	/twon'kee/ The software equivalent of a Twinkie (a variety of
	sugar-loaded junk food, or (in gay slang) the male equivalent
	of "chick"); a useless "feature" added to look sexy and
	placate a {marketroid}.

	Compare {Saturday-night special}.

	The term may also be related to "The Twonky", title menace of
	a classic SF short story by Lewis Padgett (Henry Kuttner and
	C. L. Moore), first published in the September 1942
	"Astounding Science Fiction" and subsequently much
	anthologised.

	[{Jargon File}]

	(1994-10-20)

two-phase commit

	<database> A technique for maintaining {integrity} in
	distributed {databases}.  Where a system uses two or more
	database, a transaction among the distibuted database should
	be {atomic} ("all or nothing").  This is done by handling the
	transaction in two phases.  First the databases prepare the
	transaction, confirm that it is possible to process it, and
	lock the relevant record.

	Once all the required databases confirm that the transaction
	is viable, the system instructs them all to {commit} it -
	i.e. to make it permanent.  If it is not possible to process
	it, the system will instruct the databases to {rollback}
	(undo) the transaction.

	(2000-02-28)

twos complement

	<data> A system used in some computers to represent negative
	numbers in {binary}.  Each {bit} of the number is inverted
	(zeros are replaced with ones and vice versa), as for {ones
	complement}, but then one (000...0001) is added (ignoring
	overflow).  This avoids the two representations for zero found
	in ones complement by using all ones to represent -1.

		...
		000...00011 = +3
		000...00010 = +2
		000...00001 = +1
		000...00000 =  0
		111...11111 = -1
		111...11110 = -2
		111...11101 = -3
		...

	This representation simplifies the logic required for addition
	and subtraction, at the expense of a little extra complexity
	for negation.

	(1994-10-31)

two-to-the-N

	An amount much larger than {N} but smaller than {infinity}.
	"I have 2-to-the-N things to do before I can go out for lunch"
	means you probably won't show up.

	Numbers of the form two-to-the-N are very important in
	computing because they represent the value of bit N of a
	binary number (counting from 0) and the number of things you
	can count with an N bit number.

	[{Jargon File}]

	(1994-12-06)

two-valued logic

	<logic> (Commonly known as "{Boolean algebra}") A mathematical
	system concerning the two {truth values}, TRUE and FALSE and
	the functions {AND}, {OR}, {NOT}.  Two-valued logic is one of
	the cornerstones of {logic} and is also fundamental in the
	design of {digital electronics} and {programming languages}.

	The term "Boolean" is used here with its common meaning -
	two-valued, though strictly {Boolean algebra} is more general
	than this.

	Boolean functions are usually represented by {truth tables}
	where "0" represents "false" and "1" represents "true".  E.g.:

		A | B | A AND B
		--+---+--------
		0 | 0 |    0
		0 | 1 |    0
		1 | 0 |    0
		1 | 1 |    1

	This can be given more compactly using "x" to mean "don't
	care" (either true or false):

		A | B | A AND B
		--+---+--------
		0 | x |    0
		x | 0 |    0
		1 | 1 |    1

	Similarly:

	        A | NOT A       A | B | A OR B
	        --+------       --+---+--------
	        0 |  1          0 | 0 |   0
	        1 |  0          x | 1 |   1
	                        1 | x |   1

	Other functions such as {XOR}, {NAND}, {NOR} or functions of
	more than two inputs can be constructed using combinations of
	AND, OR, and NOT.  AND and OR can be constructed from each
	other using {DeMorgan's Theorem}:

		A OR B   =  NOT ((NOT A) AND (NOT B))
		A AND B	 =  NOT ((NOT A) OR (NOT B))

	In fact any Boolean function can be constructed using just NOR
	or just NAND using the identities:

		NOT A  =  A NOR A
		A OR B  =  NOT (A NOR B)

	and {DeMorgan's Theorem}.

	(2003-06-18)

TX-0

	The first transistorised computer, the direct ancestor of the
	{PDP-1} built at {MIT}'s Lincoln Lab in 1957.

	(1994-12-06)

TXL

	{Tree Transformation Language}

TYMCOM-X

	<operating system> {Tymshare}'s {operating system} which ran
	for many years on Tymshare's {PDP-10s}.  It was a descendent
	of {TOPS-10} but had many of the important features of
	{TOPS-20} such as real {paging} and controllable/spawnable
	processes.  TYMCOM-X, one of the best kept secrets in the
	PDP-10 folklore, was written by Bill Weiher, Vance Socci
	<vsocci@vcctech.com>, Allen Ginzburg, Karen Kolling, Art
	Atkinson, Gary Morgenthaler (founder of the company that
	produced {IDRIS}), Todd Corenson and Murray Bowles.  Some
	copies still run today.  Most {TYMNET} development was done
	under TYMCOM-X and Tymshare sold a TYMCOM-X system to {TRW} to
	use in their credit reporting network, which was based on a
	purchased copy of TYMNET circa 1979.

	[E-mail from Vance Socci 1994-05-20].

	(1995-11-09)

TYMNET

	<networking, history> A United States-wide commercial computer
	network, created by {Tymshare, Inc.} some time before 1970,
	and used for {remote login} and file transfer.  The network
	public went live in November 1971.

	In its original implementation, it consisted of fairly simple
	circuit-oriented {nodes}, whose circuits were created by
	central network supervisors writing into the appropriate
	nodes' "permuter tables".  The supervisors also performed
	login validations as well as circuit management.  Circuits
	were character oriented and the network was oriented toward
	interactive character-by-character {full-duplex}
	communications circuits.

	The network had more than one supervisor running, but only one
	was active, the others being put to sleep with "sleeping pill"
	messages.  If the active supervisor went down, all the others
	would wake up and battle for control of the network.  After
	the battle, the supervisor with the highest pre-set priority
	would dominate, and the network would then again be controlled
	by only one supervisor.  (During the takeover battle, the net
	consisted of subsets of itself across which new circuits could
	not be built).  Existing circuits were not affected by
	supervisor switches.

	There was a clever scheme to switch the echoing function
	between the local node and the host based on whether or not a
	special character had been typed by the user.  Data transfers
	were also possible via "auxiliary circuits".

	The Tymshare hosts (which ran customer code) were {SDS 940},
	{DEC} {PDP-10}, and eventually {IBM 370} computers.  {Xerox}
	{XDS 940} might have been used if Xerox, who bought the design
	for the SDS 940 from Scientific Data Systems, had ever built
	any.

	The switches were originally {Varian Data Machines} 620i.  The
	{Interdata 8/32} was never used because the performance was
	disappointing.  The TYMNET Engine, based loosely on the
	Interdata 7/32, was developed instead to replace the Varian
	620i.  In the early 1990s, newer "Turbo" nodes based on the
	{Motorola 68000} began to replace the 7/32s.  These were later
	replaced with {SPARCs}.

	PDP-10s supported (and still do in 1999) cross-platform
	development and billing.

	{Tymshare, Inc.} originally wrote and implemented TYMNET to
	provide nationwide access for their {time-sharing} customers.

	La Roy Tymes booted up the public TYMNET in November of 1971
	and, as of March 2002, it had been running ever since without
	a single system crash.

	TYMNET was the largest commercial network in the United States
	in its heyday, with nodes in every major US city and a few
	overseas as well.  Tymshare acquired a French subsidiary,
	{SLIGOS}, and had TYMNET nodes in Paris, France.

	Tymshare sold the TYMNET network software to {TRW}, who
	created their own private network (which was not called
	TYMNET).  In about 1979, TYMNET Inc. was spun off from
	Tymshare, Inc. to continue administration and development of
	the network.

	TYMNET outlived its parent company Tymshare and was acquired
	by {MCI}.  As of May 1994 they still ran three {DEC KL-10s}
	under {TYMCOM-X}, although they planned to decommission them
	soon.

	The original creators of TYMNET included: Ann Hardy, Norm
	Hardy, Bill Frantz.  La Roy Tymes (who always insisted that
	his name was NOT the source of the name) wrote the first
	supervisor which ran on the 940.  Joe Rinde made many
	significant technical and marketing contributions.  La Roy
	wrote most of the code of the network proper.  Several others
	wrote code in support of development and administration.  Just
	recently (1999) La Roy, on contract, wrote a version of the
	supervisor to run on {SPARC} hardware.

	The name TYMNET was suggested by Vigril Swearingen in a weekly
	meeting between Tymshare technical and marketing staff in
	about 1970.

	{(http://cap-lore.com/ETH.html)}.

	[E-mail from La Roy Tymes]

	(2002-11-26)

Tymshare, Inc.

	<company> The US company that created the {TYMNET} network.

	(1999-03-17)

type

	<theory, programming> (Or "data type") A set of values from
	which a {variable}, {constant}, {function}, or other
	{expression} may take its value.  A type is a classification
	of data that tells the {compiler} or {interpreter} how the
	programmer intends to use it.  For example, the process and
	result of adding two variables differs greatly according to
	whether they are integers, floating point numbers, or strings.

	Types supported by most programming languages include
	{integers} (usually limited to some range so they will fit in
	one {word} of storage), {Booleans}, {floating point numbers},
	and characters.  {Strings} are also common, and are
	represented as {lists} of characters in some languages.

	If s and t are types, then so is s -> t, the type of
	{functions} from s to t; that is, give them a term of type s,
	functions of type s -> t will return a term of type t.

	Some types are {primitive} - built-in to the language, with no
	visible internal structure - e.g. Boolean; others are
	composite - constructed from one or more other types (of
	either kind) - e.g. {lists}, {arrays}, {structures}, {unions}.
	{Object-oriented programming} extends this with {classes}
	which encapsulate both the structure of a type and the
	operations that can be performed on it.

	Some languages provide {strong typing}, others allow {implicit
	type conversion} and/or {explicit type conversion}.

	(2003-12-22)

type-ahead

	<operating system> The facility where the user can type more
	characters before the system has fully responded to those
	already typed.  Type-ahead is common on most current systems.
	It allows the user to type without worrying that the computer
	may miss input because it is temporarily busy,
	e.g. reformating a page, checking spelling, or simply
	suffering from network latency.  There is usually some limit
	to the amount of input the system can buffer, beyond which it
	__will__ lose input.

	[Equivalent term for {speech recognition}?]

	(2003-06-15)

type-ahead search

	{incremental search}

type assignment

	<theory> A mapping of the {free variables} of some expression
	E to types.  This is used in {type inference} to deduce the
	type of E and its subexpressions.

	(2002-02-22)

type class

	A set of types for which certain operations or {methods} are
	defined.  E.g. the class Number might have methods for addition
	and subtraction.  {Class}es are a feature of {object oriented
	languages} and of the {functional programming} language
	{Haskell}.  See also {inheritance}.

typed lambda-calculus

	<theory> (TLC) A variety of {lambda-calculus} in which every
	term is labelled with a {type}.

	A {function application} (A B) is only synctactically valid if
	A has type s --> t, where the type of B is s (or an {instance}
	or s in a {polymorphic} language) and t is any type.

	If the types allowed for terms are restricted, e.g. to
	{Hindley-Milner types} then no term may be applied to itself,
	thus avoiding one kind of non-terminating evaluation.

	Most {functional programming} languages, e.g. {Haskell}, {ML},
	are closely based on variants of the typed lambda-calculus.

	(1995-03-25)

TypedProlog

	<language> A {strongly typed} {logic programming} language.

	(1995-03-25)

typeface

	<text> The style or design of a {font}.  Other independent
	parameters are size, boldness (thickness of lines), and
	obliqueness (a sheer transformation applied to the characters,
	not to be confused with a specifically designed italic font).

	(1996-08-02)

type inference

	<programming> An {algorithm} for ascribing types to
	expressions in some language, based on the types of the
	constants of the language and a set of type inference rules
	such as

		f :: A -> B,  x :: A
		---------------------  (App)
		      f x :: B

	This rule, called "App" for application, says that if
	expression f has type A -> B and expression x has type A then
	we can deduce that expression (f x) has type B.  The
	expressions above the line are the premises and below, the
	conclusion.  An alternative notation often used is:

		G |- x : A

	where "|-" is the turnstile symbol ({LaTeX} \vdash) and G is a
	type assignment for the free variables of expression x.  The
	above can be read "under assumptions G, expression x has type
	A".  (As in Haskell, we use a double "::" for type
	declarations and a single ":" for the {infix} list constructor,
	cons).

	Given an expression

		plus (head l) 1

	we can label each subexpression with a type, using type
	variables X, Y, etc. for unknown types:

		(plus :: Int -> Int -> Int)
			(((head :: [a] -> a) (l :: Y)) :: X)
			(1 :: Int)

	We then use {unification} on {type variables} to match the
	{partial application} of plus to its first argument against
	the App rule, yielding a type (Int -> Int) and a substitution
	X = Int.  Re-using App for the application to the second
	argument gives an overall type Int and no further
	substitutions.  Similarly, matching App against the
	application (head l) we get Y = [X].  We already know X = Int
	so therefore Y = [Int].

	This process is used both to infer types for expressions and
	to check that any types given by the user are consistent.

	See also {generic type variable}, {principal type}.

	(1995-02-03)

type scheme

	A typing of an expression which may include {type variables}.
	E.g.

		\ x . x :: a -> a

	where a is a {generic type variable} which may be instantiated
	to any type.

	(1994-10-31)

typo

	{typographical error}

typographical error

	(typo) An error while inputting text via keyboard, made
	despite the fact that the user knows exactly what to type in.
	This usually results from the operator's inexperience at
	keyboarding, rushing, not paying attention, or carelessness.

	Compare: {mouso}, {thinko}.

	(1996-04-20)

TYPOL

	<language> A specialised {logic programming} language.

	["TYPOL: A Formalism to Implement Natural Semantics",
	T. Despeyroux, RR 94, INRIA, 1988].

	(1994-10-31)

typo squatter

	<web> A {domain squatter} who registers a {domain
	name} that is a common {typographical error} for a popular
	{website} so that people will visit their site accidentally,
	e.g. {(http://goggle.com/)} for {(http://google.com/)}.

	(2007-07-13)

tyt

	<chat> Take your time.

	(2004-02-15)

TZ

	<operating system> The {Unix} {environment variable}
	containing the current {time zone} identifier, e.g. "GMT",
	"EST".

	In early versions of Unix this variable simply contained the
	standard identifier for the zone, an offset in hours from GMT
	and an identifier to use during daylight saving time
	(e.g. "GMT0BST").  In later systems it stores the name of a
	file containing the details of a particular zone such as the
	dates when DST is in force.

	{Unix manual page}: ctime(3V).

	(1997-07-20)

tz

	<networking> The {country code} for Tanzania.

	(1999-01-27)

ua

	<networking> The {country code} for the Ukraine.

	(1999-01-27)

UAN

	User Action Notation.  A notation from {VPI} for
	representation of activity in a {graphical user interface}.

	[H. Hartson et al, ACM Trans on Info Sys, July 1990].

	(1994-10-31)

UART

	{Universal Asynchronous Receiver/Transmitter}

UAT

	{User Acceptance Testing}

UAW

	<spelling> Misspelling of "{IAW}"?

UBASIC

	Yuji Kida <kida@rkmath.rikkyo.ac.jp>.

	An extension of {BASIC} for {symbolic mathematics} and {number
	theory}.

	UBASIC supports {bignums}, fractions, complex numbers,
	polynomials and integer factorisation.  It runs under {MS-DOS}
	and is written in {assembly language}.

	Latest version: 8.

	{(ftp://ftp.simtel.com/math/utk/software/msdos/number.theory/ubasic/)}.

	[Review, W.D. Neumann, Notices of AMS 36 (May/June 1989)]

	["A math-oriented high-precision BASIC", Notices of the A.M.S,
	38 (Mar 1991)].

	(1992-07-06)

UBD

	{User Brain Damage}

ubiquitous computing

	Computers everywhere.  Making many computers available
	throughout the physical environment, while making them
	effectively invisible to the user.  Ubiquitous computing is
	held by some to be the Third Wave of computing.  The First
	Wave was many people per computer, the Second Wave was one
	person per computer.  The Third Wave will be many computers
	per person.  Three key technical issues are: power
	consumption, user interface, and wireless connectivity.

	The idea of ubiquitous computing as invisible computation was
	first articulated by Mark Weiser in 1988 at the Computer
	Science Lab at {Xerox PARC}.

	{(http://ubiq.com/hypertext/weiser/weiser.html)}.

	(1994-12-23)

uC++

	Micro-C++.  A extension of {C++}, by Peter A Ruhr
	<pabuhr@plg.uwaterloo.ca> of the {University of Waterloo},
	with {light-weight concurrency} {coroutines} and {mutual
	exclusion}.

	Version 3.7 for {Unix} uses {GCC} 2.3.3 and requires {dmake}
	3.0+ and the setitimer and sigcontext library calls.  It
	runs on {Sequent}, {Sun-4}, {Sun-3}, {Ultrix}, {SGI},
	{RS/6000}, {HP-PA}.

	{(ftp://plg.uwaterloo.ca/pub/uSystem/u++-3.7.tar.Z)}.

	[Software--Practice and Experience, 22(2):137-172, February
	1992].

	(1993-06-10)

UCB

	{University of California at Berkeley}

UCHO

	<audio, software> (Polish for "ear") A program by Stanislaw
	Raczynski for analysing {wav} audio files to determine which
	musical notes are sounding at each instant.  UCHO can output
	the results as a {MIDI} file.

	{UCHO home (http://www.stanr.com/ucho/ucho.htm)}.

	(2008-03-17)

U-Code

	Universal Pascal Code.  Intermediate language, a
	generalisation of P-code for easier optimisation.  Developed
	originally for the Los Alamos Cray-1 and the Lawrence
	Livermore S-1.  A refined version currently used by MIPS
	compilers is descended from one at Stanford U.  "Machine
	Independent Pascal Code Optimisation", D.R. Perkins et al,
	SIGPLAN Notices 14(8): 201-201 (1979).  "A Transporter's Guide
	to the Stanford U-Code Compiler System", P. Nye et al, TR CSL
	Stanford U, June 1983.  (See HPcode).

UCP

	{Universal Computer Protocol}

UCS

	{Universal Character Set}

UCSD Pascal

	{Pascal-P}

UCS transformation format

	<standard, character> (UTF) A set of standard {character
	encodings} in accordance with {ISO 10646}.

	One of a set of standard character encodings, the most widely
	used of which are UTF-8, UTF-16, and UTF-32.  The code tables
	in ISO 10646 and in the {Unicode} standard are identical,
	although the Unicode standard includes additional material.

	UTF-8 is the most widely used encoding, at least on {Unix}
	systems.  Since it does not include any bytes like '\0' or '/'
	which have a special meaning in filenames and other {C}
	library function parameters, and 7-bit ASCII characters have
	the same encoding under both {ASCII} and UTF-8, the required
	changes to existing software are minimised.

	Other UTFs: UTF-1 and UTF-7 are not widely used.

	{UTF-8 and Unicode FAQ for Unix/Linux
	(http://cl.cam.ac.uk/~mgk25/unicode.html#ucs)}.

	(2002-01-15)

UCX

	{Universal Communications X}

udb

	{Universal Debugger}

UDDI

	{Universal Description, Discovery, and Integration}

UDF

	{Universal Disk Format}

UDMA

	{ATA-4}

UDP

	{User Datagram Protocol}

uemacs

	{MicroEmacs}.  ("u" looks a bit like the Greek letter micro).

UFO

	<language> (United Functions and Objects) A hybrid
	{functional} and {object-oriented} language designed by John
	Seargant at {Manchester University} for general-purpose
	parallel computation.

	To a first approximation, UFO is a strict, higher-order
	functional language with an object-oriented type system, and
	strong support for numeric computation in the form of
	SISAL-style arrays and loops.  Parallelism is implicit, and
	applies at various different levels of granularity, thereby
	facilitating implementations on a wide range of parallel
	architectures.

	It is planned to run it on a 64 processor {KSR} machine.

	(1996-08-22)

UFO bug

	<humour> A {bug} reported over and over again by users who believe
	it is real even after they have been shown that it doesn't exist.

	[{Dodgy Coder
	(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].

	(2013-02-07)

ug

	<networking> The {country code} for Uganda.

	(1999-01-27)

UGLIAC

	<language> An early system on the {Datatron 200} series.

	[Listed in CACM 2(5):16 (May 1959)].

	(2013-02-07)

UHELP

	A {linear programming} system.

	["UHELP User's Manual", D. Singh, Indus Eng Dept, U Houston
	(Oct 1969)].

UI

	1. {user interface}.

	2. {Unix International}.

uid

	<programming, database>

	1. {user identifier}.

	2. unique identifier - of any sort, possibly following sense 1.

	Compare with {SKU} for sense-development.

	(1998-09-27)

UIDL

	{Unique ID Listing}

UIL

	{User Interface Language}

UIMS

	User Interface Management System: a system supporting the
	development and execution of user interfaces, usually on top
	of windowing systems.

UIMX

	An interface builder for Motif from Visual Edge.

UIS

	<graphics, programming> A {VMS} graphics programming interface
	package for {VAXstations}.

	(1998-10-25)

uk

	<networking> The {country code} for United Kingdom.

	(1999-01-27)

UKC

	{University of Kent at Canterbury}

UKERNA

	{United Kingdom Education and Research Networking Association}

UKUUG Ltd.

	<body> The UK's Unix and Open Systems User Group is a
	non-profit organisation and technical forum for the advocacy
	of {open systems}, particularly {Unix} and Unix-like
	{operating systems}, the promotion of free and {open source}
	software, and the advancement of open programming {standards}
	and networking {protocols}.

	UKUUG aims to cater for all those working in, or interested in
	open systems and open standards.

	It has been known as UKUUG since 1977, but produced its first
	magazine - UK Universities UNIX Newsletter - in December 1976.

	UKUUG used to stand for "United Kingdom Unix Users Group" but
	is now just "UKUUG Ltd."

	{UKUUG Home (http://ukuug.org/)}.

	(2006-08-23)

ULCC

	{University of London Computing Centre}

Ulm's Modula-2 System

	<language> A {Modula-2} {compiler}, library and tools by
	Andreas Borchert <borchert@mathematik.uni-ulm.de>.  The
	compiler is derived from the {ETHZ} compiler for the {Lilith}
	system.  Version 2.2.1 conforms to {PIM3}.  It requires {gas}
	version 1.36 (to be found in the same directory).  Commercial
	use requires a licence.  It runs on {Sun-3}, {Nixdorf}
	{Targon}/31, {Concurrent} 3200 Series.

	{(ftp://titania.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z)}.

	(1992-03-02)

ULP

	1. <language> A small structured language for use on
	{microprocessors}.

	["User's Guide to the ULP Language for the PDP-11", CS TR 536,
	U Maryland, May 1977].

	2. <protocol> {Upper Layer Protocol}.

	(1999-02-17)

Ultra64

	<hardware, games> A {Nintendo} games machine, unveiled in May
	1995.

	[Details?]

	(1995-05-10)

Ultra-ATA

	{ATA-4}

Ultra DMA

	{ATA-4}

Ultra-SCSI

	<hardware> An extension of {SCSI-2} proposed by a group of
	manufacturers which doubles the transfer speed of {Fast-SCSI}
	to give 20MByte/s on an 8-bit connection and 40MByte/s on a
	16-bit connection.

	(1995-04-19)

Ultrix

	<operating system> A version of {Unix} based on the {Berkeley}
	version, designed and implemented by {DEC} to run on their
	{VAX} and {DECstation} processors.

	(1994-10-26)

um

	<networking> The {country code} for United States minor
	outlying islands.

	(1999-01-27)

UMB

	1. {Upper Memory Block}.

	2. A university(?).

	(1996-01-10)

UMB Scheme

	A {Scheme} system including an editor and debugger by William
	Campbell <bill@cs.umb.edu>.  Conforms to the {R4RS}.

	{(ftp://nexus.yorku.ca/pub/scheme/)}.

	(1994-10-28)

UMDL

	{University of Michigan Digital Library Project}

UML

	{Unified Modeling Language}

uML

	{Micro ML}

UMTS

	{Universal Mobile Telecommunications System}

unary

	1. <programming> (or "{monadic}") A description of a
	{function} or {operator} which takes one {argument}, e.g. the
	unary minus operator which negates its argument.  The term is
	part of the same sequence as {nullary} and {binary}.

	2. <data, humour> Base one.  A number base with only one
	digit, namely zero, and which can therefore only be used to
	express the number zero.  Attempting to add one to zero
	results in an infinite sequence of carries.  Numbers in unary
	notation can be represented particularly efficiently however
	since each digit requires no storage.

	(2001-02-25)

UNC

	{Universal Naming Convention}

UNCL

	{Universal Naming Code Locater}

UNCOL

	UNiversal Computer Oriented Language.  A universal
	intermediate language, discussed but never implemented.

	["A First Version of UNCOL", T.B. Steel, Proc JCC 19:371-378
	(Winter 1961)].

	[Sammet 1969, p.708].

uncompression

	{compression}

uncountable

	{countable}

uncurry

	{uncurrying}

uncurrying

	<programming> Transforming a {curried function} of the
	form f x y z = ... to one of the form f (x, y, z) = ... ,
	i.e. all {arguments} are passed as one {tuple}.

	(1998-07-02)

undefined

	<programming> The value of a {variable} that has not been set or a
	function that does not return anything.  In some programming
	languages, e.g. {Perl}, {JavaScript}, undefined is a named
	constant that can be used to explicitly set a variable or return
	undefined or can be passed as an {actual argument}.  Other
	languages, e.g. {Java}, call it "{null}", but note that the null
	in relational database programming is subtly different.

	Many languages provide a {built-in function} to test whether an
	expression is undefined, e.g. Perl's defined() function.

	Attempting to operate on an undefined value, e.g. add it to a
	number or append it to a string, may either raise an error or
	result in the undefined value being converted ({cast}) to some
	appropriate value, e.g. {false}, zero or {empty string}, according
	to the {type} of expression.

	This definition is an example of a {paradox}.

	(2012-12-02)

undefined external reference

	[Unix] A message from {Unix}'s linker, {ld}.  Used in speech
	to flag loose ends or dangling references in an argument or
	discussion.

	[{Jargon File}]

underflow

	<programming> (or "floating point underflow", "floating
	underflow", after "{overflow}") A condition that can occur
	when the result of a {floating-point} operation would be
	smaller in magnitude (closer to zero, either positive or
	negative) than the smallest quantity representable.  Underflow
	is actually (negative) {overflow} of the {exponent} of the
	{floating point} quantity.  For example, an eight-bit {twos
	complement} exponent can represent multipliers of 2^-128 to
	2^127.  A result less than 2^-128 would cause underflow.

	Depending on the {processor}, the programming language and the
	{run-time system}, underflow may set a status bit, raise an
	{exception} or generate a {hardware} {interrupt} or some
	combination of these effects.  Alternatively, it may just be
	ignored and zero substituted for the unrepresentable value,
	though this might lead to a later {divide by zero} error which
	cannot be so easily ignored.

	(2006-11-09)

Undernet

	<networking> An {Internet Relay Chat} network dating from the
	1990s, when it broke away from the main (still larger) IRC
	network, {EFNet}.

	{(http://undernet.org/)}.

	{The History of the Undernet
	(http://www2.undernet.org:8080/~cs93jtl/unet_history.txt)}.

	(1995-11-09)

underscore

	<character> _, {ASCII} 95.

	Common names: {ITU-T}: underline; underscore; underbar; under.
	Rare: score; backarrow; skid; {INTERCAL}: flatworm.

	See also {left arrow}.

	(1995-03-06)

under the hood

	[hot-rodder talk] 1. The underlying implementation of a
	product (hardware, software, or idea).  Implies that the
	implementation is not intuitively obvious from the appearance,
	but the speaker is about to enable the listener to {grok} it.
	"Let's now look under the hood to see how ...."

	2. Can also imply that the implementation is much simpler than
	the appearance would indicate: "Under the hood, we are just
	fork/execing the shell."

	3. Inside a chassis, as in "Under the hood, this baby has a
	40MHz 68030!"

	[{Jargon File}]

undocumented feature

	{feature}

U-NET Limited

	A {dial-up} {Internet} access provider based in Warrington,
	UK.  Speeds 4800 - 28.8kbps.  The currently support {Microsoft
	Windows} and {RISC OS} users.  For 12 pounds to join and 12
	pounds per month or 100 pounds per year you get a full {SLIP}
	account with a pernament {IP address} and {POP3} {electronic
	mail} account.  Membership includes a disk with {Mosaic},
	{Eudora}, {Trumpet2}, Newsreader, {FTP} and {Telnet} and full
	{Internet} access.  Users can choose their own {user name} and
	{hostname}.  Allows some extra services such as more than one
	POP3 account per access account.  User name is significant so
	that a company can have accounts with the same hostname
	(i.e. their company name) but the mail going to diffent
	machines.  Mail in users POP3 account is accessible from
	anywhere not just via the dial-up connection.  On your next
	business trip you can still check your {e-mail} (provided you
	can get onto the Internet).

	{(http://u-net.com/)}.

	E-mail: <hi@u-net.com>.

	(1994-11-18)

unfold

	{inline}

unfold/fold

	A {program transformation} where a {recursive} call to a
	function is {unfold}ed to an instance of the function's body
	and then later an instance of the function's body is replaced
	by a call.  E.g.

		sumdouble l = sum (double l)

		double l = case l of
		           []   -> []
			   x:xs -> 2*x + double xs

		==> (unfold double)

		sumdouble l = sum (case l of
			           []   -> []
				   x:xs -> 2*x : double xs)

		==> (distribute over case)

		sumdouble l = case l of
			      []   -> sum []
			      x:xs -> sum (2*x : double xs)

	 	==> (unfold sum)

		sumdouble l = case l of
			      []   -> 0
			      x:xs -> 2*x + sum (double xs)

	 	==> (fold sumdouble)

		sumdouble l = case l of
			      []   -> 0
			      x:xs -> 2*x + sumdouble xs

	(1994-11-03)

UNI

	1. <standard, body> {Ente Nazionale Italiano di Unificazione}.

	2. <networking> {User Network Interface}.

	(1999-02-01)

unicast

	<networking> Sending {packets} to a single destination, used
	in contrast to {broadcast} or {multicast}.  The term is
	generally only used when talking about low level
	communications, typically at the {network layer},
	e.g. {Internet Protocol}.

	(2008-06-23)

Unicode

	1. <character> A 16-bit {character set} standard, designed and
	maintained by the non-profit consortium Unicode Inc.

	Originally Unicode was designed to be universal, unique, and
	uniform, i.e., the code was to cover all major modern written
	languages (universal), each character was to have exactly one
	encoding (unique), and each character was to be represented by
	a fixed width in bits (uniform).

	Parallel to the development of Unicode an {ISO}/{IEC}
	standard was being worked on that put a large emphasis on
	being compatible with existing character codes such as {ASCII}
	or {ISO Latin 1}.  To avoid having two competing 16-bit
	standards, in 1992 the two teams compromised to define a
	common character code standard, known both as Unicode and
	{BMP}.

	Since the merger the character codes are the same but the two
	standards are not identical.  The ISO/IEC standard covers only
	coding while Unicode includes additional specifications that
	help implementation.

	Unicode is not a {glyph encoding}.  The same character can be
	displayed as a variety of {glyphs}, depending not only on the
	{font} and style, but also on the adjacent characters.  A
	sequence of characters can be displayed as a single glyph or a
	character can be displayed as a sequence of glyphs.  Which
	will be the case, is often font dependent.

	See also Jörgen Bettels and F. Avery Bishop's paper {Unicode:
	A universal character code
	(http://research.compaq.com/wrl/DECarchives/DTJ/DTJB02/DTJB02SC.TXT)}.

	(2002-08-06)

	2. <language> A pre-{Fortran} on the {IBM 1130}, similar to
	{MATH-MATIC}.

	[Sammet 1969, p.137].

	(2004-09-14)

UniCOMAL

	{COMmon Algorithmic Language}

Unicorny

	<humour, programming> A {feature} that's so early in the planning
	stages that it might as well be imaginary.

	[{Dodgy Coder(http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)}].1

	(2013-06-17)

unicos

	A {Unix} variant for {Cray} computers.

	[More details?]

	(1994-12-06)

Uniface

	1. <database, programming, product> A {4GL} development
	environment and system integration tool marketed by
	{Compuware}.  Uniface is database independent, with interfaces
	to more than 14 {database management systems} and file
	retrieval systems including {DB2}, {IMS}, {SQL Server},
	{Oracle}, {RDB}, {Sybase}.  It is currently supported on {MS
	Windows} (98, ME, NT, 2000, XP, 2003), various {Unix}
	flavours, {Linux}, {OpenVMS}, {IBM iSeries} ({AS/400}), {IBM
	zSeries} ({MVS}) and various {web servers}.  Uniface can
	integrate with {SAP}, {COM}, {Java}, {BEA Tuxedo}, {CICS}, and
	various {CORBA} implementations.

	{Uniface user group Germany (http://c-b-g.org/)}.
	{Profesional Uniface Users Universe (http://puuu.org/)}.
	{Free tutorials (http://march-hare.com.au/)}.

	2. <text> Synonym of {bitmap font}.

	(1999-01-05)

unification

	<programming> The generalisation of {pattern matching} that is
	the {logic programming} equivalent of {instantiation} in
	{logic}.  When two {terms} are to be unified, they are
	compared.  If they are both constants then the result of
	unification is success if they are equal else failure.  If one
	is a variable then it is bound to the other, which may be any
	term (which satisfies an "{occurs check}"), and the
	unification succeeds.  If both terms are structures then each
	pair of sub-terms is unified {recursive}ly and the unification
	succeeds if all the sub-terms unify.

	The result of unification is either failure or success with a
	set of variable bindings, known as a "{unifier}".  There may
	be many such unifiers for any pair of terms but there will be
	at most one "{most general unifier}", other unifiers simply
	add extra bindings for sub-terms which are variables in the
	original terms.

	(1995-12-14)

Unified Han

	{Han character}

Unified Modeling Language

	<language> (UML) A non-proprietary, third generation {modelling
	language}.  The Unified Modeling Language is an open method
	used to specify, visualise, construct and document the
	artifacts of an {object-oriented} software-intensive system
	under development.  The UML represents a compilation of "best
	engineering practices" which have proven successful in
	modelling large, complex systems.

	UML succeeds the concepts of {Booch}, {OMT} and {OOSE} by
	fusing them into a single, common and widely usable modelling
	language.  UML aims to be a standard modelling language which
	can model {concurrent} and distributed systems.

	UML is not an {industry standard}, but is taking shape under
	the auspices of the {Object Management Group} (OMG).  OMG has
	called for information on object-oriented methodologies, that
	might create a rigorous software modelling language.  Many
	industry leaders have responded in earnest to help create the
	standard.

	See also: {STP}, {IDE}.

	{OMG UML Home (http://uml.org/)}.

	{Rational UML Resource Center
	(http://rational.com/uml/index.jsp)}.

	(2002-01-03)

unifier

	The unifier of a set of expressions is a set of substitutions
	of terms for variables such that the expressions are all
	equal.

	See also {most general unifier}, {unification}.

	(1994-12-06)

UNIFORM

	An intermediate language developed for reverse engineering
	both {COBOL} and {Fortran}.

	["The REDO Compendium", H. van Zuylen ed, Wiley 1993].

	(1994-12-06)

Uniform Naming Convention

	{Universal Naming Convention}

Uniform Resource Citation

	<web> (URC) A set of attribute/value pairs
	describing an object.  Some of the values may be {URIs} of
	various kinds.  Others may include, for example, athorship,
	publisher, datatype, date, copyright status and shoe size.  A
	URC is not normally considered as a string, but a set of
	fields and values with some defined free formatting.

	(1995-03-24)

Uniform Resource Locater

	{Uniform Resource Locator}

Uniform Resource Locator

	<web> (URL, previously "Universal") A {standard}
	way of specifying the location of an object, typically a {web
	page}, on the {Internet}.  Other types of object are described
	below.  URLs are the form of address used on the {World-Wide
	Web}.  They are used in {HTML} documents to specify the target
	of a {hypertext link} which is often another HTML document
	(possibly stored on another computer).

	Here are some example URLs:

	 http://w3.org/default.html
	 http://acme.co.uk:8080/images/map.gif
	 http://foldoc.org/?Uniform+Resource+Locator
	 http://w3.org/default.html#Introduction
	 ftp://wuarchive.wustl.edu/mirrors/msdos/graphics/gifkit.zip
	 ftp://spy:secret@ftp.acme.com/pub/topsecret/weapon.tgz
	 mailto:fred@doc.ic.ac.uk
	 news:alt.hypertext
	 telnet://dra.com

	The part before the first colon specifies the access scheme or
	{protocol}.  Commonly implemented schemes include: {ftp},
	{http} (web), {gopher} or {WAIS}.  The "file"
	scheme should only be used to refer to a file on the same
	host.  Other less commonly used schemes include {news},
	{telnet} or mailto ({e-mail}).

	The part after the colon is interpreted according to the
	access scheme.  In general, two slashes after the colon
	introduce a {hostname} (host:port is also valid, or for {FTP}
	user:passwd@host or user@host).  The {port} number is usually
	omitted and defaults to the standard port for the scheme,
	e.g. port 80 for HTTP.

	For an HTTP or FTP URL the next part is a {pathname} which is
	usually related to the pathname of a file on the server.  The
	file can contain any type of data but only certain types are
	interpreted directly by most {browsers}.  These include {HTML}
	and images in {gif} or {jpeg} format.  The file's type is
	given by a {MIME} type in the HTTP headers returned by the
	server, e.g. "text/html", "image/gif", and is usually also
	indicated by its {filename extension}.  A file whose type is
	not recognised directly by the browser may be passed to an
	external "viewer" {application}, e.g. a sound player.

	The last (optional) part of the URL may be a query string
	preceded by "?" or a "fragment identifier" preceded by "#".
	The later indicates a particular position within the specified
	document.

	Only alphanumerics, reserved characters (:/?#"<>%+) used for
	their reserved purposes and "$", "-", "_", ".", "&", "+" are
	safe and may be transmitted unencoded.  Other characters are
	encoded as a "%" followed by two {hexadecimal} digits.  Space
	may also be encoded as "+".  Standard {SGML} "&<name>;"
	character entity encodings (e.g. "&eacute;") are also accepted
	when URLs are embedded in HTML.  The terminating semicolon may
	be omitted if &<name> is followed by a non-letter character.

	{The authoritative W3C URL specification
	(http://w3.org/hypertext/WWW/Addressing/Addressing.html)}.

	(2000-02-17)

Uniform Resource Name

	<web> (URN, previously Uniform/Universal Resource
	Number) 1. Any {URI} which is not a {URL}.

	2. A particular scheme which is currently (1991-4) under
	development by the {IETF}, which should provide for the
	resolution using {Internet} {protocols} of names which have a
	greater persistence than that currently associated with
	Internet {host} names or organisations (as used in {URLs}).
	Uniform Resource Names will be URI schemes that improve on
	URLs in reliability over time, including authenticity,
	replication, and high availability.

	When defined, a URN in sense 1 will be an example of a URN in
	sense 2.

	{(http://w3.org/pub/WWW/Addressing/Addressing.html)}.

	(2006-04-18)

Uniform Resource Number

	Former name for {Uniform Resource Name}.

Unify

	<database, product> A {relational database} produced by {Unify
	Corporation}.

	(1995-03-15)

unify

	<algorithm> To perform {unification}.

	(1995-03-15)

Unify Corporation

	<company> Developers of the {Unify} {relational database}.  At
	one time, before {Sybase}, they were a competitor of {Oracle},
	et al.

	{(http://unify.com/)}.

	{(ftp://ftp.unify.com/)}.

	(1995-03-15)

Unihan

	{Han character}

uninstaller

	<operating system> A {utility} program to remove another
	{application program} from a computer's disks.

	Most commonly found on {IBM PCs}, as applications tend to
	leave files in various places on the {hard disc}, so special
	software is required to tidy up after them.

	Ken Spreitzer <ken@maximized.com> claims to have written the
	original PC program called "UnInstaller", first licensed to
	{MicroHelp} and now (Feb 1998) sold by {CyberMedia}.

	Compare with {installer}.

	(1998-02-09)

uninteresting

	<jargon> 1. Said of a problem that, although {nontrivial}, can
	be solved simply by throwing sufficient resources at it.

	2. Also said of problems for which a solution would neither
	advance the state of the art nor be fun to design and code.

	Hackers regard uninteresting problems as intolerable wastes of
	time, to be solved (if at all) by lesser mortals.  *Real*
	hackers (see {toolsmith}) generalise uninteresting problems
	enough to make them interesting and solve them - thus
	solving the original problem as a special case (and, it must
	be admitted, occasionally turning a molehill into a mountain,
	or a mountain into a tectonic plate).

	See {WOMBAT}, {SMOP}.  Compare {toy problem}.  Oppose
	{interesting}.

	[{Jargon File}]

	(1995-03-10)

Uninterruptible Power Supply

	<hardware> (UPS) A battery powered {power supply unit} that is
	guaranteed to provide power to a computer in the event of
	interruptions in the incoming mains electrical power.
	Different rating UPSs will provide power for different lengths
	of time.

	Modern UPSs connect to the computer's {serial port} and
	provide information such as battery time remaining, allowing
	the computer to shut down {gracefully} before complete loss of
	power.

	(1996-12-11)

union

	1. <theory> An operation on two {sets} which returns the set of
	all elements that are a member of either or both of the sets;
	normally written as an infix upper-case U symbol.  The operator
	generalises to zero or more sets by taking the union of the
	current partial result (initially the empty set) with the next
	argument set, in any order.

	For example, (a, b, c) U (c, d, e) = (a, b, c, d, e)

	2. <programming> A {type} whose values may be of one of a number
	of other types, the current type depending on conditions that are
	only known at {run-time}.  A {variable} of union type must be
	allocated sufficient storage space to hold the largest component
	type.  Some unions include extra information to say which type of
	value the union currently has (a "tagged union"), others rely on
	the program to keep track of this independently.

	A union contrasts with a {structure} or {record} which stores
	values of all component types at once.

	3. <database> An {SQL} {operator} that concatenates two result
	sets, that must have the same number and types of {columns}.
	The operator may be followed by the word "ALL" to indicate
	that results that appear in both sets should appear twice in
	the output.

	(2002-02-26)

Unipalm Group plc

	<company> A company floated in March 1994.

	{(http://unipalm.co.uk/index.html)}.

	(1996-12-11)

Unipress Software, Inc.

	<company> A developer and distributor of {Unix} software.
	They produce PC-UNIX connectivity software, development tools
	and applications and provide technical support and
	maintenance, porting services, training and consulting.

	{(http://unipress.com/)}.

	(1996-12-11)

uniprocessor

	<processor> (From "uni" - one) A computer with a single
	{central processing unit}, in contrast to a {parallel
	processor}.  Most {personal computers} are currently (March
	1997) uniprocessors.  Some more expensive computers, typically
	{servers}, have multiple processors to provide increased
	{throughput}.

	See also {symmetric multiprocessor} and {massively parallel
	processor}.

	(1997-03-23)

UNIQUE

	<language> A {portable} {job control language}.

	["The UNIQUE Command Language - Portable Job Control",
	I.A. Newman, Proc DATAFAIR 73, 1973, pp. 353-357].

	(1994-11-22)

Unique ID Listing

	<messaging> (UIDL) A system used by {POP3} {electronic mail}
	{servers} to uniquely identify a mail message.  Normally, a
	message is identified by its position in the list of messages
	but this will change when an earlier message is deleted.  The
	UIDL is a fixed string of characters which is unique to the
	message.  The UIDL of a message never changes and will never
	be reused, even when the message has been deleted from the
	user's {mailbox}.

	{RFC 1725 (http://ds0.internic.net/rfc/rfc1725.txt)}.

	(1997-04-16)

unique key

	<database> A {key} which identifies only one body of
	information out of several.

	(1997-04-26)

unique sales point

	<product> (USP) A feature that the salesman hopes will
	convince you to buy his product instead of another.

	(1999-10-21)

Unir Tech

	<company> The company with the exclusive license from {Bell
	Labs} to distribute {C+@}.  Unir is owned and operated by
	well-known anti-{IETF} ranter, Jim Fleming.

	Telephone: +1 (800) 222-8647.

	(2002-05-19)

UNISAP

	An early system on {UNIVAC} I or II.

	[Listed in CACM 2(5):16 (May 1959)].

	(1994-11-22)

Unisys Corporation

	<company> The company formed in 1984-5 when {Burroughs
	Corporation} merged with {Sperry Corporation}.  This was when
	the phrase "{dinosaurs mating}" was coined.

	Unisys is one of the largest providers of information
	services, technology, and software in the world.  They employ
	about 49,000 people and do business in some 100 countries.  In
	1994 about 80 percent of revenue was derived from commercial
	information systems and services, with the remainder coming
	from electronic systems and services for the defense market.
	The defense business was sold to {Loral} in early 1995.
	Slightly more than half of Unisys's revenue is from business
	in the United States.

	They specialise in providing business-critical solutions,
	based on open information networks, for organisations that
	operate in transaction-intensive environments.  These
	organisations include financial services companies, airlines,
	telecommunications companies, government agencies, and other
	commercial enterprises.

	In August 1994, quarterly sales were $1799M and profits $50M.

	{(http://unisys.com/)}.

	(1995-03-21)

United Kingdom Unix Users Group

	{UKUUG Ltd.}

United Technologies Research Cente

	(UTRC) {http://utrcwww.utc.com/}.

	(1994-11-29)

Unit Separator

	<character> (US) {ASCII} character 31.

	(1996-06-29)

unit testing

	<testing> The type of {testing} where a developer (usually the
	one who wrote the code) proves that a code module (the "unit")
	meets its requirements.

	(2003-09-24)

UNITY

	A high-level parallel language.

	A translator into {MPL} is available by
	{(ftp://sanfrancisco.ira.uka.de/pub/maspar/maspar_unity.tar.Z)}.

	See also {MasPar Unity}.

	["Parallel Program Design", K.M. Chandry and Misra, A-W 1988].

	(1994-11-29)

Univac

	<processor, company> A brand of computer.

	There is a historical placard in the United States Census
	Bureau that has the following, "The Bureau of the Census
	dedicated the world's first electronic general purpose data
	processing computer, UNIVAC I, on June 14, 1951.
	Eckert-Mauchly Computer Corporation".

	The {Eckert-Mauchly Computer Corporation} designed and built
	Univac.  Over the years, rights to the Univac name changed
	hands several times.  Circa 1987, {Sperry Univac} merged with
	the {Burroughs Corporation} to form {Unisys Corporation}.

	(1994-11-22)

Universal algebra

	<logic> The {model theory} of {first-order} {equational
	logic}.

	(1997-02-25)

Universal Asynchronous Receiver/Transmitter

	<communications, hardware> (UART) An {integrated circuit} used
	for serial communications, containing a transmitter
	(parallel-to-serial converter) and a receiver
	(serial-to-parallel converter), each clocked separately.

	The parallel side of a UART is usually connected to the {bus}
	of a computer.  When the computer writes a byte to the UART's
	transmit data register (TDR), the UART will start to transmit
	it on the serial line.  The UART's status register contains a
	{flag} bit which the computer can read to see if the UART is
	ready to transmit another byte.  Another status register bit
	says whether the UART has received a byte from the {serial
	line}, in which case the computer should read it from the
	receive data register (RDR).  If another byte is received
	before the previous one is read, the UART will signal an
	"overrun" error via another status bit.

	The UART may be set up to {interrupt} the computer when data
	is received or when ready to transmit more data.

	The UART's serial connections usually go via separate {line
	driver} and {line receiver} {integrated circuits} which
	provide the power and voltages required to drive the serial
	line and give some protection against noise on the line.

	Data on the {serial line} is formatted by the {UART} according
	to the setting of the UART's control register.  This may also
	determine the transmit and receive baud rates if the UART
	contains its own clock circuits or "{baud} rate generators".
	If incorrectly formated data is received the UART may signal a
	"{framing error}" or "{parity} error".

	Often the clock will run at 16 times the baud rate (bits per
	second) to allow the receiver to do {centre sampling} - i.e. to
	read each bit in the middle of its allotted time period.  This
	makes the UART more tolerant to variations in the {clock rate}
	("jitter") of the incoming data.

	An example of a late 1980s UART was the {Intel 8450}.  In the
	1990s, newer UARTs were developed with on-chip {buffers}.
	This allowed higher transmission speed without data loss and
	without requiring such frequent attention from the computer.
	For example, the {Intel} {16550} has a 16 byte {FIFO}.
	Variants include the {16C550}, {16C650}, {16C750}, and
	{16C850}.

	The term "Serial Communications Interface" (SCI) was first
	used at {Motorola} around 1975 to refer to their start-stop
	asyncronous serial interface device, which others were calling
	a UART.

	See also {bit bang}.

	[Is this the same as an {ACIA}?]

	(2003-07-13)

Universal Character Set

	<character, standard> (UCS, ISO/IEC 10646) A 1993 {ISO} and
	{IEC} standard {character set}, also known as "Universal
	Multiple-Octet Coded Character Set".

	UCS comes in a 16-bit variant called UCS-2 and a 32-bit
	variant called UCS-4, which is composed of 16-bit UCS-2
	"planes".  So far only one 16-bit plane has been defined,
	which is known as the {Basic Multilingual Plane}.

	The implementation of UCS is still in its infancy, though some
	moves, such as the {Java} language defining a character to be
	16 bits, are suggestive.

	[Relationship with {Unicode}?]

	(1997-07-04)

Universal Communications X

	<communications> (UCX) A software implementation of the
	ubiquitous {TCP/IP} suite of {communications} {protocols} for
	{Digital Equipment Corporation}'s {OpenVMS} {operating
	system}.

	Users of the {UCX} product can connect to heterogeneous
	{networks} to access and {download} files, send {electronic
	mail}, run and develop {applications}, and monitor activity.

	{"Software Product Description, DIGITAL TCP/IP Services for
	OpenVMS, Version 4.2",
	(http://digital.com/info/QAW009/QAW009HM.HTM)}.

	(2000-12-15)

Universal Computer Protocol

	<communications, protocol> An earlier form of {External
	Machine Interface} (EMI).

	(2007-09-10)

Universal Debugger

	<tool, parallel> (udb) {KSR}'s interactive {source level
	debugger} for serial and parallel programs written in {KSR},
	{Fortran}, {KSR C} and {KSR1} {assembly language}.

	Udb is a source level debugger for testing and debugging
	serial and parallel programs; it is compatible with {GDB} and
	{dbx}.  The user can direct udb either by typing commands or
	graphically through an {X}-based window interface; the latter
	provides simultaneous display of source code, I/O and
	instructions.  For parallel programs, operations can be
	carried out per-{thread}.

	{Home
	(http://tc.cornell.edu/Parallel.Tools/tools/udb.html)}.

	(1995-05-07)

Universal Description, Discovery, and Integration

	<standard, protocol> (UDDI) The service discovery {protocol}
	for {Web Services} through which companies can find one
	another to conduct business.  This standard was unveiled by
	{Ariba}, {IBM}, {Microsoft}, and 33 other companies in
	September 2000.

	(2002-06-28)

Universal Disk Format

	<storage, standard> (UDF) A {CD-ROM} {file system} {standard}
	that is required for {DVD ROMs}.  UDF is the {OSTA}'s
	replacement for the {ISO 9660} file system used on CD-ROMs,
	but will be mostly used on DVD.  {DVD multimedia} disks use
	UDF to contain {MPEG} {audio} and {video} {streams}.

	To read DVDs you need a DVD drive, the {kernel} driver for the
	drive, MPEG video support, and a UDF driver.  DVDs containing
	both UDF filesystems and ISO 9660 filesystems can be read
	without UDF support.

	UDF can also be used by {CD-R} and {CD-RW} recorders in
	{packet writing} mode.

	(1999-09-01)

Universal Naming Convention

	<networking> (UNC) The type of {file system} {path} used in
	{Microsoft Windows} networking to completely specify a
	directory on a {file server}.

	The basic format is:

		\\servername\sharename

	where "servername" is the {hostname} or {IP address} of a
	network file server, and "sharename" is the name of a shared
	directory on the server.  This is related to the conventional
	{MS-DOS} "C:\windows" style of directory name.  E.g.

		\\server1\dave

	might be set up to point to

		C:\users\homedirs\dave

	on a server called "server1".

	It is possible to execute a program using this convention
	without having to specifically link a drive, by running:

	\\server\share\directory\program.exe

	The {undocumented} DOS command, TRUENAME can be used to find
	out the UNC name of a file or directory on a network drive.

	Even Microsoft don't know whether UNC stands for "Universal
	Naming Convention" or "Uniform Naming Convention", both appear
	on their website, sometimes withing the same document, but
	with a preference for "Universal".

	(2008-12-09)

universal quantifier

	{quantifier}

Universal Resource Identifier

	<web> (URI, originally "UDI" in some {WWW}
	documents) The generic set of all names and addresses which
	are short strings which refer to objects (typically on the
	{Internet}).  The most common kinds of URI are {URLs} and
	{relative URLs}.

	URIs are defined in {RFC 1630}.

	{W3 specification
	(http://w3.org/hypertext/WWW/Addressing/URL/URI_Overview.html)}.

	(1997-07-16)

Universal Resource Locator

	{Uniform Resource Locator}

Universal Serial Bus

	<hardware, standard> (USB) An external {peripheral} interface
	{standard} for communication between a computer and external
	{peripherals} over an inexpensive cable using {biserial}
	transmission.

	USB is intended to replace existing {serial ports}, {parallel
	ports}, {keyboard}, and {monitor} connectors and be used with
	{keyboards}, {mice}, {monitors}, {printers}, and possibly some
	low-speed {scanners} and removable {hard drives}.  For faster
	devices existing {IDE}, {SCSI}, or emerging {FC-AL} or
	{FireWire} interfaces can be used.

	USB works at 12 Mbps with specific consideration for low cost
	peripherals.  It supports up to 127 devices and both
	{isochronous} and {asynchronous} data transfers.  Cables can
	be up to five metres long and it includes built-in power
	distribution for low power devices.  It supports {daisy
	chaining} through a tiered star multidrop topology.  A USB
	cable has a rectangular "Type A" plug at the computer end and
	a square "Type B" plug at the peripheral end.

	Before March 1996 Intel started to integrate the necessary
	logic into {PC} {chip sets} and encourage other manufacturers
	to do likewise.  It was widely available by 1997.  Later
	versions of {Windows 95} included support for it.  It was
	standard on {Macintosh} computers in 1999.

	The USB 2.0 specification was released in 2000 to allow USB to
	compete with {Firewire} etc.  USB 2.0 is backward compatible
	with USB 1.1 but works at 480 Mbps.

	{usb.org (http://usb.org/)}.

	(2004-01-31)

universal thunk

	<programming, operating system> A software mechanism allowing
	a {Windows 3.1} {application} to call a {32-bit} {dynamically
	linked library} (DLL) under {Win32s}.

	The {Windows 3.1} {application} which wants to call an entry
	in a 32-bit DLL instead calls a corresponding entry in a
	{16-bit} DLL.  The programmer must also include {code} to
	detect whether the {32-bit} DLL is loaded.  A {32-bit} {EXE}
	loads the {32-bit} DLL.

	See also {Generic Thunk}, {Flat Thunk}.

	["Calling a Win32 DLL from a Windows 3.1 Application", Win32
	SDK Knowledge Base, Article ID Q97785].

	[Better explanation?]

	(1997-10-11)

Universal Time

	<time, standard> (UT) The mean solar time along the prime
	meridian (0 longitude) that runs through the Greenwich
	Observatory outside of London, UK, where the current system
	originated.  UT is tied to the rotation of the Earth in
	respect to the fictitious "mean Sun".

	{Greenwich Mean Time} (GMT) was measured from Greenwich mean
	midday until 1925 when the reference point was changed from
	noon to midnight and the name changed to "Universal Time".

	There are three separate definitions, UT0, UT1, and UT2,
	depending on which corrections have been applied to the
	Earth's motion.  {Coordinated Universal Time} is kept within
	0.9 seconds of UT1, by addition of leap seconds to
	{International Atomic Time}.

	(2001-08-02)

Universal Time Coordinated

	<time, standard> An incorrect term for {Coordinated Universal
	Time}.

	(2001-08-01)

universe of discourse

	<artificial intelligence> In {ontology}, the set of all {entities}
	that can be represented in some {declarative language} or other
	{formal system}.

	Each entity is represented by a name and may have some
	human-readable description of its meaning.  Formal {axioms}
	constrain the interpretation and well-formed use of these
	names.

	(2005-07-29)

University of Arizona

	<body, education> The University was founded in 1885 as a Land
	Grant institution with a three-fold mission of teaching,
	research and public service.  Today, the University is one of
	the top 20 research universities in the nation, with a student
	enrollment of more than 35,000, a faculty and staff of 12,500,
	and a 345-acre campus.

	{(http://arizona.edu/)}.

	Address: Tucson, Arizona, USA.

University of California at Berkeley

	<body, education> (UCB)

	See also {Berzerkley}, {BSD}.

	{(http://berkeley.edu/)}.

	Note to British and Commonwealth readers: that's /berk'lee/,
	not /bark'lee/ as in British Received Pronunciation.

	(1994-11-29)

University of Durham

	<body, education> A busy research and teaching community in
	the historic cathedral city of Durham, UK (population 61000).
	Its work covers key branches of science and technology and
	traditional areas of scholarship.  Durham graduates are in
	great demand among employers and the University helps to
	attract investment into the region.  It provides training,
	short courses, and expertise for industry.  Through its
	cultural events, conferences, tourist business and as a major
	employer, the University contributes in a wide social and
	economic sense to the community.

	Founded in 1832, the University developed in Durham and
	Newcastle until 1963 when the independent University of
	Newcastle upon Tyne came into being.  Durham is a collegiate
	body, with 14 Colleges or Societies which are a social and
	domestic focus for students.  In 1992, the Universities of
	Durham and Teesside launched University College,
	Stockton-on-Tees, which has 190 students in the first year.

	{(http://dur.ac.uk/)}.

	(1995-03-17)

University of East London

	<body, education> (UEL) A UK University with six academic
	Faculties: Design and The Built Environment, East London
	Business School, Institute Of Health and Rehabilitation,
	Faculty Of Science, Social Sciences and Technology.

	{(http://uel.ac.uk/)}.

	(1994-11-29)

University of Edinburgh

	<body, education> A university in the centre of Scotland's
	capital.  The University of Edinburgh has been promoting and
	setting standards in education for over 400 years.  Granted
	its Royal Charter in 1582 by James VI, the son of Mary Queen
	of Scots, the University was founded the following year by the
	Town Council of Edinburgh, making it the first
	post-Reformation university in Scotland, and the first civic
	university to be established in the British Isles.

	Known in its early years as King James College, or the Tounis
	(Town's) College, the University soon established itself
	internationally, and by the 18th century Edinburgh was a
	leading centre of the European Enlightenment and one of the
	continent's principal universities.  The University's close
	relationship with the city in which it is based, coupled with
	a forward-looking, international perspective, has kept
	Edinburgh at the forefront of new research and teaching
	developments whilst enabling it to retain a uniquely Scottish
	character.

	Edinburgh's academics are at the forefront of developments in
	the study and application of languages, medicine,
	micro-electronics, biotechnology, computer-based disciplines
	and many other subjects.  Edinburgh's standing as a world
	centre for research is further enhanced by the presence on and
	around University precincts of many independently-funded, but
	closely linked, national research institutes

	{(http://ed.ac.uk/)}.

	Address:  Old College, South Bridge, Edinburgh, Scotland EH8
	9YL, UK.

	Telephone: +44 (131) 650 1000.

	See also {ABSET}, {ABSYS}, {Alice}, {ASL+}, {Baroque},
	{C++Linda}, {Cogent Prolog}, {COWSEL}, {Echidna}, {Edinburgh
	Prolog}, {Edinburgh SML}, {EdML}, {ELLIS}, {ELSIE},
	{ESLPDPRO}, {Extended ML}, {Hope}, {IMP}, {LCF}, {Lisp-Linda},
	{Marseille Prolog}, {metalanguage}, {MIKE}, {ML}, {ML Kit},
	{ML-Linda}, {Multipop-68}, {Nuprl}, {Oblog}, {paraML},
	{Pascal-Linda}, {POP-1}, {POP-2}, {POPLER}, {Prolog},
	{Prolog-2}, {Prolog-Linda}, {Scheme-Linda}, {Skel-ML},
	{Standard ML}, {Sticks&Stones}, {supercombinators},
	{SWI-Prolog}, {tail recursion modulo cons}, {WPOP}.

	(1995-12-29)

University of Hawaii

	<body, education> A University spread over 10 campuses on 4
	islands throughout the state.

	{(http://hawaii.edu/uhinfo.html)}.

	See also {Aloha}, {Aloha Net}.

	(1995-12-10)

University of Iceland

	<body, education> The Home of {Fjolnir}.

	{(http://rhi.hi.is/)}.

	(1995-03-17)

University of London Computing Centre

	<body, education> (ULCC) One of the UK's national high
	performance computing centres.  It provides networking
	services and large-scale computing facilities which are used
	by researchers from all over the UK.

	ULCC was founded in 1968 to provide a service for education
	and research.  It has been at the forefront of advanced
	research computing since its foundation, initially providing
	large-scale {CDC}-based facilities, then from 1982 to 1991 a
	national {Cray} {vector} supercomputing service.  Its high
	performance computing facilities are now centred on a 6
	processor, 4 Gbyte {Convex C3860} {supercomputer} (Neptune)
	with a Convex C3200 front-end (Pluto).

	ULCC is the main site for national and international network
	connections in the UK.  They run the {Network Operations and
	Service Centre} for the {JANET Internet Protocol Service}
	(JIPS), the largest of the {JANET} {NOCs} and various
	international links and relays on behalf of {UKERNA}.

	ULCC's pilot {National Data Repository} service provides a
	network-accessible digital archive and filestore, based on a
	robotic tape system with 6 terabytes of storage.  Although the
	data is stored on tape, you can access it very quickly, as if
	it were on-line.  It is made available to you via high-speed
	links to the {JANET} and {SuperJANET} networks.

	{(http://ulcc.ac.uk/)}.

	(1994-11-29)

University of Michigan

	<body, education> A large cosmopolitan university in the
	Midwest USA.  Over 50000 students are enrolled at the
	University of Michigan's three campuses.  The students come
	from 50 states and over 100 foreign countries.  70% of the
	University's students graduated in the top 10% of their high
	school class.  90% rank in the top 20% of their high school
	class.  60% of the students receive financial aid.

	The main Ann Arbor Campus lies in the Huron River valley, 40
	miles west of Detroit.  The campus boasts 2700 acres with 200
	buildings, six million volumes in 23 libraries, nine museums,
	seven hospitals, hundreds of laboratories and institutes, and
	over 18000 {microcomputers}.

	{(http://umich.edu/)}.

	(1995-02-23)

University of Michigan Digital Library Project

	<project> (UMDL) The {University of Michigan}'s part of the
	{Digital Library Initiative}.

University of Minnesota

	<body, education> The home of {Gopher}.

	{(http://umn.edu/)}.

	Address: Minneapolis, Minnesota, USA.

	(1995-01-30)

University of Nijmegen

	<body, education> Katholieke University of Nijmegen (KUN),
	Nijmegen, the Netherlands.

	KUN's {Computing Science Institute (http://cs.kun.nl/csi)}.
	is known for the {Clean}, {Comma}, {Communicating Functional
	Processes}, and {GLASS} projects.

	{(http://kun.nl/)}.

	(1995-11-07)

University of Pennsylvania

	<body, education> The home of {ENIAC} and {Machiavelli}.

	{(http://upenn.edu/)}.

	Address: Philadelphia, PA, USA.

	[More info?]

	(1995-02-21)

University of Tasmania

	<body, education>

	{(ftp://ftp.utas.edu.au/)}.

	(1995-01-25)

University of Twente

	<body, education> A university in the east of The Netherlands
	for technical and social sciences.  It was founded in 1961,
	making it one of the youngest universities in The Netherlands.
	It has 7000 students studying Applied Educational Science;
	Applied Mathematics; Applied Physics; Chemical Technology;
	Computer Science; Electrical Engineering; Mechanical
	Engineering; Philosophy of science, Technology and Society;
	Educational Technology.

	{(http://nic.utwente.nl/uthomuk.htm)}.

	(1995-04-16)

Unix

	<operating system> /yoo'niks/ (Or "UNIX", in the authors'
	words, "A weak pun on Multics") Plural "Unices".  An
	interactive {time-sharing} {operating system} invented in 1969
	by {Ken Thompson} after {Bell Labs} left the {Multics}
	project, originally so he could play games on his scavenged
	{PDP-7}.  {Dennis Ritchie}, the inventor of {C}, is considered
	a co-author of the system.

	The turning point in Unix's history came when it was
	reimplemented almost entirely in C during 1972 - 1974, making
	it the first {source-portable} OS.  Unix subsequently
	underwent mutations and expansions at the hands of many
	different people, resulting in a uniquely flexible and
	{developer}-friendly environment.

	By 1991, Unix had become the most widely used {multi-user}
	general-purpose operating system in the world.  Many people
	consider this the most important victory yet of hackerdom over
	industry opposition (but see {Unix weenie} and {Unix
	conspiracy} for an opposing point of view).

	Unix is now offered by many manufacturers and is the subject
	of an international standardisation effort [called?].
	Unix-like operating systems include {AIX}, {A/UX}, {BSD},
	{Debian}, {FreeBSD}, {GNU}, {HP-UX}, {Linux}, {NetBSD},
	{NEXTSTEP}, {OpenBSD}, {OPENSTEP}, {OSF}, {POSIX}, {RISCiX},
	{Solaris}, {SunOS}, {System V}, {Ultrix}, {USG Unix}, {Version
	7}, {Xenix}.

	"Unix" or "UNIX"?  Both seem roughly equally popular, perhaps
	with a historical bias toward the latter.  "UNIX" is a
	registered trademark of {The Open Group}, however, since it is
	a name and not an acronym, "Unix" has been adopted in this
	dictionary except where a larger name includes it in upper
	case.  Since the OS is {case-sensitive} and exists in many
	different versions, it is fitting that its name should reflect
	this.

	{The UNIX Reference Desk
	(http://geek-girl.com/unix.html)}.

	{Spanish fire extinguisher
	(ftp://linux.mathematik.tu-darmstadt.de/pub/linux/people/okir/unix_flame.gif)}.

	[{Jargon File}]

	(2001-05-14)

Unix box

	{box}

Unix brain damage

	Something that has to be done to break a network program
	(typically a mailer) on a non-{Unix} system so that it will
	interoperate with Unix systems.  The hack may qualify as "Unix
	brain damage" if the program conforms to published {standards}
	and the {Unix} program in question does not.  Unix brain
	damage happens because it is much easier for other (minority)
	systems to change their ways to match non-conforming behaviour
	than it is to change all the hundreds of thousands of Unix
	systems out there.

	An example of Unix brain damage is a {kluge} in a mail server
	to recognise bare line feed (the Unix newline) as an
	equivalent form to the Internet standard newline, which is a
	carriage return followed by a line feed.  Such things can make
	even a hardened {jock} weep.

	[{Jargon File}]

Unix conspiracy

	[ITS] According to a conspiracy theory long popular among
	{ITS} and {TOPS-20} fans, Unix's growth is the result of a
	plot, hatched during the 1970s at Bell Labs, whose intent was
	to hobble AT&T's competitors by making them dependent upon a
	system whose future evolution was to be under AT&T's control.
	This would be accomplished by disseminating an operating
	system that is apparently inexpensive and easily portable, but
	also relatively unreliable and insecure (so as to require
	continuing upgrades from AT&T).  This theory was lent a
	substantial impetus in 1984 by the paper referenced in the
	{back door} entry.

	In this view, Unix was designed to be one of the first
	computer viruses (see {virus}) - but a virus spread to
	computers indirectly by people and market forces, rather than
	directly through disks and networks.  Adherents of this "Unix
	virus" theory like to cite the fact that the well-known
	quotation "Unix is snake oil" was uttered by DEC president
	Kenneth Olsen shortly before DEC began actively promoting its
	own family of Unix workstations.  (Olsen now claims to have
	been misquoted.)

Unix International

	<body> (UI) A consortium including {Sun}, {AT&T} and others
	formed to promote an open environment based on {Unix} {System
	V}, including the {Open Look} windowing system.

Unixism

	<operating system, jargon> A piece of code or a coding
	technique that depends on the protected {multitasking}
	environment with relatively low process-spawn overhead that
	exists on {virtual-memory} {Unix} systems.

	Common {Unixisms} include: gratuitous use of "{fork}"; the
	assumption that certain undocumented but well-known features
	of Unix libraries such as "{stdio}" are supported elsewhere;
	reliance on obscure side-effects of {system calls} (use of
	"sleep" with a 0 argument to tell the scheduler that you're
	willing to give up your time-slice, for example); the
	assumption that freshly allocated memory is zeroed; and the
	assumption that {fragmentation} problems won't arise from
	never freeing memory.

	Compare {vaxocentrism}.  See also {New Jersey}.

	[{Jargon File}]

	(1995-02-27)

Unix man page

	{Unix manual page}

Unix manual page

	<operating system> (Or "man page") A part of {Unix}'s
	extensive on-line documentation.  To read a manual page from
	the Unix command line, type:

		man [-s<section>] <page>

	e.g. "man ftp" (the section number can usually be omitted).
	Pages are traditionally referred to using the notation
	"page(section)", e.g. ftp(1).

	Under {SunOS} (which is fairly typical), Section 1 covers
	commands, 2 {system calls}, 3 C library routines, 4 devices
	and networks, 5 file formats, 6 games and {demos}, 7
	miscellaneous, 8 system administration.  Each section has an
	introduction which can be obtained with, e.g., "man 2 intro".

	Manual pages are stored as {nroff} source files.  Formatted
	versions are also usually cached.  Man pages for most versions
	of Unix are available on-line in {HTML}.

	{Unix manual page}: man(1).

	{Linux man pages (http://www.kernel.org/doc/man-pages/)}.

	{Solaris man pages (http://docs.sun.com/app/docs/coll/40.10)}.

	(2010-01-19)

Unix System V

	{System V}

Unix to Unix Copy

	<networking, messaging> (uucp) A {Unix} utility program and
	{protocol} that allows one Unix system to send files to
	another via a {serial line} which may be a cable going
	directly from one machine's {serial port} to another's or may
	involve a {modem} at each end of a telephone line.

	Software is also available to allow uucp to work over
	{Ethernet} though there are better alternatives in this case,
	e.g. {FTP} or {rcp} for file transfer, {SMTP} for {electronic
	mail} or {NNTP} for {news}.

	The term is now also used to describe the large international
	network which uses UUCP to pass {Usenet} {news} and
	{electronic mail}, also known as "UUCPNET".

	{Unix manual page}: uucp(1).

	See also {cu}, {uuencode}.

	(1997-01-12)

UnixWare

	<operating system> {Novell}'s implementation of {Unix} {System
	5} heavily based on Release 4.2 but with enhancements and new
	bundled products.

	In 1993 Novell acquired {Unix Systems Laboratories} from
	{AT&T} along with the Unix trademark.  UnixWare was the result
	of Novell's efforts to make Unix interoperable with {Novell
	NetWare}.

	In 1995 Novell sold UnixWare and the rights to the Unix
	operating system to {SCO} at a time when UnixWare was gainnig
	popularity.  It was later the first 64-bit operating system on
	the {Intel} {platform}, and, in 1999, is the world's
	fastest-growing commercial operating system.

	[Any connection with {X/Open}?  URL?]

	(1999-11-10)

Unix weenie

	<jargon> ({ITS}) 1. A derogatory play on "{Unix wizard}",
	common among hackers who use {Unix} by necessity but would
	prefer alternatives.  The implication is that although the
	person in question may consider mastery of Unix arcana to be a
	wizardly skill, the only real skill involved is the ability to
	tolerate (and the bad taste to wallow in) the incoherence and
	needless complexity that is alleged to infest many Unix
	programs.  "This shell script tries to parse its arguments in
	69 bletcherous ways.  It must have been written by a real Unix
	weenie."

	2. A derogatory term for anyone who engages in uncritical
	praise of {Unix}.  Often appearing in the context "stupid Unix
	weenie".

	See {Weenix}, {Unix conspiracy}, {weenie}.

	[{Jargon File}]

	(1995-02-27)

Unix wizard

	<job> Someone with a deep understanding of {Unix}.

	See {wizard}.

	(1995-05-11)

Unlicense

	<legal> A template for dedicating {software} to the {public
	domain}.  It combines a {copyright} waiver like that of the
	{SQLite} project with the no-warranty statement from the
	{MIT}/{X11} license.

	{(http://unlicense.org/)}.

	(2014-07-31)

unnormalised

	{normalisation}

unproto

	A translator from {ANSI C} to {K&R C} by Wietse Venema
	<wietse@wzv.win.tue.nl>.

	{(ftp://ftp.win.tue.nl/pub/Unix/unproto4.shar.Z)}.

unshar

	A {Unix} utility that removes {e-mail} and {news} {header}
	lines from its input, and feeds the remainder (which is
	presumed to be a {shar file}) to /bin/sh to unpack it.  unshar
	is designed for unpacking archives directly from the news or
	mail systems simply by {piping} a message into it.

unshielded twisted pair

	<hardware> (UTP) Normal telephone wire (in the USA).  It may
	be used for computer to computer communications, e.g. using a
	version of {Ethernet} or {localtalk}.  It is much cheaper than
	standard "full-spec" Ethernet cable.  It comes in five
	"catagories":

	 cat.   wires   transmission
	 1	two	voice no data (telephone cable)
	 2	four 	data up to 4 Mbps
	 3	four	data up to 10 Mbps
	 4	four	data up to 16 Mbps
	 5	four	data up to 100 Mbps

	(2003-07-04)

unswizzle

	The opposite of {swizzle}.

	[{Jargon File}]

	(1995-02-15)

until

	{while loop}

untyped

	<programming> A {variable} which can hold values of any {type}
	or a {programming language} in which some or all variables are
	like this.

	An example would be {VBScript}, or {Visual Basic}'s {variant}
	type.

	(2003-12-22)

unwind-protect

	({MIT}) A {Lisp} operator which evaluates an expression and
	then, even if that expression causes a {non-local exit},
	evaluates zero or more other expressions.  This can be used to
	ensure that essential "clean-up" operations are performed even
	in the presence of errors.

	[{Jargon File}]

	(1994-11-03)

unwind the stack

	During the execution of a {procedural} language, one is said
	to "unwind the stack" from a called {procedure} up to a caller
	when one discards the {stack frame} and any number of frames
	above it, {pop}ping back up to the level of the given caller.
	In {C} this is done with "{longjmp}"/"{setjmp}", in {Lisp}
	with "{throw}/{catch}".  See also {smash the stack}.

	[{Jargon File}]

UN*X

	<operating system, convention> Used to refer to the {Unix}
	{operating system} (a trademark of {AT&T}) in writing, but
	avoiding the need for the ugly (TM) typography.  Also used to
	refer to any or all varieties of Unixoid operating systems.
	Ironically, lawyers now say that the requirement for the
	TM-postfix has no legal force, but the asterisk usage is
	entrenched anyhow.

	It has been suggested that there may be a psychological
	connection to practice in certain religions (especially
	Judaism) in which the name of the deity is never written out
	in full, e.g. "YHWH" or "G--d" is used.

	See also {glob}.

	(1998-04-17)

unzip

	1. <tool, compression> To extract files from an archive
	created with {PKWare}'s {PKZIP} archiver.

	2. <tool, compression> A program to list, test, or extract
	files from a {ZIP} archive, commonly found on {MS-DOS}
	systems.  zip, creates ZIP archives; both programs are
	compatible with archives created by {PKWARE}'s {PKZIP} and
	{PKUNZIP} for {MS-DOS}.

	(1995-03-06)

up

	<jargon> Working, in order.  E.g. "The down escalator is up."

	Opposite: {down}.

	[{Jargon File}]

	(1995-03-06)

uparrow

	<character> The graphic which the 1963 version of {ASCII} had
	in place of the {caret} character, {ASCII} 94.

	(1995-03-06)

\uparrow

	<character> An upward pointing arrow in {LaTeX}.

	See {closure}.

	(1995-03-16)

UPenn

	{University of Pennsylvania}

upgradability

	<jargon> (Or "upgradeability") How easily {upgrades} to a
	system can be produced and applied.  E.g. "Buying a PC with
	more {PCI} slots gives you increased upgradeability."

	(1999-10-11)

upgrade

	1. A new or better version of some {hardware} or {software}.

	Often used in {marketroid}-speak to mean "{bug fix}".

	2. The act of developing or installing a new version.

	(1995-03-14)

upgradeability

	{upgradability}

upload

	/uhp'lohd/ To transfer programs or data over a digital
	communications link from a smaller or peripheral "client"
	system to a larger or central "host" one.

	Opposite: {download}.

	[{Jargon File}]

	(1994-10-27)

UPMAIL Tricia Prolog

	{(ftp://ftp.csd.uu.se/pub/Tricia/README)}.

	E-mail: <tricia-request@csd.uu.se>.

	[Description?]

	(1994-10-27)

upper bound

	An upper bound of two elements x and y under some {relation}
	<= is an element z such that x <= z and y <= z.

	("<=" is written in {LaTeX} as {\sqsubseteq}).

	See also {least upper bound}.

	(1995-02-15)

Upper Layer Protocol

	<protocol> 1. (ULP, or upper-layer protocol)
	Any {protocol} residing in {OSI} layers five or above.

	The {Internet} protocol suite includes many upper layer
	protocols representing a wide variety of applications
	e.g. {FTP}, {NFS}, {RPC}, and {SMTP}.  These and other network
	applications use the services of {TCP/IP} and other {lower
	layer protocols} to provide users with basic network services.

	2. A protocol higher in the OSI reference model than the
	current reference point.  Upper Layer Protocol is often used
	to refer to the next-highest protocol in a particular
	{protocol stack}.

	(1999-02-17)

upper memory block

	<storage> (UMB) Up to 64 {kilobytes} of the {expanded memory
	page frame} above the first 64 kilobytes.  The UMB can be used
	to store {TSR} programs or {device drivers} thereby freeing
	parts of the precious {conventional memory}.  The UMB is
	provided by special memory manager programs; many {EMMs} can
	provide UMB as well.

	(1996-01-10)

Upper Side-Band modulation

	<communications> (USB) A kind of {modulation} applied to a
	sinusoidal {carrier}.

	[Details?]

	(1997-07-16)

Upright Database Technology AB

	<company> The Swedish company that developed the {Mimer SQL}
	database.

	(2002-06-03)

UPS

	1. {uninterruptible power supply}.

	2. A source level {C} debugger that runs under {X11} or
	{SunView} by Mark Russell <mtr@ukc.ac.uk>.  Ups includes a {C}
	{interpreter} which allows you to add fragments of code simply
	by editing them into the source window.  Version 2.1.

	Ported to {Sun}, {DECstation}, {VAX} {Ultrix}, {HLH}
	{Clipper}.

	{(ftp://export.lcs.mit.edu/contrib/)}.  Mailing list:
	ups-users-request@ukc.ac.uk.

	Unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>
	{(ftp://sj.ate.slb.com/misc/Unix/ups/contrib/rob)}.

	(1991-05-20)

upstream

	<networking> Fewer {network} {hops} away from a {backbone} or
	{hub}.  For example, a small {ISP} that connects to the
	{Internet} through a larger ISP that has their own connection
	to the backbone is {downstream} from the larger ISP, and the
	larger ISP is {upstream} from the smaller ISP.

	(1999-08-05)

upthread

	Earlier in the discussion (see {thread}), i.e. "above".  See
	also {followup}.

	[{Jargon File}]

upward closure

	{closure}

Uranus

	Hideyuki Nakashima <nakashim@el.go.jp>, 1993.  A logic-based
	knowledge representation language.  An extension of Prolog
	written in Common Lisp, with Lisp-like syntax.  Extends Prolog
	with a multiple world mechanism, plus term descriptions to
	provide functional programming.

	{(ftp://etlport.etl.go.jp/pub/uranus/ftp)}.

urban legend

	<publication> A story, which may have started with a grain of
	truth, that has been embroidered and retold until it has
	passed into the realm of myth.  It is an interesting
	phenomenon that these stories get spread so far, so fast and
	so often.  Urban legends never die, they just end up on the
	{Internet}!  Some legends that periodically make their rounds
	include "The Infamous Modem Tax", "Craig Shergold/Brain
	Tumor/Get Well Cards", and "The $250 Cookie Recipe".

	(1996-05-08)

URC

	{Uniform Resource Citation} (previously Universal).

urchin

	{munchkin}

URI

	{Universal Resource Identifier}

URL

	{Uniform Resource Locator}

URL forwarding

	{URL redirection}

URL redirection

	<web> (Or "URL forwarding")

	When a {web server} tells the {client} {browser} to obtain a
	certain requested page from a different location.  This is
	controlled by {directives} in the server's configuration files
	or a "Location: header output by a {CGI} script.

	The web server stores all its documents in a {directory tree}
	rooted at some configured directory, known as its "document
	root".  Normally the {URI} part of the {URL} (the part after
	the {hostname}) is used as a {relative path} from the document
	root to the desired file or directory.  A redirect directive
	allows the server administrator to specify exceptions to this
	general mapping from URL to file name by telling the browser
	"try this URL instead".  The new URL may be on the same server
	or a different one and may itself be subject to redirection.

	The user is normally unaware of this process except that it
	may introduce extra delay while the browser sends the new
	request and the browser will usually display the new URL
	rather than the one the user originally requested.

	(1997-07-15)

URN

	{Uniform Resource Name}

URouLette

	(After {URL} and roulette, the gambling game) A {World-Wide
	Web} service which selects other web pages at random.

	{(http://kuhttp.cc.ukans.edu/cwis/organizations/kucia/uroulette/uroulette.html)}.

	(1994-11-24)

US

	{Unit Separator}

us

	<networking> The {country code} for the United States.

	Usually used only by schools, libraries, and some state and
	local governments.  Other US sites, and many international
	ones, use the non-national {top-level domains} .com, .edu etc.

	(1999-01-27)

usability

	<programming> The effectiveness, efficiency, and satisfaction
	with which users can achieve tasks in a particular environment
	of a product.  High usability means a system is: easy to learn
	and remember; efficient, visually pleasing and fun to use; and
	quick to recover from errors.

	{(http://orrnet.com/)}.

	(1999-04-01)

USAModSim

	<language> United States Army {ModSim} compiler.

	Version 1.0 runs on {SPARC}/{SunOS}, {Silicon Graphics},
	{MS-DOS}.

	{(ftp://max.cecer.army.mil/ftp/isle)}.

	E-mail: Charles Herring <herring@lincoln.cecer.army.mil>.

	(1993-12-29)

usa.net

	{Internet Express}

US-ASCII

	<character> The 7-bit version of {ASCII}, which preceded (and
	is the basis for) 8-bit versions such as {Latin-1}, {MacASCII}
	and later, even larger coded character sets such as {Unicode}.

	US-ASCII is defined in Standard ANSI X3.4-1986,
	"US-ASCII. Coded Character Set - 7-Bit American Standard Code
	for Information Interchange".

	(1998-10-18)

USB

	1. <architecture> {Universal Serial Bus}.

	2. <communications> {Upper Side-Band modulation}.

	(1997-07-16)

USB 2.0

	{Universal Serial Bus}

USB Adapter Card Support

	<communications, software> A set of software extensions that
	provide support for {USB} adapter cards installed in the {PCI}
	bus or {Cardbus} slots in {Macintosh} computers that do not
	have built-in USB ports.

	(2001-11-28)

USB drive

	<storage> A {hard disk drive} connected via {Universal Serial
	Bus} (USB).  May also refer to some kind of {memory stick}
	connected via USB.

	(2008-05-21)

USE

	<language> An early system on the {IBM 1130}.

	[Listed in CACM 2(5):16, May 1959].

	(2004-09-14)

Usenet

	<messaging> /yoos'net/ or /yooz'net/ (Or "Usenet news", from
	"Users' Network") A distributed {bulletin board} system and
	the people who post and read articles thereon.  Originally
	implemented in 1979 - 1980 by Steve Bellovin, Jim Ellis, Tom
	Truscott, and Steve Daniel at Duke University, and supported
	mainly by {Unix} machines, it swiftly grew to become
	international in scope and, before the advent of the
	{web}, probably the largest decentralised
	information utility in existence.

	Usenet encompasses government agencies, universities, high
	schools, businesses of all sizes, and home computers of all
	descriptions.  In the beginning, not all Usenet hosts were on
	the Internet.  As of early 1993, it hosted over 1200
	{newsgroups} ("groups" for short) and an average of 40
	megabytes (the equivalent of several thousand paper pages) of
	new technical articles, news, discussion, chatter, and
	{flamage} every day.  By November 1999, the number of groups
	had grown to over 37,000.

	To join in you originally needed a {news reader} program but
	there are now several web gateways, cheifly {Google Groups
	(http://groups.google.com/)} (originally {Deja News}).  Some
	{web browsers} include news readers and {URLs} beginning
	"news:" refer to Usenet newsgroups.

	{Network News Transfer Protocol} is a {protocol} used to
	transfer news articles between a news {server} and a {news
	reader}.  The {uucp} {protocol} was sometimes used to transfer
	articles between servers, though this is probably rare now
	that most sites are on the {Internet}.

	{(http://openmarket.com/info/internet-index/current-sources.html)}.

	{Notes on news
	(http://ifi.uio.no/~larsi/notes/notes.html)} by Lars Magne
	Ingebrigtsen <larsi@ifi.uio.no>.

	[Gene Spafford <spaf@cs.purdue.edu>, "What is Usenet?",
	regular posting to {news:news.announce.newusers}].

	(1999-12-17)

Usenet news

	{Usenet}

Usenetter

	<networking> A (regular) user of {Usenet}.

	(1996-09-08)

USENIX

	<body> Since 1975, the USENIX Association has provided a forum
	for the communication of the results of innovation and
	research in {Unix} and modern {open systems}.  It is well
	known for its technical conferences, tutorial programs, and
	the wide variety of publications it has sponsored over the
	years.

	USENIX is the original not-for-profit membership organisation
	for individuals and institutions interested in {Unix} and
	{Unix}-like systems, by extension, {X}, {object-oriented}
	technology, and other advanced tools and technologies, and the
	broad interconnected and interoperable computing environment.

	USENIX's activities include an annual technical conference;
	frequent specific-topic conferences and symposia; a highly
	regarded tutorial program covering a wide range of topics,
	introductory through advanced; numerous publications,
	including a book series, in cooperation with The {MIT Press},
	on advanced computing systems, proceedings from USENIX
	symposia and conferences, the quarterly journal "Computing
	Systems", and the biweekly newsletter; "login: ";
	participation in various {ANSI}, {IEEE} and {ISO} {standards}
	efforts; sponsorship of local and special technical groups
	relevant to Unix.  The chartering of SAGE, the {System
	Administrators Guild} as a Special Technical Group within
	USENIX is the most recent.

	{(http://usenix.org)}.

	{Usenet} newsgroup: {news:comp.org.usenix}.

	(1994-12-07)

user

	1. <person> Someone doing "real work" with the computer, using
	it as a means rather than an end.  Someone who pays to use a
	computer.  A programmer who will believe anything you tell
	him.  One who asks silly questions without thinking for two
	seconds or looking in the documentation.  Someone who uses a
	program, however skillfully, without getting into the
	internals of the program.  One who reports {bugs} instead of
	just fixing them.  See also {luser}, {real user}.

	Users are looked down on by {hackers} to some extent because
	they don't understand the full ramifications of the system in
	all its glory.  The term is relative: a skilled hacker may be
	a user with respect to some program he himself does not hack.
	A LISP hacker might be one who maintains LISP or one who uses
	LISP (but with the skill of a hacker).  A LISP user is one who
	uses LISP, whether skillfully or not.  Thus there is some
	overlap between the two terms; the subtle distinctions must be
	resolved by context.

	2. <jargon> Any person, organisation, process, device,
	program, {protocol}, or system which uses a service provided
	by others.

	The term "{client}" (as in "{client-server}" systems) is
	rather more specific, usually implying two processes
	communicating via some protocol.

	[{Jargon File}]

	(1996-04-28)

user acceptance testing

	<testing> The type of {testing} where monitored users
	determine whether a system meets all their requirements, and
	will support the business for which it was designed.

	(2003-09-24)

user base

	<jargon> The number of users of some product or standard.

	This term typically arises in discussions of {backward
	compatibility} or {lock-in}.

	(1998-01-15)

User Brain Damage

	<humour> (UBD) A description (usually abbreviated) used to
	close a trouble report obviously due to utter cluelessness on
	the user's part.  Compare {pilot error}; opposite: {PBD}; see
	also {brain-damaged}, {PEBCAK}.

	(1998-08-27)

User Datagram Protocol

	<protocol> (UDP) {Internet} {standard} {network layer},
	{transport layer} and {session layer} {protocols} which
	provide simple but {unreliable} {datagram} services.  UDP is
	defined in {STD 6}, {RFC 768}.  It adds a {checksum} and
	additional process-to-process addressing information [to
	what?].  UDP is a {connectionless protocol} which, like {TCP},
	is layered on top of {IP}.

	UDP neither guarantees delivery nor does it require a
	connection.  As a result it is lightweight and efficient, but
	all error processing and retransmission must be taken care of
	by the {application program}.

	{Unix manual page}: udp(4).

	[Postel, Jon, User Datagram Protocol, RFC 768, Network
	Information Center, SRI International, Menlo Park, Calif.,
	August 1980].

	(1998-02-11)

user-friendly

	Programmer-hostile.  Generally used by hackers in a critical
	tone, to describe systems that hold the user's hand so
	obsessively that they make it painful for the more experienced
	and knowledgeable to get any work done.  See {menuitis},
	{drool-proof paper}, {Macintrash}, {user-obsequious}.

	[{Jargon File}]

user id

	{user identifier}

user identifier

	<operating system> 1. (Or "uid", "user id") A number or name
	which is unique to a particular user of a computer or group of
	computers which share user information.  The {operating
	system} uses the uid to represent the user in its data
	structures, e.g. the owner of a file or process, the person
	attempting to access a system resource etc.

	A user database, e.g. {Unix}'s /etc/passwd file or {NIS}, maps
	the uid to other information about that user such as their
	{user name}, {password}, {home directory} and real name.

	2. {user name}.

	(1997-03-01)

user interface

	(UI) The aspects of a computer system or program which can be
	seen (or heard or otherwise perceived) by the human user, and
	the commands and mechanisms the user uses to control its
	operation and input data.

	A {graphical user interface} emphasises the use of pictures
	for output and a pointing device such as a {mouse} for input
	and control whereas a {command line interface} requires the
	user to type textual commands and input at a keyboard and
	produces a single stream of text as output.

	A user interface contrasts with, but is typically built on top
	of, an {Application Program Interface} (API).

	See also {user interface copyright}.

	(1995-02-20)

user interface copyright

	There have been several attempts, mostly by big US software
	companies, to enforce patents and {copyright} on user
	interfaces.  Such legal action aims to restrict the use of
	certain command languages or {graphical user interfaces} to
	products from one software supplier.  This is undesirable
	because it either forces users to buy software from the
	company whose interface they have learned or to learn more
	than one interface.  An analogy is often drawn with the user
	interface of a car - the arrangement of pedals and steering
	wheel etc.  If each car manufacturer was forced to use a
	different interface this would be very bad for car users.

	Following a non-jury trial, which began in early January 1987,
	a federal judge ruled on 1990-06-28 that keyboard commands and
	on-screen images produced by {Lotus Development Corporation}'s
	popular {1-2-3} {spreadsheet} are protected by {copyright}.
	{Paperback Software International} and subcontractor
	Stephenson Software Ltd. who lost the case, argued that the
	copyright applies only to the inner workings of the software.
	US District Judge Robert Keeton wrote that "The user interface
	of 1-2-3 is its most unique element and is the aspect that has
	made 1-2-3 so popular.  That defendants went to such trouble
	to copy that element is a testament to its substantiality".
	Defence attorneys had argued that the Lotus commands
	represented "instructions for a machine rather than the
	expression of an idea".

	Soon after this decision, on 1990-07-02, Lotus sued {Borland
	International} and the {Santa Cruz Operation} for producing
	{spreadsheets} (Quattro, Quattro Pro and SCO Professional)
	whose interfaces could be configured to look like 1-2-3's.

	(1994-11-16)

User Interface Language

	<language, graphics> (UIL) A language for specifying {widget}
	hierarchies etc. in {OSF}/Motif and {DECwindows}.

	(1997-03-01)

user name

	<operating system, security> (Or "logon") A unique name for
	each user of computer services which can be accessed by
	several persons.

	Users need to identify themselves for accounting, {security},
	logging, and {resource management}.  Usually a person must
	also enter a {password} in order to access a service.  Once
	the user has logged on the {operating system} will often use a
	(short) {user identifier}, e.g. an integer, to refer to them
	rather than their user name.

	User names can usually be any short string of alphanumeric
	characters.  Common choices are first name, initials, or some
	combination of first name, last name, initials and an
	arbitrary number.  User names are often assigned by {system
	administrators} according to some local policy, or they may be
	chosen by the users themselves.

	User names are often also used as {mailbox} names in
	{electronic mail} addresses.

	(1997-03-16)

User Network Interface

	<communications, networking> (UNI) An interface point between
	{ATM} end users and a private {ATM switch}, or between a
	private ATM switch and the {public carrier} ATM network.

	The physical and {protocol} specifications for UNIs are
	defined by the {ATM Forum}'s UNI documents, which allow for
	various types of physical interfaces.

	See also: {NNI}

	(1999-01-23)

user-obsequious

	<jargon> Emphatic form of {user-friendly}.  Connotes a system
	so verbose, inflexible, and determinedly simple-minded that it
	is nearly unusable.  "Design a system any fool can use and
	only a fool will want to use it."

	See {WIMP}, {Macintrash}.

	See also {user-unctuous}.

	[{Jargon File}]

	(1999-06-27)

user-unctuous

	<jargon> (By analogy with {user-friendly} and
	{user-obsequious}) User-interfaces that attempt to soothe (or,
	some would say, stupify) users instead of cooperating with
	them.  Common "features" of user-unctuous systems include:
	icons of happy faces; mellow colors; melodic sound effects or
	even mood music; help tips appearing unbidden and at unhelpful
	moments; and a cloying tone either in system messages ("Oops!
	I couldn't seem to find my old preferences file!  I do think
	I'll have to make a new one!  Please press OK to continue!")
	or in labelling of system components (such as the main hard
	drive being labelled "Your Hard Drive" -- or, with infantile
	pronoun-reversal, "My Hard Drive").

	(1999-06-27)

Use the Source Luke

	<humour, programming> (UTSL) (A pun on Obi-Wan Kenobi's "Use
	the Force, Luke!" in "Star Wars") A more polite version of
	{RTFS}.  This is a common way of suggesting that someone would
	be better off reading the source code that supports whatever
	feature is causing confusion, rather than making yet another
	futile pass through the manuals, or broadcasting questions on
	{Usenet} that haven't attracted {wizards} to answer them.

	Once upon a time in {Elder Days}, everyone running {Unix} had
	source.  After 1978, {AT&T}'s policy tightened up, so this
	objurgation was in theory appropriately directed only at
	associates of some outfit with a Unix {source licence}.  In
	practice, bootlegs of Unix source code (made precisely for
	reference purposes) were so ubiquitous that one could utter it
	at almost anyone on {the network} without concern.

	Nowadays, free Unix clones are becoming common enough that
	almost anyone can read source legally.  The most widely
	distributed is probably {Linux}.  {FreeBSD}, {NetBSD},
	{386BSD}, {jolix} also have their followers.  Cheap commercial
	Unix implementations with source such as {BSD/OS} from {BSDI}
	are accelerating this trend.

	(1996-01-02)

USG Unix

	{operating system} /U-S-G yoo'niks/ Refers to AT&T {Unix}
	commercial versions after {Version 7}, especially System III
	and System V releases 1, 2, and 3.  So called because during
	most of the lifespan of those versions AT&T's support crew was
	called the "Unix Support Group".

	Compare {BSD}.

	[{Jargon File}]

	(1997-02-20)

usim

	<simulation> A {Motorola 6809} {emulator} and {assembler}.

	(2014-06-24)

USL

	1. Query language, close to natural English.

	2. User System Language.  Bellcore, "Operations Technology
	Generic Requirements: User System Interface", TR-825.

	3. Unix System Laboratories: the software subsidiary of
	{AT&T}, responsible for {Unix} {System V} and related
	software.

USP

	{unique sales point}

USR

	{U.S. Robotics, Inc.}

usr

	User.  The "/usr" directory hierarchy on {Unix} systems.  Once
	upon a time, in the early days of Unix, this area actually
	held users' home directories and files.  Since these tend to
	expand much faster than system files, /usr would be mounted on
	the biggest disk on the system.  The root directory, "/" in
	contrast, contains only what is needed to {boot} the {kernel},
	after which /usr and other disks could be mounted as part of
	the multi-user start-up process.

	/usr has been used as the "everything else" area, with many
	"system" files such as compiler libraries (/usr/include,
	/usr/lib), utilty programs (/usr/bin, /usr/ucb), games
	(/usr/games), local additions (/usr/local), manuals
	(/usr/man), temporary files and queues for various {daemons}
	(/usr/spool).  These optional extras have grown in size as
	Unix has evolved and disks have dropped in price.  Under later
	versions of {SunOS}, the user files have fled /usr altogether
	for a new "/home" {partition} and temporary files have moved
	to "/var".  This allows /usr to be mounted read-only with some
	gain in security and performance since access times are not
	updated for files on read-only file systems.

US Robotics

	{U.S. Robotics, Inc.}

U.S. Robotics, Inc.

	<company> A US {modem} manufacturer.

	{(http://usr.com/)}.

	{(ftp://ftp.usr.com/)}.

	Finger: usr.com.

	E-mail: <support@usr.com>, <salesinfo@usr.com> (USA and Canada),
	<eurosupport@usr.com>, <eurosales@usr.com> (Europe),
	<intlsales@usr.com> (other).

	(1995-03-14)

USSA

	Object-oriented state language by B. Burshteyn, Pyramid, 1992.

	{Documentation (ftp://primost.cs.wisc.edu/pub/ussa.ps.Z)}.

UTC

	{Coordinated Universal Time}

UTF

	{UCS transformation format}

UTF-8

	<character> (UCS transformation format 8) An
	{ASCII}-compatible multibyte {Unicode} and {UCS} encoding,
	used by {Java} and {Plan 9}.

	The {Unicode character} set occupies a 16-bit code space.  The
	most obvious Unicode encoding (known as UCS-2) consists of a
	sequence of 16-bit words.  Such strings can contain bytes like
	'\0' or '/' which have a special meaning in filenames and
	other {C} library function parameters.  In addition, the
	majority of {Unix} tools expects ASCII files and can't read
	16-bit words as characters without major modifications.  For
	these reasons, UCS-2 is not a suitable external encoding of
	Unicode in filenames, text files, environment variables, etc.

	The {ISO 10646} {Universal Character Set} (UCS), a superset of
	Unicode, occupies a 31-bit code space and the obvious UCS-4
	encoding for it (a sequence of 32-bit words) has the same
	problems.

	The UTF-8 encoding of Unicode and UCS avoids the problems of
	fixed-length Unicode encodings because an ASCII file encoded
	in UTF is exactly same as the original ASCII file and all
	non-ASCII characters are guaranteed to have the most
	significant bit set (bit 0x80).  This means that normal tools
	for text searching etc. work as expected.

	UTF-8 is defined in {RFC 2279}.

	["File System Safe UCS Transformation Format (FSS_UTF)",
	X/Open Preliminary Specification, X/Open Company Ltd.,
	Document Number: P316.  This information also appears in
	ISO/IEC 10646, Annex P].

	{Plan 9 UTF manual entry
	(ftp://ftp.uu.net/doc/obi/Bell.Labs/plan9pm/09utf.ps.Z)}.

	(1998-07-29)

utility

	{utility software}

utility-coder

	<language> A language for data manipulation and report
	generation.

	["User's Manual for utility-coder", Cambridge Computer
	Association, Jul 1977].

	(1997-12-09)

utility program

	{utility software}

utility software

	<tool> (Or utility program, tool) Any {software} that performs
	some specific task that is secondary to the main purpose of
	using the computer (the latter would be called {application
	programs}) but is not essential to the operation of the
	computer ({system software}).

	Many utilities could be considered as part of the {system
	software}, which can in turn be considered part of the
	{operating system}.

	The following are some broad categories of utility software,
	specific types and examples.

	* Disks

	{disk formatter}: {FDISK}, {format}

	{defragmenter}

	{disk checker}: {fsck}

	{disk cleaner}

	{system profiler}

	{backup}

	{file system compression}

	* Files and directories

	list directory: {ls}, {dir}

	copy, move, remove: {cp}, {mv}, {rm}, {xcopy}

	{archive}: {tar}

	{compression}: {zip}

	format conversion: {atob}

	comparison: {diff}

	sort: {sort}

	* Security

	{authentication}: {login}

	{antivirus software}: {avast}, {Norton Antivirus}

	{firewall}: {Zone Alarm}, {Windows firewall}

	{encryption}: {gpg})

	* Editors for general-purpose formats (as opposed to specific
	formats like a {word processing} document)

	{text editor}: {Emacs}

	{binary editor}, {hex editor}

	* Communications

	{mail transfer agent}: {sendmail}

	e-mail notification: {biff}

	file transfer: {ftp}, {rcp}, {Firefox}

	file synchronisation: {unison}, {briefcase}

	chat: {Gaim}, {cu}

	directory services: {bind}, {nslookup}, {whois}

	network diagnosis: {ping}, {traceroute}

	remote access: {rlogin}, {ssh}

	* Software development

	{compiler}: {gcc}

	build: {make}, {ant}

	{codewalker}

	{preprocessor}: {cpp}

	{debugger}: {adb}, {gdb}

	{installation}: {apt-get}, {msiexec}, {patch}

	{compiler compiler}: {yacc}

	* Hardware

	device configuration: {PCU}, {devman}, {stty}

	(2007-02-02)

UTOPIST

	<language> A specification language for {attribute grammars}
	developed by E. Tyugu of the Academy of Science Estonia,
	Tallinn in 1983.

	["Synthesis of a Semantic Processor from an Attribute
	Grammar", Prog and Comp Soft, 9(1):29-39, Jan 1983].

	(2007-02-02)

UTP

	{unshielded twisted pair}

UTRC

	{United Technologies Research Cente}

UTSL

	<humour> {Use the Source Luke}

	[{Jargon File}]

	(1996-01-02)

uucp

	{Unix to Unix Copy}

UUCPNET

	The international {store and forward} network consisting of
	all the world's connected {Unix} machines (and others running
	some clone of the {UUCP} software).  Any machine reachable
	only via a {bang path} is on UUCPNET.  See {network address}.

	[{Jargon File}]

uudecode

	A Unix program to convert the ASCII output of uuencode back to
	binary.  See uuencode for details.

uuencode

	<communications> (Unix-to-Unix encode) A {Unix} program for
	encoding {binary} data as {ASCII}.  Uuencode was originally
	used with {uucp} to transfer binary files over {serial lines}
	which did not preserve the top bit of characters, but is now
	used for sending binary files by {e-mail} and posting to
	{Usenet} newsgroups etc.  The program uudecode reverses the
	effect of uuencode, recreating the original binary file
	exactly.

	Uuencoded data starts with a line of the form

		begin <mode> <file>

	where <mode> is the files read/write/execute permissions as
	three {octal} digits and <file> is the name to be used when
	recreating the binary data.

	Uuencode repeatedly takes in a group of three bytes, adding
	trailing zeros if there are less than three bytes left.  These
	24 bits are split into four groups of six which are treated as
	numbers between 0 and 63.  Decimal 32 is added to each number
	and they are output as ASCII characters from 32 (space) to
	32+63 = 95 (underscore).  Each group of sixty output
	characters (corresponding to 45 input bytes) is output as a
	separate line preceded by an 'M' (ASCII code 77 = 32+45).  At
	the end of the input, if there are N output characters left
	after the last group of sixty and N>0 then they will be
	preceded by the character whose code is 32+N.  Finally, a line
	containing just a single space is output, followed by one
	containing just "end".

	Sometimes each data line has an extra dummy character added to
	avoid problems which mailers that strip trailing spaces.
	These characters are ignored by uudecode.

	Despite using this limited range of characters, there are
	still some problems encountered when uuencoded data passes
	through certain old computers.  The worst offenders are
	computers using non-ASCII character sets such as EBCDIC.

	{Base 64} encoding is probably now more commonly used than
	uuencode.

	(2004-07-17)

UUNET PIPEX

	<company> An {Internet provider}, part of the Unipalm Group.
	PIPEX launched their Internet service in March 1992, and by
	November 1993 provided Internet service to 150 customer sites
	in the UK.  Each site is either a complete commercial company
	or a branch of one, or a public-sector organisation.  They
	provide a commercial {internetworking} service, with 24-hour
	support, and a resilient backbone with multiple international
	links.  PIPEX provides for individual users through their
	"PIPEX Dial" service, and has a number of re-sellers connected
	to its backbone, including {CityScape}, {Direct Connection}
	and the {IBM PC User Group}, who also offer such services.

	{(http://pipex.net)}.

	E-mail: <support@pipex.net>.

	Address (Head office): Cambridge ?

	Address: King St. London EC2V(?)

	(1996-10-13)

UUPC

	{UUCP} for {MS-DOS}, {Microsoft Windows}, and {OS/2}.

	E-mail: <server@netmail.com> with subject SEND INDEX.

uy

	<networking> The {country code} for Uruguay.

	(1999-01-27)

uz

	<networking> The {country code} for Uzbekistan.

	(1999-01-27)

V

	Upper case V, {ASCII} character 86, known in {INTERCAL} as
	book.

	1. A testbed for distributed system research.

	2. Wide-spectrum language used in the knowledge-based
	environment {CHI}.  "Research on Knowledge-Based Software
	Environments at Kestrel Inst", D.R.  Smith et al, IEEE Trans
	Soft Eng SE-11(11):1278-1295 (1985).

V.10

	<communications, standard> An {ITU-T} recommendation on
	electrical characteristics for {unbalanced} {double-current
	interchange circuits} operating at {data signalling rates}
	nominally up to 100 kbps.  This recommendation is also
	included but not published in {ITU-T} X series under alias
	number X.26.  The circuit defined in this standard is used in
	other {serial line} standards such as {EIA-232} and {EIA-423},
	that implement {single ended} communication.

	(2002-10-05)

V.11

	<communications, standard> An {ITU-T} recommendation on
	electrical characteristics for {balanced} {double-current}
	{interchange circuits} operating at {data signalling rates} up
	to 10 Mbps.  V.11 is also included but not published in the as
	{ITU-T} X.27.  V.11 is used in other {serial line} standards
	such as {EIA-422} and {EIA-485}, that implement {differential
	line} communication.

	(2003-04-06)

V.17

	<protocol, standard> An {ITU-T} {modem} {protocol} for 14400
	{bps} {half duplex} communications with {fall back} to 12000
	{bps}, 9600 {bps} and 7200 {bps}.

	(2004-07-26)

V.21

	<protocol, standard> An {ITU-T} {modem} {protocol} for 300
	{bps} two-wire {full-duplex} communications using {Frequency
	Shift Keying} {modulation}.

	All modern modems support both V.21 and the close variant,
	Bell 103.

	(1996-07-22)

V.22

	<protocol, standard> An {ITU-T} {modem} {protocol} which
	allowed data rates of 1200 {bps}.  {V.22bis} doubled this.

	(2004-07-26)

V.22bis

	<protocol, standard>{V.22} twice.  An {ITU-T} {modem}
	{protocol} which allowed a data rate of 2400 bits per second,
	twice that of {V.22}.

V.23

	<protocol, standard> An {ITU-T} {modem} {protocol} which
	allowed {half-duplex} (unidirectional) data transmission at
	1200 bits per second with a 75 {bps} {back channel} and {fall
	back} to 600/75 bps.  This was the main standard used for
	{British Telecom}'s {Prestel} service.

	(2004-07-26)

V.24

	<standard> The {ITU-T} {standard} defining interchange
	circuits between {DTE} and {DCE}.  V.24 is the {ITU-T}
	equivalent of {EIA} standard {EIA-232C}, though V.24 only
	specifies the meaning of the signals, not the connector or the
	voltages used.

	V.24 recommends 12 {modem} {carrier} frequencies that will not
	interfere with {Dual Tone Multi-Frequency} or other telephone
	control tones.  These are:

	  GROUP A   =    920 Hz, 1000 Hz, 1080 Hz, 1160 Hz
	  GROUP B   =    1320 Hz, 1400 Hz, 1480 Hz, 1560 Hz
	  Group C   =    1720 Hz, 1800 Hz, 1880 Hz, 1960 Hz

	(2004-08-02)

V.25

	<communications, standard> A {standard} allowing an
	{auto-answer} {modem} to determine the correct {modulation}
	standard to use.

	(2001-04-06)

V.25 bis

	<communications, standard> A cryptic command language for
	{modems}.

	(2004-08-02)

V.27 ter

	<protocol, standard> An {ITU-T} {modem} {protocol} which
	allowed 4800 {bps} communications with {fall back} to 2400
	bps.  V27.ter was used by {Fax machines}.

	(2004-07-26)

V.28

	<communications, standard> An {ITU-T} physical interface
	{standard} for {serial} data communications equipment,
	formally titled "Electrical Characteristics for Unbalanced
	Double-Current Interchange Circuits".  The combination of V.28
	and {V.24} is equivalent to the {EIA}'s {RS-232} and uses the
	same 25-pin connectors.

	(2001-04-06)

V.29

	<communications, standard> An {ITU-T} {modem} {protocol} which
	allows 9600 {bps} {half duplex} or {four wire} communications
	with {fall back} to 7200 {bps} and 4800 {bps}.  V.29 is used
	by {fax} machines.

	(2004-07-30)

V.32

	<communications, standard> An {ITU-T} standard {protocol} for
	{modems} transmitting at 9600 bits per second with {fall back}
	to 4800 {bps}.  {V.32bis} extended this to 14400 bps.

	V32 and V.32bis acheive bidirectional data transmission not by
	having different sets of tones at each end but by subtracting
	what is sent from what is received.

	(2004-07-30)

V.32bis

	<communications, standard> V.32 twice.  An extension of the
	{ITU-T} {V.32} {modem} {protocol} allowing 14400 bits per
	second with {fall back} to 12000{bps}, 9600{bps}, 7200{bps}
	and 4800 {bps}.

	The {modem} should select the appropriate speed according to
	the current line conditions.

	See also {V.32ter}.

	(1994-12-15)

V.32ter

	An extension of the {ITU-T} {V.32bis} {modem} {protocol}.
	While waiting for {V.34}, many {modem} manufacturers decided
	to extend V.32bis to 19.2 kbps.  This was known as V.32ter
	which some {marketroids} rechristened V.32 terbo which is not
	only misspelled but misses the fact that V.32ter means the
	third revision of V.32.

	(1994-12-15)

V.34

	<protocol> An {ITU-T} {standard} {modem} serial line
	{protocol} using {symbol rates} of 2400, 2743, 2800, 3000,
	>3200 and 3429 and up to 28800 bits per second.

	The official V.34 draft recommendation was titled:

	   Modem operating at data signalling rates of up to 28 800
	   bit/s for use on the general switched telephone network and
	   on leased point-to-point 2-wire telephone-type circuits.

	During the lengthy process of approval by {ITU-T}, many
	manufacturers released 28.8 kbps modems described as "V.FAST".
	The V.34 recommendation was ratified by {ITU-T} on 20
	September 1994.  {Rockwell} and {US Robotics} both have seats
	on the ITU-T, and have both released {chip set}/{BIOS}
	combinations that they feel will meet V.34.  V.34 modems will
	also support {V.FC} if the manufacturer currently supports
	V.FC (e.g. {Rockwell}).  Some (all?) V.34 modems will also
	support {line probing}.

	{ITU document
	(http://itu.int/itudoc/itu-t/rec/v/v34_25302.html)}.

	(1998-07-03)

V.35

	<communications, standard> The {ITU-T} {standard} for data
	transmission at 48 kilobits per second over 60 - 108 KHz group
	band circuits.  It contains the 34-pin {V.34} connector
	specifications normally implemented on a modular {RJ-45}
	connector.

	(1995-03-02)

V.42

	<communications, standard> An {ITU-T} standard {protocol} for
	{error correction} between {modems}, which includes {MNP} up
	to level 4 and {asynchronous} to {synchronous} conversion.

	(2004-08-02)

V.42bis

	<communications, standard> An extension of the {ITU-T} {V.42}
	standard {modem} {protocol} to included {compression} using a
	{Lempel-Ziv} related technique, which detects frequently
	occurring character strings and replaces them with tokens.
	This is similar to the {Unix} {compress} utility.  Typical
	{compression} for text is 50% or better; with nearly 20% gain
	from {synchronous} conversion this gives reduces transmission
	time by almost 60%.

	[Details?  On-line spec?]

	(2004-08-02)

V.90

	<protocol> An {ITU-T} {standard} {modem} serial line
	{protocol} allowing download speeds of up to 56 {kbps} with
	upload speeds of 33.6 {kbps}.  {V.90} modems are designed for
	connections that are digital at one end and have only one
	digital-to-analogue conversion.

	As of 1998-02-06 the V.90 standard, formerly called V.pcm, has
	been given final approval by {ITU-T}.  On 1998-10-27 the ITU-T
	announced that approval of the V.90 standard was completed.
	Interoperability testing is complete or in progress for
	several modem manufacturers.  The V.90 standard reconciles two
	competing standards, {X2} and {K56flex}.

	The {ITU-T} has initiated the approval process for a new
	all-digital version of the protocol, to be known as {V.91}.

	{ITU Press Release 98-04
	(http://itu.int/newsroom/press/releases/1998/98-04.html)}.
	and {NP-3
	(http://itu.int/newsroom/press/releases/1998/NP-3.html)}.

	(1999-01-25)

V.91

	<protocol> An all-digital version of the {V.90} {protocol},
	undergoing {ITU-T} approval.

	(1999-01-13)

va

	<networking> The {country code} for the Vatican.

	(1999-01-27)

vacuum tube

	{electron tube}

vadding

	<games> /vad'ing/ (From VAD, a permutation of ADV,
	i.e. {ADVENT}, used to avoid a particular {admin}'s continual
	search-and-destroy sweeps for the game) A leisure-time
	activity of certain hackers involving the covert exploration
	of the "secret" parts of large buildings - basements, roofs,
	freight elevators, maintenance crawlways, steam tunnels, and
	the like.  A few go so far as to learn locksmithing in order
	to synthesise vadding keys.  The verb is "to vad" (compare
	{phreaking}; see also {hack}, sense 9).  This term dates from
	the late 1970s, before which such activity was simply called
	"hacking"; the older usage is still prevalent at {MIT}.

	Vadding (pronounced /vay'ding/) was also popular {CMU}, at
	least as early as 1986.  People who did it every night were
	called the "vaders," possibly after "elevator," which was one
	of the things they played with, or "invader," or "Darth
	Vader".  This game was usually played along with
	no-holds-barred hide-and-seek.  CMU grad students were the
	known to pry open the inner doors of elevators between floors
	to see the graffiti on the inside of the outer doors.

	The most extreme and dangerous form of vadding is "elevator
	rodeo", also known as "elevator surfing", a sport played by
	wrasslin' down a thousand-pound elevator car with a 3-foot
	piece of string, and then exploiting this mastery in various
	stimulating ways (such as elevator hopping, shaft exploration,
	rat-racing, and the ever-popular drop experiments).  Kids,
	don't try this at home!

	See also {hobbit}.

	[{Jargon File}]

	(1996-01-07)

VAL

	1. Value-oriented Algorithmic Language.  J.B. Dennis, MIT
	1979.  Single assignment language, designed for MIT dataflow
	machine.  Based on CLU, has iteration and error handling,
	lacking in recursion and I/O.  "A Value- Oriented Algorithmic
	Language", W.B. Ackermann et al, MIT LCS TR-218, June 1979.
	"The VAL Language: Description and Analysis", J.R. McGraw,
	TOPLAS 4(1):44-82 (Jan 1982).

	2. <language, robotics> Variable Assembly Language.
	Unimation.  Language for industrial robots.  Version: VAL II -
	"VAL II: A New Robot Control System for Automatic
	Manufacturing", B.E. Shimano et al, Proc IEEE Intl Conf on
	Robotics 1984, pp.278-292.

	3. VHDL Annotation Language.  Stanford.
	{(ftp://wilbur.stanford.edu/pub/valbin-sun3-4.0-0.1.3.tar.Z)}.
	Source in Ada available from Larry M. Augustin
	<lma@sierra.stanford.edu>.

Valencia Simple Tasker

	<operating system> (VSTa) A small {microkernel} based
	{Unix}-like {operating system}, taking ideas from {QNX} and
	{Plan 9}, available under {GPL}.

	{(http://chat.net/~jeske/VSTa/)}.

	(1999-03-03)

valency

	{degree}

Valid

	A {dataflow} language.

	["A List-Processing-Oriented Data Flow Machine Architecture",
	Makoto Amamiya et al, AFIPS NCC, June 1982, pp. 143-151].

	(1995-02-14)

validation

	The stage in the {software life-cycle} at the end of the
	development process where software is evaluated to ensure that
	it complies with the requirements.

	(1995-02-14)

value

	{brightness}

Value Added Network

	<networking> (VAN) A privately owned {network} that provides a
	specific service, such as legal research or access to a
	specialised database, for a fee.  A Value Added Network
	usually offers some service or information that is not readily
	available on public networks.

	A Value Added Network's customers typically purchase {leased
	lines} that connect them to the network or they use a {dial-up
	number}, given by the network owner, to gain access to the
	network.

	(1998-11-10)

value added reseller

	<company> (VAR, or "value added retailer") A company which
	sells something (e.g. computers) made by another company (an
	{OEM}) with extra components added (e.g. specialist software).

	(1995-02-14)

value added retailer

	{value added reseller}

valve

	<electronics> UK term for a {vacuum tube}.

	(1996-01-10)

vampire tap

	<networking, hardware> A device to connect a {network node} to
	an {RG8} thick {ethernet} cable without affecting other
	connected nodes.

	A vampire tap has an interface box with a "V" shaped groove
	along one side.  A sharp needle protrudes from the center of
	the groove.  The cable is clamped into the groove by a grooved
	plate held in position by two thumb screws.  With sufficient
	practise, tightening the screws forces the needle through the
	cable jacket and into contact with the cable's center wire
	while other spikes bite into the outer conductor.  The
	interface box has a 15 pin connector to connect to the network
	{node}.

	The vampire tap is often built into the {transceiver}, with a
	more flexible multi-wire "drop cable" to connect the
	transceiver to the node.

	(2004-08-25)

VAN

	{Value Added Network}

vanilla

	1. (Default flavour of ice cream in the US) Ordinary
	{flavour}, standard.  When used of food, very often does not
	mean that the food is flavoured with vanilla extract!  For
	example, "vanilla wonton soup" means ordinary wonton soup, as
	opposed to hot-and-sour wonton soup.  Applied to hardware and
	software, as in "Vanilla {Version 7} {Unix} can't run on a
	vanilla {PDP 11}/34."  Also used to orthogonalise chip
	nomenclature; for instance, a 74V00 means what TI calls a
	7400, as distinct from a 74LS00, etc.  This word differs from
	{canonical} in that the latter means "default", whereas
	vanilla simply means "ordinary".  For example, when hackers go
	to a chinese restaurant, hot-and-sour wonton soup is the
	{canonical} wonton soup to get (because that is what most of
	them usually order) even though it isn't the vanilla wonton
	soup.

	[{Jargon File}]

	(1994-11-04)

	2. {Snobol4} by {Catspaw, Inc.} for {MS-DOS}.

	{(ftp://cs.arizona.edu/snobol4/vanilla.arc)}.

	(1992-02-05)

vanity domain

	<networking> A {domain} you register for the sole purpose of
	having your own domain so you can have an easily remembered
	{URL} and {e-mail} address.  The domain is usually served
	(often {vhost}ed) off someone else's machines.

	This is as opposed to a domain you register because you have
	machines of your own which are already on the Internet and
	which you want to make addressable via something other than
	{dot address}es.

	Whereas vanity domains were almost unheard-of in 1980s, since
	the invention and popularisation of the {Web} in the mid-1990s
	and the desire for {URLs} which consist only of memorable
	domain names (e.g., "http://pbs.org") for everything from
	movies to car wax, vanity domains have come to be the rule
	instead of the exception.

	(1997-09-11)

vannevar

	<jargon> /van'*-var/ A bogus technological prediction or a
	foredoomed engineering concept, especially one that fails by
	implicitly assuming that technologies develop linearly,
	incrementally, and in isolation from one another when in fact
	the learning curve tends to be highly nonlinear, revolutions
	are common, and competition is the rule.  The prototype was
	Vannevar Bush's prediction of "electronic brains" the size of
	the Empire State Building with a Niagara-Falls-equivalent
	cooling system for their tubes and relays, a prediction made
	at a time when the semiconductor effect had already been
	demonstrated.  Other famous vannevars have included
	{magnetic-bubble memory}, {LISP machines}, {videotex}, and a
	paper from the late 1970s that computed a purported ultimate
	limit on areal density for {integrated circuits} that was in
	fact less than the routine densities of 5 years later.

	[{Jargon File}]

	(2000-02-29)

Vannevar Bush

	<person> Dr. Vannevar Bush, 1890-1974.  The man who invented
	{hypertext}, which he called {memex}, in the 1930s.

	Bush did his undergraduate work at Tufts College, where he
	later taught.  His masters thesis (1913) included the
	invention of the Profile Tracer, used in surveying work to
	measure distances over uneven ground.  In 1919, he joined
	{MIT}'s Department of Electrical Engineering, where he stayed
	for twenty-five years.  In 1932, he was appointed
	vice-president and dean.  At this time, Bush worked on optical
	and photocomposition devices, as well as a machine for rapid
	selection from banks of microfilm.

	Further positions followed: president of the Carnegie
	Institute in Washington, DC (1939); chair of National Advisory
	Committee for Aeronautics (1939); director of Office of
	Scientific Research and Development.  This last role was as
	presidential science advisor, which made him personally
	responsible for the 6,000 scientists involved in the war
	effort.  During World War II, Bush worked on radar antenna
	profiles and the calculation of artillery firing tables.  He
	proposed the development of an {analogue computer}, which
	later became the {Rockefeller Differential Analyser}.

	Bush is the pivotal figure in hypertext research.  His
	ground-breaking 1945 paper, "As We May Think," speculated on
	how a machine might be created to assist human reasoning, and
	introduced the idea of an easily accessible, individually
	configurable storehouse of knowledge.  This machine, which he
	dubbed "memex," in various ways anticipated {hypermedia} and
	the {World Wide Web} by nearly half a century.

	{Electronic Labyrinth article
	(http://jefferson.village.virginia.edu/elab/hfl0034.html)}.

	{Bush's famous article, "As We May Think"
	(http://theatlantic.com/unbound/flashbks/computer/bushf.htm)}.

	(2001-06-17)

vaporware

	<jargon> /vay'pr-weir/ (UK "vapourware") Products announced
	far in advance of any release (which may or may not actually
	take place).  The term came from {Atari} users and was later
	applied by {Infoworld} to {Microsoft}'s continuous lying about
	{Microsoft Windows}.

	See also {brochureware}.

	[{Jargon File}]

	(2004-11-16)

vapourware

	<spelling> UK spelling of "{vaporware}".

	(2004-11-16)

VAR

	{Value Added Reseller} (or retailer).

var

	{variable}

varchar

	<database> A {database} {data type} for storing
	variable-length strings of {ASCII} data.  The amount of
	storage space used depends on the length of the strings, in
	contrast to the ordinary "char" type.  The maximum length of
	string must still be specified, e.g. varchar(256).

	(2009-02-25)

variable

	<programming> (Sometimes "var" /veir/ or /var/) A named memory
	location in which a program can store intermediate results and
	from which it can read it them.  Each {programming language}
	has different rules about how variables can be named, typed,
	and used.  Typically, a value is "assigned" to a variable in
	an {assignment} statement.  The value is obtained by
	evaluating an expression and then stored in the variable.  For
	example, the assignment

		x = y + 1

	means "add one to y and store the result in x".  This may look
	like a mathematical equation but the mathematical equality is
	only true in the program until the value of x or y changes.
	Furthermore, statements like

		x = x + 1

	are common.  This means "add one to x", which only makes sense
	as a state changing operation, not as a mathematical equality.

	The simplest form of variable corresponds to a single-{word}
	of {memory} or a {CPU} {register} and an assignment to a
	{load} or {store} {machine code} operation.

	A variable is usually defined to have a {type}, which never
	changes, and which defines the set of values the variable can
	hold.  A type may specify a single ("atomic") value or a
	collection ("aggregate") of values of the same or different
	types.  A common aggregate type is the {array} - a set of
	values, one of which can be selected by supplying a numerical
	{index}.

	Languages may be {untyped}, {weakly typed}, {strongly typed},
	or some combination.  {Object-oriented programming} languages
	extend this to {object} types or {classes}.

	A variable's {scope} is the region of the program source
	within which it represents a certain thing.  Scoping rules are
	also highly language dependent but most serious languages
	support both {local variables} and {global variables}.
	{Subroutine} and {function} {formal arguments} are special
	variables which are set automatically by the language runtime
	on entry to the subroutine.

	In a {functional programming} language, a variable's value
	never changes and change of state is handled as recursion over
	lists of values.

	(2004-11-16)

Variational Graphics eXtended

	<software> (VGX) {Software} developed by {SDRC} for use in 3D
	{CAD} {solid modelling}.

	(1998-02-06)

VAX

	<computer> /vaks/ (Virtual Address eXtension) The most
	successful {minicomputer} design in industry history, possibly
	excepting its immediate ancestor, the {PDP-11}.  Between its
	release in 1978 and its eclipse by {killer micros} after about
	1986, the VAX was probably the {hacker}'s favourite machine,
	especially after the 1982 release of {4.2BSD} {Unix}.
	Especially noted for its large, {assembly
	code}-programmer-friendly {instruction set} - an asset that
	became a liability after the {RISC} revolution.

	VAX is also a British brand of {carpet cleaner
	(http://vax.co.uk/)} whose advertising slogan, "Nothing
	sucks like a VAX!" became a battle-cry of RISC partisans.  It
	is even sometimes claimed that DEC actually entered a
	licencing deal that allowed them to market VAX computers in
	the UK in return for not challenging the carpet cleaner
	trademark in the US.

	The slogan originated in the late 1960s as "Nothing sucks like
	Electrolux", Electrolux AB being a rival Swedish company.  It
	became a classic textbook example of the perils of not knowing
	the local idiom, which is ironic because, according to the
	Electrolux press manager in 1996, the double entendre was
	intentional.  VAX copied the slogan in their promotions in
	1986-1987, and it surfaced in New Zealand TV ads as recently
	as 1992!

	[{Jargon File}]

	(2000-09-28)

VAX DOCUMENT

	A document preparation system from {DEC}.

VAXectomy

	<jargon> /vak-sek't*-mee/ (By analogy with "vasectomy")
	Removal of a {VAX}.  {DEC}'s {Microvax}en, especially, are
	much slower than newer {RISC}-based {workstations} such as the
	{SPARC}.  Thus, if one knows one has a replacement coming, VAX
	removal can be cause for celebration.

	[{Jargon File}]

	(1995-02-20)

VAXen

	/vak'sn/ (From "oxen", perhaps influenced by "vixen") The
	plural canonically used among hackers for the {DEC} {VAX}
	computers.  "Our installation has four PDP-10s and twenty
	vaxen."

	See {boxen}.

	[{Jargon File}]

	(1995-02-20)

vaxherd

	/vaks'herd/ ["oxherd"] An operator who tends one or more
	{VAXen}.

	[{Jargon File}]

vaxism

	/vak'sizm/ A piece of code that exhibits {vaxocentrism} in
	critical areas.  Compare {PC-ism}, {Unixism}.

VAX MIPS

	<benchmark> (Or VAX Unit of Performance, VUP) The processing
	power normally attributed to a {Digital Equipment Corporation}
	{VAX} 11/780.  Future VAX systems were rated according to this
	scale (e.g. VAX 8350's being 2.7 VUPs per CPU).  A {MicroVAX}
	II is normally associated with 0.9 VUPs and at a later time
	the MicroVUP was coined to rate VAX {workstations}.  The use
	of the VUP by Digital Equipment Corporation has been replaced
	with more standard benchmarks ({SPECint} and {SPECfp}) in the
	{DEC Alpha} processor systems.

	(1996-08-22)

vaxocentrism

	/vak"soh-sen"trizm/ [analogy with "ethnocentrism"] A notional
	disease said to afflict C programmers who persist in coding
	according to certain assumptions that are valid (especially
	under Unix) on {VAXen} but false elsewhere. Among these are:

	1. The assumption that dereferencing a null pointer is safe
	because it is all bits 0, and location 0 is readable and 0.
	Problem: this may instead cause an illegal-address trap on
	non-VAXen, and even on VAXen under OSes other than BSD Unix.
	Usually this is an implicit assumption of sloppy code
	(forgetting to check the pointer before using it), rather than
	deliberate exploitation of a misfeature.

	2. The assumption that characters are signed.

	3. The assumption that a pointer to any one type can freely be
	cast into a pointer to any other type.  A stronger form of
	this is the assumption that all pointers are the same size and
	format, which means you don't have to worry about getting the
	casts or types correct in calls.  Problem: this fails on
	word-oriented machines or others with multiple pointer
	formats.

	4. The assumption that the parameters of a routine are stored
	in memory, on a stack, contiguously, and in strictly ascending
	or descending order.  Problem: this fails on many RISC
	architectures.

	5. The assumption that pointer and integer types are the same
	size, and that pointers can be stuffed into integer variables
	(and vice-versa) and drawn back out without being truncated or
	mangled.  Problem: this fails on segmented architectures or
	word-oriented machines with funny pointer formats.

	6. The assumption that a data type of any size may begin at
	any byte address in memory (for example, that you can freely
	construct and dereference a pointer to a word- or
	greater-sized object at an odd char address).  Problem: this
	fails on many (especially RISC) architectures better optimised
	for {HLL} execution speed, and can cause an illegal address
	fault or bus error.

	7. The (related) assumption that there is no padding at the
	end of types and that in an array you can thus step right from
	the last byte of a previous component to the first byte of the
	next one.  This is not only machine- but compiler-dependent.

	8. The assumption that memory address space is globally flat
	and that the array reference "foo[-1]" is necessarily valid.
	Problem: this fails at 0, or other places on segment-addressed
	machines like Intel chips (yes, segmentation is universally
	considered a {brain-damaged} way to design machines (see
	{moby}), but that is a separate issue).

	9. The assumption that objects can be arbitrarily large with
	no special considerations.  Problem: this fails on segmented
	architectures and under non-virtual-addressing environments.

	10. The assumption that the stack can be as large as memory.
	Problem: this fails on segmented architectures or almost
	anything else without virtual addressing and a paged stack.

	11. The assumption that bits and addressable units within an
	object are ordered in the same way and that this order is a
	constant of nature.  Problem: this fails on {big-endian}
	machines.

	12. The assumption that it is meaningful to compare pointers
	to different objects not located within the same array, or to
	objects of different types.  Problem: the former fails on
	segmented architectures, the latter on word-oriented machines
	or others with multiple pointer formats.

	13. The assumption that an "int" is 32 bits, or (nearly
	equivalently) the assumption that "sizeof(int) ==
	sizeof(long)".  Problem: this fails on {PDP-11s}, {Intel
	80286}-based systems and even on {Intel 80386} and {Motorola
	68000} systems under some compilers.

	14. The assumption that "argv[]" is writable.  Problem: this
	fails in many embedded-systems C environments and even under a
	few flavours of Unix.

	Note that a programmer can validly be accused of vaxocentrism
	even if he or she has never seen a VAX.  Some of these
	assumptions (especially 2--5) were valid on the {PDP-11}, the
	original {C} machine, and became endemic years before the VAX.
	The terms "vaxocentricity" and "all-the-world"s-a-VAX
	syndrome' have been used synonymously.

	[{Jargon File}]

VAXset

	A set of software development tools from DEC, including a
	language-sensitive editor, compilers etc.

VAXstation

	A family of {workstations} from {DEC} based on their {VAX}
	computer architecture.

	(1995-02-03)

VAX/VMS

	{VMS}

VB

	{Visual BASIC}

VBA

	{Visual Basic for Applications}

vbell

	{visible bell}

VBScript

	{Visual BASIC Script}

vbx

	<filename extension> The {filename extension} for {Visual
	Basic Extension}.

	(1995-02-03)

vc

	<networking> The {country code} for Saint Vincent and the
	Grenadines.

	(1999-01-27)

VCC filtering

	<electronics> A technique for reducing the amount of {Radio
	Frequency Interference} spread via power supply connections.
	{VCC} is a common name for the non-{ground} power supply line
	in circuits based on {bipolar transistors}.

	When part of a circuit generates lots of radio-frequency
	noise, that portion of the {power plane} can be isolated from
	the rest of the circuit and power delivered to it via a {low
	pass filter}, usually a {PI filter}, as shown in the diagram
	below.

	      source   ________inductor_________   load
			  |                |
		      capacitor        capacitor
			  |                |
		       ground           ground

	This helps to shield the rest of the circuit from the noise
	generated by the load.

	(1998-01-26)

VCD

	{Video Compact Disc}

VCID

	{Virtual Circuit Identifier}

VCL

	{Visual Component Library}

VCODE

	1. The {intermediate language} used in the compilation of
	{NESL}.

	["Implementation of a Portable Nested Data-Parallel Language",
	Guy Blelloch et al, in Fourth ACM SIGPLAN Symposium on Princ
	and Practice of Parallel Programming, ACM, 1993].

	2. The {intermediate language} used in the compilation of
	{C+@}.

	(1995-01-12)

VCPI

	{Virtual Control Program Interface}

VCR

	{Video Cassette Recorder}

vdiff

	/vee'dif/ Visual diff.  The operation of finding differences
	between two files by {eyeball search}.  The term "optical
	diff" has also been reported, and is sometimes more
	specifically used for the act of superimposing two nearly
	identical printouts on one another and holding them up to a
	light to spot differences.  Though this method is poor for
	detecting omissions in the "rear" file, it can also be used
	with printouts of graphics, a claim few if any diff programs
	can make.  See {diff}.

	[{Jargon File}]

VDL

	{Vienna Definition Language}

VDM

	1. Vienna Definition Method

	2. {Virtual Device Metafile}.

VDM++

	{Object-oriented extension} of {VDM-SL}.  ["Object-Oriented
	Specification in VDM++", in Object Oriented Specification Case
	Studies, K. Lano et al eds, P-H 1993].

VDM-SL

	{Vienna Development Method Specification Language}

VDSL

	{Very high bit-rate Digital Subscriber Line}

VDT

	{video display terminal}

VDU

	{Visual Display Unit}

vdx

	{virtual network bios driver}

ve

	<networking> The {country code} for Venezuela.

	(1999-01-27)

vector

	1. <mathematics> A member of a {vector space}.

	2. <graphics> A line or movement defined by its end points, or
	by the current position and one other point.  See {vector
	graphics}.

	3. <operating system> A memory location containing the address
	of some code, often some kind of {exception} handler or other
	{operating system} service.  By changing the vector to point
	to a different piece of code it is possible to modify the
	behaviour of the operating system.

	Compare {hook}.

	4. <programming> A one-dimensional {array}.

	(1996-09-30)

Vector C

	<language> A variant of {C} from {CMU}(?), similar to {ACTUS}.

	(1996-09-30)

vector font

	{outline font}

vector graphics

	<graphics> (Sometimes called "object-oriented" graphics,
	though it's nothing to do with {object-oriented programming}).
	The representation of separate shapes such as lines, polygons
	and text, and groups of such objects, as opposed to {bitmaps}.
	The advantage of vector graphics ("drawing") programs over
	bitmap ("paint") editors is that multiple overlapping elements
	can be manipulated independently without using differenet
	layers for each one.  It is also easier to render an object at
	different sizes and to transform it in other ways without
	worrying about image {resolution} and {pixels}.

	(2001-02-06)

vector processor

	{array processor}

vector space

	<mathematics> An {additive group} on which some ({scalar})
	{field} has an {associative} multiplicative action which
	distributes over the addition of the vector space and respects
	the addition of the (scalar) field: for vectors u, v and
	scalars h, k; h(u+v) = hu + hv; (h+k)u = hu + ku; (hk)u =
	h(ku).

	[Simple example?]

	(1996-09-30)

VECTRAN

	<language> {Fortran} with {array} extensions.

	["The VECTRAN Language: An Experimental Language for
	Vector/Matrix Array Processing", Report G320- 3334, IBM, Aug
	1975].

	(1996-01-19)

VEE

	{HP VEE}

veeblefeetzer

	{veeblefetzer}

veeblefester

	<jargon, abuse> /vee'b*l-fes"tr/ (From "Born Loser" comix via
	{Commodore}; probably originally from "Mad" Magazine's
	"Veeblefeetzer" parodies ca. 1960) Any obnoxious person
	engaged in the (alleged) professions of marketing or
	management.

	Antonym of {hacker}.  Compare {suit}, {marketroid}.  See also
	{veeblefetzer}.

	[veeblefeetzer or veeblefetzer?]

	[{Jargon File}]

	(1996-03-31)

veeblefetzer

	<jargon> /vee'b*l-fetz'*/ (Or "veeblefeetzer"?) A purposely
	nonsensical sounding word applied to any sort of obscure or
	complicated object, e.g. a piece of computer code, model
	railroad equipment, auto parts, etc.

	The more immediate origin of the word is "Mad" Magazine.  In
	the late 1950s and early 1960s it used the word along the same
	lines, especially in its send-ups of big business.  "North
	American Veeblefetzer" was the subject of satires of an annual
	reports, an in-house newsletter, and more.  A Veeblefetzer, in
	their case, was a robot-like device that did something or
	other.

	The more distant source was probably a 19th century yiddish
	word, possibly with limited usage.  In German, "Fetzer" is any
	contraption, while "Veeble" is a likely corruption of "Webel"
	-- meaning weaving.  Textile mills of this period were crammed
	with very complicated, wildly active and very loud pieces of
	machinery.

	See also {veeblefester}.

	[veeblefeetzer or veeblefetzer?]

	(1996-03-31)

VEL

	{LISP70}

Vendor Independent Messaging

	<networking> (VIM) An {electronic mail} {API} promoted by an
	industry group headed by {Lotus Development}.  VIM is a
	competitor to {Microsoft}'s {MAPI}.

	[Features?]

	(1995-03-28)

ventilator card

	{lace card}

Ventura Publisher

	{Corel VENTURA}

Venus flytrap

	{firewall machine}

verbage

	<spelling, jargon> /ver'b*j/ Speech or writing with an excess of
	words or of obscure words.

	Although identical in meaning, and almost in spelling, to the
	common word {verbiage}, Patrick Flatley believes he was the first
	to coin the word "verbage", as a portmanteau of "verbal" and
	"garbage", in the article cited below (itself a prime example of
	verbiage).

	[Fordham University student newspaper, "The Observer",
	1982-10-06, p6].

	(2011-12-21)

verbiage

	<jargon> {documentation}, especially documentation that is verbose
	and/or obscure as in the common meaning of the term.

	[{Jargon File}]

	(2011-12-21)

Verdi

	(named after the Italian composer Giuseppe Verdi (1813-1901))
	Provable systems language.  Descendant of Ottawa Euclid.

verification

	The process of determining whether or not the products of a
	given phase in the life-cycle fulfil a set of established
	requirements.

Verilog

	<language> A {Hardware Description Language} for electronic
	design and gate level {simulation} by {Cadence Design
	Systems}.

	{xnf2ver} is an {XNF} to Verilog translator.

	["The Verilog Hardware Description Language", Donald E. Thomas
	& Philip Moorby, Kluwer, 1991].

	(1999-04-16)

Verilog SA

	<company> A French {real-time software engineering} company.

	(1999-04-16)

Veronica

	<information science> Very Easy Rodent-Oriented Net-wide Index
	to Computerized Archives.  Veronica offers a keyword search of
	most {gopher} menu titles in the entire gopher web.  As
	{archie} is to {FTP} archives, Veronica is to {Gopherspace}.
	A Veronica search produces a menu of Gopher items, each of
	which is a direct pointer to a Gopher data source.  Because
	Veronica is accessed through a Gopher Client, it is easy to
	use, and gives access to all types of data supported by the
	Gopher {protocol}.

	To try Veronica, select it from the "Other Gophers" menu on
	Minnesota's gopher server, or point your gopher at:

	 Name=veronica (search menu items in most of GopherSpace)
	 Type=1
	 Port=70
	 Path=1/veronica
	 Host=gopher.scs.unr.edu

	{(gopher://gopher.scs.unr.edu/1/veronica)}.

Versa Module Europa

	<hardware> (VME) A flexible open-ended bus system which makes
	use of the {Eurocard} standard.

	VME was introduced in 1981 by {Motorola}, {Philips},
	{Thompson}, and {Mostek}.  It was intended to be a flexible
	environment supporting a variety of computing intensive tasks,
	and has become a rather popular protocol in the computer
	industry.  It is defined by the {IEEE} standard 1014-1987.

	(1997-03-10)

version

	<programming> One of a sequence of copies of a program, each
	incorporating new modifications.  Each version is usually
	identified by a number, commonly of the form X.Y where X is
	the major version number and Y is the release number.
	Typically an increment in X (with Y reset to zero) signifies a
	substantial increase in the function of the program or a
	partial or total re-implementation, whereas Y increases each
	time the progam is changed in any way and re-released.

	Version numbers are useful so that the user can know if the
	program has changed ({bugs} have been fixed or new functions
	added) since he obtained his copy and the programmer can tell
	if a bug report relates to the current version.  It is thus
	always important to state the version when reporting bugs.
	Statements about compatibility between different software
	components should always say which versions they apply to.

	See {change management}.

	(1997-12-07)

Version 7

	<operating system> (V7) The unsupported release of {Unix}
	ancestral to all current commercial versions.  {Brian
	Kernighan} announced the release of V7 in summer 1979, at the
	{Unix User's} Group meeting in Toronto.

	Before the release of the {POSIX}/{SVID} {standards}, V7's
	features were often treated as a {Unix} portability baseline.
	Some old-timers impatient with commercialisation and {kernel
	bloat} still maintain that V7 was the Last True Unix.

	See {BSD}, {USG Unix}, {System V}.

	[{Jargon File}]

	(1996-05-22)

vertical application

	<application, jargon> An {application program} supporting one
	specific industry process, e.g. for {e-commerce} purchasing
	applications, the entire distribution process including order
	entry, shipping, and customer service.

	Compare {horizontal application}.

	(2000-03-28)

vertical bar

	<character> The character "|", {ASCII} code 124.

	Common names: bar; or; or-bar; v-bar; pipe; vertical bar.
	Rare: {ITU-T}: vertical line; gozinta; thru; pipesinta;
	{INTERCAL}: spike.

	"Pipe", "gozinta", "thru" and "pipesinta" refer to the use of
	"|" in {Unix} shells to create a {pipe}.

	Some keyboards show both a solid vertical bar (code 124) and a
	broken vertical bar (code 166).

	[Does anyone call either kind of vertical bar "{pling}"?
	Other codes?]

	(1998-09-20)

vertical encoding

	<processor> An {instruction set} where a field (a bit or group
	of bits) of the instruction word is decoded (either by
	{hard-wired} {logic} or {microcode}) to generate signals to
	control the {functional units}, as opposed to {horizontal
	encoding} where the instruction word bits are used as the
	control signals directly.

	With vertical encoding, which combinations of signals and
	operations are possible is dictated by the decoding logic; the
	instruction field can only select one of these preprogrammed
	combinations.  This has the advantage that many control
	signals can be generated based on only a few instruction word
	bits and only valid combinations of control signals can be
	generated, e.g. only one source driving a {bus} at once.  An
	{instruction set} may use a mixture of horizontal and vertical
	encoding within each instruction.

	(1995-04-23)

vertical loop combination

	{fusion}

vertical microcode

	<processor> {Microcode} using {vertical encoding}.

	(1995-04-23)

Vertical Redundancy Check

	<storage, communications> (VRC) An {error checking} method
	performed on one 8-bit {ASCII} character, where the 8th bit is
	used as the {parity bit}.

	The resulting parity bit is constructed by {XOR}ing the
	{word}.  The result is a "1" if there is an odd number of 1s,
	and a "0" if there is an even number of 1s in the word.  This
	method is unreliable because if an odd number of {bits} are
	distorted, the check will not detect the error.  The
	{Longitudinal Redundancy Check} is an improvement.

	(2001-04-28)

vertical refresh rate

	<hardware> Synonym for {refresh rate}.

	(1996-02-09)

vertical scan rate

	<hardware> Synonym for {refresh rate}.

	(1996-02-09)

Very Efficient Speculative Parallel Architecture

	<project> (VESPA, Portuguese for "wasp") An {Edinburgh
	University} project using {speculative multithreading} to
	improve single-application and multiprogramming performance,
	and to increase {fault tolerance} and reliability. The project
	aims to develop a compilation environment to generate
	efficient speculative parallel code, including speculative
	parallelisation and speculative helper threads.  Other
	research involves the development of optimized thread-level
	speculative architectures and novel uses of speculative
	multithreading, such as fault-tolerance.

	{VESPA Home
	(http://homepages.inf.ed.ac.uk/mc/Projects/VESPA/vespa.html)}.

	(2008-04-04)

Very high bit-rate Digital Subscriber Line

	<communications, protocol> (VDSL) A form of {Digital
	Subscriber Line} similar to {ADSL} but providing higher speeds
	at reduced lengths.

	(1998-05-18)

Very Large Database

	<database> (VLDB) A {database} that can use a {Very Large
	Memory} model to keep as much data as possible in {physical
	memory}.

	(Oracle
	{http://oracle.com/platforms/dec/collateral/vlmwp_3.html}).

	(1998-07-07)

Very Large Memory

	<architecture> (VLM) A {processor} and {operating system} that
	can use more than 4GB of {RAM}, which is the limit for systems
	using {32-bit} addresses.

	VLM architectures allow {application programs} and {Very Large
	Databases} with more than 4GB of data to be placed entirely in
	{physical memory}, with large performance enhancements.

	Some recent processors like the {DEC Alpha} can process 64
	bits of data at a time and use addresses wider than 32 bits.

	{Digital Unix (http://unix.digital.com/unix/64bit/)}.

	(Solaris {http://sun.com/solaris/64bit.html}).

	(SGI {http://sgi.com/Technology/standard/faq.html}).

	(Unix 98
	{http://UNIX-systems.org/version2/whatsnew/login_64bit.html}).

	[How wide are the address busses?]

	(1998-07-07)

Very Large Scale Integration

	<hardware> (VLSI) A term describing semiconductor {integrated
	circuits} composed of hundreds of thousands of {logic elements} or
	memory cells.

	(1995-01-11)

Very Long Instruction Word

	<language, architecture> (VLIW) Used to describe a {machine
	code} {instruction set} implemented using {horizontal
	microcode}.  A horizontally encoded instruction word which
	encodes four or more operations might be considered "very
	long".

	VLIW architectures are sometimes classified as a type of
	static {superscalar} architecture.  They are static in the
	sense that which units operate in parallel is determined by
	the instruction rather than by {dynamic scheduling} at {run
	time}.

	Producing code for VLIW machines is difficult; {trace
	scheduling} is a helpful compiler technique.

	The most famous VLIW machine was built by (the late)
	{Multiflow Computer, Inc.}

	(1994-11-11)

Very Small Aperture Terminal

	<communications> (VSAT) A kind of {ground station} used to
	contact a communications satellite such as INMARSAT.

	(1995-03-28)

VESA

	{Video Electronics Standards Association}

VESA Local Bus

	<hardware, standard> (VL, VLB) A {local bus} defined by the
	{Video Electronics Standards Association}, mostly used in
	{personal computers} based on the {Intel 486}.  See also
	{PCI}.

	(1995-03-31)

VESPA

	{Very Efficient Speculative Parallel Architecture}

V.FAST

	{V.34}

VFAT

	<operating system> A standard developed by {Microsoft} to
	enable long file names on standard {FAT} {partitions}.  VFAT
	suffers from all the drawbacks of FAT and adds more problems
	but moving to it is very easy.

	(1996-12-23)

V.FC

	<communications, protocol> A serial line {protocol} supported
	by some {modems}.  Uses {symbol rates} of 2400, 2800, 3000,
	>3200 and 3429 and up to 28800 {baud}.

	{V.34} modems will also support V.FC if the manufacturer
	currently supports V.FC.

	The first V.FC modems were shipped in November 1993 and there
	have been many thousands sold.  There will probably be in
	excess of a million V.FC modems installed by the end of 1994.

	V.FC was intended to take some of the techniques being
	proposed for V.34 and put them into a real modem that people
	could use.  This also gave a lot of people the opportunity to
	try out 28.8 kilobit per second operation for the first time.
	There was never any intention from {Hayes} or {Rockwell} (who
	worked together for two years on V.FC) that V.FC would be
	compatible with V.34 - even if they had wanted it, others
	would have made sure it didn't happen!  In fact, they made the
	start-up deliberately different from V.34 so that it would be
	easy to distinguish between the two and easier to make
	dual-mode V.FC/V.34 modems.

	V.FC is quite different from V.34.  Most of the
	signal-processing {algorithms}, whilst based on the same
	theory, are implemented in different ways.  V.34 has some
	extra things like a {secondary channel} and a special mode for
	28.8 kilobit per second fax.

	The Rockwell V.FC implementation uses a single-chip
	mask-programmed {DSP} for all the signal processing functions.
	You can also buy a modem controller chip from Rockwell to go
	with it which implements AT commands, error-control and
	{compression}.  Hayes made their own controller using the
	{Motorola} {68302} processor.  When it comes to an upgrade
	from V.FC to V.34 you have to have a new, masked DSP chip and
	new controller {firmware} to implement all the V.34-specific
	features.  This means that Rockwell-DSP based modems must be
	returned to the manufacturer for upgrade.  Upgraded modems
	will talk to either V.FC or V.34 modems.

vg

	<networking> The {country code} for the British Virgin
	Islands.

	(1999-01-27)

VGA

	<hardware> {Video Graphics Array} (not "Adapter").

	(1995-11-16)

VGQF

	A query language.

vgrep

	<jargon> /vee'grep/ (Or "optical grep") Visual {grep}.
	Finding patterns in a file by eye rather than digitally.

	Compare {vdiff}.

	[{Jargon File}]

	(1998-02-06)

VGX

	{Variational Graphics eXtended}

VHDL

	Very High Speed Integrated Circuit (VHSIC) Hardware
	Description Language.  A large high-level {VLSI} design
	language with Ada-like syntax.  The DoD standard for hardware
	description, now standardised as IEEE 1076.

	["VHSIC Hardware Description Language", M.R. Shahdad et al,
	IEEE Computer 18(2):94-103 (Feb 1985)].

VHE

	{Virtual Home Environment}

VHLL

	Very-{High-Level Language}.

	A {bondage-and-discipline language} that the speaker happens
	to like; {Prolog} and Backus's {FP} are often called VHLLs.

	(1994-12-07)

vhost

	{virtual host}

VHS

	1. {Very High Speed}.

	2. {storage} Video Home System.

	JVC's video cassette format.

	3. {Virtual Host Storage}.

vi

	1. <tool> {Visual Interface}.

	2. <networking> The {country code} for the U. S. Virgin
	Islands.

	[{Jargon File}]

	(1999-01-27)

VIC-20

	<computer> A home computer made by {Commodore} with a {6502}
	{CPU}, similar in style to the {Commodore 64} and {Commodore
	C16}.  The VIC-20 was released before the C64, and after the
	{Commodore PET}(?).  It was intended to be more of a low-end
	home computer than the PET.

	The VIC-20 had connectors for game cartridges and a {tape
	drive} (compatible with a C64).  It came with five {kilobytes}
	of {RAM}, but 1.5 KB were used by the system for various
	things, like the video display (which had an unusual 22x20
	char/line screen layout), and other dynamic aspects of the
	{operating system} (such as it was).  The RAM was expandable
	with a plug-in cartridge which used the same expansion port as
	games.  Port expander boxes were available to allow more than
	one cartridge to be connected at a time.

	RAM cartridges were available in several sizes: 3K, 8K, 16K
	and 32K.  The internal memory map was re-organised with the
	addition of each size cartridge, leading to the situation that
	some programs would only work if the right amount of memory
	was available.  The 32K cartridges were all third-party and
	had switches to allow the RAM to be enabled in sections so
	that any expansion size could be achieved.

	{BASIC} programs could use at most 24 KB of RAM.  Any extra
	occupied the location usually used by ROM cartridges
	(i.e. games).  This allowed people to copy ROM cartridges to
	tape and distribute them to their friends, who could load the
	tape into the top 8k of their 32k RAM packs.

	The name "VIC" came from the Video Interface Chip that was
	also used in the other, later, Commodore 8-bit computers.

	(2000-03-28)

victim cache

	<architecture> An extension to a {direct mapped cache} that
	adds a small, secondary, {fully associative cache} to store
	cache blocks that have been ejected from the main cache due to
	a capacity or conflict miss.  These ejected blocks are likely
	to be needed again so storing them in the secondary cache
	should increase performance.

	Victim caches with as few as five places have been found to
	reduce conflict misses, especially for small, direct-mapped
	data caches.  E.g. a four-place victim cache removed 20% to
	95% (depending on program) of such misses in a 4-KB cache.

	{(http://www.scism.sbu.ac.uk/ccsv/josephmb/CS-L2-MT/week12.html)}.

	(2007-02-23)

video

	<graphics> Moving images presented as a sequence of {static
	images} (called "frames") representing snapshots of the scene,
	taken at regularly spaced time intervals, e.g. 50 frames per
	second.  Apart from the frame rate, other important properties
	of a video are the {resolution} and {colour depth} of the
	individual images.

	Digital video data is typically stored and transmitted in a
	format like {MPEG} or {H.264} that includes synchoronised
	{sound}.

	Unlike broadcast {television}, digital video on a computer or
	network uses {compression}.  Compression is even more
	important for video that for static images due to the large
	amount of data involved in even a short video.  Furthermore,
	compression allows video to be transmitted via a channel whose
	bandwidth is less than the raw data rate implied by the
	resolution and frame rate.  This allows the recipient to start
	displaying the video before the transmission is complete, a
	process known as {streaming}.

	Compression can be relatively slow but decompression is done
	in {real-time} with the picture quality and {frame rate}
	varying with the processing power available and the size and
	scaling of the picture.

	There are many types of software for displaying video on
	computers including {Windows Media Player} from {Microsoft},
	{QuickTime} from {Apple Computer}, {DivX}, {VLC}, {RealPlayer}
	and {Acorn Computers}' {Replay}.

	(2011-01-04)

video adapter

	{graphics adaptor}

video card

	{graphics adaptor}

Video Compact Disc

	<storage> (VCD) A storage format used for film distribution.

	[Details?  Relationship to audio CD?]

	(2004-02-15)

video compression

	{Compression} of sequences of images.  Video compression
	{algorithms} use the fact that there are usually only small
	changes from one "frame" to the next so they only need to
	encode the starting frame and a sequence of differences
	between frames.  This is known as "inter-frame coding" or "3D
	coding".

	{MPEG} is a committee producing {standards} in this area and
	also the name of their standard {algorithm}.  {H.261} is
	another standard.

	See also {Integrated Information Technology}, {3DO},
	{full-motion video}, {Online Media}.

video conference

	An instance of {video conferencing}.

video conferencing

	<communications> A discussion between two or more groups of
	people who are in different places but can see and hear each
	other using electronic communications.  Pictures and sound are
	carried by the telecommunication network and such conferences
	can take place across the world.

	To overcome the {bandwidth} and {latency} limitations of
	current networks (especially the {PSTN}), some form of {video
	compression} is often used.

	(1995-05-01)

video dial tone

	<communications> A means by which telephone companies can
	deliver "television" programs on a {common carrier} basis and,
	by law, provide equal access to all.

	[What does this mean?]

	(1996-12-01)

video display standard

	{display standard}

video display terminal

	{visual display unit}

Video Electronics Standards Association

	<body, standard> (VESA) An industry {standards} organisation
	created in 1989 or 1990 mostly(?) concerned with {IBM}
	compatible {personal computers}.  The first standard it
	created was the 800 x 600 pixel {Super VGA} (SVGA) display and
	its software interface.  It also defined the {VESA Local Bus}
	(VLB).

	See also {PCI}.

	{(http://vesa.org/)}.

	(1995-11-16)

Video Graphics Adapter

	{Video Graphics Array}

Video Graphics Adaptor

	{Video Graphics Array}

Video Graphics Array

	<hardware> (VGA) A {display standard} for {IBM PCs}, with 640
	x 480 {pixels} in 16 colours and a 4:3 {aspect ratio}.  There
	is also a text mode with 720 x 400 pixels.

	IBM technical references define the *product name* of their
	original VGA display board as "Video Graphics Array", in
	contrast to the preceding boards, the "{Color Graphics
	Adapter}" (CGA) and "{Enhanced Graphics Adapter}" (EGA).

	See also {Super Video Graphics Adapter}.

	(1995-01-12)

video memory

	<storage> The memory in a computer's {graphics adaptor}, used
	to store the image displayed on a {bitmap display}.  Often
	this is built using {VRAM} chips.  There is normally a simple
	correspondence between groups of {bits} in video memory and
	the dots or "{pixels}" on the screen, such that writing to a
	given group of bits will alter the appearance of a single dot.
	If each pixel corresponds to eight bits then it can have any
	of 256 colours (or shades of grey on a monochrome display).

	The video display electronics is responsible for reading the
	data from video memory and converting it into the necessary
	signals to drive the display.  Often this includes a {colour
	palette} which converts pixel values into {RGB} triplets.

	(1996-11-01)

Video on Demand

	<communications> (VoD) A planned system using {video
	compression} to supply programs to viewers when requested, via
	{ISDN} or cable.

	(1994-11-02)

video RAM

	{video random-access memory}

video random-access memory

	<hardware> (VRAM) Fast memory designed for storing the image
	to be displayed on a computer's {monitor}.  VRAM may be built
	from special memory {integrated circuits} designed to be
	accessed sequentially.

	VRAM must be fast enough to supply data to the display
	electronics at the speed at which the screen is scanned.  Thus
	for example, for a {resolution} of 1280x1024 eight-bit
	{pixels} at a {refresh rate} of 70 Hz, the {video memory}
	would need to supply 1280x1024x70 = 90 Mbyte/s or one byte
	every 11 ns.  The VRAM may be {dual ported} in order to allow
	the display electronics and the {CPU} to access it at the same
	time.

	In an {IBM PC} the VRAM is located on the display interface
	card and 0.5 - 2 MB is typical.

	{A VRAM Song (http://fweep.com/vram.html)}!

	(2001-02-14)

video terminal

	{visual display unit}

videotex

	An obsolete electronic service offering people the privilege
	of paying to read the weather on their television screens
	instead of having somebody read it to them for free while they
	brush their teeth.  The idea bombed everywhere it wasn't
	government-subsidised, because by the time videotex was
	practical the installed base of personal computers could hook
	up to {time-sharing} services and do the things for which
	videotex might have been worthwhile better and cheaper.
	Videotex planners badly overestimated both the appeal of
	getting information from a computer and the cost of local
	intelligence at the user's end.  Like the {gorilla arm}
	effect, this has been a cautionary tale to hackers ever since.
	See also {vannevar}.

	[{Jargon File}]

Vienna Definition Language

	(VDL) IBM Vienna Labs.  A language for formal, algebraic
	definition via operational semantics.  Used to specify the
	semantics of PL/I.  See also {VDM}.

	["The Vienna Definition Language", P. Wegner, ACM Comp Surveys
	4(1):5-63 (Mar 1972)].

Vienna Definition Method

	{Vienna Development Method}

Vienna Development Method

	<programming, specification> (VDM) A program development
	method based on formal specification using the {Vienna
	Development Method Specification Language} (VDM-SL).

	[Details?]

	[Is there such a thing as "Vienna Definition Method"?]

	(2000-11-02)

Vienna Development Method Specification Language

	<programming, specification> (VDM-SL, Meta-IV) A
	model-oriented {specification language}, upon which the
	{Vienna Development Method} is based.  An {ISO} draft was
	released in April 1993.

	Version: BSI/VDM.

	{(ftp://gateway.dec.com/pub/vdmsl_standard)}.

	["The Vienna Development Method: The Meta-Language",
	D. Bjorner et al eds, LNCS 61, Springer 1978].

	["The VDM-SL Reference Guide", J. Dawes, Pitman 1991].

	["Systematic Software Development Using VDM", C.B. Jones, P-H
	1989].

	(2000-11-02)

Vienna Fortran

	A {data-parallel} extension of {Fortran 77} for distributed
	memory multiprocessors by Hans Zima
	<zima@sophie.par.univie.ac.at>, Vienna University.

	["Programming In Vienna Fortran", B. Chapman et al, Scientific
	Programming 1(1):31-50 (Aug 1992)].

Vietnamese

	<human language> An Asian language that, like other {CJKV}
	languages, requires 16-bit {character encodings} but, unlike
	them, does not use {Han characters}.

	While normal Vietnamese has not used Han characters since the
	18th century, the {standards} {TCVN 5773} and {TCVN 6056}
	contain Han characters and may be used by computers and
	academics.

	(2001-01-01)

viewer

	<tool> A program to allow a file to be read (or played) but
	not changed.  Viewers are often freely distributable, even
	when the editor application is not.  This allows you to create
	files with the editor and make the viewer available to other
	users to view your files, e.g. on a {website}.  Examples
	include the Word and Adobe Acrobat viewers.

	(1997-08-29)

ViewPoints

	<programming> A framework for distributed and {concurrent}
	software engineering which provides an alternative approach to
	traditional centralised software development environments.

	Decentralised process models are used to drive consistency
	checking and conflict resolution.  The process models use
	pattern matching on local development histories to determine
	the particular state of the development process, and employ
	rules to trigger situation-dependent assistance to the user.
	Communication between such process models facilitates the
	decentralised management of explicitly defined consistency
	constraints.

	[Ulf Leonhardt]

	(1995-03-27)

Views

	A Smalltalk extension for computer algebra.  "An Object
	Oriented Approach to Algebra System Design", K. Abdali et al,
	in Symp Symb Alg Manip, ACM 1986, pp.24-30.

VIF

	VHDL Interface Format.  Intermediate language used by the
	Vantage VHDL compiler.  "A VHDL Compiler Based on Attribute
	Grammar Methodology", R. Farrow et al, SIGPLAN NOtices
	24(7):120-130 (Jul 1989).

Vi Improved

	<text, tool> (VIM) (Previously "vi iMitation"), An improved
	version of {vi}, available for many {platforms}.  VIM allows
	multiscreen editing, more flexible insert/command {mode}
	handling, better {C} indentation and much more.

	{(http://vim.org/)}.

	(1999-06-15)

VIM

	1. <messaging> {Vendor Independent Messaging}.

	2. <text, tool> {Vi Improved}.

	(1999-06-15)

Vincennes LISP

	<language> (VLISP) A dialect of {Lisp} resulting from
	development, starting in 1971, of {Lisp} {interpreters} and
	{compilers} at the {University of Paris VIII - Vincennes}.
	VLISP interpreters and compilers were designed to run on small
	computers.

	{Documentation
	(http://www.artinfo-musinfo.org/en/issues/vlisp/)}.

	{History of Lisp
	(http://www.softwarepreservation.org/projects/LISP/index.html#VLISP_)}.

	[Relationship to {VLISP} by Greussay at Paris VI?]

	(2008-03-16)

vines

	<networking, product> A family of {local area network}ing
	products from {Banyan}.

	(1995-03-01)

Vine Technology

	<company> A company which provides professional consulting
	services in the areas of networking, real-time systems,
	graphic arts, and {web} server advertisement space.

	{(http://vine.com/)}.

	E-mail: <webmaster@vine.com>.

	(1995-03-03)

Vint Cerf

	<person> (Vinton G. Cerf) The co-inventor with {Bob Kahn} of
	the {Internet} and its base {protocol}, {TCP/IP}.  Like {Jon
	Postel}, he was crucial in the development of many
	higher-level protocols, and has written several dozen {RFCs}
	since the late 1960s.

	Vinton Cerf is senior vice president of Internet Architecture
	and Technology for {MCI WorldCom}.  His team of architects and
	engineers design advanced Internet frameworks for delivering a
	combination of data, information, voice and video services for
	business and consumer use.

	In December 1997, President Clinton presented the U.S.
	National Medal of Technology to Cerf and his partner, Robert
	E. Kahn, for founding and developing the Internet.

	Prior to rejoining MCI in 1994, Cerf was vice president of the
	Corporation for National Research Initiatives (CNRI).  As vice
	president of MCI Digital Information Services from 1982-1986,
	he led the engineering of {MCI Mail}, the first commercial
	e-mail service to be connected to the Internet.

	During his tenure from 1976-1982 with the U.S. Department of
	{Defense Advanced Research Projects Agency} (DARPA), Cerf
	played a key role leading the development of Internet and
	Internet-related data packet and security technologies.

	Cerf served as founding president of the {Internet Society}
	from 1992-1995 and is currently chairman of the Board.  Cerf
	is a member of the U.S. Presidential Information Technology
	Advisory Committee (PITAC) and the Advisory Committee for
	Telecommunications (ACT) in Ireland.

	Cerf is a recipient of numerous awards and commendations in
	connection with his work on the Internet.  In December 1994,
	People magazine identified Cerf as one of that year's "25 Most
	Intriguing People."

	In addition to his work on behalf of MCI and the Internet,
	Cerf serves as technical advisor to production for "Gene
	Roddenberry's Earth: Final Conflict," the number one
	television show in first-run syndication.  He also made a
	special guest appearance in May 1998. Cerf also holds an
	appointment as distinguished visiting scientist at the Jet
	Propulsion Laboratory where he is working on the design of an
	interplanetary Internet.

	Cerf holds a Bachelor of Science degree in Mathematics from
	Stanford University and Master of Science and Ph.D. degrees in
	Computer Science from UCLA.  He also holds honorary Doctorate
	degrees from the Swiss Federal Institute of Technology,
	Zurich; Lulea University of Technology, Sweden; University of
	the Balearic Islands, Palma; Capitol College and Gettysburg
	College.

	{(http://mci.com/cerfsup/)}.

	(1999-02-25)

Vinton Cerf

	{Vint Cerf}

Viola

	An experimental {hypercard}-like interpreted {hypertext}
	system by Pei Y. Wei of {Berkeley}.

	(1994-11-30)

virgin

	Unused; pristine; in a known initial state.  "Let's bring up a
	virgin system and see if it crashes again."  (Especially
	useful after contracting a {virus} through {SEX}.)  Also, by
	extension, buffers and the like within a program that have not
	yet been used.

	[{Jargon File}]

	(1994-11-30)

virgule

	<character> Rare, and ambiguous: {slash} or {comma}.

	"Virgule" (or rather, Latin "virgula", meaning "little rod"
	or, vividly enough, "little penis") was the name of a
	punctuation character shaped like a small {slash} and used in
	the Latin writing system much like a modern {comma} -- hence
	the ambiguity of this term in modern English.

	Compare French "virgule" and Italian "virgola", meaning
	"comma" (not "slash"); Italian "doppia virgola" and
	"virgoletta", both meaning "{double quote}".

	(1997-04-08)

Viron

	["Five Paradigm Shifts in Programming Language Design and
	Their Realisation in Viron, a Dataflow Programming
	Environment", V. Pratt, 10th POPL, ACM 1983, pp. 1-9].

	(1994-11-30)

virtual

	<jargon, architecture> (Via the technical term {virtual
	memory}, probably from the term "virtual image" in optics)
	1. Common alternative to {logical}; often used to refer to the
	artificial objects (like addressable {virtual memory} larger
	than physical memory) created by a computer system to help the
	system control access to shared resources.

	2. Simulated; performing the functions of something that isn't
	really there.  An imaginative child's doll may be a virtual
	playmate.

	Opposite of {real} or physical.

	[{Jargon File}]

	(1994-11-30)

virtual 86 mode

	<processor, programming> (Or "virtual mode" or "virtual 8086
	mode") An operating mode provided by the {Intel 80386} and
	later processors to allow {real mode} programs to run under
	{operating systems} which use {protected mode}.  In this
	sub-mode of protected mode, an operating environment is
	created which mimics the address calculation in real mode.

	In virtual 86 mode the segment {MMU} is practically turned off
	and the {segment registers} exhibit the same behaviour as in
	real mode.  The {page}d MMU, however, still operates.  This
	means that the one megabyte {address space} of real mode can
	be remapped in four kilobyte {pages} to anywhere in the 32 bit
	{physical address} space.  Each page can be protected
	separately from read or write accesses.

	Virtual mode is handled on a per-task-basis, so each
	{exception} (from protection violations or {interrupts})
	switches the processor back into protected mode.  It is
	therefore possible to have multiple tasks in virtual mode
	which run {concurrent}ly under the control of an operating
	system which runs in protected mode.

	Most operating system services in {MS-DOS} systems are called
	by {software interrupts}, which are a kind of exception.  If
	an MS-DOS application runs in virtual mode under the control
	of a protected mode operating system, each call to MS-DOS
	causes a switch to protected mode.  The operating system
	emulates the MS-DOS service and switches back to the
	application in virtual mode.  From the viewpoint of the
	application nothing differs from real mode.

	{Microsoft Windows}, {Windows NT}, and {OS/2} use this feature
	to implement "DOS-boxes" in which both MS-DOS and real mode
	{application programs} can run.

virtual address

	1. <architecture> A memory location accessed by an
	{application program} in a system with {virtual memory} such
	that intervening hardware and/or software maps the virtual
	address to real ({physical}) memory.  During the course of
	execution of an application, the same virtual address may be
	mapped to many different {physical addresses} as data and
	programs are {paged out} and {paged in} to other locations.

	2. In {IBM}'s {VM} {operating system}, {Virtual Device
	Location}.

	(2001-01-02)

virtual cache

	A {cache} which uses {virtual address}, i.e. it is between the
	processor and the {memory management unit}.  A virtual cache
	cannot recognise external access to physical address, e.g. from
	{DMA}.  The whole cache must be flushed when swapping between
	tasks which share same virtual {address space}.

	(1994-11-30)

virtual circuit

	<networking> A {connection-oriented} {network} service which
	is implemented on top of a network which may be either
	connection-oriented or {connectionless} ({packet switching}).

	The term "switched virtual circuit" was coined needlessly to
	distinguish an ordinary virtual circuit from a {permanent
	virtual circuit}.  (One of the perpetrators of this confusion
	appears to be ["Networking Essentials", 1996, Microsoft Press,
	ISBN 1-55615-806-8], a book aimed at people preparing for the
	{MCSE} exam on {LANs} and {WANs}).

	Not to be confused with {switched virtual connection}.

	(2001-10-26)

Virtual Circuit Identifier

	<networking> (VCID) An identifier used for the {routing} of a
	{virtual circuit}.  An {ATM} {switch} may route according to a
	Virtual Circuit Identifier, a {Virtual Path Identifier}, or a
	combination.

	(2001-05-16)

virtual connection

	<networking> 1. (VC) A connection or a path through an {ATM}
	network.  The word "{virtual}" indicates that the connection
	is {logical} rather than {physical}.

	Nothing to do with a {virtual circuit} on a {packet switching}
	network.

	[Fred Halsall, "Data Communications, Computer Networks and
	Open Systems", 1996, Addison Wesley].

	2. A communications link that appears to be a direct
	connection between sender and receiver, although physically
	the link can be routed through a more circuitous path, running
	over {virtual circuits} instead of a private network built
	primarily with {dedicated lines}.

	A virtual connection can provide full-time connection among
	many sites, including those configured for {SNA}/{SDLC}
	{protocol}.  A virtual connection can handle any transmission
	protocol and is supported worldwide.  It can provide high
	throughput and low delay for {LAN} and {Internet}
	applications, peer-to-peer connectivity, client-server
	computing, and other distributed processing applications.

	[Same as {virtual circuit}?]

	(2001-10-26)

Virtual Control Program Interface

	(VCPI) An alternative, and incompatible method for doing the
	same thing as {DOS Protected Mode Interface} (DPMI).

	(1995-01-12)

Virtual Device Driver

	<operating system> (VxD) A {device driver} under {Windows
	3.x}/{Windows 95} running as part of the {kernel} and thus
	having access to the memory of the kernel and all running
	processes as well as raw access to the hardware.  VxD's
	usually have the {filename extension} .386 under Windows 3.x
	and .vxd under Windows 95.  VxD's written for Windows 3.x can
	be used under Windows 95 but not vice versa.

	(1997-02-27)

Virtual Device Location

	(Or "Virtual Address") The address of a device (e.g. disk,
	printer, terminal) belonging to a "guest" {operating system}.
	Such an address is mapped to a physical device.  VM may remap
	several virtual disks to different parts of a single physical
	disk.

	(1995-02-22)

virtual disk

	{RAM disk}

Virtual Home Environment

	(VHE) A tool for using {NFS} on {HP UX}.

	(1994-12-07)

virtual host

	<networking> Most computers on the {Internet} have a single
	{IP address}; however, often via special {kernel}
	patches, a given computer can be made to respond to several
	{IP} addresses and provide different {services} (typically
	different {Web} services) on each.  Each of these different IP
	addresess (which generally each have their own {hostname}) act
	as if they were distinct hosts on distinct machines, even
	though they are actually all one host.  Hence, they are
	{virtual} hosts.  A common use is when an {Internet Service
	Provider} "hosts" {web} or other services for
	several of their customers on one computer but giving the
	appearence that they are separate servers.

	(1997-09-11)

Virtual LAN

	<networking> Software defined groups of {host} on a {local
	area network} (LAN) that communicate as if they were on the
	same wire, even though they are physically on different {LAN
	segments} throughout a site.  To define a virtual LAN, the
	{network administrator} uses a virtual LAN management utility
	to establish membersip rules that determine which hostss are
	in a specific virtual LAN.  Many models may exist but two seem
	to dominate:

	(1) Vitual Segment (or Port-Group) Virtual LAN.  These are
	switched at the {data link layer} ({OSI} layer 2).  Virtual
	segments turn an arbitrary number of physical segments into a
	single virtual segment that funtions as a self-contained
	traffic domain.

	(2) Virtual Subnet Virtual LAN: These are switched at the
	{Network Layer} ({OSI} layer 3).  Subnet-oriented virtual LANs
	are based on {subnet address}es used by {IP}, {IPX}, and other
	{network layer} {protocols} to normally identify physical
	networks.  Administrators assign one subnet address to a
	number of switch {ports} (which may be on different switches
	and over a backbone).  Once identified as a virtual subnet,
	the selected LANs function as a {bridge group} - traffic is
	bridged at Layer 2 within the virtual subnet and routed at
	Layer 3 between virtual subnets.

	["The many faces of virtual LANs", Steven King, Network
	World, 1994/5?].

	(1995-04-03)

Virtual Loadable Module

	<networking> (VLM) {Novell}'s term for software modules that
	can be dynamically loaded to extend the functionality of the
	"VLM" {NetWare Requester} for {MS-DOS} that became standard
	beginning with {Novell NetWare} 4.

	(1995-01-11)

Virtual Local Area Network

	<networking> (VLAN) A logical grouping of two or more {nodes}
	which are not necessarily on the same physical {network
	segment} but which share the same {IP} {network number}.  This
	is often associated with {switched Ethernet}.

	IEEE 802.1Q is a VLAN standard.

	[Confirm?  Better description?  Reference?]

	(2002-08-30)

Virtual Machine

	<operating system> (VM) An {IBM} pseudo-{operating system}
	{hypervisor} running on {IBM 370}, {ESA} and {IBM 390}
	architecture computers.

	VM comprises CP ({Control Program}) and CMS ({Conversational
	Monitor System}) providing Hypervisor and personal computing
	environments respectively.  VM became most used in the early
	1980s as a Hypervisor for multiple {DOS/VS} and {DOS/VSE}
	systems and as IBM's internal operating system of choice.  It
	declined rapidly following widespread adoption of the {IBM PC}
	and hardware partitioning in {microcode} on IBM {mainframes}
	after the {IBM 3090}.

	VM has been known as VM/SP (System Product, the successor to
	{CP/67}), VM/XA, and currently as VM/ESA (Enterprise Systems
	Architecture).  VM/ESA is still in used in 1999, featuring a
	{web} interface, {Java}, and {DB2}.  It is still a major IBM
	operating system.

	{(http://vmdev.gpl.ibm.com/)}.

	["History of VM"(?), Melinda Varian, Princeton University].

	(1999-10-31)

virtual machine

	1. An {abstract machine} for which an {interpreter} exists.
	Virtual machines are often used in the implementation of
	portable executors for {high-level languages}.  The HLL is
	compiled into code for the virtual machine (an {intermediate
	language}) which is then executed by an {interpreter} written
	in {assembly language} or some other portable language like
	{C}.

	Examples are {Core War}, {Java Virtual Machine}, {OCODE},
	{OS/2}, {POPLOG}, {Portable Scheme Interpreter}, {Portable
	Standard Lisp}, {Parallel Virtual Machine}, {Sequential Parlog
	Machine}, {SNOBOL Implementation Language}, {SODA},
	{Smalltalk}.

	2. A software emulation of a physical computing environment.

	The term gave rise to the name of {IBM}'s {VM} {operating
	system} whose task is to provide one or more simultaneous
	execution environments in which operating systems or other
	programs may execute as though they were running "on the bare
	iron", that is, without an eveloping Control Program.  A major
	use of VM is the running of both outdated and current versions
	of the same operating system on a single {CPU} complex for the
	purpose of system migration, thereby obviating the need for a
	second processor.

	(2002-04-15)

Virtual Machine/Conversational Monitor System

	<operating system> (VM/CMS) An {IBM} {time-sharing} and
	personal computing environment executing under {Virtual
	Machine} (VM) in a virtual machine environment.  VM/CMS is
	designed to support large numbers of {interactive} users.  It
	relies on numerous {APIs} into the {Control Program} (CP) to
	provide very efficient single-user processing

	VM/CMS was only adopted some time after the original design of
	{Virtual Machine} as a more efficient personal computing
	environment than {MVS/TSO}.

	(1999-01-19)

Virtual Machine Environment

	<operating system> (VME) {ICL}'s {mainframe} {operating
	system}.

	(1995-06-28)

Virtual Machine/ESA

	{Virtual Machine}

Virtual Machine/System Product

	{Virtual Machine}

Virtual Machine/XA

	{Virtual Machine}

virtual memory

	<memory management> A system allowing a computer program to
	behave as though the computer's memory was larger than the
	actual {physical} {RAM}.  The excess is stored on {hard disk}
	and copied to RAM as required.

	Virtual memory is usually much larger than physical memory,
	making it possible to run programs for which the total code
	plus data size is greater than the amount of RAM available.
	This is known as "{demand paged} virtual memory".  A page is
	copied from disk to RAM ("paged in") when an attempt is made
	to access it and it is not already present.  This paging is
	performed automatically by collaboration between the {CPU},
	the {memory management unit} (MMU), and the {operating system}
	{kernel}.  The program is unaware of virtual memory, it just
	sees a large {address space}, only part of which corresponds
	to physical memory at any instant.

	The virtual {address space} is divided into {pages}.  Each
	{virtual address} output by the {CPU} is split into a
	(virtual) {page} number (the most significant bits) and an
	offset within the page (the N least significant bits).  Each
	page thus contains 2^N {bytes} (or whatever the unit of
	addressing is).  The offset is left unchanged and the {memory
	management unit} (MMU) maps the virtual page number to a
	{physical} page number.  This is recombined with the offset to
	give a {physical address} - a location in {physical memory}
	({RAM}).

	The performance of a program will depend dramatically on how
	its memory access pattern interacts with the paging scheme.
	If accesses exhibit a lot of {locality of reference},
	i.e. each access tends to be close to previous accesses, the
	performance will be better than if accesses are randomly
	distributed over the program's {address space} thus requiring
	more paging.

	In a {multitasking} system, physical memory may contain pages
	belonging to several programs.  Without {demand paging}, an OS
	would need to allocate physical memory for the whole of every
	active program and its data.  Such a system might still use an
	{MMU} so that each program could be located at the same
	{virtual address} and not require run-time relocation.  Thus
	virtual addressing does not necessarily imply the existence of
	virtual memory.  Similarly, a {multitasking} system might load
	the whole program and its data into physical memory when it is
	to be executed and copy it all out to disk when its
	{timeslice} expired.  Such "swapping" does not imply virtual
	memory and is less efficient than paging.

	Some {application programs} implement virtual memory wholly in
	software, by translating every virtual memory access into a
	file access, but efficient virtual memory requires hardware
	and operating system support.

	(2002-11-26)

Virtual Memory System

	<operating system> (VMS) {DEC}'s proprietary {operating
	system} originally produced for its {VAX} {minicomputer}.

	VMS V1 was released in August 1978.  VMS was renamed "OpenVMS"
	around version 5.5.  The first version of VMS on {DEC Alpha}
	was known as OpenVMS for AXP V1.0, and the correct way to
	refer to the operating system now is OpenVMS for VAX or
	OpenVMS for Alpha.  The renaming also signified the fact that
	the {X/Open} consortium had certified OpenVMS as having a high
	support for {POSIX} standards.

	VMS is one of the most secure operating systems on the market
	(making it popular in financial institutions).  It currently
	(October 1997) has the best {clustering} capability (both
	number and distance) and is very scalable with {binaries}
	portable from small desktop {workstations} up to huge
	{mainframes}.

	Many {Unix} fans generously concede that VMS would probably be
	the {hacker}'s favourite commercial OS if Unix didn't exist;
	though true, this makes VMS fans furious.

	{FAQ
	(http://cis.ohio-state.edu/hypertext/faq/bngusenet/comp/os/vms/top.html)}.

	{Usenet} newsgroup: {news:comp.os.vms}.

	[How does its performance compare with other OSes?]

	(1999-06-03)

virtual path

	<networking> The location of a file or directory on a
	particular {server}, as seen by a remote {client} accessing it
	via {web} (or similar distributed document
	service).

	A virtual path provides access to files outside the default
	directory and subdirectories.  It appears in the form
	".../~name/..." where "~name" is replaced with actual path
	configured by the administrator.  An {access control list} can
	be associated with a virtual path.

	(1995-04-13)

virtual point of presence

	(virtual PoP) A point, via which users can connect to an
	{Internet access provider}, which is not operated by the
	provider.  The user is charged by the telephone company for
	the call to the virtual point of presence which relays his
	call via some third party circuit to the Internet provider's
	central location.  This is in contrast to a physical {point of
	presence} (PoP) which is operated by the Internet provider
	themselves.  The advantage of a virtual PoP is that the
	provider can keep all their {modems} in one location, thus
	improving availability and maintenance, but users do not have
	to pay long-distance call charges to that point.

	(1994-12-13)

virtual PoP

	{virtual point of presence}

Virtual Private Network

	<networking, security> (VPN) The use of {encryption} in the
	lower {protocol layers} to provide a secure connection through
	an otherwise insecure network, typically the {Internet}.  VPNs
	are generally cheaper than real private networks using private
	lines but rely on having the same encryption system at both
	ends.  The encryption may be performed by {firewall} software
	or possibly by {routers}.

	Link-level (layer 2 and 3) encryption provides extra
	protection by encrypting all of each {datagram} except the
	link-level information.  This prevents a listener from
	obtaining information about network structure.  While
	link-level encryption prevents traffic analysis (a form of
	attack), it must encrypt/decrypt on every {hop} and every
	path.

	Protocol-level encryption (layer 3 and 4) encryption encrypts
	protocol data but leaves protocol and link headers clear.
	While protocol-level encryption requires you to
	encrypt/decrypt data only once, and it encrypts/decrypts only
	those sessions that need it, headers are sent as clear text,
	allowing traffic analysis.

	Application (layer 5 up) encryption is based on a particular
	application and requires that the application be modified to
	incorporate encryption.

	{Cisco
	(http://cisco.com/univercd/cc/td/doc/product/lan/cat5000/cnfg_nts/rsm/rsm_pa/4801encr.htm)}.

	(1999-11-15)

virtual reality

	(VR)

	1. <application> Computer simulations that use 3D graphics and
	devices such as the {data glove} to allow the user to interact
	with the simulation.

	2. <games> A form of network interaction incorporating aspects
	of role-playing games, interactive theater, improvisational
	comedy, and "true confessions" magazines.  In a virtual
	reality forum (such as {Usenet}'s {news:alt.callahans}
	newsgroup or the {MUD} experiments on {Internet} and
	elsewhere), interaction between the participants is written
	like a shared novel complete with scenery, "foreground
	characters" that may be personae utterly unlike the people who
	write them, and common "background characters" manipulable by
	all parties.  The one iron law is that you may not write
	irreversible changes to a character without the consent of the
	person who "owns" it, otherwise, anything goes.

	See {bamf}, {cyberspace}.

	[{Jargon File}]

	(1995-01-30)

Virtual Reality Modeling Language

	<virtual reality, language> (VRML) A draft specification for
	the design and implementation of a {platform}-independent
	language for {virtual reality} scene description.

	VRML 1.0 was released on 1995-05-26.

	{(http://vrml.org/)}.

	{Wired (http://vrml.wired.com/)}.

	{Hypermail Archive (http://vrml.wired.com/arch/)}.

	Mailing list: <majordomo@wired.com> (message body: "subscribe
	www-vrml your-email-address").

	(1995-07-20)

Virtual Sequential Access Method

	{Virtual Storage Access Method}

virtual server

	<web> A configuration of a {web}
	{server} that appears to {clients} as an independent server
	but which is actually running on a computer that is shared by
	any number of other virtual servers.  Each virtual server can
	be configured as an independent {website}, with its own
	{hostname}, content, and security settings.

	{DNS} maps the hostnames of all virtual servers on one
	physical server to its {IP address}.  The web server software
	then uses the "Host" header in the {HTTP} request to determine
	which virtual server the request was for, and then processes
	the request using that virtual server's configuration.

	Virtual servers allow {Internet Service Providers} to share
	one computer between multiple {websites} while allowing the
	owner of each website to use and administer the server as
	though they had complete control.

	(2003-06-23)

virtual shredder

	The jargon equivalent of the {bit bucket} at shops using
	{IBM}'s {VM/CMS} {operating system}.  VM/CMS officially
	supports a whole bestiary of virtual card readers, virtual
	printers, and other phantom devices; these are used to supply
	some of the same capabilities {Unix} gets from {pipes} and
	{I/O redirection}.

	[{Jargon File}]

	(1995-01-30)

Virtual Software Factory

	<programming, tool> (VSF) A product from {Systematica} which
	allows users to develop {CASE} tools appropriate to any
	software engineering methodology.

	(1997-06-09)

Virtual Storage Access Method

	<database> (VSAM) An {IBM} disk file storage scheme first used
	in {S/370} and virtual storage.  VSAM comprises three access
	methods: {Keyed Sequenced Data Set} (KSDS), {Relative Record
	Data Set} (RRDS), and {Entry Sequenced Data Set} (ESDS).

	Both {IMS/DB} and {DB2} are implemented on top of VSAM and use
	its underlying data structures.

	["Storage" or "Sequential"?]

	(2002-07-26)

Virtual Storage Extended

	<operating system> (VSE, formerly DOS/VSE) is a
	{multitasking}, {IBM 370}-architected {operating system}
	similar to {Multiple Virtual Storage} (MVS).

	VSE run jobs in {partitions} rather than {address spaces}, and
	uses {POWER} for input/output rather than {JES}, but is
	largely similar to MVS.  Subsequent VSE/{ESA} releases gave
	VSE the {XA-370} channel architecture, 31-bit virtual and real
	storage support, and data spaces.  VSE is the {IBM} operating
	system on one-third of installed {IBM 4381s} and a significant
	proportion of {IBM 9370s} as well.  It offers {transaction
	processing} and {batch processing} capabilities well beyond
	{Virtual Machine}'s current capabilities, and has a close
	affinity with MVS.

	(1997-06-09)

Virtual Telecommunications Access Method

	(VTAM) A data communications access method compatible with
	{IBM}'s {Systems Network Architecture}.

	[More detail?]

	(1995-01-30)

virus

	<security> (By analogy with biological viruses, via science
	fiction) A program or piece of code, a type of {malware},
	written by a {cracker}, that "infects" one or more other
	programs by embedding a copy of itself in them, so that they
	become {Trojan horses}.  When these programs are executed, the
	embedded virus is executed too, thus propagating the
	"infection".  This normally happens invisibly to the user.

	A virus has an "engine" - code that enables it to propagate
	and optionally a "payload" - what it does apart from
	propagating.  It needs a "host" - the particular hardware and
	software environment on which it can run and a "trigger" - the
	event that starts it running.

	Unlike a {worm}, a virus cannot infect other computers without
	assistance.  It is propagated by vectors such as humans
	trading programs with their friends (see {SEX}).  The virus
	may do nothing but propagate itself and then allow the program
	to run normally.  Usually, however, after propagating silently
	for a while, it starts doing things like writing "cute"
	messages on the terminal or playing strange tricks with the
	display (some viruses include {display hacks}).  Viruses
	written by particularly antisocial {crackers} may do
	irreversible damage, like deleting files.

	By the 1990s, viruses had become a serious problem, especially
	among {IBM PC} and {Macintosh} users (the lack of security on
	these machines enables viruses to spread easily, even
	infecting the operating system).  The production of special
	{antivirus software} has become an industry, and a number of
	exaggerated media reports have caused outbreaks of near
	hysteria among users.  Many {lusers} tend to blame
	*everything* that doesn't work as they had expected on virus
	attacks.  Accordingly, this sense of "virus" has passed into
	popular usage where it is often incorrectly used for other
	types of {malware} such as {worms} or {Trojan horses}.

	See {boot virus}, {phage}.  Compare {back door}.  See also
	{Unix conspiracy}.

	[{Jargon File}]

	(2003-06-20)

viruses

	{virus}

visible bell

	<communications> (Or "visual bell") A program option (whether
	in a terminal program, {termcap} setting, or as a
	{stand-alone} program) which outputs the {bell} {character
	code} as a visual signal (e.g., a flashing status bar or menu
	bar).

	Generally intended for deaf or hearing-disabled users who
	couldn't hear the normal auditory beep; also widely used by
	users who simply don't want their machines {feep}ing at them
	or disturbing other users.

	[Implementations?]

	(1997-04-07)

VisiCalc /vi'zi-calk/

	<application, tool, business, history> The first {spreadsheet}
	program, conceived in 1978 by {Dan Bricklin}, while he was an
	MBA student at Harvard Business School.  Inspired by a
	demonstration given by {Douglas Engelbart} of a
	{point-and-click} {user interface}, Bricklin set out to design
	an {application} that would combine the intuitiveness of
	pencil and paper calculations with the power of a
	{programmable pocket calculator}.

	Bricklin's design was based on the (paper) financial
	spreadsheet, a kind of document already used in business
	planning.  (Some of Bricklin's notes for VisiCalc were
	scribbled on the back of a spreadsheet pad.)  VisiCalc was
	probably not the first application to use a spreadsheet model,
	but it did have a number of original features, all of which
	continue to be fundamental to spreadsheet software.  These
	include {point-and-type} editing, {range} {replication}, and
	formulas that update automatically with changes to other
	{cells}.

	VisiCalc is widely credited with creating the sudden demand
	for desktop computers that helped fuel the {microcomputer}
	boom of the early 1980s.  Thousands of business people with
	little or no technical expertise found that they could use
	VisiCalc to create sophisticated financial programs.  This
	makes VisiCalc one of the first {killer apps}.

	{Dan Bricklin's Site (http://bricklin.com/visicalc.htm)}.

	(2003-07-05)

visionary

	1. One who hacks vision, in the sense of an Artificial
	Intelligence researcher working on the problem of getting
	computers to "see" things using TV cameras.  (There isn't any
	problem in sending information from a TV camera to a computer.
	The problem is, how can the computer be programmed to make use
	of the camera information?  See {SMOP}, {AI-complete}.)

	2. [IBM] One who reads the outside literature.  At IBM,
	apparently, such a penchant is viewed with awe and wonder.

	[{Jargon File}]

visit

	<programming> To process a {node} while {traversing} a
	{graph}.

	(2001-09-30)

Visual BASIC

	<language> (VB) A popular {event-driven} {visual programming}
	system from {Microsoft Corporation} for {Microsoft Windows}.
	VB is good for developing Windows interfaces, it invokes
	fragments of {BASIC} code when the user performs certain
	operations on graphical objects on-screen.  It is widely used
	for in-house {application program} development and for
	prototyping.  It can also be used to create {ActiveX} and
	{COM} components.

	Version 1 was released in 1991 [by Microsoft?].

	Latest version: 6, as of 1999-11-26.

	{(http://msdn.microsoft.com/vbasic/)}.
	{History (http://iessoft.com/scripts/vbhistry.asp)}.
	{Strollo Software (http://op.net/~jstrollo/vblinks.html)}.
	{Books
	(http://wrox.com/Consumer/Default.asp?Category=Visual+Basic)}.

	(1999-11-26)

Visual Basic for Applications

	<programming> (VBA) {Microsoft}'s common language for
	manipulating components of its {Microsoft Office} suite.  It
	is used as the {macro} language for these applications and is
	the primary means of customising and extending them.  A VBA
	program operates on {objects} representing the application and
	the entities it manipulates, e.g. a {spreadsheet} or a range
	of cells in {Microsoft Excel}.

	[Relationship to {Visual BASIC}?  URL?]

	(1999-09-12)

Visual BASIC Script

	<language> (VBScript) Microsoft's {scripting language} which
	is an extension of their {Visual Basic} language.  VBScript
	can be used with {Microsoft Office} applications and others.
	It can also be embedded in {web pages} but can only be
	understood by {Internet Explorer}.

	Visual Basic is a {BASIC} variant with {object-oriented}
	features.  Objects include applications, windows and
	selections.

	[Relationship with {ASP}?  {VBA}?]

	(1998-07-05)

visual bell

	{visible bell}

Visual C++

	A {C} and {C++} programming environment sold by {Microsoft}
	Corporation.

	{Usenet} newsgroup: {news:comp.lang.c++}.

	[Differences?  Features?]

	(1994-12-21)

Visual Component Library

	<programming> {VCL} A {application framework} library for
	{Microsoft Windows} and {Borland Software Corp.}'s {Delphi}
	and {C++Builder} {rapid application development} software.
	VCL was originally designed for Delphi but is now also used
	for C++Builder.  This replaces {OWL} {Object Windows Library}
	as Borland's Windows C++ framework of choice.  VCL
	encapsulates the C-based {Win32 API} into a much easier to
	use, {object-oriented} form.  Like its direct rival,
	{Microsoft Foundation Class Library} (MFC), VCL includes
	classes to create Windows programs.

	The VCL component class can be inherited to create new VCL
	components, which are the building blocks of Delphi and
	C++Builder applications.  VCL components are somewhat in
	competition with {ActiveX} controls, though a VCL wrapper can
	be created to make an ActiveX control seem like a VCL
	component.

	{Home
	(http://borland.com/bcppbuilder/productinfo/feaben/visual.html)}.

	(2001-07-09)

Visual dBASE

	<language> A {Rapid Application Development} suite with a
	compiler and {intranet} tools to enable developers to publish
	data on the {web}.  Originally a {Borland} product,
	the first version released by {dBase, Inc.} was Visual dBase
	5.7.

	(2003-11-24)

Visual Display Unit

	<hardware> (VDU, or "video terminal", "video display
	terminal", VDT, "display terminal") A device incorporating a
	{cathode ray tube} (CRT) display, a keyboard and a {serial
	port}.  A VDU usually also includes its own display
	electronics which store the received data and convert it into
	electrical waveforms to drive the CRT.

	VDUs fall into two categories: {dumb terminals} and
	{intelligent terminals} (sometimes called "programmable
	terminals").

	Early VDUs could only display characters in a single preset
	{font}, and these were confined to being layed out in a
	rectangular grid, reproducing the functionality of the
	paper-based {teletypes} they were designed to replace.

	Later models added graphics facilities but were still driven
	via serial communications, typically with several VDUs
	attached to a single multi-user computer.  This contrasts with
	the much faster single {bitmap displays} integrated into most
	modern single-user {personal computers} and {workstations}.

	The term "Display Screen Equipment" (DSE) is used almost
	exclusively in connection with the health and safety issues
	concerning VDUs.

	{Working with VDUs - UK Heath and Safety Executive
	(http://hse.gov.uk/pubns/indg36.pdf)}.

	(2002-11-09)

Visual FoxPro

	<database> A {Microsoft} {database} derived from {Fox
	Software}'s {FoxPRO}.

	Latest version: 5.0, as of 2000-06-21.

	{(http://msdn.microsoft.com/vfoxpro/)}.

	[Features?  Dates?]

	(2000-08-06)

Visual Interface

	<tool, text> (vi) /V-I/, /vi:/, *never* /siks/ A {screen
	editor} {crufted} together by {Bill Joy} for an early {BSD}
	release.  vi became the de facto standard {Unix} editor and a
	nearly undisputed hacker favourite outside of {MIT} until the
	rise of {Emacs} after about 1984.

	It tends to frustrate new users no end, as it will neither
	take commands while expecting input text nor vice versa, and
	the default setup provides no indication of which mode the
	editor is in (one correspondent accordingly reports that he
	has often heard the editor's name pronounced /vi:l/).
	Nevertheless it is still widely used (about half the
	respondents in a 1991 {Usenet} poll preferred it), and even
	some Emacs fans resort to it as a mail editor and for small
	editing jobs (mainly because it starts up faster than the
	bulkier versions of Emacs).

	See {holy wars}.

	(1995-10-03)

visualisation

	<graphics> Making a visible presentation of numerical data,
	particularly a graphical one.  This might include anything
	from a simple X-Y graph of one dependent variable against one
	independent variable to a {virtual reality} which allows you
	to fly around the data.

	{Gnuplot} is the {Free Software Foundation}'s utility for
	producing various kinds of graphs.

	{Usenet} newsgroup: {news:comp.graphics}.

	The {Computer Graphics Resource Listing} contains pointers to
	several visualisation tools.

	{comp.graphics FAQ
	(ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics/)}.

	{Electronic Visualization Laboratory, University of Illinois
	at Chicago (http://ncsa.uiuc.edu/EVL/docs/Welcome.html)}.

	(2002-02-21)

visual language

	{visual programming language}

visual programming

	1. Writing programs in a language which manipulates visual
	information or supports visual interaction.

	2. Writing programs in a {visual programming language}.

	3. Writing programs in a {visual programming environment}.

visual programming environment

	Software which allows the use of visual expressions (such as
	graphics, drawings, animation or {icons}) in the process of
	programming.  These visual expressions may be used as
	graphical interfaces for textual programming languages.  They
	may be used to form the syntax of new visual programming
	languages leading to new paradigms such as {programming by
	demonstration} or they may be used in graphical presentations
	of the behaviour or structure of a program.

	(1995-02-23)

visual programming language

	<language> (VPL) Any programming language that allows the user
	to specify a program in a two-(or more)-dimensionsional way.
	Conventional textual languages are not considered
	two-dimensional since the {compiler} or {interpreter}
	processes them as one-dimensional streams of characters.  A
	VPL allows programming with visual expressions - spatial
	arrangements of textual and graphical symbols.

	VPLs may be further classified, according to the type and
	extent of visual expression used, into {icon}-based languages,
	{form}-based languages and {diagram languages}.  {Visual
	programming environments} provide graphical or iconic elements
	which can be manipulated by the user in an interactive way
	according to some specific spatial grammar for program
	construction.

	A visually transformed language is a non-visual language with
	a superimposed visual representation.  Naturally visual
	languages have an inherent visual expression for which there
	is no obvious textual equivalent.

	{Visual Basic}, {Visual C++} and the entire {Microsoft} Visual
	family are not, despite their names, visual programming
	languages.  They are textual languages which use a graphical
	{GUI builder} to make programming interfaces easier.  The user
	interface portion of the programming environment is visual,
	the languages are not.  Because of the confusion caused by the
	multiple meanings of the term "{visual programming}", Fred
	Lakin has proposed the term "executable graphics" as an
	alternative to VPL.

	Some examples of visual programming languages are {Prograph},
	{Pict}, {Tinkertoy}, {Fabrik}, {CODE 2.0} and {Hyperpascal}.

	{(http://cogs.susx.ac.uk/users/ianr/vpl.html)}.
	{(http://cuiwww.unige.ch/eao/www/readme.html)}.

	{Usenet} newsgroup: {news:comp.lang.visual} (NOT for {Visual
	Basic} or {Visual C++}).

	(1995-02-10)

VisualWorks

	<language> A modern commercial implementation of the
	{Smalltalk} programming language.  VisualWorks descends
	directly from the original {Smalltalk-80} by {Xerox PARC} and
	was originally developed (for some time under the name
	Objectworks\Smalltalk) by {ParcPlace Systems}.  VisualWorks
	relies on {dynamic translation} as its {virtual machine}
	technology.

	{VisualWorks Wiki (http://wiki.cs.uiuc.edu/VisualWorks)}.

	(2003-05-15)

VITAL

	A {semantics} language using {FSL}, developed by Mondshein in
	1967.

	[Sammet 1969, p. 641].

	(1995-02-23)

VIVID

	A numerical {constraint}-oriented language.

	["VIVID: The Kernel of a Knowledge Representation Environment
	Based on the Constraints Paradigm of Computation", J. Maleki,
	Proc 20th Annual Hawaii Intl Conf on System Sciences (Jan
	1987) pp.591-597].

	(1995-02-23)

viz

	A {visual language} for specification and programming.

	["viz: A Visual Language Based on Functions", C.M. Holt, 1990
	IEEE Workshop on Visual Langs, Oct 1990, pp.221-226].

	(1995-02-23)

VLAN

	{Virtual Local Area Network}

VLB

	{VESA local bus}

VLDB

	{Very Large DataBase}

	[How large?]

	(1996-12-21)

Vlisp

	<language>

	1. A {Lisp} dialect developed by Patrick Greussay
	<pg@litp.ibp.fr> in about 1973 with a fast {interpreter} and a
	portable {virtual machine}.  Vlisp introduced the
	"{chronology}", a dynamic environment for implementing
	{interrupts}.  It led to {Le_Lisp}.  See also {ObjVlisp}.

	["Contribution a la Definition Interpretive et a
	l'Implementation des Lambda-Langages", P. Greussay, These
	d'Etat, U Paris VI, Nov 1977].

	[Relationship to {Vincennes LISP}?]

	2. {Vincennes LISP}.

	(2008-03-16)

VLIW

	{Very Long Instruction Word}

VLM

	1. <architecture> {Very Large Memory}.

	2. <networking> {Virtual Loadable Module}.

	(1998-02-24)

VLSI

	{Very Large Scale Integration}

VLSM

	{Variable Length Subnet Masks}

VM

	{Virtual Machine}

VM/CMS

	{Virtual Machine/Conversational Monitor System}

VME

	1. <hardware> {Versa Module Europa}.

	See {VMEbus}.

	2. <operating system> {Virtual Machine Environment}.

VMEbus

	A widely accepted backplane interconnection bus system
	developed by a consortium of companies led by {Motorola}, now
	standardised as {IEEE} 1014.

	(1995-06-01)

VME Microsystems International Corporation

	<company> (VMIC)

	Address: Huntsville, AL, USA.

	Telephone: +1 800 322 3616.

	(1995-06-01)

VM/ESA

	{Virtual Machine}

VML

	VODAK Model Language.  Language for an extensible
	{object-oriented database}.

	["Object-Oriented Modeling for Hypermedia Systems Using the
	Object-Oriented VODAK Model Language (VML)" Wolfgang Klas et
	al, in Object-Oriented Database Management Systems, NATO ASI
	Series, Springer 1993].

	E-mail: <aberer@darmstadt.gmd.de>.

VMS

	{Virtual Memory System}

VM/SP

	{Virtual Machine}

VM/XA

	{Virtual Machine}

vn

	<networking> The {country code} for Vietnam.

	(1999-01-27)

vocoder

	<communications> Hardware or software which implements a
	{compression} {algorithm} particular to voice.

	For example {Qualcomm} uses a vocoding algorithm to compresses
	voice data in digital communication systems such as wireless
	{CDMA} and {Eudora} voice attach.

	(1998-04-29)

vocoding

	{vocoder}

VoD

	{video on demand}

voice mail

	<messaging, business> Any system for sending, storing and
	retrieving {audio} messages, like a telephone answering
	machine.

	A voice mailbox is typically associated with a telephone
	number or extension.  When the number is called and the line
	is busy or not answered, the caller hears a message left by
	the owner and is given instructions for leaving a message or
	other available options, such as paging the individual or
	being transferred to an operator.  The owner of a mailbox can
	change the outgoing message or listen to incoming messages
	after entering a {PIN}.  Members of a voice mail system can
	generally forward or {broadcast} messages to other members'
	boxes.

	The experience of two people trying to reach other by
	telephone but always reaching each other's voice mail is
	referred to as "(tele)phone tag".

	(1996-11-03)

voice-net

	Hackish way of referring to the {plain old telephone system},
	comparing it to a digital {network}.  {Usenet} {sig blocks}
	sometimes include the sender's telephone number next to a
	"Voice:" or "Voice-Net:" header; variants of this are
	"Voicenet" and "V-Net".

	Compare {paper-net}, {snail-mail}.

	[{Jargon File}]

	(1995-02-16)

Voice over IP

	<communications> (VoIP) Any technology providing {voice
	telephony} services over {IP}, including {CODECs}, {streaming}
	{protocols} and {session control}.  The major advantage of
	VoIP is lower cost, by avoiding dedicated voice circuits.

	Currently VoIP is being deployed on internal corporate
	networks, and, via the {Internet}, for low cost (and low
	quality) international calls.  It is also used for telephony
	applications such as voice and fax mail.

	The {ITU} standard is {H.323}, which is a whole suite of
	protocols, while the {IETF} has developed the much simpler
	{SIP} to solve the session control problem and {MGCP}/{Megaco}
	to solve the gateway problem.

	(2003-11-30)

voice recognition

	{speech recognition}

VoIP

	{Voice over IP}

volatile

	1. <programming> {volatile variable}.

	2. <storage> See {non-volatile storage}.

	(1997-06-05)

volatile memory

	{non-volatile storage}

volatile storage

	{non-volatile storage}

volatile variable

	<programming> A variable in a computer program which can be
	modified by processes other than the program.  For example, a
	variable that stores the value of a timer chip (either because
	it is located at the address of the hardware device or because
	it is updated on {interrupts}) needs to be volatile to be
	useful.

	A {static} variable, on the other hand, maintains its value
	until the program changes it or it is no longer needed.  In
	addition, volatile variables can be held in the {stack}
	whereas static variables are usually stored in a program's
	{data segment}.

	(1995-05-17)

voltage

	<electronics> (Or "potential difference", "electro-motive
	force" (EMF)) A quantity measured as a signed difference
	between two points in an electrical circuit which, when
	divided by the {resistance} in {Ohms} between those points,
	gives the current flowing between those points in {Amperes},
	according to {Ohm's Law}.  Voltage is expressed as a signed
	number of Volts (V).  The voltage gradient in Volts per metre
	is proportional to the force on a charge.

	Voltages are often given relative to "earth" or "ground" which
	is taken to be at zero Volts.  A circuit's earth may or may
	not be electrically connected to the actual earth.

	The voltage between two points is also given by the charge
	present between those points in {Coulombs} divided by the
	{capacitance} in {Farads}.  The capacitance in turn depends on
	the {dielectric constant} of the insulators present.

	Yet another law gives the voltage across a piece of circuit as
	its {inductance} in {Henries} multiplied by the rate of change
	of current flow through it in Amperes per second.

	A simple analogy likens voltage to the pressure of water in a
	pipe.  Current is likened to the amount of water (charge)
	flowing per unit time.

	(1995-12-04)

Volume Table Of Contents

	<storage> (VTOC) /V-tock/ A special {file} on a {disk}, which
	contains a list of all the ordinary files on the disk and
	their {addresses}.  Also called a {directory}.

	The term is used mostly with large {mainframe} {disk drives}.
	Storage administrators will often refer to the VTOC to obtain
	information on the number of files stored on a disk.

	(1997-04-15)

von Neumann architecture

	<architecture, computability> A computer {architecture}
	conceived by mathematician {John von Neumann}, which forms the
	core of nearly every computer system in use today (regardless
	of size).  In contrast to a {Turing machine}, a von Neumann
	machine has a {random-access memory} (RAM) which means that
	each successive operation can read or write any memory
	location, independent of the location accessed by the previous
	operation.

	A von Neumann machine also has a {central processing unit}
	(CPU) with one or more {registers} that hold data that are
	being operated on.  The CPU has a set of built-in operations
	(its {instruction set}) that is far richer than with the
	Turing machine, e.g. adding two {binary} {integers}, or
	branching to another part of a program if the binary integer
	in some register is equal to zero ({conditional branch}).

	The CPU can interpret the contents of memory either as
	instructions or as data according to the {fetch-execute
	cycle}.

	Von Neumann considered {parallel computers} but recognized the
	problems of construction and hence settled for a sequential
	system.  For this reason, parallel computers are sometimes
	referred to as non-von Neumann architectures.

	A von Neumann machine can compute the same class of functions
	as a universal {Turing machine}.

	[Reference?  Was von Neumann's design, unlike Turing's,
	originally intended for physical implementation?]

	{(http://salem.mass.edu/~tevans/VonNeuma.htm)}.

	(2003-05-16)

von Neumann integer

	<mathematics> A {finite} {von Neumann ordinal}.

	The von Neumann integer N is a {finite} set with N elements
	which are the von Neumann integers 0 to N-1.  Thus

		0 = {}		= {}
		1 = {0}		= {{}}
		2 = {0, 1}	= {{}, {{}}}
		3 = {0, 1, 2}	= {{}, {{}}, {{}, {{}}}}
		...

	The set of von Neumann integers is {infinite}, even though
	each of its elements is finite.

	[Origin of name?]

	(1995-03-30)

von Neumann, John

	{John von Neumann}

von Neumann machine

	{von Neumann architecture}

von Neumann ordinal

	<mathematics> An implementation of {ordinals} in {set theory}
	(e.g. {Zermelo Fränkel set theory} or {ZFC}).  The von Neumann
	ordinal alpha is the {well-ordered set} containing just the
	ordinals "shorter" than alpha.

	"Reasonable" set theories (like ZF) include Mostowski's
	Collapsing Theorem: any {well-ordered set} is {isomorphic} to
	a von Neumann ordinal.  In really screwy theories (e.g. NFU --
	New Foundations with Urelemente) this theorem is false.

	The finite von Neumann ordinals are the {von Neumann
	integers}.

	(1995-03-30)

voodoo programming

	<jargon> (From George Bush's "voodoo economics") The use by
	guess or cookbook of an obscure or {hairy} system, feature, or
	algorithm that one does not truly understand.  The implication
	is that the technique may not work, and if it doesn't, one
	will never know why.  Almost synonymous with {black magic},
	except that black magic typically isn't documented and
	*nobody* understands it.

	Compare {magic}, {deep magic}, {heavy wizardry}, {rain dance},
	{cargo cult programming}, {wave a dead chicken}.

	[{Jargon File}]

	(1995-03-10)

Voronoi diagram

	<mathematics, graphics> (Or "Voronoi tessellation", "Voronoi
	decomposition", "Dirichlet tessellation", After {Georgy
	Feodosevich Voronoy}) For a {set} S of points in a {Euclidean
	space}, the {partition} Vor(S) of the plane into the {voronoi
	polygons} associated with the {members} of S, where each
	polygon is defined by the set of points nearer to some given
	point in S than to any other point in S.

	The Voronoi diagram is the {dual} of the {Delaunay
	triangulation} of S.

	(2008-04-18)

Voronoi polygon

	<mathematics, graphics> For a member s of a {set} S of points
	in a {Euclidean space}, the {locus} of points in the plane
	that are closer to s than to any other member of S.

	(1997-08-03)

VOS

	<operating system> An {operating system} used in {Stratus}
	computers.

	See also {FTX}.

	[Details?]

	(1998-07-06)

Voters Telecommunications Watch

	<body> (VTW) A non-profit organisation based in New York,
	founded by Shabbir J. Safdar to protect the rights of
	{Internet} users.  The VTW has actively opposed regulation of
	{encryption} and restrictions on Internet free speech.  VTW
	created the animated "Free Speech" fireworks icon that has
	been displayed on many web pages since June 12, 1996, the day
	that a three-judge panel in Philadelphia ruled the {CDA}
	unconstitutional.

	{(http://vtw.org)}.

	(1996-11-03)

voxel

	<jargon> (By analogy with "{pixel}") Volume element.

	The smallest distinguishable box-shaped part of a
	three-dimensional space.  A particular voxel will be
	identified by the x, y and z coordinates of one of its eight
	corners, or perhaps its centre.  The term is used in three
	dimensional modelling.

	(1995-03-10)

V.pcm

	{V.90}

VPL

	1. {visual programming} language.

	["VPL: An Active, Declarative Visual Programming System,
	D. Lau-Kee et al, 1991 IEEE Workshop on Vis Langs, Oct 1991,
	pp. 40-46].

	2. A {dataflow} language for interactive image processing.

VPN

	{Virtual Private Network}

VP-Planner

	<tool, product> A {spreadsheet} from {Paperback Software}.  It
	has a graph menu within the spreadsheet program (with {CGA}
	graphics).  The graphs are updated every time the graph screen
	is activated.

	(1995-03-28)

VQF

	{Twin Vector Quantization}

VR

	{virtual reality}

VRAM

	{video random-access memory}

VRC

	{Vertical Redundancy Check}

Vrije Universiteit, Amsterdam

	<education, body> The "Free University of Amsterdam", founded
	in 1880 by Abraham Kuyper (who later became Prime Minister of
	The Netherlands).  Originally only open to Reformed
	Christians, it is now open to all.

	{Andrew Tanenbaum} is a professor there.

	Not to be confused with the much older Universiteit van
	Amsterdam.

	{(http://vu.nl/)}.

	(2005-11-05)

VRML

	{Virtual Reality Modeling Language}

VRTX

	Virtual Real-Time Executive.

	A {real-time} {operating system} from {ReadySystems} for the
	{Motorola 68000} family of {microprocessors}.

	{MPV} is a {multi-processing} extension.

	(1994-11-08)

VSAM

	{Virtual Storage Access Method}

VSAT

	<communications> {Very Small Aperture Terminal}.

VSCM

	<language, LISP> A highly {portable} implementation of
	{Scheme}, written in {ANSI C} and {Scheme}.  VSCM features
	{exception} and {interrupt} handling, executable portable
	memory images, {coroutines} and {continuations} with multiple
	arguments.

	Portability is achieved by exclusive use of legal ANSI C
	features.

	Version II Nov9 by Matthias Blume <blume@cs.princeton.edu>
	included {run-time support} and a {bytecode compiler}.  It
	conforms to R4RS and IEEE P1178 and runs on {Unix} and
	{Macintosh}.

	VSCM is no longer actively developed - the author recommends
	{StandardML}.

	{(http://cs.princeton.edu/~blume/vscm/)}.

	(2001-01-02)

VSE

	{Virtual Storage Extended}

V series

	<communications, standard> A set of standards published by the
	{CCITT} for "Data Communication over the Telephone Network".
	The following standards describe the important {modulation}
	techniques: {V.17}, {V.21}, {V.22}, {V.22 bis}, {V.23}, {V.27
	ter}, {V.29}, {V.32}, {V.32 bis}.  Other V standards include
	{V.24}, {V.25 bis}, {V.42}, {V.42 bis}.

	(2004-07-20)

VSF

	{Virtual Software Factory}

VSP

	Very Simple Prolog+.

VSTa

	<operating system> {Valencia Simple Tasker}.

VSX

	Verification Suite for {X/open}.

VT

	<character> Vertical Tab, the {mnemonic} for {ASCII} 11.

	(1996-06-24)

vt100

	<hardware> {DEC}'s definitive {CRT} {video terminal} of the
	early/mid 1980s.  Its {control codes} and {escape sequences}
	still form the basis of the {xterm} set and of the {ANSI} or
	{IBM PC} standards.  VT100 compatibility is still provided by
	most {terminal emulators}.

	[On-line documentation?]

	(1995-03-28)

vt220

	<hardware> A {DEC} {video terminal}, the successor to the
	{VT100} series.

	[On-line documentation?]

	(1995-03-28)

VTAM

	{Virtual Telecommunications Access Method}

VTC

	{video teleconferencing}

VTOC

	{Volume Table Of Contents}

VTS

	A suite of test programs for Motif from {OSF}.

VTW

	{Voters Telecommunications Watch}

vu

	<networking> The {country code} for Vanuatu.

	(1999-01-27)

VUE

	Visual User Environment: a desktop manager for Unix from
	Hewlett-Packard.

VUIT

	Visual User Interface Tool: a WYSIWYG editor from DEC for
	building human interfaces to applications using {OSF}/Motif.
	It provides an interactive interface to UIL and the Motif
	toolkit.

VULCAN

	1. <database> A version of {JPLDIS} ported to {CP/M} by Wayne
	Ratliff around 1980.  VULCAN evolved into {dBASE II}.

	2. <database> The {dBASE}-like {interpreter} and {compiler}
	sold by {RSPI} with their {Emerald Bay} product.  [Same as 1?]

	3. <language> An early string manipulation language.

	["VULCAN - A String Handling Language with Dynamic Storage
	Control", E.P. Storm et al, Proc FJCC 37, AFIPS, Fall 1970].

	4. <language> A {concurrent} {object-oriented} {logic
	programming} language implemented as a {preprocessor} for
	{FCP} by Kahn et al at {Xerox PARC}.

	["Vulcan: Logical Concurrent Objects", K. Kahn et al in
	Research Directions in Object- Oriented Programming,
	A.B. Shriver et al eds, MIT Press 1987].

	(2004-09-01)

Vulcan death grip

	<jargon> A variant of {Vulcan nerve pinch} derived from a Star
	Trek {classic} epsisode where a non-existant "Vulcan death
	grip" was used to fool Romulans that Spock had killed Kirk.

	(1996-10-27)

Vulcan nerve pinch

	<jargon> (Or "three-finger salute", Vulcan death grip; from
	the old "Star Trek" TV series via {Commodore} {Amiga}
	{hackers}) The keyboard combination that forces a {soft boot}
	or jump to {ROM monitor} (on machines that support such a
	feature).

	On an Amiga this is done with Ctrl/Right Amiga/Left Amiga; on
	{IBM PCs} and many {microcomputers} it is Ctrl/Alt/Del; on
	{Suns}, L1-A; on some {Macintoshes}, it is <Cmd>-<Power
	switch>!  Silicon Graphics users are obviously the most
	dextrous however, as these machines use the five-finger
	combination: Left Shift/Left Ctrl/Left Alt/Keypad Divide/F12.

	Compare {quadruple bucky}.

	[{Jargon File}]

	(2000-04-04)

vulnerability

	<security> A {bug} or {feature} of a system that exposes it to
	possible attack, a flaw in the system's security.

	A common example of a vulnerability due to a bug is {buffer
	overrun}, where carefully constructed input can allow an
	attacker to insert arbitrary code into a running program and
	have it executed.

	The most serious vulnerabilities are those in network
	software, especially if they exploit traffic that is allowed
	through the {firewall} like {HTTP}, for example exploiting a
	bug in a {web browser}.

	The {Open Source Vulnerability Database} lists many
	vulnerabilities.

	(2007-12-02)

vulture capitalist

	<abuse> A pejorative hackerism for "venture capitalist",
	deriving from the common practice of pushing contracts that
	deprive inventors of control over their own innovations and
	most of the money they ought to have made from them.

	[{Jargon File}]

	(1995-04-14)

VUP

	{VAX MIPS}

VxD

	{Virtual Device Driver}

VXI

	{VMEbus Extension for Instrumentation}

VxWorks

	<operating system> A {real-time} {multitasking} {operating
	system} from {Wind River Systems}.  Originally it used the
	{VRTX} {kernel} but this has been replaced by Wind River's own
	"Wind kernel 2.4".

	Before version 5.3 VxWorks included a {software development
	environment} but this is now called "Tornado".

	Latest version: 5.3, as of 1996-11-28.

	(1996-11-29)

W2K

	{Windows 2000}

W3

	A {web browser} for {Emacs} by William M. Perry
	<wmperry@indiana.edu>.

	(1994-12-16)

W3C

	{World Wide Web Consortium}

W3 Consortium

	{World Wide Web Consortium}

WA-12

	Workflow Analysis in 12 different organisations.  A project
	from the Department of Computer Science from the {University
	of Twente}, Enschede, The Netherlands.  The final report of
	this project is available to the public (ISBN 90-365-0683-2).

wabbit

	/wab'it/ [almost certainly from Elmer Fudd's immortal line
	"You wascawwy wabbit!"]  1. A legendary early hack reported on
	a System/360 at RPI and elsewhere around 1978; this may have
	descended (if only by inspiration) from hack called RABBITS
	reported from 1969 on a Burroughs 55000 at the University of
	Washington Computer Center.  The program would make two copies
	of itself every time it was run, eventually crashing the
	system.

	2. By extension, any hack that includes infinite
	self-replication but is not a {virus} or {worm}.  See {fork
	bomb} and {rabbit job}, see also {cookie monster}.

	[{Jargon File}]

Wabi

	{Windows Application Binary Interface}

WabiServer

	<operating system, tool> An addition to {Wabi} which allows
	the {Microsoft Windows} application to run on a {server},
	e.g. a powerful {Intel}-based computer, with users accessing
	it from their desktop which can be a cheap computer such as an
	{X terminal}.

	(1997-01-08)

wacco

	A {BNF}-based LL(?) {parser generator}.

	Posted to comp.sources.misc.

Wafe

	<programming> (From Widget Athena front end) A package by
	Gustaf Neumann <Gustaf.Neumann@uni-essen.de> implementing a
	symbolic interface to the {Athena} {widgets} and
	{OSF}/{Motif}.  A typical Wafe {application} consists of two
	parts: a front-end (Wafe) and an application program which
	runs as a separate process.  The distribution contains sample
	application programs in {Perl}, {GAWK}, {Prolog}, {TCL}, {C},
	and {Ada} talking to the same Wafe binary.

	The current Wafe version is 1.0.15. It supports Athena as
	distributed with {X} releases 4-6 and Motif versions 1.1, 1.2,
	and 2.0 but new distribution are only tested against {X}
	releases 5 and 6, and Motif versions 1.2.4 and 2.0.

	{HOME (http://wu-wien.ac.at/wafe)},
	{(ftp://ftp.wu-wien.ac.at/pub/src/X11/wafe/)}.

	Mailing list: listserv@wu-wien.ac.at ("subscribe Wafe <Your
	Name>").

	(1996-07-09)

WAFL

	WArwick Functional Language.  Warwick U, England.  LISP-like.

WAIS

	{Wide Area Information Servers}

WAITS

	/wayts/ The mutant cousin of {TOPS-10} used on a handful of
	systems at {SAIL} up to 1990.  There was never an "official"
	expansion of WAITS (the name itself having been arrived at by
	a rather sideways process), but it was frequently glossed as
	"West-coast Alternative to ITS".  Though WAITS was less
	visible than ITS, there was frequent exchange of people and
	ideas between the two communities, and innovations pioneered
	at WAITS exerted enormous indirect influence.  The early
	screen modes of {Emacs}, for example, were directly inspired
	by WAITS's "E" editor - one of a family of editors that were
	the first to do "real-time editing", in which the editing
	commands were invisible and where one typed text at the point
	of insertion/overwriting.  The modern style of multi-region
	windowing is said to have originated there, and WAITS alumni
	at XEROX PARC and elsewhere played major roles in the
	developments that led to the XEROX Star, the Macintosh, and
	the Sun workstations.  {Bucky bits} were also invented there
	thus, the ALT key on every IBM PC is a WAITS legacy.  One
	notable WAITS feature seldom duplicated elsewhere was a
	news-wire interface that allowed WAITS hackers to read, store,
	and filter AP and UPI dispatches from their terminals; the
	system also featured a still-unusual level of support for what
	is now called "multimedia" computing, allowing analog audio
	and video signals to be switched to programming terminals.

	Ken Shoemake adds:

	Some administrative body told us we needed a name for the
	operating system, and that "SAIL" wouldn't do.  (Up to that
	point I don't think it had an official name.)  So the anarchic
	denizens of the lab proposed names and voted on them.
	Although I worked on the OS used by CCRMA folks (a parasitic
	subgroup), I was not writing WAITS code.  Those who were,
	proposed "SAINTS", for (I think) Stanford AI New Time-sharing
	System.  Thinking of ITS, and AI, and the result of many
	people using one machine, I proposed the name WAITS.  Since I
	invented it, I can tell you without fear of contradiction that
	it had no official meaning.  Nevertheless, the lab voted that
	as their favorite; upon which the disgruntled system
	programmers declared it the "Worst Acronym Invented for a
	Time-sharing System"!  But it was in keeping with the creative
	approach to acronyms extant at the time, including
	self-referential ones.  For me it was fun, if a little
	unsettling, to have an "acronym" that wasn't.  I have no idea
	what the voters thought. :)

	[{Jargon File}]

	(2003-11-17)

wait state

	<architecture> A delay of one or more {clock} cycles added to
	a processor's instruction execution time to allow it to
	communicate with slow external devices.  The number and
	duration of wait states may be pre-configured or they may be
	controlled dynamically via certain control lines.

	(1996-10-16)

waldo

	/wol'doh/ [Robert A. Heinlein's story "Waldo"] 1. A mechanical
	agent, such as a gripper arm, controlled by a human limb.
	When these were developed for the nuclear industry in the
	mid-1940s they were named after the invention described by
	Heinlein in the story, which he wrote in 1942.  Now known by
	the more generic term "telefactoring", this technology is of
	intense interest to NASA for tasks like space station
	maintenance.

	2. At Harvard (particularly by Tom Cheatham and students),
	this is used instead of {foobar} as a metasyntactic variable
	and general nonsense word.  See {foo}, {bar}, {foobar},
	{quux}.

	[{Jargon File}]

walk

	<programming> To Traverse a data structure, especially an
	{array} or {linked-list} in {core}.

	See also {codewalker}, {silly walk}, {clobber}.

	(2001-04-12)

walking drives

	<jargon> An occasional failure mode of {magnetic-disk drives}
	back in the days when they were huge, clunky {washing
	machines}.  Those old {dinosaur} parts carried terrific
	angular momentum; the combination of a misaligned spindle or
	worn bearings and stick-slip interactions with the floor could
	cause them to "walk" across a room, lurching alternate corners
	forward a couple of millimeters at a time.  There is a legend
	about a drive that walked over to the only door to the
	computer room and jammed it shut; the staff had to cut a hole
	in the wall in order to get at it!  Walking could also be
	induced by certain patterns of drive access (a fast seek
	across the whole width of the disk, followed by a slow seek in
	the other direction).  Some bands of old-time hackers figured
	out how to induce disk-accessing patterns that would do this
	to particular drive models and held disk-drive races.

	[{Jargon File}]

	(2009-05-14)

walk off the end of

	<programming> To attempt to process past the start or end of
	an {array}, {list} or medium after stepping through it.  Often
	the result of an {off-by-one error}.

	Compare {clobber}, {roach}, {smash the stack}.

	(2009-05-14)

wall

	<communications> {Unix}'s "write all" command which sends a
	message to everyone currently logged in.

	[{Jargon File}]

	(2009-05-14)

wall clock time

	<software> The elapsed time between when a {process} starts to
	run and when it is finished.  This is usually longer than the
	{processor time} consumed by the process because the {CPU} is
	doing other things besides running the {process} such as
	running other user and {operating system} processes or waiting
	for disk or {network} {I/O}.

	(1998-03-13)

wall follower

	<robotics> A person or {algorithm} that compensates for lack
	of sophistication or native stupidity by efficiently following
	some simple procedure shown to have been effective in the
	past.  Used of an algorithm, this is not necessarily
	pejorative; it recalls "Harvey Wallbanger", the winning robot
	in an early AI contest (named, of course, after the cocktail).
	Harvey successfully solved mazes by keeping a "finger" on one
	wall and running till it came out the other end.  This was
	inelegant, but it was mathematically guaranteed to work on
	simply-connected mazes - and, in fact, Harvey outperformed
	more sophisticated robots that tried to "learn" each maze by
	building an internal representation of it.  Used of humans,
	the term *is* pejorative and implies an uncreative,
	bureaucratic, by-the-book mentality.

	See also {code grinder}.

	[{Jargon File}]

	(2003-02-03)

wallpaper

	1. A file containing a listing (e.g. assembly listing) or a
	transcript, especially a file containing a transcript of all
	or part of a login session.  (The idea was that the paper for
	such listings was essentially good only for wallpaper, as
	evidenced at {Stanford}, where it was used to cover windows).

	The term is now rare, especially since other systems have
	developed other terms for it (e.g. PHOTO on {TWENEX}).
	However, the {Unix} world doesn't have an equivalent term, so
	perhaps wallpaper will take hold there.  The term probably
	originated on {ITS}, where the commands to begin and end
	transcript files were ":WALBEG" and ":WALEND", with default
	file "WALL PAPER" (the space was a path delimiter).

	2. The background pattern used on graphical workstations under
	the {Microsoft Windows} {graphical user interface} to
	{MS-DOS}.

	(1994-12-22)

wall plate

	<hardware> A small rectangular panel, usually made of plastic,
	fixed to the wall, on which sockets and switches are mounted.
	These connect to wiring hidden in the wall.  Common examples
	would be electrical mains and telephone sockets.

	(2009-03-19)

wall time

	(Or "wall clock time") 1. "Real world" time (what the clock on
	the wall shows), as opposed to the {system clock}'s idea of
	time.

	2. The real running time of a program, as opposed to the
	number of {ticks} required to execute it (on a {time-sharing}
	system these always differ, as no one program gets all the
	ticks, and on multiprocessor systems with good thread support
	one may get more processor time than real time).

	[{Jargon File}]

WAM

	Intermediate language for compiled Prolog, used by the Warren
	Abstract Machine.  "An Abstract Prolog Instruction Set",
	D.H.D. Warren, TR 309, SRI 1983.

WAN

	{Wide Area Network}

Wang Laboratories

	<body> Computer manufacturer, known for their {office
	automation} products and the {Wang PC}.

	Quarterly sales $208M, profits $3M (Aug 1994).

	(2008-05-28)

wango

	/wang'goh/ Random bit-level {grovel}ling going on in a system
	during some unspecified operation.  Often used in combination
	with {mumble}.  For example: "You start with the ".o" file,
	run it through this postprocessor that does mumble-wango - and
	it comes out a snazzy object-oriented executable."

	[{Jargon File}]

Wang PC

	<computer> {Personal computers} made by {Wang Laboratories}.
	Wang's PCs had an {operating system} (based on {MS-DOS}) which
	was not compatible with the {IBM PC}.  The Wang {floppy disk}
	format was compatible with the IBM PC.  However, running an
	IBM "exe" program would generally crash a Wang PC unless a
	special Industry-Standard emulator program was running on the
	Wang.  This program required the addition of a special card to
	the Wang PC.  It enabled the Wang PC to run most, but not all,
	software written for the IBM PC.  Most Wang software made use
	of two special keys: CANCEL and EXECUTE.  These keys were used
	to carry out commands, make menu selections, and so on.  The
	Wang OS was menu-driven.

	(2008-05-28)

wank

	/wangk/ [Columbia University: probably by mutation from
	Commonwealth slang "wank", to masturbate] Used much as {hack}
	is elsewhere, as a noun denoting a clever technique or person
	or the result of such cleverness.  May describe (negatively)
	the act of hacking for hacking's sake ("Quit wanking, let's go
	get supper!") or (more positively) a {wizard}.  "wanky"
	describes something particularly clever (a person, program, or
	algorithm).  Conversations can also get wanky when there are
	too many wanks involved.  This excess wankiness is signalled
	by an overload of the "wankometer" (compare {bogometer}).
	When the wankometer overloads, the conversation's subject must
	be changed, or all non-wanks will leave.  Compare
	"neep-neeping" (under {neep-neep}).  Usage: US only.  In
	Britain and the Commonwealth this word is *extremely* rude and
	is best avoided unless one intends to give offense.

wannabee

	/won'*-bee/ (Or, more plausibly, spelled "wannabe") [Madonna
	fans who dress, talk, and act like their idol; probably
	originally from biker slang] A would-be {hacker}.  The
	connotations of this term differ sharply depending on the age
	and exposure of the subject.  Used of a person who is in or
	might be entering {larval stage}, it is semi-approving; such
	wannabees can be annoying but most hackers remember that they,
	too, were once such creatures.  When used of any professional
	programmer, CS academic, writer, or {suit}, it is derogatory,
	implying that said person is trying to cuddle up to the hacker
	mystique but doesn't, fundamentally, have a prayer of
	understanding what it is all about.  Overuse of hacker terms
	is often an indication of the {wannabee} nature.  Compare
	{newbie}.

	Historical note: The wannabee phenomenon has a slightly
	different flavour now (1993) than it did ten or fifteen years
	ago.  When the people who are now hackerdom's tribal elders
	were in {larval stage}, the process of becoming a hacker was
	largely unconscious and unaffected by models known in popular
	culture - communities formed spontaneously around people who,
	*as individuals*, felt irresistibly drawn to do hackerly
	things, and what wannabees experienced was a fairly pure,
	skill-focussed desire to become similarly wizardly.  Those
	days of innocence are gone forever; society's adaptation to
	the advent of the microcomputer after 1980 included the
	elevation of the hacker as a new kind of folk hero, and the
	result is that some people semi-consciously set out to *be
	hackers* and borrow hackish prestige by fitting the popular
	image of hackers.  Fortunately, to do this really well, one
	has to actually become a wizard.  Nevertheless, old-time
	hackers tend to share a poorly articulated disquiet about the
	change; among other things, it gives them mixed feelings about
	the effects of public compendia of lore like this one.

	[{Jargon File}]

want list

	{wish list}

WAP

	{Wireless Application Protocol}

WAP Forum

	<body> The official body developing {Wireless Application
	Protocol}.

	{(http://wapforum.org/)}.

	(2000-02-10)

warchalk

	<networking> A system of runes and annotations chalked on
	walls or other surfaces to indicate to interested parties the
	presence of a {wireless} network {node} in the vicinity.

	Warchalking was inspired by "hobo language" - the signs used
	by American itinerants during the Depression years to indicate
	where they might find a meal.

	{(http://blackbeltjones.com/warchalking/)}.

	(2002-06-26)

Ward Christensen

	<person> The inventor of {XMODEM} and of the {BBS}.  Ward did
	physics in college and programmed {mainframes} for {IBM}.

	Ward and friend Randy Suess set up their BBS on first on
	1978-02-16 in Chicago.  It ran on an {S-100} computer with 64k
	{RAM} and two single-sided 8" 250kB {diskettes}.

	{Freeware Hall of Fame
	(http://freewarehof.org/ward.html)}.

	(2005-09-20)

Ward Cunnigham

	<person> The creator of the first {wiki}.

	(2004-07-11)

wardialer

	<security> Almost certainly a shortened version of "WarGames
	dialer", from the film {WarGames}.

	1. {carrier scanner}

	2. A program which attempts to break a {password} of known
	length by iterating thru all possible combinations of
	characters that could make up that password.

	This approach is not feasable for cracking most passwords
	these days.  However, as late as the mid-1980s, some
	long-distance companies required only very short numeric
	access codes (e.g. five digits) to verify the identity of
	their customers.  Wardialers were created which would, running
	unattended, call up long-distance providers' local connect
	numbers and iteratively try possible access codes.  Codes
	which worked were logged for later illicit use.

	These wardialers had a high success rate because of the small
	range of possibilities to iterate through, e.g. 10000 for a
	five digit access code, compared to hundreds of trillions of
	combinations for an eight-character alphanumeric code.

	Long-distance providers soon required longer passwords and
	took advantage of technology for rapidly tracing the phone
	numbers that wardialers were being run from, such that running
	wardialers became pointless and dangerous.

	(1997-03-16)

wardriving

	<security> (From {wardialer} in the "carrier scanner" sense of
	that word) To drive around with a {laptop} with a {wireless
	card}, and an antenna, looking for accessible {wireless
	networks}.

	(2003-06-24)

-ware

	["software"] Commonly used to form terms for classes of
	software.  For examples, see {careware}, {crippleware},
	{crudware}, {freeware}, {fritterware}, {guiltware},
	{liveware}, {meatware}, {payware}, {psychedelicware},
	{shareware}, {shelfware}, {vaporware}, {wetware}.

	[{Jargon File}]

warez

	<software, legal> /weirz/ A term {software pirates} use to
	describe {cracked} games or applications made available to the
	{Internet}, at no cost, usually via {FTP} or {telnet}.  Often
	the pirate will make use of a site with lax security.

	(1994-11-29)

WarGames

	<recreation> (Not "War Games") A 1983 film about a schoolboy
	{cracker} using a {wardialer} to try to break into a games
	company's computer and accidentally connecting to a {backdoor}
	into "Whopper", a ficticious {C3} computer at Norad (USAF).
	He then procedes to unwittingly initiate global thermonuclear
	warfare.  Playing naughts and crosses finally teaches Whopper
	that the only way to win the game is never to play.

	{IMDb (http://us.imdb.com/Title?WarGames+%281983%29)}.

	(1999-03-08)

warlording

	<jargon> The act of excoriating a bloated, ugly or derivative
	{sig block}.  Common grounds for warlording include the
	presence of a signature rendered in a {BUAF}, over-used or
	cliched {sig quotes}, ugly {ASCII art}, or simply excessive
	size.  The original "Warlord" was a {BIFF}-like {newbie}
	c. 1991 who featured in his sig a particularly large and
	obnoxious ASCII graphic resembling the sword of Conan the
	Barbarian in the 1981 John Milius movie; the group name
	alt.fan.warlord was sarcasm, and the characteristic mode of
	warlording is devastatingly sarcastic praise.

	{Usenet} newsgroup: {news:alt.fan.warlord}.

	[{Jargon File}]

	(1994-11-29)

warm boot

	<operating system> A {boot} from {power on}, where the {CPU}
	and {peripherals} are already powered up (warm).

	A warm boot might be performed after a {software} {crash} or
	a {hardware} {reset}.

	Contrast {cold boot}.  See also {reboot}.

	[{Jargon File}]

	(1998-04-28)

Warm Silence Software

	A small company run by(?) Robin Watts, producing {software}
	for the {Acorn} {Archimedes}.

	{(http://comlab.ox.ac.uk/oucl/users/robin.watts/)}.

	(1994-11-01)

Warp

	{OS/2}

wart

	A small, {crock}y {feature} that sticks out of an otherwise
	{clean} design.  Something conspicuous for localised ugliness,
	especially a special-case exception to a general rule.  For
	example, in some versions of "csh(1)", single quotes
	literalise every character inside them except "!".  In ANSI C,
	the "?" syntax used for obtaining ASCII characters in a
	foreign environment is a wart.  See also {miswart}.

	[{Jargon File}]

washing machine

	<storage> An old-style 14-inch {hard disk} in a floor-standing
	cabinet.  So called because of the size of the cabinet and the
	"top-loading" access to the media packs - and, of course, they
	were always set on "spin cycle".  The thick channel cables
	connecting these were called "{bit hoses}".  The
	washing-machine idiom transcends language barriers; it is even
	used in Russian hacker jargon.

	See also {walking drives}.

	(1995-02-15)

Wasserman

	A.I. Wasserman (Tony), president of {IDE}.

	(1995-02-15)

WATBOL

	WATerloo COBOL.

	A {COBOL} for {IBM} {MVS}.

	(1995-02-15)

Watcom C/C++

	<language, product> A compiler and development tools for
	multi-{platform}, 16 and 32-bit applications.  Watcom C/C++
	10.0 has an integrated development environment (IDE) and
	development tools.  It includes the {SOMobjects Toolkit} to
	enable access to {IBM}'s {System Object Model} (SOM) and
	{Distributed System Object Model} (DSOM).  It supports 16 bit
	{MS DOS}, {Microsoft Windows} 3.x, {OS/2} 1.x, and 32 bit
	platforms including extended DOS, OS/2 2.x, {Windows NT},
	{Win32s}, 32-bit Windows 3.x, {Novell NLM} and {AutoCAD}
	{ADS}/{ADI}.

	(1995-04-18)

Watcom International

	<company> A provider of application development tools and {IBM
	PC}-based {SQL} {database} {servers}.

	Founded in 1974, Watcom initially focused on scientific and
	engineering markets establishing itself as a supplier of
	programming and information tools worldwide, serving customers
	in 60 countries with highly regarded products such as
	{WATFOR}-77 for {mainframes}, {minicomputers} and {PCs}.

	Since the introduction of {Watcom C} in 1988, the company has
	emerged as an industry leader in optimising compilers for 16
	and 32-bit {Intel-based} {IBM PCs}.

	Moving into the {client/server} market in 1992, Watcom
	introduced {Watcom SQL}, including {SQL} {database} {servers}
	for multi-user networks and single-user {stand-alone}
	applications.  The product has since been incorporated into
	{Powersoft}'s {PowerBuilder} development environment and the
	{Powersoft Enterprise Series}.  In June, 1993, Watcom launched
	{VX*REXX}, an integrated visual development environment for
	{OS/2}.

	In February 1994, Watcom became a wholly-owned subsidiary of
	{Powersoft Corporation} which merged with {Sybase Inc.}
	on 13 February 1995.  Today the company addresses a broad
	range of application developers, including corporate {MIS}
	professionals, system integrators, {VARs} and independent
	software vendors.

	Watcom has strategic relationships with {IBM}, {Lotus},
	{Microsoft}, {Intel} and {Novell}.  Based on its academic
	roots, Watcom maintains a research relationship with the
	nearby {University of Waterloo}.

	Watcom's products include the {Watcom SQL} {databases},
	{Watcom C/C++}, and {Watcom VX*REXX} 2.1.

	Ian McPhee is President and Chief Executive Officer, David
	Boswell is Vice President of Sales and Marketing, Craig Dynes
	is Vice President of Finance and David Yach is Vice President
	of Development.

	Headquarters: Waterloo, Ontario, Canada.

	(1995-04-18)

Watcom SQL

	<database, product> A family of {databases} from {Watcom
	International}, based on scalable technology and a {SQL}
	{database engine}.  Version 4.0 adds {stored procedures} and
	{triggers}.  It is designed for environments ranging from
	large departmental networks with a diverse range of PC client
	systems, to peer-to-peer {workgroups}, to {stand-alone} PCs.
	It is available in stand-alone versions for {Microsoft
	Windows}, {Windows NT}, {OS/2} and {MS DOS}; and {multi-user}
	network server versions for {Microsoft Windows}, {Windows NT},
	{OS/2}, {NetWare NLM} and {MS DOS}.

	(1995-04-18)

Watcom VX*REXX

	<programming, tool> A visual development environment for
	creating {OS/2} applications with {graphical user interfaces}.
	It includes a project management facility, visual designer and
	an interactive {source level debugger}.  Version 2.1
	introduced the VX*REXX Client/Server Edition for
	{client/server} {GUI} application development on {OS/2} by
	incorporating {database} {objects}.  Using {IBM}'s {DRDA}
	support on OS/2, users can access {DB2} for {MVS}, DB2/400 for
	{AS/400}, and DB2/VSE and VM (SQL/DS) for {VM} and {VSE}.
	Also supported are {Watcom SQL} and {ODBC}-enabled databases.
	Since the VX*REXX visual development environment is based on
	IBM's {object-oriented} {SOM} technology, VX*REXX applications
	are open and extensible through the addition of new SOM
	objects.

	(1995-04-18)

Waterfall Model

	<programming> A {software life-cycle} or {product life-cycle}
	model, described by W. W. Royce in 1970, in which development
	is supposed to proceed linearly through the phases of
	{requirements analysis}, design, implementation, testing
	(validation), integration and maintenance.  The Waterfall
	Model is considered old-fashioned or simplistic by proponents
	of {object-oriented design} which often uses the {spiral
	model} instead.

	Earlier phases are sometimes called "upstream" and later ones
	"downstream".

	Compare: {iterative model}.

	[W. W. Royce, "Managing the Development of Large Software
	Systems", Proceedings of IEEE WESCON, August 1970].

	(1997-11-23)

water MIPS

	<jargon> Large, water-cooled computers of either today's
	{ECL}-{supercomputer} flavour or yesterday's traditional
	{mainframe} type.

	See {MIPS}

	[{Jargon File}]

	(1995-03-25)

WATFIV

	WATerloo Fortran IV.  U Waterloo, Canada.  Student-friendly
	variant of Fortran IV.

WATFOR

	WATerloo FORtran.  U Waterloo, Canada.  Student-friendly
	variant of {Fortran}.  "WATFOR - The University of Waterloo
	Fortran IV Compiler", P.W. Shantz et al, CACM 10(1):41-44 (Jan
	1967).

wav

	<multimedia, file format, filename extension> (waveform)
	/wav/, /dot wav/ A {sound} format developed by {Microsoft} and
	used extensively in {Microsoft Windows}.  Conversion tools are
	available to allow most other {operating systems} to play .wav
	files.

	.wav files are also used as the sound source in {wavetable}
	synthesis, e.g. in E-mu's {SoundFont}.  In addition, .wav
	files are also supported by some {MIDI} sequencers as add-on
	audio.  That is, pre-recorded .wav files are played back by
	control commands written in the sequence script.

	{Specification (http://qzx.com/pc-gpe/wav.txt)}.

	(1997-10-11)

WAVE

	<language, robotics> A {robotics} language.

	["WAVE: A Model-Based Language for Manipulator Control",
	R.P. Paul, Ind Robot 4(1):10-17, 1979].

	(1996-09-08)

wave a dead chicken

	<jargon> To perform a ritual in the direction of crashed
	software or hardware that one believes to be futile but is
	nevertheless necessary so that others are satisfied that an
	appropriate degree of effort has been expended.  "I'll wave a
	dead chicken over the source code, but I really think we've
	run into an OS bug".

	Compare {voodoo programming}, {rain dance}.

	[{Jargon File}]

	(1996-09-08)

wave division multiplexing

	<spelling> A common misnomer for {wavelength division
	multiplexing}.

	(2002-07-16)

Waveform Generation Language

	<testing> (WGL) A {data description language} for test program
	description.

	[Reference?  What kind of test programs?]

	(2001-05-20)

wavelength division multiplexing

	<communications> (WDM) {Multiplexing} several {Optical Carrier
	n} signals on a single {optical fibre} by using different
	wavelengths (colours) of {laser} light to carry different
	signals.

	The device that joins the signals together is known as a
	{multiplexor}, and the one that splits them apart is a
	{demultiplexor}.  With the right type of fibre you can have a
	device that does both and that ought to be called a "mudem"
	but isn't.

	The first WDM systems combined two signals and appeared around
	1985.  Modern systems can handle up to 128 signals and can
	expand a basic 9.6 {Gbps} fibre system to a capacity of over
	1000 Gbps.

	WDM systems are popular with telecommunications companies
	because they allow them to expand the capacity of their fibre
	networks without digging up the road again.  All they have to
	do is to upgrade the (de)multiplexors at each end.  However
	these systems are expensive and complicated to run.  There is
	currently no {standard}, which makes it awkward to integrate
	with older but more standard {SONET} systems.

	Note that this term applies to an optical {carrier} (which is
	typically described by its wavelength), whereas {frequency
	division multiplexing} typically applies to a {radio} carrier
	(which is more often described by frequency).  However, since
	wavelength and frequency are inversely proportional, and since
	radio and light are both forms of electromagnetic radiation,
	the distinction is somewhat arbitrary.

	See also {time division multiplexing}, {code division
	multiplexing}.

	[Is "wave division multiplexing", as in "dense wave division
	multiplexing" (DWDM) just a trendy abbreviation?]

	(2002-07-16)

wavelet

	<mathematics> A waveform that is bounded in both {frequency}
	and duration.  Wavelet tranforms provide an alternative to
	more traditional {Fourier transforms} used for analysing
	waveforms, e.g. sound.

	The {Fourier transform} converts a signal into a continuous
	series of {sine waves}, each of which is of constant frequency
	and {amplitude} and of infinite duration.  In contrast, most
	real-world signals (such as music or images) have a finite
	duration and abrupt changes in frequency.

	Wavelet transforms convert a signal into a series of wavelets.
	In theory, signals processed by the wavelet transform can be
	stored more efficiently than ones processed by Fourier
	transform.  Wavelets can also be constructed with rough edges,
	to better approximate real-world signals.

	For example, the United States Federal Bureau of Investigation
	found that Fourier transforms proved inefficient for
	approximating the whorls of fingerprints but a wavelet
	transform resulted in crisper reconstructed images.

	{SBG Austria (http://mat.sbg.ac.at/~uhl/wav.html)}.

	["Ten Lectures on Wavelets", Ingrid Daubechies].

	(1994-11-09)

wavetable

	<hardware, music> A type of {sound generator} often built in a
	{sound card}.  A wavetable contains digitised samples of real
	instrument sounds or effect (FX) sounds.  A wavetable chip
	often also contains a drum kit sound to faciliate rhythm
	accompaniment.

	A recorded wavetable sound may be edited and enhanced by
	various effects (reverb, chorus) and layered with other
	waveforms before writing it to {ROM} or {RAM}.  The latter
	type serves as user sound memory.

	A wavetable generator is typically controlled by {MIDI} input.
	When a MIDI note-on signal is detected, the output part of a
	wavetable generator generates a sound with definitive pitch,
	typically a musical note.

	Wavetable sounds are used in games and music.  The more
	realistic wavetable sounds have all but replaced the earlier
	synthetic FM (frequency modulation) sound generation in sound
	cards but to ensure compatibility with older games etc., an FM
	part is usually included.

	The best known wavetable sound generators includes the {E-mu
	8000} chip, used in {Creative Labs}' {Sound Blaster} AWE-32
	card family and in E-mu keyboards.  Other wavetable cards are
	Gravis Ultra-Sound (GUS), ESS Cards, Opti, Zoltrix and many
	Roland cards.

	{E-Mu (http://emu.com /)}.
	{AWE-32(http://edu.isy.liu.se/~d93jesno/awe32.html)}.
	{Creative Labs (http://creaf.com/)}.

	(1997-11-04)

wavetable synthesis

	{wavetable}

WaZOO

	<protocol> Warp-zillion Opus-to-Opus.  {Fidonet}'s
	{session layer} {protocol}.  Although it mentions {Opus} (a
	specific {BBS} from the 1980s), WaZOO is the session protocol
	used for the Fidonet network.  Because WaZOO is much more
	efficient than other mechanisms (e.g., {FTP}), it is sometimes
	used for automated or batch communications in other parts of
	the {Internet}.

	{(ftp://ftp.psg.com/pub/fidonet/stds/fts-0006.txt)}.

	(1995-11-16)

wb

	<chat> Welcome Back.

WBEM

	{Web-Based Enterprise Management}

WBMP

	{wireless bitmap}

WBS

	{Work Breakdown Structure}

WCDMA

	{Wideband Code Division Multiple Access}

WCL

	A {Common Lisp} implementation in a shared library by Wade
	Hennessey <wade@leland.Stanford.edu>.  WCL is not a complete
	Common Lisp, but it does have the full development environment
	including {dynamic file loading} and debugging. A modified
	version of {GDB} provides mixed-language debugging.

	Version 2.14 includes a shared library, run-time support and
	source debugger.  It requires {GNU} {GCC} 2.1 (not 2.2.2) and
	runs on {SPARC} under {SunOS}.

	{(ftp://sunrise.stanford.edu/pub/wcl/)}.  Mailing list:
	<wcl-request@sunrise.stanford.edu>.  E-mail:
	<wcl@sunrise.stanford.edu>.

	[Proceedings of the 1992 Lisp and Functional Programming
	Conference].

	(1992-10-28)

WD

	{Western Digital}

WDASM

	<tool> (Probably "Windows disassembler") An {interactive}
	{Intel 486} {disassembler} for {Windows 3.1} written by Eric
	Grass at the University of Missouri, St. Louis.  WDASM
	supports multiple disassembly formats.

	{(ftp://ftp.simtel.com/cica/win3/util/wdasm15.zip)}.

	(1993-06-01)

WDM

	{wavelength division multiplexing}

WE

	A {hypertext} {authoring} system developed at the {University
	of North Carolina}.

	(1994-11-07)

Weak Head Normal Form

	<reduction, lambda calculus> (WHNF) A {lambda expression} is
	in weak head normal form (WHNF) if it is a {head normal form}
	(HNF) or any {lambda abstraction}.  I.e. the top level is not
	a {redex}.

	The term was coined by {Simon Peyton Jones} to make explicit
	the difference between {head normal form} (HNF) and what
	{graph reduction} systems produce in practice.  A lambda
	abstraction with a reducible body, e.g.

		\ x . ((\ y . y+x) 2)

	is in WHNF but not HNF.  To reduce this expression to HNF
	would require reduction of the lambda body:

		(\ y . y+x) 2  -->  2+x

	Reduction to WHNF avoids the {name capture} problem with its
	need for {alpha conversion} of an inner lambda abstraction and
	so is preferred in practical {graph reduction} systems.

	The same principle is often used in {strict} languages such as
	{Scheme} to provide {call-by-name} evaluation by wrapping an
	expression in a lambda abstraction with no arguments:

		D = delay E = \ () . E

	The value of the expression is obtained by applying it to the
	empty argument list:

		force D = apply D ()
			= apply (\ () . E) ()
			= E

	(1994-10-31)

weakly typed

	{weak typing}

weak typing

	<programming> Strict enforcement of {type} rules but with
	well-defined exceptions or an explicit type-violation
	mechanism.

	Weak typing is "friendlier" to the programmer than {strong
	typing}, but catches fewer errors at compile time.

	{C} and {C++} are weakly typed, as they automatically {coerce}
	many types e.g. {ints} and {floats}.  E.g.

	 int a = 5;
	 float b = a;

	They also allow ignore {typedefs} for the purposes of type
	comparison; for example the following is allowed, which would
	probably be disallowed in a strongly typed language:

	 typedef int Date;    /* Type to represent a date */
	 Date a = 12345;
	 int b = a;       /* What does the coder intend? */

	C++ is stricter than C in its handling of enumerated types:

	 enum animal {CAT=0,DOG=2,ANT=3};
	 enum animal a = CAT;  /* NB The enum is optional in C++ */
	 enum animal b = 1;    /* This is a warning or error in C++ */

	(2000-07-04)

weasel

	<jargon, abuse> (Cambridge) A naive user, one who deliberately
	or accidentally does things that are stupid or ill-advised.
	Roughly synonymous with {loser}.

	[{Jargon File}]

	(1995-03-21)

WEB

	<language> {Donald Knuth}'s self-documenting {literate
	programming}, with {algorithms} and {documentation} intermixed
	in one file.  They can be separated using {Weave} and
	{Tangle}.  Versions exist for {Pascal} and {C}.  {Spiderweb}
	can be used to create versions for other languages.
	{FunnelWeb} is a production-quality literate-programming tool.

	{(ftp://princeton.edu/)}, {(ftp://labrea.stanford.edu/)}.

	["Literate Programming", D.E. Knuth, Computer J 27(2):97-111,
	May 1984].

	(1996-05-10)

Web

	{World-Wide Web}

Web 2.0

	<jargon> A loosely defined term for {web applications} that go
	beyond displaying individual pages of static content and allow
	a community of users to interact with the site and each other
	by adding or updating the content.

	Examples include social-networking sites like {Facebook} and
	other web-based communities, hosted services like {Google
	Docs}, web applications like {GMail}, video-sharing sites
	({Youtube}), wikis ({Wikipedia}), {web logs}, {mashups} and
	{folksonomies}.

	While Web 2.0 applications often use advanced web features
	like {AJAX} to improve the speed of interaction, the term is
	more about the type of applications than the technology used.

	The term was coined by Darcy DiNucci in 1999, though she was
	discussing designing websites for new hardware platforms.

	(2009-11-18)

web2c

	<tool> A utility by Karl Berry <karl@claude.cs.umb.edu> to
	translate {WEB} to {C}.

	Latest version: 5-851d.

	{FTP UCI (ftp://ics.uci.edu/TeX/web2c.tar.Z)}.  {FTP Gernamy
	(ftp://ftp.th-darmstadt.de/pub/tex/src/web2c/web2c.tar.Z)}.

	(1996-05-10)

web address

	{Uniform Resource Locator}

web authoring

	<web> Creating {web content}, e.g. {HTML} pages,
	{images}, {JavaScript} or {Flash}, for use on the {World-Wide
	Web}.  {Web authoring} typically does not include generating
	the actual text or "copy" of web pages but is cheifly
	concerned with its presentation.

	(2009-02-06)

Web-Based Enterprise Management

	<standard, system management> (WBEM) A {DMTF} management
	{standard} using the {Common Information Model} to represent
	systems, {applications}, {networks}, {devices} and other
	managed components; developed to unify the management of
	{distributed computing} environments.

	{WBEM Home (http://dmtf.org/standards/wbem/))}

	(2005-02-19)

web browser

	<web> A {browser} for the {web}.

	(1996-03-23)

webcam

	<web, hardware, video> (web camera) Any
	video camera whose output is available for viewing via the
	{Internet} or an {intranet}.  Typically a webcam would be a
	slow-scan {CCD} video camera connected to a video capture card
	in a computer.  Images from the camera are captured
	periodically and made available on a web page.  In 1999 there
	are hundreds of webcams in operation around the world showing
	everything from bedrooms to traffic.

	[List?]

	(1999-01-11)

webcasting

	<multimedia, web> (From "web" and
	"broadcast", sometimes just called "push") {Multicasting} on
	the {Internet}.  Webcasting implies {real-time} {streaming}
	transmission of encoded {video} (or {audio}) under the control
	of the {server} to multiple recipients who all receive the
	same content at the same time.  This is in contrast to normal
	web browsing which is controlled from the {browser} by
	individual users and may take arbitrarily long to deliver a
	complete document.

	{Pointcast} and {Marimba} were early pioneers.

	{International Webcasting Association
	(http://webcasters.org/)}.

	(2003-07-08)

WebCGM

	<graphics, file format> A {Web}-oriented version of the
	{Computer Graphic Metafile} file format.

	(1999-02-16)

WebCOMAL

	{COMmon Algorithmic Language}

web cramming

	<web, legal> Any kind of fraudulent charges made to
	the telephone account of the victim, typically a small
	business or non-profit group, e.g. while claiming to provide
	web design or hosting for little or no charge.

	["Computer Forensics and Cyber Crime": Marjie T. Britz].

	(2007-03-16)

WebCrawler

	<web> A free {web} {search engine} developed by Brian Pinkerton at
	the {University of Washington} and now moved to {America Online,
	Inc}.  WebCrawler collects {URLs} by searching the {Internet} and
	allows users to perform keyword searches through a web {browser}.

	{(http://webcrawler.com/)}.

	(1995-11-28)

webhead

	<web> A compulsive or frequent user of, or
	contributor to, the {web}.

	(1994-07-21)

web host

	<web, business> A company that supplies {web
	hosting}.

	(2008-04-15)

web hosting

	<web, business> Running {web servers} for other
	businesses or individuals, usually as a commercial venture.
	Basic web hosting would allow customers to upload own {web
	site} content - {HTML} pages, {images}, {video} - typically
	via {FTP}, to a shared web server which other people can
	access via the {Internet}.

	A {web hosting (http://webhostingsearch.com/)} businesses may
	provide any or all of the functions required by a website
	including: networking, HTTP server software, content storage,
	{content management}, running customer or off-the-shelf {CGI}
	programs, {ASP} scripts or other server extentions, {load
	balancing}, {streaming content}, {domain name} registration,
	{DNS} serving, {electronic mail} storage and forwarding,
	{database}, {shell account}, content design and creation,
	{search engine optimisation}, {web log} analysis and web
	applications such as on-line shopping with financial
	transaction processing.

	(2011-12-24)

weblint

	<hypertext, tool> (After {lint}) A {syntax} checker and style
	checker for {HTML}.  Weblint is a {Perl} script which does for
	HTML pages what the traditional {lint} picks does for {C}
	programs.

	Version: 1.020 (1997-12-07).

	{(http://cre.canon.co.uk/~neilb/weblint/)}.

	(1997-12-07)

web log

	{blog}

web mail

	<messaging> An {electronic mail} {user agent} that is
	accessible on the web (via {HTTP}).  {HoTMail} was one of the
	first (bought by {Microsoft}), {Google}'s {GMail} is another
	popular example.

	(2007-02-13)

webmaster

	<web> (Sometimes "webmistress") The alias or role
	of the person(s) responsible for the development and
	maintenance of one or more {web servers} and/or some or all of
	the {web pages} at a {website}.  The term does not imply any
	particular level of skill or mastery (see "{webmonkey}").

	The webmaster's {e-mail address} often appears on the {home
	page} of the site.  Failing that, you could try sending e-mail
	to {postmaster} (from which the term is probably derived) or
	{root} at that {host}, possibly after removing an initial
	"www.".

	(1999-04-01)

webmistress

	{webmaster}

webmonkey

	<web> a largely unskilled {Web} worker - one with a
	passable understanding of {HTML} but little else.

	It is often supposed that, in the New Media food chain, there
	is nothing lower than a webmonkey.  Alas, there is: people who
	barely have the skills to use FrontPage; these people are
	called "typists".

	The {B1FF} of webmonkeys is personified as {Bobo the
	Webmonkey}.

	Compare {actor/singer/waiter/webmaster}.

	And compare {sysape}, {one-banana problem}, {scratch monkey},
	{monkey up}, and {Infinite-Monkey Theorem} for other simian
	allusions.

	(1998-04-04)

WebObjects

	<operating system> {Apple Computer, Inc.}'s {application
	server} {framework} for developing dynamic {web applications}.

	WebObjects applications accept {HTTP} requests either directly
	(usually on a specific {port}) or via an adaptor that sits
	between them and the web server.  Adaptors are either {CGI}
	programs or web server plug-ins ({NSAPI} or {ISAPI}).

	The server processes special tags in {HTML} pages to produce
	dynamic but standard HTML.  Tools are provided to easily set
	and get object properties and invoke methods from these tags.
	Applications can maintain {state} over multiple {HTTP}
	request-response transactions (which are intrinsically
	stateless).  Applications can also use Apple's {Enterprise
	Object Framework} {object relational mapping} libraries for
	{object persistence} and database access.

	WebObjects was originally based on {Objective C} and a simple
	scripting language but now is more likely to be used with
	{Java}.  Versions are available for {OS X}, {Windows} and
	{Unix}.

	Apple acquired WebObjects from {NeXT}, along with {Steve
	Jobs}.

	{WebObjects Home (http://apple.com/webobjects/)}.

	(2005-01-14)

web page

	<web> A block of data available on the {World-Wide
	Web}, identified by a {URL}.  In the simplest, most common
	case, a web page is a file written in {HTML}, stored on the
	{server}.  It may refer to {images} which appear as part of
	the page when it is displayed by a {web browser}.  It is also
	possible for the server to generate pages dynamically in
	response to a request, e.g. using a {CGI} script.

	A web page can be in any format that the browser or a {helper
	application} can display.  The format is transmitted as part
	of the headers of the response as a {MIME} type,
	e.g. "text/html", "image/gif".

	An HTML web page will typically refer to other web pages and
	{Internet} resources by including {hypertext} links.

	A {website} often has a {home page} (usually just the
	hostname, e.g. http://foldoc.org/).  It may also have
	individual home pages for each user with an account at the
	site.

	(1999-03-21)

web proxy

	{HTTP proxy server}

Web Request Broker

	<web> (WRB) Part of {Oracle Corporation}'s
	{WebServer} suite of programs.  It is a high-performance,
	{multi-threaded} {HTTP} server which allows {clients}'
	requests to be directly translated into {Oracle 7} {database}
	scripts, and automatically translates the results of the query
	back into {HTML} for delivery to the client {browser}.

	{Oracle WebServer
	(http://oracle.com/products/websystem/webserver/html/ws2_info.html)}.

	(1997-03-14)

web server

	{HTTP server}

Web Service Definition Language

	<architecture> (WSDL) An {XML} format for describing network
	{services} as a set of endpoints operating on messages
	containing either "document oriented" or "procedure oriented"
	information.  The operations and messages are described
	abstractly, and then bound to a concrete network protocol and
	message format to define an endpoint.  Related concrete
	endpoints are combined into abstract endpoints
	(services).

	WSDL is typically used with {SOAP} over {HTTP} but it is
	extensible to allow description of endpoints and their
	messages independent of what message formats or network
	protocols.

	[Reference?]

	(2004-06-21)

Web Services

	<standard, programming, software> A family of {standards}
	promoted by the {W3C} for working with other business,
	{developers} and {programs} through open {protocols},
	{languages} and {APIs}, including {XML}, {Simple Object Access
	Protocol}, {WSDL} and {UDDI}.

	{W3C Web Services (http://w3.org/2002/ws)}.

	(2004-06-23)

Web Services Business Process Execution Language

	<programming> (WSBPEL, BPEL4WS) An {OASIS} technical committee
	considering ways to enable users to describe {business processes}
	as {web services} and define how they can be connected to
	accomplish specific tasks.

	{(http://oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel)}.

	(2006-08-15)

website

	<web> (Or "web site") Any computer on the {Internet} running a
	{web server} process.  A particular website is usually identified
	by the {hostname} part of a {URL}.  Multiple hostnames may
	actually map to the same computer in which case they are known as
	"{virtual servers}".

	(2005-07-12)

web smith

	<web> A person who creates {web pages}.  Not
	necessarily the same as a {webmaster}.

	(1997-02-05)

Webster

	1. {Webster's Dictionary}.

	2. A {web browser} for the {Acorn} {Archimedes}.  The {HTML} files
	may reside locally or be retrieved using a "fetcher".  An {HTTP}
	fetcher for use with {KA9Q} is supplied.

	Version: 0.05.

	{HENSA Gopher
	(gopher://micros.hensa.ac.uk:70/11/micros/arch/riscos/c/c164)}.
	{Demon FTP
	(ftp://ftp.demon.co.uk/pub/archimedes/developers/)}.

	(1995-02-21)

Webster's Dictionary

	{Hypertext interface
	(http://c.gp.cs.cmu.edu:5103/prog/webster)}.

	(1996-04-10)

wedged

	1. To be stuck, incapable of proceeding without help.  This is
	different from having crashed.  If the system has crashed, it
	has become totally non-functioning.  If the system is wedged,
	it is trying to do something but cannot make progress; it may
	be capable of doing a few things, but not be fully
	operational.  For example, a process may become wedged if it
	{deadlocks} with another (but not all instances of wedging are
	deadlocks).  See also {gronk}, {locked up}, {hosed}.  2. Often
	refers to humans suffering misconceptions.  "He's totally
	wedged - he's convinced that he can levitate through
	meditation."  3. [Unix] Specifically used to describe the
	state of a TTY left in a losing state by abort of a
	screen-oriented program or one that has messed with the line
	discipline in some obscure way.

	There is some dispute over the origin of this term.  It is
	usually thought to derive from a common description of
	recto-cranial inversion; however, it may actually have
	originated with older "hot-press" printing technology in which
	physical type elements were locked into type frames with
	wedges driven in by mallets.  Once this had been done, no
	changes in the typesetting for that page could be made.

	[{Jargon File}]

wedgie

	(Fairchild) A bug.  Probably related to {wedged}.

wedgitude

	/wedj'i-t[y]ood/ The quality or state of being {wedged}.

	[{Jargon File}]

Weeble

	/wee'b*l/ An egg-shaped plastic toy person with a weight in
	the bottom so that, if tipped over, they would right
	themselves and stand up again.  They were popular in the UK
	during the 1970s and were famous for the slogan "Weebles
	wobble but they don't fall down", unlike some computers
	(pretty tenuous link with computing).

	(1994-11-29)

weeds

	1. Refers to development projects or {algorithms} that have no
	possible relevance or practical application.  Comes from "off
	in the weeds".  Used in phrases like "lexical analysis for
	{microcode} is serious weeds."

	2. At {CDC}/{ETA} before its demise, the phrase "go off in the
	weeds" was equivalent to {IBM}'s {branch to Fishkill} and
	mainstream hackerdom's {jump off into never-never land}.

	[{Jargon File}]

weenie

	1. [on BBSes] Any of a species of {luser} resembling a less
	amusing version of {BIFF} that infests many {BBS}es.  The
	typical weenie is a teenage boy with poor social skills
	travelling under a grandiose {handle} derived from fantasy or
	heavy-metal rock lyrics.  Among {sysops}, "the weenie problem"
	refers to the marginally literate and profanity-laden
	{flamage} weenies tend to spew all over a newly-discovered
	BBS.

	Compare {spod}, {computer geek}, {terminal junkie}.

	2. Among hackers, when used with a qualifier (for example, as
	in {Unix weenie}, {VMS} weenie, {IBM} weenie) this can be
	either an insult or a term of praise, depending on context,
	tone of voice, and whether or not it is applied by a person
	who considers him or herself to be the same sort of weenie.
	It implies that the weenie has put a major investment of time,
	effort and concentration into the area indicated; whether this
	is good or bad depends on the hearer's judgment of how the
	speaker feels about that area.  See also {bigot}.

	3. The {semicolon} character, ";" ({ASCII} 59).

	(1995-01-18)

Weenix

	/wee'niks/ An {ITS} fan's derogatory term for {Unix}, derived
	from {Unix weenie}.  According to one noted ex-{ITS}er, it is
	"the operating system preferred by Unix Weenies: typified by
	poor modularity, poor reliability, hard file deletion, no file
	version numbers, case sensitivity everywhere, and users who
	believe that these are all advantages".  Some {ITS} fans
	behave as though they believe Unix stole a future that
	rightfully belonged to them.

	[{Jargon File}]

	(1995-01-18)

weighted search

	<information science> A search based on frequencies of the
	{search terms} in the documents being searched.  Weighted
	search is often used by {search engines}.  It produces a
	numerical score for each possible document.  A document's
	score depends on the frequency of each {search term} in that
	document compared with the overall frequency of that term in
	the entire corpus of documents.  A common approach is called
	tf.idf which stands for term frequency * inverse document
	frequency.  Term frequency means "the more often a term occurs
	in a document, the more important it is in describing that
	document."
	{http://ciir.cs.umass.edu/cmpsci646/ir4/tsld034.htm} Inverse
	document frequency means the more documents a term appears in,
	the less important the term is.

	A simple weighted search is just a list of search terms,
	for example: car automobile

	Weighted search is often contrasted with {boolean search}.
	It is possible to have a search that syntactically is a
	boolean search but which also does a weighted search.

	See also {query expansion}.

	For a detailed technical discussion see Chapter 5,
	"Search Strategies", in the reference below.

	[{"Information Retrieval", C. J. van Rijsbergen,
	(http://dcs.gla.ac.uk/Keith/Chapter.5/Ch.5.html)}].

	(1999-08-28)

well-behaved

	1. [primarily {MS-DOS}] Said of software conforming to system
	interface guidelines and standards.  Well-behaved software
	uses the {operating system} to do chores such as keyboard
	input, allocating memory and drawing graphics.  Oppose
	{ill-behaved}.

	2. Software that does its job quietly and without
	counterintuitive effects.  Especially said of software having
	an interface spec sufficiently simple and well-defined that it
	can be used as a {tool} by other software.  See {cat}.

	[{Jargon File}]

well-connected

	Said of a computer installation, asserts that it has reliable
	{electronic mail} links with the network and/or that it relays
	a large fraction of available {Usenet} newsgroups.
	"Well-known" can be almost synonymous, but also implies that
	the site's name is familiar to many (due perhaps to an archive
	service or active {Usenet} users).

well-known port

	<networking> A {TCP or {UDP} {port} with a number in the range
	0-1023 (originally 0-255).  The well-known port numbers are
	assigned by the {IANA} and on most systems can only be used by
	system (or root) processes or by programs executed by
	privileged users.

	(2002-10-06)

well-ordered set

	<mathematics> A set with a {total ordering} and no infinite
	descending {chains}.  A total ordering "<=" satisfies

		x <= x

		x <= y <= z  =>  x <= z

		x <= y <= x  =>  x = y

		for all x, y: x <= y or y <= x

	In addition, if a set W is well-ordered then all non-empty
	subsets A of W have a least element, i.e. there exists x in A
	such that for all y in A, x <= y.

	{Ordinals} are {isomorphism classes} of {well-ordered sets},
	just as {integers} are {isomorphism classes} of finite sets.

	(1995-04-19)

WEP

	{Wireless Encryption Protocol}

Wesley Clark

	<person> One of the designers of the {Laboratory Instrument
	Computer} at {MIT} who subsequently had a quiet hand in many
	seminal computing events, such as the development of the
	{Internet}, the first really good description of the
	{metastability} problem in computer logic.

	{(http://pretext.com/mar98/features/story1.htm)}.

	(1999-03-29)

Western Digital Corporation

	<company> A company founded in 1970 as a specialised
	semiconductor manufacturer, which today manufactures and sells
	{microcomputer} products including small form factor {hard
	disk drives} for {personal computers}, {integrated circuits}
	and circuit boards for graphics, storage, communications,
	{battery management}, and logic functions.

	{(http://wdc.com/)}.

	(1995-04-12)

Westmount

	<company> A Dutch software engineering vendor of {RTEE} and
	other products.

	(1998-04-27)

wetware

	<jargon> /wet'weir/ (Probably from the novels of Rudy Rucker,
	or maybe Stanislav Lem) The human nervous system, as opposed
	to electronic computer {hardware} or {software}.  "Wetware has
	7 plus or minus 2 temporary {registers}."  Also, human beings
	(programmers, operators, administrators) attached to a
	computer system, as opposed to the system's hardware or
	software.

	See {liveware}, {meatware}.

	[True origin?  Dates?]

	[{Jargon File}]

	(1996-08-19)

wf

	<networking> The {country code} for the Wallis and Futuna
	Islands.

	(1999-01-27)

WFL

	Work Flow Language.  Burroughs, ca 1973.  A job control
	language for the B6700/B7700 under MCP.  WFL was a compiled
	block-structured language similar to ALGOL 60, with
	subroutines and nested begin-end's.

	["Work Flow Management User's Guide", Burroughs Manual
	5000714, 1973].

	["Burroughs B6700/B7700 Work Flow Language", R.M. Cowan in
	"Command Languages", C. Unger ed, N-H 1975].

	(1996-01-18)

WfMC

	{Workflow Management Coalition}

WFW

	{Windows for Workgroups}

WFWG

	{Windows for Workgroups}

WG

	{Working Group}

WGL

	{Waveform Generation Language}

whack

	According to arch-hacker James Gosling, to "...modify a
	program with no idea whatsoever how it works." (See
	{whacker}.)  It is actually possible to do this in nontrivial
	circumstances if the change is small and well-defined and you
	are very good at {glark}ing things from context.  As a trivial
	example, it is relatively easy to change all "stderr" writes
	to "stdout" writes in a piece of C filter code which remains
	otherwise mysterious.

	[{Jargon File}]

whacker

	[University of Maryland: from {hacker}] 1. A person, similar
	to a {hacker}, who enjoys exploring the details of
	programmable systems and how to stretch their capabilities.
	Whereas a hacker tends to produce great hacks, a whacker only
	ends up whacking the system or program in question.  Whackers
	are often quite egotistical and eager to claim {wizard}
	status, regardless of the views of their peers.  2. A person
	who is good at programming quickly, though rather poorly and
	ineptly.

whales

	{like kicking dead whales down the beach}

whalesong

	The peculiar clicking and whooshing sounds made by a {PEP}
	{modem} such as the {Telebit} {Trailblazer} as it tries to
	synchronise with another PEP modem for their special
	high-speed mode.  This sound isn't anything like the normal
	two-tone handshake between conventional modems and is
	instantly recognizable to anyone who has heard it more than
	once.  It sounds, in fact, very much like whale songs.  This
	noise is also called "the moose call" or "moose tones".

whatis

	<tool> 1. A {Unix} command which searches for a given string
	in the headings of all {man} pages.

	2. A command which searches the {archie} {Software Description
	Database} for a given string, with case being ignored.

	(1995-11-12)

What's a spline?

	[XEROX PARC] This phrase expands to: "You have just used a
	term that I've heard for a year and a half, and I feel I
	should know, but don't.  My curiosity has finally overcome my
	guilt."  The PARC lexicon adds "Moral: don't hesitate to ask
	questions, even if they seem obvious."

	[{Jargon File}]

What You Get Is What You Never Thought You Had

	<jargon> (WYGIWYNTYH) A jibe at {WYSIWYG} systems that fail in
	their stated aim by rendering documents differently on screen
	and on paper.

	(1999-06-15)

What You See Is All You Get

	<jargon> (WYSIAYG) /wiz'ee-ayg/ Describes a user interface
	under which "What You See Is *All* You Get"; an unhappy
	variant of {WYSIWYG}.  Visual, "{point-and-drool interfaces}"
	are easy to learn but often lack depth; they often frustrate
	advanced users who would be better served by a command-style
	interface.  When this happens, the frustrated user has a
	WYSIAYG problem.

	This term is most often used of editors, {word processors},
	and document formatting programs.  WYSIWYG "{desktop
	publishing}" programs, for example, are a clear win for
	creating small documents with lots of fonts and graphics in
	them, especially things like newsletters and presentation
	slides.  When typesetting book-length manuscripts, on the
	other hand, scale changes the nature of the task; one quickly
	runs into WYSIAYG limitations, and the increased power and
	flexibility of a command-driven formatter like {TeX} or
	{Unix}'s {troff} becomes not just desirable but a necessity.

	Compare {YAFIYGI}.

	(1999-03-03)

What You See Is What You Get

	<jargon> (WYSIWYG) /wiz'ee-wig/ Describes a user interface for
	a document preparation system under which changes are
	represented by displaying a more-or-less accurate image of the
	way the document will finally appear, e.g. when printed.  This
	is in contrast to one that uses more-or-less obscure commands
	that do not result in immediate visual feedback.

	True WYSIWYG in environments supporting multiple fonts or
	graphics is rarely-attained; there are variants of this term
	to express real-world manifestations including WYSIAWYG (What
	You See Is *Almost* What You Get) and WYSIMOLWYG (What You See
	Is More or Less What You Get).  All these can be mildly
	derogatory, as they are often used to refer to dumbed-down
	{user-friendly} interfaces targeted at non-programmers; a
	hacker has no fear of obscure commands (compare {WYSIAYG}).
	On the other hand, {Emacs} was one of the very first WYSIWYG
	editors, replacing (actually, at first overlaying) the
	extremely obscure, command-based {TECO}.

	See also {WIMP}.

	(1999-03-03)

wheel

	[slang "big wheel" for a powerful person] A person who has an
	active {wheel bit}.  "We need to find a wheel to unwedge the
	hung tape drives."  (See {wedged}).

	[{Jargon File}]

wheel bit

	A privilege bit that allows the possessor to perform some
	restricted operation on a {time-sharing} system, such as read
	or write any file on the system regardless of protections,
	change or look at any address in the running monitor, crash or
	reload the system, and kill or create jobs and user accounts.
	The term was invented on the TENEX operating system, and
	carried over to TOPS-20, XEROX-IFS, and others.  The state of
	being in a privileged logon is sometimes called "wheel mode".
	This term entered the Unix culture from TWENEX in the
	mid-1980s and has been gaining popularity there (especially at
	university sites).  See also {root}.

wheel wars

	[Stanford University] A period in {larval stage} during which
	student hackers hassle each other by attempting to log each
	other out of the system, delete each other's files, and
	otherwise wreak havoc, usually at the expense of the lesser
	users.

	[{Jargon File}]

When It's Done

	<jargon> A manufacturer's non-answer to questions about
	product availability.  This answer allows the manufacturer to
	pretend to communicate with their customers without setting
	themselves any deadlines or revealing how behind schedule the
	product really is.  It also sounds slightly better than "We
	don't know".

	(1999-08-22)

Whetstone

	<benchmark> The first major {synthetic benchmark} program,
	intended to be representative for numerical ({floating-point}
	intensive) programming.  It is based on statistics gathered by
	Brian Wichmann at the {National Physical Laboratory} in
	England, using an {Algol 60} {compiler} which translated Algol
	into instructions for the imaginary Whetstone machine.  The
	compilation system was named after the small town of Whetstone
	outside the City of Leicester, England, where it was designed.

	The later {dhrystone} benchmark was a pun on Whetstone.

	Source code: {C
	(ftp://netlib.att.com/netlib/benchmark/whetstonec.Z)}, {single
	precision Fortran
	(ftp://netlib.att.com:/netlib/benchmark/whetstones.Z)},
	{double precision Fortran
	(ftp://netlib.att.com:/netlib/benchmark/whetstoned.Z)}.

	["A Synthetic Benchmark", H.J. Curnow and B.A. Wichmann, The
	Computer Journal, 19,1 (1976), pp. 43-49].

	(1994-11-14)

Which Stands For Nothing

	<language> (WSFN) A beginner's language with emphasis on
	graphics produced by {Atari} in 1983 for {Atari} home
	computers.  There is also {Advanced WSFN}.

	(1996-06-12)

while

	{while loop}

while loop

	<programming> The {loop} construct, found in nearly all
	{procedural languages}, that executes one or more instructions
	(the "loop body") repeatedly so long as some {condition}
	evaluates to true.  In contrast to a {repeat loop}, the loop
	body will not be executed at all if the condition is false on
	entry to the while.

	For example, in {C}, a while loop is written

		while (<expr>) <statement>;

	where <expr> is any expression and <statement> is any
	statement, including a compound statement within braces
	"{..}".

	A {for loop}, e.g. in the {C} language, extends the while loop
	syntax to collect pre-loop initialisation and loop-end logic
	into the beginning of the statement.

	Perl provides the "until" loop that loops until the loop
	condition is true.

	(2009-10-07)

Whirlwind

	<computer> An early computer from the {MIT Research Laboratory
	for Electronics}.

	Whirlwind used {electrostatic memory} and ran {Laning and
	Zierler} (1953); and {ALGEBRAIC}, {COMPREHENSIVE} and {SUMMER
	SESSION} (all 1959).

	[Details, reference?]

	(2002-06-03)

White Book

	1. <language, publication> {K&R}.

	2. <language, publication, file format> The fourth book in
	{Adobe Systems, Inc.}'s {PostScript} series, describing the
	previously-secret format of {Type 1} {fonts}.  The other three
	official guides are known as the {Blue Book}, the {Green
	Book}, and the {Red Book}.

	["Adobe Type 1 Font Format, version 1.1", Addison-Wesley, 1990
	(ISBN 0-201-57044-0)].

	3. <hardware, standard> {White book CD-ROM}.

	[{Jargon File}]

	(1996-12-03)

White book CD-ROM

	<hardware, standard> A more open {CD-ROM} {standard} than
	{Green Book CD-ROM}.  All films mastered on CD-ROM after March
	1994 use White Book.  Like Green Book, it is {ISO 9660}
	compliant, uses mode 2 form 2 addressing and can only be
	played on a {CD-ROM} drive which is {XA} (Extended
	Architecture) compatible.  White book CDs are labelled "Video
	CD".

	(1994-11-02)

white box testing

	<programming> (Or "clear", "glass", "open") Software testing
	approaches that examine the program structure and derive test
	data from the program logic.

	Structural testing is sometimes referred to as clear-box
	testing since white boxes are considered opaque and do not
	really permit visibility into the code.

	(1996-05-10)

White pages

	A directory service for locating individuals by name (by
	analogy with the telephone directory).  The {Internet}
	supports several {databases} that contain basic information
	about users, such as {electronic mail} addresses, telephone
	numbers and postal addresses.  These databases can be searched
	to get information about particular individuals.  See
	{Knowbot}, {Netfind}, {whois}, {X.500}, {finger}.

white paper

	<publication> A short treatise whose purpose is to educate
	industry customers.  See, e.g., {Architecture Neutral
	Distribution Format}.

	(1997-10-24)

white point

	<graphics> A set of three {colour coordinates} that define the
	colour white in {image processing} applications.

	(2008-03-10)

whitespace

	<character> (From the colour it produces on white paper) Any
	contiguous sequence of {spaces}, {tabs}, {carriage returns},
	and/or {line feeds}.  Whitespace might also possibly include
	{form feed} characters.  The term is common on {Unix}.

	See also {non-printing character}.

	(1996-09-04)

white trash

	<abuse, hardware> A pejorative term for {Intel}-based
	{microcomputers}, used by {NeXT} users at UK law firm
	Linklaters & Paines to contrast these machines with their
	black NeXT boxes.

	(1996-09-04)

WHNF

	{weak head normal form}

whois

	An {Internet} directory service for looking up names of people
	on a remote server.  Many servers respond to {TCP} queries on
	{port} 43, in a manner roughly analogous to the {DDN} {NIC}
	whois service described in {RFC} 954.  Other sites provide
	this directory service via the {finger} {protocol} or accept
	queries by {electronic mail} for directory information.  On
	{Unix} the client command is

		whois -h server_name person_name

	You can also type "telnet server_name 43" and then type the
	person's name on a separate line.  For a list of whois
	servers, FTP/Gopher: sipb.mit.edu.  Or

		whois -h sipb.mit.edu whois-servers

	As the above command demonstrates, whois can find information
	about things other than users, e.g. domains, networks and
	hosts.

	See also {finger}, {X.500}, {white pages}.

whole number

	{integer}

Whopper

	{WarGames}

WHQL

	{Windows Hardware Quality Labs}

WIBNI

	({Bell Labs}) Wouldn't It Be Nice If.

	What most requirements documents and specifications consist
	entirely of.

	Compare {IWBNI}.

	[{Jargon File}]

	(1994-11-24)

WIC

	{WAN Interface Card}

Wide Area Information Servers

	<networking, information science> (WAIS) A distributed
	information retrieval system.  WAIS is supported by {Apple
	Computer}, {Thinking Machines} and Dow Jones.  {Clients} are
	able to retrieve documents using keywords.  The search returns
	a list of documents, ranked according to the frequency of
	occurrence of the keyword(s) used in the search.  The client
	can retrieve text or {multimedia} documents stored on the
	{server}.  WAIS offers simple {natural language} input,
	indexed searching for fast retrieval, and a "relevance
	feedback" mechanism which allows the results of initial
	searches to influence future searches.  It uses the {ANSI
	Z39.50} service.  {Public domain} implementations are
	available.

	Other information retrieval systems include {archie},
	{Gopher}, {Prospero}, and {web}.

	{Usenet} newsgroup: {news:comp.infosystems.wais}.

	{Telnet (telnet://sunsite.unc.edu)}.

	(1995-03-13)

Wide Area Network

	<networking> (WAN) A {network}, usually constructed with
	{serial lines}, extending over distances greater than one
	kilometre.

	Compare {local area network}, {metropolitan area network}.

	(1994-11-24)

Wide Area Telecommunications Service

	<communications> (WATS) A special service provided by an
	{inter-exchange carrier} that allows a customer to use a
	specific {trunk} to make calls to specific geographic zones or
	to receive calls at a specified number at a discounted price.

	(2006-05-01)

Wideband ATM

	<networking> An enhanced form of {ATM} networking that
	transfers digital data over {local area networks}, originally
	at 0.96 {Gbps}, now (Aug 1996) at 1.0 Gbps.

	(1996-08-23)

Wide SCSI

	<hardware, standard> A variant on the {SCSI-2} interface.  It
	uses a 16-bit bus - double the width of the original {SCSI}-1
	- and therefore cannot be connected to a SCSI-1 bus.  It
	supports transfer rates up to 20 MB/s, like {Fast SCSI}.

	There is also a SCSI-2 definition of Wide-SCSI with a 32 bit
	data bus.  This allows up to 40 megabytes per second but is
	very rarely used because it requires a large number of wires
	(118 wires on two connectors).  Thus Wide SCSI usually means
	16 bit-wide SCSI.

	(1995-04-21)

widget

	1. A meta-thing.  Used to stand for a real object in didactic
	examples (especially database tutorials).  Legend has it that
	the original widgets were holders for buggy whips.  "But
	suppose the parts list for a widget has 52 entries..."

	2. [possibly evoking "window gadget"] In graphical user
	interfaces, a combination of a graphic symbol and some program
	code to perform a specific function.  E.g. a scroll-bar or
	button.  Windowing systems usually provide widget libraries
	containing commonly used widgets drawn in a certain style and
	with consistent behaviour.

	[{Jargon File}]

wi-fi

	<networking> Either of two different incompatible radio-based
	{LAN} {protocols}, namely {802.11b} (which speaks {DSSS} at
	2.4GHz) and {802.11a} (which speaks {OFDM} at 5GHz).

	The term was invented by the marketing departments of wi-fi
	equipment manufacturers.  It is, notionally, short for
	"wireless fidelity", on the analogy of hi-fi for "high
	fidelity" audio.

	(2003-09-02)

Wi-Fi Protected Access

	<networking, security> (WPA) A security scheme for {wireless
	networks}, developed by the networking industry in response to
	the shortcomings of {Wired Equivalent Privacy} (WEP).  WPA
	uses {Temporal Key Integrity Protocol} (TKIP) {encryption} and
	provides built-in {authentication}, giving security comparable
	to {VPN} tunneling with WEP, with the benefit of easier
	administration and use.

	{WPA-PSK} is a simplified form of WPA.

	(2007-05-11)

Wi-Fi Protected Access Pre-Shared Key

	<networking, security> (WPA-PSK) A simplified but still
	powerful form of {WPA}, most suitable for home {wireless
	networking}.  As with {WEP}, you set a static key or pass
	phrase, but WPA-PSK uses {TKIP} to automatically change the
	keys periodically, making it much more difficult to break the
	encryption.

	(2007-05-11)

wiggles

	[scientific computation] In solving partial differential
	equations by finite difference and similar methods, wiggles
	are sawtooth (up-down-up-down) oscillations at the shortest
	wavelength representable on the grid.  If an algorithm is
	unstable, this is often the most unstable waveform, so it
	grows to dominate the solution.  Alternatively, stable (though
	inaccurate) wiggles can be generated near a discontinuity by a
	Gibbs phenomenon.

wiki

	<communications> Any collaborative {website} that users can
	easily modify via the web, often without restriction.  A wiki
	allows anyone, using a {web browser}, to create, edit or
	delete content that has been placed on the site, including the
	work of other authors.

	Text is entered using some simple {mark-up language} which is
	then rendered as {HTML}.  A feature common to many of the
	different implementations is that any word in mixed case
	LikeThis (a "wikiword") is rendered as a link to a page of
	that name, which may or may not exist.

	Wikis work surprisingly well, with the most famous example,
	{Wikipedia}, having become one of the most popular sites on
	the web.  Contributors tend to be more numerous and more
	persistent than vandals, and old versions of pages are always
	available.  Like many simple concepts, open editing has
	profound effects on usage.  Allowing everyday users to create
	and edit any page encourages democratic use of the web and
	promotes content composition by nontechnical users.

	In contrast, a {web log}, typically authored by an individual,
	does not allow visitors to change the original posted
	material, only add comments.

	Wiki wiki means "quick" in Hawaiian. The first wiki was
	created by {Ward Cunningham} in 1995.

	{wiki.org (http://wiki.org/)}.

	(2010-05-07)

WiLAN

	{wireless local area network}

Wild_LIFE

	Logic, Inheritance, Functions and Equations

	parts: interpreter, manual, tests, libraries, examples

	Paradise Project, DEC Paris Research Laboratory.

	{(ftp://gatekeeper.dec.com/pub/plan/Life.tar.Z)} - Wild_LIFE
	interpreter from Paradise project at DEC's Paris Research Lab

	LIFE is an experimental programming language with a powerful
	facility for structured type inheritance.  It reconciles
	styles from functional programming, logic programming, and
	object-oriented programming.  LIFE implements a constraint
	logic programming language with equality (unification) and
	entailment (matching) constraints over order-sorted feature
	terms.  The Wild_LIFE interpreter has a comfortable user
	interface with incremental query extension ability.  It
	contains an extensive set of built-in operations as well as an
	X Windows interface.

	A semantic superset of LOGIN and LeFun.  Syntax is similar to
	prolog.

	bugs:		<life-bugs@prl.dec.com>

	ports:		MIPS-Ultrix

	Mailing list:	life-request@prl.dec.com

	E-mail: Peter Van Roy <vanroy@prl.dec.com>

	(1992-12-14)

wild card

	<operating system, programming, text> (From card games in
	which certain cards, often the joker, can act as any other
	card) A special character or character sequence which matches
	any character in a string comparison, like ellipsis ("...") in
	ordinary written text.

	In {Unix} filenames '?' matches any single character and '*'
	matches any zero or more characters.  In {regular
	expressions}, '.' matches any one character and "[...]"
	matches any one of the enclosed characters.

	See also {Backus-Naur Form}.

	(1997-07-16)

Wilf Hey

	<person> The person who originally developed {Report Program
	Generator} and coined the phrase GIGO (garbage in: garbage
	out).

	In 2004, after more than forty years in computing, he was
	writing for {PC Plus} magazine in the UK and doing Wilf's
	programmers workshop amongst other things.  He died on
	2007-01-01 after a long illness.

	(2007-01-06)

William Gibson

	<person> Author of {cyberpunk} novels such as Neuromancer
	(1984), Count Zero (1986), Mona Lisa Overdrive, and Virtual
	Light (1993).

	Neuromancer, a novel about a computer {hacker}/criminal
	"cowboy" of the future helping to free an {artificial
	intelligence} from its programmed bounds, won the Hugo and
	Nebula science fiction awards and is credited as the seminal
	cyberpunk novel and the origin of the term "{cyberspace}".

	Gibson does not have a technical background and supposedly
	purchased his first computer in 1992.

	(1996-06-11)

William Hamilton

	<person> A mathematician who posed {Hamilton's problem}.

	{Biography
	(http://gregory.dcs.st-and.ac.uk/~history/ShortBiogs/H.html#Hamilton)}.

	[Summary?]

	(1995-11-02)

William Joy

	<person> (Bill Joy) Author of the {C shell} and {vi}, he was
	also one of the people at the {University of California at
	Berkeley} responsible for the {Berkeley Software Distribution}
	of {Unix}.  He also wrote a book on {Unix}.

	He was a co-founder of {Sun Microsystems, Inc.}, where he is
	still (1997) Vice-President of Research.  Among his many
	projects for Sun have been helping to design the {Network File
	System} and the {SPARC} architechture.

	{Biography
	(http://sun.com/aboutsun/media/ceo/mgt_joy.html)}.

	See also {dinosaur}.

	[Book ref?  E-mail?]

	(2000-10-30)

WIMP

	<operating system> Windows, Icons, Menus and Pointers
	(or maybe Windows, Icons, Mouse, {Pull-down menus}).

	The style of {graphical user interface} invented at {Xerox
	PARC}, popularised by the {Apple Macintosh} and now available
	in other varieties such as the {X Window System},
	{OSF}/{Motif}, {NeWS}, {RISC OS} and {Microsoft Windows}.

	See {menuitis}, {user-obsequious}, {window system}.

	(2007-09-12)

WIMP environment

	{WIMP}

win

	<jargon> (Said of people, computers, {algorithms}, programs)
	(To be) a success at a given task.

	E.g. "{WYSIWYG} is a clear win for small documents".

	"winnitude" is the quality that something which wins has.
	"winning" is often (ab)used as an adjective.

	Synonyms: {cuspy}, {elegant}.  Antonym: {lose}.  Compare
	{lossy}, {lossless}.

	[{Jargon File}]

	(1996-09-08)

Win2K

	{Windows 2000}

Win32

	<programming> An {application programming interface} that is
	common to all {Microsoft}'s 32-bit Windows {operating
	systems}.  These currently include: {Windows 95}, {Windows
	98}, {Windows NT} and {Windows CE}.

	[Relationship with {Win32s}?]

	(1997-12-20)

Win32s

	<operating system> A free extension for {Microsoft Windows},
	released by {Microsoft}.  Win32s is a software layer on top of
	Windows which allows {32-bit applications} (e.g. {Mosaic}) to
	run on Windows.  Both stand-alone Windows and {Windows for
	Workgroups} run as 16 bit, and both can use Win32s to run
	32-bit applications.

	(1996-07-08)

Win 95

	{Windows 95}

Win 98

	{Windows 98}

winchester

	<hardware> An informal generic term for floating head
	{magnetic disk} drives in which the read-write head planes
	over the disk surface on an air cushion.

	The name arose because the original 1973 engineering prototype
	for what later became the {IBM 3340} featured two 30-megabyte
	volumes; 30--30 became "Winchester" when somebody noticed the
	similarity to the common term for a famous Winchester rifle
	(in the latter, the first 30 referred to caliber and the
	second to the grain weight of the charge).

	[{Jargon File}]

	(1994-12-06)

windowing

	{window system}

windowing system

	{window system}

window manager

	<operating system> A part of a {window system} which arranges
	windows on a screen.  It is responsible for moving and
	resizing windows, and other such functions common to all
	applications.

	Examples from the {X Window System} are {twm}, {gwm}, {olwm}.

	(1994-12-06)

Window RAM

	{Window Random Access Memory}

Window Random Access Memory

	<hardware, storage> (WRAM, Window RAM) A kind of {RAM} which
	is faster than {VRAM}.

	WRAM is used in the Matrox MGA Millennium {video display card}
	and almost certainly elsewhere.

	[More details?]

	(1996-06-05)

Windows

	<operating system> See {Microsoft Windows}, {Windows NT}.

	(1997-11-23)

Windows 1

	<operating system> The first incarnation of {Microsoft
	Windows}, released in 1985.  It took a total of 55
	programmer-years to develop, and only allowed tiled windows.

	(1996-07-08)

Windows 2

	<operating system> The second version of {Microsoft Windows},
	released in 1987.  Windows 2 had considerably more features
	than {Windows 1}, such as overlapping windows and {icons}.
	When {Windows/386} was released, Windows 2 was renamed
	Windows/286.

Windows 2000

	<operating system> (Win2k, W2k, NT5, Windows NT 5.0) An
	{operating system} developed by {Microsoft Corporation} for
	{PCs} and {servers}, as the successor to {Windows NT 4}.0.
	Early {beta} versions were referred to as "Windows NT 5.0".
	Windows 2000 was officially released on 2000-02-17.

	Windows 2000 is most commonly used on {Intel} {x86} and
	{Pentium} processors, with a {DEC Alpha} version rumoured.
	Unlike Windows NT 4.0, Windows 2000 is not available for
	{PowerPC} or {MIPS}.

	Windows 2000's {user interface} is very similar to {Windows
	95} or Windows NT 4.0 with integrated {Internet Explorer}, or
	to {Windows 98}.

	It is available in four flavours:

	- Professional: the {client} version, meant for desktop
	{workstations}, successor to Windows NT Workstation.

	- Server: "entry-level" server, designed for small
	deployments, and departmental file, print, or {intranet}
	servers.

	- Advanced Server: high throughput, larger scale servers
	and applications, and small to medium scale {websites}.

	- Data Center Server: software for large-scale server
	{clusters} (in development as of 2000-03-14).

	New features in Windows 2000 include:

	- {Active Directory}.

	- Greatly improved built-in security mechanisms, including
	{Kerberos}-based {authentication}, {public key} support, an
	{encrypting} {file system}, and {IPsec} support.

	- Integrated {web browser} - {Internet Explorer} 5.0.

	- Integrated {web server} - {IIS} 5.0

	- Terminal services for displaying application interfaces on
	remote computers (similar to {X-Windows}).

	- File protection that prevents user programs from
	accidentally deleting or overwriting critical system files.

	- Improved hardware support, including {Plug-and-Play}, {DVD},
	{IEEE-1394} (FireWire), {USB}, {infra-red}, {PCMCIA}, {ACPI},
	{laptop computers}.

	- Improved user interface, including a single point to control
	the entire system.

	- Improved management tools, including remote administration.

	Minimum system requirements, according to Microsoft, are
	{Pentium}-133 {MHz} {CPU}, 64 {MB} {RAM}, 650 {MB} of {hard
	disk} space.  These are for W2K Professional, others require
	more.

	Many {operating systems} compete with Windows 2000, including
	the {Apple} {MacOS}, {Linux}, {FreeBSD}, {OpenBSD}, {NetBSD},
	{Sun} {Solaris}, {IBM} {AIX}, {Hewlett-Packard} {HP-UX}, {SGI}
	{Irix}.  Novell's NDS also provides a service similar to
	Active Directory.

	Windows 2000 will be followed by {Windows XP} Professional and
	{Windows 2002}.

	{(http://microsoft.com/windows2000/)}.

	{Usenet} newsgroups: {(news:microsoft.public.windows2000)},
	{(news:comp.os.ms-windows)}.

	(2002-01-28)

Windows/286

	{Windows 2}

Windows 2K

	{Windows 2000}

Windows 3.0

	<operating system> A complete rework of {Microsoft Windows}
	with many new facilities such as the ability to address memory
	beyond 640k.  It was released in 1990, and vigorous
	development of applications by third parties helped Microsoft
	sell over 10 million copies.

	(1996-07-08)

Windows 3.1

	<operating system> A version of {Microsoft Windows} with many
	improvements over {Windows 3.0}, including {True Type Fonts},
	{Object Linking and Embedding} (OLE) and {Mouse Trails} for
	use with {LCD} Devices.  It also saw the loss of {Real Mode},
	which meant it would no longer run on {Intel 8086} processors
	(did anyone ever do this anyway?).

	Sometimes described as "stand-alone Windows", in contrast to
	{Windows for Workgroups 3.1}.  {Windows 3.11} is a free
	bug-fix update.  3.1's successors are {Windows 95} and
	{Windows NT}.

	(1996-07-08)

Windows 3.11

	<operating system> A free minor bug-fix for {Windows 3.1}.

	(1996-07-08)

Windows/386

	<operating system> A version of {Microsoft Windows} released
	in late 1987.  Windows/386 was basically the same as its
	predecessor, Windows/286 (as {Windows 2} was renamed), but
	with the capability to run multiple {MS-DOS} applications
	simultaneously in {extended memory}.

	(1996-07-08)

Windows 4GL

	<tool, database> (INGRES/Windows 4GL) A graphical tool running
	on top of a {workstation}'s native {windowing system}, to help
	developers to build user interfaces to {INGRES} applications.

	(1996-07-09)

Windows 94

	<operating system, humour> A facetious name for {Windows 95},
	so called because it was originally meant to ship in 1994.

	(1998-09-07)

Windows 95

	<operating system> (Win95) {Microsoft}'s successor to their
	{Windows 3.11} {operating system} for {IBM PCs}.  It was known
	as "Chicago" during development.  Its release was originally
	scheduled for late 1994 but eventually happened on 11 Jul
	1995, followed by Service Release 1 on 1995-12-31 and OSR2
	(OEM Service Release 2) on 1996-08-24.

	In contrast to earlier versions, Windows 95 is a complete
	operating system rather than a {graphical user interface}
	running on top of {MS-DOS}.

	It provides {32-bit application} support, {pre-emptive
	multitasking}, threading and built-in networking ({TCP/IP},
	{IPX}, {SLIP}, {PPP}, and {Windows Sockets}).  It includes
	{MS-DOS} 7.0, but takes over completely after booting.  The
	{graphical user interface}, while similar to previous Windows
	versions, is significantly improved.

	Windows 95 has also been described as "32-bit extensions and a
	graphical shell for a 16-bit patch to an 8-bit operating
	system originally coded for a 4-bit microprocessor, written by
	a 2-bit company that can't stand 1-bit of competition".

	The successor to Windows 95 was {Windows 98}.

	(1998-07-19)

Windows 98

	<operating system> {Microsoft}'s 1998 update to {Windows 95}
	that adds:

	* Hardware support for {Universal Serial Bus} (USB).

	* Internet Connection Sharing (IGC) - multiple PCs share a
	single connection to the Internet.

	* Microsoft {WebTV} for Windows - watch TV on your PC.

	* Support for new graphic, sound, and multimedia formats.

	* {Internet Explorer} release 5.

	* Windows 98 {Service Pack} - {year 2000} updates.

	Windows 98 was followed logically by {Windows ME} but
	chronologically by {Windows 2000 Professional Edition}.

	{(http://microsoft.com/windows98)}.

	(2002-01-19)

Windows 9X

	<operating system> A shorthand meaning {Windows 95} or
	{Windows 98}.

	(2004-03-28)

Windows Application Binary Interface

	<operating system, tool> (WABI) A software package from {Sun
	Microsystems} to allow certain {Microsoft Windows}
	applications under the {X Window System}.  Wabi 2.2 runs under
	{Solaris} on {SPARC}, {Intel}, and {PowerPC}.  Wabi works by
	providing translated versions of the three core Windows
	libraries, {user.dll}, {kernel.dll}, and {gdi.dll} which
	redirect Windows calls to Solaris equivalents.  For code other
	than core library calls Wabi either executes the instructions
	directly on the hardware, if it is Intel, or emulates them,
	either one instruction at a time or by translating a block of
	instructions and caching the result (e.g. for a loop).

	{WabiServer} allows the Windows application and X display to
	be on different computers.

	{Overview (http://sun.com/solaris/products/wabi/)}.

	(1997-01-08)

Windows CE

	<operating system> /C E/ A version of the {Microsoft Windows}
	{operating system} that is being used in a variety of
	{embedded} products, from {handheld} PCs to specialised
	industrial {controllers} and consumer electronic devices.
	Programming for Windows CE is similar to programming for other
	{Win32} {platforms}.

	Windows CE was developed to be a customisable operating system
	for embedded {applications}.  Its {kernel} borrows much from
	other Microsoft {32-bit} operating systems, while eliminating
	(or replacing) those operating system features that are not
	needed for typical Windows CE-based applications.  For
	example, as on {Windows NT}, all applications running on
	Windows CE run in a fully {preemptive multitasking}
	environment, in fully {protected memory} spaces.

	The {Win32} (API) for Windows CE is smaller than the Win32 API
	for the other 32-bit Windows operating systems.  It includes
	approximately half the interface methods of the Windows NT
	version of the API.  But the Win32 API for Windows CE also
	includes features found in no other Microsoft operating
	system.  The notification API, for example, makes it possible
	to handle user or application notification events (such as
	timer events) at the operating-system level, rather than in a
	running application.  The {touch screen} API and the built-in
	support for the Windows CE {database} are not found in other
	Windows operating systems.  The touch screen API makes it easy
	to manage screen calibration and user interactions for
	{touch-sensitive displays}, while the database API provides
	access to a data storage facility.

	{(http://channels.microsoft.com/windowsce/developer/default.htm)}.

	{(http://channels.microsoft.com/windowsce/developer/technical/default.htm)}.

	(1997-12-20)

Windows for Workgroups

	<operating system> (WFW, WFWG) A version of {Windows 3.1}
	which works with a network.  Although stand-alone 3.1 can be
	networked, the installation and configuration is much improved
	with Windows for Workgroups (3.1).  Windows for Workgroups
	3.11 was a significant upgrade to WFW 3.1, adding 32-bit file
	access, fax capability and higher performance.

	(1996-07-08)

Windows Hardware Quality Labs

	<body, standard> (WHQL) A {Microsoft} body that produces and
	supports the {Microsoft} {Hardware Compatibility Test} kit for
	current Microsoft {operating systems}.  Products are tested
	with the kit to ensure that they meet Microsoft standards for
	compatibility with {Windows} and to qualify to use the
	"Designed for Microsoft Windows" logos.

	{(http://microsoft.com/hwdq/hwtest/)}.

	(2002-11-13)

window shopping

	<jargon> A term used among users of {WIMP} environments like
	the {X Window System} or the {Macintosh} at the US Geological
	Survey for extended experimentation with new window colours,
	{fonts}, and {icon} shapes.  This activity can take up hours
	of what might otherwise have been productive working time.  "I
	spent the afternoon window shopping until I found the coolest
	shade of green for my active window borders --- now they
	perfectly match my medium slate blue background."  Serious
	window shoppers will spend their days with bitmap editors,
	creating new and different icons and background patterns for
	all to see.  Also: "window dressing", the act of applying new
	fonts, colours, etc.

	See {fritterware}, compare {macdink}.

	[{Jargon File}]

	(1996-07-08)

Windows Internet Naming Service

	<networking> (WINS) Software which resolves {NetBIOS} names to
	{IP addresses}.

	[Details?]

	(1998-02-14)

Windows Management Interface

	<Microsoft, system management> (WMI) {Microsoft}'s
	implementation of {Web-Based Enterprise Management}, a {DMTF}
	initiative to establish standards for accessing and sharing
	{system management} information over an {enterprise} {network}.

	(2005-02-15)

Windows ME

	{Windows Millennium Edition}

Windows Messaging

	<messaging> {Microsoft}'s {Internet} {electronic mail}
	application, formerly called {Microsoft Exchange}.

	(1998-07-05)

windows messaging

	<messaging> An {inter-process communication} facility usually
	provided by vendors of {graphical user interfaces} for
	{concurrent} {operating systems}, such as {Microsoft}, The {X
	Consortium} and {Apple}.

	The system software translates hardware {interrupts} from
	various input devices into messages according to the current
	input context (e.g. the active {window} of the frontmost
	{application}).  Each message is a short piece of information.
	A message's format depends on its type, which is usually
	encoded in its first field.  The message is sent to the
	{client} application using some communication {protocol}
	(e.g. {shared memory}, internal {socket}, network socket).
	The client application dispatches the message and performs any
	actions required.  The messages can also be sent by client
	applications.  This provides convenient and flexible
	inter-process communication.

	(1998-07-06)

Windows Millennium Edition

	<operating system> (Windows ME) An update of {Microsoft}
	{Windows 98}, released in 2000.  ME included updates of
	packaged software and new software such as {Windows Media
	Player} 7, {Windows Movie Maker}.  It also has an updated
	{user interface} with new colours and icons, but few major
	changes.  Windows ME was followed by {Windows XP}.

	(2003-05-13)

Windows NT

	<operating system> (Windows New Technology, NT) {Microsoft}'s
	32-bit {operating system} developed from what was originally
	intended to be {OS/2} 3.0 before {Microsoft} and {IBM} ceased
	joint development of OS/2.  NT was designed for high end
	{workstations} (Windows NT 3.1), servers (Windows NT 3.1
	Advanced Server), and corporate networks (NT 4.0 Enterprise
	Server).  The first release was {Windows NT 3.1}.

	Unlike {Windows 3.1}, which was a graphical environment that
	ran on top of {MS-DOS}, Windows NT is a complete operating
	system.  To the user it looks like Windows 3.1, but it has
	true {multi-threading}, built in networking, security, and
	{memory protection}.

	It is based on a {microkernel}, with 32-bit addressing for up
	to 4Gb of {RAM}, virtualised hardware access to fully protect
	applications, installable file systems, such as {FAT}, {HPFS}
	and {NTFS}, built-in networking, {multi-processor} support,
	and {C2 security}.

	NT is also designed to be hardware independent.  Once the
	machine specific part - the {Hardware Abstraction Layer} (HAL)
	- has been ported to a particular machine, the rest of the
	operating system should theorertically compile without
	alteration.  A version of NT for {DEC}'s {Alpha} machines was
	planned (September 1993).

	NT needs a fast {386} or equivalent, at least 12MB of {RAM}
	(preferably 16MB) and at least 75MB of free disk space.

	NT 4.0 was followed by {Windows 2000}.

	{Usenet} newsgroups: {news:comp.os.ms-windows.nt.setup},
	{news:comp.os.ms-windows.nt.misc}.

	(2002-06-10)

Windows NT 3.1

	<operating system> {Microsoft}'s first version of {Windows
	NT}, released in September 1993, price UKP 395, after having
	been in {beta-test} for as long as anyone could remember.

	The person responsible for {VMS} on the {DEC VAX} [who?] was
	also responsible for Windows NT.  Incrementing each letter in
	VMS yields WNT.

	{(http://win2000mag.com/Articles/Index.cfm?ArticleID=4494)}.

	(2000-08-12)

Windows NT 3.5

	<operating system> A much improved version of {Microsoft}'s
	{Windows NT 3.1}.  NT is now (July 1996) supplied as "Windows
	NT 3.5 Workstation" and "Windows NT 3.5 Server".  It has
	better {OLE} support, higher performance and requires less
	memory.

	(1996-07-08)

Windows NT 4

	<operating system> A version of {Microsoft}'s {Windows NT}
	{operating system}, originally code named "Cairo".  It was
	supposed to ship in the first half of 1995.  Details are
	scarce, but it is intended to provide an {object-oriented}
	version of Windows.

	(1996-07-09)

Windows NT 5

	{Windows 2000}

Windows NT Network Model

	<networking> The network model used by {Windows NT}.  The
	model has the following layers:

	 User Applications (e.g. Excel)
	 {APIs}
	 File System Drivers
	 {TDI}
	 Protocols
	 {NDIS} v4
	 NDIS Wrapper
	 NDIS Card Driver
	 {Network Adapter Card}

	Compare {OSI} seven layer model.

	(1997-11-05)

Windows Open Service Architecture

	<architecture, library, Microsoft> (WOSA) One of the mainstays of
	{Microsoft Windows}: the ethos of {abstraction} of core
	{services}.

	For each extension, Windows {Open} Services {Architecture}
	defines an {API} and an {SPI}, as well as a universal
	interface (usually placed in a single {DLL}) that both comply
	to.

	These then {transparent}ly let the {operating system} speak to
	{device drivers}, {database managers}, and other {low level}
	entities.

	These extensions include, among others, {ODBC} (called the
	"crowning jewel of WOSA"), {TAPI}, {WOSA/XFS}, {SAPI} and
	{MAPI}, and their supporting services, as well as the
	abstraction of access to {printers}, {modems}, and {networking
	services}, which run identically over {TCP/IP}, {IPX/SPX}, and
	{NetBEUI}.

	(2000-08-16)

Windows Registry

	<operating system> The database used by {Microsoft} {Windows
	95} and later to store all sorts of configuration information
	such as which program should be used to open a .doc file,
	{DLL} registration information, application-specific settings
	and much more.

	The Registry is stored in .dat files, one in the user's
	profile containing their per-user settings and one in the
	Windows directory containing settings that are global to all
	users.  These are loaded into memory at login.

	The loaded data appears as a tree with five main branches:
	HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE,
	HKEY_USERS, HKEY_CURRENT_CONFIG.  HKEY_CLASSES_ROOT defines
	file types and actions, HKEY_CURRENT_USER is an alias for one
	of the sub-trees of HKEY_USERS and contains user settings that
	override the global defaults in HKEY_LOCAL_MACHINE.

	The branches of the tree are called "keys" and are identified
	by paths like
	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.
	Any node in the tree can have zero or more "values" which are
	actually bindings of a name and a value, e.g. "Logon User
	Name" = "Denis".  The value can be of type string, binary,
	dword (long integer), multi-string value or expandable string
	value.

	Windows includes a Registry Editor (regedit.exe).

	(2008-01-20)

Windows sockets

	<networking, standard> (Winsock) A specification for
	{Microsoft Windows} network software, describing how
	applications can access network services, especially {TCP/IP}.
	Winsock is intended to provide a single {API} to which
	application developers should program and to which multiple
	network software vendors should conform.  For any particular
	version of {Microsoft Windows}, it defines a binary interface
	({ABI}) such that an application written to the Windows
	Sockets API can work with a conformant {protocol}
	implementation from any network software vendor.

	Winsock was conceived at Fall Interop '91 during a {Birds of a
	Feather} session.

	Windows Sockets is supported by {Microsoft Windows}, {Windows
	for Workgroups}, {Win32s}, {Windows 95} and {Windows NT}.  It
	will support protocols other than {TCP/IP}.  Under {Windows
	NT}, {Microsoft} will provide Windows Sockets support over
	{TCP/IP} and {IPX}/{SPX}.  {DEC} will be implementing
	{DECNet}.  {Windows NT} will include mechanisms for multiple
	{protocol} support in Windows Sockets, both 32-bit and 16 bit.

	Mark Towfiq said, "The next rev. of Winsock will not be until
	toward the end of 1993.  We need 1.1 of the {API} to become
	firmly settled and implemented first."

	{Windows Sockets API
	(ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock)}.
	or {(ftp://microdyne.com/pub/winsock)} or send a message
	"help" to either <ftpmail@SunSite.UNC.Edu> or
	<ftpmail@DECWRL.DEC.Com>.

	{Windows Sockets specification (ftp://rhino.microsoft.com)}.

	Currently NetManage (NEWT), Distinct, FTP and Frontier are
	shipping Winsock {TCP/IP} stacks, as is {Microsoft} (Windows
	NT and {TCP/IP} for WFW), Beame & Whiteside Software (v1.1
	compliant), and Sun PC-NFS.  Windows 95 has "dial-up
	networking" which supports Winsock and TCP/IP.

	winsock.dll is available from some {TCP/IP} stack vendors.
	{Novell} has one in beta for their {Lan Workplace} for {DOS}.

	Peter Tattam <peter@psychnet.psychol.utas.edu.au> is
	alpha-testing a shareware Windows Sockets compliant {TCP/IP}
	stack {(ftp://ftp.utas.edu.au/pc/trumpet/winsock/winsock.zip)}.
	and {(ftp://ftp.utas.edu.au/pc/trumpet/winsock/winpkt.com)}.

	{The Consummate Winsock App List
	(http://wwwvms.utexas.edu/~Neuroses/cwsapps.html)}.

	[Adapted from: Aboba, Bernard D., comp.protocols.tcp-ip.ibmpc
	Frequently Asked Questions, 1993 {Usenet}: {news:news.answers},
	{(ftp://netcom1.netcom.com/pub/mailcom/IBMTCP/)}].

	[Current status?]

	(1996-06-20)

Windows XP

	<operating system> The version of the {Microsoft Windows}
	{operating system} that, when it was released on 2001-10-25,
	finally merged the {Windows 95} - {Windows ME} strain with the
	{Windows NT} - {Windows 2000} one.  XP comes in two main
	versions: {Windows XP Professional Edition} and a simplified
	subset for home users, {Windows XP Home Edition}.

	{Windows XP home page (http://microsoft.com/windowsxp/)}.

	(2009-08-12)

Windows XP Pro

	{Windows XP Professional Edition}

Windows XP Professional Edition

	<operating system> ("Windows XP Pro", "XP Pro") The version of
	{Microsoft}'s {Windows XP} {operating system} intended for
	businesses and advanced users.  The alternative, {Windows XP
	Home Edition}, is a subset of Pro without {Remote Desktop},
	{Multi-processor support}, {Automated System Recovery},
	{Dynamic Disk Support}, {Fax}, {Internet Information
	Services}, {Encrypting File System}, {File-level access
	control}, {Active Directory}, {Group Policy}, {IntelliMirror},
	{Roaming profiles} and other features.

	{Pro-Home Comparison
	(http://www.winsupersite.com/showcase/windowsxp_home_pro.asp)}.

	(2009-08-12)

window system

	Software which allows a {workstation}'s screen to be divided
	into rectangular areas which act like a separate input/output
	devices under the control of different {application} programs.
	This gives the user the ability to see the output of several
	processes at once and to choose which one will receive input
	by selecting its window, usually by pointing at it with a
	{mouse}.

	Examples are the {X Window System}, and proprietary systems on
	the {Macintosh} and {NeXT}, {NeWS} on {Suns} and {RISC OS} on
	the {Archimedes}.  See also {WIMP}.

Windoze

	{Microsloth Windows}

Wind River Systems

	<company> A company founded in 1981, now a world leader in
	{embedded systems}, providing {real-time operating systems}
	and development tools.  Wind River's development tools enable
	customers to standardise designs across projects and quickly
	develop feature-rich products.

	Wind River Systems employs over 500 people worldwide (1998).
	Service and support is provided through its U.S. headquarters
	and overseas operations in the U.K., France, Germany,
	Scandinavia and Japan.

	{(http://wrs.com/)}.

	Address: Alameda, California, USA.

	(1998-11-06)

winged comments

	<programming> {Comments} set on the same line as code, as
	opposed to {boxed comments}.

	In {C}, for example:

		d = sqrt(x*x + y*y);  /* distance from origin */

	Generally these refer only to the action(s) taken on that
	line.

	[{Jargon File}]

	(1997-07-21)

winkey

	<chat> winkey face.

	See {emoticon}.

	[{Jargon File}]

	(1996-09-08)

WinMaker Pro

	{RoboDemo}

WINS

	{Windows Internet Naming Service}

Winsock

	{Windows sockets}

WinSoft Products Ltd

	<company> The company which produces {EMBLA Pro}.

	{(http://ftech.co.uk/~winsoft)}.

	E-mail: WinSoft Products Ltd <info@winsoft.ftech.co.uk>

	(1996-03-11)

wintel

	<jargon, architecture> A term describing any computer
	{platform} consisting of some version of {Microsoft Windows}
	running on an {Intel 80x86} processor or compatible.

	Despite the dominance of the wintel platform, in its many
	forms, from {MS-DOS} on an {Intel 8088} to {Windows 2000} on a
	{Pentium II Xeon}, there are many "non-wintel" {platforms} in
	use.  These include {Acorn}, {Amiga}, {Apple}, {ARM}, {Atari},
	{A\Box}, {Be}, {Network Computer}, {OS/2}, {PowerPC}, {Psion},
	{Linux} and all other {Unix} systems.

	{Convergence International (http://convergence.org/)}.

	(1999-09-15)

WINZIP

	<tool> A {Microsoft Windows} {archiving} and {compression}
	program, distributed by Nico Mak Computing, Inc.  WINZIP has a
	{graphical user interface} {front end} and is compatible with
	{PKZIP}.  WINZIP can be obtained as {shareware}, on
	evaluation, or as a licenced copy.  It is much easier to use
	then PKZIP for DOS, and includes a helpful, help file.

	{(http://winzip.com/)}.

	(2000-02-27)

wired

	{hard-wired}

wirehead

	<jargon> /wi:r'hed/ (Probably from SF slang for an electrical
	brain-stimulation addict) 1. A hardware hacker, especially one
	who concentrates on communications hardware.

	2. An expert in {local-area networks}.  A wirehead can be a
	network software wizard too, but will always have the ability
	to deal with network hardware, down to the smallest component.
	Wireheads are known for their ability to lash up an {Ethernet}
	{terminator} from spare resistors, for example.

	[{Jargon File}]

	(1995-02-28)

wireless

	<networking> A term describing a computer {network} where
	there is no physical connection (either copper cable or {fibre
	optics}) between sender and receiver, but instead they are
	connected by radio.

	Applications for wireless networks include multi-party
	{teleconferencing}, distributed work sessions, {personal
	digital assistants}, and electronic newspapers.  They include
	the transmission of voice, video, {images}, and data, each
	traffic type with possibly differing {bandwidth} and
	quality-of-service requirements.  The wireless network
	components of a complete source-destination path requires
	consideration of mobility, {hand-off}, and varying
	transmission and {bandwidth} conditions.  The wired/wireless
	network combination provides a severe bandwidth mismatch, as
	well as vastly different error conditions.  The processing
	capability of fixed vs. mobile terminals may be expected to
	differ significantly.  This then leads to such issues to be
	addressed in this environment as {admission control},
	{capacity assignment} and {hand-off} control in the wireless
	domain, flow and error control over the complete end-to-end
	path, dynamic bandwidth control to accommodate bandwidth
	mismatch and/or varying processing capability.

	{Usenet} newsgroup {news:comp.std.wireless}.

	(1995-02-27)

Wireless Application Protocol

	<protocol, standard> (WAP) An open international {standard}
	for applications that use {wireless} communication,
	e.g. {Internet} access from a mobile phone.

	The official body developing WAP is the {WAP Forum}.

	{(http://wapforum.org/)}.

	{Technical data (http://wapforum.org/what/technical.htm)}.

	[More detailed summary?]

	(2000-02-10)

wireless bitmap

	<graphics, file format> (WBMP) A {bitmap} for display on a
	{WAP} mobile phone.

	Currently (2001) the only type of WBMP file defined is a
	simple black-and-white {image} file with one {bit} per {pixel}
	and no {compression}.

	[{WAP Forum (http://wapforum.org/)}, "WAP-190-WAE-Spec" or
	"Wireless Application Protocol, Wireless Application
	Environment Specification"].

	(2001-05-23)

wireless hotspot

	<networking> A public place where you can connect to a
	{wireless local area network}, usually by paying.

	(2009-05-28)

wireless local area network

	<networking> (WLAN /W-lan/, or "LAWN" /lorn/, sometimes
	"WiLAN" /wi-lan/) A communication system that transmits and
	receives data using modulated electromagnetic waves,
	implemented as an extension to, or as an alternative for, a
	{wired} {LAN}.  WLANs are typically found within a small
	{client} {node}-dense locale (e.g. a campus or office
	building), or anywhere a traditional network cannot be
	deployed for logistical reasons.

	Benefits include user mobility in the coverage area, speed and
	simplicity of physical setup, and {scalability}.  Being a
	military spin-off, WLANs also provide security features such
	as {encryption}, {frequency hopping}, and {firewalls}.  Some
	of these are intrinsic to the {protocol}, making WLANs at
	least as secure as wired networks, and usually more so.  The
	drawbacks are high initial cost (mostly {hardware}), limited
	range, possibility of mutual interference, amd the need to
	security-enable clients.

	The established protocols are covered by {IEEE 802.11
	(http://standards.ieee.org/getieee802/)}.  Recent developments
	include the {Bluetooth} project and other WPAN, or {Personal
	Area Network} initiatives, accessible through {IEEE 802.15
	working group (http://grouper.ieee.org/groups/802/15/)}.

	{Wireless Lan Association (http://wlana.org/)}.

	{Usenet} newsgroups: {news:comp.dcom.lans.misc},
	{news:comp.std.wireless}.

	(2003-09-23)

Wireless Local Loop

	<communications> (WLL, radio in the loop, RITL, fixed-radio
	access, FRA) Connecting subscribers to the {public switched
	telephone network} (PSTN) using radio signals instead of
	copper wires.  The wireless link may be all or part of the
	connection between the subscriber and the switch.  WLL
	includes cordless access systems, proprietary fixed radio
	access and fixed cellular systems.

	(2008-03-15)

Wireless Transport Layer Security

	<standard, security> (WTLS) The {WAP} {standard} related to
	security.  WTLS is based upon its {TCP/IP} counterpart,
	{Secure Sockets Layer}.

	[Reference?]

	(2003-06-17)

wirewater

	<jargon> {programming fluid}.  This melds the mainstream slang
	adjective "wired" (stimulated, up, hyperactive) with
	"firewater"; however, it refers to caffeinacious rather than
	alcoholic beverages.

	[{Jargon File}]

	(1995-02-27)

WISCII

	<character, data> A version of {ASCII} used by {Wang} on their
	{personal computers} and {mini computers} in the 1980s.
	WISCII was used on the {Wang PC}, {APC}, {OIS}, {Alliance} and
	{VS}.  The 7-bit characters were the same as ASCII, but the
	extended 8-bit characters were Wang-specific.

	(2008-05-28)

wish list

	<jargon> A list of desired {features} or {bug fixes} that
	probably won't get done for a long time, usually because the
	person responsible for the code is too busy or can't think of
	a clean way to do it.  "OK, I'll add automatic filename
	completion to the wish list for the new interface."

	Compare {tick-list features}.

	[Does anybody call this a "want list"?]

	[{Jargon File}]

	(1998-04-28)

Wisp

	["An Experiment with a Self-Compiling Compiler for a Simple
	List-Processing Language", M.V. Wilkes, Ann Rev Automatic
	Programming 4:1-48.  (1964)].

within delta of

	{delta}

within epsilon of

	{epsilon}

wizard

	1. A person who knows how a complex piece of software or
	hardware works (that is, who {groks} it); especially someone
	who can find and fix bugs quickly in an emergency.  Someone is
	a {hacker} if he or she has general hacking ability, but is a
	wizard with respect to something only if he or she has
	specific detailed knowledge of that thing.  A good hacker
	could become a wizard for something given the time to study
	it.

	2. A person who is permitted to do things forbidden to
	ordinary people; one who has {wheel} privileges on a system.

	3. A Unix expert, especially a Unix systems programmer.  This
	usage is well enough established that "Unix Wizard" is a
	recognised job title at some corporations and to most
	headhunters.

	See {guru}, {lord high fixer}.  See also {deep magic}, {heavy
	wizardry}, {incantation}, {magic}, {mutter}, {rain dance},
	{voodoo programming}, {wave a dead chicken}.

	4. An interactive help utility that guides the user through a
	potentially complex task, such as configuring a {PPP} driver
	to work with a new {modem}.  Wizards are often implemented as
	a sequence of {dialog boxes} which the user can move forward
	and backward through, filling in the details required.  The
	implication is that the expertise of a human wizard in one of
	the above senses is encapsulated in the software wizard,
	allowing the average user to perform expertly.

	[{Jargon File}]

	(1998-09-07)

Wizard Book

	<publication> {Hal Abelson}, {Gerald Sussman} and Julie
	Sussman's "Structure and Interpretation of Computer Programs"
	(MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer
	science text used in introductory courses at MIT.  So called
	because of the wizard on the jacket.  One of the {bibles} of
	the LISP/Scheme world.  Also, less commonly, known as the
	{Purple Book}.

	[{Jargon File}]

	(1995-01-10)

wizardly

	Pertaining to wizards.  A wizardly {feature} is one that only
	a wizard could understand or use properly.

	[{Jargon File}]

wizard mode

	<games> [{rogue}] A special access mode of a program or
	system, usually password protected, that permits some users
	godlike privileges.  Generally not used for {operating
	systems} themselves ("root mode" or "wheel mode" would be used
	instead).  This term is often used with respect to games that
	have editable state.

WizDOM

	Software for distributed {Unix} {system management} from
	{TIVOLI Systems} of Austin, Texas, USA.

	(1995-02-10)

wk1

	<filename extension> (worksheet) The {filename extension} used
	by early versions of the {Lotus 1-2-3} {spreadsheet} program
	including release 2.01 (1987).  All files created by the user
	are given this extension.

	(1995-11-28)

WLAN

	{wireless local area network}

WLL

	{Wireless Local Loop}

WMA

	{Windows Media Audio}

wmf

	<filename extension> The {filename extension} for a {Windows
	Metafile}.

	(1995-04-25)

WMI

	{Windows Management Interface}

WML

	{Wireless Markup Language}

WMV

	{Windows Media Video}

WNPP

	{Work Needed and Prospective Packages}

WO

	{WebObjects}

Wolfram Research, Inc.

	<company> The company founded by Stephen Wolfram in August
	1987 to develop {Mathematica} which was released in June 1988
	for the {Macintosh} and is now available on over 20
	{platforms}.  The company has offices in the United Kingdom
	and Tokyo, Japan.

	{(http://wri.com/)}.

	E-mail: <info@wri.com>.

	(1995-02-10)

WOM

	{write-only memory}

woman

	<tool> A replacement for the {Unix} {man} {documentation}
	browsing command.  Version 1.157 of woman runs under/on
	{386BSD}, {OSF}, {Apollo} {Domain/OS}, {BSD}, {HP-UX}, {IBM}
	{RS-6000}, {Irix}, {Linux}, {Solaris}, {Sony} {NEWS}, {SunOS},
	{Ultrix}, {Unicos}.

	Posted to comp.sources.reviewed Volume 3, Issue 50 on 05 Jul
	1993 by Arne Henrik Juul <arnej@pvv.unit.no>, archive-name
	woman-1.157.

	{FTP USC, USA
	(ftp://usc.edu/archive/usenet/sources/comp.sources.reviewed/volume3/woman-1.157/)}.
	{FTP Imperial, UK
	(ftp://src.doc.ic.ac.uk/usenet/comp.sources.reviewed/volume3/woman-1.157/)}.

	(1995-03-21)

WOMBAT

	Waste Of Money, Brains, And Time.

	Problems which are both profoundly {uninteresting} in
	themselves and unlikely to benefit anyone interesting even if
	solved.  Often used in fanciful constructions such as
	"wrestling with a wombat".

	See also {crawling horror}, {SMOP}.

	[{Jargon File}]

	(1995-03-10)

wombat

	1. <programming> A {metasyntactic variable} in {Commonwealth
	Hackish}.

	2. <computer> {wombat.doc.ic.ac.uk}.

	[{Jargon File}]

	(1995-03-10)

wombat.doc.ic.ac.uk

	<computer> (Named after the Australian marsupial, vombatus
	ursinus).  The {Internet} {host} from which {this dictionary}
	was originally served.  {IP address} 146.169.22.42.
	Formerly a {SPARCstation ELC}.  Kindly provided by the
	Computing Department, {Imperial College}, London.  Replaced by
	foldoc.doc.ic.ac.uk (a {Linux} box}) in June 1999.  Alias
	foldoc.org added 2000-07-18, courtesy of Karl O. Pinc.

	(2000-10-09)

Woodenman

	HOLWG, DoD, 1975.  Second of the series of DoD requirements
	that led to Ada.  "Woodenman Set of Criteria and Needed
	Characteristics for a Common DoD High Order Programming
	Language", David A. Fisher, Inst for Def Anal Working Paper,
	Aug 1975.  (See Strawman, Tinman, Ironman, Steelman).

woofer

	<jargon> (University of Waterloo) Some varieties of wide paper
	for printers have a perforation 8.5 inches from the left
	margin that allows the 3.5 inch excess on the right-hand side
	to be torn off when the print format is 80 columns or less
	wide.  If done with sufficient aplomb this makes a sound like
	the "woof" of a dog.  If the large part is the "woofer" then
	the small part must obviously be the "tweeter", following the
	names for the large and small cones in a hi-fi loudspeaker.

	These terms have been in use at Waterloo since 1972, but are
	unknown elsewhere.

	Compare {chad}.

	[{Jargon File}]

	(1997-03-21)

WOOL

	Window Object Oriented Language.  A small {Common Lisp}-like
	extension language.  It claims to be the fastest interpreted
	language in {C} with {run-time types}.  Colas Nahaboo
	<colas@sophia.inria.fr>.  Version 1 is used as the kernel
	language of the {GWM} window manager.  Version 2 has an object
	system.

	{(ftp://export.lcs.mit.edu/contrib/gwm)}.

Worcester Polytechnic Institute

	(WPI) A well-regarded, small engineering college.

	Address: Worcester, MA, USA.

	(1995-03-01)

Word

	{Microsoft Word}

word

	<storage> A fundamental unit of storage in a computer.  The
	size of a word in a particular computer architecture is one of
	its chief distinguishing characteristics.

	The size of a word is usually the same as the width of the
	computer's {data bus} so it is possible to read or write a
	word in a single operation.  An instruction is usually one or
	more words long and a word can be used to hold a whole number
	of characters.  These days, this nearly always means a whole
	number of {bytes} (eight bits), most often 32 or 64 bits.  In
	the past when six bit {character sets} were used, a word might
	be a multiple of six bits, e.g. 24 bits (four characters) in
	the {ICL 1900} series.

	(1994-11-11)

Word for Windows

	<text, tool, product> The version of {Microsoft Word} which
	runs under {Microsoft Windows}.

	Version 6.0.

	(1995-04-14)

WordNet

	<human language> A large {lexical} database of English,
	developed under the direction of George A. Miller.  Nouns,
	verbs, adjectives and adverbs are grouped into sets of
	{cognitive synonyms} ("synsets"), each expressing a distinct
	concept.  Synsets are interlinked by means of
	conceptual-{semantic} and lexical relations.  The resulting
	network of words and concepts can be navigated with the
	browser.  WordNet is freely available for download.  WordNet's
	structure makes it a useful tool for {computational
	linguistics} and {natural language processing}.

	{WordNet home (http://wordnet.princeton.edu/)}.

	(2007-04-20)

WordPerfect

	1. <text, tool, product> A {word processor} for a wide range
	of computers.  The first version was sold in 1980 for {Data
	General} machines, and by the end of 1993 versions were on
	sale for {MS-DOS}, {Microsoft Windows} and {Macintosh}
	computers.  WordPerfect 6.0 for {Unix} was scheduled for
	introduction in May 1994.

	Versions: WordPerfect 6.1 for Windows, WordPerfect 3.1 for
	Macintosh/Power Macintosh, WordPerfect 6.0 for UNIX,
	WordPerfect 6.0 for DOS, WordPerfect 7.0 for {Windows 95}.

	[Distinguishing features?]

	{(http://corel.com/products/wordperfect/)}.

	2. {WordPerfect Corporation}.

	(1995-07-05)

WordPerfect Corporation

	<company> The original developers of the {WordPerfect} {word
	processor} and a variety of other {applications} for {personal
	computers}.  WordPerfect was founded in Provo, Utah, USA in
	1979 by Alan Ashton and Bruce Bastion as "Satellite Software
	International".  The company name was changed to Wordperfect
	Corporation in 1986.  The company was bought by {Novell, Inc.}
	in 1994, who then sold it to {Corel Corporation} in 1996.

	(1997-03-12)

word processing

	{word processor}

word processor

	<text, tool> A program used to create and print (chiefly
	textual) documents that might otherwise be prepared on a
	typewriter.  The key advantage of word processor is its
	ability to make changes easily, such as correcting spelling,
	changing margins, or adding, deleting, and relocating entire
	blocks of text.  Once created, the document can be printed
	quickly and accurately and saved for later modifications.

	Today most popular word processors, such as {Microsoft Word},
	offer a much greater range of facilities than the first such
	programs.

	Compare {text editor}.

	(1995-04-14)

word size

	<processor> The number of bits that a {CPU} can process at one
	time.  Processors with many different word sizes have existed
	though powers of two (8, 16, 32, 64) have predominated for
	many years.  A processor's word size is often equal to the
	width of its external data bus though sometimes the bus is
	made narrower than the CPU (often half as many bits) to
	economise on packaging and circuit board costs.

	(1995-04-23)

word spamming

	<web, information science> Repeating a word many
	times in a {web page}, in a (usually futile) attempt to
	increase its {relevance} ranking in a {search engine}'s index
	(to "{spam}" the index).

	"Repeating a word over and over in a Web page (known as word
	spamming) has no effect on the [page's] ranking [in the
	index]."  -- {Altavista FAQ
	(http://altavista.digital.com/cgi-bin/query?pg=tmpl&v=faq.html)}.

	See also {spamdex}.

	(1997-04-09)

WordTech

	<company> Manufacturers of {Quicksilver}.

	Address: Orinda, CA, USA.

	(1995-05-11)

word wrap

	<text> A feature of {word processors} and most {text editors}
	where a word which would extend past the right hand margin is
	moved to the following line.  This is more sophisticated than
	character wrap which only moves to the next line for the first
	character past the right margin and thus will break some words
	in the middle.  The program may actually insert a new line in
	the text at the point where it is wrapped or it may only
	display it as though it contained a new line at that point.

	(1996-07-24)

workaround

	<jargon, programming> A temporary {kluge} used to bypass, mask
	or otherwise avoid a {bug} or {misfeature} in some system.
	Customers often find themselves living with workarounds for
	long periods of time rather than getting a {bug fix}.

	[{Jargon File}]

	(1998-06-25)

Work Breakdown Structure

	<project> (WBS) A division of a project into tasks and
	subtasks.  The tasks are numbered to indicate their
	relationship to each other.  WBSs are indespensible for
	project planning, particularly when estimating time and
	resource requirements.  Some industries use established work
	breakdown structure systems for billing and reporting
	purposes.

	(2001-05-09)

workflow

	1. <operating system> The {scheduling} of independent jobs on
	a computer.

	See also {time-sharing}, {WFL}.

	2. <job> The set of relationships between all the activities
	in a project, from start to finish.  Activities are related by
	different types of trigger relation.  Activities may be
	triggered by external events or by other activities.

	3. The movement of documents around an organisation for
	purposes including sign-off, evaluation, performing activities
	in a process and co-writing.

	[Stef Joosten et.al. "An empirical study about the practice of
	workflow management", {WA-12} report, 1994].

	(1995-03-27)

Workflow Management Coalition

	<body> (WfMc) A non-profit, international organisation of
	{workflow} vendors, users, and analysts committed to
	establishing {standards} for {workflow} terminology,
	{interoperability}, and connectivity.

	WfMC was founded in 1993 and now (1999) has over 130 members.

	{(http://aiim.org/wfmc)}.

	(1999-08-01)

workgroup

	{Computer Supported Cooperative Work}

working as designed

	<jargon> (IBM) Conforming to a wrong or inappropriate
	specification; useful, but misdesigned.  Frequently used as a
	sardonic comment on a program's utility or as a bogus reason
	for not accepting a criticism or suggestion.  At {IBM}, this
	sense is used in official documents!

	See {BAD}.

	[{Jargon File}]

	(1995-04-04)

working memory

	<storage, architecture> The parts of {main memory} ({RAM})
	currently in use.

	In a {production system}, working memory contains the facts,
	both initial and generated.

	(2005-06-17)

working set

	<architecture> The set of all pages (in a {paging} {virtual
	memory} system) used by a {process} during some time interval.

	As a result of {locality of reference}, the working set
	frequently consists of a relatively small fraction of a
	process's total virtual memory pages.  While a process's
	entire working set is in {physical memory} the process will
	run without {page faults}.  If the working set is too large
	for available physical memory, the process causes frequent
	{page faults}.

	In a {multitasking} environment, information about which pages
	are in each process's working set allows the memory management
	system to improve {CPU} efficiency by {prepaging} (also called
	the {working set model}).

	["Modern Operating Systems", Andrew S. Tanenbaum, pub.
	Prentice Hall, Inc.  1992].

	(1997-04-09)

working set model

	{prepaging}

Work Needed and Prospective Packages

	<Debian> (WNPP) A document, maintained on the {Debian} {web
	site} {here (http://debian.org/devel/wnpp/)}, providing a
	current list of packages which are either orphaned (withdrawn
	from distribution), maintained but its developer would like to
	find a new person, currently being worked on to include in the
	distribution, or good ideas with no one working on them.

	WNPP is also a pseudo package on the Debian Bug Tracking
	System.  Developers update the WNPP document by filing,
	modifying or closing bugs agains the psuedo package.

	(2000-09-06)

work path

	<graphics> In {Adobe Photoshop}, a temporary {path} that
	appears in the Paths palette and defines the outline of a
	shape.

	(2009-03-02)

worksheet

	{spreadsheet}

workstation

	<computer> A general-purpose computer designed to be used by
	one person at a time and which offers higher performance than
	normally found in a {personal computer}, especially with
	respect to graphics, processing power and the ability to carry
	out several tasks at the same time.

	(1995-05-04)

World Time

	{Coordinated Universal Time}

World-Wide Wait

	<humour> A pejorative expansion of {WWW} reflecting on the
	slowness of some network connections and sites.

	(1997-03-30)

World-Wide Web

	<web, networking, hypertext> (WWW, W3, The Web) An {Internet}
	{client-server} {hypertext} distributed information retrieval
	system.

	Basically, the web consists of documents or {web pages} in {HTML}
	format (a kind of {hypertext}), each of which has a unique {URL}
	or "web address".  {Links} in a page are URLs of other pages which
	may be part of the same {website} or a page on another site on a
	different {web server} anywhere on the {Internet}.

	As well as HTML pages, a URL may refer to an image, some code
	({JavaScript} or {Java}), {CSS}, a {video} stream or other kind of
	object.  The vast majority of URLs start with "http://",
	indicating that the page needs to be fetched using the {HTTP}
	{protocol}.  Other possibile "schemes" are {HTTPS}, which
	{encrypts} the request and the resulting page or {FTP}, the
	original protocol for transferring files over the Internet.
	{RTSP} is a {streaming protocol} that allow a continuous feed of
	{audio} or {video} from the server to the browser.  {Gopher} was a
	predecessor of HTTP and {Telnet} starts an {interactive}
	{command-line} session with a remote server.

	The web is accessed using a {client} program known as a {web
	browser} that runs on the user's computer. The browser fetches and
	displays pages and allows the user to follow {links} by clicking
	on them (or similar action) and to input queries to the server.  A
	variety of browsers are freely available, e.g. {Internet
	Explorer}, {Google Chrome}, {Safari}.  Early examples were {NCSA}
	{Mosaic} and {Netscape} {Navigator}.

	Queries can be entered into "forms" which allow the user to enter
	arbitrary text and select options from customisable menus and
	other controls.  The server processes each request - either a
	simple URL or data from a form - and returns a response, typically
	a page of HTML.

	The World-Wide Web originated from the {CERN} High-Energy Physics
	laboratories in Geneva, Switzerland.  In the early 1990s, the
	developers at CERN spread word of the Web's capabilities to
	scientific and academic audiences worldwide.  By September 1993,
	the share of Web traffic traversing the {NSFNET} {Internet}
	{backbone} reached 75 {gigabytes} per month or one percent.  By
	July 1994 it was one {terabyte} per month.

	The {World Wide Web Consortium} is the main standards body for
	the web.

	Following the widespread availability of web browsers and servers
	from about 1995, many companies realised they could use the same
	software and protocols on their own private internal {TCP/IP}
	networks giving rise to the term "{intranet}".

	{This dictionary} is accessible via the Web at
	{(http://foldoc.org/)}.  If you are reading a plain text version
	of this dictionary then you will see lots of curly brackets and
	strings like

		{(http://hostname/here/there/page.html)}.

	These are transformed into hypertext links when you access it
	via the Web.

	{An article by John December
	(http://sunsite.unc.edu/cmc/mag/1994/oct/webip.html)}.

	{W3 servers, clients and tools (http://w3.org/Status.html)}.

	(2014-08-23)

World Wide Web Consortium

	<web, body> (W3C) The main standards body for the
	{web}.  W3C works with the global community to
	establish international {standards} for {client} and {server}
	{protocols} that enable on-line commerce and communications on
	the {Internet}.  It also produces reference software.

	W3C was created by the {Massachusetts Institute of Technology}
	(MIT) on 25 October 1994.  {Netscape Communications
	Corporation} was a founding member.  The Consortium is run by
	{MIT LCS} and {INRIA}, in collaboration with {CERN} where the
	web originated.  W3C is funded by industrial members but its
	products are freely available to all.  The director is Tim
	Berners-Lee who invented the {web} at the Center
	for European Particle Research (CERN).

	{(http://w3.org/)}.

	(1996-11-03)

World Wide Web Worm

	<web> (WWWW) One of the first automatic indexing tools for the
	{web}, being developed in September 1994 by Oliver McBryan
	<mcbryan@cs.colorado.edu> at the {University of Colorado}.  The
	worm created a database of 300,000 {multimedia} objects which can
	be obtained or searched for keywords via the web.

	{(http://cs.colorado.edu/home/mcbryan/WWWW.html)}.

	(1996-05-19)

WORM

	{Write-Once Read-Many}

worm

	<networking, security> (From "Tapeworm" in John Brunner's
	novel "The Shockwave Rider", via {XEROX PARC}) A program that
	propagates itself over a network, reproducing itself as it
	goes.  Compare {virus}.  Nowadays the term has negative
	connotations, as it is assumed that only {crackers} write
	worms.

	Perhaps the best-known example was the {Great Worm}.

	Compare {Trojan horse}.

	[{Jargon File}]

	(1996-09-17)

wormhole

	{back door}

wormhole routing

	<messaging> A property of a {message passing} system in which
	each part of a message is transmitted independently and one
	part can be forwarded to the next {node} before the whole
	message has been received.  All parts of a single message
	follow the same route.

	The independent parts are normally small, e.g. one 32-bit
	word.  This reduces the {latency} and the storage requirements
	on each node when compared with {message switching} where a
	node receives the whole message before it starts to forward it
	to the next node.  It is more complex than message switching
	because each node must keep track of the messages currently
	flowing through it.

	With {cut-through switching}, wormhole routing is applied to
	{packets} in a {packet switching} system so that forwarding of
	a packet starts as soon as its destination is known, before
	the whole packet had arrived.

	(2003-05-15)

WOSA

	{Windows Open Services Architecture}

WOSA Extensions for Financial Systems

	{Extensions for Financial Services}

WOSA/XFS

	{Extensions for Financial Services}

wound around the axle

	{infinite loop}

WPA

	{Wi-Fi Protected Access}

WPA Pre-Shared Key

	{Wi-Fi Protected Access Pre-Shared Key}

WPA-PSK

	{Wi-Fi Protected Access Pre-Shared Key}

WPG

	{Workstation Products Group}

WPI

	{Worcester Polytechnic Institute}

WPL+

	Word-oriented language internal to PRODOS Applewriter 2.1.
	Available on GEnie.

WPOP

	WonderPop.  Robert Rae <rhr@aiai.ed.ac.uk>, Edinburgh 1976.
	An implementation of POP for the PDP-10 that used cages for
	different data types.  Introduced processes, properties, and
	some typed identifiers.

wps

	<unit> (Obsolete) Words per second (mostly used for {Telex}
	and {TWX} transmission).

	(1997-01-07)

WRAM

	{Window Random Access Memory}

wrap around

	(Or "wraparound", "wrap") The action of a counter that starts
	again at zero or at "minus infinity" (see {infinity}) after
	its maximum value has been reached, and continues
	incrementing, either because it is programmed to do so or
	because of an overflow (as when a car's odometer starts again
	at 0).

	[{Jargon File}]

wrapper

	<programming> Code which is combined with another piece of
	{code} to determine how that code is executed.  The wrapper
	acts as an interface between its caller and the wrapped code.
	This may be done for compatibility, e.g. if the wrapped code
	is in a different programming language or uses different
	calling conventions, or for security, e.g. to prevent the
	calling program from executing certain functions.  The
	implication is that the wrapped code can only be accessed via
	the wrapper.

	(1998-12-15)

wrats nest

	<hardware, jargon> (From "wrap" and "rats nest") A
	{wire-wrapping} defect where all of the wire piles up around
	the bottom of the post instead of wrapping smoothly around it.
	It looks like a little bird nest.

	(1997-03-18)

wrb

	{Web Request Broker}

write

	1. <chat> {Unix}'s simple {talk} command and {protocol}.
	write has been largely superseded by {talk} and then {irc}.

	An enhancement, {RWP}, has been proposed.

	2. <tool> A simple {text editor} for {Windows}.

	(1998-04-28)

WRITEACOURSE

	<language> A {CAI} language for {IBM 360}.

	["WRITEACOURSE: An Educational Programming Language", E. Hunt
	et al, Proc FJCC 33(2) 1968].

	(1998-04-28)

write-back

	<memory management> A {cache} architecture in which data is
	only written to main memory when it is forced out of the
	cache.

	Opposite of {write-through}.  See also {no-write allocation}.

	(1996-06-12)

write buffer

	{buffered write-through}

Write-Once Read-Many

	<storage> (WORM) Any type of storage medium to which data can
	be written to only a single time, but can be read from any
	number of times.  Typically this is an {optical disk} whose
	surface is permanently etched using a laser in order to record
	information.  WORM media have a significantly longer shelf
	life than magnetic media and thus are used when data must be
	preserved for a long time.

	(1996-04-01)

write-only code

	[a play on "read-only memory"] Code so arcane, complex, or
	ill-structured that it cannot be modified or even comprehended
	by anyone but its author, and possibly not even by him/her.  A
	{Bad Thing}.

	[{Jargon File}]

write-only language

	A language with syntax (or semantics) sufficiently dense and
	bizarre that any routine of significant size is automatically
	{write-only code}.  A sobriquet applied occasionally to C and
	often to APL, though {INTERCAL} and {TECO} certainly deserve
	it more.

write-only memory

	1. <jargon, humour> (WOM) The obvious antonym to "{read-only
	memory}" (ROM).

	Out of frustration with the long and seemingly useless chain
	of approvals required of component specifications, during
	which no actual checking seemed to occur, an engineer at
	{Signetics} once created a specification for a write-only
	memory and included it with a bunch of other specifications to
	be approved.  This inclusion came to the attention of
	Signetics {management} only when regular customers started
	calling and asking for pricing information.  Signetics
	published a corrected edition of the data book and requested
	the return of the "erroneous" ones.  Later, around 1974,
	Signetics bought a double-page spread in "Electronics"
	magazine's April issue and used the spec as an April Fools'
	Day joke.  Instead of the more conventional characteristic
	curves, the 25120 "fully encoded, 9046 x N, Random Access,
	write-only-memory" data sheet included diagrams of "bit
	capacity vs. Temp.", "Iff vs. Vff", "Number of pins remaining
	vs. number of socket insertions", and "AQL vs. selling price".
	The 25120 required a 6.3 VAC VFF supply, a +10V VCC, and VDD
	of 0V, +/- 2%.

	2. {bit bucket}.

	[{Jargon File}]

	(2007-03-24)

write protect

	<storage> A feature of certain {removable media} storage
	devices that tells the system whether or not it should allow
	the data on the media to be modified.  Write protecting an
	item of media prevents accidental overwriting of valuable
	data.

	For example, the write protect tab on a 3.5-inch {floppy
	disks} is a small sliding plastic square that can either cover
	or expose a hole near the edge of the disk cover.  The drive
	wil only allow the disk to be written to if the hole is
	closed.

	(2007-03-24)

write-through

	<architecture> (Or "write-thru") A {cache} architecture in
	which data is written to main memory at the same time as it is
	cached.

	Opposite of {write-back}.  See also {buffered write-through},
	{posted write-through}, {no-write allocation}.

	(1996-06-12)

write-thru

	{write-through}

writing system

	<human language, character> The set of {glyphs} used for
	representing a given human language in written form, generally
	along with their conventions for use.

	(1998-10-19)

Wrong Thing

	<jargon> A design, action, or decision that is clearly
	incorrect or inappropriate.  Often capitalised; always
	emphasised in speech as if capitalised.  The opposite of the
	{Right Thing}; more generally, anything that is not the Right
	Thing.  In cases where "the good is the enemy of the best",
	the merely good - although good - is nevertheless the Wrong
	Thing. "In C, the default is for module-level declarations to
	be visible everywhere, rather than just within the module.
	This is clearly the Wrong Thing."

	[{Jargon File}]

WRT

	with regard to, with respect to.

ws

	<networking> The {country code} for Samoa.

	(1999-01-27)

WSBPEL

	{Web Services Business Process Execution Language}

WSDL

	{Web Service Definition Language}

WSFN

	{Which Stands For Nothing}

WSL

	Waterloo Systems Language.  A {C}-like systems programming
	language.

	["Waterloo Systems Language: Tutorial and Language Reference",
	F.D.  Boswell, WATFAC Publications Ltd., Waterloo, Canada.
	ISBN 0-919884-00-8].

WTF

	who/what/why the fuck?  The universal interrogative particle.
	Also {WTH}.

WTFPL

	{Do What the Fuck You Want to Public License}

WTH

	who/what/why the hell?  Also {WTF}.

WTLS

	{Wireless Transport Layer Security}

Wumpus

	{Hunt the Wumpus}

WWW

	{web}

WWW browser

	<hypertext, web> A {browser} for use on the
	{web}.

	(1996-10-28)

WWWW

	{web Worm}

WYGIWYNTYH

	{What You Get Is What You Never Thought You Had}

WYSIAYG

	{What You See Is All You Get}

WYSIWYG

	{What You See Is What You Get}

WYSWYG

	{What You See Is What You Get}

X

	1. <convention> Used in various speech and writing contexts
	(also in lowercase) in roughly its algebraic sense of "unknown
	within a set defined by context" (compare {N}).  Thus, the
	abbreviation {680x0} stands for 68000, 68010, 68020, 68030 or
	68040, and {80x86} stands for {Intel 80186}, {Intel 80286},
	{Intel 80386} or {Intel 80486}.  A {Unix} hacker might write
	these as 680[0-4]0 and 80[1-4]86 or 680?0 and 80?86
	respectively; see {glob}.

	2. <graphics> An alternative name for the {X Window System}.

	3. <storage> A suffix for the speed of a {CD-ROM} drive
	relative to standard music CDs (1x).  32x is common in
	September 1999.

	[{Jargon File}]

	(1999-09-15)

X-1

	<language> An early system on the {UNIVAC I} or II.

	[Listed in CACM 2(5):16 (May 1959)].

	(1995-05-10)

X11R4

	Version 11 release 4 of the X protocol.  See {X Window
	System}.

X11R5

	Version 11 release 5 of the X protocol.  Released in June
	1994.  See {X Window System}.

X11R6

	<operating system> Version 11 release 6 of the {X Window
	System}.

	[Release date?]

	(1995-01-20)

X.12

	<standard> The American equivalent of UN/{EDIFACT} and various
	other national and industry {EDI} messaging {protocols}.  The
	first {Y2K ready} version of X.12 is version 4010.

	[What's "UN"?  Details?  Differences from EDIFACT?]

	(1999-09-10)

X2

	<protocol> A proprietary modem standard developed by {US
	Robotics} for 56 {kbps} communications.  Not taken up as
	widely as {K56flex} and will shortly be superseded by the
	official {V.90} standard.

	(1998-09-08)

X.208

	{Abstract Syntax Notation 1}

X.209

	{Basic Encoding Rules}

X.21

	<communications, standard> A digital signaling interface
	recommended by {ITU-T} that includes specifications for
	{DTE}/{DCE} physical interface elements, alignment of {call
	control} characters and error checking, elements of the call
	control phase for {circuit switched} services, data transfer
	at up to 2 {Mbps}, and {test loops}.  64 {kbps} is the most
	commonly used transfer rate.

	(2000-02-28)

X.214

	{transport layer}

X.215

	{session layer}

X.216

	{presentation layer}

X.217

	{Association Control Service Element}

X.219

	{Remote Operations Service Element}

X.224

	{transport layer}

X.225

	{session layer}

X.226

	{presentation layer}

X.227

	{Association Control Service Element}

X.229

	{Remote Operations Service Element}

X.25

	<protocol, standard> An {ITU-T} {standard} {protocol} suite
	for the {DTE}-{DCE} interface in a {packet-switched} network,
	approved by {ISO}.  X.25 defines standard {physical layer},
	{data link layer} and {network layers} (layers 1 through 3).
	It was developed to describe how data passes into and out of
	public data communications networks.  X.25 networks are in use
	throughout the world.

	Document: {ISO} 8208.

	Several other {ITU-T} recommendations are relevant to {packet
	switching}: {X.3}, {X.28}, {X.29}, {X.75}.

	(1996-08-10)

X.28

	The {ITU-T} standard specifying how to control a {PAD} from
	{character-mode} {DTE}, approved by {ISO}.

	(1995-01-31)

X.29

	The {ITU-T} {standard}, approved by {ISO}, specifying
	procedures for the exchange of control information and user
	data between a {PAD} and a remote {packet-mode} {DTE}.
	{Character-mode} {DTEs} are often referred to as X.29
	terminals.

	(1995-01-31)

X.3

	The {ITU-T} {standard}, approved by {ISO}, which specifies the
	basic functions and user-selectable capabilities of a {PAD}.

	(1995-01-31)

X3J16

	The {C++} {standard} technical committee.

X3T10

	<body> The {ATA} standards body.

	(1996-10-16)

X.400

	<messaging> The set of {ITU-T} communications standards
	covering {electronic mail} services provided by data networks.
	X.400 was widely used in Europe and Canada.

	X.400 addresses tend to be much longer than {RFC 822} ones.
	They consist of a set of bindings for country (c),
	{administrative domain} (a), {primary management domain} (p),
	surname (s), given name (g).

	For example, the X.400 address,

		c=gb;a=attmail;p=Universal Export;s=Bond;g=James;

	might be equivalent to RFC 822

		James.Bond@UniversalExport.co.uk

	[Reference?]

	(2003-06-24)

X.409

	<standard, messaging> Part of the {X.400} {electronic mail}
	specification which included the original definition of
	{Abstract Syntax Notation 1}.

	[What was it about?]

	(1998-08-06)

X.500

	<standard, networking> The set of {ITU-T} {standards} covering
	electronic directory services such as {white pages},
	{Knowbot}, {whois}.

	Compare: {LDAP}.

	(1994-12-06)

X.680

	<standard>

	[Is it {Coordinated Universal Time} or {Abstract Syntax
	Notation 1}?]

	(1999-12-09)

X.75

	The {ITU-T} {standard} specifying the {protocols} for
	communication between two {PSDNs}.

	(1995-01-31)

x86

	{Intel 80x86}

x86 processor socket

	<hardware, standard> One of the series of standard sockets
	into which you can plug various {x86} {microprocessors}.
	These vary in the number of pins, package, voltages, bus
	speeds, and supported processors.  {Motherboards} often have
	{clock multipliers} so that the processor runs at a multiple
	of the bus speed.

	Socket 1, 169 pin {LIF}/{ZIF} {PGA} (17x17), 5v, 16-33 MHz
	{486 SX}, {486 DX}, {486 DX2}, {DX4 Overdrive}.  Socket 1 was
	the first standard {Intel 486} socket.

	Socket 2, 238 pin LIF/ZIF PGA (19x19), 5v, 25-50 MHz 486 SX,
	486 DX, 486 DX2, 486 DX4, DX4 & {Pentium Overdrive}.  Updated
	Socket 1, added support for Pentium Overdrive processors.

	Socket 3, 237 pin LIF/ZIF PGA (19x19), 3.3/5v, 25-50 MHz 486
	SX, 486 DX, 486 DX2, 486 DX4, DX4 & Pentium Overdrive.
	Supports 5V & 3.3V processors, considered the latest 486
	socket.

	Socket 4, 273 pin LIF/ZIF PGA (21x21), 5v, 60/66 MHz Pentium
	60/66 and Pentium Overdrive, only 5v.

	Socket 5, 296 pin LIF/ZIF, 320 pin LIF/ZIF {SPGA} (19x19 or
	37x37), 3.3v, 50/60/66 MHz Pentium 75 - 133MHz, Pentium
	Overdrive, only 3.3v.

	Socket 6, 235 pin ZIF PGA (19x19), 3.3v, 25-40MHz.  Unpopular
	advanced Socket 3, rarely seen / paper spec 486 DX4, Pentium
	Overdrive, only 3.3v.

	See also {Socket 7}, {Socket 8}, {Super 7}, {Slot 1}, {Slot
	2}, {Slot A}.

	{CPU Sockets chart
	(http://users.erols.com/chare/sockets.htm)}.

	{CPU Sockets (http://webm3308.ntx.net/cpusockets.htm)}.

	(1999-08-05)

XA

	{Extended Architecture}

	A specification for drives which can play {CD-ROMs} in {Green
	book CD-ROM} format.

	(1994-12-06)

Xaw

	The {Athena} {Widget} Set.  A set of widgets distributed with
	the {X Window System}.

	(1994-11-02)

Xbase

	Generic term for the {dBASE} family of {database} languages.
	Coined in response to threatened litigation over use of the
	copyrighted trademark "dBASE."

xbeeb

	A {BBC Microcomputer} {emulator} for {Unix} and {X11} by James
	Fidell <jfid@mfltd.co.uk>.  Posted to {alt.sources}.

	{(ftp://ftp.pipex.net/incoming/xbeeb)}.

	(1994-08-18)

xbm

	<filename extension> X bit map.  The {filename extension} for
	files containing {bitmaps} for use in the {X Window System}.

	These are actually {include files} which can be #include'd
	into {C} program source to define images as initialised data.

	(1995-03-14)

XC

	A {declarative} extension of {C++}.

	["XC - A Language for Embedded Rule Based Systems", E. Nuutila
	et al, SIGPLAN Notices 22(9):23-32 (Sep 1987)].

X client

	An application process in the {X Window System}.  It gains
	access to windowing services via the Xlib library.  These are
	translated by the system into {X protocol} messages to an {X
	server}.

X Consortium

	A vendor consortium supporting development, evolution and
	maintenance of the {X Window System}.  The X Consortium is an
	independent, not-for-profit company.  It was formed in 1993 as
	the successor to the {MIT} X Consortium, a research group of
	the MIT {Laboratory for Computer Science}.

	{(ftp://ftp.x.org)}.  {(http://x.org/)}.

	[Members?]

Xcoral

	A multiwindow mouse-based text editor, for the {X Window
	System} with a built-in browser to navigate through {C}
	functions and {C++} {class}es hierarchies.  Xcoral provides
	variables width {fonts}, menus, {scrollbars}, {buttons},
	search, regions, kill-buffers and 3D look.  Commands are
	accessible from menus or standard key bindings.  Xcoral is a
	direct {Xlib} {client} and runs on colour or monochrome X
	displays.

	{Version 1.72 (ftp://ftp.inria.fr/X/contrib/clients/xcoral*)}.

	(1993-03-14)

xdbx

	<programming, tool> An {X Window System} front end for {dbx}
	developed by Po Cheung at MCC.

	Latest version: 2.1, as of 1992-02-22.

	Posted to comp.sources.x volumes 11, 12, 13, 14, 16.

	(2000-07-12)

X-Designer

	<programming, tool> A {user interface builder} for {Motif}
	from {Imperial Software Technology}.

	{(http://ist.co.uk/xd/)}.

	(1995-10-26)

X.desktop

	A desktop manager for {Unix} from {IXI}.

XDL

	<language> An {object-oriented} extension to {ITU-T}'s {SDL}.

	["XDL: An Object-Oriented Extension to SDL", S.J. Ochuodho et
	al].

	(1995-10-12)

XDR

	{eXternal Data Representation}

XDS 530

	{Xerox Data Systems Model 530}

XDS 940

	{Xerox Data Systems Model 940}

xDSL

	{Digital Subscriber Line}

Xemacs

	<text, tool> (Originally "Lucid Emacs") A text editor for the
	{X Window System}, based on {GNU} {Emacs} version 19, produced
	by a collaboration of {Lucid, Inc.}, {SunPro} (a division of
	{Sun Microsystems, Inc.}), and the {University of Illinois}.

	Lucid chose to build part of {Energize}, their {C}/{C++}
	development environment on top of GNU Emacs.  Though their
	product is commercial, the work on GNU Emacs is {free
	software}, and is useful without having to purchase the
	product.  They needed a version of Emacs with mouse-sensitive
	regions, multiple fonts, the ability to mark sections of a
	buffer as read-only, the ability to detect which parts of a
	buffer has been modified, and many other features.

	The existing version of {Epoch} was not sufficient; it did not
	allow arbitrary {pixmaps} and {icons} in buffers, "undo" did
	not restore changes to regions, regions did not overlap and
	merge their attributes.  Lucid spent some time in 1990 working
	on Epoch but later decided that their efforts would be better
	spent improving Emacs 19 instead.

	Lucid did not have time to get their changes accepted by the
	{FSF} so they released Lucid Emacs as a forked branch of
	Emacs.  Roughly a year after Lucid Emacs 19.0 was released, a
	beta version of the FSF branch of Emacs 19 was released.
	Lucid continued to develop and support Lucid Emacs, merging in
	bug fixes and new features from the FSF branch as appropriate.

	A compatibility package was planned to allow Epoch 4 code to
	run in Lemacs with little or no change.  (As of 19.8, Lucid
	Emacs ran a descendant of the Epoch redisplay engine.)

	[Update?]

	(2000-05-16)

XENIX

	<operating system> A commercial version of {Unix} for
	{microprocessor}-based computers, released by {Microsoft} in
	1980. In 1992, {SCO} became Microsoft's co-development partner
	and the alternate source for the product.

	(1999-12-07)

Xeon

	{Pentium II Xeon}

xerox

	{XEROX Corporation}

XEROX Corporation

	<company> A US company, founded in 1906, specialising in document
	related technology and services including photocopiers, printers
	and office software.  Xerox's acquisition of {Affiliated Computer
	Services} added business process and document management to their
	product range.  In 2013 they have 140,000 employees.

	Their research centre, {XEROX PARC}, prototyped several
	revolutionary advances in computing, which the company failed to
	exploit, including the {WIMP} desktop metaphor and {XEROX Network
	Services}.

	{(http://xerox.com/)}.

	(2013-04-30)

Xerox Data Systems Model 530

	<computer> (XDS 530) A computer from the {Scientific Data
	Systems} range, announced sometime after 1968 when {Xerox}
	bought out SDS.  The XDS 530 was probably under development at
	SDS before the buy-out but only announced afterwards.

	(2004-06-17)

Xerox Data Systems Model 940

	<computer> (SDS 940, XDS 940) A {time-sharing} system,
	announced in February 1966, developed by {Scientific Data
	Systems} with help from The {University of California at
	Berkeley} and {Tymshare}.  SDS 940 was {backward compatible}
	with SDS's previous systems (except the 12-bit {SDS 92}).  It
	had {monitor} and user modes, dynamic program relocation,
	automatic memory fragmentation, and system protection.

	After 1968 {Xerox} bought out SDS and renamed the SDS machines
	"Xerox Data Systems" (XDS).  Xerox then produced the {XDS
	530}.

	(2004-06-17)

XEROX Network Services

	<networking> (XNS)

	[Is this the same as/a misnomer for {Xerox Network System}?]

	(2003-10-05)

Xerox Network System

	<networking> (XNS) A proprietary network architecture
	developed by the Xerox Office Systems Division of {Xerox
	corporation} at {Xerox PARC} in the late 1970s/early 1980s to
	run on {LAN} ({Ethernet}) and {WAN} networks.  The XNS
	{protocol stack} provided {routing} and {packet delivery}.

	Implementations exist for {4.3BSD} derived systems and the
	{Xerox Star} computers.  Novell based much of the lower layers
	of their protocol suite IPX/SPX on XNS.

	The main components are: Internet datagram protocol (IDP),
	Routing information protocol (RIP), Packet Exchange protocol
	(PEP), and Sequences packet protocol (SPP).

	XNS has strong parellels to {TCP/IP} in that the {network
	layer}, IDP, is roughly equivalent to IP.  RIP has the same
	functions (and obviously name) as the routing information
	protocol, RIP.  SPP, a connectionless transport layer
	protocol, is similar to {UDP}.  PEP is also in the transport
	layer but is connection-oriented and similar to TCP.

	XNS specifically is no longer in use due to the all
	pervasiveness of IP.

	XNS denotes not only the protocol stack, but also an
	architecture of standard programming interfaces, conventions,
	and service functions for {authentication}, directory, filing,
	{e-mail}, and {remote procedure call}.  XNS is also the name
	of Xerox's implementation.

	Many PC networking companies, such as {3Com}, {Banyan},
	{Novell}, and {Ungermann-Bass Networks} used or use a
	variation of XNS as their primary transport protocol.  XNS was
	desigined to be used across a variety of communication media,
	processors, and office applications.  UB, (now a part of
	{Tandem Computers}) adopted XNS in developing its {Net/One}
	XNS routing protocol.

	[Or is it "Service(s)"?  Date?]

	(2003-11-10)

XEROX PARC

	/zee'roks park'/ {Xerox Corporation}'s Palo Alto Research
	Center.

	For more than a decade, from the early 1970s into the
	mid-1980s, PARC yielded an astonishing volume of
	ground-breaking hardware and software innovations.  The modern
	mice, windows, and icons ({WIMP}) style of software interface
	was invented there.  So was the {laser printer} and the
	{local-area network}; {Smalltalk}; and PARC's series of D
	machines anticipated the powerful {personal computers} of the
	1980s by a decade.  Sadly, the prophets at PARC were without
	honour in their own company, so much so that it became a
	standard joke to describe PARC as a place that specialised in
	developing brilliant ideas for everyone else.

	The stunning shortsightedness and obtusity of XEROX's
	top-level {suits} has been well described in the reference
	below.

	["Fumbling The Future: How XEROX Invented, Then Ignored, the
	First Personal Computer" by Douglas K. Smith and Robert
	C. Alexander (William Morrow & Co., 1988, ISBN
	0-688-09511-9)].

	[{Jargon File}]

	(1995-01-26)

Xerox Star

	{Xerox 8010}

XFree86 Project, Inc.

	<operating system, graphics> A non-profit organisation that
	produces XFree86, a freely redistributable implementation of
	the {X Window System} that runs on {Unix} and Unix-like
	operating systems and {OS/2}.  The XFree86 Project has
	traditionally focused on {Intel x86} based {platforms} (hence
	the "86"), but the current release supports other platforms.

	{(http://xfree86.org/)}.

	(1999-04-02)

XFS

	{Extensions for Financial Services}

Xfun

	A {polymorphic} {functional language} which is a cross between
	{SML} and {Russell}, developed by S. Dalmas
	<dalmas@sophia.inria.fr> of {INRIA} in 1991, and intended for
	{computer algebra}.

	["A Polymorphic Functional language Applied to Symbolic
	Computation", S. Dalmas, Proc Intl Symp Symb Alg Comp,
	Berkeley 1992].

	(1995-02-03)

XGA

	{eXtended Graphics Array}

XGA-2

	{eXtended Graphics Array}

XHTML

	{Extensible HyperText Markup Language}

Xi

	A {VLSI} design language.

	["The Circuit Design Language Xi", S.I. Feldman, unpublished
	memo, Bell Labs, 1982].

	[Mentioned in Computational Aspects of VLSI, J.D. Ullman, CS
	Press 1984].

	(1995-02-03)

XIE

	{X Image Extension}

Xilinx, Inc.

	<company> The electronics company who invented the {FPGA}.

	Xilinx was founded in San Jose, California, in 1984, and
	invented the {field-programmable gate array}.  They claim to
	command more than half of the world market for these devices
	today.  More recent innovations include {complex programmable
	logic devices}.

	{(http://xilinx.com/)}.

	Address: 2100 Logic Drive, San Jose, CA 95124, USA.

	(1998-09-25)

Xilinx Netlist Format

	<language, electronics> (XNF) A {Hardware Description
	Language} for electronic circuit design, developed by {Xilinx,
	Inc.}.

	{Xilinx}-developed tools use XNF and handle the details of the
	{FPGA} architecture.  Converters are available for a number of
	widely-used {HDLs} - for example {Verilog} ({xnf2ver}) - so
	that designers can use familiar tools to develop Logic Cell
	Array designs.  In addition, XNF can be converted to the input
	language of different {logic simulators}.

	{Specification
	(ftp://ftp.xilinx.com/pub/documentation/xactstep6/xnfspec.pdf)}.

	(1999-03-31)

X Image Extension

	(XIE) Extensions to the {X protocol} to handle {images}.

	(1995-02-03)

Xlib

	X library: program interface to the {X Window System}.

xlisp

	{eXperimental LISP}

xls

	<filename extension> {Excel} {spreadsheet}.

	(1995-10-17)

XML

	{Extensible Markup Language}

XML schema

	<data> {XML} data that describes the relationship between
	elements and attributes in some other class of XML data.  A
	schema may or may not include data type representations.  XML
	schemas are a more advanced alternative to {DTD}s.

	{(http://vbxml.com/conference/wrox/2000_vegas/text/kurt_schema.asp)}

	(2006-08-23)

XML Template Pages

	<web> (XTP) {JSP} transformed by {XSL} stylesheets.
	An XTP page is basically a JSP page which specifies an XSL
	stylesheet.  The XSL specifies how selected tags in the XTP
	page should be rewritten.  All other tags are passed through
	unchanged and so treated as standard JSP.  JSP programmers can
	use XTP used as an easy introduction to XSL, incrementally
	applying styles to their pages.

	{Caucho (http://caucho.com/resin/ref/xtp.xtp)}.

	(2003-07-13)

XML User-Interface Language

	<language> (XUL) An {XML}-based language created for the
	{Mozilla} {browser} for development of {cross-platform} {user
	interfaces}.  XUL supports input {controls} such as
	{textboxes} and {checkboxes}, {toolbars}, {menus}, {dialogs},
	{trees}, {keyboard shortcuts}, and more.

	{XULPlanet (http://xulplanet.com/)}.

	(2003-06-14)

XMM

	{Extended Memory Manager}

XMODEM

	<communications> {Ward Christensen}'s file transfer
	{protocol}, probably the most widely available protocol used
	for file transfer over {serial lines} (e.g. between {modems}).
	XMODEM uses 128-byte {packets} with {error detection},
	allowing the receiver to request retransmission of a corrupted
	packet.  XModem is fairly slow but reliable.

	Several variations have been proposed with increasing packet
	sizes (e.g. {XMODEM-1K}) and different error detection ({CRC}
	instead of {checksum}) to take advantage of faster modems.
	Sending and receiving programs can negotiate to establish the
	best protocol they both support.

	John Mahr wrote the original XMODEM CRC error correction code.
	This implementation was backward compatible with Christensen's
	original checksum code.  It improved the error detection from
	98% to 99.97% and improved the reliability of transmitting
	{binary files}.

	Standard XMODEM specifies a one-second {timeout} during the
	reception of characters in the data block portion of a packet.

	Chuck Forsberg improved upon XMODEM by developing {YMODEM} and
	{ZMODEM}.

	[Chuck Forsberg, "XMODEM/YMODEM Protocol Reference"].

	(2005-09-16)

XMODEM-1K

	A version of {XMODEM} using 1 kilobyte {packets}.

xmosaic

	{Mosaic} for the {X Window System}.

XMS

	<storage> {Extended Memory Specification}.

	(1996-01-10)

XNF

	{Xilinx Netlist Format}

xnf2ver

	An {XNF} to {Verilog} translator by Martin J. Colley
	<martin@essex.ac.uk>.

	This program was written by a postgraduate student as part of
	his M.Sc course.  It was designed to form part a larger system
	operating with the Cadence Edge 2.1 framework.  This should be
	born in mind when considering the construction and/or
	operation of the program.

	{(ftp://punisher.caltech.edu/pub/dank/xnf2ver.tar.Z)}.

XNS

	{Xerox Network System} or Xerox Network Services.

	[Which?]

XOFF

	{control-S}

XON

	{control-Q}

XON/XOFF

	{software handshaking}

Xopen

	{X/Open}

X/Open

	<body> An international consortium of vendors who defined the
	X/Open {Common Applications Environment} to provide
	{applications} {portability}.  They also produced the {X/open
	Portability Guide} (XPG).

	(1994-12-01)

X/open Portability Guide

	(XPG) A document which defines the interfaces of the {X/Open}
	{Common Applications Environment}.

	Version: XPG3.

	(1994-12-01)

X/Open System Interface

	<standard> (XSI) Part of the {X/Open} {Common Applications
	Environment}.

	(1994-11-03)

xor

	{exclusive or}

XP

	{Windows XP}

XPC

	eXplicitly Parallel C.

	A dialect of {Parallel C} which is efficiently compilable to
	both {SIMD} and {MIMD} architectures.  Only research
	implementations exist.

	["Toward Semantic Self-Consistency in Explicitly Parallel
	Languages," M.J. Phillip & H.G. Dietz, Proc 4th Intl Conf on
	Supercomputing, Santa Clara, CA, May 1989, v.1, pp.398-407].

	(1994-12-01)

XperCASE

	A structure diagram editor for developing, re-engineering,
	maintaining and documenting programs, developed by {Siemens}
	AG, Austria.  It runs under {Microsoft Windows}.

	{(ftp://src.doc.ic.ac.uk/computing/systems/ibmpc/simtel/windows3/xperspx1.zip)}.

	E-Mail: <100141.2120@compuserve.com>.

	(1994-12-01)

XPG

	{X/open Portability Guide}

XPG3

	Version 3 of the {X/open Portability Guide}.

XPL

	A small dialect of {PL/I} used for compiler writing from
	Stanford, 1967-69.  XPL has
	one-dimensional {arrays}.  I/O is achieved with character
	pseudo-variable INPUT and OUTPUT, e.g.

		OUTPUT = 'This is a line';

	It has inline {machine code}.  "Programmers are given all the
	rope they ask for.  Novices tend to hang themselves fairly
	frequently."  XPL has been implemented on {IBM 360}, {Univac
	1100}, {ICL System 4}, {CDC 6000} and {Cyber} series, {XDS
	Sigma-5} and {Sigma-7} and {DEC} {PDP-10}.

	An optimising XPL compiler (version 1) by Robin Vowels
	<robin_vowels@rmit.edu.au> is a standard implementation of XPL
	and is based on McKeeman, Horning, and Wortman's improved
	{XCOM} (which employs hashed symbol table generation).  It
	includes the extra built-in function COREHALFWORD.

	The following areas have been optimised: procedures calls when
	the argument and corresponding parameter are of the same type,
	and when the argument is a constant; constant subscripts; use
	of CORELHALFWORD and COREWORD; string constants of length one;
	iterative DO statements by transferring code to the end of the
	loop.

	String constants of length one do not require a descriptor,
	hence more descriptors are available for string variables.
	Comparison operations are treated as commutative, and an
	improved Commute algorithm is used.  Halfword instructions are
	generated for BIT(16) variables.

	These areas have been improved or re-written: calls on OUTPUT,
	catenation, integer-to-string conversion, multiply, divide,
	and MOD.  An emitter for SS-type instructions has been added.
	The compiler achieves an 11% reduction in object code
	compiling itself, an 11% increase in compilation rate, a 55%
	increase in compilation speed when the $E toggle is set.
	Special treatment for catenating a string to an integer
	substantially decreases consumption of the free string area,
	and decreases string moves.  The latter improvement is most
	noticeable on small core machines.

	Core requirements: less than the improved XCOM on which it is
	based (approx. 98000 bytes).  Symbol table size is 468.
	Ported to {IBM} {System 370}.  The compiler is written in XPL.
	The code generators are machine-specific.

	["A Compiler Generator," W.M. McKeeman et al, P-H 1970].

	[JCC, AFIPS 1968].

	(1993-08-07)

xpm

	<file format> X11 Pixmap.

	A {pixmap} image {file format} for the {X Window System}.

	(1995-04-28)

XPOP

	<language> An extensible {macro assembly} language with
	user-redefinable {grammar}, for use with {FAP}.

	["XPOP: A Meta-language Without Metaphysics", M.I. Halpern,
	Proc FJCC 25:57-68, AFIPS (Fall 1964)].

	(1995-04-28)

XP Pro

	{Windows XP Professional Edition}

Xpress Transport Protocol

	<networking, protocol> (XTP) A {transport layer} {protocol}
	for high-speed networks promoted by the {XTP Forum}.  XTP
	provides protocol options for error control, {flow control},
	and rate control.  Instead of separate protocols for each type
	of communication, XTP controls {packet} exchange patterns to
	produce different models, e.g. reliable {datagrams},
	{transactions}, unreliable {streams}, and reliable {multicast}
	connections.

	{XTP Home (http://ca.sandia.gov/xtp/)}.

	Contrast with {Transmission Control Protocol}.  XTP does not
	employ {congestion} avoidance {algorithms}.

	(2003-03-22)

X protocol

	<networking, protocol> A {standard} {protocol} used by
	{clients} (applications) and {servers} in the {X Window
	System} for exchanging requests for window operations.

	(1995-04-28)

xref

	/X'ref/ 1. cross-reference.

	2. A cross-reference generator tool by Jim Leinweber.

	(1985?)

	[{Jargon File}]

XRemote

	A {serial line} protocol for the {X Window System}.

XRN

	A newsreader program for {Usenet} news running under the {X
	Window System}.

XSB

	<logic programming> XSB extends the standard functionality of
	Prolog (being a descendant of PSB- and SB-Prolog) to include
	implementations of OLDT (tabling) and HiLog terms.  OLDT
	resolution is extremely useful for recursive query
	computation, allowing programs to terminate correctly in many
	cases where Prolog does not.  HiLog supports a type of
	higher-order programming in which predicate symbols can be
	variable or structured. This allows unification to be
	performed on the predicate symbols themselves in addition to
	the arguments of the predicates.  Of course, Tabling and HiLog
	can be used together.

	Version 1.2

	ports: Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX

	portability:	Generally to 32-bit machines.

	interpreter, preprocessor(HiLog), documentation

	XSB research group / SUNY at Stony Brook

	{(ftp://sbcs.sunysb.edu/pub/XSB/XSB.tar.Z)}.

	(130.245.1.15) E-mail: <xsb-contact@cs.sunysb.edu>.

	(1993-07-28)

XScheme

	<language> {Scheme} in {C} with {object-oriented} extensions
	by David Betz.

	Version 0.28 runs on {IBM PC}, {Macintosh}, {Atari} and
	{Amiga}.

	{(ftp://labrea.stanford.edu/comp.sources.amiga/volume90)}.
	{(ftp://nexus.yorku.ca/pub/scheme/)}.

	{Usenet} newsgroup: {news:comp.lang.lisp.x}.

	(1992-02-02)

x-scm

	<language> An accessory for the {scm} {Scheme} {interpreter},
	by Larry Campbell, that provides an environment for building
	{Motif} and {OpenLook} {application programs}.  There is some
	support as well for raw {Xlib} applications, but not enough
	yet to be useful.

	Posted to {alt.sources}.

	(1992-08-10)

XSD

	{XML Schema Definition}

X server

	<graphics, operating system> A process, in an {X Window
	System} which controls a {bitmap display} device and usually
	also a {keyboard} and {mouse} or other {pointing device}.  The
	X server performs operations on request from {client}
	{applications}, which may be on the same computer or a
	different computer connected via a {network}.

	Note that typical {client-server} architectures do
	{input-output} on the client and processing on the server
	whereas in X the terms are reversed as the X server is serving
	IO rather than processing resources to the application.

	If the two computers are not both {Unix} machines (e.g. one is
	a {Windows} machine running {VNC}) or if a more secure
	connection is required (e.g. tunneling with {ssh}), the
	clients may talk to a {proxy} X server that forwards the
	requests to another machine where the real IO takes place.

	(2006-08-29)

XSI

	{X/Open System Interface}

XSL

	{Extensible Stylesheet Language}

XSLT

	{Extensible Stylesheet Language Transformations}

XT

	{IBM PC XT}

Xt

	The {intrinsics} of the {X Window System} Toolkit.

	[What does that mean?]

XT bus architecture

	<hardware, architecture> (After the {IBM PC XT}) An eight-bit
	{ISA} bus architecture used by {Intel 8086} and {Intel 8088}
	systems in the {IBM PC} and {IBM PC XT} in the 1980s.  It
	predates the 16-bit ISA architecture used on the {Intel 80286}
	based machines.

	The XT bus has four {DMA} channels, of which three are brought
	out to the {expansion slots}.  Of these three, two are
	normally allocated to machine functions:

	 DMA channel  Expansion	 Standard function
	 0	      No	 {dynamic RAM} refresh
	 1	      Yes	 add-on cards
	 2	      Yes	 {floppy disk} controller
	 3	      Yes	 {hard disc} controller

	(1997-09-15)

xterm

	<operating system> A {terminal emulator} program for the {X
	Window System}.  A user can have many different invocations of
	xterm running at once on the same display, each of which
	provides independent input and output for the process running
	in it (normally a {shell}).

	(1996-08-23)

X terminal

	<hardware> An {intelligent terminal} which operates as an {X
	server} directly connected to {Ethernet}.

	Not to be confused with the program {xterm} which is an {X
	client}.

	(1996-08-23)

XTI

	{X/open Transport Interface}

XTP

	{Xpress Transport Protocol}

	{XML template pages}

XTP Forum

	<body> A consortium of for- and non-profit companies and
	research organisations promoting {Xpress Transport Protocol}.

	{XTP Forum Home (http://ca.sandia.gov/xtp/forum.html)}.

	(2003-03-22)

XTRAN

	{Fortran}-like, interactive language.

XUI

	X User Interface: program interface to the {X Window System}
	supported by {DEC}.

XUL

	{XML User-Interface Language}

Xv++

	A library of classes from Interface Engineering, Stevenage,
	providing a C++ Application Programmer's Interface to the
	XView toolkit.

XVGA

	{eXtended Video Graphics Array}

XView

	A toolkit from Sun, derived from SunView, providing an Open
	Look user interface for X applications.

XVT

	eXtensible Virtual Toolkit: a product allowing applications to
	be developed independent of GUI.

X-Windows

	<spelling> A common misnomer for the {X Window System}.

	(1997-06-10)

X Window System

	<operating system, graphics> A specification for
	device-independent windowing operations on {bitmap display}
	devices, developed initially by {MIT}'s Project {Athena} and
	now a {de facto standard} supported by the {X Consortium}.  X
	was named after an earlier window system called "W".  It is a
	window system called "X", not a system called "X Windows".

	X uses a {client-server} protocol, the {X protocol}.  The
	server is the computer or {X terminal} with the screen,
	keyboard, mouse and server program and the clients are
	{application programs}.  Clients may run on the same computer
	as the server or on a different computer, communicating over
	{Ethernet} via {TCP/IP} protocols.  This is confusing because
	{X clients} often run on what people usually think of as their
	server (e.g. a file server) but in X, it is the screen and
	keyboard etc. which is being "served out" to the applications.

	X is used on many {Unix} systems.  It has also been described
	as over-sized, over-featured, over-engineered and incredibly
	over-complicated.  X11R6 (version 11, release 6) was released
	in May 1994.

	{(http://x.org/)}.

	See also {Andrew project}, {PEX}, {VNC}, {XFree86}.

	{Usenet} newsgroups: {news:comp.windows.x}, {news:comp.x},
	{news:comp.windows.x.apps}, {news:comp.windows.x.intrinsics},
	{news:comp.windows.x.announce}, {news:comp.sources.x},
	{news:comp.windows.x.motif}, {news:comp.windows.x.pex}.

	(1999-04-02)

XWIP

	X Window Interface for Prolog.  A package for {Prologs}
	following the {Quintus} {foreign function} interface
	(e.g. {SICStus Prolog}).  XWIP provides a (low-level)
	{Xlib}-style interface to {X}.  The current version was
	developed and tested on SICStus 0.7 and {MIT} {X11} R5 under
	{SunOS} 4.1.1.  It should be adaptable to many other {Unix}
	configurations.  Version 0.6.

	{(ftp://export.lcs.mit.edu/contrib/xwip-0.6.tar.Z)}.  E-mail:
	<xwip@cs.ucla.edu>.

	(1993-02-25)

xxgdb

	An {X11} front end for {gdb} by Pierre Willard
	<pierre@la.tce.com>.  Version 1.06.

	Posted to comp.sources.x volumes 11, 12, 13, 14, & 16.

	(1992-02-22)

XXX

	/X-X-X/ A marker that attention is needed.  Commonly used in
	program comments to indicate areas that are {kluge}d or need
	to be.  Some hackers liken "XXX" to the notional heavy-porn
	movie rating.  Compare {FIXME}.

	[{Jargon File}]

Xy-pic

	<graphics, publication> A package for {typesetting} graphs and
	diagrams using {TeX}.  It is structured as several modules,
	each defining a custom notation for a particular kind of
	graphical object or structure.  Example objects are arrows,
	curves, and frames.  These can be organised in matrix,
	{directed graph}, path, polygon, knot, and 2-cell structure.

	Xy-pic works with {LaTeX}, {AMS-LaTeX}, {AMS-TeX}, and {plain
	TeX}, and has been used to typeset complicated diagrams from
	many application areas including {category theory}, {automata}
	theory, {algebra}, {neural networks} and {database} theory.

	{(http://ens-lyon.fr/~krisrose/Xy-pic.html)}.

	(1997-11-20)

xyzzy

	<games> The {canonical} "magic word" from the {ADVENT}
	adventure game, in which the idea is to explore an underground
	cave with many rooms and to collect the treasures you find
	there.  If you type "xyzzy" at the appropriate time, you can
	move instantly between two otherwise distant points.  If,
	therefore, you encounter some bit of {magic}, you might remark
	on this quite succinctly by saying simply "Xyzzy!"
	"Ordinarily you can't look at someone else's screen if he has
	protected it, but if you type quadruple-bucky-clear the system
	will let you do it anyway."  "Xyzzy!"  Xyzzy has actually been
	implemented as an undocumented no-op command on several OSes;
	in Data General's AOS/VS, for example, it would typically
	respond "Nothing happens", just as {ADVENT} did if the magic
	was invoked at the wrong spot or before a player had performed
	the action that enabled the word.  In more recent 32 bit
	versions, by the way, AOS/VS responds "Twice as much happens".
	See also {plugh}.

	[{Jargon File}]

Y

	1. General purpose language syntactically like {RATFOR},
	semantically like {C}.  Lacks structures and pointers.  Used
	as a source language for Jack W. Davidson and Christopher
	W. Fraser's peephole optimiser which inspired {GCC} {RTL} and
	other optimisation ideas.

	{(ftp://ftp.cs.princeton.edu/pub/y+po.tar.Z)}.  It is a copy
	of the original distribution from the {University of Arizona}
	during the early 80's, totally unsupported.

	["The Y Programming Language", D.R. Hanson, SIGPLAN Notices
	16(2):59-68 (Feb 1981)].

	[Jack W. Davidson and Christopher W. Fraser, "The Design and
	Application of a Retargetable Peephole Optimiser", TOPLAS,
	Apr.  1980].

	[Jack W. Davidson, "Simplifying Code Through Peephole
	Optimisation" Technical Report TR81-19, The University of
	Arizona, Tucson, AZ, 1981].

	[Jack W. Davidson and Christopher W. Fraser, "Register
	Allocation and Exhaustive Peephole Optimisation"
	Software-Practice and Experience, Sep. 1984].

	2. See {fixed point combinator}.

Y2K

	{Year 2000}

YA-

	{Yet Another}

Yaa

	Yet Another Assembler - Macro assembler for GCOS 8 and Mark
	III on Bull DPS-8 machines.  Available from Bull as part of U
	Waterloo Tools package (maintained by <pjf@thinkage.on.ca>).

YABA

	/ya'b*/ [Cambridge] Yet Another Bloody Acronym.  Whenever some
	program is being named, someone invariably suggests that it be
	given a name that is acronymic.  The response from those with
	a trace of originality is to remark ironically that the
	proposed name would then be "YABA-compatible".  Also used in
	response to questions like "What is {WYSIWYG}?"  See also
	{YA-}, {TLA}.

	[{Jargon File}]

yacc

	{Yet Another Compiler Compiler}

YADE

	{Yet Another DSSSL Engine}

YAFIYGI

	<abuse> /yaf'ee-y*-gee/ You asked for it, you got it.

	The command-oriented {ed}/{vi}/{nroff}/{TeX} style of {word
	processing} or other user interfaces which are not {WYSIWYG}.
	What you actually asked for is often not immediately apparent.

	This precise sense of "You asked for it, you got it" seems to
	have first appeared in Ed Post's classic parody "{Real
	Programmers} don't use Pascal"; the acronym is a more recent
	(as of 1993) invention.

	[{Jargon File}]

	(1995-03-13)

YAGNI

	{You aren't gonna need it}

Yahoo

	<web> Yet Another Hierarchical
	Officious/Obstreperous/Odiferous/Organized Oracle.

	(Or a member of a race of brutes in Swift's Gulliver's Travels
	who have the form and all the vices of man, or an uncouth or
	rowdy person).

	Probably the biggest hierarchical index of the {World-Wide
	Web}.  Originally at {Stanford University}, Yahoo moved to its
	own site in April 1995.  It allows you to move up and down the
	heirarchy, to search it and to suggest additions.  It also
	features "What's New", "What's Popular", "What's Cool" and a
	random link.

	{(http://yahoo.com/)}.

	(1995-04-05)

Yale Haskell

	<language> A fully integrated {Haskell} programming
	environment.  It provides tightly coupled interactive editing,
	{incremental compilation} and dynamic execution of Haskell
	programs.  Two major modes of compilation, correspond to
	{Lisp}'s traditional "interpreted" and "compiled" modes.
	Compiled and interpreted modules may be freely mixed in any
	combination.

	Yale Haskell is run using either a command-line interface or
	as an {inferior process} running under the {Emacs} editor.
	Using the Emacs interface, simple two-keystroke commands
	evaluate expressions, run dialogues, compile {modules}, turn
	specific compiler diagnostics on and off and enable and
	disable various {optimisers}.  Commands may be queued up
	arbitrarily, thus allowing, for example, a compilation to be
	running in the background as the editing of a source file
	continues in Emacs in the foreground.

	A "scratch pad" may be automatically created for any module.
	Such a pad is a logical extension of the module, in which
	additional function and value definitions may be added, but
	whose evaluation does not result in recompilation of the
	module.

	A tutorial on Haskell is also provided in the Emacs
	environment.  A {Macintosh} version of Yale Haskell includes
	its own integrated programming environment, complete with an
	Emacs-like editor and {pull-down menus}.

	Yale Haskell is a complete implementation of the Haskell
	language, but also contains a number of extensions, including:

	(1) Instead of stream based I/O, a {monadic I/O} system is
	used.  Although similar to what will be part of the new
	{Haskell 1.3} report, the I/O system will change yet again
	when 1.3 becomes official.

	(2) Haskell programs can call both {Lisp} and {C} functions
	using a flexible foreign function interface.

	(3) Yale Haskell includes a {dynamic typing} system.  Dynamic
	typing has been used to implement {derived instances} in a
	user extensible manner.

	(4) A number of small Haskell 1.3 changes have been added,
	including {polymorphic recursion} and the use of @_@ in an
	expression to denote {bottom}.  Although the 1.3 report is not
	yet complete, these changes will almost certainly be part of
	the new report.

	(5) A complete Haskell level {X Window System} interface,
	based on {CLX}.

	(6) A number of {annotations} are available for controlling
	the optimiser, including those for specifying both function
	and data constructor {strict}ness properties, "{inlining}"
	functions, and specialising {over-loaded} functions.  Many
	standard {prelude} functions have been specialised for better
	performance using these annotations.

	(7) {Separate compilation} (including {mutually recursive}
	{modules}) is supported using a notion of a UNIT file, which
	is a kind of localised {makefile} that tells the compiler
	about compiler options and logical dependencies amongst
	program files.

	(8) Yale Haskell supports both standard and "{literate}"
	Haskell syntax.

	Performance of Yale Haskell's compiled code has been improved
	considerably over previous releases.  Although still not as
	good as the Glasgow ({GHC}) and Chalmers ({HBC}) compilers,
	the flexibility afforded by the features described earlier
	makes Yale Haskell a good choice for large systems
	development.  For some idea of performance, Hartel's latest
	"Nuc" benchmark runs at about the same speed under both Yale
	Haskell and hbc.  (Our experiments suggest, however, that Yale
	Haskell's compiled code is on average about 3 times slower
	than hbc.)

	Binaries are provided for {Sun}/{SPARC} and {Macintosh}, but
	it is possible to build the system on virtually any system
	that runs one of a number of {Common Lisp} implementations:
	{CMU Common Lisp}, {Lucid Common Lisp}, {Allegro Common Lisp}
	or {Harlequin LispWorks}.  {akcl}, {gcl} and {CLisp} do not
	have adaquate performance for our compiler.  The current
	version is 2.1.

	{Yale (ftp://nebula.cs.yale.edu/pub/haskell/yale)}.
	(128.36.13.1).  {UK
	(ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/yale/)}.  {Sweden
	(ftp://ftp.cs.chalmers.se/pub/haskell/yale/)}.  E-mail:
	<haskell-request@cs.yale.edu>,
	<haskell-request@dcs.glasgow.ac.uk>.

	(1993-07-14)

Yamaha

	<company> A Japanese company best known for consumer
	electronics and motorbikes.  They make music synthesizers,
	{CD-Rom Writers} and HiFi sound equipment.

	{(http://yamaha.com/)}.

	(1997-04-29)

YAML

	{YAML Ain't Markup Language}

YAML Ain't Markup Language

	<data, language> (YAML) A data {serialisation} language
	designed to be readable and writable by humans and to work
	well with modern programming languages.

	YAML uses printable {Unicode} characters to represent both
	structure and data.  The structural syntax is simple and
	terse.  For example, indentation is used for structure, colons
	separate pairs, and dashes are used for list items.

	YAML can represent mappings ({hashes} or dictionaries),
	sequences ({arrays} or lists), {scalars} (strings or numbers),
	or any combination of the above.  It has a simple {typing
	system} and {reference} syntax.  Its structures will be
	particularly familiar to programmers using {Perl}, {Python},
	{PHP}, {Ruby}, or {Javascript}, but YAML can be used with any
	programming language.

	YAML is, in some respects, a simpler alternative to XML,
	though it does not share the constraints imposed by XML's
	{SGML} legacy and has somewhat different aims.

	{YAML Home (http://yaml.org/)}.

	(2004-02-02)

yank

	<jargon> (From the colloquial meaning "to pull suddenly") To
	insert a copy of some saved text at the current position in a
	document being edited.

	The term is used in the {Unix} {text editors} {GNU Emacs} and
	{vi} but "{paste}" is more common elsewhere.

	[Used elsewhere?]

	(1998-07-01)

YAPS

	Yet Another Production System?  {College Park Software}.  A
	commercial {production system} rule language, simpler than
	{OPS5}.  YAPS allows {knowledge bases} to be attached to
	instances of {CLOS} {objects}.

	E-mail: Liz Allen <liz@grian.cps.altadena.cs.us>.

YASOS

	{Yet Another Scheme Object System}

YAUN

	/yawn/ Yet Another Unix Nerd.

	Reported from the San Diego Computer Society (predominantly a
	{microcomputer} users' group) as a good-natured punning insult
	aimed at {Unix} zealots.

	[{Jargon File}]

	(1994-11-11)

Yay

	{Yet Another Yacc}

ye

	<networking> The {country code} for Yemen.

	(1999-01-27)

Year 2000

	<programming> (Y2K, or "millennium bug") A common name for all
	the difficulties the turn of the century, or dates in general,
	bring to computer users.

	Back in the 1970s and 1980s, the turn of the century looked so
	remote and memory/disk was so expensive that most programs
	stored only the last two digits of the year.  These produce
	surprising results when dealing with dates after 1999.  They
	may believe that 1 January 2000 is before 31 December 1999
	(00<99), they may miscalculate the day of week, etc.  Some
	programs used the year 99 as a special marker; there are
	rumours that some car insurance policies were cancelled
	because a year of 99 was used to mark deleted records.

	Complete testing of date-dependent code is virtually
	impossible, especially where the system under test relies on
	other systems such as customers' or suppliers' computers.
	Despite this, the predicted "millennium meltdown" never
	occurred.  Various fixes and work-arounds were successfully
	applied, e.g. {time shifting}.

	And yes, the year 2000 was a leap year (multiples of 100
	aren't leap years unless they're also multiples of 400).

	{PPR Corp Y2K FAQ
	(http://pprcorp.com/y2k/y2kfaq_j97.html)}.

	(2003-08-15)

Yellow

	A language from {SRI} proposed to meet the {Ironman}
	requirements which led to {Ada}.

	["On the YELLOW Language Submitted to the DoD", E.W. Dijkstra,
	SIGPLAN Notices 13(10):22-26, Oct 1978].

	(1994-11-09)

Yellow Book

	1. <publication> {Yellow Book, Jargon}.

	2. {Yellow Book CD-ROM}.

	[{Jargon File}]

	(1996-12-03)

Yellow Book CD-ROM

	A {CD-ROM} format which is {ISO 9660} compliant and uses mode
	1 addressing.  Discs of this type can be played on most drives
	and would be appropriate for most {multimedia} {applications}
	which have been developed for {personal computers}.

	(1994-11-02)

Yellow Book, Jargon

	<publication> The print version of the {Jargon File}, titled
	"The New Hacker's Dictionary".  It includes essentially all
	the material the File, plus a Foreword by {Guy L. Steele, Jr.}
	and a Preface by Eric S. Raymond.  Most importantly, the book
	version is nicely typeset and includes almost all of the
	infamous Crunchly cartoons by the Great Quux, each attached to
	an appropriate entry.  The first, second, and third editions
	correspond to versions 2.9.6, 3.0.0, and 4.0.0 of the File,
	respectively.

	["The New Hacker's Dictionary", 3rd edition, MIT Press, 1996
	(ISBN 0-262-68092-0)].

	(1996-12-03)

Yellow Box

	<operating system> {Apple Computer, Inc.}'s new development
	{platform} for building {desktop}, {server}, and {web}
	applications.  Yellow Box is a rich {object-oriented}
	environment that is tightly integrated with {Java} and allows
	you to deploy applications across five platforms: {Rhapsody},
	{Rhapsody for Intel}, {Windows 95}, {Windows NT}, and {Mac OS}.
	All Yellow Box-based products are an evolution of {OpenStep} -
	an operating system-independent, object-oriented application
	platform from {NeXT}.

	Integrating the cross-platform robustness of OpenStep with
	Apple's market-leading digital media and graphics technologies
	will differentiate the Yellow Box from other development
	platforms.

	"Yellow Box for Windows" is the {run-time} software
	(implemented as {dynamically linked libraries}) that allows
	{Yellow Box} applications to run under {Windows 95} and
	{Windows NT}.  Applications that use it will feature a full
	native Windows user interface.

	{(http://wais.sensei.com.au/macarc/appdir/1996/0077.html)}.

	(1997-10-15)

Yellow Pages

	{Network Information Service}

yellow wire

	(IBM) Repair wires used when connectors (especially ribbon
	connectors) got broken due to some schlemiel pinching them, or
	to reconnect cut traces after the field engineer mistakenly
	cut one.  Compare {blue wire}, {purple wire}, {red wire}.

	[{Jargon File}]

Yerk

	<language> (After Yerkes Observatory) An {object-oriented}
	language based on a {Forth} {Kernel} with some major
	modifications.  It was originally known as {Neon}, developed
	and sold as a product by {Kriya Systems} from 1985 to 1989.
	Several people at The {University of Chicago} have maintained
	Yerk since its demise as a product.  Because of possible
	trademark conflict they named it Yerk, which is not an acronym
	for anything, but rather stands for Yerkes Observatory, part
	of the Department of Astronomy and Astrophysics at U of C.

	Version 3.62.

	{(ftp://oddjob.uchicago.edu/pub/Yerk/)}.

	E-mail: Bob Lowenstein <rfl@oddjob.uchicago.edu>.

	(1994-11-23)

Yet Another

	<jargon> (YA-, after {Unix}'s {yacc} - Yet Another
	Compiler-Compiler) A humorous allusion often used in titles to
	acknowledge that the topic is not original, though the content
	is.  As in "Yet Another AI Group" or "Yet Another {Simulated
	Annealing} {Algorithm}".  If used of others' work, it
	describes something of which there are already far too many.

	In hackish acronyms the "YA" prefix almost invariably expands
	to {Yet Another}, e.g. {YABA}, {YAUN}.

	[{Jargon File}]

	(1996-11-26)

Yet Another Compiler Compiler

	<tool, language> (yacc) The {LALR} {parser generator} found on
	most {Unix} systems.  Also, the language used to describe the
	{syntax} of another language to yacc (the program).

	Implementations: {ayacc}, {YAY}, {perln-byacc},

	SASL-Yacc - "Yacc in {SASL} - An Exercise in Functional
	Programming", Simon Peyton-Jones, Software Prac & Exp
	15:807-820 (1985).  Mentions also a BCPL implementation.

	Yacc++ - 1990.  An {object-oriented} rewrite of yacc, supports
	{regular expressions}, produces an {LR1 grammar} parser.

	["YACC Meets C++", S.C. Johnson, USENIX Spring '88 Conf].

	Chris Clark, Compiler Resources Inc, +1 (508) 435-5016.

	MLYACC - Implementation and output in {SML/NJ}.
	{(ftp:research.att.com/dist/ml/75.tools.tar.Z)}.

	A version, by David Poole at Montana University has been
	retargeted to {Turbo Pascal}.

	{(ftp://iecc.com/pub/file/lyprg.zip)}.

	See also {Bison}, {yet another}, {Yet Another Yacc}.

	{Unix manual page}: yacc(1).

	["YACC - Yet Another Compiler Compiler", S.C. Johnson, CS TR
	32, Bell Labs (Jul 1975)].

	[Was there ever an "ACC" - "Another Compiler Compiler"?  If
	so, what was the first compiler compiler called?]

	(2000-11-15)

Yet Another Scheme Object System

	<language> (YASOS) A system for {object-oriented programming}
	in {Scheme}.

	E-mail: Ken Dickey <kend@newton.apple.com>

	(2010-02-28)

Yet Another Yacc

	<tool> (Yay) An extension of {Yacc} with {LALR2} parsing.

	Yay is available from {Bull} as part of the {University of
	Waterloo Tools} package maintained by <pjf@thinkage.on.ca>.

	(1994-11-09)

YGMTPO

	<chat> ({Usenet}) "You Greatly Misunderstood The Purpose Of".

	(1998-03-03)

YLISP

	A variant of {Xlisp} from {Hewlett-Packard} for the HP-95LX
	{palmtop}.

	{(ftp://hpcsos.col.hp.com/mirrors/.scsi5/hp95lx/languages)}.

	(1994-11-23)

YMMV

	{Your mileage may vary}

YMODEM

	A file transfer {protocol} used between {modems}.  YMODEM was
	developed by Chuck Forsberg as the successor to {XMODEM} and
	was itself succeeded by {ZMODEM}.  XMODEM used 128-byte
	{packets}, YMODEM can also use 1 kilobyte packets.  Whereas
	YMODEM is a batch protocol, {YMODEM-G} is a non-stop version.

	File sizes are included in the YMODEM header when sending both
	binary and text files.  Thus files transferred via YMODEM
	should preserve their exact length.  File modification times
	may also be present in the YMODEM header.

	YModem can {fall back} to smaller packets when necessary but
	there is no backward compatibility with XModem's error
	detection.

	[Chuck Forsberg, "XMODEM/YMODEM Protocol Reference"].

	(1995-02-02)

YMODEM-G

	A non-stop "streaming" version of {YMODEM} designed for
	"error-free" connections with proper flow control; the
	transmitting program sends packets to the receiver as fast as
	it can without waiting for acknowledgements.  Any errors cause
	the entire file transfer to abort.

yocto-

	{prefix}

Yoda condition

	<programming> The programming practise of using

	 if (constant == variable)

	e.g.

	 if (4 == foo)

	instead of the more natural

	 if (variable == constant)

	It is named after the Star Wars character Yoda who says things
	like "Strong is Vader".  It may have been invented as a way to
	prevent coding errors like

	 if (count = 5)

	(accidentally using a single "=" ({assignment}) instead of a
	double "==" (comparison)).  The above is syntactically valid
	whereas the Yoda equivalent would give a compile-time error.

	(2012-06-25)

YOL Computers

	<company> A company in London, UK that sells computer and
	network systems, established in 2001.

	{(http://yolc.com/)}.

	(2008-01-28)

yotta-

	{prefix}

yottabyte

	<unit, data> (YB) A unit of {data} equal to 10^24 {bytes} but see
	{binary prefix} for other definitions.  A yottabyte is 1000^8
	bytes or 1000 {zettabytes}.

	It is estimated that the {web} contains about one yottabyte of
	data (2013).

	1000 yottabytes has been called one {brontobyte}.

	See {prefix}.

	(2013-11-04)

You are not expected to understand this

	[Unix] The canonical comment describing something {magic} or
	too complicated to bother explaining properly.  From an
	infamous comment in the context-switching code of the V6
	{Unix} {kernel}.

	[{Jargon File}]

You aren't gonna need it

	<programming> (YAGNI) A motto of {extreme programming} expressing
	the principle that functionality should not be implemented until
	it is needed.  The traditional {waterfall model} makes it
	difficult to add features after the specification has been signed
	off, tempting the specifier to add features that may never be used
	but which take time to program, debug, test and document.

	(2014-03-27)

Yourdon

	1. <programming> The {Yourdon methodology}.

	2. <person> {Edward Yourdon}.

	3. <company> {Yourdon, Inc.}.

	(1995-04-07)

Yourdon/Constantine

	<programming> (Or "Constantine/Yourdon") A {structured design}
	{methodology} involving {structure charts}, developed by Larry
	Constantine.

	(1995-04-07)

Yourdon/Demarco

	<programming> (Or "DeMarco/Yourdon") A {structured analysis}
	{methodology} involving {data flow diagrams}, etc. developed
	by {Edward Yourdon} and Tom DeMarco.

	(1995-04-07)

Yourdon, Inc.

	<company> The company founded in 1974 by {Edward Yourdon} to
	provide educational, publishing, and consulting services in
	state-of-the-art software engineering technology.  Over the
	next 12 years, the company grew to a staff of over 150 people,
	with offices throughout North America and Europe.  As CEO of
	the company, Yourdon oversaw an operation that trained over
	250,000 people around the world; the company was sold in 1986
	and eventually became part of {CGI}, the French software
	company that is now part of {IBM}.  The publishing division,
	Yourdon Press (now part of Prentice Hall), has produced over
	150 technical computer books on a wide range of software
	engineering topics; many of these "classics" are used as
	standard university computer science textbooks.

	(1995-04-16)

Yourdon methodology

	<programming> The {software engineering} {methodology}
	developed by {Edward Yourdon} and colleagues in the 1970s and
	1980s.  "Yourdon methodology" is a generic term for all of the
	following methodologies: {Yourdon/Demarco},
	{Yourdon/Constantine}, {Coad/Yourdon}.

	(1995-04-07)

Your mileage may vary

	<jargon> (YMMV) The disclaimer American car manufacturers
	attached to EPA mileage ratings.  A humourous way of saying
	that the thing under discussion will not necessarily give you
	the same results as the author.  Often used to convey the
	hardware dependence of Unix {freeware} distributions.

	[{Jargon File}]

	(2012-02-16)

youtube.com

	{YouTube, Inc.}

YouTube, Inc.

	<web, video> An on-line {video} {file sharing} {web
	site}, founded on 2005-02-14 by Chad Hurley, Steve Chen, and
	Jawed Karim.  Anyone can upload video clips to the site and
	these can then be viewed by others.  In 2007, many such sites
	exist but YouTube is the best known.

	YouTube is funded by Sequoia Capital.  In November 2006,
	YouTube was bought by {Google Inc.}.  YouTube has partnership
	deals with content providers such as {CBS}, {BBC}, Universal
	Music Group, Sony Music Group, Warner Music Group, NBA, The
	Sundance Channel and many more.

	{YouTube Home (http://youtube.com/)}.

	(2007-09-28)

Yow!

	<exclamation> /yow/ (From "Zippy the Pinhead" comics) A
	favoured hacker expression of humorous surprise or emphasis.
	"Yow!  Check out what happens when you twiddle the foo option
	on this display hack!"

	Compare {gurfle}.

	[{Jargon File}]

	(1995-03-07)

yoyo mode

	<jargon> The state in which a computer is said to be when it
	rapidly alternates several times between being up and being
	down.  Interestingly (and perhaps not by coincidence), many
	hardware vendors give out free yoyos at {Usenix} exhibits.

	{Sun Microsystems} gave out logoised yoyos at SIGPLAN '88.
	Tourists staying at one of Atlanta's most respectable hotels
	were subsequently treated to the sight of 200 of the country's
	top computer scientists testing yo-yo {algorithms} in the
	lobby.

	[Is it "yoyo" or "yo-yo"?]

	[{Jargon File}]

	(1995-03-07)

YP

	Yellow Pages.  The original name for {Sun}'s
	{Network Information Service}.

	(1995-03-07)

YSM

	{Yourdon Structured Method}

yt

	<networking> The {country code} for Mayotte.

	(1999-01-27)

YTalk

	Version: V3.0 Patch Level 1.

	<networking, tool> A multi-user chat program by Britt Yenne
	<yenne@austin.eds.com>.  YTalk works almost exactly like the
	standard {Unix} {talk} program and even communicates with the
	same talk {daemon}(s), but YTalk supports multiple
	connections.

	Multiple user names may be given as command-line arguments, in
	the form "name#tty@host" where the optional "#tty" specifies a
	particular tty.

	YTalk is able to communicate with both existing versions of
	{Unix} talk daemons.  Once connected, typing {escape} gives
	access to a menu of commands to add or delete users, trace
	to a file, or set options.  If run under the {X Window
	System}, YTalk will use separate X windows for each user in
	the conversaton, otherwise it will split the terminal screen
	between them.

	E-mail: <ytalk@austin.eds.com>.

	[FTP?]

	(1995-04-04)

yu

	<networking> The {country code} for the former Yugoslavia.

	(1999-01-27)

Yu-Shiang Whole Fish

	/yoo-shyang hohl fish/ An obsolete name for the Greek
	character gamma ({extended SAIL ASCII} code 9, Unicode glyph
	0x0263) which with a loop in its tail looks like a little fish
	swimming down the page.  The term is actually the name of a
	Chinese dish in which a fish is cooked whole (not {parse}d)
	and covered with Yu-Shiang (or Yu-Hsiang) sauce.  Used
	primarily by people on the {MIT} {LISP Machine}, which could
	display this character on the screen.  Tends to elicit
	incredulity from people who hear about it second-hand.

	[{Jargon File}]

	(1995-01-31)

Z

	/zed/ <language, specification> 1. (After {Zermelo-Fränkel set
	theory}) A {specification language} developed by the
	{Programming Research Group} at Oxford University around 1980.
	Z is used for describing and modelling computing systems.  It
	is based on {axiomatic set theory} and {first order predicate
	logic}.  Z is written using many non-{ASCII} symbols.  It was
	used in the {IBM} {CICS} project.

	See also {Z++}.

	["Understanding Z", J.M. Spivey, Cambridge U Press 1988].

	2. <language, simulation> A {stack}-based, complex arithmetic
	{simulation} language from {ZOLA Technologies}.

	(1995-08-11)

Z++

	<language> An {object-oriented} extension of {Z}.

	["Z++, an Object-Oriented Extension to Z", Lano, Z User
	Workshop, Oxford 1990, Springer Workshops in Computing, 1991,
	pp.151-172].

	(1995-04-22)

Z-1013

	<computer> A {Z80} {clone} home computer running at 1 MHz.
	The Z-1013 computer was introduced in 1986 in East Germany.
	The computer contained a {tape} for storing and loading
	{programs} and had an unusual {keyboard}.

	(2004-03-24)

Z180

	<processor> An 8-bit microprocessor, code compatible with the
	{Zilog Z80} and based on a design from {Hitachi} which is in
	turn based on the Zilog Z80.

	[Manufacturer?]

	(1995-04-22)

Z3

	<computer> The third computer designed and built by {Konrad
	Zuse} and the first {digital computer} to successfully run
	real programs.  The computer was ready in 1941, five years
	before {ENIAC}.

	Zuse began his work on program-driven calculating machines in
	1935.  His two predessors of the Z3, the Z1 and Z2, were
	unsuccessful mechanical calculating machines.  The Z3 was
	delivered to the Deutsche Versuchsanstalt für Luftfahrt
	(German Experimental Department of Aeronautics) in Berlin and
	was used for deciphering coded messages.  A 1960
	reconstruction of the Z3 is in the Deutsche Museum in Munich.

	The Z3 used about 2600 relays of the kind used in
	telecommunications.  Zuse wrote and implemented the language
	{Plankalkül} on the Z3.  Programs were punched into cinefilm.

	Zuse built some more computers after World War II, including
	the Z3's successor, the Z4, which was set up at ETH Zurich,
	Switzerland.

	Of the potential rival claimants to the title of first
	programmable computer, {Babbage} (UK, c1840) planned but was
	not able to build a {decimal}, programmable machine.
	{Atanasoff}'s {ABC}, completed in 1942 was a special purpose
	calculator, like those of {Pascal} (1640) and {Leibniz}
	(1670).  Eckert and Mauchly's {ENIAC} (US), as originally
	released in 1946, was programmable only by manual rewiring or,
	in 1948, with switches.  None of these machines was freely
	programmable.  Neither was {Turing} et al.'s {Colossus} (UK,
	1943-45).  {Aiken}'s {MARK I} (1944) was programmable but
	still decimal, without separation of storage and control.

	[Features?  Where was it designed?  Contemporaries?]

	{(http://cs.tu-berlin.de/~zuse)}.

	{(http://epemag.com/zuse)}.

	(2003-10-01)

Z39.50

	{ANSI Z39.50}

Z8

	{Zilog Z8}

Z80

	{Zilog Z80}

Z8000

	{Zilog Z8000}

za

	<networking> The {country code} for South Africa.

	(1999-01-27)

ZAP

	1. <language> A language for expressing program
	transformations.

	["A System for Assisting Program Transformation",
	M.S. Feather, ACM TOPLAS 4(1):1-20, Jan 1982].

	2. {Zero and Add Packed}.

	(2001-03-25)

zap

	<jargon> 1. To modify, usually to correct; especially used
	when the action is performed with a debugger or binary
	patching tool.  Also implies surgical precision.  "Zap the
	debug level to 6 and run it again."

	In the {IBM} {mainframe} world, binary patches are applied to
	programs or to the {operating system} with a program called
	"{superzap}", whose file name is "IMASPZAP" (possibly
	contrived from I M A SuPerZAP).

	See also {Zero and Add Packed}.

	2. To {fry} a chip with static electricity.  "Uh oh - I think
	that lightning strike may have zapped the disk controller."

	(1998-07-08)

ZAPP

	Zero Assignment Parallel Processor.  A virtual tree machine
	architecture in which a process tree is dynamically mapped
	onto a fixed, strongly connected network of processors
	communicating by message passing.  The basic operation of each
	node is to apply a divide and conquer function which takes
	four arguments: (1) a function 'primitive' which takes a
	problem description (PD) and returns true if it can be solved
	without division, (2) a function 'solve' which takes a
	primitive PD and returns its solution, (3) a function 'divide'
	which takes a PD and returns a list of PDs of smaller problems
	and (4) a function 'combine' which returns the solution to a
	problem by combining a list of solutions of subproblems.

	Each node has a copy of the code and one is given the initial
	problem description.  Task distribution is by process stealing
	in which a process constructs a descriptor for each subtask
	and idle (lightly loaded) processors can steal a descriptor
	from a physically connected neighbour.

Z-buffer

	<graphics> An {array} used to store the maximum Z {coordinate}
	of any feature plotted at a given (X, Y) location on the
	screen, used for {hidden line removal} in a 2D rendering of a
	3D scene.  The Z axis is perpendicular to the screen with
	values increasing toward the viewer so that any point whose Z
	coordinate is less than the corresponding Z-buffer value will
	be hidden behind some feature which has already been plotted.

	(1997-07-18)

ZEBRA

	A data management package in the {CERN Program Library}.

Zed

	1978.  Software Portability Group, U Waterloo.  {Eh}, with
	types added.  Similar to {C}.  Implementation language for the
	{Thoth} realtime operating system.  Added a few simple types
	for greater efficiency on byte-addressed machines.  String
	constants in case statements.  Enforces the naming convention:
	MANIFESTS, Externals and locals.  "Porting the Zed Compiler",
	G.B. Bonkowski et al, SIGPLAN Notices 14(8):92-97 (Aug 1979).

Zen

	[Kehoe, B., "Zen and the Art of the Internet", February 1992.]

	[{Jargon File}]

zen

	<jargon> To figure out something by meditation or by a sudden
	flash of enlightenment.  Originally applied to {bugs}, but
	occasionally applied to problems of life in general.  "How'd
	you figure out the buffer allocation problem?"  "Oh, I zenned
	it."

	Contrast {grok}, which connotes a time-extended version of
	zenning a system.  Compare {hack mode}.  See also {guru}.

	(1996-09-17)

ZENO

	U Rochester 1978.  Euclid with asynchronous message-passing.
	"Preliminary ZENO Language Description", J.E. Ball et al,
	SIGPLAN Notices 14(9):17-34 (Sep 1979).

zepto

	{prefix}

Zermelo Fränkel set theory

	<mathematics> A {set theory} with the {axioms} of {Zermelo set
	theory} (Extensionality, Union, Pair-set, Foundation,
	Restriction, Infinity, Power-set) plus the Replacement {axiom
	schema}:

	If F(x,y) is a {formula} such that for any x, there is a
	unique y making F true, and X is a set, then

		{F x : x in X}

	is a set.  In other words, if you do something to each element
	of a set, the result is a set.

	An important but controversial {axiom} which is NOT part of ZF
	theory is the {Axiom of Choice}.

	(1995-04-10)

Zermelo set theory

	<mathematics> A {set theory} with the following set of
	{axioms}:

	Extensionality: two sets are equal if and only if they have
	the same elements.

	Union: If U is a set, so is the union of all its elements.

	Pair-set: If a and b are sets, so is

		{a, b}.

	Foundation: Every set contains a set disjoint from itself.

	Comprehension (or Restriction): If P is a {formula} with one
	{free variable} and X a set then

		{x: x is in X and P(x)}.

	is a set.

	Infinity: There exists an {infinite set}.

	Power-set: If X is a set, so is its {power set}.

	Zermelo set theory avoids {Russell's paradox} by excluding
	sets of elements with arbitrary properties - the Comprehension
	axiom only allows a property to be used to select elements of
	an existing set.

	{Zermelo Fränkel set theory} adds the Replacement axiom.

	[Other axioms?]

	(1995-03-30)

ZERO

	<language> An {object oriented} extension of {Z}.

	["Object Orientation in Z", S. Stepney et al eds, Springer
	1992].

	[{Jargon File}]

	(1995-03-30)

zero

	1. <character> 0, {ASCI} character 48.  Numeric zero, as
	opposed to the letter "O" (the 15th letter of the English
	alphabet).  In their unmodified forms they look a lot alike,
	and various {kluges} invented to make them visually distinct
	have compounded the confusion.

	If your zero is centre-dotted and letter-O is not, or if
	letter-O looks almost rectangular but zero looks more like an
	American football stood on end (or the reverse), you're
	probably looking at a modern character display (though the
	dotted zero seems to have originated as an option on {IBM
	3270} controllers).  If your zero is slashed but letter-O is
	not, you're probably looking at an old-style {ASCII} graphic
	set descended from the default typewheel on the venerable
	{ASR-33} {Teletype} (Scandinavians, for whom slashed-O is a
	letter, curse this arrangement).

	If letter-O has a slash across it and the zero does not, your
	display is tuned for a very old convention used at {IBM} and a
	few other early mainframe makers (Scandinavians curse *this*
	arrangement even more, because it means two of their letters
	collide).  Some {Burroughs}/{Unisys} equipment displays a zero
	with a *reversed* slash.  And yet another convention common on
	early {line printers} left zero unornamented but added a tail
	or hook to the letter-O so that it resembled an inverted Q or
	cursive capital letter-O.

	[{Jargon File}]

	(1995-01-24)

	2. To set to zero.  Usually said of small pieces of data, such
	as bits or words (especially in the construction "zero out").

	3. To erase; to discard all data from.  Said of disks and
	directories, where "zeroing" need not involve actually writing
	zeroes throughout the area being zeroed.  One may speak of
	something being "logically zeroed" rather than being
	"physically zeroed".

	See {scribble}.

	(1999-02-07)

Zero and Add Packed

	<language> (ZAP) An {IBM 360}/370 {assembly language}
	instruction used when performing {packed arithmatic} to
	initialise an {accumulator}.

	(2001-03-25)

zero assignment

	<programming> A property of a {programming language} in which
	there are no {variables} but only {functions}.

	See also {single assignment}.

	(2003-12-22)

zero-content

	{content-free}

Zero Insertion Force

	<hardware> (ZIF) A kind of socket for {integrated circuits}.
	A ZIF socket can be opened and closed by means of a lever or
	screw.  When open, there the chip may be placed in the socket
	without any pressure at all, the socket is then closed,
	causing its contacts to grip the pins of the chip.  Such
	sockets are used where chips must be inserted and removed
	frequently, such as in test equipment.  They are more
	expensive and usually take up more space than conventional IC
	sockets.

	(1994-12-05)

zeroth

	<jargon> First.

	Since zero is the lowest value of an {unsigned} {integer},
	which is one of the most fundamental types in programming and
	{hardware} design, it is often natural to count from zero
	rather than one, especially when the integer is actually an
	{index} or {offset}, as used when addressing {hardware} and
	{arrays}.

	Hackers, computer scientists and pure mathematicians often
	like to call the first chapter of a publication "Chapter 0",
	especially if it is of an introductory nature (one of the
	classic instances was in the First Edition of {K&R}).

	Zero-based numbering tends to reduce {fencepost errors},
	though it cannot eliminate them entirely.

	Logically, the next item after the zeroth should be the
	"oneth" but this is never used.

	[Dijkstra, "Why Numbering Should Start at Zero"
	{(http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html)}].

	[{Jargon File}]

	(2010-02-28)

ZEST

	An {object-oriented} extension of {Z}.

	["Object Orientation in Z", S. Stepney et al eds, Springer
	1992].

ZetaLisp

	<language> The {Maclisp} dialect used on the {LISP Machine}.
	The many extensions to Maclisp include {vectors}, {closures},
	{flavors}, {stack groups}, {locatives}, and {invisible
	pointers}.  Currently supported by {Lisp Machines, Inc.} and
	{Symbolics}.

	["LISP Machine Manual", D. Weinreb and D. Moon, MIT AI Lab,
	1981].

	(1997-03-18)

zetta-

	{prefix}

zettabyte

	<unit, data> (ZB) A unit of {data} equal to 10^21 {bytes} but see
	{binary prefix} for other definitions.  A zetabyte is 1000^7 bytes
	or 1000 {exabytes}.

	1000 zettabytes are one {yottabyte}.

	See {prefix}.

	(2013-11-04)

Zeus

	{Berkeley Yacc}

ZFC

	<mathematics> {Zermelo Fränkel set theory} plus the {Axiom of
	Choice}.  A favourite {axiomatisation} of {set theory}.

	(1995-03-29)

ZF expression

	<programming> (After {Zermelo Fränkel set theory}).  {David
	Turner}'s name for {list comprehension}.

	(1995-03-27)

ZIF

	{Zero Insertion Force}

zigamorph

	/zig'*-morf/ 1. {Hex} FF (11111111) when used as a {delimiter}
	or {fence} character.  Usage: primarily at {IBM} shops.

	2. [proposed] The {Unicode} non-character +UFFFF
	(1111111111111111), a character code which is not assigned to
	any character, and so is usable as end-of-string.

	[{Jargon File}]

ZIL

	<games> Zork Implementation Language.  Language used by
	{Infocom}'s Interactive Fiction adventure games.  Interpreted
	by the {zmachine}, for {Unix} and {Amiga}.

	{(ftp://plains.nodak.edu/Minix/st.contrib.Infocom.tar.Z)}.

Zilog

	<company> The {microprocessor} manufacturer who produced the
	{Zilog Z80} in July 1976 (as used by {Sinclair} in the
	{ZX-80}, {ZX-81} and {ZX Spectrum} computers) and later the
	{Zilog Z8000}.

	Zilog was founded in 1974 and became a wholly owned subsidiary
	of Exxon Corp. by 1980.  The company's management and
	employees purchased Zilog back from Exxon in 1989.  Zilog
	became a publicly-held company in February, 1991.  In March of
	1998, Zilog was privatised, as a result of the merger and
	recapitalisation transaction by Texas Pacific Group (TPG).

	Zilog now produce a range of 8-bit {microcontrollers}, 8-, 16-
	and 32-bit {microprocessors}, and {digital signal processors},
	covering the home entertainment, communications, and {embedded
	systems} markets.

	{(http://zilog.com/)}.

	Address: 910 East Hamilton Avenue, Suite 110, Campbell,
	CA 95008, USA.

	(1998-09-14)

Zilog Z280

	An enhanced version of the {Zilog Z80} with a 16 bit
	architecture, introduced in July, 1987.  It added an {MMU} to
	expand addressing to 16Mb, features for {multitasking}, a 256
	byte {cache}, and a huge number of new {op codes} (giving a
	total of over 2000!).  Its internal clock runs at 2 or 4 times
	the external clock (e.g. a 16MHz CPU with a 4MHz bus).

	(1994-10-31)

Zilog Z8

	<processor> A family of {microcontrollers} from {Zilog} with
	on-chip {RAM} and {ROM}.  The Z8 is not related to the {Zilog
	Z80}, it uses a totally different architecture and
	{instruction set}.

	Competitors include the {Motorola 6805}/68HC05 family or the
	{Intel 8051}-family (or i51-family or MCS51-family - there is
	no standard family name).

	(1995-04-22)

Zilog Z80

	<processor> An 8-bit {microprocessor}.  It was released in
	July 1976 with a 2.5 MHz {clock rate}.  The Z80 was a much
	improved {Intel 8080} (as was the {Intel 8085}).  It also used
	8-bit data and 16-bit addressing, and could execute all of the
	{8080} {op codes} as well as 80 new ones, instructions that
	included 1, 4, 8 and 16-bit operations and even block move and
	block I/O instructions.  The {register set} was doubled, with
	two banks of registers (including A and F) that could be
	switched between.  This allowed fast {operating system} or
	{interrupt} {context switch}es.  It features 3 types of
	interrupt mode.

	The Z80 also added two {index registers} (IX and IY) and
	relocatable {vectored interrupts} (via the 8-bit IV register).
	Like many processors (including the {8085}), the Z80 featured
	many undocumented op codes.  Chip area near the edge was used
	for added instructions, but fabrication made the failure of
	these high.  Instructions that often failed were just not
	documented, increasing chip yield.  Later fabrication made
	these more reliable.

	The thing that really made the Z80 popular was the memory
	interface - the CPU generated it's own {RAM} {refresh}
	signals, which meant easier design and lower system cost.
	That and its {8080} compatibility and {CP/M}, the first
	standard {microprocessor} {operating system}, made it the
	first choice of many systems.

	In addition to the original Z80 (2.5 MHz) there are the {Zilog
	Z80A} (4 MHz), {Zilog Z80B} (6MHz) and {Zilog Z80H} (8 MHz)
	versions.  The popular {Hitachi HD64180} processor family adds
	peripherals and an {MMU} to the Z80.

	The {Zilog Z280} was an enhanced version with an {MMU} and
	many new {op codes}.

	The Z80 was used in the first {Nintendo} {Game Boy}.  A
	{Sharp} Z80 work-alike was used in the {GameBoy Color},
	running at 4 MHz for GameBoy software or at 8 MHz for Game Boy
	Color software.  The Z80 was used in the {Sega Master System}
	and the {Game Gear}.  It was also used in the {Sega Genesis}
	for hardware reverse compatibility with the Sega Master System
	through a special cartridge.

	{Gaby Chaudry site (http://gaby.de/z80/)}.

	(2004-06-10)

Zilog Z8000

	<processor> A {microprocessor} from {Zilog} introduced not
	long after the {Intel 8086}, but with superior features.  It
	was basically a 16-bit processor, but could address up to 23
	bits in some versions by using {segment registers} (to supply
	the upper 7 bits).  There was also an unsegmented version, but
	both could be extended further with an additional {MMU} that
	used 64 {segment registers}.

	Internally, the Z8000 had sixteen 16-bit {registers}, but
	register size and use were exceedingly flexible.  The Z-8000
	registers could be used as sixteen 8-bit registers (only the
	first half were used like this), sixteen 16-bit registers,
	eight 32-bit registers, or four 64-bit registers, and included
	32-bit multiply and divide.  They were all general purpose
	registers - the {stack pointer} was typically register 15,
	with register 14 holding the stack segment (both accessed as
	one 32-bit register for painless address calculations).

	The Z8000 featured two modes, one for the {operating system}
	and one for user programs.  The user mode prevented the user
	from messing about with {interrupt} handling and other
	potentially dangerous stuff.

	Finally, like the {Zilog Z80}, the Z8000 featured automatic
	{DRAM refresh} circuitry.  Unfortunately it was somewhat slow,
	but the features generally made up for that.  Initial {bugs}
	also hindered its acceptance (partly because it did not use
	{microcode}).  There was a radiation resistant military
	version.

	There was a later 32-bit, {pipelined} version, the {Zilog
	Z80000}.

	(1997-12-16)

Zilog Z80000

	<processor> A later version of the {Zilog Z8000}, expanded to
	32 bits internally and with a 6-stage {pipeline}.

	(1997-12-16)

Zilog Z80A

	<processor> A version of the {Zilog Z80} {microprocessor} with
	a 4 MHz {clock rate}.

	(1995-04-24)

zip

	1. <tool, compression, file format> To create a compressed
	{archive} (a "zip file") from one or more files using
	{PKWare}'s {PKZIP} or a compatible {archiver}.  Its use is
	spreading from {MS-DOS} now that portable implementations of
	the {algorithm} have been written.

	zip is also the name of a {Unix} archiving utility compatible
	with {PKZIP}.  {unzip} is the corresponding de-archiver.

	See also {gzip}, {tar and feather}.

	(1996-08-26)

	2. <storage> {Zip Drive}.

	[{Jargon File}]

	3. <functional programming> {zip function}.

Zipcode

	<language> A parallel language at {Lawrence Livermore}(?).

	(1996-08-26)

Zip disc

	{Zip drive}

Zip disk

	{Zip drive}

Zip Drive

	<hardware, storage> A {disk drive} from {Iomega Corporation}
	which takes removable {hard disks} storig 100 to 750
	{megabytes}.  Both internal and external drives are
	manufactured, making the drive suitable for {backup}, mass
	storage or for moving files between computers.  Software is
	included to help with file organisation.  The internal {SCSI}
	model offers up to 60 MB / minute transfer rate.

	The Zip drive was awarded {Byte}'s Readers' {Hardware Choice
	Award 1996 (http://byte.com/art/9607/sec11/art1.htm)}.  It was
	superceded by the {Jaz} drive which takes one {gigbyte} disks.

	(2008-01-21)

zip file

	{zip}

zip function

	<functional programming> A {function} that takes two lists and
	returns a list of pairs.  The idea can easily be extended to
	take N lists and return a list of N-{tuples}.

	(2008-03-29)

zipped

	{zip}

zipped file

	{zip}

zipperhead

	<abuse> An {IBM} term for a person with a closed mind.

	[{Jargon File}]

	(1994-11-30)

zm

	<networking> The {country code} for Zambia.

	(1999-01-27)

ZMODEM

	<protocol> A file transfer protocol with error checking and
	crash recovery.  Developed by Chuck Forsberg.  Its transfer
	rate is similar to {YMODEM-g}.  Like YMODEM-g, ZMODEM does not
	wait for positive acknowledgement after each block is sent,
	but rather sends blocks in rapid succession.  If a ZMODEM
	transfer is cancelled or interrupted for any reason, the
	transfer can be resurrected later and the previously
	transferred information need not be resent.

	{FTP Oakland
	(ftp://oak.oakland.edu/pub/simtelnet/msdos/zmodem/)}, {FTP PDX
	(ftp://ftp.cs.pdx.edu/pub/zmodem/)}.

	Telephone: +1 900 737 7836.

	(1996-07-02)

ZOG

	<hypertext> A high-performance {hypertext} system developed at
	{Carnegie-Mellon University}.

	(1994-11-30)

ZOLA Technologies

	<company> Producers of the {Z} {simulation} language.

	(1994-11-30)

zombie

	1. <operating system> {zombie process}.

	2. <chat> A {ghost}.

	[{Jargon File}]

	(1997-10-08)

zombie process

	<operating system> (Or "defunct process") A {Unix} {process}
	that has terminated (either because it has been killed by a
	{signal} or because it has called {exit}()) and whose {parent
	process} has not yet received notification of its termination
	by executing (some form of) the {wait}() {system call}.

	A zombie process exists solely as a {process table} entry and
	consumes no other resources.  This entry is retained to hold
	the child's exit status until the parent process wants to
	retrieve it.  The parent can also be notified asynchronously
	via a signal of the child's termination.

	Zombie processes can be seen in "ps" listings occasionally
	(with a status "Z" in some versions).

	Compare {orphan process}.

	(1997-10-08)

zone

	A logical group of {network} devices on {AppleTalk}.

	(1994-11-30)

Zoo

	{Berkeley Yacc}

zoo

	<tool, file format> A data {compression} program and format by
	Rahul Dhesi.  Zoo is reported to use the same {Lempel Ziv}
	algorithm as {LHA}.  It is available for many {platforms} and
	{source} is available.  .zoo archives are handled by many
	other PC archiving programs.

	Version 2.10 was released in 1989.  Search the web for zoo210
	to obtain an executable.

	{Description (http://sources.isc.org/archiver/zoo2.txt)}.

	(2000-07-05)

zoom

	<graphics> To show a smaller area of an {image} at a higher
	magnification ("zoom in") or a larger area at a lower
	magnification ("zoom out"), as though using a zoom lense on a
	camera.

	Unlike in an optical system, zooming in on a computer {image}
	does not necessarily increase the amount of detail displayed
	since this is limited by what is actually stored in the image.
	Similarly, you cannot zoom out beyond the full size of the
	image.

	(1997-10-24)

Zoomer

	<computer> A {PDA} from {Casio}, based on the {GEOS}
	{microkernel} {operating system}.

	{(http://biostat.washington.edu/zoomer.html)}.
	{(http://eit.com/mailinglists/zoomer/resources.html)}.

	{Usenet} newsgroup: {news:comp.sys.pen},
	{news:comp.sys.handhelds}, {news:comp.sys.palmtops}.

	(1995-01-23)

ZOPL

	<language> A {block structured}, untyped low-level language
	used on computers manufactured by {Geac}.

	[Dates?  Reference?  Stands for?]

	(2002-02-24)

zorch

	/zorch/ 1. [TMRC] To attack with an inverse heat sink.

	2. [TMRC] To travel with velocity approaching lightspeed.

	3. [MIT] To propel something very quickly.  "The new comm
	software is very fast; it really zorches files through the
	network."

	4. [MIT] Influence.  Brownie points.  Good karma.  The
	intangible and fuzzy currency in which favours are measured.
	"I'd rather not ask him for that just yet; I think I've used
	up my quota of zorch with him for the week."

	5. [MIT] Energy, drive, or ability.  "I think I'll {punt} that
	change for now; I've been up for 30 hours and I've run out of
	zorch."

	6. [MIT] To flunk an exam or course.

	7. Computing power.

	[{Jargon File}]

	(1997-07-09)

Zork

	<games> /zork/ The second of the great early experiments in
	computer fantasy gaming; see {ADVENT}.  Zork was originally
	written on {MIT-DM} during the late 1970s, later distributed
	with {BSD Unix} as a patched, sourceless {RT-11} {Fortran}
	binary (see {retrocomputing}) and commercialised as "The Zork
	Trilogy" by {Infocom}.  The Fortran source was later rewritten
	for portability and released to {Usenet} under the name
	"Dungeon".

	Both Fortran "Dungeon" and translated {C} versions are
	available from many {FTP archives}.

	[{Jargon File}]

	(1998-09-21)

zorkmid

	<games> /zork'mid/ The canonical unit of currency in
	hacker-written games.  This originated in {Zork} but has
	spread to {nethack} and is referred to in several other games.

	[{Jargon File}]

	(1998-09-21)

z/OS

	<operating system> An {operating system} from {IBM}.
	According to IBM, it is a secure, scalable, high-performance
	enterprise operating system on which to build and deploy
	Internet and {Java}-enabled applications, providing a
	comprehensive and diverse application execution environment.

	{(http://ibm.com/servers/eserver/zseries/zos/)}.

	(2008-01-22)

zr

	<networking> The old {country code} for Zaire.

	"{cd}" is now used instead, since Zaire changed its name to
	the Democratic Republic of the Congo.

	(1999-01-27)

zsh

	{Z shell}

Z shell

	(zsh) 1. {sh} with list processing and {database}
	enhancements.

	Version 2.1.o (before 1995-10-30).

	{(ftp://cs.ucsd.edu/pub/zsh/zsh2.1.0.tar.Z)}.

	2. A {Unix} command interpreter {shell} by Paul Falstad
	<pf@ttisms.com> some time before 1993-03-23.  It is similar
	to, but not completely compatible with, {ksh}, with many
	additions to please {csh} users and some {tcsh} features.  zsh
	supports editing of multi-line commands in a single buffer;
	variable editing; a command buffer stack; {recursive}
	{glob}bing; manipulation of {arrays}; and spelling correction.

	zsh uses {GNU} {autoconf} so should compile and run on any
	modern version of UNIX, and many not-so-modern.

	Latest version: 4.0.6, as of 2002-10-02.

	{zsh home (http://zsh.org/)}.

	(1995-10-31)

ZUG

	A low-level {Awk}(?) from {Geac}.

	(1995-01-23)

Zulu time

	{Coordinated Universal Time}

ZUSE

	<language> An LL(1) {parser generator} by Arthur Pyster of the
	{University of California at Santa Barbara}.  ZUSE requires
	{Pascal}.

	(1986-09-23)

Zuse

	<language> (After {Konrad Zuse}) A descendant of {Ada},
	{Modula-2}, {Mesa} and {Oberon-1}, described by Christian
	Collberg <collberg@dna.lth.se> in his PhD thesis 1991.

	Zuse supports several levels of information hiding.  The Zuse
	type system includes fully hidden types (similar to {Modula-2}
	{opaque types} but without any implementation restriction),
	semi-open pointer types (same as {Modula-2} {opaque types}),
	extensible {record types} (similar to {Oberon-1} public
	projection types but without the compiler hint), {enumeration}
	types, extensible enumeration types, and extensible {subrange
	types}.

	A type can also be protected by specifying the operations that
	particular modules may perform (similar to {C++} {friend
	classes} and {Ada} {private types}).  Zuse also includes
	hidden and extensible constants and hidden inline procedures.
	In order to support the higher levels of information hiding
	the implementation employs partial intermediate code linking.

	A version for {Sun-3} is available.

	(1999-02-18)

Zuse, Konrad

	{Konrad Zuse}

zw

	<networking> The {country code} for Zimbabwe.

	(1999-01-27)

ZX-80

	<computer> {Sinclair}'s cheap {personal computer} with
	built-in {BASIC}, launched at the end of January 1980 at a
	computer fair in Wembley, UK.  The processor was an {NEC
	780-C} running at 3.25 MHz.  It had 1KB of {RAM}, externally
	expandable to 16KB, and 4KB of ROM.  It had RF video output to
	a TV, displaying 24 lines by 32 characters of monochrome text.
	An audio cassette recorder was used to save programs.

	The ZX-80 was sold in kit form for £79.95 or ready-built for
	£99.95.  It was used by many UK hobbyists as a means of learning
	the basics of computing.  Some remember the 1KB ZX-80 for the
	claim in its advertising that you could control a nuclear power
	station with it.

	The ZX-80 was succeeded by the {ZX-81}.

	{(http://home.t-online.de/home/p.liebert/zx80_eng.htm)}.

	{Planet Sinclair (http://nvg.ntnu.no/sinclair/)}.

	{The Sinclair Story
	(http://sincuser.f9.co.uk/046/sstory.htm)}.

	(2002-08-30)

ZX-81

	<computer> An even more successful version of the {Sinclair}
	{ZX-80}, featuring a large {uncommitted logic array} instead
	of much discrete logic, an improved {BASIC}, and rather more
	expandability (it could take 16kb {RAM} packs).  It was
	launched around 1981 and was eventually replaced by the
	{Spectrum}.

	(1995-11-04)

zxnrbl

	<jargon> /sner'b*l/ Incorrect data introduced by transmission
	errors; any corrupted or uninterpretable data.

	The word originated in a 1978 advertisement for a
	Mockingboard, which "makes frogs croak, princesses shriek, and
	martians zxnrbl."

	"It's not misspelled on the original page.  The Internet must
	have zxnrbled it on the way to you."

	(1997-03-16)

ZX Spectrum

	<computer> {Sinclair}'s first personal computer with a colour
	display.  The Spectrum used the {Zilog Z80} processor like its
	predecessors the {ZX-80} and {ZX-81}.  It was originally
	available in 16k and 48k versions using cassette tape and
	later grew to 128k and sprouted {floppy disks}.  It had a
	wider and more solid case and a marginally better "dead flesh"
	keyboard.  Unlike the earlier models, it didn't require the
	presence of a cold carton of milk to prevent it overheating.
	It was possibly the most popular home computer in the UK for
	many years.

	The {TK-90X} was a clone.

	(1995-11-04)

Zynet Ltd.

	<company> A UK {Internet service provider} offering full
	{Internet Protocol} connection by any reasonable means for any
	number of computers from individual {dial-ups} to {leased
	line} connections to entire networks.

	Zynet is a sister company of {Minerva Software} and thus claim
	a better than average understanding of the needs and
	idiosyncracies of {Acorn} systems and will be offering special
	services for education.

	{(http://zynet.co.uk/)}.

	E-mail: <zynet@zynet.co.uk>.

	Telephone: +44 (1392) 426 160.  Fax: +44 (1392) 421 762.

	Address: Minerva House, Baring Crescent, Exeter EX1 1TL, UK.

	(1995-01-31)

ZyXEL

	A {modem} manufacturer.

	{(ftp://ftp.zyxel.com/pub/other/zyxel)}.

	E-mail: <tech@zyxel.com>, <sales@zyxel.com>.

	Telephone: +1 800-255-4101 (Sales), +1 714-693-0808 (tech), +1
	714-693-0762 (BBS), +1 714-693-8811 (fax).

	Address: 4920 E. La Palma, Anaheim, CA 92807, USA.

	(1994-10-31)

|

	{vertical bar}

~

	{tilde}

£

	{pound sign}