File: issue38.html

package info (click to toggle)
lg-issue38 1-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 2,128 kB
  • ctags: 147
  • sloc: makefile: 36; sh: 4
file content (9677 lines) | stat: -rw-r--r-- 423,786 bytes parent folder | download | duplicates (2)
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Linux Gazette Index Page </TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000" >
<center><H2><IMG SRC="../gx/newlogo.jpg" width=600 height=256
ALT="Linux Gazette... making Linux just a little more fun!">
</H2>

<H5>Copyright &copy; 1996-98 Specialized Systems Consultants, Inc.</H5>
</center>

<P> <HR> <P> 
<!--==================================================================-->
<center>
<H1><A HREF="http://www.linuxgazette.com/">Welcome to Linux
Gazette!</A><img src="../gx/tm.gif" alt="(tm)"></H1>
</center>
<P> <HR> <P> 
<!--==================================================================-->
<H1>Published by:</H1>
<center>
<H1><A HREF="http://www.linuxjournal.com/">
        <img src="../gx/ljtop.gif" alt="Linux Journal" border=0></A></H1>
</center>
<P><HR> <P>
<H1>Sponsored by:</H1>
<table>
<tr>
<td><H1><A HREF="http://www.infomagic.com/"><img ALIGN="bottom" HSPACE="50"
src=../gx/infologo.gif alt="InfoMagic" border=0></A></H1></td>
<td>
<H1><A HREF="http://www.suse.com/"><img ALIGN="bottom" src=../gx/suse.gif alt="S.u.S.E." border=0></A></H1></td>
<td>
<H1><A HREF="http://www.redhat.com/"><img HSPACE="50" src=../gx/redhat.gif alt="Red Hat" border=0></A></H1></td>
</tr>
<tr>
<td><H1><A HREF="http://www.LinuxMall.com/"><img ALIGN="bottom" HSPACE="50"
src=../gx/linuxmall.gif alt="LinuxMall" border=0></A></H1></td>
<td><H1><A HREF="http://www.linuxresources.com/"><img ALIGN="bottom" src=../gx/linux6.gif alt="Linux Resources" border=0></A></H1></td>
<td><H1><A HREF="http://www.cyclades.com/"><img HSPACE="50" src=../gx/cyclades.gif alt="cyclades" border=0></A></H1></td>
</tr>
<tr>
<td><H1><A HREF="http://www.stalker.com/ads/cg-lgp.html"><img
ALIGN="bottom" HSPACE="50" src=../gx/stalker.gif alt="stalker" border=0></A></H1></td>
<td><H1><img ALIGN="bottom" src=../gx/blank.gif alt="" border=0></A></H1></td>
<td><H1><A HREF="http://www.linuxtoday.com/"><img HSPACE="50" src=../gx/lt-lg.gif alt="LinuxToday" border=0></A></H1></td>
</tr>
</table>

<P> 
Our sponsors make financial contributions toward the costs of
publishing <I>Linux Gazette</I>. If you would like to become a sponsor
of <I>LG</I>, e-mail us at <A
HREF="mailto:sponsor@ssc.com">sponsor@ssc.com</A>.

<P> 
<I>Linux Gazette</I> is a non-commercial, freely available publication and will
remain that way. Show your support by using the products of our sponsors
and publisher.

<P> <HR> <P> 
<P> <HR> <P>
<!--=================================================================-->
<H1 align="center">Table of Contents <BR>March 1999 Issue #38</H1>

<P> <HR> <P>
<table><tr>
<td rowspan=4>
<UL>
<LI><A HREF="../lg_frontpage.html">The Front Page</A> 
<LI><A HREF="./lg_mail38.html">The MailBag</A> 
<ul>
<li><a HREF="./lg_mail38.html#help">Help Wanted -- Article Ideas</a>
<li><a HREF="./lg_mail38.html#gen">General Mail</a>
</ul>
<LI><A HREF="./lg_bytes38.html">News Bytes</A>  
<ul>
<li><a HREF="./lg_bytes38.html#general">News in General</a>
<li><a HREF="./lg_bytes38.html#software">Software Announcements</a>
</ul>
<LI><A HREF="./lg_answer38.html">The Answer Guy</A>, by James T. Dennis
<LI><A HREF="./lg_tips38.html">More 2 Cent Tips</A>
<LI><A HREF="./cooper.html">Adding a Second IDE Hard Drive</A>, by Mendel
Leo Cooper
<LI><A HREF="./pollman.html">Compiling Programs on Linux</a>, by JC Pollman
<LI><A HREF="./gm.html">Graphics Muse</A>, by Michael J. Hammel
<LI><A HREF="./blanchard.html">Introduction to IRQs, DMAs and Base
Addresses</A>, by Eugene Blanchard
<LI><A HREF="./gentry.html">Linux Dialin Server Setup Guide</A>, by Josh
Gentry
<LI><A HREF="./jenkins7.html">Linux Installation Primer, Part 7</a>,
by Ron Jenkins
<LI><A HREF="./martin.html">PAP HOWTO</A>, by Terry Martin
<LI><A HREF="./adler1.html">The Slashdot Effect, An Analysis of Three Internet P
ublications</A>, by Stephen Adler
<LI><A HREF="./rogers.html">The Standard C Library for Linux, Part
Four</A>, by James M. Rogers
<LI><A HREF="./kidd.html">Why you might want to use the Library GPL for
your next
 library</A>, by Eric Kidd
<LI><A HREF="./veselosky.html">Windows/Linux Dual Boot</A>, by Vince Veselosky
<LI><A HREF="./lg_backpage38.html">The Back Page</A> 
<ul>
<li><a HREF="./lg_backpage38.html#authors">About This Month's Authors</a>
<li><a HREF="./lg_backpage38.html#notlinux">Not Linux</a>
</UL>
</UL>
</td>
</tr><tr>
<td align=center>
<A HREF="lg_answer38.html"> 
<img src="../gx/dennis/answerwiz-255.gif" border=0 alt=""></a><BR> 
<A HREF="lg_answer38.html"><i>The Answer Guy</i></a>  
</td>
</tr><tr>
<td align=center>
<A HREF="gm.html">
<IMG SRC="../gx/hammel/gm-logo-3-small.jpg" border=0 alt=""></a>
</td>
</tr>
</table> 

<P> <HR><P>

<!--=============================================================-->
<A HREF="./issue38.txt">TWDT 1 (text)</A><BR>
<A HREF="./issue38.html">TWDT 2 (HTML)</A><BR>
are files containing the entire issue: one in text format, one in HTML. 
They are provided 
strictly as a way to save the contents as one file for later printing in
the format of your choice; 
there is no guarantee of working links in the HTML version.
 
<!--=============================================================-->
<P> <HR><P> 
Got any <I>great</I> ideas for improvements?  Send your
<A HREF="mailto:gazette@ssc.com">comments, criticisms, suggestions
and ideas.</A>

<P><hr><p>
This page written and maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com">gazette@ssc.com</A>
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>  
<HR> 
<center>
<table width="100%" cellpadding=7><tr><td>
<H2><a NAME="mail"><IMG SRC="../gx/mailbox.gif" ALIGN=MIDDLE ALT=" ">
The Mailbag!</a> </H2>
Write the Gazette at <A HREF="mailto:gazette@ssc.com"> gazette@ssc.com</A>
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="./lg_mail38.html#help">Help Wanted -- Article Ideas</a>
<li><a HREF="./lg_mail38.html#gen">General Mail</a>
</ul>
</td></tr></table>
</center>

<a name="help"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="maroon">Help Wanted -- Article Ideas</font></H3></center>
<P> 
Answers to these questions should be sent directly to the e-mail address of
the inquirer with or without a copy to gazette@ssc.com. Answers that are
copied to <I>LG</I> will be printed in the next issue in the Tips column.
<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 3 Feb 1999 10:47:38 +0100 (MET)<BR> 
From: Jan-Hendrik Terstegge, <A HREF="mailto:jh.terstegge@gmx.net">
jh.terstegge@gmx.net</A><BR> 
Subject: <font color="maroon">Korn Shell FAQ</font>
<P>
I'm looking for a good Korn Shell FAQ, because I dislike reading the
Manpages. Does anyone know a good Internet Address of a FAQ?
<P>
Thanks in advance
<P>
--<BR> 
Jan-Hendrik

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 2 Feb 1999 15:13:18 -0500<BR> 
From: "Jim Coleman", <A HREF="mailto:jecoleman@upsala.org">
jecoleman@upsala.org</A> 
Subject: <font color="maroon">Windows program replacements</font>
<P>
I'm making the move from Windows to Linux and am in the process of
tracking down Linux programs to replace anything in Windows that I feel
I cannot do without. It's a short but stubborn list. Presently, I'm
trying to locate a Linux Family Tree program (I'm using Family Tree
Maker in Windows) and also need a Linux program that can import the
contents of several Cardfile databases.
<P>
I've heard of and have downloaded the Unix based LifeLines program but
have not yet tried it. Though it comes highly recommended, even the
author admits that it's somewhat dated. I was hoping a more recent
program was available. Not necessarily freeware, by the way.
<P>
Suggestions would be appreciated. Thanks,
<P>
Best Regards,<BR> 
--<BR> 
Jim Coleman

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 3 Feb 1999 14:45:12 -0800<BR> 
From: "Michel A. Lim", <A HREF="mailto:support@whl-international.com">
support@whl-international.com</A><BR>  
Subject: <font color="maroon">RH5.2 and Intel EtherExpress Pro/10+ ISA NIC</font>
<P>
I am a Linux newbie, with some computer experience, trying to install my
intel etherexpress pro/10+ isa card on my new Linux box (Macmillan RH 5.2,
kernel 2.0.36-0.7).  I have read several newsgroup postings regarding this
network card, but I could really use a step-by-step guide.
<P>
The card did work when the OS was win98.  Linux is now the only OS on this
computer.  The Linux install was successful except that it did not recognize
my network card.  I disabled the plug and play function of the card using
the intel configuration software (softset2), and then tried re-installing
Linux and passing the IRQ and I/O settings (7 and 320-32Fh respectively) but
that also did not work.  I then tried to add the following lines to
/etc/conf.modules:
<PRE>
alias eth0 eepro
options eth0 io=320-32Fh irq=7
</PRE>
this was also unsucessful.  Furthermore, pnpdump returns "board not found,"
and even AFTER reading the HOWTO for isapnptools, I have no idea what to add
to add to my isapnp.conf file.
<P>
Any help would be very appreciated, just please be detailed as I am not a
guru by any stretch of the imagination.
<P>
thank you.
--<BR> 
michel a. lim

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 8 Feb 1999 18:30:50 -0200<BR> 
From: "Eliane Aureliana de Sousa", <A HREF="mailto:lili@martins.com.br">
lili@martins.com.br</A> <BR> 
Subject: <font color="maroon">We do not relay...</font>
<P>
Could you help me? I have Red Hat Linux installed and I have sendmail and
a pop server running but when I try to send and receive mail via
Netscape what I receive is this mensage: We do not relay..... and there
is neve any msg in my mail box.
<P>
I've read as many how-to as I could, but I couldn't find nothing about
my problem. Send mail is already running, I need to know how to set the
permissions to let my users send and receive mail.
<P>
Thanks,
Eliane Aureliana de Sousa
Uberlandia - Brazil

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 08 Feb 1999 16:28:52 +0100<BR> 
From: Kristoffer Andersson, <A HREF="mailto:e7koffe@etek.chalmers.se">
e7koffe@etek.chalmers.se</A> <BR> 
Subject: <font color="maroon">Help wanted -- article ideas</font>
<P>
I'm having a sort of luxorius problem. In the building where I live we have
a 24-7 ethernet connection two the Internet - so long every thing is fine -
the problem is that this connection goes through a masquerading-server and
as a result it is almost impossible to connect to your computer from a
computer outside my building.
<P>
To go around this limitation I have set up a small script that uses ssh to
forward a few ports (21, 22 and 80) to a computer outside the building.
This is fine as long as you and your friends now to wich computer the ports
have been forwarded to.
<P>
A more fancy solution would be to use ssh to tunnel ppp! The problem is
that I dont now of an ISP that would let me to use PPP over the Internet
instead of over their modem-pools.
<P> 
--<BR> 
 Kristoffer Andersson

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 08 Feb 1999 10:35:02 -0200<BR> 
From: Silvia, <A HREF="mailto:silvia@waytecnet.com.br">
silvia@waytecnet.com.br</A> <BR> 
Subject: <font color="maroon">DOS Emulations</font>
<P>
How does the DOS emulation through the serial ports works?<BR> 
What is the default terminal emulation?<BR> 
How  can we change this?<BR> 
We need to use 25 lines 80 columns and the key combinations  ALT+F1,
ALT+F2, ..., ETC.
<P>
Regards<BR> 
--<BR> 
Silvia

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 08 Feb 1999 04:52:35 +0100<BR> 
From: JVA, <A HREF="mailto:vargaj@intrak.tuke.sk">
vargaj@intrak.tuke.sk</A> <BR> 
Subject: <font color="maroon">Sound card with radio on it</font>
<P>
I am intending to install Red Hat 5.0 to myP 166: PC and my question is
that I have a ISA sound card (SF16-FMI) with radio on it, it's 100% SB
compatible,and has a IDE connection on it and it's not PnP will it be
able to work and in particular the radio
please help I enjoy listening to radio.
<P>
--<BR> 
Jva

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 10 Feb 1999 15:42:19 -0800<BR> 
From: Jay Xia, <A HREF="mailto:xia@xlnt.com">xia@xlnt.com</A> <BR> 
Subject: <font color="maroon">MS words to Postscript conversion</font>
<P>
From time to time, people e-mail me documents
in Microsoft Words format.  Do you know where
I can find an utility to convert the MS Words
documents into Postscript format so that I can
view/print them in Linux?
<P>
Thanks.
<P>
--<BR> 
jay 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sun, 14 Feb 1999 01:32:18 +0100<BR> 
From: bonis, <A HREF="mailto:bonis@tin.it">bonis@tin.it</A> <BR> 
Subject: <font color="maroon">problema</font>
<P>
ciao, mi chiamo cris
ho red hat 5.0 e devo collegarmi a internet... con netscape
communicator..
..non ci riesco :)..sono abbonato a tin...e ho un modem esterno da 33.6
...ho provato di tutto..ma non riesco propio :) aiuto :) grazie.
ps.
ho installato Linux Red Hat da 3 giorni :)..e mai prima.. :)
<P> 
--<BR> 
bonis

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sat, 13 Feb 1999 20:58:10 +0530<BR> 
From: "Mukul Jain", <A HREF="mailto:jainmukul@usa.net">jainmukul@usa.net</A>
<BR> 
Subject: <font color="maroon">Configuring Linux as mail server</font>
<P>
I want to configure Linux as my off-line mail server. What all I want is
that I want it to aceept my mail and when I dial to my ISP it just sends
the
collected mail and then recieves the mail from my domain. and distributes
according to Linux user accounts.
<P>
I've done the following setting
in sendmail.cw; I've added my domain entry.
<P>
In sendmail.cf I've changed the
DS  to my ISP server
<tt>DSgg.vsnl.net.in</tt>
<P>
and at DM added my domain
also changed <tt>OHoldExpensive=True</tt>
<P>
Well and then changed settings for the mailers expensiver
<P>
Now still I get an Error 'We do not relay mail'
<P>
HELP!
<P>
--<BR> 
Mukul

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Fri, 12 Feb 1999 11:06:49 +0100 (Ora solare Europa occidentale)<BR> 
From: Bruno Falconi, <A HREF="mailto:bruno@ifctr.mi.cnr.it">
bruno@ifctr.mi.cnr.it</A> <BR> 
Subject: <font color="maroon">primo approccio</font>
<P>
finalmente ho trovato un link interessante per chi vuole
inoltrarsi in Linux.
<P>
Ho cercato di installare Linux (Red Hat 5.2) sul mio pc
che gia gira con windows 98.
ho tre dischi (10gb, 2gb e 1.5gb).
ho incontrato mille difficolta' e alla fine non sono
riuscito ad installarlo, non solo, ma ho perso anche 
Windows 98.
Ho ripristinato poi i dischi ed windows, ma prima di riprovarci
gradirei qualche dritta per fare una cosa seria.
<P>
grazie<BR> 
--<BR> 
Bruno Falconi
 
<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 11 Feb 1999 12:35:03 -0500<BR> 
From: "Jeff Moore", <A HREF="mailto:champnet@iisc.net">champnet@iisc.net</A>
<BR> 
Subject: <font color="maroon">Converting to Linux</font>
<P>
Was told that I can do lot more with this Linux, where it be with 286 or 386
so on, and to be able develop the full capabilities a Service provider to
community, schools, business, residential. Would consider this task is a
must see how it can be done. O f course now one would have to have a great
deal old hardware, software all ready and surely this person would no just
go out and buy old equipment with this intent in mind. Instead work with
students with a great of old equipment that we are upgrading- Using what we
have an looking  for conversions that would act like they up-to-date? any
suggestion ?
<P> 
--<BR> 
Jeff Moore

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 17 Feb 1999 01:05:56 +0800 (SGT)<BR> 
From: "Jayasuthan ......", <A HREF="mailto:suthan@eplx01.fairchildsemi.com">
suthan@eplx01.fairchildsemi.com</A> <BR> 
Subject: <font color="maroon">Clear Up Corrupted Files</font>
<P>
I having problem with my filesystem lately. I believe it caused by Linux
Kernel 2.2.0 with hdparm -m8 option on my hard disk. Lucky its not very
serius. But now the problem is cleaning up those file which corrupted. I
do have file in /lost+found folder and thats not an issue but files like
this :-
<PRE>
br-Sr-S---   1 25449    28015     99, 105 Nov 26  2031 System.map
br-srwS-wT   1 29813    23328      9,  10 Jan 19  2026 System.old
drwxr-xr-x   2 root     root         1024 Feb 15 23:07 beta/
drwxr-xr-x   2 root     bin          2048 May  8  1994 bin/
</pre>
Look at System.map and System.old file. This file can't just "rm -rf"
away. I don't want to format my hard disk well it will be very hard for
me. I do have good backup. I want to learn Linux file system and
understand it. 
<P>
Please help me out here.
<P>
Thank You,<BR> 
--<BR> 
Jayasuthan

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 18 Feb 1999 13:20:29 +0200<BR> 
From: "yossi", <A HREF="mailto:yossi@sivan-north.co.il">
yossi@sivan-north.co.il</A> <BR> 
Subject: <font color="maroon">Linux & Win95/98/NT clients</font>
<P>
Well, I am system administrator in colleage (about 200 machines). Mostly
they're running Win95/98 and some of them running NT4.0 Workstation. We
don't use yet Linux as a server ( but I use it a lot for
java-development). We use NT4.0.
So my question is :
I'd like to install Linux as a file-server & keep on him images of
hard-disks from classrooms(i.e every classroom has own "master" with all
the programmes installed on it). So if something goes wrong with one (or
more) of a computers in the classroom I'd like to keep this "masters" on
Linux server & connect to them somehow from this computer and take the
"image" off to my win95/98/nt client.
Somehow - I mean I have to have a boot-diskette that does the work.
The second point is that I'm not sure in possibility that
in-the-same-time I can use the "image" on Linux with multiple
connections... Sometimes the "image" has to be requested by 20-25
clients(in the same time).=20
If somebody can help me it's really great coz' this way I can install
first-Linux-server in our network ( I really like this OS.... but it
doesn't depend on me :) )
Any information will be appreciated.
Thanx. 
<P> 
--<BR> 
Daniel Mester

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 17 Feb 1999 18:23:55 -0700 (MST)<BR> 
From: "Dale M. Snider", <A HREF="mailto:dsnider@nmia.com">
dsnider@nmia.com</A> <BR> 
Subject: <font color="maroon">Re: Trap float divide-by-zero and NaN</font>
<P>
Can someone tell me how to turn on a gcc compile option to trap a divide
by zero and NaN with type float or double. I can get the divide-by-zero
trap with type int.  Is this a trap that can be done on the kernal level?
The signal SIGFPED only works on integers?? I am using Red Hat 5.2
installation.
<P>
Trap on divide by zero: a=1., b=0., a/b=Inf
<P>
Trap on overflow: a=3.4e38, b=3.4e38, a*b=Inf
<P>
Trap on NaN: sqrt(-1)
<P>
I have included a small test code to illustrate the problem (question)..
<P>
To build sample code:
  <PRE> 
  cc -g tst.c -lm -o tst
</PRE> 
<P>
Test code:
  <PRE> 
  #include &lt;stdio.h&gt;
  #include &lt;math.h&gt;

  main() {
   float a,b,c,d;
   int   ia,ib,ic;
   int   i;
  
   a=1.; b=0.;
   c=a/b;
   d=(float)sqrt((double)-a);
   printf("Float: a=%f b=%f a/b=%f d=sqrt(-a)=%f\n",a,b,c,d);
   ia=1; ib=0;
   ic=ia/ib;
   printf("Integer: ia=%d ib=%d ia/ib=%d\n",ia,ib,ic);
  }
</PRE>
Results:
  <PRE> 
  Float: a=1.000000 b=0.000000 a/b=Inf d=sqrt(-a)=NaN
  Floating point exception (core dumped)
</PRE> 
Note that the integer divide by zero is trapped but reported as " Floating
point exception"??
<P>
Cheers<P> 
--<BR> 
Dale

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 01 Feb 1999 03:39:39 +0200<BR> 
From: Jussi Kallioniemi, <A HREF="mailto:jukal@teraflops.com">
jukal@teraflops.com</A> <BR> 
Subject: <font color="maroon">business plan</font>
<P>
Just a quick question (worth printing to next issue?)
<P>
Is there any (good) GNU licensed programs to help
the creation of businessplans? 
<P>
-- <BR> 
Jussi Kallioniemi

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 27 Jan 1999 23:50:54 -0800<BR> 
From: "Snow Wolf", <A HREF="mailto:snowwolf@sprynet.com">
snowwolf@sprynet.com</A> <BR> 
Subject: <font color="maroon">Letter to the Editor ...</font>
<P>
  On the same day that I received my <I>Linux Journal</I>, I got a PC Connection 
periodical.  It's a standard PC mail-order catalog, but it seems to assume 
that people are running Windows.  Are there similar catalogs that cater to 
people running Linux/Unix.  Like have non-PnP modems, cards that include 
drivers for other OSes besides Windows, etc., etc.
<P>
--<BR> 
Charles Wheeler

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 23 Feb 1999 11:36:25 PST<BR> 
From: "Jaap Wolters", <A HREF="mailto:woltersj@hotmail.com">woltersj@hotmail.com</A> <BR> 
Subject: <font color="maroon">problem</font>
<P>
Ik heb geprobeert jullie programma "LINUX" te downloaden, maar ik krijg 
geen toegang. hoe zou het toch kunnen? Op de t.v werd verteld dat het 
programma beter is dan Windows 98, Minder fouten en minder vastlopers. 
Is het programma windows compatible zodat ik mijn oude windows spellen 
kan doorspelen. Ik heb ZEER veel belang bij dit programma, maar 
aangezien me het niet lukt om het te downloaden zou ik graag uw advies 
willen.
<P>
Met vriendelijke groeten 
<P> 
--<BR> 
J.Wolters

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 23 Feb 1999 12:21:53 -0500<BR> 
From: "Nick Wilkens", <A HREF="mailto:NWilkens@holnam.com">
NWilkens@holnam.com</A> <BR> 
Subject: <font color="maroon">Making a Red Hat 5.2 CD</font>
<P>
Hi, I downloaded the Red Hat/RPMS Red Hat/base directories from sunsite,
along with the proper image files, etc...  I also burn them to a CD in
this same way  under the Red Hat directory, is this proper? because when
i try to do a CD install, it says invalid media no Red Hat tree found or
something to that effect.  Any suggestions?
<P>
--<BR>
Nick

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sun, 21 Feb 1999 17:28:54 PST<BR> 
From: <A HREF="mailto:helicon123@hotmail.com">helicon123@hotmail.com</A><BR>  
Subject: <font color="maroon">Installation Question</font>
<P>
Since Linux was mostly used by x86, do you think it's OK if I install it 
on PII-300MHz computer?
<P> 
--<BR> 
helicon123

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 01 Feb 1999 15:18:23 +0000<BR> 
From: Austin, <A HREF="mailto:austinp@headland.co.uk">
austinp@headland.co.uk</A> <BR> 
Subject: <font color="maroon">Help wanted: Fax gateway</font>
<P>
I'm toying with the idea of setting up a FAX gateway on a Linux machine.
The machine is currently on a LAN, and has no modem, so I'll be wanting
to stick a 56Kbps in there. I'm just after pointers, personal
experience, web pages, and general advice on this, because I have no idea
where to start :)
<P>
So far, I've discovered Hylafax. Is this what I should be using? Are
there alternatives?
<P>
How do you go about installing a modem? What models are recommended?
<P>
Thanks for any help.
<P>
-- <BR> 
Austin


<a name="gen"></a>
<P> <hr> <P> 
<!-- =================================================================== -->
<center><H3><font color="maroon">General Mail</font></H3></center>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 01 Feb 1999 16:03:26 +0000<BR> 
From: Keith, <A HREF="mailto:kwhudson@ticnet.com">
kwhudson@ticnet.com</A> <BR> 
Subject: <font color="maroon">Not Linux</font>
<P>
three oaths:<BR> 
1 of marriage<BR> 
1 of truth<BR> 
1 of leadership
<P>
1st one Rendered invalid by actions<BR> 
2nd one destroyed by testimony<BR> 
3rd one ?<BR> 
<P>
    lets not be lazy..lets not take a just get it over attitude...lets
tell the Pop Press that we want news, not day to day  hogwash...
<P>
People are made to tire of a subject, because the press forces every
conceivable amount of data real or not about a subject down to us.  This
is known. This is planned.
<P>
No one has lost face. This is not a party issue. Let it continue.  We
need a answer. We need the Law. Whatever the outcome will be.
<P>
--<BR>
Keith

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 01 Feb 1999 18:24:34 +0100<BR> 
From: Roger Irwin, <A HREF="mailto:irwin@trucco.it">irwin@trucco.it</A> <BR> 
Subject: <font color="maroon">Closed software promotion</font>
<P>
Launching into issue 37, I go straight to Software Announcements. And
the first item is "New circuit design software", which goes on to
describe itself as a spice front-end.
<P>
Well, I design electronic circuits, and immediately hit the link. What I
found was that the spice front-end was a plug-in for the 'visio'
package. No mention was made of Linux, but the announcement said it would
work on any version of Visio. So, I would need the Linux version of
visio.
<P>
So then I followed the link to Visio, and looked to see 'platform
requirements'. It said this:
<P><font color="navy">
            "We've thought long and hard about what you'll need from a
business diagram
             program. That's why we've designed our software to work on
most desktops.
             Chances are, the computer you already use will be fine for
running Visio
             Standard."
</font><P>
Great, another program designed to run on as many platforms as possible?
Not quite, it will run on W95, W98 & Windows NT4.0. Period. Another
company who thinks the only OS that should be run on a desktop is
Windows, and <I>Linux Gazette</I> is helping to promote this.
<P>
Well done, keep up the good work...............
<P>
Bill will be so proud of you.
<P> 
--<BR> 
Roger
<blockquote> <I> (Sorry to let that one slip by me. I tend to assume if they
send the announcement to me, it works for Linux. And of course, I knew SPICE
works for Linux. Wish I had time to chase every announcement down, but I
don't. Anyway I removed it after getting a couple of letters telling me.
--Editor)</I> </blockquote> 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 02 Feb 1999 10:24:33 -0800<BR> 
From: jeff godden, <A HREF="mailto:jgodden@panlabs.com">jgodden@panlabs.com
</A> <BR> 
Subject: <font color="maroon">under software announcements, SpiceLink is not a Linux product</font>
<P>
As usual, <I>Linux Gazette</I> remains one of my favorite sources
of net-gleaned Linux information.  Thank you!
<P>
Under software announcements of issue #37 there is a link
to SpiceLink which i was very thrilled about to see such
a graphical support for spice under Linux.  But alas, even
through it's linked from <I>Linux Gazette</I> this software cannot
run under Linux.  From the president of the SpiceLink following
an inquiry:
<blockquote> <font color="navy">
You're right about SpiceLink; it's for Visio and therefore Windows.
</font></blockquote> 
(maybe when they get near 100% of the Windows market they'll think about Linux).
Perhaps a note might be added that one better have WINE
running and even then it's uncertain...?
<P>
Many thanks!
<P> 
-- <BR> 
jeff
<blockquote> <I> (Always appreciate hearing when I lapse so I can get it
corrected. Thanks for doing it
in such a nice way. That announcement has been removed. -- Editor)
</I> </blockquote> 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 02 Feb 1999 12:54:29 -0500<BR> 
From: Darren, <A
HREF="mailto:PCTech1018@netscape.net">PCTech1018@netscape.net </A> <BR> 
Subject: <font color="maroon">RE: What is a 'high crime'</font>
<P>
A "High crime" is not necessarily what could be called a 'heinous' act.
A 'High crime' is simply a 'crime' committed by a 'High' official (such
as a senator, federal judge, or president.) Because of their unique
positions, what would not be considered crimes for us, may be considered
crimes for 'High' officials, hence the term 'common criminal' versus
'high criminal'.  For instance, accepting bribes would, for private
citizens outside of public office, not be considered a crime (immoral
perhaps, but not criminal.)  For high officials, bribery is most
definitely a 'high' crime.
<P>
Some people feel that the questions that the president did not
truthfully answer should not have been asked and were not relevant to
governing.  After all, even some of the framers of the constitution were
known to have had 'improper relations'.  But these same people seem to
forget that we did not have laws relating to sexual
harassment/discrimination back then.  Also, the judgment by the courts
pertaining directly to those 'irrelevant' questions was that the
questions were relevant and proper at the time they were asked.
<P>
As to using the principle of 'acts related to governing', it would seem
that these same people feel that R. Nixon should have been impeached -
even though his alleged acts and deceptions had nothing to do with
'governing'.  Using the Nixon precedent, W. Clinton should be held
accountable for lies and deception even if they had little bearing on
the act of 'governing'.
<P>
So then, we are left to ask, were the lies and deception in the courts
by the president acceptable?  I guess we all need to answer that for
ourselves.  If it is appropriate for the president to not tell the whole
truth on those matters that the court has decided he should answer for
and go unpunished for lying, then we should stop enforcing sexual
discrimination cases altogether.  Women should just accept their place
as 2nd class citizens and let the rest of us get on with the job of
making a living.  Just think, if he had 'pleaded the fifth', we wouldn't
be having this wonderful education on the constitutional process.
<P>
This may not be the populist view, but the moral high ground usually
isn't.  Witness the popularity of Howard Stern and Larry Flynt.  I am
not perfect.  When I get caught breaking 'minor' laws, I should fully
expect some sort of punishment.  But just because I am not perfect, does
that mean I should give up any expectation of holding myself and others
to standards of common decency?
<P>
--<BR> 
Darren

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 03 Feb 1999 14:27:08 -0800<BR> 
From: James Guilford, <A HREF="mailto:guilfoja@oplin.lib.oh.us">
guilfoja@oplin.lib.oh.us</A> <BR> 
Subject: <font color="maroon">Thanks!</font>
<P>
I've been experimenting with Linux (Red Hat flavor) but
needed to remove it from a machine to install {gad}
Windows.  LILO wouldn't go away.
<P>
I found the answer on your Web site.  Thanks for saving me a
lot of trouble!
<P>
-- <BR> 
James Guilford

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 3 Feb 1999 14:08:43 -0600<BR> 
From: "John W. Burgoon", <A HREF="mailto:jwb@indiana.com">
jwb@indiana.com</A> <BR> 
Subject: <font color="maroon">J. W. Pennington's article about Doubt</font>
<P>
I read Pennington's article with considerable interest and look forward to
more.  As a web developer (trained in Physics and Chemistry) I have to point
out the word that the hard sciences use in place of Mr. Pennington's
"doubt": we call that "skepticism".  Not cynicism, which many folks use as a
way to protect their ego. (Failure is more common than success, so cynics
just predict failure all the time to get their winning %age).
<P>
Skepticism is a firm belief in empirical or deductive fact coupled with a
firm disbelief in personal perception.  The good engineer is a skeptic; he
wants to know some empirical fact before he allows himself to believe his
perceptions.  He tests the girder design before it goes into a bridge, and
even then he over builds that bridge by a factor of 2 or 3 just in case the
wind blows, or any army drives across with tanks, or an earthquake hits.
And when it fails anyway, he shows up and figures out why.
<P>
Linux benefits from skepticism since we don't say "Ha, this is perfect" but
rather we say, "weeellll, this works but so far we haven't looked at x/y/z".
<P>
Kudos to the good author for pointing out a fine generality in which Linux
developers can take pride.  Healthy old-fashioned skepticism kicks ass.
<P>
John W. Burgoon
<P>
<blockquote> <I> (Mr. Pennington will return with part 2 next month.
--Editor)</I> </blockquote> 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 04 Feb 1999 04:37:32 -0800<BR> 
From: Igor Markov, <A HREF="mailto:imarkov@CS.UCLA.EDU">
imarkov@CS.UCLA.EDU</A> <BR> 
Subject: <font color="maroon">Re: The Beauty of Doubt</font>
<P>
 It seems, you are really talking about *critical thinking*.
 *Doubt* is often caused by critical thinking, but shouldn't
 be explicitly cultivated, in my opinion. Many colleges
 offer classes on critical thinking, and the topic is not 
 that new. It is true, of course, that commercial
 software developers are not as free to think critically
 about their work as FSC folks, hence the advantage of FSC.
 <P> 
 Regarding the other three terms: *cooperation* seems too
 weak, free software developers *collaborate*."Cooperation" 
 is what Microsoft does when it gets sued for a breach of
 contract ;-)
<P>
 *Non-control (read: Freedom)* is vague. You probably mean
 *independent thinking* and, separately, *freedom to allocate
 personal resources*. For example, I may be interested in
 kernel hacking, just because I like the subject (not because
 I am paid for this) and may have new ideas, but not
 time/skill to implement them. Someone else, who has a month
 of vacation may pick them up and produce something useful.
<P>
 "Rebellion"...  how about "enthusiasm" or, better,
 "improvement drive". I would actually agree that many
 developers may be driven by a rebellion, but not the ones
 who are responsible for most innovation. "Rebellion" does
 not go well with incremental development models somehow.
<P>
 Finally, the lack and, OTOH, the ease of several aspects
 of management is critical to the FSC as much as the above
 issues. This may need to be discussed as well.
<P>
  well... so much for a non-native speaker. I guess, you will
 correct me if I messed up connotaions/meanings etc. 
<P>
--<BR> 
Igor


<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sun, 07 Feb 1999 21:17:27 +0000<BR> 
From: Kevin Atkinson, <A HREF="mailto:kevinatk@home.com">kevinatk@home.com </A> <BR> 
Subject: <font color="maroon">Did you know about Aspell?</font>
<P>
I saw you article titled "ispell: Spelling Checker" in the <I>Linux Gazette</I>
and was wondering if you knew of the existence of Aspell.
<P>
From the manual:
<P>
  1.1.1.1 Features that only Aspell has
  <ul>
<li> Does a much better job with coming up with suggestions than
Ispell
       does.
<li> Can learn from users misspellings.
<li>  Is an actual library that others programs can link to instead of
       having to use it through a pipe.
  <li> Is multiprocess intelligent. When a personal dictionary (or
       replacement list) is saved it will now first update he list
       against the dictionary on disk in case another process modified
       it.
</ul>  
  1.1.1.2 Things that only Aspell will have real soon
 <ul>
  <li> Support for detachable dictionaries so that more than one aspell
       class can use the same dictionary.
  <li> Support for multiple personal dictionaries as well as support for
       special auxiliary dictionaries.
  </ul>
  1.1.1.3 Things that, currently, only Ispell have
 <ul>
  <li> Lower memory footprint
  <li> Support for affix compression
  <li> Support for spell checking Latex and Nroff files.
</ul>
<P>
Granted that when your article was first published Aspell didn't exist.
<P>
More information can be found at <A HREF="http://metalab.unc.edu/kevina/aspell/">http://metalab.unc.edu/kevina/aspell/</A>.
<P>
-- <BR> 
Kevin Atkinson

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 22 Feb 1999 15:17:36 -0600<BR> 
From: "Gray, Robert C", <A HREF="mailto:Robert.Gray@feist.com">
Robert.Gray@feist.com</A> <BR> 
Subject: <font color="maroon">Not Linux</font>
<P>
No offense meant, but <BR> 
<P>
Three states list perjury as a "High crime or misdemeanor" in their state
constitution 
they are California, Texas, and Alabama.
Three others call perjury an infamous crime  (same as "High crime..." ?)
they are
West Virginia, Pennsylvania, and Illinois.
Three others list perjury as an offense serious enough for removal from
office 
they are Wyoming, Missouri, and Colorado.
<P>
All these states also list conviction of perjury as reason to preclude
someone from ever holding public office.
<P>
In all 50 states perjury is a crime!
<P>
--<BR> 
Robert Gray 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sat, 13 Feb 1999 17:43:22 -0300<BR> 
From: Gustavo Larriera, <A HREF="mailto:gux@cs.com.uy">gux@cs.com.uy</A> <BR> 
Subject: <font color="maroon">Corrected version of my article NTloader+Linux</font>
<P>
I would be pleased if this letter goes to the Mail Bag section.
<P>
I wish to thank the feedback I received for my article "Booting
Linux with the NT Loader" (LG January 1999). Some readers pointed
out my misinformation about the MBR-changed-means-NT-wiped-out 
affair :-) I've corrected the article, the revised version can be 
found at my home page [http://w3.cs.com.uy/u/gux/ntloadli2.htm].
<P>
Have a lot of fun,
<P> 
--<BR> 
Gustavo Larriera


<P> <hr> <P> 
<!--================================================================-->
<center>Published in <i>Linux Gazette</i> Issue 38, March 1999</center>
<!--====================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG SRC="../gx/indexnew.gif" ALT="[ TABLE OF 
CONTENTS ]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif" ALT="[ FRONT 
PAGE ]"></A> 
<A HREF="./lg_bytes38.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P>
<h5>This page written and maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com">gazette@ssc.com</A><BR> 
Copyright &copy; 1999 Specialized Systems Consultants, Inc. </H5> 
<P> 
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table cellpadding=7><tr><td>
<IMG SRC="../gx/bytes.gif" border=1  ALT="News Bytes">
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="./lg_bytes38.html#general">News in General</a>
<li><a HREF="./lg_bytes38.html#software">Software Announcements</a>
</ul>
</td></tr></table>
</center>

<a name="general"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="green">News in General</font></H3></center>

<P> <hr> <P> 
<!-- =================================================================== -->

<center><IMG ALT=" "   SRC="./gx/cover60.jpg"></center>
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
April 1999 <I>Linux Journal</I>
</font>
</H3>
<P> 
The April issue of <A HREF="http://www.linuxjournal.com/"><I>Linux
Journal</I></A> will be hitting the newsstands March 12.
This issue focuses on Network Computing with a review of Corel's Netwinder
and articles on FlowNET a high-performance network solution, 
Network administration using AWK tools, and an interview with John Ousterhout,
creator of Tcl/TK.
<I>Linux Journal</I> now has articles that appear "Strictly On-Line".
Check out the Table of Contents at
<A HREF="http://www.linuxjournal.com/issue60/index.html">
http://www.linuxjournal.com/issue60/index.html</A> for articles in this
issue as well as links to the on-line articles. 
To subscribe to <I>Linux Journal</I>, go to <A
HREF="http://www.linuxjournal.com/ljsubsorder.html">
http://www.linuxjournal.com/ljsubsorder.html</A>.


<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Debian Logo Contest
</font>
</H3> 
<P>
Date: Wed, 03 Feb 1999 20:38:26 -0500<BR> 
Debian Project,
<A HREF="http://www.debian.org/">http://www.debian.org/</A> 
<P>
The Debian project is in the process of looking for a new logo.  Currently 
Debian has a semi-official logo, which can be seen at
<A HREF="http://www.debian.org/logos/debianlogo-2.jpg">http://www.debian.org/logos/debianlogo-2.jpg</A>. As a majority of Debian 
developers are not happy with the current logo, we are searching for a new 
logo to replace the current one using a GIMP logo contest.  Submission 
information and other details are available at <A HREF="http://contest.gimp.org/">http://contest.gimp.org/</A>.
<P>
Debian would like to have two logos: one logo with a very liberal license 
that everyone is free to use (for example on webpages, shirts, etc.), and 
a more official logo with a restricted license which can only be used on 
official Debian items (like CD's produced from the official ISO-images).  
Please note both license are not finished yet.
<P>
The winning logo will be decided on by the Debian developers. Since there 
are a lot of active developers it may take as long as 3-4 weeks after the 
end of the contest to decide who the winner is.
<P>
For more information:<BR> 
<A HREF="mailto:press@debian.org">press@debian.org</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Invitation to Join Freedom of Choice Project
</font>
</H3> 
<P>
Date: Fri, 5 Feb 1999 05:20:52 -0500<BR> 
The Freedom of Choice Project is a co-operative effort between IACT and 
James Capone, an IACT member as well as devoted user of Linux, who created 
the entire project at his own Linux website. In the project's first week, 
over 5000 people had participated in the Freedom of Choice consumer poll. 
With help from IACT, James Capone now is expanding the poll to reach users 
of _all_ platforms.
<P>
As you know, all computer users certainly are affected by an ongoing 
problem in the computer market: Microsoft still maintains an exclusive 
distributorship with PC makers such as Compaq, Dell, Gateway etc.. Those 
companies pre-install or "bundle" MSFT software on the majority of new PCs 
we buy. Once the MSFT software is pre-installed, we may decide to delete it 
and then fight to get a refund, but that approach still won't get to the 
root of the problem.
<P>
The Freedom of Choice project is our grass-roots, long-term solution. By 
using the Internet as it was designed-- to bring together small groups like 
ours into a larger, stronger and unique network-- we're going to defend the 
fundamental right of consumers everywhere to choose any and all software 
that is installed on the new computers they buy.
<P>
We want to give users of all platforms the chance to _send a direct 
message_ to the PC makers, to demand that the companies fully respect every 
consumer's right to choose.
<P>
For more information:<BR> 
James Capone, <A HREF="mailto:linuxos@iname.com">linuxos@iname.com</A> <BR> 
The Freedom of Choice Poll, <A HREF="http://www.angelfire.com/biz2/Linux/company.html">
http://www.angelfire.com/biz2/Linux/company.html</A> <BR> 
Diane Gartner <A
HREF="mailto:dgwhiz@earthling.net">dgwhiz@earthling.net</A><BR> 
IACT's Freedom of Choice page: <A HREF="http://pages.cthome.net/iact/iact-tell.html">
http://pages.cthome.net/iact/iact-tell.html</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
LinuxArchives.com
</font>
</H3> 
<P>
Date: Fri, 05 Feb 1999 17:12:14 -0800<BR> 
LinuxArchives.com has been launched at 
<a href="http://www.linuxarchives.com/" eudora="autourl">www.linuxarchives.com</a>.
It is a software archive dedicated strictly to Linux software. The site is
organized into specific categories, and also features a search engine
that makes finding programs fast and easy. Most of the software is
submitted directly by the manufacturers and it updated frequently.
The site should be a valuable resource for Linux
users, and Aceweb Internet will be working to ensure that it
grows at a pace that is in step with the ever changing needs of the Linux
community.
<P> 
For more information:<BR> 
Tony Ferrara, <A HREF="mailto:tonyf@aceweb.net">tonyf@aceweb.net</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Debian based CUTE 2000 Server exhibited
</font>
</H3> 
<P>
Date: Fri, 12 Feb 1999 10:08:29 -0500<BR> 
CUTE 2000, an all-in-one Linux based server was exhibited at the NET & COM 
'99 show.  It is based on Debian GNU/Linux, and includes software for 
functions such as DNS, WWW, SMTP, FTP, SAMBA, NETATALK, DHCP and others.  
<P> 
For more information:<BR> 
<A HREF="http://www.NikkeiBP.AsiaBizTech.com/Database/1999_Feb/08/Mor.02.gwif.html">
http://www.NikkeiBP.AsiaBizTech.com/Database/1999_Feb/08/Mor.02.gwif.html</A> 
<BR>Debian, <A HREF="http://www.debian.org/">http.//www.debian.org/</A> 

GLUE: Groups of Linux Users Everywhere
<P>
GLUE has added a number of new benefits in recent months to attract new
groups, and is working hard to give our current member groups an
excellent level of service. New benefits include: special subscription
rate to the TPJ and LJ for registered GLUE LUG members, a set of the LJ
archive CD-ROMs, Red Hat Linux, and TCL Blast. GLUE also continues to very
graciously sponsored by Caldera Systems, with their Open Linux
distribution, and Enhanced Software Technologies, with their BRU Backup
and Restore Utilities. I'm working with Linux user groups to find out what
other ways GLUE can contribute, from web resources, to inviting other
vendors to particpate. The glue-list@ssc.com mailing list is available for
discussion among LUGs.
<P>
Linux Users can find a user group with our Group Locator pages, or post to
find or form one of their own. These listings pages are updated and
confirmed frequently, and are very comprehensive. Listing are free to all
groups, not just those registered for GLUE membership.
<P>
GLUE is a project of SSC Inc, publishers of Linux Journal. GLUE was 
implemented to provide a world-wide member group for Linux User Groups.  
GLUE member groups receive a subscription, materials for promoting and 
developing their group, a way of advertising their group in a global 
setting, list-serv and Linux Group location services, and discounts and 
samples from SSC and Linux Journal. Other vendors also offer special 
benefits or discounts to GLUE's member groups. Any LUG can have a free 
listing in the Linux Group location section, and Linux users can post to 
the site to find and form new groups in their area.
<P> 
For more information:<BR> 
<A HREF="http://www.ssc.com/glue/">http://www.ssc.com/glue/</A>
Clarica Grove, <A HREF="mailto:glue@ssc.com">glue@ssc.com</A>

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Linux Hardware Solutions to support Debian Project
</font>
</H3> 
<P>
Date: Thu, 25 Feb 1999 12:51:21 -0500<BR> 
 Linux Hardware Solutions, Inc. a premier supplier of Linux systems and 
service announce support for the Debian Project of Software in the Public 
Interest, Inc.
<P>
 The support comes in the form of a Linux Hardware Solution PS350RR-100 
RAID rackmount server with 256 MB RAM attached to a dedicated colocation 
connection at Mindspring Enterprises' data center in Atlanta, Georgia to 
act as the new ftp.debian.org server.
 <P> 
For more information:<BR> 
Linux Hardware Solutions, Inc., <A HREF="http://www.linux-hw.com/">
http://www.linux-hw.com/</A> <BR> 
Debian GNU/Linux, <A HREF="http://www.debian.org/">http://www.debian.org/</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Subject: Dan Quayle or Linus Torvalds for President
</font>
</H3> 
<P>
Date: Fri, 26 Feb 1999 14:52:40 -0700<BR> 
Even If you sat out the 60s, missed the March On Washington, or the Windows
Refund Protest, you can still voice your vote for freedom--specifically, 
the freedom to use the Open Source computer operating system, Linux. 
As noted in this morning's Wall Street Journal, a young company called 
Linuxcare is holding a just-for-fun election for the new Leader of the 
Free World! Who would you choose: Bill Bradley, George Bush, Jr., Bill Gates, 
Al Gore, Dan Quayle, or Linus Torvalds? You can cast your vote at 
<A HREF="http://www.linuxcare.com/">http://www.linuxcare.com</A>, until "Super Tuesday,"  March 2, which also 
happens to be the opening day of LinuxWorld--the world's largest 
gathering of Linux users
(<A HREF="http://www.linuxworldexpo.com/">http://www.linuxworldexpo.com/</A>).
<P>
The results will be published in the Wall Street Journal on March
2, the day Linuxcare goes live.
<P>
Let the people decide -- in the democratic spirit that permeates 
Open Source --Get Out The Vote (GOTV) for the leader of the FREE WORLD.

<font color="green"><H4>Linuxcare announced on March 2 that Linus
had won with 73% of the vote. No other candidate received more than 9%.</H4> 
</font>
<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Linux Links
</font>
</H3> 
<P> 
Open Source MS Windoze 9x Petition:
<A HREF="http://www.linuxresources.com/linuxreview/petition.html">
http://www.linuxresources.com/linuxreview/petition.html</A> 
<P> 
Brain Power, Jobs for Smart People:
<A HREF="http://www.bpower.com/">http://www.bpower.com/</A> 
<P> 
LinuxODBC: <A HREF="http://www.codebydesign.com/LinuxODBC">
http://www.codebydesign.com/LinuxODBC</A> <BR> 
<P> 
UNIX newbie site:
<A HREF="http://www.dicamp.univ.trieste.it/du96/unix/TOC.html">
http://www.dicamp.univ.trieste.it/du96/unix/TOC.html</A> 
<P> 
New Linux logos:
<A HREF="http://www-mddsp.enel.ucalgary.ca/People/adilger/logo/">
http://www-mddsp.enel.ucalgary.ca/People/adilger/logo/</A> 
<P> 
Compaq web page:
<A HREF="http://www.unix.digital.com/linux/">http://www.unix.digital.com/linux/</A> 
<P> 
The Linux Merchandsising FAQ for Germany:
<A HREF="mailto:http://www.reichmann.de/alex/lmf/index.html">
http://www.reichmann.de/alex/lmf/index.html</A> 
<P> 
Microsoft & new lawsuits:
<A HREF="http://www.zdnet.com/zdnn/filters/bursts/0,3422,2213093,00.html">
http://www.zdnet.com/zdnn/filters/bursts/0,3422,2213093,00.html</A> 
<P> 
Vedova Linux, a
new Linux distribution based on Debian GNU/Linux:
<A HREF="http://www.vedovanet.bbk.org/linux/vedova">
http://www.vedovanet.bbk.org/linux/vedova</A> 
<P> 
CRN spot survey:
<A HREF="http://www.techweb.com/se/directlink.cgi?CRN19990118S0023">
http://www.techweb.com/se/directlink.cgi?CRN19990118S0023</A> 
http://www.linuxresources.com/linuxreview/petition.html</A> 
<P> 
Ramblings on Apple and Linux:
<A HREF="http://www.osopinion.com/Opinions/EdMcKenna/EdMcKenna2.html">
http://www.osopinion.com/Opinions/EdMcKenna/EdMcKenna2.html</A> 
<P> 
IBM and Redhat: <A HREF="./redhat.txt">Red Hat Press Release</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Xpresso Ltd  Needs Programmers
</font>
</H3>
<P>
Date: Mon, 22 Feb 1999 10:28:00 -0500<BR> 
I have a small company named Xpresso Ltd. This will hopefully produce a new
simple software system aimed at users of Windows.
The idea is to sell the Linux OS with the installation and set-up
completely 
automatic. It will use one or more choices of graphical user shells (KDE as
first 
default choice). 
The latest Linux Kernel 2.0.xx will be used (and built specifically for
each 
installation - with maths module if processor is without etc). The System
will 
analyse the hardware and construct or select the correct X Windows drivers
and 
install correct files ( /fstab etc). by examining the existing DOS/Windows
OS files 
or running MSD.EXE or similar.
I have very little finance and am hoping to find programmers who will help
me on 
a percentage basis. I shall be selling the product world-wide and hope
millions of 
units will be sold. Can you possibly help me with details of any sources of
programmers for this work please? The main aims are simple, safe (stable)
and 
visually attractive graphics. The user will do nothing except click GO.
Star Office 
and other quality free programs (only the best) will be included. But only
the best. 
To enable all Windows users to switch to Xpresso LINUX. A safe dual boot on
start up will enable the migration from Windows to Linux to proceed slowly,
at 
each person's pace. Can you help please? I can e-mail a four page outline
of my 
further plans for Linux if you are interested.
<P> 
For more information:<BR> 
Stephen Jackson, Xpresso Ltd,
<A HREF="mailto:xpresso@compuserve.com">xpresso@compuserve.com</A> 

<a name="software"></a>
<P> <hr> <P> 
<!-- =================================================================== -->
<center><H3><font color="green">Software Announcements</font></H3></center>


<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Vedova Linux
</font>
</H3>
<P>
Date: Thu, 4 Feb 1999 20:19:29 +0100 <BR> 
New Linux Distribution based on Debian GNU/Linux
<P>
<A HREF="http://www.vedovanet.bbk.org/linux/vedova/">
http://www.vedovanet.bbk.org/linux/vedova/</A> 
<P>
For more information:<BR> 
Emanuele Vedova, <A
HREF="mailto:vedova@mail.omnitel.it">vedova@mail.omnitel.it</A><BR> 
Vedova Computing, Como, Italy

<P> <hr> <P> 
<!-- =================================================================== -->
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Linux for Coldfire
</font>
</H3>
<P>
Friday, 28th February 1999<BR> 
Greg Ungerer from Moreton Bay today announced the porting of the popular 
Linux operating system to the Motorola Coldfire family of processors. 
Source code for this Linux/Coldfire project is now available freely on 
the net at: <BR> 
<A HREF="http://www.moretonbay.com/coldfire/linux-coldfire.html">
http://www.moretonbay.com/coldfire/linux-coldfire.html</A> 
<P>
The Linux/Coldfire project is a port of a recent Linux kernel and, as 
with all ports of Linux, this is free software under the GNU Public 
License. The code is based on the recent stable linux kernel version 
2.0.33 and it includes the uC-linux patches applied. The libc, libm and 
user applications also come from the uC-linux work. 
<P>
What's a ColdFire?<BR> 
ColdFire is the newest family of microprocessors from Motorola. First 
released in 1994, ColdFire embodies a revolutionary variable-length RISC 
architecture that is designed to meet the requirements of the embedded 
consumer market.  <BR> 
<A HREF="http://www.mot.com/SPS/HPESD/prod/coldfire/cf_roadmap.html">
http://www.mot.com/SPS/HPESD/prod/coldfire/cf_roadmap.html</A> 
<P>
For more information:<BR> 
Moreton Bay,
<A HREF="http://www.moretonbay.com/">http://www.moretonbay.com/</A> 
		
<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
SFS SOFTWARE RELEASES DOCFATHER PROFESSIONAL 2.2 
</font>
</H3>
<P>
Schmalkalden  Germany. February 1, 1999 <BR> 
SFS SOFTWARE announces the release of DocFather Professional 2.2,  their
fast, easy to navigate online and offline search engine for any web site or
web-based documentation.
DocFather provides webmasters, publishers and developers alike with an
excellent utility to make their Web Sites, HTML documentation or
internet/intranet contents searchable.
<P>
DocFather is top-rated and able to run on any Java-supported operating
system like Linux. The nextcoming
DocFather Office Edition is capable to index Adobe PDF, Microsoft Word and
Excel, HTML and all text-based files.
<P>
Availability and Pricing
<P>
There are several DocFather licenses available. The product can be ordered
on-line at the SFS SOFTWARE web site, or through its US-based partner
Proactive International:
<P>
Internet License: $ 349.00<BR> 
Intranet License: $ 990.00<BR> 
CD-ROM Publishing License for 10,000 CD-ROM: $ 1,990.00 
<P>
A fully-functional demo version of DocFather is available for free download
at <A HREF="http://www.sfs-software.com/">http://www.sfs-software.com/</A> 
<P>
For more information:<BR> 
SFS Software, <A
HREF="mailto:info@sfs-software.com">info@sfs-software.com</A><BR> 
Proactive International, LLC,
<A HREF="http://www.proactive-intl.com/">http://www.proactive-intl.com</A>,
<A HREF="mailto:info@proactive-intl.com">info@proactive-intl.com</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Product Release of the MIMER DBMS for Linux
</font>
</H3>
<P>
Date: Wed, 03 Feb 1999 13:11:58 +0100<BR> 
Sysdeco Mimer AB in Uppsala, Sweden, has now released its DBMS MIMER for
Linux. A complete developer version of MIMER 8 for Linux is now available
for free download from the company's Web site at <A
HREF="http://www.mimer.com/">http://www.mimer.com</A>. Full support
agreements are available for MIMER 8 on Linux.
<P>
The release of MIMER for Linux is identical to that implemented across a
wide range of platforms, including many other UNIX platforms (e.g. IBM, HP
and Sun), Windows NT, Windows 95/98 and OpenVMS. In addition to offering
MIMER 8 run-time licences for Linux on very competitive terms, Sysdeo Mimer
also offers Linux customers the opportunity to sign a support agreement,
which provides telephone support and free software updates.
<P>
For more information: <BR> 
Sysdeco Mimer AB, <A HREF="mailto:info@mimer.se">info@mimer.se</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
PartitionMagic 4.0
</font>
</H3>
 <P> 
Date: Tue, 2 Feb 1999 22:14:27 GMT+2<BR> 
Recently released in the United States, PartitionMagic 4.0 - touted as the   
easiest way to create, resize and move harddisk partitions on the fly   
without destroying data - is now available in South Africa through   
accredited PowerQuest software distributor, OS/2 Express SA. 
 <P> 
PartitionMagic 4.0 offers complete support for FAT16, FAT32, FAT32X, NTFS,   
HPFS and Linux ext2 partitions. PartitionMagic continues to convert from   
FAT16 to FAT32 and vice    versa, and from FAT to NTFS and HPFS. 
 <P> 
PartitionMagic 4.0 is available from OS/2 Express SA for R459. An upgrade   
from earlier versions is available for R289 including VAT. 
 <P> 
Additionally graphics / boxshots may be found at : 
<A HREF="ftp://ftp.powerquest.com/pub/Intl/graphics/PartitionMagic/PM4.x/">
ftp://ftp.powerquest.com/pub/Intl/graphics/PartitionMagic/PM4.x/ </A> 
 <P> 
For more information:<BR> 
<A HREF="mailto:os2express@icon.co.za">os2express@icon.co.za</A> <BR> 
<A HREF="http://www.os2.co.za/software/">http://www.os2.co.za/software/</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
LyX-1.0.0 released
</font>
</H3>
<P>
Date: Tue, 02 Feb 1999 21:58:22 +0200<BR> 
LyX is an advanced open source document processor running on many Unix
platforms. It is called a "document processor", because unlike standard 
word processors, LyX encourages an approach to writing based on the 
structure of your documents, not their appearance. LyX lets you 
concentrate on writing, leaving details of visual layout to the software. 
LyX automates formatting according to predefined rule sets, yielding 
consistency throughout even the most complex documents. LyX produces high 
quality, professional output -- using LaTeX, an open source, industrial 
strength typesetting engine, in the background.
<P>
LyX has undergone a quantum leap in functionality over the past 18 months. 
This release offers extensive control over fonts, margins, headers/footers, 
spacing/indents, justification, bullet types in multilevel lists, a 
sophisticated table editor, a version control interface for collaborative 
projects -- the list goes on and on. LyX 1.0 includes many standard formats 
and templates such as for letters, articles, books, overheads, even 
Hollywood scripts. Work continues on a growing library of "plug-in" formats 
and templates, in the best open-source tradition.
<P>
LyX runs on standard Unix platforms, including Linux, FreeBSD, NetBSD, 
Solaris, IRIX, HP-UX, AIX, ... even OS/2 and Cygnus/Win32 (somewhat 
experimentally), and provides native support for PostScript(tm) fonts 
and figures. 
<P> 
The main LyX site is
      <A HREF="ftp://ftp.lyx.org/pub/lyx/">ftp://ftp.lyx.org/pub/lyx/</A> 
<P>
For more information:<BR> 
LyX Home Page: <A HREF="http://www.lyx.org/">http://www.lyx.org/</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Raima's Velocis 2.1 Now Available on Linux
</font>
</H3>
<P>
Date: Tue, 9 Feb 1999 14:33:59 -0800 <BR> 
Raima Corporation has just released Velocis Database Server version 2.1
for the Linux platform. Velocis is an embedded client/server database
engine which now provides robust new interfaces for several popular
development environments. These include an interface to Rogue Wave
Software's DBTools.h++, a JDBC driver, Delphi Data Aware Components and
support for the Perl DBI standard. Velocis 2.1 extends its SQL support
with scrollable cursors and customized comparison functions and
introduces a powerful new database utility, dbrepair. 
<P>
Please see the following announcement to learn more about Velocis 2.1.
<P>
A free trial download is available
from <A HREF="http://www.raima.com/download/product_list.cfm">
http://www.raima.com/download/product_list.cfm</A> 
<P>
Raima Corporation, <A HREF="http://www.raima.com/">http://www.raima.com</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
SFS Software SITEFORUM Database Exchange
</font>
</H3>
<P>
Schmalkalden  Germany. February 8, 1999 <BR> 
SITEFORUM Database Exchange is a "100% pure Java" solution, which is
capable to  import and 
export your existing  data, stored in any  JDBC/ODBC-compatible  database
into another JDBC-/ODBC-
compatible database. (i.e. Sybase to Oracle). The software allows you to
create, delete  and modify tables and columns . In addition to that you are
able to modify the content, field types and attributes. The integrated SQL
interface enables you to make queries to the database using SQL commands  The
results will be displayed in a fine-designed grid component. SITEFORUM
Database Exchange lets you import and export databases from any location on the
internet, the built-in proxy support enables you to work even behind a proxy
or firewall. The new product of SFS SOFTWARE offers an attractive, intuitive
and easy-to-use interface. 
SITEFORUM Database Exchange runs on about 30 java-supporting operating
systems like Linux.
<P>
Availability and Pricing:<BR> 
A fully-functional evaluation version SITEFORUM Database Exchange can be
downloaded from the SFS SOFTWARE web site at <A
HREF="http://www.sfs-software.com/">http://www.sfs-software.com/</A>. 
The product is can be ordered using our secure online shop at
http://www.sfs-software.com/shop/.
<P>
SITEFORUM Database Exchange - Single User License - US$ 495.00 <BR> 
SITEFORUM Database Exchange - 5 User License  - US$ 1,990.00 
<P>
For more information:<BR> 
SFS Software, <A
HREF="http://www.sfs-software.com/">http://www.sfs-software.com/</A>,
<A HREF="mailto:info@sfs-software.com">info@sfs-software.com</A> <BR> 
Proactive International,
<A
HREF="http://www.proactive-intl.com/">http://www.proactive-intl.com/</A>,
<A HREF="mailto:info@proactive-intl.com">info@proactive-intl.com</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Linuxcare Supports Business 24x7
</font>
</H3>
<P>
Date: 22 Feb 99 18:15:11 -0800<BR> 
<P>
SAN FRANCISCO, February 22, 1999=97Linuxcare, Inc. (www.
linuxcare.com), the first company to offer a complete solution for Linux
technical support, consulting, education, and product certification to
Fortune 1000 companies, announced today the launch of 24x7 enterprise-
class support programs, including a state-of-the-art call center and
business-oriented service level agreements.
<P>
Linuxcare's state-of-the-art call center will feature advanced computer-
telephony integration (CTI), so that all requests are received centrally
and tracked, thus delivering speedier and more accurate customer
responses.  In addition, all Linuxcare technical support engineers can
instantly access and update the largest shared database of worldwide
Linux resources and expertise.  The database includes all open and
solved customer issues, all Linux documentation, articles, mailing
lists and news group archives, Howtos, FAQs and more.  
<P>
 Linuxcare supports all major distributions of Linux on all major
platforms, allowing its customers the flexibility to choose options
that best fit their needs.
<P>
For more information:<BR> 
Linuxcare, Inc., <A
HREF="http://www.linuxcare.com/">http://www.linuxcare.com/</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
NetReality reads, understands, organizes, and 
	presents the Web in virtual reality
</font>
</H3>
<P>
EDMONTON, ALBERTA--February 23, 1999-- Bittco Solutions today
released the first downloadable exemplar of its powerful neural-net
foundation technology. NetReality  reads, understands, organizes, and
presents Web content in VR. NetReality harnesses the vast amounts of
information available on the World Wide Web. Unlike current technologies,
which seem to increase the problem of information overload, NetReality
 automatically acquires, reads and organizes information, presenting
web sites, documents, searches and bookmark files in an intuitive,
personalized VR landscape. This unique and powerful form of presentation
enables users to quickly locate, correlate, and apply information on
the Web to tasks at hand.
<P>
UNIQUE BUSINESS PROPOSITION - Bittco licenses its neuralVR
technology to third parties for inclusion in products like web
servers, browsers, search engines, document management solutions,
news readers, and email. We have blown away all the traditional
barriers to acquiring our technology, emphasizes Managing Partner,
Terry Harrison, Our business approach supports low-cost/low risk
acquisition vs. development. Interested software producers can embed
this technology on a sizzling time-to-market schedule by licensing the
Bittco advanced engineering, core and customization.
<P>
PRE-RELEASE VERSIONS of NetReality (TM) for all common operating
systems will be available for download from Bittco's Web site at
<A HREF="http://www.bittco.com/">http://www.bittco.com/</A> in the next few weeks beginning today with a
version for all Linux users.
<P>
For more information:<BR> 
Bittco Solutions Ltd.,
     Dean Bittner,
     <A HREF="mailto:dean@bittco.com">dean@bittco.com</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Linuxcare and DELL Systems 
</font>
</H3>
<P>
SAN FRANCISCO, February 26, 1999-Linuxcare, Inc - the first company to
provide a complete solution for Linux technical support to Fortune 1000
companies - announced today that it will provide comprehensive global
support for selected Dell Precision(tm) WorkStations, PowerEdge=AE
servers  and OptiPlex business desktop PCs running any variant of the
Linux operating system.
<P> 
Dell will include a free Linuxcare Silver Support Incident Coupon with
every PowerEdge server that ships with Linux, starting March 1, 1999. Each
coupon can be redeemed for Web or email-based technical support from
Linuxcare. The Linuxcare Silver Service Level provides for resolution to,
or a report on the customer's problem, within one business day. Linuxcare
defines a technical support incident as a single identified customer issue
or problem.
<P>
Linuxcare, Inc., <A
HREF="http://www.linuxcare.com/">http://www.linuxcare.com/</A><BR> 
Dell Computer Corporation,
<A HREF="http://www.dell.com/">http://www.dell.com/</A> 

<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
<font color="green">
Spectra Logic
</font>
</H3>
<P>
SAN JOSE, Calif., Mar. 1, 1999 - Spectra Logic Corp. today announced that
the company's Alexandria Backup and Archival Librarian(tm) software is the
first major backup software to support "hot" backup of Oracle8 and Oracle
Applications on the Linux operating system (OS). Alexandria 4.50 provides
Linux users with extensive backup and recovery tools that until now have
only been available in large corporate data centers.
<P> 
Alexandria 4.50 supports backup of Oracle databases without taking the
database offline via its Comprehensive Online Backup and Restore Agent
(COBRA), the industry's fastest and most reliable Oracle backup/restore
engine.  In Oracle production environments, COBRA automatically discovers
Oracle databases, including new tablespaces and datafiles, and puts the
tablespaces into backup mode.  Once the tablespaces are in backup mode and
the datafiles are backed up, the tablespaces are taken out of backup mode.
<P> 
Availability<BR> 
Alexandria 4.50 with support for Oracle on Linux is available today for Red
Hat Linux, Version 5.2.  Additional Oracle on Linux support is planned for
Caldera, SuSE and Turbo Linux OSes.  A single-user version of Alexandria is
available free for 45 days and can be downloaded from
<A HREF="http://www.spectralogic.com">http://www.spectralogic.com/</A>.  At the end of
the 45-day trial period, the hot Oracle backup module can be purchased
directly from Spectra Logic.  
<P> 
For more information:<BR> 
Spectra Logic, <A HREF="mailto:alexandria@spectralogic.com">
alexandria@spectralogic.com</A> 


<P> <hr> <P> 
<!--================================================================-->
<center>Published in <i>Linux Gazette</i> Issue 38, March 1999</center>
<P> <HR> <P>
<!-- =================================================================== -->
<A HREF="./lg_toc38.html"><IMG SRC="../gx/indexnew.gif" ALT="[ TABLE OF 
CONTENTS ]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif" ALT="[ FRONT 
PAGE ]"></A> 
<A HREF="./lg_mail38.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<A HREF="./lg_answer38.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>

<P><HR><P>
<h5>This page written and maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com">gazette@ssc.com</A><BR> 
Copyright &copy; 1999 Specialized Systems Consultants, Inc. </H5> 
<P> 
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H4>"The Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
	<img src="./../gx/dennis/qbubble.gif" alt="(?)" 
		border="0" align="middle">
	<font color="#B03060">The Answer Guy</font>
	<img src="./../gx/dennis/bbubble.gif" alt="(!)" 
		border="0" align="middle">
</A></H1> 
<BR>
<H4>By James T. Dennis,
	<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a><BR>
	Starshine Technical Services,
	<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> 
</H4>
</center>

<p><hr><p>
<H3>Contents:</H3>
<p><a href="#tag/greeting"
	><img src="./../gx/dennis/bbub.gif" alt="(!)" border="0" 
	align="middle"><strong>Greetings From Jim Dennis</strong></A></p>

<DL>
<!-- index_text begins -->
<dt><A HREF="#tag/1"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>hmm. --or--
<dd><A HREF="#tag/1"
	><strong>
FTP Only Access:  Trickier than it Seems
</strong></a>

<dt><A HREF="#tag/2"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Why can I only login as root? --or--
<dd><A HREF="#tag/2"
	><strong>
Another  "No Login" Problem
</strong></a>

<dt><A HREF="#tag/3"
	><img src="./../gx/dennis/bbub.gif" height="28" width="50"
	  alt="(!)" border="0"
	><strong>
A Reader Answers: What is the TCP/IP SACK feature?
</strong></a>

<dt><A HREF="#tag/4"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>
Unable to Open Console: After "Custom" Install
</strong></a>

<dt><A HREF="#tag/5"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>
&quot;Integrating&quot; Linux/sendmail with MS Exchange
</strong></a>

<dt><A HREF="#tag/6"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Win 95 computer/NT server environment --or--
<dd><A HREF="#tag/6"
	><strong>
Shell Scripting: Getting Host and User Names
</strong></a>

<dt><A HREF="#tag/7"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Bad Sectors in my HDD --or--
<dd><A HREF="#tag/7"
	><strong>
More on: Bad Sectors
</strong></a>

<dt><A HREF="#tag/8"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Please upgrade your Internet Explorer --or--
<dd><A HREF="#tag/8"
	><strong>
The Presumption!
</strong></a>

<dt><A HREF="#tag/9"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>linux --or--
<dd><A HREF="#tag/9"
	><strong>
Mysterious Message:  Subject: Linux
</strong></a>

<dt><A HREF="#tag/10"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Diamond Multimedia Modems --or--
<dd><A HREF="#tag/10"
	><strong>
Reader Comments:  Diamond WinModems:
</strong></a>

<dt><A HREF="#tag/11"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>About a OPL-3 ( Yamaha driver for sound) (sorry for bad english...) --or--
<dd><A HREF="#tag/11"
	><strong>
OPL-3 Sound Drivers
</strong></a>

<dt><A HREF="#tag/12"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>Question from an old friend.</strong></a>

<dt><A HREF="#tag/14"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>[Q]: Winmodem under Linux</strong></a>

<dt><A HREF="#tag/16"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>how to fix a bad cluster on hd --or--
<dd><A HREF="#tag/16"
	><strong>
More Bad Clusters
</strong></a>

<dt><A HREF="#tag/17"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>proxy & router combination --or--
<dd><A HREF="#tag/17"
	><strong>
Proxying over PPP
</strong></a>

<dt><A HREF="#tag/18"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>help with partitions --or--
<dd><A HREF="#tag/18"
	><strong>
Installing on a Big Drive: More on the 1023 Cylinder Limit
</strong></a>

<dt><A HREF="#tag/19"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Linux 5.2 Loadlin.exe, where do I get it? --or--
<dd><A HREF="#tag/19"
	><strong>
Finding LOADLIN.EXE ... and Linux Loader for Win '9x
</strong></a>

<dt><A HREF="#tag/21"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>help with partitions --or--
<dd><A HREF="#tag/21"
	><strong>
Partitioning Mini-HOWTO
</strong></a>

<dt><A HREF="#tag/22"
	><img src="./../gx/dennis/bbub.gif" height="28" width="50"
	  alt="(!)" border="0"
	><strong>True modems</strong></a>

<dt><A HREF="#tag/23"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Is it possible to run Debian on 4 MB? --or--
<dd><A HREF="#tag/23"
	><strong>
Low Memory Installation
</strong></a>

<dt><A HREF="#tag/24"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>win95->wingate ; linux->? --or--
<dd><A HREF="#tag/24"
	><strong>
Drop-in Replacement for "WinGate"
</strong></a>

<dt><A HREF="#tag/26"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>Jim Dennis: Re: Gimp on RH5.1</strong></a>


<dt><A HREF="#tag/28"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>xntpd --or--
<dd><A HREF="#tag/28"
	><strong>
How 'ntpdate' finds IP addresses?
</strong></a>

<dt><A HREF="#tag/29"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>Sportys</strong></a><dt><A HREF="#tag/30"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>souncards</strong></a><dt><A HREF="#tag/31"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	></a>Great Job !!! --or--
<dd><A HREF="#tag/31"
	><strong>
Linux as a Loghost (Syslog Server)
</strong></a>

<dt><A HREF="#tag/32"
	><img src="./../gx/dennis/qbub.gif" height="28" width="50"
	  alt="(?)" border="0"
	><strong>Telnetd and pausing</strong></a><!-- index_text ends -->
</DL>
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/greeting"><HR WIDTH="75%" ALIGN="center"></A>
<H3 align="left"><img src="./../gx/dennis/bbubble.gif" 
	height="50" width="60" alt="(!) " border="0"
	>Greetings from Jim Dennis</H3>
<!-- begin greeting -->
<p>
	I have some exciting news.

</p><p>
	I'm now working for Linuxcare  (<a href="http://www.linuxcare.com"
	>http://www.linuxcare.com</a>) --- the Linux support company.

</p><p>
	What does this mean for Linux Gazette readers of &quot;The 
	Answer Guy?&quot;  I think it means some very good things.

</p><p>
	Of course you might be concerned.  Does this mean that
	I'll be more "corporate?"  Will Linuxcare come to 
	own &quot;The Answer Guy&quot; column?  Will I answer all the 
	good questions with:  "Hey, pay for that answer from 
	..."

</p><p>
	I don't think so!  I've been running a quiet little 
	sole proprietorship consulting service for the entire 
	time that I've been writing for LG.  My consulting 
	service specialized in support and training of Linux
	sysadmins.  I've generally avoided "selling" my services
	through this column --- and I won't start now.

</p><p>
	Linuxcare has no intention of exerting any editorial
	control over, and has no connection to the Linux Gazette
	&quot;Answer Guy.&quot;  I might put in a disclaimer to that effect
	in future issues.  
	
</p><p>
	However, the "good things" in this are:

</p><blockquote>
		I can focus on technical issues rather than 
		worrying about billing and sales of my consulting
		services.  (Avoiding those is what kept 
		Starshine Technical Services "small" and "quiet").

</blockquote><blockquote>
		Fellow techs at Linuxcare and the systems lab that
		we'll be setting up will allow me to learn all the
		latest and coolest stuff.  My home network is 
		pretty big, for a *home* network (four servers
		five desktop systems, and four laptops --- all on
		two or three ethernet segments (depending one
		what I'm doing at any given time).  However, 
		Linuxcare will be able to do *much* more.
	
</blockquote><blockquote>
		In the past I've "shooed off" some classes of
		questions --- particularly regarding X Windows
		configuration and similar items.  I'm a self-admitted
		"curses curmudgeon" and prefer to stay out of X when
		I can.  Surrounded by younger techs, many of whom are
		more enamored of the modern GUIs --- I'll soak up 
		quite a bit of knowlege on these topics by osmosis.

</blockquote><p>
	For those times when I'm actually on the phones --- I'll
	probably get quite a lot of LG done.  I spent years in 
	technical support at places like Quarterdeck and Symantec's
	Peter Norton Group.  I can do phone support while reading 
	netnews, and writing e-mail.

</p><p>
	So, for my loyal fans (I know there are a few of you --
	I met one on the Caltrain the other day; "Hi, John"), 
	Don't worry.  Be happy.  Another Linux hobbyist can do what
	he loves and support himself doing it.

</p><p>
	(BTW:  Linuxcare is hiring.  If you are in the SF Bay Area
	and have a couple years of extensive and technical Linux
	expertise --- check out their web site).

</p><p>
	What does this mean for my other projects?

</p><p>
	I'll be giving my tutorial on "Linux Security for 
	System Administrators" at LinuxWorld Expo by the time you
	read this (9:00am Monday, March 1st).  If that is successful
	I may be giving similar (and updated) talks at future Linux
	events.  (LinuxWorld has already inquired about my availability
	for their next show).  For any of you that are going to 
	LinuxWorld Expo in San Jose, CA --- drop by Linuxcare's
	booth and meet me.

</p><p>
	I'm still working on my book (&quot;Linux Systems Administration&quot; 
	--- though the work is going a bit slower than I, my publishers 
	and my co-author would like.  The goods news there is that my
	co-author, M, is really taking charge of the scheduling
	and development of the manuscript.  Also the couple of hours
	a day that I spend on the train with my laptop (from Campbell 
	up into SF city and back) will help keep me focused on this
	and stop me from drifting e-mail, netnews, and slashdot as
	I'm wont to do from home.

</p><p>
	I'm still teaching one class (weekly on Saturdays)
	at Mission College (Unix Shell Programming).  I hope to
	continue doing that for the foreseeable future as well.
	My students were worried for the first couple of classes
	(as I was adjusting the level of discussion to their 
	background).  However, they seem to be catching on at this
	point and we have several more weeks to show them all the
	really cool things you can do with a Unix/Linux shell.
	(Yes, we've told them all about getting copies of Linux and/or
	FreeBSD to play with at home and at their offices.  The 
	school lab current runs on Sun Solaris systems --- though
	Linux is being installed in some of the college's new labs.
	
</p><p>
	I'm really surprised at how busy I've gotten this year.  I 
	was supposed to just work on the book and let Heather support
	me (mostly).  (Incidentally, Heather has resigned from her
	full-time position and may be interested in quality, Bay Area
	offers in the near future).

</p><p>
	So, enough of all this "chaos manor" stuff.  Let's go
	on to this month's selection of technical questions...
</p>

<!-- end greeting -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/1"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>FTP Only Access:  Trickier than it Seems</H3>


<p><strong>From chris  on Fri, 29 Jan 1999  
</strong></p>
<!-- ::
FTP Only Access:  Trickier than it Seems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
i was recently reading your article in the december issue of
linuxgazzette regarding setting up users for FTP access only.
<em>[titled "<a href="../issue35/tag/ftproot.html"
	>FTP Login as 'root' --- Don't!</a> -- Heather]</em>
i ran into this problem about a month ago and putting a <tt>*</tt> in front
of the password entry in the <TT>/etc/passwd</TT> file fixed the problem.
no telnet/login access, but ftp access.  is there something i dont
know that prevents this from being a simple solution?
</STRONG></P>
<P><STRONG>
chris.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
"Starring out" the password field (the one between
the second and third colons on that users line in
<TT>/etc/passwd</TT>) should also prevent FTP access (unless
your FTP daemon uses some other form of account
management and authentication).
</BLOCKQUOTE>
<BLOCKQUOTE>
Locking out the "shell" field (the last one) by
setting it to <TT>/bin/false</TT> (if <TT>/bin/false</TT> is actually
a compiled binary --- NOT the traditional shell script)
or to a simple compiled program that does a '<TT>printf()</TT>' or
'<TT>write()</TT>' and an '<TT>exit()</TT>') will prevent telnet access.
However it might not prevent '<tt>rsh</tt>' and it certainly
won't limit the user "just" to FTP.
</BLOCKQUOTE>
<BLOCKQUOTE>
The clever user can post all sorts of <tt>.forward</tt>, <tt>.procmail</tt>
and other files to his or her home directory (using
FTP) and these "magic" files can be used to run arbitrary
commands (generally under that user's ID) on behalf of
the user.  Thus I could post a <tt>.forward</tt> file that
"forwarded" my mail through a program (using the piping
feature that most installations of '<tt>sendmail</tt>' are
configured to support).  My program can issue
commands like '<tt>chsh</tt>' (to change my shell to something
that I can use).
</BLOCKQUOTE>
<BLOCKQUOTE>
There are many "magic" files.  I can use FTP to create
a <tt>.ssh</tt> directory and put in the <tt>.ssh/authorized_keys</tt>
which will then let me '<tt>ssh</tt>' into the system (if you're
running an ssh daemon).  Not only are there many of these
--- but more of them are added as we create new
protocols and services.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, you really need to do more than just set their
shell to '<TT>/usr/local/bin/noshell</TT>' or '<tt>goaway</tt>' 
or '<TT>/bin/sync</TT>' That's why I suggest using a replacement 
to the standard old BSD FTP daemon.  Go read the article again for that.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 1 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/2"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 2 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Another  "No Login" Problem</H3>


<p><strong>From Spiros Alexiou on Fri, 29 Jan 1999  
</strong></p>
<P><STRONG>
Thanks for your help.
I am attaching a small file with more info.
</STRONG></P>
<P><STRONG>
It looks to me like the root of the problem is that the RH graphical
tool does NOT encrypt the  user account passwords, though root
for example is encrypted. So either I missed something in the RH
documentation, it is missing, or there is a bug, if what I think is
right(please let me know).
</STRONG></P>
<P><STRONG>
If that is the case, I need to either run some additional tool that
will encrypt the passwords or else remove the users and create the
accounts by adduser
</STRONG></P>
<P><STRONG>
Please let me know if this sheds some light
<br>Spiros Alexiou
</STRONG></P>
<P><STRONG>
P.S. do you have IP for ssc.com? My other mailer does not know that
address
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
It would be very unwise to attempt to mail your message
to an IP address.  Internet mail processing using
a different sort of DNS resource record than other
TCP/IP protocols --- is uses MX records.  If your mailer
can properly pass the mail to a "smarthost" and can't
properly handle the requisite MX resolution then you
just shouldn't use it (or you should get it "fixed").
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
<!-- ::<BlockQuote>
Another <A HREF="http://www.redhat.com/">Red Hat</A> "No Login" Problem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</BlockQuote>:: -->
<FONT COLOR="#000099"><EM>
<BR>&gt;I have RH 5.0 (2.0.32). Using their graphic tool, I created two
<BR>&gt;<TT>/home</TT> accounts, me and guest, assigned UID and GID's and set
<BR>&gt;passwords. The problem is, I can only log in as root. I looked for
<BR>&gt;.nologin files, there seem to be none. I am attaching my
<BR>&gt;<TT>/etc/fstab</TT> files. Thus, at the linux prompt If I try to login as
<BR>&gt;any of these two users,
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
<BR>&gt;I am denied entry(back to the prompt). This is not an issue of
<BR>&gt;case sensitive.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
<BR>&gt;Any ideas of what I am doing wrong?
<BR>&gt;Sincerely, S.Alexiou
</EM></FONT></STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
I have NO idea.  I've gotten a rash of different reports of
this sort.  All involve Red Hat usually right after new
installations --- no login from console, no login over
telnet, no login as root, no login as anyone other than
root.
</EM></FONT></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Nice to know I'm not alone...
</STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Unfortunately all of these cases, so far, are being reported
to me incompletely.  Only sparse details ahve been provided
(as above). I've mailed off troubleshooting suggestions and
recieved no followup to explain them.
</EM></FONT></blockquote>
<blockquote><FONT COLOR="#000066"><EM>
So, I don't get it.
</EM></FONT></blockquote>
<blockquote><FONT COLOR="#000066"><EM>
You said you used their graphical tool to create two
new accounts.  One was named "guest" and the other
was some sort of user name for yourself.  
</EM></FONT></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Yes, since I use  the PC as a workstation and do not care about having
other users, using it as a web server etc, the second account was the
shortest possible account  I could think of, "me"
</STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
You also said you set the passwords for these two accounts.
</EM></FONT></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Yes, I did (see below)
</STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Let's try this:  edit your passwd file.  I personally
prefer to use vipw for that --- but Red Hat 5.0 had a
broken '<tt>vipw</tt>' command (immediate segfault) and my fresh
installation of 5.2 also has a broken 'vipw' command
(needed to add a symlink from <TT>/bin/vi</TT> to <TT>/usr/bin/vi</TT>
--- GRRR!).  So, just use your favorite editor and
keep a rescue floppy handy in case you reboot the system
with a corrupt <TT>/etc/passwd</TT> file.
</EM></FONT></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Wait, do I need a rescue disk?  My hard disk are IDE, not SCSI and I
am supposed to only need to RH boot diskette. right?  If   I do need a
resue disk,  can I  create it  without reinstalling?  At any rate, I try
to be very careful when I edit root stuff, but it's better to be safe..
</STRONG></P>
<P><STRONG>
Here is my <TT>/etc/passwd</TT> file
</STRONG></P>

<pre><strong>&gt; root:hASh-OMitTed:0:0:root:/root:/bin/bash
&gt; bin:*:1:1:bin:/bin:
&gt; daemon:*:2:2:daemon:/sbin:
&gt; postgres:!!:100:101:PostreSQL Server:/var/lib/pgsql:/bin/bash
&gt; me:notencrypted:500:500:Red Hat Linux User,,,,:/home/me:/bin/bash
&gt; guest:sanitized:501:501:Red Hat Linux User,,,,:/home/guest:/bin/bash
</strong></pre>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Incredible.  It's amazing to think that this
tool is that bad!
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
You will notice that the root password is encrypted , while the me
and guest passwords are not. Actually the root and  me have the same
password But I do not  recall any warnings about that in the RH graphic
user creation. BTW, for the record, I   did at one point  reinstall
and created the same guest and me accounts I had created originally,
but I was unable to login as anything but root even with the original
installation Also, for the record, I do have some problems with my
XF86Config, but unless you believe this  to be important( should not,
as the graphic tool showed no problems), I may bother you  another time

<IMG SRC="../gx/dennis/smily.gif" ALT=":)" 
		height="24" width="20" align="middle"> Finally the UID and GID were assigned by  the graphic tool, I  just
acepted what was there.  Let me also add, that when I looked at  the
corresponding <TT>/etc/passwd</TT> file in a large AIX machine
(I was just a user,
not administrator) all I could see of course were ! for password field,
but other than that  the password file looks ok to me.
</STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Try setting the account
passwords to something simple like just "<tt>x</tt>" --- and
use the <TT>/bin/passwd</TT> command, not any sort of curses
or GUI front end.  Consider removing '<tt>linuxconf</tt>'
(for troubleshooting).
</EM></FONT></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Haven't done ths yet. I am not sure what troubleshooting I would
do to remove linuxconf.
</STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
If you're using shadow passwords try running <tt>pwunconv</tt>
and if you're not, try running <tt>pwconv</tt> (to convert
your passwd file to or from shadow format).
</EM></FONT></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Will try that. Just  please let me know, if you also  think that
the problem is that  the guest and me passwords are not encrypted.
</STRONG></P>
<P><STRONG>
Please, let me know if you figure out what's doing it.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Umm!  I don't know what sort of GUI user admin tool
this is --- but don't use it to set initial passwords!
Just go to a root shell prompt and issue the command:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
passwd me
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... and set the initial password for that account
using the traditional old terminal command for the
purpose.  Then do the same for your personal account.
Then report the bug to whoever maintains the tool you
were using.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 2 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/3"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 3 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif" 
	height="50" width="60" alt="(!) " border="0"
	>A Reader Answers: What is the TCP/IP SACK feature?</H3>


<p><strong>From Tom Kludy  on Thu, 04 Feb 1999  
</strong></p>
<!-- ::
A Reader Answers: What is the TCP/IP SACK feature?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
What is the TCP/IP SACK feature? What does it do?
</EM></FONT></STRONG></P>
<blockquote><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
SACK = Selective ACKnowledgement.  It is an extension to TCP/IP
which allows you to acknowledge reception of specific packets.
(read on)
</STRONG></blockquote>
<P><STRONG><FONT COLOR="#000066"><EM><IMG
	SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Why do we need/want it?
</EM></FONT></STRONG></P>
<blockquote><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
When sending a group of packets across a network, you need the
receiver to acknowledge those packets that are received.  TCP
without SACK simply acknowledges the last packet that was
received.  (Actually, the ACK has the number of the next packet
requested, but that's neither here nor there).  However, with TCP
there are usually several packets in transit between the source
and destination at any one time.  That means that the source will
not recognize that the destination has dropped a packet until it
sees the same ACK several times (4, I think) or until a timeout
has passed.  It then resends the packet that has been dropped.
</STRONG></blockquote>
<blockquote><STRONG>
Let's say that there is are 10 packets in route between the source
and destination.  Along the line, packets 1,2,3, and 4 are
received, and ACKed.  Packet 5 is dropped, but all other packets
are delivered successfully (6,7,8,etc).  The receiver will ACK 5
upon receiving 4, 6, 7, 8, etc.  But since there are 10 packets in
transit between source and destination, the receiver won't see the
repeating ACKs until it has sent all packets up to about packet 25
(since, at the same time the receiver should be receiving packet
5, the sender is sending packet 15 (5+10), plus the 10 packet
delay until the sender gets the ACK).
</STRONG></blockquote>
<blockquote><STRONG>
At this point, the sender finally knows that packet 5 has been
dropped, and resends it.  But it doesn't know that the receiver
has successfully received packets 6 through 25.  So, it must wait
until the receiver gets the new packet 5, and returns "ACK 26",
before it knows where to restart.  It will take 20
packet-transmission times to get this ACK (or, one whole
round-trip-time).  As you can guess, this slows things down
considerably.  SACK allows the receiver to say "I've missed packet
5, but I've received packets 6-25".  This allows a much quicker
transmission restart, since the source knows within a 1/2
round-trip-time where to resume transmission (instead of a whole
round-trip-time).
</STRONG></blockquote>
<P><STRONG><FONT COLOR="#000066"><EM><IMG
	SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
It the Linux implementation any better or worse than others? (Or
is it some feature where you pretty much either have it or you
don't and there is no "better" or "worse")?
</EM></FONT></STRONG></P>
<blockquote><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
I think it falls under "there is no better or worse", except that
if the underlying TCP implementation is more efficient, then SACK
might help even more..
</STRONG></blockquote>
<blockquote><STRONG>
Hope I have answered the answer guy 
<IMG SRC="../gx/dennis/smily.gif" ALT=":)" 
		height="24" width="20" align="middle"> 
Please note that this is
all from memory, as I haven't dealt with this in quite a while.
</STRONG></blockquote>
<blockquote><STRONG>
-Tom Kludy
</STRONG></blockquote>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Yes.  Your answer was perfect.  I'm forwarding
it to my editors as is.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 3 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/4"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 4 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Unable to Open Console: After "Custom" Install</H3>


<p><strong>From Bob Miller  on Thu, 04 Feb 1999  
</strong></p>
<!-- ::
More on: Unable to Open Console: After "Custom" Install
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
This sounds more like the kernel is being told to use the wrong
partition for root than a package problem.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
That would be in the category of &quot;There's no <TT>/dev/</TT>
directory with the proper <tt>tty*</tt> nodes available.&quot;
</BLOCKQUOTE>
<BLOCKQUOTE>
Either of these would cause the problem.  As I recall
I recommended booting from floppy, checking the
filesystem that he was trying to mount as root.  If
that is inconsistent with his kernel's '<tt>rdev</tt>' or his
<TT>/etc/lilo.conf</TT> parameters --- it would explain the problem
</BLOCKQUOTE>
<BLOCKQUOTE>
Another, more convoluted possibility is that he has
a problem with his '<tt>initrd</tt>' image (if he's using
an initial RAMDisk to store and load some of his
critical device drivers).
</BLOCKQUOTE>
<BLOCKQUOTE>
Hopefully he's worked it out.  I realize my response
might not have been all that clear.  Sometimes I have
to beat it back and forth with a correspondent a couple
of times before I "get it" --- sometimes that has more to
do with sleep deprivation than with technical background or
communications failures.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 4 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/5"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 5 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>&quot;Integrating&quot; Linux/sendmail with MS Exchange</H3>


<p><strong>From Kevin Harrison  on Fri, 05 Feb 1999  
</strong></p>
<!-- ::
&quot;Integrating&quot; Linux/sendmail with MS Exchange
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
jim;
</STRONG></P>
<P><STRONG>
Kia Ora from Auckland , New Zealand
</STRONG></P>
<P><STRONG>
I have inherited a box with Linux installed on it and we wish to integrate
the linux email (using <tt>sendmail</tt>) with the dreaded 
ms-exchange which runs
on NT....the main reason is so that LAN clients can receive email
notifications from jobs that will run on the linux box.
</STRONG></P>
<P><STRONG>
Are there any quick guides out there on this procedure..
<br>thanks mate
<br>Kevin Harrison, Downunder
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
There should be no special work in this regard.
</BLOCKQUOTE>
<BLOCKQUOTE>
Let's assume that your domain was "<tt>downunder.nz</tt>"
and that you MS Exchange server is configured as
the primary "<tt>MX</tt>" host for that domain (meaning that
all outside mail to "foo@downunder.nz" gets directed
to it).  Let's say your Linux system is named <tt>penguin</tt>.
So you can create an <tt>MX</tt> record for <tt>penguin.downunder.nz</tt>
and mail to foo@penguin.downunder.nz will go to the
Linux system rather than the MS Exchange server (which
we'll call "<tt>msnail</tt>" --- &lt;g&gt;for "MS Nt mAIL"&lt;/g&gt
<IMG SRC="../gx/dennis/smily.gif" ALT=";)" 
		height="24" width="20" align="middle">.
</BLOCKQUOTE>
<BLOCKQUOTE>
Now mail coming <EM>from</EM> penguin, to <A HREF="mailto:foo@downunder.nz"
	>foo@downunder.nz</A> will
go automatically to <tt>msnail.downunder.nz</tt> where MS Exchange
will mangle it.
</BLOCKQUOTE>
<BLOCKQUOTE>
A better approach is to point your primary <tt>MX</tt> record to
<tt>penguin</tt>.  Penguin can then have a large aliases file for all
of the users and accounts that exist in your domain ---
directing the mail to the more specific hosts on which those
users get their mail.  Thus all the MS Outlook and MS Mail
users could get their mail from <tt>msnail</tt>, while your Linux
users can get theirs directly from <tt>penguin</tt> (either via
POP/IMAP or by logging in to their shell account and reading
mail with '<tt>elm</tt>', '<tt>pine</tt>', '<tt>mutt</tt>', 
or any mailer they like.
You heavy volume mail users who are using MS Outlook can
still get their mail directly from <tt>penguin</tt> (via POP).
</BLOCKQUOTE>
<BLOCKQUOTE>
The main advantages to this approach:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
Your Linux system probably has a much higher
stability and capacity than NT on comparable
hardware.  So your high volume mail users
won't be bringing down the system for everyone
else.  (It's very hard to flood a modern Linux
system with just e-mail).
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
You have simple remote configuration and management
of your mail routing (telnet in and edit your
<TT>/etc/aliases</TT> file, then run '<tt>newaliases</tt>').
</BLOCKQUOTE>
<BLOCKQUOTE>
You can easily create "magic accounts" like
"info@downunder.nz" which feed into autoresponder
scripts (presumably in the simple procmail
scripting language).
</BLOCKQUOTE>
<BLOCKQUOTE>
You have no licensing constraints, costs or
restrictions.   If you want to add a hundred
new e-mail users, or a thousand --- you just
create the accounts on penguin and have your
account holders point their favorite mail readers
(Netscape Communicator, Pegasus, Eudora, even
MS Outlook) at it.
</BLOCKQUOTE>
<BLOCKQUOTE>
You have relatively easy and <EM>free</EM> access to
a number of evolving anti-spam systems (such as
the RBL (real-time blackhole list).  I haven't
heard of any patches or modules for MS Exchange
to enable RBL support --- and I suspect that
MS would only provide such services on a fee-driven
subscription basis (rather than as a community
service, like Paul Vixie is doing with the RBL).
</BLOCKQUOTE>
<BLOCKQUOTE>
The difference between these two approaches:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
In the first case we set up a different <tt>MX</tt> record
for <tt>penguin</tt>.  Anyone who needed to send mail <EM>to</EM> an
account on that system needed to use the full name:
	foo@penguin.downunder.nz.  Mail to 
	foo@downunder.nz
would go to the <tt>msnail</tt> host.  You might have some
options for autoforwarding from the MS box --- but
you'd have to talk to your MS wizards on how to do
it.  It probably involves filling in some GUI dialog
somewhere (requiring you to work at its console) and
its probably subject to MS pricing and licensing ---
i.e. you're paying extra for each account.
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
In the second case we reverse that:  Mail defaults
to landing on <tt>penguin</tt>.  The further routing from
there is trivial (since <tt>sendmail</tt>, <tt>aliases</tt> and
<tt>.forward</tt> files have been used by the majority of
the Internet for over 20 years).
</BLOCKQUOTE>
<BLOCKQUOTE>
In summary:  MS Exchange can recieve SMTP (Internet mail)
so there is no trick to "integrating" them with '<tt>sendmail</tt>'
'<tt>qmail</tt>' or other Internet MTAs (mail transport agents).
I've heard some people complain about MS Exchange's
behavior (generating mail with "ugly" <tt>WINMAIL.DAT</tt>
attachments that the rest of the net doesn't care for),
compliance (subtle ways that it doesn't conform to the
RFCs and implementation conventions of other systems ---
but these might be argued as a "failure to be bug
compatible" --- so those are moot), performance (more than
100 "normal" e-mail accounts, or 50 "heavy users" will
probably require considerable hardware under NT --- while
an old 386 or 486 can handle those loads under Linux), and
robustness (my household POP server has been up for over
a 125 days; I have no idea why I rebooted it 4 months ago
but I know it wasn't for any real problem --- maybe it was
when I was rewiring and cleaning out the server closet).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, what have you tried so far?  What sorts of problems
are you encountering?
</BLOCKQUOTE>
<!-- sig -->

<!-- end 5 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/6"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 6 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Shell Scripting: Getting Host and User Names</H3>


<p><strong>From Darby Gilbert  on Sat, 06 Feb 1999  
</strong></p>
<!-- ::
Shell Scripting: Getting Host and User Names
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
I am trying to write a batch file that will pick up the computer
name for the naming convention.  On NT 4.0 computers, it is no
problem.  Is there a way to write a batch file that will pick up
the computer name and/or user name from the computer so that it
will use it to name a file that is produced from the batch file?
I have been trying all sorts of different things and also
searching the web trying to find answers when I came accross your
page.  Any help would be greatly appreciated.  Thank you.
</STRONG></P>
<P><STRONG>
Darby Gilbert
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Under Linux these (simple interpreted text programs)
are called shell scripts (they are technically not
"batch files" though the concept is the same).
</BLOCKQUOTE>
<BLOCKQUOTE>
To get the current "computer name" use the '<tt>hostname</tt>'
command.  To assign that to a shell or environment
variable use a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
THISHOST=$(hostname)
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... for the short version (in foo.example.org this
command returns just "foo").  You can use:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
THISHOST=$(hostname -f)
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
or:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
THISHOST=$(hostname --long)
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... to get the "full" or "long" name (the host.domain
string).
</BLOCKQUOTE>
<BLOCKQUOTE>
To get information about the current user (the one
running the script) we use the 'id' command.  Now,
if we just use the command with no options it gives us
output like:
</BLOCKQUOTE>

<blockquote><pre>	uid=500(jimd) gid=100(users)
	groups=100(users),10(wheel),11(test),17(staff),
	60(web),40(game)
</pre></blockquote>
<BLOCKQUOTE>
(except that it's all on one line).  This is informative
for interactive use --- but far too ugly for elegant script
parsing.  So we use options to get just what we want:
</BLOCKQUOTE>
<pre><BLOCKQUOTE><BlockQuote>
USERNAME=$(id -un)
UID=$(id -u)
PRIMARYGROUP=$(id -gn)
PRIMARYGID=$(id -g)
GROUPLIST=$(id -Gn)
GIDLIST=$(id -G)
</BlockQuote></BLOCKQUOTE></pre>
<BLOCKQUOTE>
In other words '<TT>/usr/bin/id</TT>' takes options <tt>-u</tt> (user)
 <tt>-g</tt> (primary group), <tt>-G</tt> (list of groups) and <tt>-n</tt> 
(names, not numeric IDs).
</BLOCKQUOTE>
<BLOCKQUOTE>
So you could construct a crude e-mail address for your
user by using:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
MYEMAIL="`id -un`@`hostname -f`"
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... here I've used "backticks" (accent characters) which are
the more common form of the "command substitution operator."
Normally I use the <tt>$()</tt> form which is easier to read and
nestable.  I use it here only to demonstrate that they are
the same (under <tt>bash</tt> and recent Korn shells at any rate).
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's a simple shell script that takes your list of
groups and walks through them one at a time:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>#!/bin/bash
<BR>GLIST=$(<TT>/usr/bin/id</TT> -Gn)
<BR>set -- $GLIST
<BR>while [ "$1" ]; do
<br> echo $1
<br> shift
<br>done
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
In this case I use a special form of the '<tt>set</tt>' built-in
command: which resets my list of command line arguments
to the value specified.  I could do that with just:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
set $GLIST
</code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... which sets <tt>$1</tt> to the first string in <tt>$GLIST</tt> 
and <tt>$2</tt> to the next one, etc.  That would be pretty safe in this case
(since I've never seen anyone create a group name starting
with a dash).  However it is better shell scripting practice
to use the <tt>set</tt>'s <tt>--</tt> ("dash, dash") option which signifies
the end of all <EM>options</EM> to the '<tt>set</tt>' command forcing it to
consider the rest of the command line items to be
"arguments" (rather than options).
</BLOCKQUOTE>
<BLOCKQUOTE>
This is probably a bit confusing if you don't know about the
'<tt>set</tt>' command.  Under bash and Korn shell (at least) you can
use command like <tt>set -o noclobber</tt> (or <tt>set -C</tt>) to prevent the
overwriting of existing files with shell redirection
operators and <tt>set -o noglob</tt> (<tt>set -f</tt>) to disable filename
expansion (the conversion by the shell of <tt>*.txt</tt> into a list
of files that match that pattern).  There are many other
features supported by the typical Unix shell (Bourne family).
</BLOCKQUOTE>
<BLOCKQUOTE>
This discussion has focused entirely on Bourne shells.
I don't use csh/tcsh much and don't recommend it for
scripting (in which I'm in good company; see:
</BLOCKQUOTE>

<BLOCKQUOTE><dl>
<dt>Csh Programming Considered Harmful
<DD><TT>
<A HREF="http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/index.html"
	>http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/index.html</a></TT>
</dl></BLOCKQUOTE>
<!-- sig -->

<!-- end 6 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/7"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 7 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>More on: Bad Sectors</H3>


<p><strong>From Fadel on Sat, 06 Feb 1999  
</strong></p>
<!-- ::
More on: Bad Sectors
~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Dear sir,
</STRONG></P>
<P><STRONG>
I have bad sectors in my HDD about 35 sectors, so I can't use it,
how can I use it agine?  Note: My HDD is 3.2 GB and I use windows
98
</STRONG></P>
<P><STRONG>
yours,
<br>Fadel
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Too Bad.  If Windows '98 can't work around the bad
sectors you'll just after to repace the drive or replace
your OS.  If the first sector on your track zero is one
of the bad ones then the drive is useless.
</BLOCKQUOTE>
<BLOCKQUOTE>
Why are you sending this to me, anyway.  Call your
drive's manufacturer or your retailer!
</BLOCKQUOTE>
<!-- sig -->

<!-- end 7 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/8"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 8 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>The Presumption!</H3>


<p><strong>(Claiming to be) From Microsoft Internet Explorer Support  on Sat, 06 Feb 1999  
</strong></p>
<!-- ::
The Presumption!
~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052
USA
</STRONG></P>
<P><STRONG>
Dear Sir/Madam
</STRONG></P>
<P><STRONG>
As an user of the Microsoft Internet
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
^^^^
</BLOCKQUOTE>
<BLOCKQUOTE>
--- some MS Word spell-checker or "Wizard"
</BLOCKQUOTE>
<BLOCKQUOTE>
suggested this?  In the literate world
we use "a user --- since the term "user"
is pronounced with a leading consonant
sound "y" as in "yoozer"
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm not a "yoozer" of Microsoft Internet Explorer
or any other MS product.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Explorer, Microsoft Corporation provides
you with this upgrade for your web browser.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
You're providing me with SPAM.  My web browsers are
Lynx and Netscape Navigator (for Linux).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
It will fix some bugs found in your Internet
Explorer. To install the upgrade, please save
the attached file (ie0199.exe) in some folder
and run it.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
It might fix some bugs in YOUR Internet Explorer.
My methods of exploring the Internet go way beyond
web browsing and use a variety of tools and protcols.
The Web is not the Internet and MS Internet Explorer
isn't even a blip on my radar.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
For more information, please visit our
web site at www.microsoft.com/ie/
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
To comply with California State Law please don't
send any more unsolicited e-mail to this address.
</BLOCKQUOTE>
<BLOCKQUOTE>
(There was a law recently enacted in my state of residence
which requires advertising to display the "ADV:" tag
on the subject line.  I'm collecting violations of this
law to forward to my state attorney general's office.
I don't consider it to be an effective deterrent to
SPAM --- but they should enforce it if they're going to
pass it).
</BLOCKQUOTE>
<!-- sig -->

<hr width="40%">

<p><em>Interestingly enough, this message (and another reply to
it from our site) bounced.  It can be reasonably suspected that 
the true originator of the message was not Microsoft, but someone 
trying to convince users of their products, to "upgrade" to an 
infected or malicious copy.  </em></p>

<p><em>As such, it's really much worse than 
"SPAM" although it ia similar, in that it preys on people who 
know less about their internet environment, and are willing to 
take unwise risks with their assets.  These folks are also least
likely to be able to take effective action to correct the problems
that result.  </em></p>

<p><em>Don't get snookered -- nobody should be mailing you
a binary without some sort of authentication so you can determine
where it came from, and hat it has survived its ride through the
mail.  FTP is really better for anything of reasonable size anyway.</em></p>

<!-- end 8 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/9"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 9 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Mysterious Message:  Subject: Linux</H3>


<p><strong>From THerbic on Sat, 06 Feb 1999  
</strong></p>
<!-- ::
Mysterious Message:  Subject: Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
integrated e-mail, messaging, voice mail, faxing capabilities
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Yep.  Linux has integrated mail, messaging, voice mail
and faxing capabilities.   They all work and you
integrate them with shell, Perl, TCL/Tk and/or CGI
scripts.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 9 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/10"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 10 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Reader Comments:  Diamond WinModems:</H3>


<p><strong>From Joseph  on Sat, 06 Feb 1999  
</strong></p>
<!-- ::
Reader Comments:  Diamond WinModems:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Greetings, O Guy of Many Answers!
</STRONG></P>
<P><STRONG>
After buying a modem and not having any luck with it under Linux
</STRONG></P>
<P><STRONG>
(a dual-boot Win98 and <A HREF="http://www.debian.org/">Debian</A> 2.0 system), I checked around
on the Diamond Multimedia Website.  After searching for "linux,"
I was eventually referred to a nice FAQ on Traditional,
Controllerless (WinModem), and Software Modems by Diamond.
</STRONG></P>
<P><STRONG>
This brought to my attention that I had bought a WinModem by
mistake.  I was able to push my now-useless modem off on
relatives who were buying a computer, and I instead followed
the guide and bought a Diamond SupraExpress ISA (non-voice)
modem.  I set it up manually with the jumpers on the card as
com3 and put it in.  Windows kind of gawked at it at first, but
using the CD to install it instead of Windows default drivers
(as I can recall; this was a while ago), it was OK in Windows.
</STRONG></P>
<P><STRONG>
I installed the new modem just before leaving the country
(and my computer) behind for a semester, so I can't say exactly how
well it worked, as I was unable to try it out.  However, upon
booting into Linux, I was greeted with a new detection: ttySx
(where x is some number I've now long forgotten).  By this, I believe
that it is functioning and happy, however, as I said, I was unable
to test it before leaving.
</STRONG></P>
<P><STRONG>
As I have been scanning around, I have found people with problems with
Diamond modems who were wondering if they are WinModems.  As I found
the Diamond guide rather helpful, I thought I'd pass it along to
you, for review and further distribution.
</STRONG></P>
<BLOCKQUOTE><BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	> For the curious, that's <CODE>
<A HREF="http://www.diamondmm.com/products/white-papers/communications/c-less_paper.html"
	>http://www.diamondmm.com/products/white-papers/communications/c-less_paper.html</A>
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
You can alternately find it under the "Support"-&gt;"FAQ" selection at the
top of the main page.  A word of warning, however.  After reading the
last issue of Linux Gazette, I have found that the PCI version of
the Diamond SupraExpress modem does not work with Linux.  I cannot
verify this, but the quote was quoting <A HREF="http://www.redhat.com/">Red Hat</A>.  (2-Cent Tips)
Hope this clearifies things somewhat.
</STRONG></P>
<P><STRONG>
-Joseph
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
I still say:  GET EXTERNAL MODEMS!
</BLOCKQUOTE>
<BLOCKQUOTE>
(That was always safe until recently since nobody
and really messed up RS232C so bad that you couldn't
get your modem to work with Linux.  With the recent
advent of USB and the impending release of USB modems
this will not be true for much longer.  However,
Linux may support USB before there are any significant
number of USB modems on the market --- so we might
squeak in).
</BLOCKQUOTE>
<BLOCKQUOTE>
Other than that, thanks for the pointer.  I hope some
of our readers find it and learn from it.
</BLOCKQUOTE>
<BLOCKQUOTE>
WinModems:  &quot;JUST SAY NO!&quot;
(or &quot;RMA&quot; --- return merchandise authorization)
</BLOCKQUOTE>
<!-- sig -->

<!-- end 10 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/11"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 11 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>OPL-3 Sound Drivers</H3>


<p><strong>From Jeferson Oliveira Andeluz  on Sat, 06 Feb 1999  
</strong></p>
<!-- ::
OPL-3 Sound Drivers
~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
My name is Jeferson, I live in Sao Paulo, the biggest city of
Brazil...
</STRONG></P>
<P><STRONG>
I seek for all web sites for this driver and I can't find one to
make a download for this driver...
</STRONG></P>
<P><STRONG>
Please, if you know how can I give this driver, tell me, because
my pc doesn't have any sound and it's very boring....
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Some OPL-3 sound drivers are included in the
mainstream Linux kernel sources.  You just select
them at compile time (<tt>cd /usr/src/linux; make menuconfig</tt>)
</BLOCKQUOTE>
<BLOCKQUOTE>
You can test your sound drives by finding a <tt>.wav</tt>, <tt>.mod</tt>,
<tt>.au</tt> or other sound files and issuing the '<tt>play</tt>' command
on them. (The '<tt>play</tt>' command is part of the '<tt>sox</tt>'
(sound exchange) package).  This ships with most general
distributions --- though you might not have installed it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's a command to find all of these sound files on
a typical Linux system:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
locate / | egrep "\.(au|mod|wav)$"
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... you can do a sanity check on those with a similar
command:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
locate / | egrep "\.(au|mod|wav)$" | xargs file
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... the '<tt>file</tt>' command will identify them as some form
of audio file if there contents match their filename
extensions.
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's a sneaky little script I call 'ftype' that
filters a list of filenames based on the type reported
by the '<tt>file</tt>' command:
</BLOCKQUOTE>

<blockquote><pre>#!/bin/sh
## This uses the 'file' command to filter out filenames whose
## contents don't match our spec
##
while read i ; do
    file "$i" | grep -q "$*" &amp;&amp; echo "$i"
done
</pre></blockquote>
<BLOCKQUOTE>
You'd call this with a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE><BlockQuote>
locate <TT>/</TT> | egrep "\.(au|mod|wav)$" | ftype audio
</BlockQuote></CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... so you could play every sound on your system
with a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE><BlockQuote>
locate <TT>/</TT> | egrep "\.(au|mod|wav)$" | ftype audio | xargs -l play
</BlockQuote></CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
(scary!)
</BLOCKQUOTE>
<BLOCKQUOTE>
I've talked about sound card support before:
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>The Answer Guy 34: Finding Soundcard Support
<dd><A HREF="http://www.ssc.com/lg/issue34/tag/sound.html"
	>http://www.ssc.com/lg/issue34/tag/sound.html</A>
</dl>
</BLOCKQUOTE>
<BLOCKQUOTE>
So, check those links and see if that helps.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Thanks for your hear me...
</STRONG></P>
<P><STRONG>
I'll wait for your reply....
Jeferson
</STRONG></P>
<!-- sig -->

<!-- end 11 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/12"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 12 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Question from an old friend.</H3>


<p><strong>From Gregg Q Reynante  on Fri, 05 Feb 1999  
</strong></p>
<P><STRONG>
Hi Jim,
</STRONG></P>
<P><STRONG>
It's me, Regina's husband.  Haven't had the opportunity to write
'til now.  Here's my question?
</STRONG></P>
<P><STRONG>
I'm trying to install RH 5.2 on a Pentium 133.  Here's the catch.
I have a WD SCSI 2.1 Gig HD using an Adaptec 1542CF (ISA) card.
Because of the other hardware and/or motherboard of the system, I
need to set the SCSI card to non-default settings.  During the
Linux install, it's fine until it asks for SCSI devices.  When I
send it to autoprobe the 1542, it tells me it's not there.  In the
past I've used the SCSI card &amp; drive in default mode and
successfully installed RH 5.1 This is an upgrade from my 486
machine, so I don't want to go back.
</STRONG></P>
<P><STRONG>
Any suggestions?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
First disable any BIOS/Setup "PnP" (plug and pray) features
that your system is trying to foist on you.
</BLOCKQUOTE>
<BLOCKQUOTE>
If autoprobing doesn't work try passing the
kernel a hint.  In the bootparam(7) man pages you'll
find details on many supported parameters.  Look for
something like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
aha1542=iobase[,buson,busoff[,dmaspeed]]
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
and fill in the parameters.  I might use:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
aha1542=0x320
</code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... for example.
</BLOCKQUOTE>
<BLOCKQUOTE>
You might have to start your <A HREF="http://www.redhat.com/">Red Hat</A> installation in
"expert" mode so that it will prompt you for these
parameters.
</BLOCKQUOTE>
<BLOCKQUOTE>
Another possibility is that you have to cut a
custom kernel and put that on your RH installation/boot
floppy.  This isn't too tough and it is documented
in their manual.    The boot floppies used by Red Hat
are just MS-DOS formatted floppies with an MS-DOS
filesystem and a copy of the <tt>SYSLINUX</tt> boot loader.
There is a <tt>SYSLINUX.CFG</tt> file which is a bit like a
<tt>lilo.conf</tt> file on an installed system.  You should have
to touch that (if you just replace the <tt>VMLINUZ</tt> file
with one of the same name).
</BLOCKQUOTE>
<BLOCKQUOTE>
A Red Hat <tt>boot.img</tt> file that I have here as 24K available
on it.  That's not much room --- but it might be enough for a
kernel with an extra SCSI driver built straight into it.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
And yes, I've lowered the transfer rate to 5.0, enabled sync &amp;
parity checking on the card. I've even installed DOS, so I know it
works (or at least runs).  I'm ready to turn it into an MS machine
if I can't get this up &amp; running soon.
</STRONG></P>
<P><STRONG>
TIA,
Gregg
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
My first guess would be that there is some PCI/PnP
sort of thing that's inteferring with your auto-detection.
So we bypass that with "expert" mode and tell it precisely
where our card is.  We also disable PnP since that often
doesn't play well with ISA cards (like the 1542CF).
</BLOCKQUOTE>
<!-- sig -->

<!-- end 12 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/14"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 14 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>[Q]: Winmodem under Linux</H3>


<p><strong>From urryk on Sun, 07 Feb 1999  
</strong></p>
<P><STRONG>
Hi, James!
</STRONG></P>
<P><STRONG>
Whether there is any possibility to use the US Robotics Winmodem
in Linux?
</STRONG></P>
<P><STRONG>
I know that this incompatible device, but it is possible to
somebody it was possible it to win.  Thank you for advice.
</STRONG></P>
<P><STRONG>
Yury with best wishes.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
You know that this device in incompatible with Linux
but you're asking me if there is any possibility of
using it with Linux.
</BLOCKQUOTE>
<BLOCKQUOTE>
Yes, it is currently incompatible.  This is largely
because the manufacturer (of the chipset used by this
modem) will not release the programming specifications
to the public.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, yes there is a possibility of getting use out of
it under Linux.  First, convince Rockwell Peripherals
International (or whatever their real corporate name
is) to release the specs.  Then find someone who is
willing to write a driver to those specs.  (You might
even convince Rockwell of the value in writing their
own Linux driver and releasing the sources to that).
</BLOCKQUOTE>
<BLOCKQUOTE>
I'll admit that this is only a slim possibility.
I'm sure that other Linux enthusiasts (and Mac users,
and others) have requested similar support for other
non-MS-Windows systems.  My advice is threefold:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
DON'T BUY WINMODEMS, WINPRINTERS OR ANY OTHER
OS-Specific Devices!  (I wouldn't buy a
piece of hardware that was supported exclusively
under Linux either).
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
DON'T BUY INTERNAL MODEMS!
</BLOCKQUOTE>
<BLOCKQUOTE>
Get rid of the piece of junk you've already
got.  Get an RMA.  Get on a phone and scorch
the ears of everyone in the organizations that
sold, manufactured and distributed this defective
useless slag to you.  Make it so expensive to
deal with your complaints that they'll clearly
understand the false economy in selling these
things.  (And be polite through the whole process).
</BLOCKQUOTE>
<!-- sig -->

<!-- end 14 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/16"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 16 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>More Bad Clusters</H3>


<p><strong>From Rik  on Fri, 05 Feb 1999  
</strong></p>
<!-- ::
More Bad Clusters
~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Hi,
</STRONG></P>
<P><STRONG>
Do you know how to fix a bad cluster on my hard disk cause I have
one and now I can't convert it to FAT32.  I've got a Fujitsu U-DMA
1,7 GB HD I hope you can help me.
</STRONG></P>
<P><STRONG>
Thanks in advance
Greetingz
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Is this some kind of joke?  I keep getting questions
about fixing bad clusters, marking them as bad,
unmarking them from being bad and the like.  Worse, these
questions seem to come from MS Windows users who seem
to have <EM>no</EM> interest in LINUX whatsoever.
</BLOCKQUOTE>
<BLOCKQUOTE>
No!  I don't know how to force your machine to let you
install a FAT32 filesystem on it.  I don't care how that's
done --- I use <tt>ext2</tt> filesystems and they can tolerate
and manage bad sectors (or ignore them at your peril) with
no problem (just remember to use the <tt>-c</tt> parameters to
<tt>mke2fs</tt> and <tt>e2fsck</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
Please, go find a Windows Answer Guy.  If you just sent
me blind e-mail and don't understand why I'm babbling about
this non-MS stuff go read some back issues of the
Linux Gazette:  <A HREF="http://www.linuxgazette.com"
	>http://www.linuxgazette.com</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
(as you should see in my .sig)
</BLOCKQUOTE>
<!-- sig -->

<!-- end 16 -->
<hr width="40%">

<!-- begin 15 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>how to fix a bad cluster on hd</H3>


<p><strong>From Rik  on Sun, 07 Feb 1999  
</strong></p>
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I'm sorry but I looked at altavista for bad clusters on how to fix
them and there was this message board with your e-mail adress. so
that's why I sended my message to you. sorry it would not happen
again.
</STRONG></P>
<P><STRONG>
Greetingz
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
I don't object to getting question (on the topics
that are relevant to Linux Gazette).  However, it is
irritating when those people who find my messages in
Alta Vista don't <EM>read what I said</EM>.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've never said that I could "fix bad clusters" ---
so anything you read that was by me didn't say that.
Indeed it almost certainly said almost exactly the same
thing I told you.
</BLOCKQUOTE>
<BLOCKQUOTE>
Noting that this Alta Vista record made reference to
linuxgazette.com you have to follow up and look at
the "Linux Gazette's" web pages (where you'll find
it's own search feature --- which should should
have made it obvious who I am and what I do).
</BLOCKQUOTE>
<BLOCKQUOTE>
I use Yahoo! and Alta Vista (and Deja News and Google
and others) extensively.  I occasionally even send
messages to people who I find therein.  However, I
do that as a last resort.
</BLOCKQUOTE>
<BLOCKQUOTE>
Also when contacting someone for the first time, courtesy
demands that you introduce yourself.  Nothing elaborate
but something like:
</BLOCKQUOTE>
<table width="80%" border="1"><tr><td>
<BLOCKQUOTE><BlockQuote>
Answer Guy,
</BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE>
I was searching Alta Vista looking for ways
to solve the problems I'm having with bad blocks
and Windows '98 on my new/old/whatever hard
drive.
</BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE>
I found the following message from you:
</BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><BLOCKQUOTE>
...[SHORT quote/excerpt]...
</BlockQuote></BLOCKQUOTE></BLOCKQUOTE>
</td></tr></table>
<BLOCKQUOTE>
... and then you can go on to ask your question.
</BLOCKQUOTE>
<BLOCKQUOTE>
That's only common courtesy --- which is unfortunately
all too uncommon these days.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, if you ever have questions about Linux --- including
questions about how to make it work with NT, '9x, MacOS,
or other systems, feel free to send them to me.  Please
search through the appropriate newsgroups, mailing lists
HOWTOs, FAQs, and try the search feature on
<A HREF="http://www.linuxgazette.com"
	>http://www.linuxgazette.com</A> to see if I've answered this
question before (or especially if any of our other
contributors have written feature articles or 2-cent
tips or other material on the subject).
</BLOCKQUOTE>
<BLOCKQUOTE>
For problems with a piece of equipment --- talk to your
retailer or its manufacturer first.  For problems which
don't relate to Linux --- look for forums that focus on
the one at hand.  When dealing with Microsoft products
remember the level of support you've been getting before
purchasing any more of them.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 15 -->

<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/17"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 17 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Proxying over PPP</H3>


<p><strong>From prashant on Thu, 11 Feb 1999  
</strong></p>
<!-- ::
Proxying over PPP
~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Hi Answerguy,
</STRONG></P>
<P><STRONG>
I am using <A HREF="http://www.redhat.com/">Red Hat</A> Linux.And I want to install a proxy server.
I have a modem can configure ppp over that.
</STRONG></P>
<P><STRONG>
But i want that proxy to do the following functions:
</STRONG></P>

<P><STRONG><ol>
<li>It should optimize my ppp connection.
        (<tt>webproxy-1.3</tt> does provides this)

<li>As this webproxy doesn't handle cache.A cache manager
       'Squid' must be installed.

<li>Also it doesn't supports many protocols. So
        I want a router linked it
</ol></STRONG></P>

<P><STRONG>
I dont know how i am going to do this please help me.
</STRONG></P>
<P><STRONG>
yours
<br>Prashant Deshpande.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Your list mixes needs with conclusions.  I don't
recommend that when doing "requirements analysis" as
you'll probably end up with some inappropriate constraints.
</BLOCKQUOTE>
<BLOCKQUOTE>
If I understand it correctly you want to "optimize"
your PPP connection in the sense that you want to
minimize the traffic flowing over it, and the latency
between requests and responses.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm not familiar with a package named "<tt>webproxy-1.3</tt>" --- but
any caching/proxy will tend to lessen the traffic depending
on your usage patterns and the co-operation of the sites
that you access over these protocols.  Squid is probably the
most advanced caching proxying available --- and it's
designed to peer with other ICP (Internet Caching Protocol)
servers, (potentially minimizing traffic over other links,
further out on the Internet, beyond your PPP link while also
minimizing latency).
</BLOCKQUOTE>
<BLOCKQUOTE>
I don't understand item three at all.  What doesn't support
many protcocols?  Squid supports a number of protocols
(all those that are amenable to caching, that I can think
of).  Also the conclusion: "So I want a router linked it"
is completely bogus.  A <EM>router</EM> does <EM>routing</EM>, a
proxy does proxying and caching.  These functions operate
at different (though sometimes blurred) levels in the
OSI reference model.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you use your Linux system as a "gateway" to the Internet
for any systems other than itself (if it has an ethernet
and a PPP link or any other combination of two or more
non-loopback interfaces) than it probably <EM>is</EM> acting as a
router.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, let's step back from the constraints implied by these
extraneous comments and focus on what you want.
</BLOCKQUOTE>
<BLOCKQUOTE>
You could do some protocol analysis on your PPP link to
determine what protocols are consuming which percentages
of the bandwidth; and to determine the average latency
among various protocols.  This would help you focus on
which protocols are likely to benefit the most from
caching.  It's also possible you might find other ways
to help improve your utilization.
</BLOCKQUOTE>
<BLOCKQUOTE>
Without going into gory details of using '<tt>tcpdump</tt>' and
performing data analysis on that we can suggest that you
start with the basics.
</BLOCKQUOTE>
<BLOCKQUOTE>
Run a caching nameserver on your PPP/router.  This should
immediately improve response time and reduce bandwidth
utilization by obviating the need to forward/route DNS
queries across the link.  Make sure to configure the
<TT>/etc/resolv.conf</TT> (or its equivalent on your non-Unix
systems) to actually use your caching nameserver.  That
includes the <tt>resolv.conf</tt> on the router/gateway itself!
</BLOCKQUOTE>
<BLOCKQUOTE>
Install Squid and configure your web browsers and any
gopher, WAIS, or other supported clients to use it.  That
should help with those web sites that don't egregiously
prevent caching.  Note that some sites use HTTP headers
(Pragmas) to eliminate or minimize caching of their pages.
This is often done by "advertising" supported sites as part
of their "imprint" accounting and to support their high
traffic claims (to their customers).  That is BAD for the
Internet as a whole (since it forces every link between
those sites and all of their clients to carry redundant
traffic).  Oh well!  There goes the neighborhood!
</BLOCKQUOTE>
<BLOCKQUOTE>
After you've taken these two steps (and provided your
caching proxy/router with LOTS of disk space and memory) you
should monitor the line performance (informally) to see if
that meets your needs.  You've probably gained 80-90% of the
potential efficiency gains already --- so additional work
will have diminishing returns.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can install DeleGate for FTP proxying (I don't know how
to make "normal" FTP clients talk to Squid's FTP proxying
--- but they can be configured to use DeleGate as you'd use
any SOCKS proxy, and you can "manually" traverse a DeleGate
FTP or telnet proxy in a way that's conceptually similar to
the old TIS FWTK (though completely different, and much
cleaner, in syntax).
</BLOCKQUOTE>
<BLOCKQUOTE>
That's probably about as far as you can go with simple
proxying.  From there you'll have to change the mixture of
protocols you run, and/or optimize the way you work.  For
example if you have e-mail flowing over that PPP link you
might reconfigure that to "Hold" (as "expensive") and queue
it for delivery during off peak hours.
</BLOCKQUOTE>
<BLOCKQUOTE>
You might even reconfigure your e-mail and any netnews
traffic (both outgoing and incoming) to go through UUCP.
UUCP allows you to "grade" your traffic, and to schedule the
delivery and receipt.  This can include file transfers as
well as mail and news.  Naturally you'd have to arrange for
some ISP to provide your UUCP batching for you.  There are
still some ISPs that specialize in this, and there are still
some co-operative arrangements available in some localities.
</BLOCKQUOTE>
<BLOCKQUOTE>
These techniques have a very steep learning curve.  No one
has been providing WYSI new front ends to make the
configuration of UUCP links as easy as common PPP scenarios
are today.  Also there are very few ISPs with the expertise
and interest to provide these services.  In addition the
entire discussion is moot if you aren't carrying netnews,
email, or file-transfer traffic over your link (if you don't
read netnews, you've arranged ISP POP accounts on the other
side of your link and your file transfers can't be scheduled
and automated with UUCP).
</BLOCKQUOTE>
<BLOCKQUOTE>
Another option is to look at your work and access patterns.
If you know that you're going to want to read "Linux Weekly
News" every Thursday morning when you come in, create a <tt>cron</tt>
job to '<tt>wget</tt>' or do a '<tt>lynx -traversal</tt>' of
<A HREF="http://www.lwn.net"
	>http://www.lwn.net</A> every Thursday morning at 3:00am (before
you come in, but still in the "dead of the night).  The LWN
crew seems to consistently have that up by about midnight
(U.S. Mountain time).  You could have similar daily jobs for
your "Dilbert" fix (<A HREF="http://www.unitedmedia.com/dilbert"
	>http://www.unitedmedia.com/dilbert</A>)
etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
There are some tricks you can do to minimize the amount of
your bandwidth you devote to downloading advertising and
graphics.  One method is to use Lynx (which doesn't download
<EM>any</EM> graphics by default, and therefore filters out most
banner ads). Another is to create your own "localhost"
aliases for some sites like "<tt>click.net</tt>" --- sites which are
used exclusively to serve banner ads that are embedded in
the HTML of the sites you visit.  Of course, the
advertisers, web site maintainers (like Yahoo!) and
click.net itself might complain that you are "depriving"
them of revenue by viewing these advertiser supported pages
while filtering out the advertsing.
</BLOCKQUOTE>
<BLOCKQUOTE>
If a statistically significant number of users employ these
strategies then we'll see a resulting "arms race" to force
the advertisments down your throat.  They'll increasingly
"mix" the advertising and content as inextricably as
possible --- meaning that text browsers and search engines
will become useless.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's a pity that more of us don't consider the implications
of advertiser supported media on our lives.  Your broadcast
news, TV, radio, newspapers and other periodical
publications are all completely funded by advertising and
therefore fundamentally suspect in regards to content and
focus.  Its not a "conspiracy" theory --- merely and
economic fact.  You get what was paid for.  Since you didn't
"pay for" the content that you're receiving through
traditional media (and increasingly for Internet "content")
--- you have little or no say in what's provided over them.
</BLOCKQUOTE>
<BLOCKQUOTE>
You have obscure indirect effects by your selection of
products and services and somewhat more by complaint (to
government and regulatory bodies and to sponsors).  It's all
very "negative" (in a philosophical sense).  It's a pity we
haven't come up with a better way to do things --- though
the Internet's netnews, mailing lists, and the personally
and "activist" run and maintained web sites continue to be a
"ray of hope."
</BLOCKQUOTE>
<BLOCKQUOTE>
In any event:  That's about all there is to caching
and proxying for small sites over PPP and other
low-bandwidth links.  Larger internetwork sites might
benefit from more elaborate ICP arrangments (peering
among departmental Squid servers and creating a whole
caching hierarchy).
</BLOCKQUOTE>
<BLOCKQUOTE>
Remember that this is not a magic bullet.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's possible that your usage patterns actually won't
benefit from caching or proxying.  If everyone on your
network is always visiting <EM>different</EM> sites, and they only
visit sites that change frequently --- then the cache will
be a waste of your systems memory and disk space.
</BLOCKQUOTE>
<BLOCKQUOTE>
Best of luck!
</BLOCKQUOTE>
<!-- sig -->

<!-- end 17 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/18"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 18 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Installing on a Big Drive: More on the 1023 Cylinder Limit</H3>


<p><strong>From ariel lh  on Fri, 12 Feb 1999  
</strong></p>
<!-- ::
Installing on a Big Drive: More on the 1023 Cylinder Limit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Hi!, i have a 6.4Gb Western Digital HDD partitioned with EZ-Drive
(version 9.03w) into 4 partitions (3 of 1.95Gb and one 117Mb). The
first one has MS-Windows and the other 3 partitions are
empty. I've read lots of info about installing linux on large HDD,
because it has to be installed below the 1024 cylinders.... i must
tell you that i don't understand anything about this nor
partitions. How would i know is i can install linux in any of the
other partitions?
</STRONG></P>
<P><STRONG>
Thanks
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Linux doesn't have to be installed below the 1023 cylinder
boundary.  It doesn't have to be installed on the first
or second hard drive.  Linux can be installed in many
different ways across all sorts of devices.  (Indeed
its possible to install Linux on a remote hard drive
and to a boot over the network mounting the root filesystem
via NFS).
</BLOCKQUOTE>
<BLOCKQUOTE>
There are two rules regarding a Linux installation:
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li>The kernel must get loaded (by a supported
system into a sufficient block of memory)
<li>The kernel must be able to access a root filesystem
somewhere.
</ol></BLOCKQUOTE>
<BLOCKQUOTE>
The first requirement is generally thought to mean that
you must install Linux where a typical PC BIOS can "find"
it.  Thus the commonly repeated "1024 cylinder" problem.
Old BIOS' couldn't access beyond the 1024th cylinder
(numbered 0 through 1023, naturally).  This was a BIOS
limitation and it applies to all operating systems.
However, some of them (like NT and OS/2) get around that
by using a "protected mode" (32-bit) boot loader.  This
generally requires that these systems create a small
1 or two Mb mini-partition.  Linux doesn't require
this.
</BLOCKQUOTE>
<BLOCKQUOTE>
The most commonly used boot loader for Linux (LILO)
is a small real mode program.  It therefore must work
with the BIOS to load a Linux kernel.  Another common
loader is Syslinux.  This installs a suitable boot loader
into an MS-DOS (FAT) formatted floppy.  Yet another
option is <tt>LOADLIN.EXE</tt>, a DOS program for loading Linux
(from a common DOS batch file, or from the DOS <tt>CONFIG.SYS</tt>
--- via a <tt>SHELL=</tt> or <tt>INSTALL=</tt> directive).  
<tt>LOADLIN.EXE</tt> is
currently included with a newer package called <tt>Linux_Load95</tt>
--- which is a Win '9x loader.
</BLOCKQUOTE>
<BLOCKQUOTE>
The easiest way to address the situation you've described
is to use <tt>LOADLIN.EXE</tt> --- let it load your kernel.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can do your initial installation by booting off of
a CD (assuming you get one of the distributions that's
shipped on a bootable CD --- which would be approximately
all of them within the last couple of years).  After the
installation is complete (most distributions don't offer
direct <tt>LOADLIN.EXE</tt> support) --- you'd copy your Linux
kernel to some directory under one of your DOS/Windows
filesystems.  Then you boot into MS-DOS (Win '9x "Safe
Mode") and install <tt>LOADLIN</tt>.
</BLOCKQUOTE>
<BLOCKQUOTE>
Please search back issues of Linux Gazette for
more details on that.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 18 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/19"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 19 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Finding LOADLIN.EXE ... and Linux Loader for Win '9x</H3>


<p><strong>From Mstrmasn34 on Fri, 12 Feb 1999  
</strong></p>
<!-- ::
Finding LOADLIN.EXE ... and Linux Loader for Win '9x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Hey Answer Guy!   , alternatively,
Dear Mr. Answer Guy:
</STRONG></P>
<P><STRONG>
I have recently installed RedHat Linux 5.2.  I boot Win 98, to
which I am new.  I am not comfortable with relying on a Linux boot
disk to get to Linux.  I intend to emphase Linux in my computer
experience.  Currently I rely on DOS/WIN for familiarity.
<tt>Loadlin.exe</tt> did not come with the McMillan version of 5.2 I
purchased.
</STRONG></P>
<P><STRONG>
Where can I reliably download the latest version of <tt>Loadlin.exe</tt>
(and related necessaries?  Also, do I need LILO if I use Loadlin?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
The package should be on those CDs somewhere.  However,
you should also be able to find it in the the Linux
Loader for Win '95:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Linux_Load95
<DD><A HREF="http://metalab.unc.edu/pub/Linux/utils/dos/linux_load95.lsm"
	>http://metalab.unc.edu/pub/Linux/utils/dos/linux_load95.lsm</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
... The LSM (Linux software map) file for this package
claims that it includes <tt>LOADLIN.EXE</tt> (version 1.6).
</BLOCKQUOTE>
<BLOCKQUOTE>
That should work just fine.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 19 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/21"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 21 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Partitioning Mini-HOWTO</H3>


<p><strong>From ariel lh  on Fri, 12 Feb 1999  
</strong></p>
<!-- ::
Partitioning Mini-HOWTO
~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Sorry for bothering you again but it seems that the "<tt>boot failed</tt>"
message was just a bad diskette. I accesed the setup main menu and it
asked me to configure the keyboard and i did, then i goes to: "partition
your HD", when i go to the partitioning menu i detects my HDD when i
press enter i get the message: "<tt>fatal error: bad logical partition</tt>".
What should i do?, in the installation howto it says the partitioning
option is for when my disk is not partitioned and it also says that if i
already created a linux native and one linux swap disk partition i can
skip the partitioning process.
</STRONG></P>
<P><STRONG>
In case i don't have to run the partitioning menu, how do i configure my
existing partitions into linux native an linux swap partitions?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
So, you're trying to install some distribution of Linux.
You don't mention which distribution so I'll guess it might
be <A HREF="http://www.redhat.com/">Red Hat</A>.  You don't mention 
what source you're trying to
install from so I'd guess CD-ROM.  You don't specify which
platform so I'll guess it's some sort of PC.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note: there are many distributions of Linux and many of them
can be installed from any of many sources (from CD, floppy,
MS-DOS hard drive partition, over FTP, NFS, or SMB/Samba --
from a copy stored on some Windows, OS/2 or other type of
server).  When posting questions to mailing lists and
newsgroups you'll want to include a bit more detail.
Remember that your readers don't know anything about your
situation.
</BLOCKQUOTE>
<BLOCKQUOTE>
Now, to your problem.  The setup/installation program you're
using is offering to launch a program to partition one of
your hard drives --- to reserve one or more regions of the
disk space for use by Linux and mark them as such.
</BLOCKQUOTE>
<BLOCKQUOTE>
The exact dialogs and menus offered by this installation
program depend completely on which distribution you're using.
</BLOCKQUOTE>
<BLOCKQUOTE>
Normally they will launch a program called '<tt>fdisk</tt>'.  There
are many programs called '<tt>fdisk</tt>' --- including the 
<tt>FDISK.COM</tt>
(or <tt>FDISK.EXE</tt>) from MS-DOS, and those from OS/2, NT, other
versions of Unix, and just about any other operating system
available for the platform).  Under Linux there are several
versions of '<tt>fdisk</tt>' to choose from.  Most distributions
include the old "shell mode" '<tt>fdisk</tt>' and some also give you
options to run a "friendlier" full-screen (curses based)
program called '<tt>cfdisk</tt>'.
</BLOCKQUOTE>
<BLOCKQUOTE>
Recent versions of Red Hat will offer to make many of
the partitioning decisions for you --- using a program
they call "Disk Druid."  You supply it with the sizes and
types of filesystems and swap spaces you want and it makes
a corresponding set of partitions.  It's a nice idea ---
but I never use it personally (I've been working with
micro-computers of one sort or another for almost 20 years).
</BLOCKQUOTE>
<BLOCKQUOTE>
Given that I don't know anything about your system I
really don't know what is giving this error message.
I presume that there is some gibberish in your partition
table (specifically it sounds like some bogus enty in
one of the extents --- the "logical" partitions inside
of one of the extended partition tables.
</BLOCKQUOTE>
<BLOCKQUOTE>
Let's give a tiny bit of background here:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
The first first addressable sector on a
PC hard drive is called the MBR.  This is
512 bytes long and consists of two parts
--- a boot loader (a small program) and
the primary partition table.
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
The primary partition table is 66 bytes
long.  This provides room for four partition
table entries of 16 bytes each, and a two
byte "signature" (magic number) that indicates
that this MBR/partition table has been
initialized.
</BLOCKQUOTE>
<BLOCKQUOTE>
When any version of '<tt>fdisk</tt>' first reads
the MBR for a given drive it is supposed
to look for the "signature" (0xAA55 hex,
or is it 0x55AA, I never remember that).
If the last couple of bytes in the MBR don't
match the signature then fdisk is supposed to
assume that the drive has completely unitialized
--- so that it won't attempt to interpret whatever
random noise it finds therein (left there by the
manufacturer's testing and/or production processes)
as any sort of existing partition table.
</BLOCKQUOTE>
<BLOCKQUOTE>
Notice that there are only FOUR entries available
on this table.  So, if we are to have more than
four filesystems/partitions on a drive we need
some way to  represent them.  Thus there is a
convention/standard that allows us to use ONE
of those entries to point to an "extended"
partition table.  This essentially daisy chains
from the boot sector to another sector.  In the
extended partition tables (there can be more
than one --- since you can have about a dozen
total) we have a whole sector, but only the last
66 bytes are used (the rest is normally "zero'd"
out).
</BLOCKQUOTE>
<BLOCKQUOTE>
Getting back to your error message.  If you don't have
anything else installed on that hard drive you can ignore
the error message and use fdisk to create your new
partitions.  If it won't "let you in" there could be other
problems.  I'd just boot on a rescue floppy (there should
be one included on whatever CD you have, some where ---
or you can get Tom's RTBT from <A HREF="http://www.toms.net/rb"
	>http://www.toms.net/rb</A>),
and "zero out" the MBR with a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
dd if=/dev/hda of=/dev/zero count=1 bs=512
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... assuming that you're using your first IDE hard drive.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note: DON'T DO THIS IF YOU HAVE ANYTHING ELSE ON THIS
DRIVE!
</BLOCKQUOTE>
<BLOCKQUOTE>
(You'll render any MS-DOS, Windows or other data on the
drive inaccessible!).
</BLOCKQUOTE>
<BLOCKQUOTE>
If that still doesn't work, or if you have existing data
on the drive that you want to keep --- then we'll have to
work harder.
</BLOCKQUOTE>
<BLOCKQUOTE>
First:  if '<tt>fdisk</tt>' won't let you access the drive, even
after you've "zero'd out" the MBR then you probably have
some sort of unsupported drive/controller.  It may be that
you have a very large HD and a version of the kernel and
'<tt>fdisk</tt>' that doesn't support the huge newer drives.
</BLOCKQUOTE>
<BLOCKQUOTE>
There are some amazing convolutions that we've gone through
in the design of PC peripherals over the years.  These
10Gb hard disks that you can pick up for a couple hundred
dollars are unimaginably expansive compared to the first
10Mb hard drive that I ever owned (about 12 years ago).
</BLOCKQUOTE>
<BLOCKQUOTE>
In the early days MSDOS had a 32Mb limit on it's hard drive
filesystems.  The BIOS under which MSDOS ran had a rather
odd set of limits relating to the largest hard drive that
was possible --- it addressed drives in CHS (cylinder, head,
sector) format.  Early ST-506 (MFM and RLL) hard drives
typically had 17 to 23 sectors per track, maybe 5 or so
heads and a few hundred cylinders.
</BLOCKQUOTE>
<BLOCKQUOTE>
The BIOS packed the cylinder/track and sector addresses into
two bytes --- leaving 10 bits for the "cylinder" and only 6
bits for the sector.  So you you could have up to 64 sectors
(zero through 63) and 1024 cylinders.  They did provide
a full byte for the head.  (This seems silly since a
hard drive with 256 heads --- 128 platters would be about as
tall as your desk, but I presume that it was "convenient"
for the programmer due to how these parameters would be
used with the controller.
</BLOCKQUOTE>
<BLOCKQUOTE>
Back then the CPU was involved in relatively low level
details of head positioning --- so we used to tune the
"interleave" on hard drives based on the relative speed of
our components, so that logically "adjacent" sectors were
actually physically separated, allowing the processing of
one sector to account for the constant rotation velocity of
the disk platter under the head --- meaning that the "next"
sector was usually under the head after the last one was
processed.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm going into these gory details for a point.  Modern
equipment is far more sophisticated.  A modern hard
drive has its own processor and cache.  The micro controller
processes going on in a typical cheap IDE or any SCSI drive
that you'd use today take about the same computing power
as the first PC that I ever used.  They also typically
<EM>have</EM> more memory than early PCs where capable of
addressing.
</BLOCKQUOTE>
<BLOCKQUOTE>
Despite all these differences the fundamental interfaces
and BIOS code (particularly the limitation on CHS
addressing) still apply today.  To get around this
we've going through IDE, EIDE, and the newer Ultra-DMA
(or ATA, ATA-2, and ATA-3) interface specifications.
At each stage these drives use "tricks" to allow us
to access more data.  Usually these "tricks" provide
some level of "backward compatability" --- but they
often require some software upgrades nonetheless.
</BLOCKQUOTE>
<BLOCKQUOTE>
Instead of CHS addressing we now normally use LBA (linear
block addressing).  This basically takes the C, H, and S
values, multiples them together and calculates a new disk
block address based on the total.  That's a "linear block
address."  However a bit of arithmetic should reveal that
256 (max. heads) * 64 (max sectors per track) * 1024 (max
cylinders) * 512 (bytes per track) and then devided by about
a billion bytes per Gigabyte gives a limit of 8Gb.  So we
see that LBA doesn't get us past about 8.4Gb (you'll get
inconsistent numbers based on whether a given manufacture
counts megabytes as 1000 kilobytes or 1024K, and whether
they count a gigabyte as 1000Mb or 1024Mb).
</BLOCKQUOTE>
<BLOCKQUOTE>
The point is that older versions of Linux (and DOS,
Windows, NT, and everything else) won't be able
to access the full extent of some drives.  It's also
possible for your CMOS/BIOS settings to interfere with
the proper detection of your drive's capacity.  So,
sometimes you have to use various sorts of "expert mode"
or sfdisk options to bypass these sorts of problems.
More likely you need to have a kernel which is updated for
your situation.
</BLOCKQUOTE>
<BLOCKQUOTE>
I must admit that I have yet to install any of these
HUGE disk drives.  I just picked up a 10.x Gb IDE drive
for less than $200 (US) and plan to install it in my
wife's computer (freeing up a couple of 4Gb SCSI drives
for my web server and mail hosts).  I haven't had to
do anything special on any of the other systems I've
worked with --- so I don't know what sort of problem
you're having.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can try '<tt>cfdisk</tt>' or '<tt>sfdisk</tt>' (prepare a rescue floppy
and either copy one of these unto it or unto another
diskette).  If any of these work --- you can <EM>THEN</EM> bypass
the portion of the setup/installation program where it
asks is you have already partitioned your disk.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that you must have at least one ext2 filesystem and one
"swap" partition for Red Hat --- and most other Linux
distributions.  This is not a constraint of Linux --- it's
possible to install Linux on MSDOS/FAT, minix, xiafs or
other filesystems it you work at it.  You can even install
Linux to boot across a network.  However, these are exotic
options and most <EM>distributions</EM> don't have setup programs
that can cope with them.
</BLOCKQUOTE>
<BLOCKQUOTE>
Clearly you don't want to "fight" with your first
installation by trying to be exotic.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Thanks again
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
If none of this works then I suggest reading more of the
FAQs, Mini-HOWTOs etc.  Also you can look for a local users
group and ask around.
</BLOCKQUOTE>
<BLOCKQUOTE>
Some (like both the Silicon Valley LUG, and the Bay Area LUG
(*) that I belong to) have regular "installfests" where you
can bring your system into some cafeteria or auditorium and
work with volunteers (like me) to get things installed and
configured.  There are "swap meets" (public vendor shows)
which invite the CABAL (coalition of Bay Area Linux) user
groups to set up tables and hang out.  (Yes, we do this for
free --- all we get is free admission to the show and the
occasional free CDs, T-shirts or whatnot from some vendors).
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>Silicon Valley Linux Users Group
<dd><A HREF="http://www.svlug.org"
	>http://www.svlug.org</A>
<dt>Bay Area Linux Users Group
<dd><A HREF="http://www.balug.org"
	>http://www.balug.org</A>
</dl></BLOCKQUOTE>
<BLOCKQUOTE>
The <A HREF="http://www.freebsd.org/">FreeBSD</A> users also have these events (and join us
at some of the "swap meets" --- though they call them
"installoramas" or something like that).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you don't have any "installfests" or "installoramas" in
your area, you might still find some LUG member or local
Linux enthusiast to help.  If all else fails you can hire a
consultant to come in, help you install this and show you
how things work.  (That's the sort of consulting I
specialize in --- one-on-one tutorial work; usually in
person).
</BLOCKQUOTE>
<BLOCKQUOTE>
It used to be possible to call a 900 number (run by
Yggdrasil, makers of the first CD Linux distribution). You
can look at <A HREF="http://www.yggdrasil.com"
	>http://www.yggdrasil.com</A> for details.
(Yggdrasil is the "tree of life" in Norse mythology.  I have
no idea how that relates to Finnish folklore or if it is
intended as a reference to Linus' ethnic background at all.
But it is a cool name --- particularly for fans fo the old
Marvel superhero "Thor").  I don't know if Adam Richter,
founder of Yggdrasil is still in the Linux superhero
business --- but someone, somewhere will probably be
providing "per incident" phone support eventually.
</BLOCKQUOTE>
<BLOCKQUOTE>
(If I gathered a group of reliable and interested Linuxers
I'd consider doing it myself.  I don't because I'd hate to
be "on call" all the time and I'd hate even more to have
paying customers get a recording saying "Jim is off on a
date with his wife, Heather ... call back later!").
</BLOCKQUOTE>
<!-- sig -->

<hr width="40%">

<p><em>Funny he should mention this, since as of publication time
	he has just joined a new startup, <strong>LinuxCare</strong>,
	specializing in corporate support for Linux.  More details
	about this new company can be found at their home page,
	<a href="http://www.linuxcare.com/">http://www.linuxcare.com</a>.
</em></p>

<!-- end 21 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/22"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 22 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif" 
	height="50" width="60" alt="(!) " border="0"
	>True modems</H3>


<p><strong>From Mark F. Johnson  on Fri, 15 Jan 1999  
</strong></p>
<BLOCKQUOTE>
Quick note:
Staples (a local office supply store) sells the Zoom 56k external (without
serial cable) for just under $90.
</BLOCKQUOTE>

<!-- end 22 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/23"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 23 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Low Memory Installation</H3>


<p><strong>From Martin Skjldebrand on Sun, 17 Jan 1999  
</strong></p>
<P><STRONG>
HI again,
</STRONG></P>
<P><STRONG>
Many thanks for you fast reply. And apologies if you got two messages
- I forgot to remove your e-mail adress in the second one.
</STRONG></P>
<!-- ::<BlockQuote>
Low Memory Installation
~~~~~~~~~~~~~~~~~~~~~~~
</BlockQuote>:: -->
<P><STRONG><FONT COLOR="#000099"><EM>
Hi,
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
I'm trying to install <A HREF="http://www.debian.org/">Debian</A> 
from floppies on my spare lap-top.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
It's an old machine, an Compaq Contura 486/ 25 with 4 MB RAM and 80 MB
HDD.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
The installation goes well (mostly - it complains that the swap space
cannot be initialized but it still is used, swapon during startup
later on goes well). But after rebooting I get various memory errors.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
The latest being '<tt>bash fork: Cannot allocate memory</tt>'
when trying to do anything on the machine.
</EM></FONT></STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
This sounds more like there is a disk error (bad block
or some such) that's somewhere in the area where you're
trying to create your swap partition.
</em></font></blockquote>
<blockquote><FONT COLOR="#000066"><EM>
That would explain both the initialization failure (which
I presume is an error message from the installation
script's '<tt>mkswap</tt>' routine) and the bash errors.
</em></font></blockquote>
<P><STRONG><FONT COLOR="#000099"><EM><IMG 
	SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
I've read and re-read the floppy install on low-memory systems. I've
expanded the swap space to about 20 MB (should be enough) but it still
complains about the memory problem.
</EM></FONT></STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
If the error is near the beginning of the swap
file/partition --- then you'll keep getting it now matter
how much disk space you <EM>add</EM> to the partition.
</em></font></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Adding swap space sorted out a few error messages I got in the first
attempts. But you suggestion solves the problem of it not going away.
I partitioned the drive with the option of checking for bad blocks (I
think I did this the last time. I've rerun the install one time too
many. Is there a difference between this and <tt>mkswap -c</tt>?).
</STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Try invoking the mkswap command (which should be somewhere
in your startup files) with the <tt>-c</tt> option (to check for
bad blocks).
</em></font></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
I'll boot off of a start disk and run it as root, then. I suppose you
meant that. (As I can't get in on the system to do <em>anything</em>
meaningful at all as the only reaction I get is the error message).
</STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
Any ideas? Is it possible to run Debian on a 4 MB RAM machine?
</EM></FONT></STRONG></P>
<blockquote><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
I don't know.  That's cutting it pretty thin.  I
certainly wouldn't use '<tt>bash</tt>' on a 4Mb system --- '<tt>bash</tt>'
is hardly a lightweight shell.  Try '<tt>ash</tt>' --- which is a
simpler and smaller shell that's designed for use on
rescue floppies, etc.
</em></font></blockquote>
<blockquote><FONT COLOR="#000066"><EM>
You'll certainly want to compile a custom trimmed kernel
(on another system) for use in such a constrained
setting.  I wouldn't think that the Contura's were so
old that you can't find additional memory for them.
Bumping that up to 8 or 16 Mb will make a huge
difference in what you can do with that laptop.
</em></font></blockquote>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
Yeah, I've had the thought myself - but Compaq memory usually is
extremely overpriced. Especially for older machines. At least IMHO.
</STRONG><P>
<P><STRONG>
Again, thanks for your suggestions and your fast reply. I'll look into
it.
</STRONG><P>
<P><STRONG>
Cheers,
</STRONG><P>
<P><STRONG>
Martin Skjldebrand 
<br>Sys admin, archaeologist, web designer
</STRONG><P>

<!-- end 23 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/24"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 24 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Drop-in Replacement for "WinGate"</H3>


<p><strong>From Paul A Pick  on Mon, 22 Feb 1999  
</strong></p>
<!-- ::
Drop-in Replacement for "WinGate"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Hiya,
</STRONG></P>
<P><STRONG>
I have a win95/redhat5.2 dual boot system, which I use as a proxy
server for one win95 client machine (as my system has the net
connection).
</STRONG></P>
<P><STRONG>
Under win95, I use wingate for my proxy software... so my client's
system is setup expecting things to be wingate-like on my
system. The problem comes with the recent addition of redhat5.2. I
want my linux box to be a transparent plug-in replacement for the
win95/wingate config but I haven't really found the proxy software
to do this.
</STRONG></P>
<P><STRONG>
So... my question is: are you aware of proxy software for linux
which can behave like wingate? So far, I've seen squid (monstrous
overkill) for ftp/http and then I have to add 'portfwd' (?) to map
dns/pop and then there was another app for socks (req'd for
telnet). All of this makes me want to run wingate via wine (which
I will try soon, actually).  [ Of course, I could just buy another
system to do ipmasq/ipchains...  
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)" 
		height="24" width="20" align="middle"> ] 
Anyway... have I missed an obvious solution? 
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)" 
		height="24" width="20" align="middle"> Thanks, - Paul
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
I don't know what sort of proxying WinGate does.  So
I can't address the issue of a transparent, drop-in
replacement for it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Squid may be "monstrous overkill" for your situation.
However, it will probably provide the key features you
need and it doesn't take appreciably more memory, CPU,
or (non-cache) disk space than any other proxying system.
<A HREF="http://www.apache.org/">Apache</A> can also be 
configured to act as a caching proxy web server.
</BLOCKQUOTE>
<BLOCKQUOTE>
You could get the SOCKS RPMs from any 
<A HREF="http://www.redhat.com/">Red Hat</A> "contrib"
site/mirror.  WinGate probably implements the SOCKS
protocols (which govern how client software traverses
a proxy; how it relays it's service requests through the
proxy).  There are also a couple of other SOCKS
compatible proxy server packages for Linux including
DeleGate, and Dante (find them both on Freshmeat
at <A HREF="http://www.freshmeat.net"
	>http://www.freshmeat.net</A>).
</BLOCKQUOTE>
<BLOCKQUOTE>
You don't have to add ipportfw or autofw (or tcprelay or
udprelay, or any of its cousins).  These are all small
utilities that can listen on a given TCP/UDP port and
relay traffic to another system.   They are more
useful to virtual host <EM>servers</EM> on a private net.
</BLOCKQUOTE>
<BLOCKQUOTE>
Consider the following scenario:
</BLOCKQUOTE>

<blockquote><pre>
  /^^^^^^^^^^^\     ______
 |  Internet   | ---| fw |------   (Internet LAN)
  \___________/     ~~+~~~           192.168.1.*
                      |
                      +--- (servers)
                           192.168.2.*
</pre></blockquote>
<BLOCKQUOTE>
In this simple diagram we show a gateway/router/firewall
(running Linux).  It has three interfaces.  One leads to the
Internet.  Let's think of that as ppp0 though it doesn't
matter what sort of IP interface we use.  Another leads to
our internal LAN (let's call it eth0) and the other leads
to a small segment with one or more <EM>different types</EM> of
servers.
</BLOCKQUOTE>
<BLOCKQUOTE>
We use <tt>192.168.1.*</tt> addresses (one of the RFC1918 "reserved
net" address blocks) on the internal LAN.  We use another
RFC1918 on the other (we can use any of the <tt>192.168.x.*</tt>
addresses and we can subnet them in whatever fashion we like).
</BLOCKQUOTE>
<BLOCKQUOTE>
But wait!  We can't run an Internet server on an RFC1918
address!  No router on the Internet will have valid routes
to any of those addresses.  True enough.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, we do have <EM>one</EM> valid, real Internet address
(direct routable IP address or DRIP).  We might not want
to run a web server, DNS server, mail relay or other service
on our router (due to security, administrative, or capacity
considerations).  So we put ipportfw to relay connections
to our router's web, DNS, or SMTP ports to one or more
machines on the bastion segment.  This makes '<tt>fw</tt>' (our
firewall/router) "appear" to be a multi-service host
--- though it is only running a simple set of
port forwarders.  (Actually you really wouldn't <EM>need</EM> to
have a third segment --- you could port forward or relay
into hosts on your internal LAN.  However, I wouldn't
recommend that --- since any attacker that subverts one
of those servers through the relayed connection can then
attack <EM>all</EM> of your other systems --- rather than
being isolated to one segment).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note: I've never actually done this.  However, that's what
the IP, TCP, and UDP port forwarding utilities seem to be
for.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, this doesn't seem to meet your needs.  You want
to support the clients on your LAN in their access to
public services out on the net.  You don't seem to have
any need to provide services ("virtual" or "relayed" or
whatever) to the 'net.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, you can use proxying.  You can run a caching web
server proxy (like Squid and/or Apache or even the old
CERN web server).  You can also run a caching name server
on your gateway system.  This is handy since your
gateway (<tt>fw</tt>) has routes to your internal LAN and to the
net.  So it can reply to DNS request by your internal
clients and make them of the outside world.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can also use IP masquerading (using the ipfwadm command
for your 2.0.x kernels and the newer, snazzier, ipchains
command for 2.2).  This is basically an alternative to
proxying.  You can think if IP masquerading (a particular
form of "Network Address Translation" or NAT) as a
"transparent, transport layer proxying" method.  If you
have a proxy server in place, and all of your client
software supports the proxy (through the SOCKS protocol)
then you don't need NAT/IP masquerading.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's possible to use them together (so your SOCKSified
clients talk to the proxying servers on your system, and
anything else still goes through the NAT system.  It's
possible to do this with just one router --- and it's
even useful for some cases.  For example, using some
services is difficult and someone unreliable through a
masquerading router.
</BLOCKQUOTE>
<BLOCKQUOTE>
Protocols like FTP pass IP addresses <EM>in band</EM> (as part of
the data/payload of the control connection --- to be used to
establish a series of data connection from the server back
to the client). This is trivial for programs to support at
an applications layer and very difficult to do at the
transport layer (from "under the hood").  It's like
cartography --- making a map by walking around in the forest
takes a lot of work --- doing it from a higher level is much
handier.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, try one of the SOCKS compatible server packages.
If that gives you any trouble try a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
ipfwadm -F -a acc -m -S 192.168.0.0/16
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... one your fw system.  This will add (<tt>-a</tt>) a rule
to the forwarding (<tt>-F</tt>) table in the kernel to accept
(acc) for masquerading (<tt>-m</tt>) any packages with a source
address (<tt>-S</tt>) from any of the <tt>192.168.x.*</tt> ranges (to
anywhere).
</BLOCKQUOTE>
<BLOCKQUOTE>
The reason we don't have to be explicit about destinations
and interfaces is because the determination of which packets
are presented to the which packet filtering tables is done
by the kernel's routing table.  Teh filtering tables decide
which ones to drop, accept, reject and "re-write"
(masquerade).  So that's all given.
</BLOCKQUOTE>
<BLOCKQUOTE>
If we add the following two rules:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
ipfwadm -F -a acc -m -S 172.16.0.0/12
<br>ipfwadm -F -a acc -m -S 10.0.0.0/8
</code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
we've configured our system to gleefully masquerade IP
packets from ANY RFC1918 address --- so you can use any
of them for any of your intenal LANs, segments, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
I personally doubt that WinGate will work properly
under <A HREF="http://www.winehq.com/">WINE</A> --- 
and it seems very unlikely that it would
give decent performance or stability.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 24 -->

<hr width="40%">

<!-- begin 27 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Drop-in Replacement for "WinGate"</H3>


<p><strong>From Paul A Pick  on Tue, 23 Feb 1999  
</strong></p>
<!-- ::
Drop-in Replacement for "WinGate"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><FONT COLOR="#000099"><EM>
<BR>&gt;[M]y question is: are you aware of proxy software for linux
<BR>&gt;which can behave like wingate?
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
There are also a couple of other SOCKS
compatible proxy server packages for Linux including
DeleGate, and Dante (find them both on Freshmeat
at <A HREF="http://www.freshmeat.net"
	>http://www.freshmeat.net</A>).
</EM></FONT></STRONG></P>
<P><STRONG>
There ya go. I had never heard of freshmeat... (sorry guys)
</STRONG></P>
<P><STRONG>
I just downloaded delegate and it looks to be <em>exactly</em> what I
was looking for... it seems to be available only as source
(for linux) but compiled no problem at all. I'll try configuring
it in the next coupla days.
</STRONG></P>
<P><STRONG>
Interestingly, delegate (according to the documentation, at least)
runs under windows as well. This means that I could chuck wingate
(if I wanted to) and have a very consistent interface to my client.
</STRONG></P>
<P><STRONG>
[ illustration of ipportfw snipped ]
</STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
Note: I've never actually done this.  However, that's what
the IP, TCP, and UDP port forwarding utilities seem to be
for.
</EM></FONT></STRONG></P>
<P><STRONG>
Yes, but I was trying to twist them to my own ends anyway.
</STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
You can also use IP masquerading (using the ipfwadm command
for your 2.0.x kernels and the newer, snazzier, ipchains
command for 2.2).
</EM></FONT></STRONG></P>
<P><STRONG>
Alas, my win95 interface and my linux interface must be consistent.
</STRONG></P>
<P><STRONG>
I don't want to think about the client system's net access should I
decide to play half-life, for instance.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
In both cases the clients can point to your server/gateway
as their default route.  It just shouldn't be a problem.
</BLOCKQUOTE>
<P><STRONG><FONT COLOR="#000066"><EM><IMG 
	SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0" >
I personally doubt that WinGate will work properly
under <A HREF="http://www.winehq.com/">WINE</A> 
--- and it seems very unlikely that it would
give decent performance or stability.
</EM></FONT></STRONG></P>
<P><STRONG>
I gave it a shot and it didn't fire up at all. It encountered a
fatal error in 'kernel32' or some such. I wasn't too interested
in performance (my load average is generally 0.00) but stability
would be an issue. A 'moot' issue, as it turns out. 
<IMG SRC="../gx/dennis/smily.gif" ALT=":)" 
		height="24" width="20" align="middle">
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Presumably WinGate is Win32s (or such).  WINE only
has very limited and preliminary support for Win32s.
</BLOCKQUOTE>
<BLOCKQUOTE>
I expect that the moment that WINE has reverse
engineered reasonable support for the Win32s APIs
we'll see a new Win32X out of Redmond and a suite
of compilers that generate the new code by default
--- to minimize the compatibility and interoperation.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Thanks for the info. Would you like to know how the delegate
configurations go?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Sure.  You could submit an article or review to
the Linux Gazette.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 27 -->

<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/26"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 26 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Jim Dennis: Re: Gimp on RH5.1</H3>

<p><strong>From Rene Travera on Mon, 22 Feb 1999  
</strong></p>
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
I have a problem trying to run The Gimp on RH5.1, I get the
next messages:
</STRONG></P>
<P><STRONG><code>
gimp: error in loading shared libraries
<br>: undefined symbol: __register_frame_info
</code></STRONG></P>
<P><STRONG>
Can anybody tell me how to solve this?
</STRONG></P>
<P><STRONG>
Thanks a lot.
Rene Tavera
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
It sounds like you don't have the proper library
installed (or that your <tt>ld.so.cache</tt> hasn't been updated
to find it).
</BLOCKQUOTE>
<BLOCKQUOTE>
Try running the '<tt>ldconfig</tt>' command (just '<tt>ldconfig</tt>' 
and <tt>[Enter]</tt> --- no arguments).  If that doesn't help then
my guess would be that you need to install the Gtk libraries.
</BLOCKQUOTE>
<BLOCKQUOTE>
Did you install this with an RPM, from a tarball, or
from sources?  Did you just try to copy the GIMP
binary from another system?
</BLOCKQUOTE>
<!-- sig -->

<!-- end 26 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/28"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 28 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>How 'ntpdate' finds IP addresses?</H3>


<p><strong>From Pete O'Donnell  on Tue, 23 Feb 1999  
</strong></p>
<!-- ::
How 'ntpdate' finds IP addresses?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
In an article on setting system clocks to atomic clock time, you referred to
the following line:
</STRONG></P>
<PRE><STRONG><code>
/usr/sbin/ntpdate -s ntp.ucsd.edu ns.scruz.net ntp1.cs.wisc.edu
</code></STRONG></PRE>
<P><STRONG>
Do these 3 servers have entries in the <TT>/etc/ntp.conf</TT> file or 
is there some sort of host file set up on your machine?  How does the 
<tt>xntpd</tt> daemon find the corresponding IPs.  Let me know.  
Thanks answer guy.
</STRONG></P>
<P><STRONG>
-Pete O'Donnell
<br>LiveNetworking
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
The <TT>/etc/ntp.conf</TT> file is used by xntpd --- not be
by the ntpdate command.  The '<tt>ntpdate</tt>' command finds
IP addresses that correspond to these host names in
the same way that any other Unix utility or application
does.  Almost all Unix utilities that do any sort of
network operation are linked against a set of "resolver"
libraries.  The "resolver" libraries differ a bit
among systems --- but most of them look in the <TT>/etc/hosts</TT>
file, for a hostname match (grabbing an IP address from
there if they find one) and then read the <TT>/etc/resolv.conf</TT>
file for a list of nameservers (DNS).  In other cases
your resolver libraries might make requests (RPCs?) of
one or more NIS (YP) servers in your NIS domain, and
newer configurations --- using glibc's modular NSS (name
services switching) as controlled by <TT>/etc/nsswitch.conf</TT>
might query LDAP, NDS (Novell) or other backend
directory/name services systems for their mapping.
</BLOCKQUOTE>
<BLOCKQUOTE>
(Under libc5 there was a <TT>/etc/hosts.conf</TT> that gave more
limited and less extensible control over which name services
were/are queried and in which order).
</BLOCKQUOTE>
<BLOCKQUOTE>
Read the man pages for those files (<TT>/etc/hosts</TT>,
<TT>/etc/nsswitch.conf</TT>, <TT>/etc/hosts.conf</TT> and 
<TT>/etc/resolv.conf</TT>) for some details.  You can also look at
<A HREF="http://www.openldap.org"
	>http://www.openldap.org</A> for some cool info about future
use/deployment of LDAP.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 28 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/29"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 29 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Sportys</H3>


<p><strong>From CC  on Tue, 16 Feb 1999  
</strong></p>
<P><STRONG>
Hi
</STRONG></P>
<P><STRONG>
My 4 year old 28.8 sporty  has performed perfectly, it
was a little cheaper but I don't know why you "diss" em.
Still keeps up with the so called 56.6s, I dunno' I scored man.
<br>CC
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
The Sportster is simply not rated for the duty
cycles that would be imposed by use on a BBS or
ISP terminal server.  I've managed a couple of
large BBS systems over the years (the 100 line
Symantec BBS a few years ago, and the 40 line
McAfee BBS --- expanded to about 60 by the time
I left).
</BLOCKQUOTE>
<BLOCKQUOTE>
Sportsters are a consumer/commodity product.
They're suitable for a few hours use per day
--- but they get unreliable when receiving calls
and staying "live" for weeks on end (which is
what happens at busy BBS' and ISPs).
</BLOCKQUOTE>
<BLOCKQUOTE>
Another problem I personally have with them is the
physical shape.  They are not "stackable" and
the case design doesn't lend itself to good cooling.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've found (for high density applications) that
placing the couriers on their sides (not stacked
"up" but arrayed like books) and placing some additional
fans on the racks helps keep them cool and makes them
MUCH more reliable.
</BLOCKQUOTE>
<BLOCKQUOTE>
I like "baker's" wire racks for these installations, about
as sturdy as 19" racks and <EM>much</EM> cheaper --- they just
don't look as "cool".  One nice thing about baker's racks;
you can pack them in pretty close to the walls and to
one another (side to side) --- and (since they are on
large locking wheels) still maintain fairly easy access to
the back panels (to get at the wiring nest).
</BLOCKQUOTE>
<BLOCKQUOTE>
I realize these factors exhibit a "big installation"
(glass house) bias.  For my own home modems I have a
couple of 28.8 Practical Peripherals (the "flat pack"
model, not the hideous "brick") and a Zyxel.  I just
bought the Zyxel for some time when I get around to
playing with vgetty's DTMF and voice modem support
features (eventually).
</BLOCKQUOTE>
<BLOCKQUOTE>
I don't remember the context in which I "dis'd" the
Sportsters --- but I'm not surprised I did.  I've
never been impressed with them.  It's a personal
bias.  BBS Sysops often are extremely biased about their
modems; I'm only moderately so.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 29 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/30"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 30 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>soundcards</H3>


<p><strong>From Oxy Amigo  on Mon, 15 Feb 1999  
</strong></p>
<P><STRONG>
I have a Mediavision PAS16, a ALS100+ and a SoundBlaster Live!, can i
put, at the same time the tree on Linux <A HREF="http://www.redhat.com/">Red Hat</A> 5.2? I just want 6
analog audio inputs.
</STRONG></P>
<P><STRONG>
Thanks.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
I doubt that it's possible.  Many sound cards take up
two IRQs and one or two DMA channels.  You probably
don't have six available IRQs and 3 to six available
DMA channels.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can configure all of the hardware to co-exist
(setting all of the various I/O port, IRQ, DMA channel
addresses uniquely for all of them) then you can probably
get Linux to concurrently access them.  (You might have
to do some kernel patches or play some games with obscure
kernel boot parameters, module command line options,
and module load order and/or driver autoprobing order.
I don't know --- I'm not a C programmer).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you looked around a bit you might find a professional
sound mixing subsystem that you can interface to your
PC to give you six or more high fidelity audio inputs.
I'm not an audiophile, nor a sound engineer either.
</BLOCKQUOTE>
<BLOCKQUOTE>
One of the guys at SVLUG has set up a portable MBone
multimedia broadcast system which seems to be capable
of three video/audio feeds (I'm not sure if that's
switched or concurrent, though I'm now curious enough
to ask).
</BLOCKQUOTE>
<BLOCKQUOTE>
Have you tried to do this?  What sorts of problems
did you bump into?  What is it that you're actually
trying to do?  (What intended application leads to your
your requirements)?
</BLOCKQUOTE>
<!-- sig -->

<!-- end 30 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/31"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 31 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Linux as a Loghost (Syslog Server)</H3>


<p><strong>From Ravi Shah  on Thu, 25 Feb 1999  
</strong></p>
<!-- ::
Linux as a Loghost (Syslog Server)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Thanks a lot. It works.  Do you have any book you are writing
specifally for Linux and does include most of the questions that
you have been answering for quite a while ?  I would be very much
interested in your book if you have one out or writing one.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
As a matter of fact I am writing a book for Linux
system administrators.  My co-author is taking over
quite a bit of the load (smoothing out the sectional
organization and the transitions between core content
elements).
</BLOCKQUOTE>
<BLOCKQUOTE>
I hope to have it done RSN (&quot;real soon now&quot;(TM)).
(It should be &quot;Linux Systems Administration&quot; from
Macmillan Computer Publishing).
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm glad that helped.  Incidentally, if you try to
use the -m option on some of your Linux clients ---
to force them to periodically generate "heartbeat"
or "timestamp" messages, you should be aware that this
feature was broken until fairly recently.  (It used to
work, years ago, then stopped working in later releases
and the author/maintainer assured me that it should be
working if you get the latest copy --- I don't have the
details handy --- but it shouldn't be too hard to dig up).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Thanks again for your great help.  Ravi
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
[In response to]:
</BLOCKQUOTE>
<P><STRONG><FONT COLOR="#000099"><EM><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
<BR>&gt;Dear Answerguy :
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM><BlockQuote>
<BR>&gt;This has been one of the best support for Linux is out there that
<BR>&gt;I know of by searching for my question about syslog.  This is one
<BR>&gt;of the better site I have seen in a long time.
</BlockQuote></EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
I hope to provide even better support through
my new employer: LinuxCare (commercial Linux support).
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
However, I'll be continuing to volunteer time through
LG as well.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
<BR>&gt;Here is my quesion and your help will be greatly appreciated !!
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
<BR>&gt;I am running Redhat 5.0 distribution of Linux on Dell Pentium 166,
<BR>&gt;and it works fine with dual boot of NT.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000099"><EM>
<BR>&gt;I would like to use this machine to be a syslog server for Cisco
<BR>&gt;routers since we are major ISP.  I have setup local7 facility to
<BR>&gt;logged the debug messages, but Linux is not logging any debug
<BR>&gt;messages from Cisco router.  I have issued service timestamp
<BR>&gt;commands from cisco router, and it does not work !!  Similar
<BR>&gt;setting works fine in Solaris, but not in Linux !! Help..  Thanks.
</EM></FONT></STRONG></P>
<Pre><STRONG><FONT COLOR="#000066"><EM>
NAME
sysklogd - Linux system logging utilities.

SYNOPSIS
syslogd [ -d ] [ -f config file ] [ -h ] [ -l hostlist ] 
        [ -m interval ] [ -n ] [ -p socket ] [ -r ] 
        [ -s  domainlist ] [ -v ]

-r     This  option  will  enable  the facility to receive
       message from the network using an  internet  domain
       socket  with  the syslog service (see services(5)).
       The default is to not receive any messages from the
       network.

       This  option  is  introduced  in version 1.3 of the
</EM></FONT></STRONG></Pre>

<P><STRONG><FONT COLOR="#000066"><EM>
Basically the older version of the syslog daemon
would accept syslog messages by default --- from any
machine that could get the right packets routed to
them.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
However there was a buffer overflow (bug) a few years
ago which brought attention to the fact that very few
systems need to act as remote loghosts (and that there
is no sense in leaving the rest vulnerable to remote
attacks through this service.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
So the default was changed and now (which any recent version
of syslogd (klogd) you have to add this parameter to your
start script (or inittab entry) to force it to allow
reception and logging from other systems.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
I still recommend that you put the log host behind a
set of packet filters (Cisco IOS "access control lists")
to ensure that spurious and hostile log messages can't
reach your loghost.
</EM></FONT></STRONG></P>
<!-- sig -->

<!-- end 31 -->
<!--     .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.     -->
<A NAME="tag/32"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 32 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Telnetd and pausing</H3>


<p><strong>From Clive Flint  on Thu, 25 Feb 1999  
</strong></p>
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I have made a Linux server using a Tulip dt5/100 machine with 40Mb
Memory, a 16Mb swap file and a 1Gb hard disk.
</STRONG></P>
<P><STRONG>
I have a problem that when I try to telnet into the machine it
doesn't respond for about 30-40 seconds. Once it has responded
then it will talk quite normally.
</STRONG></P>
<P><STRONG>
If I then start another telnet session on my pc it again pauses
for the 30-40 seconds. Is there any reason and is there anything
that can be done.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
This is a classic problem.  TCP Wrappers (<TT>/sbin/tcpd</TT>)
is attempting to check the consistency of your name
and IP address using its "double reverse DNS lookup."
</BLOCKQUOTE>
<BLOCKQUOTE>
I've described this before but the short form is:
tcpd does a reverse lookup to associate a name with
your IP address.  It then does a forward lookup on
that purported name and scans the responses for your
IP address.  A properly maintained domain will have
consistent forward and reverse mappings.
</BLOCKQUOTE>
<BLOCKQUOTE>
The reason Wietse Venema (author of TCP Wrappers) does
this is to allow you to use host and domain names in
your <TT>/etc/hosts.allow</TT> and <TT>/etc/hosts.deny</TT> files while
reducing the risks inherent in that.
</BLOCKQUOTE>
<BLOCKQUOTE>
Consider the case of someone who controls any reverse DNS
domain (that is anyone who "owns" or has subverted any
nameserver to which a range of IP address <TT>PTR</TT> records as
been delegated).  It is trivial for them to return <EM>any</EM>
name they like in response to reverse DNS requests.
However, it would be non-trivial for an outsider to
modify your forward DNS zones (and, if they could they could
use "man-in-the-middle" attacks against most common
prototols to disrupt your system in many creative ways).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, tcpd uses a "double reverse" method.
</BLOCKQUOTE>
<BLOCKQUOTE>
The easy solution for real IP addresses which have been
properly delegated to you by your ISP or through the IANA
(or your national address registry) is to simply update
your reverse zone maps to match the forward ones.
</BLOCKQUOTE>
<BLOCKQUOTE>
The reason this only affect the initial connections,
and that it only affects a limited set of services is
because tcpd is only active for those services which are
listed in the <TT>/etc/inetd.conf</TT> as being launched by <tt>tcpd</tt>
with lines like:
</BLOCKQUOTE>

<blockquote><pre>ftp	stream	tcp	nowait	root	/usr/sbin/tcpd	in.ftpd
</pre></blockquote>
<BLOCKQUOTE>
(You'd see similar affects from programs that are
linked with "<tt>libwrap</tt>" --- a compiler library which
implements the same set of host access checks as
TCP Wrappers).
</BLOCKQUOTE>
<BLOCKQUOTE>
The reason your web services aren't affected is because
they aren't launched through <tt>inetd</tt> and they aren't
compiled with <tt>libwrap</tt>.  (And they don't do these
double reverse lookups).
</BLOCKQUOTE>
<Pre><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>ip numbers
192.9.200.1 clive.clara.net (linux server)
192.9.200.100 cef1 (winnt machine)
192.9.200.101 clivemob (win98 machine)
</STRONG></Pre>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
I believe you should be using RFC1918 addresses
for these systems since the real address for
<tt>clive.net</tt> seem to cluster in the <tt>195.8.69.*</tt> range
and a reverse lookup of <tt>192.9.200.0</tt> suggests that
those are not assigned at this time.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm assuming that you've just "picked these out of a
hat" --- that they haven't been delegated to you.  This
also suggests that you're using masquerading or a
set of applications proxies (such as SOCKS, DeleGate,
Danta, etc) to access the 'net.
</BLOCKQUOTE>
<BLOCKQUOTE>
You could configure your nameserver for "split" DNS
or you could configure an internal nameserver (used
by all your internal systems).  Another technique is
to simply put the appropriate entries in your <TT>/etc/hosts</TT>
file.  This will bypass DNS (and reverse DNS) queries
for most services.  The '<TT>gethostbyaddr()</TT>' library
function will find the IP address and name in the
<TT>/etc/hosts</TT> file first (under most common configurations).
</BLOCKQUOTE>
<BLOCKQUOTE>
(That might fail if you've changed your <TT>/etc/hosts.conf</TT>
(libc5) or <TT>/etc/nsswitch.conf</TT> (glibc).  However, it's
incredibly unlikely that you've touched either of
those files).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
The server is running dhcp service and that works fine. If I web
to it it responds immediately with no delay.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Like I said --- this only affects TCP wrapped services
(and others that would do similar consistency checks.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Any help would be gratefully received.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Try adding the appropriate IP addresses to the <TT>/etc/hosts</TT>
files on the involved servers.
</BLOCKQUOTE>
<!-- sig -->

<!-- end 32 -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P> 

<!-- QUICK TIPS SECTION ==================================================  -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.gif">
More 2&#162; Tips!</A></H1> <BR>
Send Linux Tips and Tricks to <A HREF="mailto:gazette@ssc.com">
gazette@ssc.com
</A></center>

<p><hr><p>
<H3>New Tips:</H3>
<ul>
<li><a HREF="./lg_tips38.html#veldwijk">
Multiple booting.
</a>
<li><a HREF="./lg_tips38.html#kahn">
Spell checking an single word
</a>
<li><a HREF="./lg_tips38.html#narendra">
Keyboard Macros in Emacs
</a>
</ul>
<H3>Answers to Previous Questions:</H3> 
<ul>
<li><a HREF="./lg_tips38.html#fonteyne">
Re: A question please: two modems
</a>
<li><a HREF="./lg_tips38.html#zoltan">
Re: Boot SCSI with IDE Disk Too
</a>
<li><a HREF="./lg_tips38.html#avelon">
Supra SupraSonic Int Modem with Linux
</a>
<li><a HREF="./lg_tips38.html#poplawski">
Supra SupraSonic Int Modem with Linux
</a>
<li><a HREF="./lg_tips38.html#brower">
From .02 Tips issue 36: SupraExpress Modem
</a>
<li><a HREF="./lg_tips38.html#winkler">
MIDI question
</a>
</ul>

<P> <hr> <P> 
<!--================================================================-->

<a name="veldwijk"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<font color="navy">
Multiple booting.
</font> </H3>
Date: Mon, 01 Feb 1999 07:04:20 -0500<BR> 
From: "Richard E. Veldwijk", <A HREF="mailto:veldwijk@UU.NET">
veldwijk@UU.NET</A> <BR> 
<P>
As I've got kids and kids tend to play games, I have to have Micro$oft
products on my machine. As I use OS/2 and Linux myself, here's a nice
tip: Install OS/2's boot manager. If you have OS/2 installation
floppies, you can run an OS/2 FDISK and install the boot manager, even
without installing OS/2 itself.
<P>
On my machine, I have two primary C-partitions. The 1st is DOS 6.2, the
2nd is WIN98. I created these with Partition Magic and the OS/2 boot
manager will take care of hiding and unhiding of these partitions.
The 3rd option is Linux, where LILO is loaded from the Linux partition,
instead of the MBR, so it doesn't interfere with M$ crap. Last option
is, needless to say, OS/2 itself. This works really good!
One drawback: Only the last booted C-partition is visible. If you need
to access the other, you'll have to hide one and unhide the other.
<P>
--<BR> 
Richard E. Veldwijk

<P> <hr> <P> 
<!--================================================================-->

<a name="kahn"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<font color="navy">
Spell checking an single word
</font> </H3>
Date: Mon, 8 Feb 1999 01:01:43 -0500 (EST)<BR> 
From: "Ben 'The Con Man' Kahn", <A HREF="mailto:xkahn@cybersites.com">
xkahn@cybersites.com</A> 
<P>
	Many times I want to spell check a single word while I'm using an
application which doesn't support ispell.  I created a small tcsh alias
which can check a single word from the command line.  Here is the alias:
<PRE>
alias spell 'set j=`mktemp /tmp/spell.XXXXXX`; rm -f ${j}*; echo \!:1 >
${j}; ispell ${j}; cat ${j}; rm -f ${j}*; unset j'
</pre>
	Please note that the inner quotes are back quotes. This makes the
command run and assigns the output to a variable.  I have no idea how to
do this in bash.  :^/
<P>
--<BR> 
Benjamin Kahn

<P> <hr> <P> 
<!--================================================================-->

<a name="narendra"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<font color="navy">
Keyboard Macros in Emacs
</font> </H3>
Date: Mon, 01 Feb 1999 19:09:16 +0500<BR> 
From: Vishwas Narendra, <A HREF="mailto:vishen@md2.vsnl.net.in">
vishen@md2.vsnl.net.in</A>
<P> 
This is my $0.02 tip on how to use Emacs for programming with a bit
of lesser work for your fingers. Emacs has something known as
 keyboard
macros. To create a keyboard macro type `C-x (' when you're editing
 any
file(let's say a C source file). Now when the minibuffer says `Defining
kbd macro' type in whatever you want to automate. Take for example you
want to automate the line :

<P><TT>int main(int argc, char
 **argv)</TT>
<BR><TT>{</TT>
<BR>&nbsp;
<BR>Once you've finished typing this type `C-x )', emacs should say
 `Keyboard
macro defined'. Now you must name your macro, so that you can call it
 later.
Just type `M-x name-last-kbd-macro'. It then prompts for the name. In
 our
example, let's call this as `main-type' or something like that. Now
 open
your .emacs file. When the .emacs file is open, come to the end of the
file and type `M-x insert-kbd-macro'. When it asks for the name of the
macro to insert type in the macro name you had given last time. And
 emacs
automatically inserts the Lisp code for your macro.

<P>Now in order to call the macro you must use `M-x &lt;macro-name>'.
 But
this doesn't do much good because the whole idea of macros is to
 decrease
your typing and this makes it worse. This problem is overcome by
 using
keyboard mapping. The next step is to map the macro to one of the
 function
keys.

<P>Depending on whether you need the macro in all modes or not you can
use the functions global-set-key or define-key. 

<P>1. Here is an example for the global-set-key which you can add to the
 end
of the .emacs file:

<P><TT>(global-set-key "\C-cm" 'main-type)</TT>

<P>Now the next time you reload emacs, when you type C-c m the whole
code (not really, just this one line) gets typed for you. Please note
here that it is a bad idea to use keys that have already been
mapped. The most preferable combination is Control C + &lt;yourkey>. 

<P>2. If you want the keys to be mapped only in the cc-mode, then place the
 following code in your c-mode-common-hook:

<P><TT>(define-key c-mode-base-map "\C-cm" 'main-type)</TT>

<P>The only problem with the first method is that since you have
 only
limited keys on the keyboard, they get used up very quickly. Moreover,
when you're editing something like a html file, you wouldn't
wan't emacs to spew out characters like `int main' etc.
 
<BR>&nbsp;

<P><B>PS to gurus</B>: Please note that I myself am a beginner in
 emacs.
I've used it for only six months now. If there is any mistake in what
 I've
written, please don't hesitate to write to me.
<P> 
--<BR>
Vishwas


<P> <hr> <P> 
<!--================================================================-->
<H4><font color="maroon">
Tips in the following section are answers to questions printed in the Mail
Bag column of previous issues.
</font></H4> 

<P> <hr> <P> 
<!--================================================================-->

<a name="fonteyne"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <font color="navy">
Re: A question please: two modems
</font> </H3>
Date: Wed, 24 Feb 1999 17:56:21 +0100<BR> 
From: Christophe Fonteyne, <A HREF="mailto:christophe.fonteyne@lu.gmeds.com">
christophe.fonteyne@lu.gmeds.com</A> 
<P>
It is impossible to connect two modems over a telephone line at a speed
of 56 Kbps.
The reason for that is that the maximum traffic over a telephone line is
64 Kbps.
In order to obtain that speed, both parties need to have a didgital
connection. When you dial up to your provider at 56 Kbps, you're not
dialling to an analogue modem, like you have yourself, but insteed,
you're dialling an ISDN modem...ie digital.
Therefore you cannot have the full 64 Kbps, but only 56 Kbps (loosing 8
KBPS).
Now if you set up a connection between 2 anaolgue modems, you will loose
twice the 8 Kbps, leaving you with a maximum transfer rate of 48 Kbps.
This is only when the lines are in optimal condition, which is rarely
the case. Also, make sure the transfer rate of your serial ports is set
high enough (eg stty 57600 ).
<P>
--<BR> 
Christophe

<P> <hr> <P> 
<!--================================================================-->

<a name="zoltan"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <font color="navy">
Re: Boot SCSI with IDE Disk Too
</font> </H3>
Date: Tue, 2 Feb 1999 21:54:40 +0100<BR> 
From: "B&ouml;sz&ouml;rm&eacute;nyi Zolt&aacute;n", <A HREF="mailto:zboszor@mol.hu">zboszor@mol.hu</A> 
<P>
A local ISP tried to install LILO in a machine that has both
IDE (three disks) and SCSI, and for him the only variation
that worked was when there was no primary master IDE disk,
one of the IDE disks was the slave on the primary controller.
<P>
The BIOS of course allowed to boot from SCSI but LILO
complained all the time that /dev/sda in not the first disk
until the above setting.
<P>
After installing LILO the primary slave could be jumpered
as master but not recommended.
<P>
--<BR> 
Zoltan Boszormenyi

<P> <hr> <P> 
<!--================================================================-->

<a name="avelon"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <font color="navy">
Question in lg-37
</font> </H3>
Date: Tue, 9 Feb 1999 10:52:04 +0100<BR> 
From: Ian Carr-de Avelon, <A HREF="mailto:ian@emit.pl">
ian@emit.pl></A> 
<P>
A reaction to:
<blockquote> <font color="navy">
   I have two 3com modems v90's one is internal "3com v90 voice" and the
   other is External 3com v90 .... I am using each one with a Linux
   System and have them connected to each others by a telephone line ....
   my problem is that I don't get the 56 speed that v90 should have. I
   get 33 or some thing like that... is there a way to tune up the modems
   in Linux operating systems? Thanks a lot.
</font></blockquote> 

Unfortunately this is nothing to do with Linux, so normal folks can't meddle
with it, as they could if it were  something in Linux. The "56K" speed is
possible only in one direction, and relies on there being a digital connection
to the phone system at the faster sending end. To get 56K in one direction
you will need to change one end to ISDN and purchase suitable equipment
for that end Eg. USR Courier-I. Depending on the cost of ISDN where you
are, you may be better looking at ISDN  at both ends as equipment   for
straight digital ISDN is much cheaper.
<P> 
--<BR> 
Ian

<P> <hr> <P> 
<!--================================================================-->

<a name="poplawski"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <font color="navy">
Supra SupraSonic Int Modem with Linux
</font> </H3>
Date: Mon, 08 Feb 1999 09:58:51 PST<BR> 
From: "tom poplawski", <A HREF="mailto:tom_poplawski@hotmail.com">
tom_poplawski@hotmail.com</A> 
<P>
I have seen the Red Hat page and this about Supra Modems and Linux.  I am 
writing this from my Linux box connected to the Internet with my diamond 
SupraSonic II modem.  I am using Red Hat 5.2 and made no changes at all 
to get this modem working.  I haven't tried using both modems at once - 
yet!  At first glance it appears Linux has recognized the other modem as 
well.  I haven't been able to tell why Red Hat says it won't work but it 
may need some configuration as a Plug and Play board that Linux can't 
provide.  I did use it first in another plug and play operating system 
before Linux.
<P>
--<BR> 
Tom

<P> <hr> <P> 
<!--================================================================-->

<a name="brower"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <font color="navy">
From .02 Tips issue 36: SupraExpress Modem
</font> </H3>
Date: Tue, 1 Dec 1998 09:48:10 -0500<BR> 
From: "Brower, William", <A HREF="mailto:wbrower@indiana.edu">
wbrower@indiana.edu </A> 
<P>
     Richard wrote:
<blockquote> <font color="navy">
     I have a PII (350MHz) running with an AGP ATI 3DRage graphics card 
(which works fine) and a Sound Blaster 16 PnP (which
     also works fine). But, I can't get my internal SupraExpress 56k 
modem to work. 
</font></blockquote> 
Your modem sounded familiar from a past search I had done, so I went to 
Red Hat's www site (http://www.redhat.com/) and followed the
support | hardware link. You will find this reference in the modem 
category: 
<P>
Modems that require software drivers for compression, error correction, 
high-speed operation, etc. 
PCI Memory Mapped Modems (these do not act like serial ports) 
Internal SupraExpress 56k & also the Internal SupraSonic 56k 
<P>
It appears that your modem is inherently not compatible with Linux. I 
use an inexpensive clone modem called the E-Tech Bullet, pc336rvp
model - paid $28 for it and it operates with no problems at all. Good 
luck in finding a compatible modem! 
<P>
--<BR> 
Bill 

<P> <hr> <P> 
<!--================================================================-->

<a name="winkler"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <font color="navy">
MIDI question
</font> </H3>
Date: Tue, 23 Feb 1999 18:47:56 -0500<BR> 
From: Paul Winkler, <A HREF="mailto:zarmzarm@erols.com">
zarmzarm@erols.com</A> 
<P>
Subject: Idea for an article
<blockquote> <font color="navy">
How about a primer on how to set up one's sound card to do true MIDI?
</font></blockquote> 
<P>
Good idea, big topic.
<blockquote> <font color="navy">
I have an Ensoniq AudioPCI card and have been successful in getting it
to play WAV files via the audio
out port and also simulated MIDI using TIMIDITY.
</font></blockquote> 
That is all the card is capable of. The AudioPCI  _does_not_have_ a
hardware midi synth of any kind!
<blockquote> <font color="navy">
But I can't figure out how to get TRUE MIDI rendering like I get with
the same card in Windows 95.
</font></blockquote> 
You've been fooled, I'm afraid. Under Win95, the AudioPCI uses a
software synth (which is what TiMidity is!).  Check your system
resources while playing MIDI... CPU usage should go up.
<P>
If you really want / need a card that really has built-in wavetable
synthesis, make sure you get one that stores the samples in ROM, not
RAM. If the samples go in RAM, you need software to load them at boot
time. This software is provided by the manufacturer and guess what... it
won't run on Linux.
<P>
I have a Turtle Beach Malibu which has a 2MB ROM sample set which sounds
OK. The other snag is I've hardly found any Linux apps which work with
it! (Jazz++ sequencer works.).
<P>
--<BR> 
Paul



<P> <hr> <P> 
<!--================================================================-->
<center>Published in <I>Linux Gazette</I> Issue 38, March 1999</center>
<P> <hr> <P> 
<!--================================================================-->
<A HREF="./lg_toc38.html"><IMG SRC="../gx/indexnew.gif" ALT="[ TABLE OF 
CONTENTS ]"></A> <A HREF="../index.html"><IMG SRC="../gx/homenew.gif" 
ALT="[ FRONT PAGE ]">
</A> <A HREF="./lg_answer38.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<A HREF="./cooper.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>

<P> <hr> <P>
<h5>This page maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com">gazette@ssc.com</A><BR> 
Copyright &copy; 1999 Specialized Systems Consultants, Inc. </H5> 
<P> 

<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H1><font color="maroon">Adding a Second IDE Hard Drive to Your System</font></H1>
<H4>By <A HREF="mailto:thegrendel@theriver.com">Mendel Leo Cooper</A></H4> 
</center>
<P> <HR> <P>  

<FONT SIZE=2 COLOR=#000000>
Consider the advantages of adding a second drive to your system. True,
replacing your present drive with a new, low cost, high capacity one
would seem a better alternative, but...  If you can pick up a used 1.3
gig drive for a coupla bucks at a flea market or you local computer
dealer (he might have accepted it as a trade-in), then this is indeed
the cheapest way to upgrade your storage capacity. If you are planning
to update the kernel on a production system, but are afraid of breaking
some of your apps, then it is a simple matter to copy your entire ~/,
/etc, and /usr directories to the second drive, where they would remain
pristine and untouched by the upgrade. If a few hundred megs would tide
you over for a few months, until you finish paying off your new patio
or gambling debts, then save those bucks until next year, when 20 gig
IDE drives will be a loss leader at your local "Five 'n Dime".
</FONT>

<BR><BR><BR><BR>

<H5>


<OL>

<LI>The physical mount.
<PRE>
     Copy down the specs from the label on the drive.
     Make sure it's jumpered as "slave".
     Mount the drive in a spare drive bay, securing it with several screws.
     Attach an IDE cable from the IDE port on the motherboard.
</PRE>
     
<LI>Update the BIOS with the info for the new drive.
<PRE>
     It may autodetect, but don't count on it. Check the BIOS settings to make
     certain. Setting the 'LBA' option not necessary.
</PRE>

<LI>Partitioning.
<PRE>
     Boot up Linux and partition the new drive:
     As root, fdisk /dev/hdb.
     [primary partition, Linux native]
</PRE>

<LI>Format the new drive.
<PRE>
     mke2fs -cv /dev/hdb1
     [verbose output and check for bad blocks]
</PRE>

<LI>Create a mount point.
<PRE>
     Decide where you will be mounting it and create a mount point.
     For example, if you will mount it as /mnt/drive2, as root,
         cd /mnt
         mkdir drive2
         chmod 777 drive 2
         [makes the new drive accessible to ordinary users.]
</PRE>

<LI>Testing.
<PRE>
     As root, mount -t ext2 /dev/hdb1 /mnt/drive2.
     If no error messages, cd /mnt/drive2, and try creating a directory and
     writing a couple of files.
     If it works, hurray!
     Continue to the final steps.
</PRE>

<LI>Modify /etc/fstab.
<PRE>
     Add the following line to /etc/fstab:
     /dev/hdb1         /mnt/drive2          ext2    defaults     1 1
</PRE>

<LI>Reboot and see if the new drive automounts.

</OL>

</H5>

<BR><BR><BR>

<FONT SIZE=1 COLOR=#000000>

The <A
HREF="http://metalab.unc.edu/LDP/HOWTO/mini/Hard-Disk-Upgrade.html">Hard-Disk-Upgrade
miniHOWTO</A>, by <A HREF="mailto:an@ottawa.com"> Yves Bellefeuille</A>
contains some of the above info, but in a somewhat different context. In
any case, the author of this article figured out how to do it mostly by
<I>trial and error</I> and read the miniHOWTO after the fact.

</FONT>

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Mendel Leo Cooper <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./lg_tips38.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./pollman.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H1><font color="maroon">Compiling Programs on Linux</font></H1>
<H4>By <a href="mailto:jpollman@imcnet.net">JC Pollman</a></H4>
</center>
<P> <HR> <P>  


<div STYLE="margin-bottom: 0.00cm"><font color="#000000">So you are a linux
newbie and want to get your hands dirty. Most of you, myself included,
are not programmers, but that does not mean we can not enjoy the benefits
of open source, and even contribute to the cause. It also means that we
are at a distinct disadvantage when compiling goes wrong. Compiling is
usually very simple: nothing to get worried about and certainly nothing
as hard as programming, but it is not a 100% guaranteed event. What follows
is a beginner's guide to compiling. It is meant to be a 90% solution for
people starting out with linux.</font></div>


<p STYLE="margin-bottom: 0.00cm">Sooner, or later, everyone will download
a program in source code and try to compile it. Even if you are avid follower
of Red Hat or Debian, you will eventually find a program that is either
too old, or too new, to find a precompiled binary. The bad news is that
the code will not always compile no matter what you do - remember, most
linux programs are beta at best. The good news is that the percentage of
programs that compile without problems has increased significantly over
the past five years, and that there are things you can do to "fix" code
that will not compile without being a programmer.

<p STYLE="margin-bottom: 0.00cm"><b>After you download</b>: you now have
some sort of tarball on your disk. First you must uncompress it and untar
it to a directory. By convention, most people untar programs to the directory:
/usr/src. This keeps everything in one place so you can clean it after
time, as well as keep track of which version of the program you have compiled.
You will need to be root to use this directory. The linux tar program can
uncompress and untar a file at the same time if the file was compressed
using gzip. If you have a file named: filename.tar.gz, you can cd to the
/usr/src directory and type:

<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; tar -xzvf /{path
to file}/{filename.tar.gz} <font color="#FF0000">[Enter]</font></i>

<p STYLE="margin-bottom: 0.00cm">and it will uncompress and untar. Here
is a quick explanation of the flags:
<p>&nbsp;&nbsp;&nbsp; x - untar the file
<br>&nbsp;&nbsp;&nbsp; z - uncompress the file
<br>&nbsp;&nbsp;&nbsp; v - verbose - so you can see what is happening
<br>&nbsp;&nbsp;&nbsp; f - what follows is the file you want to untar

<p STYLE="margin-bottom: 0.00cm">If you used Netscape to download the file,
you might get an error. Sometimes Netscape will uncompress the file for
you. So if you try to untar it as listed above you might see:
<div STYLE="margin-bottom: 0.00cm"></div>


<p STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; gzip: stdin: not in
gzip format
<div STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; tar: Child returned
status 1</div>

<div STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; tar: Error exit delayed
from previous errors</div>

<div STYLE="margin-bottom: 0.00cm"></div>


<p STYLE="margin-bottom: 0.00cm">Try the same command, but leave out the
z. So it looks like this:

<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; tar -xvf /{path
to file}/{filename.tar.gz} <font color="#FF0000">[Enter]</font></i>

<p STYLE="margin-bottom: 0.00cm">Instead of gzip, many files are using
bzip2 for the compression, so your file will look like: the-program.tar.bz2.
The z flag for tar will not work. The easiest way to untar the file is
to type: bunzip2 the-program.tar.bz2. This will give you the file: the-program.tar,
which you can untar using:
<div STYLE="margin-bottom: 0.00cm"></div>


<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; tar -xvf /{path
to file}/{filename.tar.gz} <font color="#FF0000">[Enter]</font></i>

<p STYLE="margin-bottom: 0.00cm"><b>After untaring</b>: cd to the directory
that was created when you untared the program. Look at the files in the
directory: ls. You have to read the README and INSTALL files. Do not think
you will get the slightest bit of help from anyone if you do not read these
files. There is a reason why RTFM is one of the most common expressions
on the net. The README and INSTALL files should tell you how to compile
and install the program.

<p STYLE="margin-bottom: 0.00cm">To compile, you issue the "make" command.
In order for "make" to start compiling, it must have a file named: Makefile
(you could issue "make" options on the command line, but that is beyond
the scope of this article.) There are three common ways to start the compile:
simple, Imake, and configure.

<p STYLE="margin-bottom: 0.00cm"><b>Simple compile</b>: If you see is a
file called Makefile - no Imake or configure files, you are going to use
this method to compile. This method of compiling has the most problems
because nothing is configured to your computer. Often times the README
and INSTALL files will tell you to edit some files so it will compile.
Usually you can then type:

<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; make <font color="#FF0000">[Enter]</font></i>
<div STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; make install <font color="#FF0000">[Enter]</font></i></div>


<p STYLE="margin-bottom: 0.00cm">and if all goes well, you can now run
the program.

<p STYLE="margin-bottom: 0.00cm"><b>Imake</b>: If you ls the directory
and there is an Imake file and no Makefile, you use this method. This is
an older way to setup the compiling. Basically, you type:

<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; xmkmf <font color="#FF0000">[Enter]</font></i>
<div STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; make <font color="#FF0000">[Enter]</font></i></div>

<div STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; make install <font color="#FF0000">[Enter]</font></i></div>


<p STYLE="margin-bottom: 0.00cm"><b>Configure</b>: Use this method of compiling
if there is a file named configure in the directory. This is the easiest
way to compile and probably has the highest chance of compiling correctly.
Essentially it checks your entire system for every possible library and
support file to ensure you can compile the program, and then creates the
Makefiles with the correct information. To compile, type:

<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; ./configure <font color="#FF0000">[Enter]</font></i>
<div STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; make <font color="#FF0000">[Enter]</font></i></div>

<div STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; make install <font color="#FF0000">[Enter]</font></i></div>


<p STYLE="margin-bottom: 0.00cm">Notice the ./ in front of the first command.
When you type a command, you shell looks for the files in your path. It
does not start looking in your current directory, so if ./ (which means:
current directory) is not in your path, even though ls can see the file,
your shell can not it. The shell can execute make because it is usually
in /usr/bin which is in your path. To see your path, type:

<p STYLE="margin-bottom: 0.00cm"><i>&nbsp;&nbsp;&nbsp; echo $PATH <font color="#FF0000">[Enter]</font></i>

<p STYLE="margin-bottom: 0.00cm">If things go wrong:

<p STYLE="margin-bottom: 0.00cm">The most common cause of not compiling
is missing files. Almost all programs rely on support programs/files/libraries.
If they are missing, the program can not compile. The README/INSTALL files
should have told you which files, and which version of the files, you need
to compile the program. Note: the wrong version will kill you just as much
as not having it at all. Usually you will know if this is the problem because
the error statement at the end of the compile will tell you it can not
find a certain file. Note: sometimes you have the file, but it is not where
the Makefile says it is. Use your linux distribution install program, e.g.
rpm, and check to see if you have the missing file. If not, go get it.
If you do have it, and it is the correct version, check the Makefile to
see where it thinks the file is. Example: say the file moc is in /usr/local/bin,
but the Makefile says: moc=/opt/bin/moc. Then just edit the Makefile (with
vi or whatever you use for text editing) and change where moc is located.

<p STYLE="margin-bottom: 0.00cm">The next most common problem is missing
include files. Most of the files in the program source directory have lines
near the top that look something like this:

<p STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; #include &lt;gtk/gtk.h>
<div STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; #include &lt;netinet/in.h></div>

<div STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; #include &lt;arpa/inet.h></div>

<div STYLE="margin-bottom: 0.00cm">&nbsp;&nbsp;&nbsp; #include &lt;stdlib.h</div>


<p STYLE="margin-bottom: 0.00cm">These "h" files (or headder files) must
exist on your computer. As a minimum, check that you have the kernel headder
files by: ls /usr/include/linux. If you have installed libraries, like
gtk, make sure you have also installed the devel files for them as well.
Sometimes having multiple versions of the same library can cause problems
as each version could put its header files in different places and you
will not know which files the compile will use.

<p STYLE="margin-bottom: 0.00cm">If you have made all the necessary changes
to the Makefiles and have all the libraries and include files and it still
will not compile do the following IN ORDER:

<p STYLE="margin-bottom: 0.00cm">1. If you downloaded the program from
a site other than the home site for this program, go to the home site and
see if there is a newer version available.

<p STYLE="margin-bottom: 0.00cm">2. Go to <a href="http://www.dejanews.com/">www.dejanews.com</a>
and search for your program. It is very likely that others have had the
same problem and posted solutions.
<p>3. If all else fails, email the author. Most program authors are very
interested in improving their program and bug reports/suggested improvements
are usually well received (remember: this is linux, not commercial software.)
Note: your bug report had better say something more than "it did not compile"!
I usually email the last 10, or so, lines from the xterm compile window
so the author can see exactly where it died. If I really like the program,
I will email the author after every new version and give him/her as much
useable feedback as I can. Please note: programmers are humans too - they
go on two week vacations, change jobs and locations, and some even have
to go to class once in a while, so do not expect an immediate reply.

<p STYLE="margin-bottom: 0.00cm">Lastly, there are some programs that have
unique compile setups: qt and the kernel come immediately to mind. To compile
them, I will beat the horse one last time: read the README and INSTALL
files!
<br>&nbsp;

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, JC Pollman <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./cooper.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./gm.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<!-- =============================================================
		These pages are designed by Michael J. Hammel.  Permission to 
		use all graphics and other content is granted provided you give 
		me (or the original authors/artists) credit for the work and this
		copyright notice is not removed.

		(c)1997, 1998 Michael J. Hammel (mjhammel@graphics-muse.org)
     ============================================================= !--><!--  The Button box as a client side imagemap --><map NAME="nav-main"><area SHAPE="rect" HREF="#mews" coords="10,10 170,40"><area SHAPE="rect" HREF="#webwonderings" coords="0,55 175,85"><area SHAPE="rect" HREF="#musings" coords="75,115 170,145"><area SHAPE="rect" HREF="#resources" coords="5,170 110,195"></map>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP NOSAVE><img SRC="../gx/hammel/gm-logo-3.jpg" height=169 width=400></td>

<td ALIGN=LEFT VALIGN=CENTER NOSAVE>
<br><b><font size=+1>muse:</font></b>
<ol>
<li>
<i><font face="Arial,Helvetica"><font size=-1>v; to become absorbed in
thought&nbsp;</font></font></i></li>

<li>
<i><font face="Arial,Helvetica"><font size=-1>n; [ fr. Any of the nine
sister goddesses of learning and the arts in Greek Mythology ]: a source
of inspiration</font></font></i></li>
</ol>

<center><font size=-2>&copy; 1999 by <a href="mailto:mjhammel@graphics-muse.org">mjh</a></font></center>
</td>
</tr>
</table>

<hr SIZE=1 NOSHADE WIDTH="100%">
<table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td WIDTH="187" NOSAVE><img SRC="../gx/hammel/muse-image-map.jpg" ALT="Button Bar" USEMAP="#nav-main" height=200 width=185 align=LEFT></td>

<td VALIGN=TOP WIDTH="65%" NOSAVE>
<br><img SRC="../gx/hammel/w.gif" ALT="W" height=28 width=36 align=BOTTOM><font face="Arial,Helvetica"><font size=-1>elcome
to the Graphics Muse! Why a "muse"? Well, except for the sisters aspect,
the above definitions are pretty much the way I'd describe my own interest
in computer graphics: it keeps me deep in thought and it is a daily source
of inspiration.&nbsp;</font></font>
<center>
<p><font face="Arial,Helvetica"><font size=-1>[<a href="#mews">Graphics
Mews</a>][<a href="#webwonderings">WebWonderings</a>][<a href="#musings">Musings</a>][<a href="#rsrc">Resources</a>]</font></font></center>

<p><img SRC="../gx/hammel/t.gif" ALT="T" height=28 width=26><font face="Arial,Helvetica"><font size=-1>his
column is dedicated to the use, creation, distribution, and discussion
of computer graphics tools for Linux systems.</font></font></td>
</tr>
</table>

<table BORDER=0 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP NOSAVE><font face="Arial,Helvetica"><font size=-1>You'll
notice a few minor changes to this months column.&nbsp; First, I've got
a sponsor:&nbsp; <a href="http://www.softpro.com">SoftPro Books</a> is
providing books for me to do book reviews.&nbsp; In exchange, I'll be linking
the book covers to their site so you can order them.&nbsp; Their sponsorship
allows me to do more book reviews than normal since otherwise I'd have
to purchase the books.&nbsp; And that gets expensive.&nbsp; So if you think
the book being reviewed is for you, please consider purchasing it from
SoftPro Books.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Second, I've signed up for
Associate/Affiliate programs with <b><font color="#CC6600">Amazon.com</font></b>
and <b><font color="#CC6600">fatbrain.com</font></b>, respectively.&nbsp;
If you're considering buying some other books online, I'd appreciate it
if you visited their site via these links.&nbsp; If you buy books via these
links I get a small stipend, which over the long term I can use to buy
equipement.&nbsp; Right now I'm trying to get some cash together to get
a TV card so I can do an article on software for those beasts.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>In this months column you'll
find:</font></font>
<ul>
<li>
A review of Jennifer Niederst's book Web Design In A Nutshell</li>

<li>
Information on accessing non-keyboard characters in X</li>
</ul>

<center><table BORDER=0 CELLSPACING=0 CELLPADDING=5 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td ALIGN=CENTER NOSAVE><a href="http://www.clbooks.com/home.html?from=CJK692"><img SRC="./gx/hammel/cla_small.gif" HSPACE=10 BORDER=0 height=22 width=100 align=CENTER></a></td>

<td ALIGN=CENTER NOSAVE><a href="http://www.amazon.com/exec/obidos/redirect-home/thegraphicsmuse"><img SRC="./gx/hammel/amazon-logo.gif" BORDER=0 height=29 width=90></a>
<br><font face="Arial,Helvetica"><font size=-2>Associate</font></font></td>
</tr>
</table></center>
</td>

<td ALIGN=CENTER VALIGN=CENTER WIDTH="220" NOSAVE>
<table BORDER=0 CELLSPACING=0 CELLPADDING=4 COLS=1 NOSAVE >
<tr NOSAVE>
<td ALIGN=CENTER VALIGN=CENTER WIDTH="219" NOSAVE><img SRC="./gx/hammel/artistsguide.jpg" height=140 width=110></td>
</tr>

<tr NOSAVE>
<td NOSAVE><b><i><font face="Arial,Helvetica">The Artists' Guide to the
Gimp</font></i></b>
<br><font face="Arial,Helvetica"><font size=-1>Available online from <a href="http://www1.clbooks.com/asp/bookinfo/bookinfo.asp?theisbn=1578310113&from=CJK692">
fatbrain.com</a>, 
<a href="http://www.softpro.com/softpro/1-57831-011-3.html">SoftPro
Books</a> and <a href="http://search.borders.com/fcgi-bin/db2www/search/search.d2w/Details?&mediaType=Book&prodID=51315727">Borders
Books</a>.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>In Denver, try the <a href="http://www.tatteredcover.com/cgi-bin/bookfind.pl?lit_ttl=Gimp&Id=733947.13300&refer=list&page=book&isbn=1-57831-011-3&str=1">Tattered
Cover </a>bookstore.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Also, check out the associated
web site, <a href="http://www.thegimp.com">TheGimp.com</a>, sponsored by
SSC, Inc. and edited by The Graphics Muse - <b><font color="#993300">Michael
J. Hammel</font></b>.</font></font></td>
</tr>
</table>
</td>
</tr>
</table>

<p>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="mews"></a><img SRC="../gx/hammel/mews.jpg" height=50 width=245>
<table BORDER=0 COLS=3 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP WIDTH="140" NOSAVE>
<table BORDER CELLSPACING=0 CELLPADDING=2 COLS=1 WIDTH="100%" HEIGHT="100%" BGCOLOR="#FE992B" NOSAVE >
<tr>
<td><b><font face="Arial,Helvetica"><font size=-1>Other Announcements:</font></font></b></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#metro-x">Metro
Link support for Rendition / Nvidia cards</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#clickable-imagemap-release">Release
0.3 of a clickable imagemap plug-in for the Gimp</a></font></font></td>
</tr>

<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1><a href="mews.html#giram">Giram
0.0.6</a></font></font></td>
</tr>

<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP NOSAVE><font face="Arial,Helvetica"><font size=-1><a href="mews.html#tgif">tgif
4.0.13</a></font></font></td>
</tr>

<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1><a href="mews.html#sketch">Sketch
0.5.3</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#kuickshow">KuickShow
0.6.3</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#wmtune">wmtune
for bttv 1.0</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#freedraft">FREEdraft
0.3.6</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#grass">GRASS
5.0 beta</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#w3c-vector-graphics">W3C
aims to streamline vector graphics</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#netscape-flash-plugin">Netscape
Flash Plugin 0.4.3</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#video-server">Video
Server 0.5.4</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#poorman-cam">Poor
Man's Cam 1.1</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#gilt">GILT
0.1.0</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#zope">Zope
1.10pr1</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="mews.html#gview">gView
0.1.0</a></font></font></td>
</tr>

<tr NOSAVE>
<td ALIGN=CENTER NOSAVE><font face="Arial,Helvetica"><font size=-1>&lt;
<a href="mews.html">More
Mews</a> ></font></font></td>
</tr>
</table>
</td>

<td WIDTH="1" NOSAVE></td>

<td ALIGN=LEFT VALIGN=TOP NOSAVE>
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=1 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1><b>Disclaimer</b>:
Before I get too far into this I should note that any of the news items
I post in this section are just that - news. Either I happened to run across
them via some mailing list I was on, via some Usenet newsgroup, or via
email from someone. I'm not necessarily endorsing these products (some
of which may be commercial), I'm just letting you know I'd heard about
them in the past month.</font></font></td>
</tr>

<tr>
<td>
<hr NOSHADE WIDTH="100%"></td>
</tr>
</table>
<b><font face="Arial,Helvetica"><font size=+1>XawTV 2.34</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Gerd Knorr&nbsp;</font></font>
<p><font face="Arial,Helvetica"><font size=-1>XawTV is a simple Xaw-based
TV program which uses the bttv driver or video4linux. It contains various
command-line utilities for grabbing images and avi movies, for tuning in
TV stations, etc. A grabber driver for vic and a radio application (needs
KDE) for the boards with radio support are included as well.&nbsp; Changes:
15 bpp problems fixed, NTSC-HRC support added, driver updates (sync up
with bttv 0.6.1, msp3400 nicam changes).</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="http://www.in-berlin.de/User/kraxel/xawtv.html">http://www.in-berlin.de/User/kraxel/xawtv.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>Random Quotes:</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>Seen on the <a href="http://www.mostang.com/sane/">SANE</a>
web site (in the legend explaining the supported scanner list):</font></font>
<blockquote><font face="Arial,Helvetica"><font size=-1>"<b>stable</b>"
means someone is pulling your leg.</font></font></blockquote>

<hr SIZE=1 NOSHADE WIDTH="65%">
<br><i><font face="Arial,Helvetica"><font size=-1>"When I read a book about
computers, they're written by Martians, for Martians.&nbsp; They don't
know how to spell out a word.&nbsp; Everything has to be three letters.&nbsp;
This drives me batty.&nbsp; In fact, when I rule the world, there will
be a glossary at the bottom of every page and every photograph in every
computer publication that says exactly what these abbreviations are."</font></font></i>
<blockquote><font face="Arial,Helvetica"><font size=-1>Harold Feinstein,
as quoted from the February 1999 issue of <a href="http://www.peimag.com">PEI
Magazine.</a></font></font></blockquote>
</td>
</tr>
</table>

<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>Tech Soft America Announces
support for Linux Operating System in HOOPS 3D Graphics System v4.41</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>Tech Soft America (TSA),
developer of the popular HOOPS 3D Graphics System today announced support
for the Linux Operating System in their 4.41 release.&nbsp; This announcement
further expands HOOPS' already extensive platform coverage and will enable
high-end 3D applications to be built for Linux using HOOPS - a robust graphics
development component with a proven track record in the CAD/CAM/CAE GIS
and Geophysical application markets.</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="http://www.newsalert.com/bin/story?StoryId=CnTohubKbytaYnZy&FQ=Linux&SymHdl=1&Nav=na-search-&StoryTitle=Linux">Complete
announcement.</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.hoops3d.com/">Hoops3D
Web site.</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>FreeWRL 0.1.8</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>John A. Stewart (CRC Canada)</font></font>
<p><font face="Arial,Helvetica"><font size=-1>FreeWRL is a free VRML browser
for Linux. It aims to be fully VRML97 compliant, complete with scripting
in Perl, Java and Javascript, and EAI. It is written mostly in Perl, with
some C for library interfaces &amp; rendering and uses OpenGL (Mesa) for
graphics.&nbsp; The current versions are still alpha-stage and there are
several pieces missing (especially certain field types in EAI etc) but
it is quite usable in various types of worlds.&nbsp; Changes: Some bugs
fixed. New maintainer - John Stewart - CRC Canada</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="http://debra.dgbt.crc.ca/~luigi/FreeWRL/">http://debra.dgbt.crc.ca/~luigi/FreeWRL/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>ttmkfdir current</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>jpo</font></font>
<p><font face="Arial,Helvetica"><font size=-1>ttmkfdir is a tool to create
valid and complete fonts.dir files from TrueType fonts. It is very useful
when you plan to use a TrueType enabled font server that is based on the
X11R6 sample implementation (xfsft for instance). Great care has been taken
to correctly identify the encodings that a given TrueType font supports.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Changes: First freshmeat
announcement.</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="http://www.darmstadt.gmd.de/~pommnitz/ttmkfdir.tar.gz">http://www.darmstadt.gmd.de/~pommnitz/ttmkfdir.tar.gz</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>xfsft 1.0.3</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>jpo</font></font>
<p><font face="Arial,Helvetica"><font size=-1>The Xfsft patches to X11R6
enable X11 servers (including XFree86) to use TrueType fonts and improves
on the way X11 handles international scalable fonts.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: New in version 1.0.3
is support for international Type 1 and Speedo</font></font>
<br><font face="Arial,Helvetica"><font size=-1>fonts.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Download: <a href="ftp://metalab.unc.edu/pub/Linux/X11/fonts/xfsft-1.0.3.tar.gz">ftp://metalab.unc.edu/pub/Linux/X11/fonts/xfsft-1.0.3.tar.gz</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1>Red Hat Packages: <a href="http://www.darmstadt.gmd.de/~pommnitz/XF86-xfsft/index.html">http://www.darmstadt.gmd.de/~pommnitz/XF86-xfsft/index.html</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage: <a href="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>Retardotracer 1.0.0</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Michael Leibowitz</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Retardotracer is a raytracer
written in C++ that raytraces both reverse and forwards for each polygon.
This allows it to accurately model some (and only some) things.&nbsp; It
works in parallel, which is kinda neat. Foo, Bar, and Baz are included.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: This is the first
release.</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.ece.utexas.edu/~leibowit/retardotracer/">http://www.ece.utexas.edu/~leibowit/retardotracer/</a>
(only provides access to tarball)</font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>Dave Gnukem 0.4</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>David Joffe</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Dave Gnukem is a GPL'ed 2D
Scrolling platform game, similar to Duke Nukem 1. It includes a sprite
and level editor. The game and editor use GGI, and thus runs on the console
as well as in a window under X.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: Added teleporters,
bananas, title screen image; Some cosmetic additions, bugfixes, structural
game-flow improvements, menu improvements, new sprite editor features,
full-screen mode in X.</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.geocities.com/SoHo/Lofts/2018/djgame.html">http://www.geocities.com/SoHo/Lofts/2018/djgame.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>TexturePaint 1.1</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Uwe Maurer</font></font>
<p><font face="Arial,Helvetica"><font size=-1>TexturePaint is a Gimp plugin
which displays a Quake I/II model in an openGL window and shows a texture
image mapped on the model. You can modify the texture image with GIMP and
view the result in the 3d window. You can also paint in the 3d view and
TexturePaint calculates the texture for you.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Changes: Autoconf , Support
for Quake I models</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://home.t-online.de/home/uwe_maurer/texpaint.htm">http://home.t-online.de/home/uwe_maurer/texpaint.htm</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>SGI announces the Open
Source release of GLX</font></font></b>
<blockquote><font face="Arial,Helvetica"><font size=-1>"GLX provides the
glue connecting OpenGL&reg; and the X Window System<sup>TM</sup> and is
required by any OpenGL implementation using X."</font></font></blockquote>
<font face="Arial,Helvetica"><font size=-1>For the complete announcement,
go to <a href="http://www.sgi.com/software/opensource/glx/">http://www.sgi.com/software/opensource/glx/</a>.</font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><b><font face="Arial,Helvetica"><font size=+1>Linux and 3D Graphics
BoF @ LinuxWorld</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>John Leech is&nbsp; organizing
a BOF (Birds-of-a-Feather) session on Linux and 3D graphics at Linux World
Expo in March. The details:</font></font>
<blockquote><font face="Arial,Helvetica"><font size=-1>Linux/3D BOF</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Wednesday, March 3, 1999</font></font>
<br><font face="Arial,Helvetica"><font size=-1>San Jose Convention Center</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Room A4&nbsp; 5:30-7 PM</font></font></blockquote>
<font face="Arial,Helvetica"><font size=-1>If you have a topic to discuss,
please contact me about it in advance (email to <a href="mailto:lwbof@oddhack.engr.sgi.com">lwbof@oddhack.engr.sgi.com</a>).
Items already on the list:</font></font>
<ul>
<li>
<font face="Arial,Helvetica"><font size=-1>Current status of OpenGL, and
GLX source code release (Jon Leech, Silicon Graphics)</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Direct rendering architecture
status (Frank LaMonica, Precision Insight)</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Darryll Strauss will be giving
a conference talk with an overview of the various OpenGL and Mesa projects
touching Linux at 2:30, and he will join us at the BOF to follow up.</font></font></li>
</ul>
<font face="Arial,Helvetica"><font size=-1>Jon Leech</font></font>
<br><font face="Arial,Helvetica"><font size=-1>OpenGL Group</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Silicon Graphics</font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<p><!--
		  -- Did You Know Section
		  -->
<h2>
Did You Know?</h2>

<blockquote><font face="Arial,Helvetica"><font size=-1>...the Gimp was
mentioned in an article discussing alternatives to Photoshop in the February
1999 issue of <a href="http://www.peimag.com">PEI (Photo Electronic Imaging)
</a>magazine?</font></font>
<p><font face="Arial,Helvetica"><font size=-1>...holding the Control [CTRL]
key down while rotating [Gimp images and layers] locks it to 15 degree
increments.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Seth Burgess &lt;sjburges@gimp.org></font></font>
<p><font face="Arial,Helvetica"><font size=-1>...the relatively new <a href="http://www.wacom.com">Wacom
Intuos</a> drawing tablets are reported to work with the Gimp now.&nbsp;
Take a look at <a href="http://www.gtk.org/~otaylor/xinput/">http://www.gtk.org/~otaylor/xinput/</a>
for help on setting up X Input (required for using tablets under the X
Window System) and <a href="http://levien.com/free/linux_intuos.html">http://levien.com/free/linux_intuos.html</a>
for information on the Intuos driver status.&nbsp; Seth Burgess says "Support
for tablets is improved in Gimp 1.1.x with a new "Ink" tool that is just
too much fun to play with.&nbsp; Of course 1.1.x is development, and crashes
semi-regularly, so use at your own risk."</font></font>
<p><font face="Arial,Helvetica"><font size=-1>...there is a TrueType for
XFree86 Mini-Howto at <a href="http://www.sfu.ca/~yzhang/linux/truetype/">http://www.sfu.ca/~yzhang/linux/truetype/</a>.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>...there is an interesting
article by Cecil Adams on the history of the ratios for TV and movie screens
at <a href="http://www.straightdope.com/columns/981120.html">http://www.straightdope.com/columns/981120.html</a>.</font></font>
<br>&nbsp;</blockquote>
<!--
		  -- Q and A Section
		  -->
<h2>
Q and A</h2>
<i><font face="Arial,Helvetica"><font size=-1>Q:&nbsp; Can I restore the
default values on a [Gimp plug-in] easily?&nbsp; If I experiment with various
bump map settings, for example, and I want to get back to defaults, how
do I do that without shutting GIMP down?</font></font></i>
<p><font face="Arial,Helvetica"><font size=-1>A:&nbsp; Some plug-ins have
Reset or Defaults buttons but many do not.&nbsp; There is no standard for
how plug-ins should behave for resetting to default values.</font></font>
<p><i><font face="Arial,Helvetica"><font size=-1>Q:&nbsp; Can I have more
than 1 layers dialog open simultaneously, rather than switching from image
to image.&nbsp; This is annoying when I'm working on several multi-layer
images together.</font></font></i>
<p><font face="Arial,Helvetica"><font size=-1>A:&nbsp; No, its not possible.
But when you press Ctrl-L in an image the layers dialog shows the layers
of this image. So you can switch faster to other images than to use the
mouse.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Jens Finke &lt;<a href="mailto:pearl@darkride.net">pearl@darkride.net</a>></font></font>
<p><i><font face="Arial,Helvetica"><font size=-1>Q:&nbsp; Someone mentioned
this recently, saying what map projection is required to get a map of Earth
correctly image mapped on to a sphere in POV-Ray, and even mentioning a
web site where such a map can be found.</font></font></i>
<p><font face="Arial,Helvetica"><font size=-1>A1:&nbsp; There is a collection
of bitmapped planet surfaces at the IMP website:</font></font>
<blockquote><font face="Arial,Helvetica"><font size=-1><a href="http://www.imp.org/members/scene/test_a/scripta.html">http://www.imp.org/members/scene/test_a/scripta.html</a></font></font></blockquote>
<font face="Arial,Helvetica"><font size=-1>There are also links to sources
and methods of projection.&nbsp; The maps here are not necessarily 'correct',
but I would be interested in knowing how to do the correction.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Nigel Stewart (<a href="mailto:nigels@eisa.net.au">nigels@eisa.net.au</a>)</font></font>
<p><font face="Arial,Helvetica"><font size=-1>A2:&nbsp; The maps at that
site [listed in A1 above] are certainly much nicer than the others I have
found, and they also appear to be the correct projection for POV's map_type
1.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Robert Sorenson</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="mailto:zephyr@nerc.com">zephyr@nerc.com</a></font></font>
<p><font face="Arial,Helvetica"><font size=-1>A3:&nbsp; For the most part
(+95% of maps) you should map them cyllindricly onto a sphere, and they
look great.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Simon de Vet</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://home.istar.ca/~sdevet">http://home.istar.ca/~sdevet</a></font></font>
<p><font face="Arial,Helvetica"><font size=-1>A4:&nbsp; <a href="http://maps.jpl.nasa.gov/">http://maps.jpl.nasa.gov/&nbsp;</a>
(yes, Nasa, the space agency)</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Scott McDonald</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="mailto:scott@urbandragons.com">scott@urbandragons.com</a></font></font>
<p><i><font face="Arial,Helvetica"><font size=-1>Q: I am an "end user"
of my own Linux-based system, having recently graduated from that "other"
OS.&nbsp; I miss having the font selection I have on the other side of
my hard drive (my computer has a split personality).&nbsp; I have the new
WordPerfect 8 for Linux and the fonts are boring!&nbsp; I would like at
least one good blackletter, script, or classic type face (Goudy, Caslon,etc.)
but I don't know where to look or even if they are available for Linux.&nbsp;
Any ideas?&nbsp; Kinene Barzin &lt;<a href="mailto:KBarzin@compuserve.com">KBarzin@compuserve.com</a>></font></font></i>
<p><font face="Arial,Helvetica"><font size=-1>A:&nbsp; Linux, actually
the X Window System, uses Adobe Type 1 fonts by default.&nbsp; You're probably
used to True Type fonts.&nbsp; You <i>can</i> use both on your system,
but there are a few tricks to getting things to work.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>The easiest method is to
find Type 1 versions of the fonts you already have.&nbsp; I have found
that many of the font collections on CDs available from the local software
stores come with both True Type and Type 1 fonts.&nbsp; I just copy the
Type 1 fonts to a local directory and then tell the X server to include
this new directory.&nbsp; Take a look at the <b><font color="#006600">xset</font></b>
command, in particular the "fp" option.&nbsp; You'll also want to take
a look at the <a href="http://goblet.anu.edu.au/~m9305357/type1inst.html">Type1Inst</a>
script, which will configure the new directory so WordPerfect, the Gimp
and other tools can use the common Font name instead of the longer XLFD,
X Logical Font Description (that long name with all the dashes in it).</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Alternatively, you can use
the True Type fonts through the use of a Font Server.&nbsp; A Font server
is a separate program that talks to the X server and manages fonts for
the server.&nbsp; There are two fonts servers available that handle True
Type fonts:&nbsp; <b><font color="#006600">xfstt</font></b> and <b><font color="#006600">xfsft</font></b>
(similar names, but different programs).&nbsp; Look on <a href="http://www.freshmeat.net">freshmeat</a>
for where these can be downloaded. Font servers should be able to handle
both True Type and Type 1 fonts, but I've not tried to do mix them.&nbsp;
Using xset it should also be possible to mix local Type 1 fonts with those
managed using a font server.</font></font>
<br>&nbsp;
<p>
<hr SIZE=1 NOSHADE WIDTH="100%">
<h2>
Reader Mail</h2>
<font face="Arial,Helvetica"><font size=-1>Cecile Hebert-Souche &lt;<a href="mailto:souche@atp6000.tuwien.ac.at">souche@atp6000.tuwien.ac.at</a>>
wrote to the Gimp-User mailing list:</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>I see a lot of
posts regarding problems with font installation, I had a tip for those
who have bought applix : it comes with a wonderful fontmanager (applix/axdatas/fontmetrics/gallium/fontfm)
just start it as root and you can manage your fonts in a very easy way,
create subdirectories and activate them only on need, test fonts before
installing etc...</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
I tried this with my installation of Applix and sure enough, its a fine
font previewer.&nbsp; Certainly better than most of the other tools I have
for previewing fonts.&nbsp; I didn't try it for managing font directories
but it does appear to permit this.</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="mailto:whitenoise@fishnet.com">whitenoise@fishnet.com</a>
wrote:</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>A Linux freak
of mine sent me your URL. Cool graphics (esp. like Angel).&nbsp; I do some
designing/putzing as well - mostly Photoshop - and I was curious where
you get the initial images of the women? The graphics I do are ok but I
always seem to get stuck finding GOOD images of women that I can reproduce
without spending money or getting sued for infringement. By GOOD pictures
of women, I mean head shots, eyes, lips, necklines, that type of thing.
Stock photography is one out (like Digital Stock) but I'd&nbsp; be curious
to hear your response.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse:</font></i></b>&nbsp;
Angel (and some of the others) were taken from one of <b><font color="#006600">Corel's
Super Ten Packs.</font></b>&nbsp; I did a short review of these in my November
1998 issue of my Graphics Muse colum.&nbsp; These are royalty free images
in fairly high resolutions.&nbsp; Maybe not quite good enough for print
media, but pretty close.&nbsp; And certainly less expensive (about $40)
than other stock image collections.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>However, I have the same
problem as you - its hard to find good photos of faces.&nbsp; The only
thing I can think of other than the stock photo collections is to hook
up with a decent photographer, perhaps a friend, acquaintance or maybe
a student at a local university who is looking for some way to showcase
their work.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Also, where did
you get the design pattern for a subject like Angel - you know, all those
brick like things? It almost looks like you selected a range and did a
lighting effect to get one side "sunny" and the other hidden in shadow.
Anyway, what you'd care to share I'd appreciate.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse:</font></i></b>&nbsp;
Its actually a combination of effects.&nbsp; I can't remember how I started
it but I think it was with a brick pattern that I fiddled with in the Gimp
plug-in called Gimpressionist.&nbsp; I think I used it as both a layer
and a layer mask, and I used it multiple times.&nbsp; This much I do remember:&nbsp;
it took quite some time to get that image just right.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>If you find time,
I'd appreciate your feedback. There aren't too&nbsp; many people who's
work I go ga-ga over but you stuff rocks pretty well.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
Thanks.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>You ever heard
of Peter Lessing? He's a designer/photographer who's big on the female
form - not like www.gogogirls.com but more subdued and flattering. I think
you'd like his work.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><i><font color="#993300">'Muse</font></i>:&nbsp;
Send me a URL if you have one.&nbsp; I do like looking at art work online.&nbsp;
It helps motivate me to do more work.&nbsp; I don't know if you like the
style, but you might take a look at http://www.sirius.com/~fenster/.&nbsp;
I don't know what this style is called - maybe Modern Gothic? - but I like
it.&nbsp; She's also done a fairly nice job in displaying the gallery.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Another guy I like is <b><font color="#006600">Tim
Umney</font></b>.&nbsp; He was featured in Issue #37 of <a href="http://www.designgraphics.com.au">Design
Graphics </a>(an Australian graphics design magazine focused on the use
of computers to do the artwork).&nbsp; He's a HR Giger fan and his work
shows it.&nbsp; Sort of has an X Files feel to it, too.&nbsp; It took some
searching, but I found his website at <a href="http://homepages.tig.com.au/~umney/">http://homepages.tig.com.au/~umney/</a>.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>I don't ask much,
do I? If what I've requested above isn't enough, could&nbsp; you toss in
a million dollars? Just throw that in as an attachment.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
I use text based mail readers on Linux.&nbsp; So I don't do attachments.&nbsp;
:-)</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Corel's a huge
outfit but they're not really the market leader in anything, maybe that's
why I never considered their photos/images before. Didn't even know they
offered them.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
Corel is actually quite well known for their stock photo collection.&nbsp;
I learned about them by reading Design Graphics.&nbsp; You can get it at
most Barnes and Nobles or Borders bookstores.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>I'm surprised
some vendor (such as corel) hasn't come out with a "women only" photo collection,
or something similar. I would think there would be a market for such an
animal.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
There is at least one SuperTen collection from Corel called "Women".&nbsp;
You can also order individual shots from their web site of stock photos.&nbsp;
There are a lot of photos of womens faces there.&nbsp; Check that issue
of the Graphics Muse column that I did the Corel SuperTen write up on -
I think it was somewhere between August and November of last year (but
I'm too lazy to go look for it right now).</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Anything worth
doing always seems to take a long time. Have you looked into doing prints
or otherwise reselling them?</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
In the future, perhaps.&nbsp; I was thinking of making a series of images
for a calendar, but there are business problems with calendars:&nbsp; low
margins, high production costs, etc.&nbsp; None of the images (well, except
for the Linux Journal covers I did) are large enough to transfer to print
media very well.&nbsp; You need to make <i>very</i> large images if you
plan on printing them out in high quality gloss prints.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Jason Thomas Murray &lt;<a href="mailto:lather@electrografix.com">lather@electrografix.com</a>></font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Erm, I have been
wanting to make some basic CD jackets.</font></font></i></blockquote>

<blockquote>
<blockquote><tt><font size=-1>+----+----+</font></tt>
<br><tt><font size=-1>|&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; |</font></tt>
<br><tt><font size=-1>|&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; |</font></tt>
<br><tt><font size=-1>+----+----+</font></tt>
<p><tt><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp; ^-- the fold.</font></tt></blockquote>
<i><font face="Arial,Helvetica"><font size=-1>I was able to convert the
size into points fer LaTeX, but I wanna use the GIMP. Does anyone know
what dimensions I need to use for the image? It looks like the new GIMP
is going to have inches as an option for new image sizes, but not sure
I want to wait that long for the next stable.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse:</font></i></b>&nbsp;
Short answer:&nbsp; Measure the jacket you want to print on.&nbsp; Multiply
by the DPI your printer will be printing at and that gives you the dimensions
for the image you want to make.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Long answer:&nbsp; Go to
my Muse back issues and look for the discussion on DPI/LPI.&nbsp; Its not
hard to do the conversion from paper inches to pixels if you have the right
information, you just have to know what information to gather to do the
conversion.</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="http://www.graphics-muse.org/linux.html">http://www.graphics-muse.org/linux.html</a>
- click on the "muse" button.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Nancy Mazur wrote to the
Gimp-User list:</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>I've got a drawing
with a bit of text here and there, yet I'm not glad about the font I've
chosen initially, and now I'd like to set all of my text into another font.&nbsp;
How can I do this without having to delete my previous text, create new
text in new font, and reposition that new text as the old one used to be?</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
Well, it actually can be done, but its not easy.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Is there an easy
solution to this?&nbsp; Perhaps I keep on understanding Gimp's philosophy
in a wrong way.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1>Christopher Curtis replied:</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>The GIMP is a
bitmap tool.&nbsp; Once something is "done", it cannot be "undone" or "modified"
(Undo/Redo excepting).&nbsp; The text will have to be recreated.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse:</font></i></b>&nbsp;
This is true if the text has already been merged with other layers in the
image.&nbsp; If the image is one you just scanned in, then the text is
already part of the single layer you scanned in.&nbsp; In any case, the
text is a bitmap image, not a vector image.&nbsp; That means you just can't
edit the text.&nbsp; In a bitmapped image, its not really text - its just
a bunch of pixels that happened to be shaped like letters.</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Some things you
may want to consider in the future is to put text on its own layer so that
it does not corrupt existing image data.&nbsp; This makes things slower
because it uses more memory, but is generally a good idea, especially for
things like text where lines are important.&nbsp; It is always possible
to have layers smaller than the image as well, and this may help speed-wise.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
This is correct, and part of the solution to saving the old text.&nbsp;
What you can do to save the old text is to make a selection of that text,
float the selection and make that floating layer a new layer.&nbsp; Then
add two new layers:&nbsp; one "patch" layer that fills in the background
where the old text used to be and another that is the new text.&nbsp; Position
the layers so the original is at the bottom, the patch is right above it
and the new text above that.&nbsp; The old text layer can be anywhere -
just make sure its visibility has been turned off (click on the eye icon
in the layers dialog).</font></font>
<p><font face="Arial,Helvetica"><font size=-1>The most difficult part of
this technique is creating the patch.&nbsp; This is due to the fact that
the original image probably was not a solid color so creating the patch
requires multiple steps:</font></font>
<ol>
<li>
<font face="Arial,Helvetica"><font size=-1>create a solid patch that is
very near the original image background colors.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>select a region of background
off the original image</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>paste into the patch</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>use the clone tool to copy from
the pasted region to the edges of the patch.</font></font></li>
</ol>
<font face="Arial,Helvetica"><font size=-1>Its tricky, but you can do it
if the background was not too complex of a design.&nbsp; The more solid
the original background the better.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>All of this simply replaces
the old text with new text, but both "texts" end up as new layers in the
Gimp image.&nbsp; You need to save the file as an .xcf format file in order
to preserve the layers.&nbsp; Once you "flatten" the layers or "merge visible
layers" then the layer information is gone and you have a single bitmap
image (and if the old text layers visibility is turned off then the old
text goes away in the flattened image).</font></font>
<blockquote><i><font face="Arial,Helvetica"><font size=-1>Another thing
to look at is the gDynText plugin.&nbsp; I don't know the URL offhand,
but you can find references to it from <a href="http://news.gimp.org">news.gimp.org
</a>and
from <a href="http://registry.gimp.org">registry.gimp.org</a>.&nbsp; Simply
download and untar the file, then type "gimptool --install gdyntext.c"
(if that's the source file name).&nbsp; You may want to read the README
that comes with it.</font></font></i></blockquote>
<font face="Arial,Helvetica"><font size=-1><b><i><font color="#993300">'Muse</font></i></b>:&nbsp;
You can also, as a short cut, create a text file using vi (or some other
editor) and then copy/paste from that window into the stock Text Tool window.&nbsp;
Pasting this way will get you multi-line text, which you can't get if you
simply try to type newlines in the Text Tool's text input window.&nbsp;
Thats just an additional trick for getting multiline text into your image.</font></font>
<br>
<hr NOSHADE WIDTH="100%">
<br><a NAME="webwonderings"></a><img SRC="../gx/hammel/webwonderings.jpg" height=57 width=246>
<h2>
<font face="Arial,Helvetica">Book Review:&nbsp; Web Design In a Nutshell</font></h2>
<font face="Arial,Helvetica"><font size=-1>Author:&nbsp; Jennifer Niederst</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Publisher:&nbsp; O'Reilly</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Price: $24.95 from SoftPro
Books</font></font>
<p><a href="http://www.softpro.com/softpro/1-56592-515-7.html"><img SRC="./gx/hammel/web-design-cover.jpg" HSPACE=10 VSPACE=5 BORDER=0 height=208 width=140 align=RIGHT></a>
<br>Although I do a fair amount of web design, it has been quite some time
since I've picked up any references on HTML&nbsp;, JavaScript or general
web page layout.&nbsp; When it came time for this months Muse column I
find, as usual, I&nbsp;couldn't find something new to write up.&nbsp; It
then hit me that its been quite some time since I'd done any book reviews.
<p>So off I went to visit SoftPro Books, my favorite local haunt here in
Denver for technical-oriented texts.&nbsp; I&nbsp;browsed the shelves for
a solid hour (it had, after all, been over a year since I'd last visited
them - I'd been Dallas all that time) for something new on graphics but
applicable to Linux.&nbsp; A few items looked promising but nothing stood
out as particularly motivating.&nbsp; I then moved over to the Web-based
texts.&nbsp; <b>Web Design In A Nutshell </b>by Jennifer Niederst caught
my eye, partly because of its familiar O'Reilly cover.&nbsp; Since I had
never done a review for Web Wonderings I thought this would be a good choice.
<p>The first problem I have when doing book reviews is to find one that
is applicable to Linux users.&nbsp; Keep in mind that although there are
plenty of administrative texts for Linux, there are relatively few that
are specific to Linux in other areas of computing.&nbsp; I&nbsp;scanned
the table of contents of Jennifer's text looking to see if there were any
glaring OS issues.&nbsp; There is mention of Shockwave and Flash under
one chapter heading, but other than that the five part, 27 chapter text
looked fairly platform inspecific.&nbsp; Thats a good sign for a text on
a subject that isn't supposed to care much about which platform its running
on.&nbsp; A quick chat with the SoftPro crew and I&nbsp;headed home with
the text.
<p>Once home I&nbsp;did a little deeper research.&nbsp; First, the 27 chapters
are broken into 5 parts (not including the appendices):&nbsp; The Web Environment,
HTML, Graphics, Mutlimedia and Interactivity, and Emerging Technologies.&nbsp;
Each chapter within these parts is fairly short and to the point - exactly
what you'd expect and need from a Nutshell reference.&nbsp; The opening
chapter, Designing for a Variety of Web Browsers, is a good lead in.&nbsp;
It talks about the various browsers out there, some less well known than
others, and includes a very helpful table showing feature support for many
of the different versions of Netscape, IE, and other browers.&nbsp; This
is followed in the next chapter with information on designing for various
display issues and includes graphical descriptions of the maximum and minimum
screen space available to both Netscape and IE&nbsp;users.&nbsp; A brief
list on making sites accessible (such as to speech synthesis software)
rounds out&nbsp; this chapter.
<p>The next chapter unveiled hidden platform specifics that I'd missed
on first glance - throughout the text there sprinkled pointers to tools
that can be used to deal with the current chapters topics.&nbsp; Unfortunately,
these pointers are decidedly MS and Mac oriented.&nbsp; The third chapter
goes beyond this by offering an introduction to accessing Unix systems
(as if they were so foriegn!).&nbsp; Despite these hidden annoyances, most
of the text is still platform inspecific.&nbsp; So you can just skip those
short tools sections.
<p>Through out the text there are tables and graphical descriptions mixed
in with the text.&nbsp; The tables are especially good.&nbsp; For example,
chapter 5 has a table showing relationships between common color names
(as defined by the X&nbsp;Window System), their RGB and Hex equivalents
<b>AND</b> the nearest Web safe color.&nbsp; This last bit is a new twist
on other tables like this that I've seen and is a nice bonus.&nbsp; Later
in the same chapter is a table showing the character codes used for displaying
various uncommon characters in HTML.
<p>Jennifer uses a nice guide when defining specific HTML tags - she shows
which of 5 browsers (with their various releases included) support that
tag.&nbsp; For example, the horizontal rule tag definition opens like this:
<br><img SRC="./gx/hammel/hr-example.jpg" VSPACE=10 height=82 width=580>
<br>In this case all the browsers support the &lt;hr> tag.&nbsp; If any
of them didn't, they would be grayed out.&nbsp; This makes it easy to find
which tags are browser specific and, therefore, which tags to avoid.
<p>Along with the tables, the graphical descriptions used in many parts
of the text are very useful.&nbsp; In one table in chapter 12, the appearance
of form elements is shown for 4 different browsers (2 versions each from
Netscape and IE).&nbsp; This visual explanation of the differences in implementations
is very helpful to anyone who has muddled through trying to create forms
that are usable to users of any browser.
<p>The section on graphics is disappointingly biased to MS and Mac platforms.&nbsp;
Although much of the information can be applied to the Gimp and other Linux
graphics tools, its an excersize for the reader to make the translation
from the tools Jennifer describes to their Linux counterparts.
<p>Unlike the graphics section, the audio and video chapters are less biased
in the fact that Jennifer talks more about file formats than specific applications
that use them.&nbsp; For the most part, Linux has tools that support most
of the common audio and video formats.&nbsp; At least for playing these
files, if not for creating them.&nbsp; And even then, the creation tools
are slowly coming to public availability.
<p>Two areas that are covered that I&nbsp;find quite useful are DHTML and
XML.&nbsp; I've looked at DHTML a little but have not yet begun to read
up on XML.&nbsp; The two short chapters on these subjects are good introductions
for someone who is familiar with HTML in general.
<p>This nice thing about O'Reilly's Nutshell series is that the are more
than a straight reference guide but not so boring as a full blown collegiate
text on the subject.&nbsp; Jennifer Niederst's text <b>Web Design In A
Nutshell i</b>s a fine example of this series and, despite some of the
biases toward MS and Mac applications, is well worth the price.
<br>
<hr NOSHADE WIDTH="100%">
<p><a NAME="musings"></a>
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=2 NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP WIDTH="245" NOSAVE><img SRC="../gx/hammel/musings.jpg" height=50 width=245></td>

<td NOSAVE></td>
</tr>
</table>

<h2>
<font face="Arial,Helvetica">Accessing non-keyboard characters in X</font></h2>
<font face="Arial,Helvetica"><font size=-1>A question came up recently
on the Gimp-User mailing list that I found interesting, mostly since I
didn't know the answer:&nbsp; How do you access characters that are available
in a certain font but do not have a key stroke assigned to them?&nbsp;
For example, how do you get to the Copyright character if there is no Copyright
key?</font></font>
<p><font face="Arial,Helvetica"><font size=-1>It turns out you can configure
your X server to understand new keystrokes for these unattached characters.&nbsp;
The key, if you'll parden the pun , is to learn about xmodmap, the program
that maps of keys to characters for the X server.&nbsp; This program, which
should be available on every Linux distribution under /usr/X11R6/bin, allows
you to specify the keystroke to use to access extended characters in a
font.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Let's say you want to map
the copyright character to the 2 key with the Shift key held down.&nbsp;
Currently, this is mapped to the familiar "at" (@) character.&nbsp; If
you make a short text file with the following line in it(<a href="#alan">1</a>):</font></font>
<blockquote><tt><font size=-1>keysym 2 = 2 copyright</font></tt></blockquote>
<font size=-1><font face="Arial,Helvetica">and save the file, say named
</font><tt>temp.map</tt><font face="Arial,Helvetica">,
and then run</font></font>
<blockquote><tt><font size=-1>% xmodmap temp.map</font></tt></blockquote>
<font face="Arial,Helvetica"><font size=-1>this will map the copyright
character to the shifted 2-key. Now fire up the GIMP and you will be able
to generate the copyright character when using a font which supports it.&nbsp;
To get your keyboard back to normal, edit the temp.map file:</font></font>
<blockquote><tt><font size=-1>keysym 2 = 2 at</font></tt></blockquote>
<font face="Arial,Helvetica"><font size=-1>and again run xmodmap.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Alternatively, you can use
a graphical interface to map lots of keys all at once.&nbsp; The <a href="http://www.jwz.org/xkeycaps/">xkeycaps</a>
tool, written by Jamie Zawinski of Mozilla/Netscape fame, gives you a graphical
display of your keyboard and allows you to map multiple characters to single
keys when those keys are used with various modifiers (such as CTRL or ALT).</font></font>
<center>
<p><a href="./gx/hammel/xkeycaps.jpg"><img SRC="./gx/hammel/xkeycaps-tn.jpg" BORDER=0 height=176 width=400></a>
<br><b><font face="Arial,Helvetica"><font size=-1>xkeycaps - click on image
for full size version</font></font></b></center>

<p><font face="Arial,Helvetica"><font size=-1>If you make one of your keys
be a <i>Mode_switch</i> key, you can add two more characters to pretty
much every key that produces a character.&nbsp; For people that use international
characters, but want to use the US keyboard layout, you can make a key
a <i>Multi_key</i> and do sequences like <i>Multi_key-`-e</i> to get an
e with a grave accent on it<a href="#lyle">(2</a>).</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Xkeycaps has to know about
your keyboards physical configuration, but fortunately its been around
for so long (since about 1991) and so many people have provided configurations
for so many keyboards that there is a good chance your keyboard will be
available.&nbsp; Even if its not, you can edit a configuration file in
order to add your keyboard to the list of keyboards.</font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>I didn't have time to explore
this very useful application any further than this but plan when time permits.&nbsp;
For the most part I don't have a need to access any keys outside of those
available from my Dell keyboard.&nbsp; Still, occassionaly it would be
nice to have access to accent marks, copyright symbols and other symbols
for use in both my word processor as well as in the Gimp.</font></font>
<br>&nbsp;
<li>
<a NAME="alan"></a><font face="Arial,Helvetica"><font size=-1>This information
comes from <a href="mailto:a@alanho.student.princeton.edu">Alan</a> on
the Gimp-User mailing list.</font></font></li>

<li>
<a NAME="lyle"></a><font face="Arial,Helvetica"><font size=-1>This information
comes from <a href="mailto:lyle@ltaylor.users.xmission.com">Lyle</a> on
the Gimp-User mailing list.</font></font></li>

<br>
<hr NOSHADE WIDTH="100%">
<br><a NAME="rsrc"></a><img SRC="../gx/hammel/resources.jpg" height=50 width=245>
<br><font face="Arial,Helvetica"><font size=-1>The following links are
just starting points for finding more information about computer graphics
and multimedia in general for Linux systems. If you have some application
specific information for me, I'll add them to my other pages or you can
contact the maintainer of some other web site. I'll consider adding other
general references here, but application or site specific information needs
to go into one of the following general references and not listed here.</font></font>
<br>&nbsp;
<table BORDER=0 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1>Online Magazines
and News sources&nbsp;</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.news.com/">C|Net
Tech News</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.eklektix.com/lwn/">Linux
Weekly News</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://slashdot.org/">Slashdot.org</a></font></font>
<p><font face="Arial,Helvetica"><font size=-1>General Web Sites&nbsp;</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.graphics-muse.org/linux.html">Linux
Graphics</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.bright.net/~dlphilp/linux_soundapps.html">Linux
Sound/Midi Page</a></font></font>
<p><font face="Arial,Helvetica"><font size=-1>Some of the Mailing Lists
and Newsgroups I keep an eye on and where I get much of the information
in this column&nbsp;</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.gimp.org">The
Gimp User and Gimp Developer Mailing Lists</a>.&nbsp;</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.irtc.org">The
IRTC-L discussion list</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.graphics.rendering.raytracing">comp.graphics.rendering.raytracing</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.graphics.rendering.renderman">comp.graphics.rendering.renderman</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.graphics.api.opengl">comp.graphics.api.opengl</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.os.linux.announce">comp.os.linux.announce</a></font></font></td>

<td><img SRC="../gx/hammel/gmuse-2.jpg" HSPACE=10 BORDER=2 height=248 width=200></td>
</tr>
</table>
<a NAME="future"></a>
<h2>
Future Directions</h2>
<font face="Arial,Helvetica"><font size=-1>Next month:&nbsp; No Muse since
I'll be out of contact for a while.&nbsp; But the Muse will be back in
May with, I hope, the first of a two parter on the X Windows System and
Themes.&nbsp; Maybe.</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="mailto:mjhammel@graphics-muse.org">Let
me know what you'd like to hear about!</a></font></font>
<br>
<hr NOSHADE WIDTH="100%">
<div align=right><font face="Arial,Helvetica"><font size=-1>&copy; 1999
<a href="mailto:mjhammel@graphics-muse.org">Michael
J. Hammel</a></font></font></div>

<!--===================================================================-->
<P> <HR> <P> 
<center><H4>Previous ``Graphics Muse'' Columns</H4></center>
<p>
<A HREF="../issue11/gm.html">Graphics Muse #1, November 1996</A><BR>
<A HREF="../issue12/gm.html">Graphics Muse #2, December 1996</A><BR>
<A HREF="../issue13/gm.html">Graphics Muse #3, January 1997</A><BR>
<A HREF="../issue14/gm.html">Graphics Muse #4, February 1997</A><BR>
<A HREF="../issue15/gm.html">Graphics Muse #5, March 1997</A><BR>
<A HREF="../issue16/gm.html">Graphics Muse #6, April 1997</A><BR>
<A HREF="../issue17/gm.html">Graphics Muse #7, May 1997</A><BR>
<A HREF="../issue18/gm.html">Graphics Muse #8, June 1997</A><BR>
<A HREF="../issue19/gm.html">Graphics Muse #9, July 1997</A><BR>
<A HREF="../issue20/gm.html">Graphics Muse #10, August 1997</A><BR>
<A HREF="../issue22/gm.html">Graphics Muse #11, October 1997</A><BR>
<A HREF="../issue23/gm.html">Graphics Muse #12, December 1997</A><BR>
<A HREF="../issue25/gm.html">Graphics Muse #13, February 1998</A><BR>
<A HREF="../issue26/gm.html">Graphics Muse #14, March 1998</A><BR>
<A HREF="../issue27/gm.html">Graphics Muse #15, April 1998</A><BR>
<A HREF="../issue31/gm.html">Graphics Muse #16, August 1998</A><BR> 
<A HREF="../issue32/gm.html">Graphics Muse #17, September 1998</A><BR> 
<A HREF="../issue33/gm.html">Graphics Muse #18, October 1998</A><BR> 
<A HREF="../issue34/gm.html">Graphics Muse #19, November 1998</A><BR> 
<A HREF="../issue37/gm.html">Graphics Muse #20, February 1999</A><BR> 

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Michael J. Hammel <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./pollman.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./blanchard.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 
<!-- =============================================================
		These pages are designed by Michael J. Hammel.  Permission to 
		use all graphics and other content is granted provided you give 
		me (or the original authors/artists) credit for the work and this
		copyright notice is not removed.

		(c)1997, 1998 Michael J. Hammel (mjhammel@graphics-muse.org)
     ============================================================= !-->
<br><img SRC="../gx/hammel/mews.jpg" height=50 width=245>
<table WIDTH="100%" >
<tr>
<td ALIGN=RIGHT WIDTH="100%"><font size=-2>&copy; 1999 <a href="mailto:mjhammel@graphics-muse.org">Michael
J. Hammel</a></font></td>
</tr>

<tr>
<td VALIGN=TOP BGCOLOR="#000000" cellpadding="0" cellspacing="0"><img SRC="../gx/hammel/cleardot.gif" ALT="indent"  align=LEFT></td>
</tr>
</table>

<table BORDER=0 COLS=3 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP WIDTH="140" NOSAVE>
<table BORDER CELLSPACING=0 CELLPADDING=2 COLS=1 WIDTH="100%" HEIGHT="100%" BGCOLOR="#FE992B" NOSAVE >
<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#metro-x">Metro
Link support for Rendition / Nvidia cards</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#clickable-imagemap-release">Release
0.3 of a clickable imagemap plug-in for the Gimp</a></font></font></td>
</tr>

<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1><a href="#giram">Giram
0.0.6</a></font></font></td>
</tr>

<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP NOSAVE><font face="Arial,Helvetica"><font size=-1><a href="#tgif">tgif
4.0.13</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#sketch">Sketch
0.5.3</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#kuickshow">KuickShow
0.6.3</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#wmtune">wmtune
for bttv 1.0</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#freedraft">FREEdraft
0.3.6</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#grass">GRASS 5.0
beta</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#w3c-vector-graphics">W3C
aims to streamline vector graphics</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#netscape-flash-plugin">Netscape
Flash Plugin 0.4.3</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#video-server">Video
Server 0.5.4</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#poorman-cam">Poor
Man's Cam 1.1</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#gilt">GILT 0.1.0</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#zope">Zope 1.10pr1</a></font></font></td>
</tr>

<tr>
<td><font face="Arial,Helvetica"><font size=-1><a href="#gview">gView 0.1.0</a></font></font></td>
</tr>
</table>
</td>

<td WIDTH="1" NOSAVE></td>

<td ALIGN=LEFT VALIGN=TOP NOSAVE>
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=1 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1><b>Disclaimer</b>:
Before I get too far into this I should note that any of the news items
I post in this section are just that - news. Either I happened to run across
them via some mailing list I was on, via some Usenet newsgroup, or via
email from someone. I'm not necessarily endorsing these products (some
of which may be commercial), I'm just letting you know I'd heard about
them in the past month.</font></font></td>
</tr>

<tr>
<td>
<hr NOSHADE WIDTH="100%"></td>
</tr>
</table>
<a NAME="metro-x"></a><b><font face="Arial,Helvetica"><font size=+1>Metro
Link support for Rendition / Nvidia cards</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Colin Scott McDonald</font></font>
<p><font face="Arial,Helvetica"><font size=-1><i><font color="#CC6600">Metro-X</font></i>
for Linux/x86 has been updated to include new support for Nvidia Riva TNT
&amp; Riva 128 Chipsets, Rendition V2x00 chipsets, as well as improved
support for Permedia 2 based cards and Matrox G100/G200 chipsets. Current
owners of Metro-X version 4.3 can download the newest patch for free, new
customers can purchase Metro-X for $39.99.&nbsp;</font></font>
<p><font face="Arial,Helvetica"><font size=-1>For more information on Metro-X
and our other products for Linux, please visit our website at <a href="http://www.metrolink.com">http://www.metrolink.com</a></font></font></td>
</tr>
</table>

<p>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="clickable-imagemap-release"></a><b><font face="Arial,Helvetica"><font size=+1>Release
0.3 of the Gimp plug-in for the creation of clickable imagemaps</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>Available from: <a href="http://home-2.consunet.nl/~cb007736">http://home-2.consunet.nl/~cb007736</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1>Some highlights from this
release:</font></font>
<p><font face="Arial,Helvetica"><font size=-1>You can now load a CSIM file
that was saved by this plug-in. Files saved by other programs may cause
problems. I haven't tested this yet.</font></font>
<ul>
<li>
<font face="Arial,Helvetica"><font size=-1>Accelerators in menus</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Selection operations (move up/down,
delete, edit).</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Warning/error dialog for file
operations</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Map-name in title in main dialog</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>'target frame name' in area
settings.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>JavaScript (onMouseover, onMouseout)
in area settings.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Doubleclick on shape pops up
area settings dialog.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Browse button in URL field in
area settings dialog.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Fixed size of statusbar fields.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Move to front/send to back</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Write image size in HTML file</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Deselect all if clicked in area
with no object.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Implemented statusbar dimension
field</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1>Added 4 extra handles to rectangular
selection.</font></font></li>
</ul>
<font face="Arial,Helvetica"><font size=-1>The program was tested with
GTK 1.0.6 and Gimp 1.0.2.&nbsp; Compatibility with other versions is unknown.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Maurits Rijk</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="mailto:lpeek.mrijk@consunet.nl">lpeek.mrijk@consunet.nl</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="giram"></a><b><font face="Arial,Helvetica"><font size=+1>Giram
0.0.6</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>David Odin</font></font>
<p><font face="Arial,Helvetica"><font size=-1><i><font color="#CC6600">Giram</font></i>
Is Really A Modeller (or at least will be). It is written in GTK+ v1.1.x
(x>=7) and in an early stage of development. So far it can load and save
simple Persistance of Vision Scenes and some basic modelling tools are
already there. For now you can only use plane, sphere, box and csg objects,
with simple enough textures.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Download: <a href="ftp://ftp.minet.net/pub/giram/">ftp://ftp.minet.net/pub/giram/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="tgif"></a><b><font face="Arial,Helvetica"><font size=+1>tgif
4.0.13</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Bill Cheng</font></font>
<p><font face="Arial,Helvetica"><font size=-1><i><font color="#CC6600">tgif</font></i>
is a vector-based draw tool, with the additional benefit of being sort
of a web-browser. That is, you can fetch drawings from a web server with
it, and you can make objects in your picture into hotlinks to other parts
of the drawing, or to other drawings accessible via http.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: Various bugfixes,
better scrolling and zooming, new visible-grid function in slideshow.</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://bourbon.cs.umd.edu:8001/tgif/">http://bourbon.cs.umd.edu:8001/tgif/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="sketch"></a><b><font face="Arial,Helvetica"><font size=+1>Sketch
0.5.3</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Bernhard Herzog</font></font>
<p><font face="Arial,Helvetica"><font size=-1><i><font color="#CC6600">Sketch</font></i>
is a drawing program similar to CorelDraw or Adobe Illustrator. It is written
almost completely in python with some modules written in C, thus combining
the flexibility and power of Python with the speed of C. Advanced features
include gradient fills, clip masks, text along a path, blend groups, convert
text to curves, and more.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: Rectangles may have
rounded corners now, an Illustrator export filter has been added and bezier
curves can be used as guides now.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Download: <a href="http://www.online.de/home/sketch/download.html">http://www.online.de/home/sketch/download.html</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage: <a href="http://www.online.de/home/sketch/">http://www.online.de/home/sketch/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="kuickshow"></a><b><font face="Arial,Helvetica"><font size=+1>KuickShow
0.6.3</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>KuickShow is a fast, comfortable
and easy-to-use imagebrowser /-viewer for KDE. It is based on Imlib and
loads many imageformats pretty fast. KuickShow has a nice interface, that
allows you to browse large amounts of images in a short time. It can zoom,
mirror, rotate images, adjust brightness, contrast and gamma, auto-resize-to-fit
and can do a slideshow, of course.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: Bugfixes, KDE 1.1
updates, stability improvements, and a few more filebrowser features.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Download:&nbsp; <a href="http://www.millenniumx.de/packages/kuickshow-0.6.3.tar.gz">http://www.millenniumx.de/packages/kuickshow-0.6.3.tar.gz</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage: <a href="http://www.millenniumx.de">http://www.millenniumx.de</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="wmtune"></a><b><font face="Arial,Helvetica"><font size=+1>wmtune
for bttv 1.0</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>wmtune-bttv is a radio tuner
window maker applet for all TV/radio cards supported by the Linux bttv
kernel driver. It includes presets, a timer for automatic switch on/off
and mixer support. Supports wmtune and kradio config files</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: This is the initial
version.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Download: <a href="http://home.pages.de/~fionn/archive/wmtune-1.0_bttv.tar.bz2">http://home.pages.de/~fionn/archive/wmtune-1.0_bttv.tar.bz2</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="freedraft"></a><b><font face="Arial,Helvetica"><font size=+1>FREEdraft
0.3.6</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>FREEdraft is a 2D mechanical
cad project. It is being developed using Linux FREEdraft is likely to work
on most any other Unix/X system.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: Updated for compatibility
with current library versions, bug fixes, and creeping featureism.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage: <a href="http://pw2.netcom.com/~iamcliff/FREEdraft.html">http://pw2.netcom.com/~iamcliff/FREEdraft.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="grass"></a><b><font face="Arial,Helvetica"><font size=+1>GRASS
5.0 beta</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>GRASS (Geographic Resources
Analysis Support System) is a public-domain raster-based GIS, vector GIS,
image processing system, graphics production system, and spatial modeling
system.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Changes: GRASS 5.0beta represents
the first major change in GRASS functionality in several years, with the
most notable change being support for floating point and null values. GRASS
also now has a new and much easier to use windows interface based on Tcl/Tk.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage: <a href="http://www.baylor.edu/~grass/">http://www.baylor.edu/~grass/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="w3c-vector-graphics"></a><b><font face="Arial,Helvetica"><font size=+1>W3C
aims to streamline vector graphics</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>By Paul Festa</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Staff Writer, CNET News.com</font></font>
<p><font face="Arial,Helvetica"><font size=-1>C|Net report on work being
done at the World Wide Web Consortium (W3C) related to vector graphic format
proposals currently under consideration by that group.</font></font>
<p><font face="Arial,Helvetica"><font size=-1><a href="http://news.com/News/Item/0,4,32346,00.html">http://news.com/News/Item/0,4,32346,00.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="netscape-flash-plugin"></a><b><font face="Arial,Helvetica"><font size=+1>Netscape
Flash Plugin 0.4.3</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Olivier Debon</font></font>
<p><font face="Arial,Helvetica"><font size=-1>The Flash Plugin is a Netscape
plugin that allows to view Flash files. Many commercial sites use this
format to make their site up. The Flash object also allows to navigate
through a site, therefore, without the right plugin it was impossible to
go further the "Get Shockwave" logo while running Netscape under Linux.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage: <a href="http://www.geocities.com/TimesSquare/Labyrinth/5084/flash.html">http://www.geocities.com/TimesSquare/Labyrinth/5084/flash.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="video-server"></a><b><font face="Arial,Helvetica"><font size=+1>Video
Server 0.5.4</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Andrew Shuvalov</font></font>
<p><font face="Arial,Helvetica"><font size=-1>Stony Brook Video Server
is the distributed video server application that provides indexing, searching
and video streaming in a convenient way to clients over the network. The
client may browse the complete list of movies, search closed captions and
play selected video from the beginning or from the point matching search
query.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage:&nbsp; <a href="http://www.ecsl.cs.sunysb.edu/~andrew/VideoServer/videoserver/index/book1.html">http://www.ecsl.cs.sunysb.edu/~andrew/VideoServer/videoserver/index/book1.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="poorman-cam"></a><b><font face="Arial,Helvetica"><font size=+1>Poor
Man's Cam 1.1</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>PMCam is a program that allows
you to set up a webcam on a remote site through FTP and perl. It uses qcam
to grab the image, mogrify to do the conversion to JPEG, and Net::FTP in
perl to FTP the files to the server. The program's RC file should be configurable,
though to allow any camera or converison programs.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage:&nbsp; <a href="http://ic.net/~craig/pmcam/">http://ic.net/~craig/pmcam/</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="gilt"></a><b><font face="Arial,Helvetica"><font size=+1>GILT
0.1.0</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>GILT is a vector drawing
program. It merges GIMP and openGL to be both usable and dependable. It
is currently in a pre alpha state, this means we are looking for programmers.
Current features multiple views and documents in one session layers and
guides-layers script and plugin-mechanisms planned and partially implemented
transparent object possible (due to openGL) Planed features loading of
postscript object database</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage:&nbsp; <a href="http://www.vicksburg.com/~phoenix/main.html">http://www.vicksburg.com/~phoenix/main.html</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="zope"></a><b><font face="Arial,Helvetica"><font size=+1>Zope
1.10pr1</font></font></b>
<p><font face="Arial,Helvetica"><font size=-1>Zope is a free, Open Source
web application platform used for building high-performance, dynamic web
sites. It contains a powerful and simple scripting object model and high-performance,
integrated object database.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Homepage:&nbsp; <a href="http://www.zope.org">http://www.zope.org</a></font></font>
<br>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="gview"></a><b><font face="Arial,Helvetica"><font size=+1>gView
0.1.0</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Bruce Smith</font></font>
<p><font face="Arial,Helvetica"><font size=-1>gView is a GTK/ImLib image
viewer with an interface similar to ACDSee.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Initial release.</font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.geocities.com/ResearchTriangle/Facilty/1468/sg/">http://www.geocities.com/ResearchTriangle/Facilty/1468/sg/</a></font></font>
<table WIDTH="100%" >
<tr>
<td VALIGN=TOP COLSPAN="4" BGCOLOR="#000000" cellpadding="0" cellspacing="0"><img SRC="../gx/hammel/cleardot.gif" ALT="indent"  align=LEFT></td>
</tr>
</table>

<table WIDTH="100%" >
<tr>
<td ALIGN=RIGHT><font size=-2>&copy; 1999 by <a href="mailto:mjhammel@graphics-muse.org">Michael
J. Hammel</a></font></td>
</tr>
</table>


<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H1><font color="maroon">Linux Dialin Server Setup Guide</font></H1>
<H4>By <a href="mailto:jgentry@swcp.com">Josh Gentry</a></H4>
</center>
<P> <HR> <P>  

<B>Abstract</B>
<BR>v 1.3, 13 February 1999
<BR>This document is a step-by-step guide to setting up a Linux dialin
server which allows SLIP and PPP connections over a phone line.
<P><B>Copyright 1999 Josh Gentry</B>
<BR>I encourage redistribution of this document, non-commercial and commercial.&nbsp;
I would like to be notified of redistribution.&nbsp; You are NOT permitted
to alter the contents of this document, though I do not care about changes
in presentation.
<P><B>Acknowledgments</B>
<BR>Much of the information in this document was originally gleaned from
the following LDP HOWTOs: Linux Serial HOWTO
<BR>Linux Modem HOWTO
<BR>Linux Kernel HOWTO
<BR>Linux PPP HOWTO
<P>A great deal of information was found in Gert Doering's online documentation
for mgetty+sendfax. Additionally, the following online documents were valuable
in the configuration of AutoPPP in mgetty:
<BR><A HREF="http://members.bellatlantic.net/~mrdennis/mgetty.html">http://members.bellatlantic.net/~mrdennis/mgetty.html</A>,
Mick Dennis <A HREF="http://oh3tr.ele.tut.fi/~oh3fg/ppp/ppps.html">http://oh3tr.ele.tut.fi/~oh3fg/ppp/ppps.html</A>,
Kalevi Hautaniemi
<P>Much information on PAP was learned from Olaf Kirch's<A HREF="http://metalab.unc.edu/LDP/LDP/nag/nag.html">
Linux Network Administrators' Guide</A> and the S.u.S.E. Support Data Base
(<A HREF="http://wi-pc44.fh-konstanz.de/support-db/sdb_e/kfr_17.html">http://wi-pc44.fh-konstanz.de/support-db/sdb_e/kfr_17.html</A>).
<P>The majority of the information in this document was originally gathered
for, or derived from the process of setting up a Linux RedHat 5.1 dialin
server for Mr. James Hart. He teaches at the Technical/Vocational Institute
in Albuquerque, NM. Tony Lucero was my partner on that project. Their help
and guidance were invaluable.
<P>Finally, a big thank you to all those who have aided in the development
of the Linux kernel and Linux applications. This document is my small contribution
to their effort.
<P><B>Disclaimer</B>
<BR>This document carries no explicit or implied warranty. Nor is there
any guarantee that the information contained in this document is accurate.
It is offered in the hopes of helping others, but you use it at your own
risk. The author will not be liable for any damages that occur as a result
of using this document.
<P><B>1 Introduction</B>
<P>A dialin server is a host equipped with a modem and phone line, that
allows other hosts with modems and phone lines to call and connect to it.
There are several reasons a person might want to do this; to use the resources
on the dialin server, or, if the dialin server is on a network, to use
the dialin server to access the network. Further, if this LAN is connected
to the Internet, the client may be able to access the Internet via the
dialin server.
<P><B>1.1 Raison d'&ecirc;tre</B>
<P>The majority of information needed to setup a Linux dialin server is
available in LDP HOWTOs. When I used these documents to setup such a server,
however, the fragmentary nature of the information was a major obstacle.
This document consolidates much of the needed information and presents
it as a step-by-step guide.
<P><B>1.2 This Document as Guide</B>
<P>Setting up a dialin server is a common project, but not a simple one.
This document attempts to rigorously set forth a step-by-step guide to
the process. It is likely, however, that you will need to reference additional
documents. The <A HREF="http://metalab.unc.edu/LDP/HOWTO/HOWTO-INDEX.html">LDP
HOWTO</A>s listed above should be considered invaluable companions to this
document, and should be consulted in the order listed above. Furthermore,
do not neglect the documentation included with your getty and PPP packages.
<P><B>1.3 Clients and Servers</B>
<P>The protocols used to connect two hosts via a phone line are technically
peer-to-peer protocols; there is no real difference between the machine
that dials and the machine that is dialed into. Conceptually, however,
it is easier to think in client/server terms. "When you dial into a site
to establish a PPP connection, you are a client. The machine to which you
connect is the server." (<A HREF="http://metalab.unc.edu/LDP/HOWTO/PPP-HOWTO.html">Linux
PPP HOWTO</A>, Hart) I will use this convention throughout the document.
<BR>&nbsp;&nbsp;&nbsp; Setting up a dialin server is the process of setting
up a machine to answer the phone, participate in the setup of a connection
with the client, and authenticate the client.
<P><B>1.4 Differences Between Linux Distributions</B>
<P>My experience is with RedHat Linux 5.1. I believe most of the information
in this document will apply to all distributions. Where I am aware of or
suspect differences between distributions, I will note it in the text.
<P><B>1.5 Software Packages Covered</B>
<P>Linux kernel v2.0.34--<A HREF="http://sunsite.unc.edu/LDP/HOWTO/INFO-SHEET.html">http://sunsite.unc.edu/LDP/HOWTO/INFO-SHEET.html</A>
<BR>mgetty+sendfax-<A HREF="http://www.leo.org/~doering/mgetty">http://www.leo.org/~doering/mgetty</A>
<BR>PPP-2.3.3-<A HREF="http://sunsite.unc.edu/pub/Linux/system/network/serial/ppp/!INDEX">http://sunsite.unc.edu/pub/Linux/system/network/serial/ppp/!INDEX</A>
<P><B>2 Modem Installation</B>
<P>For a host to be a dialin server, it must be physically possible to
dial into it. This requires that the host have at least one modem and phone
line. Modems are serial devices, therefor it is highly recommended that
you read the <A HREF="http://metalab.unc.edu/LDP/HOWTO/Serial-HOWTO.html">Linux
Serial HOWTO</A>, as well as the <A HREF="http://metalab.unc.edu/LDP/HOWTO/Modem-HOWTO.html">Linux
Modem HOWTO</A>.
<P><B>2.1 Modem Type</B>
<P>Plug-and -Play modems are not well supported by Linux. This means that
you want a jumperable modem, or an external modem. Start by asking your
vendor what brand they recommend.
<P><B>2.2 Ports</B>
<P>Serial ports, like all I/O ports, have an address.&nbsp; By default,
Linux initializes four serial devices.&nbsp; Some may be familiar with
these ports as Microsoft refers to them, COM 1-4.&nbsp; In Linux these
ports are referred to as ttyS0-ttyS3.&nbsp; For example, the port known
to Microsoft as COM 1, would be known to Linux as ttyS0.
<BR>&nbsp;&nbsp;&nbsp; Note that if you use use a port address other than
these four, you will have to initialize that port with "setserial."&nbsp;
See the "setserial" man page.
<BR>&nbsp;&nbsp;&nbsp; External modems plug into external serial ports
(RS-232 ports) on your PC.&nbsp; These ports are automatically assigned
an address by Linux.
<BR>&nbsp;&nbsp;&nbsp; Internal modems plug into the internal PCI or ISA
slots of your PC.&nbsp; An internal modem is actually a modem and a serial
port.&nbsp; It carries its own, and it is the modem's serial port that
you plug into the internal slot.&nbsp; For these modems, you set the port
address on the modem.&nbsp; This is why you want a jumperable modem.&nbsp;
You use the jumpers to manually set address and IRQ.&nbsp; The prepriatorial
modem documentation should explain how to set the jumpers for port address
and IRQ.
<BR>&nbsp;&nbsp;&nbsp; Note, if your PC has two external serial (RS-232)
ports, as most PC's do, the Linux Modem HOW-TO recommends setting your
internal modem address to ttyS2 or higher.
<P><B>3 Kernel Support</B>
<P>This is the part of the process most likely to scare those new to Linux.
It scared me. Turns out not to be as difficult as you think, and if you
do make a mistake, you can usually just recompile your kernel again. You
should now read the <A HREF="http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html">Linux
Kernel HOWTO</A>.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; There is an alternative to compiling
the PPP driver into the kernel.&nbsp; You can install the driver as a loadable
module.&nbsp; The advantages of this are that your kernel is smaller, and
it is not necessary to recompile.&nbsp; The PPP driver is linked to the
kernel and loaded into memory space only when it is needed.&nbsp; I believe
the argument for compiling the driver into the kernel is that PPP does
execute faster if it is compiled into the kernel.
<BR>&nbsp;&nbsp;&nbsp; You can link the loadable module to the kernel by
recompiling the kernel as described below, but as Matt Kressel has pointed
out to me, if you have the "insmod" command installed on your system, it
is not neccessary to recompile.&nbsp; Issue the command "insmod ppp" to
install the PPP driver as a loadable module.&nbsp; I found that I had to
"insmod slhc" before I could successfully install PPP with "insmod ppp".&nbsp;
I am not sure why, but "insmod ppp" would not work without the slhc module.
<BR>&nbsp;&nbsp;&nbsp; The command "lsmod" lists the loadable modules currently
installed on the system.&nbsp; There is also a command for removing modules.&nbsp;
If these commands are installed on your system, then you should also have
the man pages.&nbsp; Do a "man insmod" for more information.
<P><B>3.1 Kernel and Source Code</B>
<P>The kernel is a binary, an executable program. Developers do not write
the kernel as an executable, they write code that is fed into a compiler,
and the compiler produces the executable from that source code.
<BR>&nbsp;&nbsp;&nbsp; With Linux, you have the source code that is used
to produce the kernel executable. This means that you can customize your
kernel to include only the capabilities that you need, creating a leaner,
meaner kernel. Because of this, you can not assume that a kernel includes
support for specialized tasks, such as those required for networking. You
will have to check and see, and if your kernel does not contain the necessary
support, you will have to recompile your kernel.
<P><B>3.2 Recompiling the Kernel</B>
<P>To compile the kernel, you create a configuration file. You can check
your current configuration file to see if needed capabilities are already
compiled into your kernel.
<BR>Most dialin servers will be hosts on a LAN. This document assumes that
the host is already configured as part of the LAN. If this is not the case,
you should reference other documents at the LDP before continuing, such
as the Linux Network Administrators' Guide.
<BR>&nbsp;&nbsp;&nbsp; I prefer to use xconfig. It is a graphical tool
for viewing and modifying the kernel configuration file. It requires that
you have X-windows installed and running, and that you have Tk installed.
<BR>In xconfig you will find the options for SLIP and PPP support in the
category "Network devices." These have to be supported for a SLIP and PPP
dialin server.&nbsp; If the server will provide access to a network, the
kernel must include support for IP forwarding. In xconfig this is found
in the category "Network options."
<BR>&nbsp;&nbsp;&nbsp; If you must recompile the kernel, it is highly recommended
that you read the <A HREF="http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html">Linux
Kernel HOWTO</A>. These are the basic steps:
<P>1.&nbsp; Make a copy of your present kernel in case of emergency
<BR>2.&nbsp; cd /usr/src/linux-(kernel version number)
<BR>3.&nbsp; Issue the command "make config". If you are running X-windows
you can try "make xconfig" to use a point-and-click interface for this
process.
<BR>4.&nbsp; Say "yes" to all the proper networking options: SLIP, PPP,
IP forwarding, etc (your LAN network configuration should already be configured).
<BR>5.&nbsp; Save and exit
<BR>6.&nbsp; Issue the command "make dep"
<BR>7.&nbsp; Issue the command "make clean"
<BR>8.&nbsp; Issue the command "make zImage"
<BR>9.&nbsp; cd /usr/src/linux-(kernel version number)/arch/i386/boot
<BR>10. cp zImage /vmlinuz (or wherever your kernel resides)
<BR>11. Issue the command "lilo"
<P>That should do it.&nbsp; The Linux Kernel HOWTO states that you should
be able to issue the command "make zlilo" after you have made the zImage,
and that making zlilo will copy and install the new kernel for you.&nbsp;
This did not work on my system, however.
<P><B>4 gettys</B>
<P>You will need a getty that can handle modem communications. Once started,
usually from inittab, the getty runs as a background process. Your modem
getty will be idle until the modem receives a call, at which point it will
"answer" the phone and negotiate the specifics of modem-to-modem communication
with the client. There are several gettys that can be used for this task.
<BR>This document covers the usage of mgetty. You can acquire the mgetty+sendfax
package and official documentation at Gert Doering's website, http://www.leo.org/~doering/mgetty.
It was included with RedHat 5.1 and lived in /sbin/mgetty and /etc/mgetty+sendfax.
<BR>&nbsp;&nbsp;&nbsp; Note that anytime you see something like "/sbin/mgetty"
that it is simply the path to the file. Files may be located in different
locations in the directory structure on different machines, and possibly
with different distributions. Therefor, the path to the file would be different.
You will need to verify the location of the necessary files on your system.
<BR>&nbsp;&nbsp;&nbsp; There are many options for mgetty that you can edit
to your desired configuration, most importantly in /etc/mgetty+sendfax/mgetty.config.
Refer to the mgetty documentation if you need to make changes to the default
settings. The default settings worked for us. If you wish to enable AutoPPP,
you will need to edit /etc/mgetty+sendfax/login.config. Detailed instructions
on that task appear later in this section.
<BR>&nbsp;&nbsp;&nbsp; To start mgetty, edit /etc/inittab. Here is another
point where the serial and modem HOWTOs are helpful. You must tell mgetty
which serial port to monitor. In Linux these ports are numbered 0-3, and
named ttyS* for dialin. For a modem we installed on the third internal
port, we added this line to /etc/inittab:
<P>S2:2345:respawn:/sbin/mgetty ttyS2 -D /dev/ttyS2
<P>The option "-D" tells mgetty to expect data only, no faxes. After this
use the command "kill -1 1" to force initd to re-read inittab. This will
cause mgetty to be started.
<BR>&nbsp;&nbsp;&nbsp; Note that if you use a multi-port serial board,
those ports might be named differently than the four ports Linux initializes
by default. In his excellent document on mgetty and AutoPPP, Mick Dennis
reports naming the ports on his Cyclade Cyclom 16YeP as /dev/ttyC*.
<BR>&nbsp;&nbsp;&nbsp; Using the default settings, mgetty negotiates a
SLIP (Serial Line Internet Protocol) connection and allows authentication
via /etc/passwd. This is a functional system that allows a user to login
to a shell account. If desired, a mechanism can be provided to allow users
to start pppd after logging in over there SLIP connection. First, make
sure that all users have permission to execute pppd by issuing the command:
<P>chmod u+s /usr/sbin/pppd
<P>Next, add this line to /etc/bashrc:
<P>alias ppp="exec /usr/sbin/pppd -detach"
<P>This way, after the user has logged in over the SLIP connection, they
can start pppd by typing "ppp." This procedure is taken from Robert Hart's
Linux PPP HOWTO.
<BR>Another option is to create a PPP account. The entry in /etc/passwd
might look like this:
<P>ppp:x:351:230:pppclient:/home/ppp:/usr/sbin/pppd
<P>When a user connects they simply login as "ppp." Once they provide the
password, pppd starts automatically.
<BR>&nbsp;&nbsp;&nbsp; For Microsoft clients to work with this setup, the
client must be configured to provide a terminal screen after connection.
This is not a default setting. These are the steps to do it in Windows
95:
<P>1. Click on My Computer
<BR>2. Click on Dial-Up Networking
<BR>3. Right-click on the icon for the connection
<BR>4. Click on Properties
<BR>5. Click on Configure
<BR>6. Click on Options
<BR>7. Click box next to "Bring up terminal window after dialing"
<P><B>4.1 AutoPPP and mgetty</B>
<P>Most Windows users will not like the requirement to use a login screen
after connecting to the server. It is possible for the system administrator
to remove this annoying extra step by using mgetty's ability to start pppd
upon initiating a connection. To do this, you enable AutoPPP.
<P><B>4.2 Compiling mgetty</B>
<P>Note:&nbsp; I have been told by several people, that when they chose
to install mgetty from their Redhat 5.2 distribution mgetty was automatically
compiled to include AutoPPP.
<BR>&nbsp;&nbsp;&nbsp; For AutoPPP to function, you must edit the makefile
before compiling. On or near line 110 you will need this:
<P>CFLAGS=-02 -Wall -pipe -DAUTO_PPP
<P>After that edit, compile mgetty according to the mgetty documentation
instructions.
<BR>Next, you edit /etc/mgetty+sendfax/login.config to look like this around
line 50:
<P>/AutoPPP/ - - /usr/sbin/pppd file /etc/ppp/options.server
<P>Once you have completed this configuration, mgetty will automatically
start pppd when it receives the LCP configure request. (For more on LCP
read the pppd man page.) The "file" option tells pppd to read the file
/etc/ppp/options.server instead of the default /etc/ppp/options. Since
pppd uses /etc/ppp/options for acting as a client or server by default
(remember, it is technically peer-to-peer), using this option helps keep
the desired options for acting as client or server separate.
<BR>&nbsp;&nbsp;&nbsp; Assuming that you have edited /etc/mgetty+sendfax/mgetty.config
to your preferences, you are done.&nbsp; Note that in every instance that
you change the options for a process, the process will have to be restarted
before the new options can take affect.
<BR>&nbsp;&nbsp;&nbsp; Note:&nbsp; If you wish to be able to dial out with
a modem that is being monitored by mgetty, you will need to pay attention
to what device your communications program uses.&nbsp; See <A HREF="http://www.leo.org/~doering/mgetty/mgetty_10.html#SEC10">http://www.leo.org/~doering/mgetty/mgetty_10.html#SEC10</A>
<P><B>5 PPP (Point-to-Point Protocol)</B>
<P>The Point-to-Point Protocol is the most popular protocol used for connecting
hosts by phone line.
<P><B>5.1 Compiling pppd</B>
<P>Adhere to the PPP package documentation. If you will be using shadow
passwords, you will need to use the following command:
<P>make HAS_SHADOW=1
<P>To use the MS-DNS option for Windows compatibility, and shadow, use:
<P>make USE_MS_DNS=1 HAS_SHADOW=1
<P>For more on this, see <A HREF="http://oh3tr.ele.tut.fi/~oh3fg/ppp/ppps.html">http://oh3tr.ele.tut.fi/~oh3fg/ppp/ppps.html.</A>
<P><B>5.2 Configuring pppd</B>
<P>PPP is configured by editing the options files read by pppd in /etc/ppp.
Remember that in this configuration pppd will read /etc/ppp/options.server
when it is started by mgetty. The most complete list of pppd options I
have found is in the pppd man page. If you do not use PAP or CHAP, your
file /etc/ppp/options.server might look like this:
<P>-detach
<BR>asyncmap 0
<BR>modem
<BR>crtscts
<BR>lock
<BR>proxyarp
<BR>ms-dns aa.bb.cc.dd
<BR>ms-dns ee.ff.gg.hh
<P>-detach-do not fork to become a background process
<BR>asyncmap 0-to allow pppd to work over a rlogin/telnet connection
<BR>modem-use the modem control lines
<BR>crtscts-use hardware flow control
<BR>lock-specifies that pppd use the UUCP-style lock on the serial device
<BR>proxyarp-adds an entry into the ARP table with the IP address of the
client and the IP address of the NIC
<BR>ms-dns-specifies the address of the DNS server to be used by Microsoft
clients (As far as I know, there is now equivelent option for non-Microsoft
clients.&nbsp; A Linux client must have the address of the DNS in /etc/hosts.)
<P><B>5.3 Configuring + PAP</B>
<P>PAP (Password Authentication Protocol) is one of the two protocols that
PPP uses to authenticate peers. The other is CHAP (Challenge Handshake
Authentication Protocol). CHAP is a more secure protocol, but is not as
widely supported as PAP. Thus, this document addresses the use of PAP,
only. For more information on both PAP and CHAP, see Olaf Kirch's Linux
Network Administrators' Guide.
<BR>&nbsp;&nbsp;&nbsp; Since PPP is technically a peer-to-peer protocol,
PAP allows two-way authentication. This means that not only the "server"
can request the "client" to authenticate itself, but the reverse is also
true. The "client" can require the "server" to authenticate itself. In
practice, this in not often done. Most PPP servers are not configured to
authenticate themselves to clients.
<BR>&nbsp;&nbsp;&nbsp; It is not difficult to configure your PPP server
to use PAP. To the /etc/ppp/options.server file above, simply add the following
entry:
<P>require-pap
<BR>refuse-chap
<P>With this configuration, pppd will check client login names and passwords
against the file /etc/ppp/pap-secrets. The client will be granted access
only if it matches an entry I /etc/ppp/pap-secrets. Example:
<P>#user&nbsp;&nbsp;&nbsp;&nbsp; server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; secret&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
addrs
<BR>jdoe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
<P>If the "server" and "addrs" fields are filled in, then the client will
only be granted access if the login name and password are sent from the
designated server and IP address/fully qualified domain name.
<P><B>5.4 PAP using /etc/password</B>
<P>If you do not wish to create an entry in /etc/ppp/pap-secrets for each
client allowed PPP access, you can instruct pppd to check login names and
passwords against /etc/passwd instead of /etc/ppp/pap-secrets. Add the
option "login" to /etc/ppp/options.server. For this configuration, your
/etc/ppp/options.server file will look like this:
<P>-detach
<BR>asyncmap 0
<BR>modem
<BR>crtscts
<BR>lock
<BR>require-pap
<BR>refuse-chap
<BR>login
<BR>proxyarp
<BR>ms-dns aa.bb.cc.dd
<BR>ms-dns ee.ff.gg.hh
<P>If the "login" option is used, the file /etc/ppp/pap-secrets need not
exist. In fact, it might interfere with the proper functioning of PAP.
You can remove the file, or it can contain the following line:
<P>* * ""
<P>The advantage of maintaining /etc/ppp/pap-secrets with this line is
that it leaves you the option of denying PPP access to individual accounts
that have entries in /etc/passwd. To do so, below the above line, enter
the following line:
<P>username * -
<P>where "username" is the username of the account you wish to deny PPP
access. Example:
<P>#user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
secret&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; addrs
<BR>&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
""&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*
<BR>jdoe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*
<P><B>5.5 IP Address Allocation with PPP</B>
<P>For PPP to work, the client must have an IP address. Most dialin clients
will not have their own IP address, so it is necessary to assign an IP
address to the serial port that the client connects through.
<BR>Earlier, we created a PPP options file that specifies the configuration
of PPP connections the server will provide, /etc/ppp/options.server. It
is also possible to create an options file that is specific to connections
made through a specified serial port. For example, to create a file for
ttyS2, your create the file /etc/ppp/options.ttyS2.
<BR>&nbsp;&nbsp;&nbsp; One of the options that can be defined in such a
file is IP address assigned to the port for PPP connections. This is the
format for this option:
<P>ii.jj.kk.ll:mm.nn.oo.pp
<P>The first IP address, from left to right, is the IP address of the server.
The second IP address is the IP address assigned to the serial port for
PPP connections.
<BR>&nbsp;&nbsp;&nbsp; Note, it is extremely important that you verify
that the IP address you assign to the serial port is a valid IP address
on your subnet, and that it is not assigned to any other device on the
network.
<P><B>6 Congratulations</B>
<P>You are done.
<BR>&nbsp;
<P>Feed back on this document is appreciated:&nbsp; email&nbsp; <A HREF="mailto:jgentry@swcp.com">jgentry@swcp.com</A>

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Josh Gentry <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./blanchard.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./jenkins7.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H1><font color="maroon">Linux Installation Primer, Part Seven Version 1999.02.14</font></H1>
<H4>By <a href="mailto:rjenkins@qni.com">Ron Jenkins</a></H4>
</center>
<P> <HR> <P>  

<P><FONT SIZE=-1><B>Copyright </B><FONT FACE="Symbol">&Oacute;</FONT><FONT FACE="Courier New">
1998, 1999 by Ron Jenkins. This work is provided on an "as is" basis. The
author provides no warranty whatsoever, either express or implied, regarding
the work, including warranties with respect to its merchantability or fitness
for any particular purpose.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>The author welcomes corrections
and suggestions. He can be reached by electronic mail at <A HREF="mailto:rjenkins@qni.com">rjenkins@qni.com</A>,
or at his personal homepage: <A HREF="http://www.qni.com/~rjenkins/">http://www.qni.com/~rjenkins/</A>.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Corrections, as well as updated
versions of all of the author's works may be found at the URL listed above.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>NOTE: As you can see, I am moving
to a new ISP. Please bear with me as I get everything in working order.
The e-mail address is functional; the web site is semi operational, I will
add to it as I get the time.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>SPECIAL NOTE: Due to the quantity
of correspondence I receive, if you are submitting a question or request
for problem resolution, please see my homepage listed above for suggestions
on information to provide.</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Operating Systems Covered/Supported:</FONT></FONT></B>
<BR><B><FONT FACE="Courier New"><FONT SIZE=-1>Slackware version 3.6</FONT></FONT></B>
<BR><B><FONT FACE="Courier New"><FONT SIZE=-1>RedHat version 5.1</FONT></FONT></B>
<BR><B><FONT FACE="Courier New"><FONT SIZE=-1>Windows NT Server version
4.0</FONT></FONT></B>
<BR><B><FONT FACE="Courier New"><FONT SIZE=-1>Windows NT Workstation version
4.0</FONT></FONT></B>
<P><B><I><FONT FACE="Courier New"><FONT SIZE=-1>I only test my columns
on the operating systems specified. I don?t have access to a MAC, I don?t
use Windows 95, and have no plans to use Windows 98. If someone would care
to provide equivalent instructions for any of the above operating systems,
I will be happy to include them in my documents.</FONT></FONT></I></B>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Part Seven: Internet Gateway
performance tuning and tips</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>In a continuation of last month's
column, we will look at some ideas, tips and tricks to improve the performance
of our Internet Gateway, as well as some advanced configuration options.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>As with each installment of this
series, there will be some operations required by each distribution that
may or may not be different in another. I will diverge from the generalized
information when necessary, as always.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>In this installment, I will cover
the following topics:</FONT></FONT>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Overview of Performance tuning and
enhancement.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Techniques for performance enhancement.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>WAN connection upgrades.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Hardware upgrades.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Software upgrades.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Caching options.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>General tips and tricks.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>References.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Resources for further information.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>About the Author.</FONT></FONT></LI>
</UL>
<B><FONT FACE="Courier New"><FONT SIZE=-1>Assumptions applicable to this
column:</FONT></FONT></B>
<BR><B><FONT FACE="Courier New"><FONT SIZE=-1>It is assumed you have read
my previous installments in this series, if not, I suggest you review them
first if you find any of the terms or concepts here confusing.</FONT></FONT></B>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Also, throughout the article,
I shall use the term WAN connection and PPP connection interchangeably.</FONT></FONT></B>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Overview of Performance tuning
and enhancement:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Performance enhancement, like
any other project, requires an analysis of the cost of the enhancement
versus the amount of improvement.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>What we will endeavor to accomplish
here is to improve the performance of our gateway, using a variety of techniques,
while keeping the additional cost as low as possible.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>For any method suggested here,
there will be a trade off. Some of the following suggestions may or may
not be applicable to your own unique situation.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Some of these techniques will
provide a real, measurable, and noticeable improvement, while others will
only become apparent through long term analysis, or examination of various
statistical reporting methods available to you. The ability to accurately
measure the performance of your gateway machine is essential to effective
tuning.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>As we go along and become familiar
with each technique, I will also introduce appropriate methods of measuring
these techniques, and therefore accurately measure the amount or percentage
of improvement.</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Techniques for performance
enhancement:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Although some of the ideas and
techniques discussed here will be applicable to other types of machines,
such as file servers and workstations, the primary focus of this column
will be geared toward the specific enhancement of gateway machines.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>In the context of this assumption,
the following techniques, in descending order of importance will provide
the most improvement in the operation and speed of the gateway machine:</FONT></FONT>
<OL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>WAN connection upgrades.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Hardware upgrades.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Software upgrades.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Caching options.</FONT></FONT></LI>
</OL>
<FONT FACE="Courier New"><FONT SIZE=-1>Finally, I will discuss some general
tips and tricks for measuring the performance of your gateway, as well
as some ideas for areas of improvement.</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>WAN connection upgrades:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>The single most effective method
for increasing the performance of your Internet Gateway is to upgrade the
speed of your connection to the Internet.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>This can take the form of a dedicated
or dialup connection in most cases. Some of the options you may want to
consider include:</FONT></FONT>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Many ISP's offer "dual modem" service.
This is a technique whereby the two individual modem connections are "bound"
together using multi-link PPP. The performance enhancement is slightly
less than the sum of the two individual connections.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>56K modems, provided they are not
software modems, more commonly known as "WinModems," may be an option.
I have been told by one of my readers that the external models work well,
and if the internal model is NOT a soft modem as described above, it should
work as well. (Thanks go to Gerald McGlew for setting me straight on this
information.)</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Presently, an Integrated Services
Digital Network (ISDN) line, commonly known as a Basic Rate Interface,
or BRI, is one of the best ways to remarkably improve the performance of
your Gateway machine. In my area, an ISDN line, with unlimited usage, costs
about $80.00 per month. The cost for a dial up ISDN connection in my area
is about $50.00 total cost (line charge + ISP access) ~$130.00.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Another possibility would be a cable
modem, although I know very little about these devices, as they are not
available in my area, so I do not know how cost effective they are.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>In some areas of the country, Digital
Satellite Network systems are available. These work well, as long as you
have a clear path to the satellite. However, the satellite connection is
only unidirectional, meaning that it only moves FROM the remote station
TO your PC. This is called the downlink. A separate method of access is
required for the uplink, or your requests TO the remote network. This can
be anything from a simple modem to a dedicated connection.</FONT></FONT></LI>
</UL>
<FONT FACE="Courier New"><FONT SIZE=-1>Measuring the performance of your
WAN connection -</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>There are several programs and
utilities that can help you here, one that I use quite a bit is a program
called netwatch, which is handy for general monitoring of your network
and the speed of your router (your Internet gateway.) This utility is not
provided as part of the normal distribution of RedHat, but is included
with Slackware 3.6. There is an RPM of an older version available at any
of the RedHat mirror sites, in the /powertools/ directory.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>For checking the real time condition
of your WAN connection, as well as the effectiveness of any compression
options you may be using, pppstats is very helpful. This utility should
be available on both Slackware and RedHat machines.</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Hardware upgrades:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>To improve the performance of
your local network access, RAM and disk subsystems are king. Provided your
motherboard has sufficient cache to handle it, put as much RAM as you can
afford in your server and gateway machines.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Another crucial area is the disk
subsystem. Although there have been significant advances in ATA technology,
such as EIDE, UDMA, and so on, the standard for heavy, continuous use and
high performance is still the Small Computer Systems Interface, or SCSI
device.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>It is important to note that
IDE drives are SEQUENTIAL access devices, meaning each request for information
must "stand in line" and wait for it's turn. SCSI drives are CONCURRENT
access devices, meaning multiple requests can be serviced simultaneously.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>While the price differential
between IDE devices and comparable SCSI devices was prohibitive in the
past, at the preset time, the difference is negligible. Consider Ultra
(20MBS) drives a minimum, Ultra Wide (40MBS) drives better.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>A SCSI subsystem is comprised
of four basic parts</FONT></FONT>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>the host adapter, or card that is
inserted in your PC and coordinates all communication between the SCSI
devices and your computer.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>The SCSI bus, upon which all the
data interchange takes place. Usually a 40 or 50 pin cable, depending on
the speed of the host.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>The SCSI devices, which may include
disks, scanners, tape drives, and many other devices. The number of devices
allowed on a given bus depends on the speed of the host as well, but is
not limited to four devices, like a comparable IDE bus.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>The termination devices. Like the
bus network we discussed in December, a SCSI bus requires termination at
both ends, just like a 10BASE2 coaxial network. The termination can be
active or passive, and may or may not require an additional device to be
attached, especially on external SCSI devices.</FONT></FONT></LI>
</UL>
<FONT FACE="Courier New"><FONT SIZE=-1>You may notice I do not mention
U2W devices here. The support for these devices, as far as I know, is still
in the development stage, so I would wait awhile on these devices. Besides,
they are waaaaay expensive!</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>NOTE: Unless you are planning
on implementing some of the caching techniques described below, a disk
subsystem upgrade will not provide a noticeable performance enhancement.</FONT></FONT></B>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Simple routing and masquerading
are done in the kernel, on the fly, causing minimal interaction with the
disk.</FONT></FONT></B>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>However, if the machine also
doubles as a file server, web server, or something other than just an Internet
Gateway, then it is worth considering.</FONT></FONT></B>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Software upgrades:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>In the area of software enhancements,
here are some options to consider:</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>PPP Software - You may want to
consider upgrading your PPP software if your distribution does not contain
PPP version 2.3.0 or greater.&nbsp; This version contains support for the
demand dialing option, thus eliminating the need for diald or any such
extra stuff.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>It also supports a more robust
scripting method based on ppp-xx scripts, usually prepared at installation
time and requiring only some editing to make them functional. These files
are usually located in /etc/ppp and/or /usr/sbin.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Data Compression - A comprehensive
explanation of Data compression theory is beyond the scope of this article,
so briefly, here is an overview of compression methods and how they can
improve the apparent speed with which traffic flows through your WAN interface.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Van Jacobson (VJ) Compression
- This is enabled by default in most Linux distributions of the PPP daemon.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>BSD Compression (bsdcomp) - Another
compression scheme, usually disabled by default. You will be required to
load a module, or re-compile the kernel to include support for this.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Deflate Compression - Yet another
compression scheme, also disabled by default.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Any one of, and/or combination
of these compression schemes may or may not improve the apparent performance
of your PPP connection. To enable, disable, or adjust the parameters for
any or all of these compression schemes, see the pppd man pages. Experiment
with them, using netwatch to measure any speed changes, and pppstats to
measure the amount of compression.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>BIND - The Berkley Internet Name
Daemon (BIND), commonly called named, is the service responsible for hostname
to IP address translation on the Internet, most often referred to as Domain
Name Service, or DNS<B>**</B>.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>While it is impractical to run
your own full blown DNS server (unless of course you have your own domain,
and a block of assigned IP's,) It can be helpful to run what is known as
a "caching only" nameserver.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Whenever you request an object
on the Internet, whether it be a web page, ftp site, news server, or whatever,
you usually issue the request in the form of a hostname/path_to_object/
format. When your request goes out, it is handed off to the DNS server
specified in your resolv.conf file first.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Since the DNS system is hierarchical,
like an upside down pyramid, with the point on the bottom being the DNS
machine in your resolv.conf file, your DNS machine only knows about machines
local to it's own network<B>*</B>, in this case, your ISP's. This information
is contained in what are known as "zone" files, which are simply ASCII
text files that list information about a "zone" or domain in a standardized
format.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>If the request cannot be resolved
by this machine, it then consults the next higher machine in the pyramid,
as so on until ultimately, if necessary, the query reaches the "root.servers"
responsible for all the *.com, *.edu, *.net domains and so on.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Finally, at some point, after
much communication back and forth across the WAN connection, the hostname
you requested will be converted into an IP address, and sent back to your
computer.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Clearly, there's a significant
amount of communication going on in the background to let us meat based
computing devices do the "dub dub dub" deal.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>What a caching nameserver does
simply put, is to "remember" these name to IP resolutions for a period
of time, so the next time a particular object is requested, the nameserver
can service the request locally, without having to go outside the local
network. This is way cool for two reasons. It makes name resolution appear
much faster, and reduces traffic on the WAN.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>The downside to this is that
each initial, or "new" request will take slightly longer to return to your
computer. As I said before, everything is a trade off. Usually, the latency
is nominal. This technique is almost always a good idea.</FONT></FONT>
<DIR>
<DIR><B><I><FONT FACE="Courier New"><FONT SIZE=-1>* Well sort of. It is
possible for your ISP to be aware of other networks beyond the ones contained
in the root.servers file, but this is irrelevant in the scenario we are
discussing here.</FONT></FONT></I></B>
<P><B><I><FONT FACE="Courier New"><FONT SIZE=-1>** Actually, BIND is comprised
of a number of programs, each performing a specific function. The most
important piece of the puzzle is the resolver.</FONT></FONT></I></B></DIR>
</DIR>
<FONT FACE="Courier New"><FONT SIZE=-1>Apache - The Apache http server
contains provisions for enabling some caching options, thus reducing WAN
traffic. Check the Apache documentation for more information.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Squid - This is a web proxy/caching
software suite that is infinitely configurable, and supports many services.
To find out more about Squid, and whether it is right for your particular
installation, see the resources section at the end of this document.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Leafnode - This is a replacement
for the Network News Transport Protocol (NNTP) server usually used in most
UNIX installations. It is small, easy to configure, and takes up a fraction
of the disk space of the normal Internet News (INN) software. The trade
off is that it does not scale well, and can really tie up your WAN connection
when it initially downloads the articles available from the newsgroups
you have selected (See the cron section of the General Tips and Tricks
for some ways to minimize this congestion.) To find out more about Leafnode,
and whether it is right for your particular installation, see the resources
section at the end of this document.</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Caching options:</FONT></FONT></B>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Advantages of cache options - Whenever
you are able to store a document (such as a web page or news article,)
or a data object (such as a name to IP resolution,) locally, this allows
your gateway to service your request locally, thus reducing the amount
of traffic across your WAN (PPP) connection. This is a good thing, because
the apparent speed with which your request is serviced is greatly increased,
while the WAN connection is left available for other requests and tasks.
Additionally, if you have the disk space for it, spooling your own news
is a great idea as well. This allows local network access to your Usenet
spool, and keeps the download (usually called a fetch or suck because it
sucks up all your bandwidth,) on the local net, and off the WAN.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Disadvantages of cache options -
However, there is a tradeoff involved here. This type of caching works
best for documents and data that are considered "static" or infrequently
changed. Depending on the expiry parameter set for your caching service
(the amount of time a document or object resides locally on your machine
before it is considered "stale" and deleted,) you may find yourself looking
at "yesterday's news." This is primarily a concern in the web caching area,
less so in the news although your articles will not be refreshed in "real
time", and negligible in the nameserver.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Configuration of a caching only
name server - BIND may or may not be installed on your machine already,
depending on your choices at installation time. If your distribution does
not contain BIND version 8.1.x or greater, I strongly recommend you upgrade.
The 4.x.x version are no longer in development, and the added features
included in the 8.x.x version, such as dynamic zone transfers, and simplified
configuration, make it worth the upgrade. See the resources section for
the URL of the Internet Software Consortium (ISC) which develops and maintains
BIND.</FONT></FONT></LI>
</UL>
<FONT FACE="Courier New"><FONT SIZE=-1>Slackware 3.6 - The Slackware distribution
will require you to do a little work to enable the nameserver. This is
really a good thing, because when you set it up yourself, you will be better
equipped with more of an understanding of how the process works, and therefore,
how to diagnose and correct problems when they develop.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>First, you will need a directory
called /var/named. If it is not already there, create it.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Next, you will need a file containing
listings of all the root servers, and a file that serves as your local
information, or "zone" file. These files should be named root.cache, and
127.0.0, respectively. Examples of these two files may be found in the
DNS-HOWTO, or the Cricket book listed in the resources section.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Finally, you will need a named.conf
file, which passes the start up options to BIND. For a caching nameserver,
it should look something like the following:</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>// Config file for caching only
name server</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>options {</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>directory "var/named";</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>//Uncomment the line below if
you are behind a</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>//firewall, and you can?t get
things to work:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>// query-source port 53;</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>};</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>zone "." {</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>type hint;</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>file "root.cache";</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>};</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>zone "0.0.127.in-addr.arpa"
{</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>type master;</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>file "127.0.0";</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>};</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>// End Config file example</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Those of you who are familiar
with the C/C++ programming language will notice the similarity of the syntax
of the named.conf file.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Briefly, the first section delineates
the working directory, the second section tells the resolver where to look
for the root servers file, and the last section is your "zone" file. This
file should live in the /etc directory.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Finally, edit your resolv.conf
file on the gateway machine to point first to itself, then to your ISP
for name resolution:</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>search <A HREF="http://home.net/">home.net</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>nameserver 127.0.0.1</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>nameserver &lt;your ISP primary
DNS></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>nameserver &lt;your ISP secondary
DNS></FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Then finish up by pointing all
your <A HREF="http://home.net/">home.net</A> clients to the gateway for
resolution:</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>search <A HREF="http://home.net/">home.net</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>nameserver 192.168.1.1</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>RedHat 5.x - when you install
the RPM, it automagically should install as a caching server. If not, then
see above for the required files and proper named.conf examples.</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>General tips and tricks:</FONT></FONT></B>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Late night cron tricks - Cron (short
for chronometer,) is a more user friendly (supposedly ;-)) front end to
the at daemon. This daemon allows the unattended execution of scripts and
commands on precise days at specific times. This is very handy for automating
many of the drudge tasks inherent on a UNIX box, such as log rotation,
ftp jobs, or in our case, news and caching server functions. This information
is contained in files called crontab files. There may or may not be more
than one of these files present on your system, depending on how it was
set up at installation, and how many users you may have. This file or files
live in the /var/spool/cron/crontabs directory.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Automating function's with cron
- To edit, or add an entry in the crontab file, use the command - crontab
-e &lt;return>. Once the file is open, entries are made in the format &lt;minutes>
&lt;hours> &lt;days> &lt;weeks> &lt;months> commands. Null entries are
represented by an asterix (*). For an example, you will probably want to
schedule your leafnode newsfeeds, as well as any extensive cache downloads
in the early hours of the morning when you have the least amount of users
on the system. To start the newsfeed (fetch) every morning at 4:00 a.m.,
the entry would be:</FONT></FONT></LI>
</UL>
<FONT FACE="Courier New"><FONT SIZE=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0 4 * * * /usr/sbin/fetch</FONT></FONT>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Calling scripts from cron - There
will be times when you want to execute a series of commands, or pass many
options to one or more commands, and entering them over and over at the
command line becomes a bummer. Enter shell programming. This is nothing
more than a file that contains a series of commands to be executed, then
exited after the last command is done. This is handy for any number of
things. Indeed, the unicom file from last month is a shell script. As an
example, say you wanted to remove your wtmp file, and create a new one
every hour. The script for this might look something like:</FONT></FONT></LI>
</UL>
<FONT FACE="Courier New"><FONT SIZE=-1>#!/bin/sh #all scripts should start
with your preferred shell</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>rm -f /var/log/wtmp #this removes
the old file</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>touch /var/log/wtmp #this creates
the new file</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>echo "wtmp cleaned" > /var/log/wtmp.log
#this just lets me know the script ran</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Shell scripts can be created
using any of the many text editors available on your Linux system. Let?s
say we named this file wtmpclean. To make it executable by the system,
simply issue the chmod command:</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>chmod +x wtmpclean</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>To call this script from cron,
and have it run every hour, your crontab entry would be something like:</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>0 * * * * /usr/sbin/wtmpclean</FONT></FONT>
<UL>
<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Browser cache settings - Netscape
has a feature that allows you to adjust the size and behavior of your browser?s
disk and memory cache. These are areas set aside on your disk and in RAM
to "keep" your most recently requested browser objects, like an html page,
a .gif or .jpg file, etc. To adjust these settings, from the Netscape menu
bar choose Edit/Preferences/Advanced/Cache, Subject to RAM and disk space
limitations, you can increase/decrease the size of your Disk and Memory
cache, and choose how frequently your browser will go out across the WAN
to compare the document in the cache to the document at it?s original location.
Keep in mind the limitations mentioned previously. This is probably best
set to "Once per session" unless you are trading stocks or something that
requires frequent updates.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Tweaking your modem - Most modems
have extra features available that may or may not improve the performance
and behavior of your modem. Check the manufacturer?s documentation and
experiment.</FONT></FONT></LI>

<LI>
<FONT FACE="Courier New"><FONT SIZE=-1>Data line conditioning - For a small
additional monthly charge, you can have the phone company "condition" your
line, or optimize it for data versus voice communications. This may or
may not be useful to you, it is usually most helpful if you are in a rural
area, or some other area that experiences excessive static or degradation
of line quality.</FONT></FONT></LI>
</UL>
<B><FONT FACE="Courier New"><FONT SIZE=-1>References:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Previous Columns:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Parts 4,5, and 6.</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Other:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Pppd man pages</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Cron man pages</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Leafnode man pages</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>PPP HOW-TO</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>SERIAL HOW-TO</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>DNS-HOWTO</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>Resources for further information:</FONT></FONT></B>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Web Resources:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://www.redhat.com/">http://www.redhat.com/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://www.slackware.com/">http://www.slackware.com/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://metalab.unc.edu/LDP/">http://metalab.unc.edu/LDP/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://www.linuxresources.com/">http://www.linuxresources.com/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://metalab.unc.edu/">http://metalab.unc.edu/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://www.isc.org/">http://www.isc.org/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://www.apache.org/">http://www.apache.org/</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Squid Software:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://squid.nlanr.net/">http://squid.nlanr.net</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Leafnode Software:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="http://wpxx02.toxi.uni-wuerzburg.de/~krasel/leafnode.html">http://wpxx02.toxi.uni-wuerzburg.de/~krasel/leafnode.html</A></FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>Netwatch software:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1><A HREF="ftp://ftp.slctech.org/pub/">ftp://ftp.slctech.org/pub/</A></FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Newsgroups:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>alt.unix.wizards</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>comp.security.unix</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>comp.unix.admin</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>alt.os.linux.slackware</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>comp.os.linux.networking</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>comp.os.linux.hardware</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>linux.redhat.misc</FONT></FONT>
<P><FONT FACE="Courier New"><FONT SIZE=-1>Print Materials:</FONT></FONT>
<BR><FONT FACE="Courier New"><FONT SIZE=-1>DNS and BIND (The Cricket Book)
- 2<SUP>nd</SUP> edition (O?Reilly &amp; Associates)</FONT></FONT>
<P><B><FONT FACE="Courier New"><FONT SIZE=-1>As always, I?ve ran way long
this month. Look for the Advanced Services information next month.</FONT></FONT></B>

<P> <HR> <P> 
<center><H4>Previous ``Linux Installation Primer'' Columns</H4></center>
<p>
<A HREF="../issue32/jenkins1.html">Linux Installation Primer #1, September
1998</A><BR>
<A HREF="../issue33/jenkins2.html">Linux Installation Primer #2, October
1998</A><BR> 
<A HREF="../issue34/jenkins3.html">Linux Installation Primer #3, November
1998</A><BR> 
<A HREF="../issue35/jenkins4.html">Linux Installation Primer #4, December
1998</A><BR> 
<A HREF="../issue36/jenkins5.html">Linux Installation Primer #5, January
1999</A><BR> 
<A HREF="../issue37/jenkins6.html">Linux Installation Primer #6, February
1999</A><BR> 

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Ron Jenkins <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./gentry.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./martin.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H1><font color="maroon">PAP HOWTO</font></H1>
<H4>By <a href="mailto:catfish@alltel.net">Terry Martin</a></H4>
</center>
<P> <HR> <P>  

<P>
This Document is covered by the GPL and can be used in anyway seen fit from 
the license.
<P>
This document is not intended to replace the ppp-howto it is intended to be 
a primer as howto setup PAP for calling an ISP that refuses tech support 
to a Linux user.
<P>
 PAP=Password Authentication Protocol.
<P>
  If your not sure if your ISP uses pap just bring minicom up and 
atdt&lt;isp-number&gt; and wait for the modem to connect.
<P>
If you get login: or some variant of that your isp is not using pap and this 
paper is not for you.
<P>
 If you get a line or two of trash like:
<PRE> 
{}{}{}{}{}}}}{{}{}}}{}{}{}{}[][][][][ 
 </PRE> 
 You know it's looking for PAP or mschap.
<P>
  I won't deal with MSChap since I don't have access to an ISP that uses 
it and I wouldn't want to knowing the reliability of NT.
 Now assuming your dealing with chap we need to figure out what version
of pppd your using. Type /usr/sbin/pppd --version and you will get the 
version number, I'll cover versions 2.2.0-f and 2.3.5 in this doc as 
thats what I'm familiar with.
  
<H3>pppd 2.2.0 version.</H3> 
<P>
This section I will cover the setup and impletation of pap with older 
distributions like RH 4.2 and Slackware 3.6 use this older version of the
pppd daemon.
<P>
 I prefer pico for the new users as editors of choice for console. If you don't
have it look into getting the latest Pine release it's part of it.
<P>
  You have to edit your ppp-on script if you have one if not I'll include 
one here. You need to look into /usr/doc/pppd*/scripts for the ppp scripts, 
at least thats where the defaults reside with RedHat.
<P>
Here's what my ppp-on looks like:<BR> 
<P>
  This is setup for your modem being on com2 in dos or /dev/ttyS1 in Linux.
You need to use ttySxx since the /dev/cua1 is now a defunct format with the 
2.2.x kernels. If you plan to upgrade to kernel 2.2.x you need upgrade your 
pppd to at least pppd-2.3.x to keep ppp working.
<PRE> 
#!/bin/sh
TELEPHONE=&lt;your-isp-phonenumber&gt;

LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0   # The proper netmask if needed

export TELEPHONE   

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

exec  /usr/sbin/pppd debug lock modem crtscts /dev/ttyS1 115200 \
        asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT \
        +ua /etc/ppp/pap-secret
</PRE> 
Thats what your ppp-on file will need to make pap work. 
As you can see your login name and password are no longer included in this 
file so that closes a security risk there. 
<P>
   Anyplace you see &lt;name&gt; always omit the &lt; &gt; and just use the 
information needed.
<P>
 Next you need to edit /etc/ppp/ppp-on-dialer to disable the looking for a 
login and password lines.
<P>
Example:
<PRE> 
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
# This is the ppp-on-dialer for PAP with pppd-2.2.0
exec /usr/sbin/chat -v                                  \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \

</PRE> 
 Now we'll cover the password file setup and format. 
This next part is easy all you need is a file named pap-secret
with the login name and password on separate lines.
<P>
i.e., pap-secret with pppd-2.2.0
<PRE>
greg
stinky1
</PRE>
 After you make this file if it's not there. As root type 
 <PRE> 
 chmod -r pap-secret
</PRE>
  Please don't forget the /etc/resolv.conf file for your DNS numbers.
<P>
  I know I said this wasn't goin to be a ppp-howto but I'll include 
 /etc/resolv.conf just to save headaches and email as to why it don't it work.
<PRE> 
domain &lt;your.isp.com&gt;
search &lt;your.isp.com&gt;
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
</PRE> 
Your /etc/resolv.conf should look something like this with the proper 
information edited.
<P>
Put the ppp-on in /usr/sbin/ and put ppp-on-dialer in /etc/ppp with pap-secret
as root
<PRE> 
cp ppp-on /usr/sbin/
cp ppp-on-dialer /etc/ppp
cp pap-secret /etc/ppp
</PRE> 
Now all you should have to do is type ppp-on and you should get connected 
to the net with Linux. Enjoy.
<P>
<H3>pppd-2.3.5</H3> 
<P>
  Seting up PAP with pppd-2.3.5 is as easy as pppd-2.2.0 just the syntax 
has changed in the ppp-on script.
 Please refer to the ppp-on-dialerand the resolv.conf in the above for it
 so I don't have to repeat myself here.
<P>
Heres an example ppp-on script.
<PRE> 
#!/bin/sh

TELEPHONE=&lt;you-isp-phone-number&gt;

LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0   # The proper netmask if needed

export TELEPHONE

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

exec  /usr/sbin/pppd debug lock modem crtscts /dev/cua1 115200 \
        asyncmap 20A0000 escape FF kdebug 0 name catfish $LOCAL_IP:$REMOTE_IP \
        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT \
 </PRE>        
 Thats about all there is to it for ppp-on with pppd-2.3.5 and PAP.
<P>
Now for the /etc/pap-secret file the syntax here has changed from the 
earlier pppd-2.2.0 also.
<P>
 All you need here now is a single line with your login name the interface 
and your password. 
<P>
 So your pap-scret file would look like so.
<P>
I.E. pap-secret
<PRE> 
&lt;loginname&gt; ppp0 &lt;password&gt;
</PRE> 
Well thats all there is to it for the PAP howto, pretty basic stuff when 
theres documents for it. 
<P>
  Enjoy and happy surfing.
Terry Martin aka catfish on newnet #alt.linux 
catfish@alltel.net
<P>
If for some reason you can't get it to work or you find an error please 
email me.

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Terry Martin <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./jenkins7.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./adler1.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<center>
<H1><font color="maroon">The Slashdot Effect, An Analysis of Three Internet Publications</font></H1>
<H4>By <a href="http://ssadler.phy.bnl.gov/adler/adler">Stephen Adler</a></H4>
</center>
<P> 

<hr width="60%">
<Blockquote>
<Blockquote>
<center><i>Abstract</i></center>
<br>
Apache httpd log files have been analyzed to show the <i>Slashdot
Effect</i>.  This effect is known as the spontaneous high hit rate
upon a web server due to an announcement on a high volume news web
site. Three papers were published on the Internet and announced on the
high volume news web sites of slashdot.org, linuxtoday.org, and
freshmeat.org. The hit rate plots as a function of time are correlated
with the announcement times on these web sites. These correlations
clearly demonstrate the magnitude and significance of the
<i>Slashdot Effect</i>.
<p>
Author's note: Here 
is an <a href="./adler2.html">Addendum</a> to this paper
which details the Slashdot effect on this paper.
</blockquote>
</blockquote>

<hr width="60%">

<p>
Three papers were published on the Internet. One on October 20th, 1998
titled
<a href="http://ssadler.phy.bnl.gov/adler/fiw98/fiw98.html">
<i>Fall Internet World 98, A View From The Show Floor</i></a>,
one on November 14th, 1998 titled
<a href="http://ssadler.phy.bnl.gov/adler/OSS/OSS.html">
<i>Preserving the Information Ecosystem</i></a>,
and one on January 28th, 1999 titled
<a href="http://ssadler.phy.bnl.gov/adler/Stallman/Stallman.html">
<i>An Ode to Richard Stallman</i></a>. Soon
after these papers were published, Slashdot, Linux Today and Freshmeat
ran announcements in one form or other regarding the availability of
these papers. Within less than an hour, the hit rate to the system
hosting these papers surged. This surge in hit rate on the hosting web
server is known as the <i>Slashdot Effect</i>.  The magnitude of the
hit surge varied with each posting since not all three web sites
posted the articles at the same time, if at all.  What follows is a
brief case study of the <i>SlashDot Effect</i> for each of these
papers.

<p>
<hr width="80%">
<p>
<center>
<a href="./gx/adler/fullTime.jpg"><img src="./gx/adler/fullTimeSmall.jpg"></a>
</center>

<p>
To start, a plot of the hit rate in hits/minute is shown above for the
past 4 months during which the three papers were published on the
Internet. The time on the X axis is that of the Unix system time in
seconds since Jan 1st, 1970 scaled down by a factor of 1000. The width
of one bin of the histogram is show in a text field on the bottom
right of the plot. The first recorded hit was 27/Sep/1998:21:02:08,
and the last recorded hit was 31/Jan/1999:03:59:43. These two dates
set the two limits of the X axis time scale. The Y axis shows the
number of raw hits per minute averaged over the time of one bin
width. (In the case of the plot above, averaged over 902.39 minutes.)
The data is shown in raw hits/minute, since for each paper referenced
by a viewer on the Internet generated several hits. One needs to apply
a scale factor, which is the number of hits generated per paper, in
order to measure the number of readers of these publications. Since
the purpose of this paper is to show the <i>Slashdot Effect</i> and
not to try and measure the number of readers of the papers, this
scaling is not performed.

<p>
Vertical lines are drawn on the above plot to indicate the time of the
posting by the three web sites. The red lines indicate the
announcements by Slashdot, the green lines by Linux Today, and the
blue lines by Freshmeat. From this plot, one can see clear evidence of
the <i>Slashdot Effect</i>. What follows is a closer examination of
each one of these postings, since this full time view of the hit rate
to the server hides some detail of the this effect.

<p>
<hr width="80%">
<p>
<center>
<a href="./gx/adler/fiw98Zoom.jpg"><img src="./gx/adler/fiw98ZoomSmall.jpg"></a>
</center>

<p>
This plot above is a zoom in around the time of the announcement of the
Fall Internet World 98 paper. The paper was first announced around 8am
on the 20th of October and about 30 minutes later, the hit rate to the
server surged to well over a 100 hits/minute. This was when the author
first experienced the <i>Slashdot Effect</i>. Soon after, around 1pm
of the same day, Linux Today announced the article. One can see a
slight resurgence in the hit rate about 30 minutes after the Linux
Today announcement.

<p>
<hr width="80%">
<p>
<center>
<a href="./gx/adler/ossFull.jpg"><img src="./gx/adler/ossFullSmall.jpg"></a>
</center>

<p>
The plot above shows the hit rate to the same server during the time
that "Preserving the Information Ecosystem" was published and
announced on Linux Today and posted as a Freshmeat editorial. Linux
Today announced it on November 14th, and the Freshmeat editorial was
posted on Nov 21th. The announcement of this article on Linux Today
was only visible for about 12 hours on its front web page, where as
the article was visible on the front page of the Freshmeat web site
for several days. This is an indication as to why the Freshmeat
announcement generated more hits than that of the Linux Today
announcement.

<p>
<hr width="80%">
<p>
<center>
<a href="./gx/adler/rmsMoreZoom.jpg"><img src="./gx/adler/rmsMoreZoomSmall.jpg"></a>
</center>

<p>
The final plot above shows the <i>Slashdot Effect</i> with respect to
the last paper titled "An Ode to Richard Stallman". While the paper
was being written, notification of its existence was sent to members
of the LXNY group and to the general redhat mailing list. Therefore
the activity to the server started to increase before the Linux news
web sites announced this article. On Jan 28th, around 1pm, Linux Today
announced the article and published a text only version on their web site.
Slashdot followed with an announcement of the article and a hyper link
to the article at around 4pm. One can see the very impressive surge
in hits after the Slashdot announcement in which the hit rate went
from about 30 hits/minute up to over 250 hits/minute in about a 15
minute period.

<p>
<hr width="80%">
<p>
In conclusion, the term <i>Slashdot Effect</i> has been referenced
many times on sites around the Internet. With the publication of
articles related to Linux and the Open Source movement, and the
announcement of these articles to Linux related news web sites, one
has a chance of documenting, in a controlled environment, this
effect. The plots of the hit rate received by the hosting server
clearly shows the existence of the <i>Slashdot Effect</i>. This effect
varies in magnitude for different reasons. One reason being the
interest of the readership in the content of the article being
announced.  Another reason being the form in which the article is
announced.  For example, the article titled "an Ode to Richard
Stallman" was announced by Slashdot and Linux Today. Linux Today
published the text of the article on their own web site, thus keeping
many of the hits, by readers interested in this article, on their
server. This strongly dampens the surge in hit rate to the system
hosting the full article.  On the other hand, Slashdot announced the
article via a hyper link to the server hosting the full article and
thus the local host received all the hits from Slashdot readers. The
purpose of this article is just to document the existence of the
<i>Slashdot Effect</i> and not to try and gauge which news web site
has the predominant reader-ship.

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Stephen Adler <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./martin.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./rogers.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->

<CENTER>
<H1>
<FONT COLOR="#800000">The Standard C Library for Linux</FONT></H1></CENTER>

<CENTER>
<H3>
<FONT COLOR="#000080">Part Four: &lt;ctype.h&gt; Character Handling</FONT></H3></CENTER>

<CENTER>
<H4>
By <A HREF="mailto:jrogers@u.washington.edu">James M. Rogers</A></H4></CENTER>

<HR>
<P>The last article was on &lt;stdio.h&gt; Input and Output.&nbsp; This article
is on &lt;ctype.h&gt; character handling.
<P>Character handling allows us to clasify characters as alpha, digit,
hexdigit, whitespace, printable, lowercase, uppercase, punctuation and
to map to and from the upper and lowercase alphabets.&nbsp; Most importantly
&lt;ctype.h&gt; implements these functions in a non-system dependent way.
<P>If you write your program assuming that every computer is an ASCII computer
you will have trouble porting your program to non ASCII machines. If you
write your character handling functions in terms of these functions your
program will be much more portable to other platforms.
<P>I am assuming a knowledge of c programming on the part of the reader.&nbsp;
There is no guarantee of accuracy in any of this information nor suitability
for any purpose.
<P>The program example that I will do this month will go thru the entire
8bit ASCII range and tell us to which classes any one chacter belongs.&nbsp;
The example is <A HREF="./rogers_example04c.txt">rogers_example04.c</A><TT>.</TT>
The output the program generates will be an html document and the run from
my system is <A HREF="./rogers_example04.html">rogers_example04.html</A>
.
<BR>This program can be used as a cgi-bin&nbsp; script and is a demonstration
of the flexibility of the c language.
<BR>&nbsp;
<P>As always, if you see an error in my documentation please tell me and
I will correct myself in a later document.&nbsp; See corrections at end
of the document to review corrections to the previous articles.
<P><B><FONT SIZE="+1">Character Handling</FONT></B>
<PRE> 
#include &lt;ctype.h&gt;

int isalpha(int c);
int isalnum(int c);
int isdigit(int c);
int isxdigit(int c);

int iscntrl(int c);
int isspace(int c);

int ispunct(int c);
int isgraph(int c);
int isprint(int c);

int islower(int c);
int isupper(int c);

int tolower(int c);
int toupper(int c);
</PRE> 
isalpha returns true if the character is in the range of A-Z or a-z.
<P>isalnum returns true if the character is in the range of A-Z or a-z
or 0-9.
<P>isdigit returns true if the character is in the range of 0-9.
<P>isxdigit returns true if the character is in the range of 0-9 or a-f
or A-F.
<P>iscntrl returns true if the character is in the set (FF, NL, CR, HT,
VT, BEL or BS).
<P>isspace returns true if the character is in the set (space, FF, NL,
CR, HT or VT).
<P>ispunct returns true if the character is a nonalnum, nonspace and noncntrl.
<P>isgraph returns true if the character isalnum or ispunct.
<P>isprint returns true if the character isspace or isgraph.
<P>islower returns true if the character is in the range of a-z.
<P>isupper returns true if the character is in the range of A-Z.
<P>tolower if isupper return the lowercase character otherwise return the
character.
<P>toupper if islower return the uppercase character otherwise return the
character.
<BR>&nbsp;
<P>
<HR>
<H4>
Bibilography:</H4>
<I>The ANSI C Programming Language, Second Edition</I>, Brian W. Kernighan,
Dennis M. Ritchie, Printice Hall Software Series, 1988
<P><I>The Standard C Library</I>, P. J. Plauger, Printice Hall P T R, 1992
<P><I>The Standard C Library, Parts 1, 2, and 3</I>, Chuck Allison, <I>C/C++
Users Journal</I>, January, February, March 1995
<P>CTYPE(3), BSD MANPAGE, <I>Linux Programmer's Manual</I>, 29 November
1993
<BR>
<HR>
<BR>&nbsp;
<CENTER>
<H4>
Previous "The Standard C Library for Linux" Articles</H4></CENTER>
<A HREF="http://www.linuxgazette.com/issue24/rogers.html"><I>The Standard
C Library for Linux, Part One</I>, James M. Rogers, January 1998</A>
<BR><A HREF="http://www.linuxgazette.com/issue31/rogers1.html"><I>The Standard
C Library for Linux, Part Two</I>, James M. Rogers, July 1998</A>
<BR><A HREF="http://www.linuxgazette.com/issue32/rogers.html"><I>The Standard
C Library for Linux, Part Three</I>, James M. Rogers, August 1998</A>
<BR>

<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, James M. Rogers <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./adler1.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./kidd.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>

<P> <HR> <P> 
<!--===================================================================-->
<font color="navy">A <I>Linux Journal</I> Preview</font>:
This article will appear in the April 1998 issue of <I>Linux
Journal</I> due out this month. 
<P> <HR> <P> 
<center>
<H1><font color="maroon">Windows/Linux Dual Boot</font></H1>
<H4>By <a href="mailto:vincevski@geocities.com.">Vince Veselosky</a></H4>
</center>
<P> <HR> <P>  

So you've heard great things about Linux: faster, cheaper,
more efficient, more stable. Sounds good. You'd like to try
it out, but probably have a lot of time and data invested in Windows
and can't afford to be down while figuring out how to use
Linux for your daily tasks.
Windows and Linux can live comfortably on the same computer, even on
the same hard drive. The choice of operating system can be made
when you power on. This is commonly called a ``dual boot''
configuration, and one of the most common questions among new Linux users
is how to set it up.
<p>
My system is a Pentium II 400MHz with 128MB of RAM and an 11GB EIDE
(actually Ultra-DMA 33 ATAPI, for you hardware gurus) hard drive.
The hard drive had Windows 95 ``C'' on one big FAT32-formatted
C: drive, which is a typical factory configuration. I tested installs
of Red Hat Linux 5.1 and SuSE Linux 5.2.
<p>
Before starting, there are two terms you need to be familiar with:
<i>partition</i> and <i>file system</i>. The disk can be divided into smaller, separate
pieces which can belong to different owners. For dual booting, Windows
will own some and Linux will own others. The word ``partition''
does not refer to the wall; it refers to the separated space. Thus,
we say Windows is installed ``on'' the first partition.
The <i>file system</i> is a method of organization. Your hard drive can
have different file systems. The operating system provides the <i>directory
tree</i> (also referred to as ``the file system'')
as a catalog of available files. Every operating system has its
own type of file system, and other operating systems often don't
know how to read it. Lucky for us, Linux is a versatile operating system
and it does understand the file system used by Windows 95 and Windows 98.
<p>
<h3>Making Room for Linux</h3>
<p>
Most factory-installed Windows installations take up all the space
on your hard drive, leaving no room for installing Linux. The first and
most difficult thing we must do is clear some space where Linux can be
installed. Linux needs to have partitions of its own, but Windows does
not have the ability to resize partitions. Ordinarily, this would mean
you would have to delete your existing partition (and everything on it)
to make room on the drive and then create partitions of smaller sizes
and reinstall. You can still do this, but there is a better way.
<p>
<h3>What You Need</h3>
<p>
Most Linux distributions come with a special tool to allow you
to resize or divide hard drive partitions. Called FIPS, the First
(non-destructive) Interactive Partition Splitter, it is normally found on
your Linux CD in a directory called /dosutils. You will also need a blank,
formatted floppy disk to use as a boot disk. For most older Windows
installations, that should be all. However, if you have Windows 98 or a
recent version of Windows 95 with a large hard drive (bigger than 2GB),
you may need some additional tools if you are using the FAT32 file system.
<p>
To check what type of file system Windows is using, open Windows
Explorer, right click on the C: drive and choose Properties. If
you see ``File System: FAT32'' on the General tab, you will
need some additional tools to support this newer file system.
<p>
<h3>FAT32 Support Requirements</h3>
<p>
To adjust your partitions, you will need version 2.0 or higher of FIPS.
If the version included with your Linux distribution is older than this,
the latest version is available for download from the FIPS home page
at http://www.igd.fhg.de/~aschaefe/fips/. If you want to share files
between Windows and Linux (a good idea), you will also need to
have version 2.0.34 or higher of the Linux kernel. Table 1 is a list of
Linux distributions known to support FAT32. If your distribution does
not include support, you will need to upgrade the kernel. Upgrading a
kernel is beyond the scope of this article, so check the
documentation included with your distribution or your distributor's
web site for information about how to do that.
<p>
<h3>Table 1. Distributions with FAT32 Support</h3>
<table>
<tr>
<td>Distribution:</td>
<td>Earliest Version with FAT32 support</td>
</tr><tr>
<td>Red Hat Linux:</td>
<td>Version 5.1 (kernel 2.0.34)</td>
</tr><tr>
<td>SuSE Linux:</td>
<td>Version 5.3 (kernel 2.0.35)</td>
</tr><tr>
<td>Debian GNU/Linux:</td>
<td>Version 2.0 (kernel 2.0.34)</td>
</tr>
</table>
<h3>Preparing Your Drive</h3>
<p>
Before you can resize your Windows partition, a few steps must
be taken to ensure that the process goes smoothly. First, delete any
files from your hard drive that are not being used; for example, any old
files in the C:\windows\temp folder, and then empty your recycle
bin. Next, check your file system for errors using Scandisk, and compact
your hard drive using Defrag. I'll assume you Windows users know
how to do this. When running Scandisk, be sure to check the box next to
``Automatically Fix Errors''. Defragmentation consolidates
all your data at the ``front'' of the drive to make room at
the ``back'' of the drive for your new partition.
<p>
When both are finished, it would be wise to note how much space is
available on the disk. If this number is less than the amount required
to load Linux (check your distribution's documentation for space
requirements), you'll need to delete more files or uninstall some
software to make room.
<p>
<h3>Using FIPS</h3>
<p>
Before using FIPS, you <i>must</i> read the FIPS.DOC text file
which accompanies the program. The use of the program is not entirely
obvious, and you may need the background information the documentation
provides. Also, while running FIPS you should carefully read all the
messages it displays. They will provide valuable information on the
steps you will need to take next. Most importantly, FIPS comes with no
warranty. Although it has been used safely many times, there is
always the chance it could damage the data on your hard drive. If
you value your data, <i>back it up</i> before you begin.
<p>
For safety, create a DOS or Windows boot disk to work from. To do
this, click Start <tt>-></tt> Settings
<tt>-></tt> Control
Panel. Double click ``Add/Remove Programs'' and select the
tab called Startup Disk. Press the button and follow the instructions.
<p>
Next, copy the working files for FIPS to the floppy. The files FIPS.EXE,
RESTORRB.EXE and ERRORS.TXT are mandatory. You may also want to copy
the documentation files included with FIPS. When your data is backed
up, restart your computer and boot from the new floppy.
<p>
When you arrive at the <tt>A:></tt> prompt, type
<tt>FIPS</tt> and press enter. A warning will appear
about using FIPS in multitasking environments like Windows. Since we
booted from a floppy, we are safe, so press enter. FIPS
will analyze your existing partitions. It may pause for a long time at
``Checking FAT'' and ``Searching for Free Space'';
this is perfectly normal, so just wait. The bigger your hard drive,
the longer it will take. When FIPS is done with its analysis, it will
display the results. You may get a warning of something being wrong with your
FAT. If you read the message carefully, you will find that this is normal
with large hard drives and will not prevent FIPS from working properly.
<p>
FIPS will then demonstrate how it plans to split the existing partition
and you will have the opportunity to make changes. Do <i>not</i> just press
enter. By default, FIPS will take <i>all</i> of the available
free space for the new partition it creates, leaving your Windows
partition with no free space at all. Windows will not run if it has no
free drive space, so you <i>must</i> adjust the partitions. Use the up
and down arrow keys to make large changes (ten cylinders at a time) and
the left and right arrow keys for small adjustments (one cylinder at a
time). The size of the existing partition is shown on the left and the
size of your new empty partition is on the right. In the middle is the
cylinder number where the split will take place. I left about 1500MB
for my own Windows partition. Adjust yours according to your needs,
but I would recommend using at least 1024MB for Windows.
<p>
When you are satisfied, press enter. FIPS displays
information on the new partitions and asks permission to write
it to disk. Your hard drive has not been altered at this point. You
may choose to write this configuration to disk or re-edit the
partition table. On my machine, when I chose to re-edit I received
an error message that said FIPS couldn't find some files it needed.
If this happens to you, just press
<tt>ctrl-alt-delete</tt> to reboot from
the floppy and start over. This did not cause me any trouble.
<p>
When you choose to write the new partitions, FIPS will offer to make
a backup of your existing boot sector--you should definitely do
this. The backup file it creates is only 1KB in size and will be
invaluable if anything goes wrong.
<p>
After FIPS completes its work, it will display another message stating 
that you should run scandisk on your old partition. I found that Windows
will sometimes miscalculate the used and free space on your drive
after using FIPS, and Scandisk will correct this problem. If you choose
to restore your original partition scheme using the RESTORRB utility,
you should run Scandisk after this as well.
<p>
After FIPS was done, I received another error. This one said ``Memory
Allocation Error, Unable to Load COMMAND.COM''. If you see this, just
press <tt>ctrl-alt-delete</tt>
to reboot and all is well. This should not affect your hard drive.
<p>
Finally, you may want to run the Windows FDISK program from your
floppy. This is not necessary, since Linux has its own fdisk program
for manipulating partitions. You will find that your hard drive now
contains two ``Primary Partitions'' (or ``Primary DOS
Partitions''). The second one was created by FIPS out of the free
space on your drive. For Linux installation, delete this second partition,
freeing up the space for allocating Linux partitions. (Be careful not
to delete the first one, where Windows lives.)
<p>
<h3>Linux Install Tips for Large Drives</h3>
<p>
Once you've made room for Linux on your drive with FIPS, you should
be able to install Linux by following the steps in the installation
guide that accompanied your Linux distribution. Here are a few tips
that should help you with the areas where dual booting might make
a difference.
<p>
<h3>Planning your Partitions</h3>
<p>
Both the Red Hat and SuSE installation guides have excellent chapters
on how to divide up your hard drive for use by Linux. Personally,
I favor the ``Keep It Simple'' principle, especially for
beginners. I let Windows keep the first partition, create a second
for the entire Linux install, a third for Linux swap space and
the fourth for my /home directory (where data is kept). Having /home
on a separate partition will make things much easier, if you ever have
to reinstall Linux. The size of each partition will depend on your
individual situation, but this should suffice for most folks. However,
if your hard drive is larger than 8GB, there is something else to
think about--LILO.
<p>
<h3>Booting with LILO</h3>
<p>
The usual and recommended method to boot into Linux is using LILO (the
LInux LOader). LILO can install itself in your boot sector and allows
you to choose which operating system you would like at boot time.
Due to a technical limitation, LILO is unable to read data
from the hard drive past the 1024th cylinder--the 8GB mark for modern
LBA (Logical Block Addressing) hard drives.
<p>
Does this mean you can't use the rest of your drive? Not at all. What
it does mean is that your <i>boot partitions</i> must all live <i>below</i> the
8GB mark, that is, below cylinder 1024. Thus, if you want Windows to
use the first 9GB of your fancy new 18GB drive, you won't be able
to use LILO to boot Linux. Because of this limitation, Red Hat's Disk
Druid tool for partitioning the hard drive will not allow you to create
your Linux boot partition past cylinder 1024. You can still create
the partitions using fdisk, but Red Hat setup will not install LILO
if you do.
<p>
<h3>Booting from Floppy</h3>
<p>
It is possible to avoid the entire problem of the 8GB barrier by booting
from a floppy disk. Although this may sound inefficient, it actually
works quite well. The kernel loads into memory from the floppy
disk and never accesses the floppy again, so loading the kernel is
slower; but after that, the system runs the same as if it had booted
from the hard drive. The Linux kernel has no difficulty accessing
the end of large hard drives, so it can still reach all the files
of your Linux installation.
<p>
The setup program for your distribution will almost certainly ask you to
create a boot floppy during installation. Even if you don't plan to
boot from floppy regularly, you should definitely make a boot disk.
If for some reason LILO fails to install or becomes corrupted, you
will have no other way to access the files on your Linux installation.
<p>
<h3>Booting with Loadlin</h3>
<p>
Loadlin is a program that runs under DOS (or Windows 95 in MSDOS mode).
It can load the Linux kernel into memory from the DOS partition. Because
it loads the Linux kernel from the hard drive, there is still a possibility
the 8GB barrier could cause problems, but only if your Windows
partition is larger than 8GB and is almost full. That's not likely
at the time of this writing, but who knows--the next release of Windows
might take up that much space by itself.
<p>
Frankly, I wouldn't recommend Loadlin to Linux novices because it can
be difficult to configure correctly. If you simply must use it,
an excellent Loadlin + Win95 Mini-HOWTO document available from the
Linux Documentation Project should get you up and running.
<p>
<h3>Conclusion</h3>
<p>
Giving Linux a try does not mean you have to buy a whole new computer
or even a new hard drive. With just a little extra effort, you can
run both Linux and Windows without losing any data or any productivity
while you learn Linux. I think you will find it is well worth
the effort.
<p><HR> <P> 
<h3>Resources</h3>
<p>
The FIPS home page: http://www.igd.fhg.de/~aschaefe/fips/
<p>
The Linux Documentation Project: http://sunsite.unc.edu/LDP/
<p>
The Loadlin + Win95 Mini-HOWTO: http://sunsite.unc.edu/LDP/HOWTO/mini/Loadlin+Win95.html
<p>
The Linux + Win 95 Mini-HOWTO: http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+Win95.html
<p>
Moving from MS Windows to Linux: http://www.geocities.com/SiliconValley/Grid/2272/


<!--===================================================================-->
<P> <hr> <P> 
<center><H5>Copyright &copy; 1999, Vince Veselosky <BR> 
Published in Issue 38 of <i>Linux Gazette</i>, March 1999</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc38.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif" 
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./kidd.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./lg_backpage38.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 
<center>
<H1><IMG SRC="../gx/backpage.gif" alt="Linux Gazette Back Page"></H1>

<H5>Copyright &copy; 1999 Specialized Systems Consultants, Inc.<br>
For information regarding copying and distribution of this material see the
<A HREF="../ssc.copying.html">Copying License</A>.</H5>
</center>

<P> <hr> <P> 

<H3>Contents:</H3>
<ul>
<li><a HREF="./lg_backpage38.html#authors">About This Month's Authors</a>
<li><a HREF="./lg_backpage38.html#notlinux">Not Linux</a>
</ul>

<a name="authors"></a>
<P> <HR> <P> 
<!--======================================================================-->

<center><H3><font color="maroon">About This Month's Authors</font></H3></center>

<P> <HR> <P> 
<!--======================================================================-->

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Eugene Blanchard</H4>
Eugene is an Instructor at the Southern Alberta Institute of
Technology in Calgary, Alberta, Canada where he teaches electronics,
digital, microprocessors, data communications, and operating
systems/networking in the Novell, Windows and Unix worlds. When he is not
spending quality time with his wonderful wife and 18 month old daughter
watching Barney videos, he can be found in front of his Linux box. His
hobbies are hiking, backpacking, bicycling and chess.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Jim Dennis</H4>
Jim is the proprietor of <A href="http://www.starshine.org">
Starshine Technical Services</A>.
His professional experience includes work in the technical 
support, quality assurance, and information services (MIS)
departments of software companies like 
<A href="http://www.quarterdeck.com"> Quarterdeck</A>, 
<A href="http://www.symantec.com"> Symantec/
Peter Norton Group</A>, and 
<A href="http://www.mcafee.com"> McAfee Associates</A> -- as well as 
positions (field service rep) with smaller VAR's.
He's been using Linux since version 0.99p10 and is an active
participant on an ever-changing list of mailing lists and 
newsgroups.  He's just started collaborating on the 2nd Edition
for a book on Unix systems administration.
Jim is an avid science fiction fan -- and was
married at the World Science Fiction Convention in Anaheim.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Josh Gentry</H4>
Josh has this to say about himself, "My name is Josh Gentry. My successes in life stem from having great
family and friends. My failures, as far as I can tell, are unexplainable
abberations. Most importantly, I am wickedly handsome.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Michael J. Hammel</H4>
   A Computer Science graduate of Texas Tech University, Michael J. Hammel, 
mjhammel@graphics-muse.org, is an software developer specializing in X/Motif
living in Dallas, Texas (but calls Boulder, CO home for some reason). 
His background includes everything from data 
communications to GUI development to Interactive Cable systems, all based in 
Unix.  He has worked for companies such as Nortel, Dell Computer, and 
Xi Graphics.
	Michael writes the monthly Graphics Muse column in the Linux Gazette,
maintains the Graphics Muse Web site and theLinux Graphics mini-Howto, helps 
administer the Internet Ray Tracing Competition (http://irtc.org) and 
recently completed work on his new book "The Artist's Guide to the Gimp", 
published by SSC, Inc.  His outside interests include running, basketball, 
Thai food, gardening, and dogs.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Ron Jenkins</H4>
Ron has over 20 years experience
in RF design, satellite systems, and UNIX/NT administration. He currently
resides in Central Missouri where he is pursuing his writing, helping folks
solve problems and find solutions, teaching, and generally having a dandy
time while looking for some telecommuting work. Ron is married and has
two stepchildren. Ron has begun to worry about referring to himself in
the third person.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Eric Kidd</H4>
Eric is a closet LISP bigot but still loves Unix anyway. He spends
most of his time writing free software (for a living and as a hobby) and
wishes he had more time to spend learning Go.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">James Rogers</H4>
James and Shala Rogers live on the Olympic Peninsula in the middle of
nowhere.  James is a systems programmer for the University of Washington
Medical Centers, Harborview Medical Centers and the University of
Washington Physicians Network.  He is a Health Level 7 Interface
programmer who is currently writing a GNU licensed HL7 interface.  These
interfaces allow approximately 40 medical computer systems to
communicate with each other across the entire Seattle Metropolitan area.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Vince Veselosky</H4>
Vince is a computer consultant in the Atlanta, Georgia area,
working mostly in technical support for Microsoft operating systems. He has
made it his mission in life to master Linux before the year 2000. When
he's not working with computers, he's looking for a new girlfriend.

<a name="notlinux"></a>
<P> <hr> <P> 
<!--====================================================================-->

<center><H3><font color="maroon">Not Linux</font></H3></center>

<P> <HR> <P> 
<!--======================================================================-->
<P>
Thanks to all our authors, not just the ones above, but also those who wrote
giving us their tips and tricks and making suggestions. Thanks also to our
new mirror sites.
<P> 
I've spent so much time at work lately, my dear husband says he doesn't
recognize me anymore! I'm hoping once this issue is up, the May issue of
<I>Linux Journal</I> is gone to layout, and Linux World is in the past, I
might have some time again to spend with Riley and other family members. My
daughter Shannon is coming to visit on March 11 and I am looking forward to
that.
<P> 
I will be at Linux World on March 2 and 3. Hope to meet you there!
<P> 
Have fun!

<P> <hr> <P> 
<A HREF="http://www.ssc.com/ssc/Employees/Margie/margie.html">
Marjorie L. Richardson</A> <br>
Editor, <A HREF="http://www.linuxgazette.com/"><i>Linux Gazette</i></A>, <A
HREF="mailto:gazette@ssc.com">gazette@ssc.com</a>

<P> <HR> <P>
<!--====================================================================-->
<A HREF="./lg_toc38.html"><IMG SRC="../gx/indexnew.gif" ALT="[ TABLE OF 
CONTENTS ]"></A>
<A HREF="../lg_frontpage.html"><IMG SRC="../gx/homenew.gif" ALT="[ FRONT 
PAGE ]"></A> 
<A HREF="./veselosky.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<p><hr><p>
<I>Linux Gazette</I> Issue 38, March 1999,
<A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com</A><BR> 
This page written and maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto:gazette@ssc.com"> gazette@ssc.com</A>
<P> 
</BODY>
</HTML>