File: issue11.html

package info (click to toggle)
lg-issue11 2-4
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 836 kB
  • ctags: 44
  • sloc: makefile: 30; sh: 3
file content (4384 lines) | stat: -rw-r--r-- 175,861 bytes parent folder | download
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
 <HTML>
<HEAD>
<TITLE> Linux Gazette Front Page </TITLE>
</HEAD>

<BODY>
<H2>
<IMG SRC="../gx/banner.gif" 
ALT="Linux Gazette... making Linux just a little more fun!">
</H2>

<H5>Copyright &copy; 1996 Specialized Systems Consultants, Inc.
<A HREF="mailto:linux@ssc.com"><I>linux@ssc.com</I></A></H5>

<P> <HR> <P> 

<H2>Welcome to Linux Gazette!<img src="../gx/tm.gif" alt="(tm)"></H2>

<P>
<I>Linux Gazette</I>, a member of the Linux Documentation Project, is
an on-line WWW publication that is dedicated to two simple ideas:

<UL>
<LI>Making Linux just a <I>little</I> more fun
<LI>Sharing ideas and discoveries
</UL>

<P>
The basic idea behind these two concepts is that Linux is
one cool OS, whose price for admission is a willingness to read,
learn, tinker (aka, <I>hack!</I>), and then share your experiences. The
Gazette is a compilation of basic tips, tricks,
suggestions, ideas and short articles about Linux designed to
make using Linux fun and easy. <I>LG</I> began as a personal project of John M.
Fisk, and grew to include
contributions freely provided by a growing number of authors. <I>Linux
Journal</I> is now publishing the Gazette using material contributed by outside
authors <a href="../authors.html">(note to potential authors)</a>.
Without these authors there would not be a Gazette, and I thank them all.
Drop a note to the author of anything that you find helpful or
instructive--the author's e-mail address is included for this very
purpose. 

<P>
<I>Linux Gazette</I> is a non-commercial publication and will
remain that way. 
A tar, gzip file containing all issues of <I>Linux Gazette</I> and one containing
the current issue can be found at <A
HREF="ftp://ftp.ssc.com/pub/lg/">ftp://ftp.ssc.com/pub/lg/</A> 

<P>
Thanks to <B>Matt Welsh</B>, coordinator of the <B>Linux
Documentation Project</B>, for graciously bringing the <I>Linux Gazette</I>
under the auspices of the LDP. The material included in these documents is 
covered by a designedly liberal copyright: as long as you are using the
material for non-commercial purposes, you may do with them as you please.
For information regarding copying and distribution of this material read
the <A HREF="../ssc.copying.html">Copying License</A>.

<P>
A new table of contents will appear with each issue that will allow you to
easily find articles of interest. A search engine is also provided to
allow you to search all issues for items relating to a particular subject.

<P>
Have fun!

<P> <HR> <P> 

<UL>
<LI><A HREF="./lg_toc11.html">Table of Contents Issue #11</A> 
<LI><A HREF="../issue10/lg_toc10.html">Table of Contents Issue #10</A> 
<LI><A HREF="../issue09/lg_toc09.html">Table of Contents Issue #9</A> 
<LI><A HREF="../issue01to08/gazette_toc.html">Table of Contents Issues #1-#8</A> 
<LI><A HREF="../lg_index.html">Index of All Issues</A> 
</UL>

<form method="post" action="http://www.ssc.com/cgi-bin/htsearch">
<table cellspacing=0>
<tr><td colspan=2><hr size=4></td></tr>
<tr><td>
<B> Search In:</b> <select name=restrict>
<option value="/lj/">Linux Journal (TM)
<option value="/ssc/" >SSC Products and Services
<option value="/websmith/" >WWWsmith Online
<option value="/linux/" >Linux Resources
<option value="/lg/" SELECTED>Linux Gazette (TM)
<option value="" >Entire Web Site
</select>
<br>
<B>Search For:</b>
<input type="text" size="30" name="words" value="">
</td><td>
<input type="image" src="../gx/searchbtn.gif" border=0 name="Search"><br>
</td></tr></table>
</form>

<P> <HR><p>
<h3>
Click here for <i>Linux Journal's</i> latest 
<A HREF="http://www.ssc.com/linews/index.html">
<IMG SRC="../gx/fire.gif" alt="Hot Linux News!" align=middle border=0></A></h3>

<p><HR><p>
<H2><A HREF="../mirrors.html">Linux Gazette WWW &amp; FTP Mirror Sites</A></H2>
<P> 
For those readers who are accessing <I>Linux Gazette</I> from outside the
U.S. or are having problems with slow connections at a particular site,
mirror sites are available worldwide.
Thanks to all of the people who have kindly offered the use of their
WWW and FTP sites in order to make this possible!

<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> 
<H3><I>Linux Gazette</I> is published by:<BR> </H3>
<center><H2><IMG SRC="../gx/SSC_LOGO.gif" ALT=" "><A HREF="http://www.ssc.com/">
	SSC</A> - Publishers of <A HREF="http://www.ssc.com/lj/">
        Linux Journal</A><img src="../gx/tm.gif" alt="(tm)"></H2></center>

<P> <HR> <P> 
<I>Linux Gazette</I>, http://www.ssc.com/lg/ <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> <HR> <P> 
<!--====================================================================-->

<H1><IMG SRC="./gx/boo-banner2.gif" ALT="Linux Gazette"></H1>

<H5>Copyright &copy; 1996 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>

<P> <HR> <P>
<center><H1>Table of Contents Issue #11</H1></center>

<P> <HR> <P>
<UL>
<LI><A HREF="../lg_frontpage.html">The Front Page</A> 
<LI><A HREF="./lg_mail11.html">The MailBag</A> 
<LI><A HREF="./lg_tips11.html">More 2 Cent Tips</A>
<ul>
<li><a HREF="./lg_tips11.html#xterm">Another X Term Title Trick</a>
<li><a HREF="./lg_tips11.html#file">File Decompression</a>
<li><a HREF="./lg_tips11.html#quick">Quick Tricks from John Fisk</a>
<li><a HREF="./lg_tips11.html#two">Two Tips for the Price of One</a>
<li><a HREF="./lg_tips11.html#emacs">The Ultimate Emacs Control M Trick</a>
<li><a HREF="./lg_tips11.html#vi">VI Trick</a>
<li><a HREF="./lg_tips11.html#xdm">XDM Replacement</a>
</ul>
<LI><A HREF="./lg_bytes11.html">News Bytes</A>  
<ul>
<li><a HREF="./lg_bytes11.html#general">News in General</a>
<li><a HREF="./lg_bytes11.html#software">Software Announcements</a>
</ul>
<LI><A HREF="./gm.html">Graphics Muse</A>, by Michael J. Hammel
<LI><A HREF="./xemacs-tip.html">Kill-Ring for Xemacs</A>, by Larry Ayers
<LI><A HREF="./linus.html">Linus to Move to U.S. in 1997</A>, by Phil Hughes
<LI><A HREF="./hotjava.html">New Release Reviews</A>, by Larry Ayers
<ul>
<LI><A HREF="./hotjava.html">Sun's Hotjava Browser on Linux</A>
<LI><A HREF="./tkg.html">The TkGoodstuff Package</A>
<LI><A HREF="./xfiles.html">X-Files</A>
</ul>
<LI><A HREF="./tapr.html">TAPR Statement on Spread Spectrum Technology
Development</A>, from Steve Stroh
<LI><A HREF="./tclinst.html">TCL/TK Installation</A>, by Earl Brown
<LI><A HREF="./wkndmech.html">Weekend Mechanic</A>, by John M.
Fisk
<LI><A HREF="./lg_backpage11.html">The Back Page</A> 
<ul>
<li><a HREF="./lg_backpage11.html#authors">About This Month's Authors</a>
<li><a HREF="./lg_backpage11.html#notlinux">Not Linux</a>
</ul>
</UL>
 
<P> <HR><P> 
<!--=============================================================-->
<A HREF="./issue11.txt">The Whole Damn Thing 1 (text)</A><BR>
<A HREF="./issue11.html">The Whole Damn Thing 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><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>&quot;
<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>
<HR> 
<center>
<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>
</center>
<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sun, 29 Sep 1996 01:46:02 -0700 <BR> 
Subject: <B>MPEG </B> <BR> 
From: Tristan RAMBO Savatier tristan@mpeg.org <BR> 
<P> 
FYI: Linux now has a fast MPEG software player !
<P> 
Check MpegTV at <a href="http://www.mpegtv.com/">
http://www.mpegtv.com/</a>
<P> 
--Tristan <BR> 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Mon, 30 Sep 1996  <BR> 
Subject: <b>Help??  Firewalling under 2.0.X</b> <BR> 
From: jwells@nwlink.com (James E. Wells) <BR> 
<P> 
Greetings,
<P> 
   I know this message should normally be sent to one of the linux
newsgroups, however I felt this to be a bit more efficient.   Basically
the problem is that I can't seem to get IP Masquerading going under 2.X.
I have enabled firewalling / masquerading and disabled forwarding /
bridging.  When I look at /proc/net I have two alias files which have to
do with the IP Aliasing, and I have IP Accounting, Forwarding, Input,
and Output, however I have no Masquerading.  I have rebuilt the kernel a
number of times to no avail.  I have toyed with ipfwadm a number of
times and found that it works fine for all forms of firewalling except
for Masquerading.  Any help from you or the readers of this, the best
electronic mag on the net, would be greatly appreciated.
<pre>
  ================================     ===============================
//                                \\ //                               \\
|| James E. Wells                  | |                                ||
|| mailto:nikatjef@nwlink.com      | |   Junior System Administrator  ||
|| mailto:james@LaserDyn.com       | |         Northwest Link         ||
\\                                // \\                               //
  ================================     ===============================
</pre>
<blockquote><i>
(Okay, all you firewall experts out there, who's got a good answer for this
one? --Editor)
</i></blockquote>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 02 Oct 1996 14:45:06 -0400 <BR> 
Subject: <b>Wow! Support for Win 1.3 :)</b> <BR> 
From: Eric Wright majestik@netcom.ca <BR> 
<P> 
In issue #10, Product Announcements
<blockquote> 
V Multi-Platform GUI
Version 1.13 of V for X, Windows 1.3, and WIN32 (NT, Windows95) was released on September 9, 1996. It is....
</blockquote>
Windows 1.3, eh? heheh 
<P> 
Ps: great job with LG, keep it up ...
<blockquote> <I>  
(Oops, didn't read that one close enough, I guess. I'd say that was a definite
typo, and it would have been nice to have mentioned Linux more directly. This
product does work for Linux--there is an article by Dr. Wampler about it
in the upcoming December issue of Linux Journal. Anyway I've changed it to
take out all Windows references. Sorry about that. --Editor)
</I></blockquote>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 03 Oct 1996 10:35:38 +0000 <BR> 
Subject: <B>#10 </B> <BR> 
From: "Adam D. Moss" adam@uunet.pipex.com <BR> 
<P> 
Thanks for another Linux Gazette issue!
<P> 
--Adam
<PRE> 
          Adam D. Moss / Consulting / adam@uunet.pipex.com
====-==-=-=--=--=---=---=-------- ---- --- -- -- -- - - - -  -  -  -
  UUNET PIPEX / 332 Science Park / Milton Road / Cambridge CB4 4BZ
   / England / Voice +44 (0)1223 250100 / Fax +44 (0)1223 250101
-  -  -  - - - - -- -- -- --- ---- --------=---=---=--=--=-=-==-====
</PRE> 
<blockquote><i>
(Short and sweet. Thank you for reading <I>LG</I>. --Editor)
</i></blockquote>
<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 03 Oct 1996 15:12:16 +0800 <BR> 
Subject: <B>Postscript Format Request </B> <BR> 
From: Phil Lewis lewispj@eeye.com.sg <BR> 
<P> 
Could you please provide the lg in postscript format please so that it
will be possible to easily read it in hard copy format - It will get a
wider readership and reduce unnecessary multiple www downloads each time
within our organization.
<P> 
Thanks,
Phil Lewis <BR> 
Electric Eye <BR> 
Singapore <BR> 
<blockquote><i>
(Due to popular request, I have added one big text file to the list of
options in the Table of Contents called "The Whole Damn Thing 1". Also.
thanks to one of our readers (see next letter) there is also an HTML file called 
"The Whole Damn Thing 2". For now that's the best I can do for you--postscript 
and other formats will have to wait. --Editor)
</i></blockquote>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 03 Oct 1996 12:56:52 -0500 <BR> 
Subject: <B>New Set Up of LG </B><BR> 
From: Tushar Teredesai Tushar@Agents.ECE.IIT.Edu <BR> 
<P> 
Hi,
<P> 
I miss the old set up of LG whereby I could download the whole of the LG
which was contained in a single page. Even issue 9 had and alternative
comprising the whole LG in a single page. Hope U provide such a complete
page again. Though there is text version of the entire thing, I would
prefer a html version.
<P> 
Maybe I could do that combining to a single .html and .txt if U tell me
how (i.e. the rules for formatting.) 
<P> 
BTW, great job. Very useful for guys like me who are new entrants to
administration of their own systems after being dependent on others to
do the dirty job.
<P> 
Thanx. <BR> 
--Tushar <BR> 
<PRE> 
-->> http://Tushar.Home.ML.Org
-->> mailto:Tushar@Agents.ECE.IIT.Edu
Running ....... Cos anything else would be a waste...
        `:::'                  .......  ......
         :::  *                  `::.    ::'
         ::: .::  .:.::.  .:: .::  `::. :'
         :::  ::   ::  ::  ::  ::    :::.
         ::: .::. .::  ::.  `::::. .:'  ::.
        .:::.....................::'   .::::..
</PRE> 
<blockquote><i>
(What a wonderful idea! Neither Michael, the webmaster, nor I have time to 
combine <I>LG</I>
each month, and we were thinking of putting out requests for someone to do
it for us. And here's a volunteer! So we now have "The Whole Damn Thing 2"
in HTML format for issue 9 thanks to Michael, and for issue 10 thanks to
Tushar. What great guys! --Editor)
</i></blockquote>
<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 02 Oct 1996 23:00:22 -0400 <BR> 
Subject: <B>Linux version of aprs </B><BR> 
From: bill pemberton wapembe@gallows.smart.net <BR> 
<P> 
in the current (issue 10) of the <I>Linux Gazette</I> you mentioned that a
Linux version of aprs  was available.  can you provide further ref?
i searched the ham links on the net but could find no reference to the
Linux version.  thanks for the assist.<BR>   
-- <BR> 
wapembe@smart.net "actual meaningless quote to be inserted soon!"
<blockquote><i>
(Sorry, I personally cannot. You might try writing Steve Stroh
(strohs@halcyon.com), who sent us the TAPR Position Statement that
appears elsewhere in this issue. --Editor)
</i></blockquote>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: 05 Oct 1996 23:42:02 +0200 <BR> 
Subject: <B>mailing list </B><BR> 
From: Markus Gutschke gutschk@uni-muenster.de <BR> 
<P> 
Have you considered to set up a mailing list that distributes copies of
<i>Linux Gazette</i>? For me, it is very cumbersome to actively look for new
versions of files and to download them from the net; sending/receiving
e-mail/news is fine though, because this can be automated and I do it
in batch-mode every night.
<P> 
Markus
<blockquote><i>
(Yes, this has been requested before, and is on the list of things to
possibly do in the future. However, setting up and maintaining a mailing
list is not something I have time for in the foreseeable future. Since I 
plan to have a new issue up on the first of each month, you only have to 
look for changes once a month. That shouldn't be too cumbersome.--Editor)
</i></blockquote>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Sat, 12 Oct 1996 14:17:49 -0400 <BR> 
Subject: <B>William R. Della Croce, Jr.</B><BR> 
From: "rikk@dragonstar.net" rikk@dragonstar.net <BR> 
<P> 
Greetings,
<P> 
In reference to your article on whether or not Linux is a registered
trademark or not...
<P> 
First off allow me to say &quot;This guy is the lowest in the scum chain.&quot;
There is commercialization, and there is gluttony. Seems to me this person
is trying to take over the Linux name to better his pockets. I
wish you had printed his e-mail address, and let him get a feel for
the anger and disgust...
<P> 
At any rate, keep up the good work!
<P> 
TTFN....Rikk <BR> 
rikk@dragonstar.net <BR> 
<PRE> 
+------------------------------------------------------------------------+
|
| Life on the edge, dragonstar.net                                      
|
|           Friends don't let friends do DOS!                           
|
| Running Linux 2.x  Intel x86                                          
|
+------------------------------------------------------------------------+
</PRE> 
<blockquote><I>  
(Yes, well, while we agree with your sentiments, printing his e-mail address
would probably not have been productive. Lawyers are working on this situation, and
we keep hearing that we will be getting an announcement any day now. Maybe
this week, something will break. It will be on the "Linux Hot News" button
as soon as it does. Thanks for writing. --Editor)
</I></blockquote>

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 17 Oct 1996 14:55:31 -0400 <BR> 
Subject: <B>pointer trouble </B> <BR> 
From: Bill Semler wsemler@epix.net <BR> 
<P> 
Hi -
<P> 	Just wanted to let you know that the URL ftp://ftp.ssc.com/pub/lg
pointed to
in, roughly, the middle of the front page actually points to ftp.ssc.com/lg
which will
display the directory structure but things cannot be accessed. Not a
real big deal, but...  Thanks for everything.
<P> 
-- <BR> 
Bill Semler, N3RLR <BR> 
wsemler@epix.net <BR> 

<blockquote> <I> 
(Thanks for letting me know. I've got it fixed now. Don't know why, but
leaving out the /pub happens to me often when I type that address. Think
it must be time to set up an abbreviation for it, so vi can take care of 
it for me. --Editor) 
</I> </blockquote> 

<P> <HR> <P> 
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Fri, 18 Oct 1996 16:05:00 -0700 <BR> 
Subject: <B> Linux Gazette versions </B> <BR> 
From: paulc@sunsite.unc.edu <BR> 
<P> 
I noticed a few people recently wanting to take versions of the Linux 
Gazette home with them or trying to convert them to run on MS-Win 
systems, well there is a program on the Amiga which fetches pages from 
the web and changes links over in the process to either an absolute or 
relative path - great for the gazette. Well, I'm in the process of 
converting this program to Linux, and would be happy to supply you with 
the compilable source code so that you can then place the file generated 
by this program on one of the pages for download (after gzipping it 
maybe)
<P> 
Squiz.
<blockquote> <I> 
(Thanks for thinking of me. This does sound like easy method, and an
easier method is always a better method. Send it on when it's ready.
--Editor)
</I> </blockquote> 

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

<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 22 Oct 1996 14:17:57 -0700 <BR> 
Subject: <B> Xwindows depth </B> <BR> 
From: James Amendolagine uq274@freenet.victoria.bc.ca <BR> 
<P> 
Hello,
<P> 
     I have recently been messing with my x-server, and have managed to
get a depth of 16, ie 2^16 colors. This works really nice with netscape,
but some programs (doom, abuse, and other games) wont work with this
many colors. Do you know of a fix? I have tried to get X to support
multiple depths--to no avail. The man-page suggests that some video
cards support multiple depths and some don't. How do I know if mine
does.
<P> 
     I would really like to see an article on this subject, 
<P> 
     Thanks, <BR>  
 Jamie <BR> 

<blockquote> <I> 
(Okay, guys here's another request for help with a good idea for an article.
All you authors out there looking for a subject, start writing. --Editor)
</I> </blockquote> 

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

<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 23 Oct 1996 12:54:11 -0500 (CDT) <BR> 
Subject: <B> have you seen latest replacement for X? </B> <BR> 
From: jim fetters gfetters@uxa.ecn.bgu.edu <BR> 
<P> 
well, sort of.  please check this out.
<P> 
<A
HREF="http://veda.synet.net/numan/berlin">http://veda.synet.net/numan/berlin</A> 
<P> 
   -jim

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

<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Thu, 24 Oct 1996 08:10:41 +0200 <BR> 
Subject: <B> could not login to ftp server </B> <BR> 
From: Hermann Boeken hboeken@de.lucent.com <BR> 
<P> 
Hi.
<P> 
In the mailbag of LG 10 you write:
<P><blockquote> 
> (No problem. tar files are available, I've just been having technical<br> 
>  difficulties -- they were unreadable. At any rate John Fisk sent us 
new <br>
>  files that are now up at ftp://ftp.ssc.com/pub/lg/. Also, our issue 10 file, <br>
>  lg_issue10.tar.gzp and all issues (1-10) file, 
LinuxGazette_oct96.tar.gzp <br>
> are located at that site. --Editor)<br> 
</blockquote>
<P> 
But it is (still?) not possible to login to the ftp server.
<P> 
Hermann
<PRE> 
--
                                              ...       
                                           ':'...''.    
                                         '::.''''':;:   
.-Hermann Boeken--Fon:+49-911-5266186---'::;-------;;:--.
|                 Fax:+49-911-5266299   :::,,       :;; |
|                                       ;:;'        ;:; |
|                   Lucent Technologies  ;;:       .;:  |
|                 Bell labs Innovations   :;:,   ,:;:   |
| OEPT                                     ':;;;:;:'    |
| System Integration & Test                             |
|                                                       |
`-hboeken@lucent.com----------na426@fim.uni-erlangen.de-'
</PRE> 

<blockquote> <I> 
(Hmmm, it's been working for some time. The mirror sites have all downloaded
files from the ftp server with no problem. I guess I need to know more about 
the type of problem you are having -- what kind of messages you get, etc.? 
If you are using a web browser--which one and what version? 

I have tried to write you directly several times, but all mail comes back
marked "Host unknown".  --Editor)
</I> </blockquote> 

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

<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Tue, 15 Oct 1996 17:10:52 +0100 <BR> 
Subject: <B>Mirroring of Linux Gazette </B> <BR> 
From: Massimo Orlando massimo@asterix.unime.it<BR> 
<P> 
Hi, <BR> 
I am a student of Computer Science at University of Messina and I am the
system administrator of the Server of the Department.
I have written the form to become a mirror of the Linux Gazette but I
have a question for you:
<P> 
	Must I download the compress file (LinuxGazette_xxx.tar.gz) or
	is it automatic?
<P> 
P.S.: sorry for my english
<P> 
Thank you for your future answer. <BR> 
bye <BR> 
Massimo Orlando <BR> 
<blockquote> <I> 
(Massimo, I seem to be having trouble getting mail to you--it keeps coming
back with unrecoverable errors. There is a README.mirrors file on the ftp site, 
ftp://ftp.ssc.com/pub/lg/
with instructions. It is definitely not automatic. The University's site 
is very cool, and I will be happy
for you to mirror <I>LG</I>. I will need an exact address though (for both the
mirror and you); it was
not obvious to me how to find <I>LG</I> just by looking at the University's 
main web page. Please write again. --Editor)
</I> </blockquote> 

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

<IMG ALT=" " SRC="../gx/envelope.gif">
Date: Wed, 23 Oct 1996 14:53:13 -0500 <BR> 
Subject: <B>http://cenotaph.generec.nl/lg/issue10/lg_toc10.html </B><BR> 
From: teun@cyclone.generec.nl <BR> 
<blockquote> <I>
(Nice and short and full of information. Only two problems: I can't find
this page (Netscape returns "No DNS entry"), and mail to this address is
returned "host unknown". Please write again. --Editor)
</I> </blockquote> 

<!--====================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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_tips11.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; 1996 Specialized Systems Consultants, Inc. </H5> 
<P><HR> <P>  

<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>
<hr>

<!-- 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>Contents:</H3>
<ul>
<li><a HREF="./lg_tips11.html#xterm">Another XTerm Title Trick</a>
<li><a HREF="./lg_tips11.html#file">File Decompression</a>
<li><a HREF="./lg_tips11.html#quick">Quick Tricks from John Fisk</a>
<li><a HREF="./lg_tips11.html#two">Two Tips for the Price of One</a>
<li><a HREF="./lg_tips11.html#emacs">The Ultimate Emacs Control M Trick</a>
<li><a HREF="./lg_tips11.html#vi">VI Trick</a>
<li><a HREF="./lg_tips11.html#xdm">XDM Replacement</a>
</ul>

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

<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="xterm">Another XTerm
Titlebar Trick</a></H3>
<P>
Date: Wed, 2 Oct 1996 16:11:35 -0700 (PDT)<BR> 
From: Jonathan Gross <A HREF="mailto:jong@ssc.com">jong@ssc.com </A><BR> 
<P> 
	I have a quick stupid shell script to change the titlebar on the
fly: 
<PRE> 
#!/bin/bash
echo "]0;$1"
</PRE> 
	where the ^[ is done in Emacs by typing C-q Esc and the ^G is done
by typing C-q C-g, or in vi by typing C-v instead of C-q before each
control sequence.
<P> 
	Then you type:
<PRE> 
linux$ titlebar "string for window title"
</PRE>
	Where "titlebar" is the name of your shell script.  Dumb, simple,
but easy to use...
<PRE> 
Jonathan Gross
Specialized Systems Consultants, 206-782-7733
"A jewel mine of courtesies and a living casket of diplomacy"
</PRE> 

<P> <hr> <P> 
<!-- =====================================================================  -->
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="file">File Decompressing</a></H3>

<P> 
Date: Fri, 27 Sep 1996 08:32:37 +0200 (MET DST) <BR> 
From: Xabier Vazquez Gallardo, <A HREF="mailto:sixconse@sc.ehu.es">sixconse@sc.ehu.es </A><BR>  
<P> 
Hi there:
<P> 
	 Here is a script I wrote two years ago, but I think it can 
be useful for everybody. It can also help in learning shell script 
programming.
<P> 
	 The function of this script is to help ppl decompressing 
compressed files with tar, gzip, compress, arj, zip, etc, and any 
combination of these compression tools. Just type "gus filename" and the 
script will call the necessary decompression program.
<P> 
Thanx in advance, <BR> 
Xabier Vazquez Gallardo
<PRE> 
------------ 8< --------- 8< ---------- 8< ----------- 8< ------------
#!/bin/sh
# If you are under ULTRIX use /bin/sh5 instead of /bin/sh (too buggy)
################################################################################
# @(#)gus,v 2.8 11/22/1994 (c) XaBier Vazquez Gallardo <sixconse@sc.ehu.es>
# You'll need this external programs:
# gzip, tar, sed, awk, unarj, lha, zoo, unzip, test, pgp, uncompress, echo and
# uudecode. If you don't have all those programs maybe gus won't work.
#
# Program Description:
# Decompress all this kind of files and combinations of them:
# .arc .zip .ZIP .arj .zoo .lzh .lha .lzh .Z .z .tar .tgz .shar .pgp 
# .[1-8ln] .man .uu and .uue
# * Man type files will be displayed
#
# Please send suggestions or gub reports to XaBi <sixconse@sc.ehu.es>
# Sorry about my English, but it's better than Spanish, isn't it?
################################################################################
gus_version="V2.8"
gus_date="11/22/1994"

# Show a long help :)
do_help ()
{
 echo
 echo This script helps you decompressing Unix archives compressed with compress,
 echo gzip, tar, shar, lha, arj, zip, zoo, pgp, arc and uuencode. It also formats
 echo manual pages. Now you don\'t need to type all those long lines to decompress
 echo a tar + gz archive, only type \'gus file\' and it will do all the work.
 echo "GUS knows this extensions and combinations of them (tar + gzip, etc):"
 echo ".Z .z .zip .arj .zoo .arc .lha .lz .pgp .tar .tgz .shar .[1-8ln] .man .uu .uue"
 echo
 echo "USAGE: '`basename $0` [-h | [[-r | -rf] f1 [f2] ...]' will decompress f1, f2, ..."
 echo "       '-h'  show you this help"
 echo "       '-r'  remove with prompt compressed file after decompress it" 
 echo "       '-rf' remove without prompt compressed file after decompress it"
 echo "ie:    '`basename $0` file1 -rf file2 file3' will do this:"
 echo "        decompress file[123] and remove file[23] without any ask"
 echo "       *WARNING* Be careful with option '-rf'"
 exit 0
}

# Find a file in your path
# input : "filename"
# output: $filresult=full_path/filename || $filename="" + error message
# ie    : findfile zip
findfile ()
{
 sifs=$IFS
 IFS=:
 fileresult=""
 for dir in $PATH; do
   test -z "$dir" && dir=.
   if [ -x $dir/$1 ] ; then
      fileresult="$dir/$1"
      break
   fi
 done
 IFS=$sifs
 test -z "$fileresult" && echo ERROR: Can\'t find $1
}

# Change status variables
# input: " | decompress_command_line" \
#        " decompress_program_name +" \
#        1 (if gus must create a decompressed file) || 0 (if not) \
#        1 (if decompress program can pipe it result) || 0 (if not) \
#        1 (if decompress program accepts stdin pipes) || 0 (if not)
# output: none
# ie    : changevars " | tar xvfo -" " tar +" 0 1 1
changevars ()
{
 command=$command$1
 message=$message$2
 create=$3
 exit_f=$4
 do_cat=$5
}

# Ask Y/N before remove a file
# input  : "filename"
# output : $removeit = 0 (if answer is no) || 1 (if is yes)
# ie     : makeask /usr/local/foo.bar.tar
makeask ()
{
 exit_ask=0
 while [ $exit_ask = 0 ] ; do
   echo "Do you want to remove '$1' [Y/N]? \c"
   read yesno
   case $yesno in
     y* | Y*)
       removeit=1
       exit_ask=1
     ;;
     n* | N*)
       removeit=0
       exit_ask=1
     ;;
   esac
 done
}

# Check program parameters and count files
# input  : "command_line_params"
# output : $total_files=num_of_files_to_process || or help_screen
# ie     : check_params -rf foo.tar
check_params ()
{
 for i in $*
 do
   case $i in
     -rf | -r) 
       total_files=`expr $total_files - 1`
     ;;
     -h)
       do_help
     ;;
   esac
 done
}

echo GUS $gus_version [$gus_date] General Unpack Shell for Un*x \(c\) XaBi 

total_files=$#

check_params $*

if [ $total_files = 0 ] ; then
   echo ERROR: not enough params
   echo "TRY  : `basename $0` -h"
   exit 1
fi

if [ $total_files = 1 ] ; then
   echo [ $total_files ] file to process ...
else
   echo [ $total_files ] files to process ...
fi

removefile=0
promptbefore=0

for file_tmp in $*
do
  case $file_tmp in
       -rf)
          removefile=1
          promptbefore=0
          continue
        ;;
       -r)
          removefile=1
          promptbefore=1
          continue
        ;;
  esac
  if test -f $file_tmp ; then
     exit_f=0
     command=""
     message=""
     do_cat=1
     create=1
     file=`basename $file_tmp`
     while [ $exit_f -eq 0 ] ; do
       old_file=$file
       extension=`echo $file | sed -e 's/.*\.//'`
       if [ "$extension" = "$file" ] ; then
          extension=""
       else
          file=`echo $file | sed -e s/\.$extension$//`
       fi
       case $extension in
         tar)
           changevars " | tar xvfo -" " tar +" 0 1 1
         ;;
         Z)
           changevars " | uncompress" " compress +" 1 0 1
         ;;
         z | gz)
           changevars " | gzip -d" " gzip +" 1 0 1
         ;;
         tgz)
           changevars " | gzip -d | tar xvfo -" " tar + gzip +" 0 1 1
         ;;
         uu | uue)
           changevars " | uudecode" " uuencode +" 0 1 1
         ;;
         shar)
           changevars " | sh" " shar +" 0 1 1
         ;;
         zip | ZIP)
           if [ -z "$command" ] ; then
              findfile unzip
              test ! -z "$fileresult" && changevars $fileresult " zip +" 0 1 0
           else
              echo ERROR: Can\'t pipe to unzip. File partialy decompressed.
           fi
           exit_f=1
         ;;
         arj | ARJ)
           if [ -z "$command" ] ; then
              findfile unarj
              test ! -z "$fileresult" && changevars $fileresult" x" " arj +" 0 1 0
           else
              echo ERROR: Can\'t pipe to unarj. File partialy decompressed.
           fi
           exit_f=1
         ;;
         arc | ARC)
           if [ -z "$command" ] ; then
              findfile arc
              test ! -z "$fileresult" && changevars $fileresult" x" " arc +" 0 1
 0
           else
              echo ERROR: Can\'t pipe to arc. File partialy decompressed.
           fi
           exit_f=1
         ;;
         zoo | ZOO)
           if [ -z "$command" ] ; then
              findfile zoo
              test ! -z "$fileresult" && changevars $fileresult" x" " zoo +" 0 1 0
           else
              echo ERROR: Can\'t pipe to zoo. File partialy decompressed.
           fi
           exit_f=1
         ;;
         lzh | lha | lz | LZH | LHZ | LZ)
           findfile lha
           test ! -z "$fileresult" && changevars " | "$fileresult" x -" " lha +" 0 1 1
           exit_f=1
         ;;
         pgp)
           findfile pgp
           if [ ! -z "$fileresult" ] ; then
              changevars " | "$fileresult " pgp +" 0 0 1
           else
              exit_f=1
           fi
         ;;
         [1-8nl] | man)
           test -z "$command" && changevars " | nroff -man | more" " man +" 0 1 1
           exit_f=1
         ;;
         *)
           exit_f=1
         ;;
       esac
     done
     test $create -eq 1 && command=$command" > "$old_file
     if [ -z "$message" ] ; then 
         echo ERROR: Don\'t know how to handle [ $file_tmp ]
     else
         message=`echo $message | sed -e 's/ +$//'`
         echo "File [ `basename $file_tmp` ]"
         echo "Type [ $message ]"
         if [ $do_cat = 1 ] ; then
            command="cat "$file_tmp" "$command
         else
            command=$command" "$file_tmp
         fi
         eval $command && {
           if [ $removefile = 1 ] ; then
              if [ $promptbefore = 1 ] ; then
                 makeask $file_tmp
                 test $removeit -eq 1 && rm -f $file_tmp
              else
                 rm -f $file_tmp
              fi
           fi
         } || echo ERROR: [ $file_tmp ] can\'t decompress ...
     fi
  else
     echo ERROR: [ $file_tmp ] Can\'t process it! Exists????
  fi
done
</PRE> 

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

<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="quick">Quick Tips from John</A></H3> 
Date: Tue, 08 Oct 1996 08:18:39 -0500 (CDT) <BR> 
From: John M. Fisk 
<A HREF="mailto:fiskjm@ctrvax.Vanderbilt.Edu">fiskjm@ctrvax.Vanderbilt.Edu </A><BR>
<P> 
I recently ran across a "Quick Tip" that might be useful to anyone
using the BASH shell. There's a rarely mentioned but very useful feature
that's included with it:  an online help function that describes all of
its built-in functions. To use it you simply invoke it as:
<PRE> 
	% help &lt;builtin&gt;
</PRE> 
and it displays a brief usage message.  To get a listing of all of the
topics that are available, simply type in:
<PRE> 
	% help
</PRE> 
This displays a listing of all of BASH's builtin functions.  So, for
example, if you were interesting in using the "getopts" builtin in order
to parse command line options for a shell script, you'd invoke the help
function as:
<PRE> 
	% help getopts
</PRE> 
which prints a helpful summary of the function and its invocation. 
<P> 
The other thing I recently ran across was the use of the "$()" construct
in BASH shell programming.  When I first started learning shell
programming the construct which I'd seen used for command substitution was
something like:
<PRE> 
	DATE=`date + "%A %B %C"`
</PRE> 
which assigned the output of the date command to the variable DATE.  I
recently read that this has been deprecated and the accepted construct now
for command substitution is the use of the dollar sign and parentheses.
The above statement should now be written as:
<PRE> 
	DATE=$(date + "%A %B %C")
</PRE> 
which has the same effect.  This works under both BASH and the Korn shell
(I'm not sure if this also works with C-shell derivatives). <BR> 
____________________________________________________________John M. Fisk

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

<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="two">Two Tips for the Price of One</A></H3> 
<P> 
Date: Fri, 4 Oct 1996 18:28:05 -0500 (CDT) <BR> 
From: David Ishee <A HREF="mailto:ishee@erc.msstate.edu">
ishee@erc.msstate.edu</A><BR> 
<P> 
Just looking at your $0.02 tips and I had some $0.01 tips to add. I liked
the perl trick for removing Control-M characters so I made it an alias in
my .cshrc file (for the tcsh shell):
<PRE> 
alias tu "perl -pi.bak -e 's/\r//g;' \!^"
</PRE> 
Now type "tu filelist" to run the above command. (tu stands for to Unix)
<P> 

Another $0.01 tip:
<P> 
When I used the xterm title bar thingy and I was at a VT, the escape
characters would just cause the Linux terminal to beep at me. I now have
this in my .cshrc (for the tcsh shell):
<PRE> 
if ($TERM == "xterm") then
  alias precmd 'echo -n "\033]2;"`whoami`":"`pwd`"\007"'
endif     
</PRE> 
This puts my login_name:directory in my title bar, but not when I go to a
Linux VT.
<PRE> 
+--------------------------------------------------------------------+
| David Ishee                             ishee@erc.msstate.edu      |
| Mechanical Engineering Senior                                      |
| Mississippi State University             OS/2 and Linux user       |
+------------- http://www2.msstate.edu/~dmi1/index.html -------------+
</PRE> 

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

<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="emacs">The
Ultimate Emacs Control M Trick </A> </H3> 
Date: Thu, 3 Oct 1996 10:19:24 -0700 <BR> 
From: Rick Bronson <A HREF="mailto:rick@efn.org">rick@efn.org </A><BR>
<P> 
Hi,
<P> 
  Here is the ultimate Emacs Control M Trick:
<P> 
  Put the following line in your .emacs file:
<PRE> 
(require 'dos-mode)
</PRE>  
  and have dos-mode.el, which for me is in ~/lisp/dos-mode.el, some where
in your path by putting the following line in your .emacs file:
<PRE> 
(setq load-path (append load-path (list "/home/rick/lisp")))
</PRE> 
  That's it!  Now you can edit native DOS files without having to do
any conversion at all.  You won't see any ^M stuff in the DOS files,
they are removed for you.  You can cut and paste between DOS and UNIX
buffers and the ^M stuff is handled automatically.
<P> 
  dos-mode.el is available in
/ftp@archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/modes as
dos-mode.el.Z
<PRE>
                                                                       _
                                                                      | |
                                                                      / /__
.------------------------------------------------------------._______/ (___)
| Rick Bronson   rick@efn.org   Tel 541-465-9008      _o_    |         (___)
| Invivo Research       http://www.efn.org/~rick      \|/    |_______  (___)
| 745 Foothill Drive       "Onde esta dinheiro?"     `---'   |       \_(___)
| Eugene, OR  97405-4651    -- Gal Costa          Disk | Golf|
`------------------------------------------------------------'
</PRE> 

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

<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="vi">VI Trick</A></H3> 
Date: Sat, 26 Oct 1996 05:11:34 -0500 <BR> 
From: John R. Potter <A HREF="mailto:jrpotter@neosoft.com">
jrpotter@neosoft.com</A><BR> 
<P> 
I thought you might be interested in my favorite vi trick, which is not a
vi trick at all.  I spend a lot of time in vi edit sessions, usually with
two files open moving data between them using the named buffers.  Often
someone will come in with a 'brush fire' that needs immediate attention and
I really don't want to quit my edit session and lose my buffers.  So I put
it to sleep with Control Z.  You can start up another vi edit session,
complete with named buffers and everything.  They are two complete separate
sessions with no ties between them.  When the fire is under control you can
bring back the original session with 'fg'.  I know this is a very simple
thing, but for a long time I didn't know you could do it so I would quit
the original session.
<P> 
- John Potter

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

<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif"><a name="xdm">XDM Replacement</A></H3> 
Date: Thu, 03 Oct 1996 23:26:00 -0400 <BR> 
From: Jim Nicholson <A
HREF="mailto:pcks@cnj.digex.net">pcks@cnj.digex.net</A><BR>
<P> 
I'm not sure how well known it is in the Linux community, but Pierre
Ficheux (<A HREF="mailto:pierre@ai.alienor.fr">pierre@ai.alienor.fr</A>) has written a replacement for the
XDM logon dialog that lets you set up icons for users - sort of like
what you can do on an SGI machine. The file can be had via
ftp://ftp.ibp.fr/pub/linux/tsx-11/sources/usr.bin.X11/xdm-photo-1.1.tar.gz;
more info is available on Pierre's web site
<A HREF="http://alienor.fr/~pierre/index_us.html">
http://alienor.fr/~pierre/index_us.html</A><BR> 
<P> 
- Jim Nicholson

<P> <hr> <P> 
<!--================================================================-->
<A HREF="./lg_toc11.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_mail11.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<A HREF="lg_bytes11.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; 1996 Specialized Systems Consultants, Inc. </H5> 
<P><HR> <P>  

<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>&quot;
<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>
<HR>
<center><h1>
<IMG SRC="../gx/bytes.gif" border=1  ALT="News Bytes"></h1></center>

<P> <hr> <P> 

<H3>Contents:</H3>
<ul>
<li><a HREF="./lg_bytes11.html#general">News in General</a>
<li><a HREF="./lg_bytes11.html#software">Software Announcements</a>
</ul>

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

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Comdex Conference</H3>
<P> 
17 Oct 1996 <BR> 
Please join Linux International at
The Linux Technology Showcase, COMDEX FALL/96.
This will be the largest presentation of Linux to date outside the Internet.
The show will run November 18-22, 1996 in Las Vegas, Nevada.   
The Linux Showcase will be promoted in the show preview, 
show guide, show daily and other materials on a par with the 
Multimedia, Windows, Internet, Networking and other showcases.  
The location is downstairs at the Sands Expo & Convention Center, 
just off the famous Las Vegas Strip.
<P> 
For additional information: <BR> 
Linux International, <A HREF="http://www.li.org/">http://www.li.org/</A><BR> 
<A HREF="mailto:li@li.org">li@li.org</A><BR>

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Free Software Union</H3>
<P> 
"Free Software Lovers Unite!"
<P>    
   The FSU is a volunteer, democratic organization dedicated to the Free
   Software community. It provides all users, developers, and enthusiasts
   with full-voice, free membership in a voting decision making body. It
   channels resources, manpower, and community feedback for voter
   endorsed project implementation.
<P>    
   The FSU gives developers guarantee of wide acceptance and support by
   providing guidelines and tools for development to produce consistent
   and inter-operable software, and volunteer man-power recruiting
   assistance for large endorsed projects.
<P>    
   Some of the projects that the FSU is currently considering is the
   adoption of CORBA or SOM, licensed porting/re-implementation of
   OpenDoc, a "Free Software Map" database of all known free software
   projects (a superset of LSM), and much more!
<P>   
FSU Founder/Contact: Jan Vicherek, <A HREF="mailto:honza@ied.com">honza@ied.com</A><BR> 
FSU Mailing List Posts: <A HREF="mailto:fslu@calum.csclub.uwaterloo.ca"> 
fslu@calum.csclub.uwaterloo.ca </A><BR> 
Find out more and join at: <A HREF="http://www.jagunet.com/~braddock/fslu/org">
http://www.jagunet.com/~braddock/fslu/org </A><BR> 

<P><hr><P> 
<!-- =====================================================================  -->
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Lasermoon, Linux-FT</H3>
<P>
Date: Tue, 08 Oct 1996 <BR> 
Clarification - Linux-FT, The Road Ahead <BR> 
<P> 
Linux-FT is a Lasermoon Ltd product which was developed with the intention
of achieving POSIX.1 and XPG4 certification as part of a project
Lasermoon started in January 1995. Lasermoon obtained the required
licenses (POSIX.1, XPG4 etc) and X/Open membership to facilitate this
fully GPL'ed effort. Unifix were involved in the development of the
distribution, and components from Linux-FT were fed back into other
Unifix products (hence the similarities). 
<P> 
The technology behind Linux-FT was acquired by Caldera during 1996 and
will be incorporated into the Caldera's Linux products.
<P> 
Caldera's involvement with Linux-FT has been the subject of many postings 
and press announcements over many months and details can be found on 
the Linux-FT WWW site at www.lasermoon.co.uk and Caldera (www.caldera.com).
<blockquote>
     Unifix have no connection with, or control over Linux-FT.  Whilst
     we are flattered that Linux-FT is receiving such attention, BOTH
     Unifix GmbH and the Unifix 2.0 RELEASE HAVE NOTHING WHATSOEVER
     TO DO WITH CONTINUING Linux-FT DEVELOPMENTS.
</blockquote>
Caldera and Lasermoon are continuing the work of developing
a truly Standards Certified/Branded Linux (released under the GPL).
Working with the original developers, we welcome all contributors to the 
POSIX.1 and XPG4 standardization effort which is essential for the 
long term success of Linux. 
<P> 
By working together, we can accomplish this effort in a much more 
effective manner and comply with the licensing requirements of The Open
Group and other such organizations.
<P> 
For additional information: <BR> 
Lasermoon Ltd, The Forge, Wickham, Hants, England <BR> 
<A HREF="mailto:info@lasermoon.co.uk">info@lasermoon.co.uk </A> <BR> 
<A HREF="http://www.lasermoon.co.uk">http://www.lasermoon.co.uk </A><BR> 

<P><hr><P> 
<!-- =====================================================================  -->
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">
Linux Consultants HOWTO Reaches Hundred Entry Mark</H3>
<P> 
October 17, 1996 -- Only one month after its
debut on September 18, 1996, the Linux Consultants HOWTO, a
listing of companies and individuals providing commercial support
for the freely redistributable operating system Linux, now
contains over a hundred entries.
<P> 
The Linux Consultants HOWTO is free and can be downloaded
from <A HREF="http://www.sypher.com/tbm/Consultants-HOWTO">
http://www.sypher.com/tbm/Consultants-HOWTO </A><BR> 
<P> 
For additional information: <BR> 
Martin Michlmayr, <A HREF="mailto:tbm@sypher.com">tbm@sypher.com</A><BR> 
<A HREF="http://www.sypher.com/tbm">http://www.sypher.com/tbm</A><BR> 

<P><hr><P> 
<!-- =====================================================================  -->
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Linux in the News</H3>
<P>
News Articles about Linux:<BR> 
<ul> 
<li><a href="http://www.infoworld.com/cgi-bin/displayArchives.pl?dt_iwe42-96_89.htm">
"Linux Operating System Cheap, Powerful Red Hat Linux 4.0 Has No Web-
Connection Limits"</a><br>  <i>Infoworld, October 14, 1996</i><br>
"I'm in awe of how quickly the Linux operating system is moving foward. 
Last summer I predicted that Linux...would infiltrate mainstream corporate
America. If Red Hat Software Inc. (and all the unsung Linux contributors) 
continue advancing Linux at the present rate, such widespread adoption is 
guaranteed."<br>

<li><A HREF="http://www.pcweek.com/opinion/1021/21mach.html"> 
"Taking a Second Look at Linux"</a>  PC Week, 10/21/96,

<li><A HREF="http://www.pcmag.com/issues/1517/pcmg0012.htm"> 
"Spreading the Linux Gospel"</a>,
PC Magazine, 10/8/96, a review of books relating to Linux.

<li>"Building a Linux Web Server",
Sys Admin: The Journal for Unix Systems Administrators, October 1996.

<li><A HREF="http://www.pcweek.com/opinion/1007/07.html"> 
"Linux: Microsoft's Real Competition?"</a>  PC Week, 10/7/96.

<li>"Unix Survey: Users Like Reliability, Scalability, and Performance"  Byte
October, 1996.  Compares: IBM AIX, Digital Unix, HP-UX, SCO, SunOS/Solaris,
System V, and Linux. 

</ul>

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Linux on PCTV</H3>
<P> 
The PCTV production company, <A HREF="http://www.pctv.com/">
http://www.pctv.com/</A>, which produces Computer
Chronicles, USER GROUP and @HOME, is producing four half-hour shows on UNIX
and Linux.  These shows are:
<ul>
<li>History of UNIX (aired in October)
<li>Contemporary UNIX (airs first on November 4th)
<li>Linux (airs first in January)
<li>UNIX Futures (air times not yet set)
</ul>
<P> 
These shows will be aired as part of the USER GROUP show, which is carried
on ME/U,
Jones Computer Network (a 24-hour cable network dedicated entirely to the
subject of computers) and the NBC Super Channel 
and CNBC Europe, as well as by Satellite.
USIA WorldNet will begin carrying the Users Group show.
<P> 
Please check your local cable or satellite company for viewing times of
USER GROUP.
<P> 
For additional information: <BR> 
Jon "maddog" Hall, Executive Director Linux International <BR>
<A HREF="mailto:jon.hall@li.org">jon.hall@li.org  </A> <BR> 

<P><hr><P> 
<!-- =====================================================================  -->
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">New Linux Q&A Site</H3>
<P> 
A new threaded Linux Q&A and
discussion area has been created at The Forge Foundation web site:
<P> 
<A
HREF="http://www.theforge.com/InterBoard">http://www.theforge.com/InterBoard</A><BR>
<P> 
Create your own account or use the link that lets log you in
anonymously, then choose the group "Foundry - Linux Q&A".
This is an unmoderated group open to everyone.
<P> 
For additional information: <BR> 
Hal Reed, <A HREF="mailto:hal@theforge.com">hal@theforge.com</A><BR>  
The Forge Foundation, <A HREF="http://www.theforge.com/">
http://www.theforge.com/</A><BR> 

<P><hr><P> 
<!-- =====================================================================  -->
<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Northcon Nov 4-6</H3>
<P> 
Northcon is Nov 4-6 at the WA Convention & Trade Center (near the Kingdome) in Seattle, Washington.
There will be 350 exhibits by &quot;Leading Electronics Manufacturers&quot;.
<P> 
Mon. Nov 4,  10-5 <BR> 
Tue. Nov 5,   9-5 <BR> 
Wed. Nov 6,   9-4 <BR> 
<P> 
You can register on-line (free) at <A HREF="http://www.northcon.org">
http://www.northcon.org</A>.
<P> 
For additional information: <BR> 
<A HREF="mailto:northcon@ieee.org">northcon@ieee.org</A> or call
1-800-877-2668<BR> 

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Open Systems World/FedUnix Conference</H3>
<P> 
There will be a Open Systems World/FedUnix conference/trade show in
Washington DC on November 4-8.  It is a traditional event devoted to
open computing (read: Unix), attended mostly by government and
commercial Information Systems types.
<P> 
Since Linux has gained the attention of such circles, there is a 2-day
Linux track at this conference. I am chairing a Linux-related session,
scheduled for Thursday, November 7, 1996.  Speakers will be
people who apply Linux in real world situations, both in the
government and the private sector, and will tell us about their good
and bad experiences, and plans for the future.
Among the speakers, there are some who use Linux as a primary OS, as
well as those for whom Linux is just another environment.
<P> 
For additional information: <BR> 
<A
HREF="http://www.mcsp.com/OSW-FedUNIX.html">http://www.mcsp.com/OSW-FedUNIX.html
</A><BR>
Przemek Klosowski, <A HREF="mailto:przemek@nist.gov">przemek@nist.gov</A><BR>
<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">QT GUI Contest Announcement</H3>
<P> 
On October 1 Troll Tech announced the Qt GUI programming contest (free entry).
<P> 
A contest for programmers, writing free GUI software using Qt (a C++
GUI toolkit, see http://www.troll.no/).  Anyone can enter, there is no
fee for entry, and any program can be entered as long as it is written
in C++ and uses Qt.
<P> 
The winner will be paid US$2000 and two runners-up $500 after the
contest has closed on May 1, 1997 and the jury has done its job.
<P> 
We wish to encourage more free GUI software for X11, and we wish more people
to experience for themselves how good Qt is.
<P> 
For additional information: <BR> 
<A HREF="http://www.troll.no/contest.html">http://www.troll.no/contest.html</A><BR> 
<A HREF="mailto:contest@troll.no">contest@troll.no</A><BR> 

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Vulnerabilities in Linux</H3>
<P> 
An October 10 CIAC (Computer Incident Advisory Capability, U.S. Department of 
Energy) bulletin describes a security hole in Linux when using
a Bash shell as the default shell, and explains how to avoid it. 
Additional information can be found at the 
<A HREF="http://ciac.llnl.gov/ciac/bulletins/h-01.shtml/">CIAC web site</A>.
<P> 
On August 15, CIAC announced a security hole in the mount and umount Linux
programs, and gave fixes.  Additional information can be found at the CIAC 
web site, <A HREF="http://ciac.llnl.gov/ciac/bulletins/g-38.shtml/">CIAC web site</A>
<P> 
If you find code that could be potentially dangerous, you should contact
the Computer Emergency Response Team (CERT),
<A HREF="http://www.cert.org/">http://www.cert.org/</A>, at Carnegie Mellon 
University. Reporting forms can 
be found at <A HREF="ftp://info.cert.org/pub/incident_reporting_form">
ftp://info.cert.org/pub/incident_reporting_form</A>. 

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

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Craftworks Linux 2.2 Intel Version</H3>
<P> 
Mon, 07 Oct 1996 <BR> 
Craftwork Solutions has released it's 
second generation Linux OS for the Intel platform.  Craftworks 2.2 is a 
complete, customizable operating system for Intel based machines that 
empowers the desktop. It is a solid operating environment for desktop 
workstations and Web server solutions.  The Linux environment provides 
improved processing performance, high reliability and built-in security, at 
an affordable price.
<P> 
For additional information: <BR> 
Craftwork Solutions, Inc., <A HREF="http://www.craftwork.com">
http://www.craftwork.com</A><BR> 
<A HREF="mailto:info@craftwork.com">info@craftwork.com</A><BR>   

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Java Development Kit--JDK 1.0.2 for Linux</H3>
<P> 
On Friday September 27th 1996, Sun Microsystems provided the Java
community with the long awaited update of the binary license,
subsequently making redistribution of the Linux JDK 1.0.2 (Java
Development Kit) possible.
<P> 
For additional information:<BR> 
<A HREF="http://www.blackdown.org/java-linux/Information.html">
http://www.blackdown.org/java-linux/Information.html </A> <BR> 
Robert Herrmann <A HREF="mailto:bherrman@netcom.com">bherrman@netcom.com</A><BR>  
NETCOM On-line Communication Services <BR> 

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Linux On A Disk</H3>

<P> 
06 Oct 1996 <BR> 
A 1 or 2 GigaByte IDE Hard Disk Pre-Loaded with Linux. Positively the
easiest way to get the Linux Operating System up and running on your PC.
<P> 
<A HREF="http://www.cosmoseng.com/">http://www.cosmoseng.com/</A><BR> 
<P>
For additional information: <BR> 
Clay Claiborne, <A HREF="mailto:cjc@earthlink.net">cjc@earthlink.net</A><BR> 
Cosmos Engineering Co., Los Angeles, CA <BR> 

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">MkLinux Release 2.0</H3>

<P> 
23 Sept 1996 <BR> 
Apple Computer, Inc.
(Nasdaq: AAPL) announced today that it is making available Developer
Release 2 of MkLinux.  Based on the Open Software Foundation (OSF) Mach
Kernel, MkLinux allows users to run UNIX applications and solutions on
high performance Power PC-based products.  The DR2 release delivers
substantially improved performance and stability, and many features
Linux developers and  customers have been asking for.
<P> 
Apple is making the source code for Developer Release 2 available free
of charge on the Apple MkLinux web site at <A HREF="http://www.mklinux.apple.com/"> 
http://www.mklinux.apple.com/</A> long with snapshots of MkLinux, updates,
patches, and late-breaking news.  Apple's MkLinux Developer Release 2
CD is available from Prime Time Freeware for U.S. $20.
<P> 
For additional information: <BR> 
Prime Time Freeware, <A HREF="mailto:info@ptf.com">info@ptf.com</A>,
<A HREF="http://www.ptf.com/">http://www.ptf.com/</A><BR> 
Apple Computer Inc., <A HREF="http://www.apple.com/">http://www.apple.com/</A><BR>

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Red Hat Linux 4.0 Users's Guide</H3>
<P> 
Fri, 04 Oct 1996 <BR> 
Red Hat Linux 4.0 Users's Guide free via FTP!
That's right, the 236 page Red Hat Linux 4.0 User's Guide is now
available via FTP, in PostScript and HTML form.  It is also available
for browsing on our web site.  The Users's Guide covers installation,
configuration, RPM, control-panel, and basic system administration
issues, and is a must have for anyone running Red Hat Linux.
<P> 
<A HREF="http://www.redhat.com/support/rhl/manual">
http://www.redhat.com/support/rhl/manual</A> <BR> 
<A HREF="ftp://ftp.redhat.com/pub/redhat/redhat-4.0/Users-Guide">
ftp://ftp.redhat.com/pub/redhat/redhat-4.0/Users-Guide</A> <BR> 
<P> 
The Red Hat 4.0 User's Guide is distributed under the same terms as
the Linux Documentation Project (LDP) documents.
<P> 
For additional information: <BR> 
Red Hat Software, <A
HREF="http://www.redhat.com/">http://www.redhat.com/</A><BR>
<A HREF="mailto:info@redhat.com">info@redhat.com</A><BR>  

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Video Mosaic Netscape Plugin for Linux</H3>
<P> 
18 Oct 1996 <BR> 
Vosaic (Video Mosaic) is available as a Netscape Navigator plug-in
for Linux from the Systems Research Group of the University of 
Illinois at Urbana-Champaign and Vosaic Corp.
<P> 
Vosaic supports real time video over the Internet that is embedded in 
standard Web pages.  The technology allows one to view MPEG video 
at 6 to 10 frames per second over telephone dial up connections at 
28.8 Kbits/s.  Higher bandwidths improve video quality.  There is no
download latency - videos are displayed as the data arrives over the
network.  Get the 1 BETA 12 plug-in at:
<P> 
<A HREF="http://www.vosaic.com/">http://www.vosaic.com/</A> <BR> 	
<P> 
Vosaic requires kernel 2.0 and above, as well as XFree86 3.1.2.
<P> 
For additional information: <BR> 
<A HREF="mailto:info@mosaic.com">info@mosaic.com</A><BR> 
<A HREF="http://choices.cs.uiuc.edu/srg/stan/video.ps">
http://choices.cs.uiuc.edu/srg/stan/video.ps</A> <BR> 
	
<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">Virtual Paper--Online-Document Viewing System</H3>

<P> 
04 Oct 1996 <BR> 
Virtual Paper is a high-quality online-document viewing system.  
Lectern, the Virtual Paper viewer, offers good legibility (using 
anti-aliasing), fast page-turning speed, a smooth user interface, 
and the ability to handle both PostScript and scanned "legacy" documents. 
<P> 
It's written in Modula-3, is distributed in both source and executable 
format, and is free (but copyright by Digital Equipment Corporation). 
<P> 
DEC has announced the availability of the 
Virtual Paper system in x86/Linux ELF executable format. 
<P> 
For details on the overall system, including links to the executables 
and sources, see:
<P> 
<A HREF="http://www.research.digital.com/SRC/virtualpaper/">
http://www.research.digital.com/SRC/virtualpaper/</A><BR> 
<P> 
For additional information: <BR> 
Paul McJones, <A HREF="mailto:mcjones@pa.dec.com">mcjones@pa.dec.com </A><BR>  
Andrew Birrell, <A HREF="mailto:birrell@pa.de.com">birrell@pa.de.com </A><BR>  
DEC Systems Research Center (SRC), Palo Alto, California, USA <BR> 
	
<P> <hr> <P> 
<!-- =================================================================== -->

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">WebThreads 1.0.1 for Linux</H3>
<P> 
08 Oct 1996 <BR> 
WebThreads, LLC of Vienna, VA, announced the release of WebThreads 1.0.1
web site interactivity and visitor tracking solution. WebThreads allows you
to create truly interactive web sites that respond and change in real time
to individual visitors based on their actions while providing the webmaster
with a tremendous amount of information about what the visitors are doing
on your site. WebThreads is a lightweight and easy to install set of CGI
scripts written entirely in C that greatly enhance the flexibility,
interactivity and visitor traffic reporting accuracy of standard WWW
servers.
<P> 
For additional information: <BR>
WebThreads, <A HREF="http://www.webthreads.com/">http://www.webthreads.com/</A><BR>
<A HREF="mailto:info@webthreads.com">info@webthreads.com</A><BR>  

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

<H3><IMG ALT=" "   SRC="../gx/bolt.gif">XForms V0.81--X11 GUI Toolkit & Builder</H3>

<P> 
29 Sep 1996 <BR> 
XForms is a graphical user interface toolkit and builder based on Xlib
for X Window Systems. XForms is a portable and efficient C library 
that can be used in both C and C++ programs.
The library works in all visuals and all depths (1-24) and comes 
with a rich set of objects such as buttons (of many flavors, including color 
XPMs as labels) , browsers, sliders, and menus integrated into an 
elegant event/object call back execution model that allows fast and 
easy construction of X-applications. It also has OpenGL (on SGI) and 
Mesa support.
<P> 
XForms V0.81 for Linux/m68k and MkLinux is available from
<P> 
<A HREF="http://bragg.phys.uwm.edu/xforms">http://bragg.phys.uwm.edu/xforms</A><BR> 
<A
HREF="ftp://laue.phys.uwm.edu/pub/xforms">ftp://laue.phys.uwm.edu/pub/xforms</A><BR> 
<P> 
In addition, XForms is already available for Linux/i386,
Linux/Alpha and other Unix platforms.
<P> 
For additional information:<BR> 
T.C. Zhao, <A HREF="mailto:zhao@laue.phys.uwm.edu">zhao@laue.phys.uwm.edu</A><BR>  
Surface Labs, Dept. of Physics, UW-Milwaukee <BR> 

<P> <HR> <P>
<!-- =================================================================== -->
<A HREF="./lg_toc11.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_tips11.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<A HREF="gm.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; 1996 Specialized Systems Consultants, Inc. </H5> 
<P><HR> <P>  

<!--===================================================================-->
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<TABLE>
<tr>
	<td valign="top">
		<IMG SRC=../gx/hammel/lgpenguin.gif ALT="Larry Ewing's Penguin Gazette"
				WIDTH="161" HEIGHT="160" border="0">
		</td>
	<td valign="center">
		<H1> The Graphics Muse </H1>
		<table>
		<tr>
			<td>by</td>
			<td><A HREF="mailto:mjhammel@csn.net">
				<IMG SRC="./gx/hammel/sig.gif" ALT="Michael J. Hammel"
							ALIGN="left" WIDTH="240" HEIGHT="23" border="0">
				</A>
				</td>
		</table>
		</td>
<tr>
	<td align=center colspan=2>
		<HR>
		</td>
<tr>
	<td align=left colspan=2>
		<B>muse:</B>
		<OL>
			<LI><I>v;</I> to become absorbed in thought
			<LI><I>n;</I> [ fr. Any of the nine sister goddesses of learning and the
				arts in Greek Mythology ]: a source of inspiration
		</OL>
		</td>
<tr>
	<td align=center colspan=2>
		<HR>
		</td>
</table>

<UL>
	<LI><A HREF="#mews">Graphics Mews</A>
	<LI><A HREF="#musings">Musings</A>
	<LI><A HREF="#future">Future directions</A>
</UL>
<HR>

Welcome to the Graphics Muse!  This is the first in what I hope will be a
long running monthly column relating to computer graphics on Linux systems.  
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.

<P>
This column will be divided into two sections:  
<A HREF="#mews"><I>Graphics Mews</I></A>, 
a section devoted to the latest news in graphics such as new releases of
products (free or commercial), people in the news, conventions and
conferences and whatever else might be of general interest to the graphics
community, and 
<A HREF="#musings"><I>Musings</I></A>, 
a section where I can spew whatever I think
needs to be covered more in depth.  The later section I hope will cover
things like reviews of products, tips and tricks, interviews with graphics
people, or maybe just my philosophies on life.  You'll just have to come
back each month and see where things go.
<P>
I'm open to suggestions on topics for the Musings section.  I'll also take
any and all notices regarding graphics tools that are being released or
updated.  Please don't send notices as advertisements - I only want to know
about new releases or new products.  I'm only doing that to keep my workload
down a little.
<P>
One thing this column <I>won't</I> cover is X programming or windowing
API's (unless they are specifically designed for the development of 
graphics tools).  There are lots of places to get information about X.
This column is about computer graphics in general.

<P>
<A NAME="mews">
<H2>Graphics Mews</H2>
</A>

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.

<UL>
	<LI>Megahedron
		<BR>According to the announcement sent to me from Syndesis Corporation
		(the maker of this product), Megahedron is a programmable 3D graphics
		engine.  It runs on a number of platforms, including Linux.  You 
		can check out the web site at 
		<A HREF="http://www.threedee.com/">
		http://www.threedee.com/</A>.
	<LI>QT
		<BR>Troll Tech AS has released a free version of QT for the X Window
		System. QT is a complete and well-developed object-oriented program
		for developing graphical user interface applications using C++.  
		For additional information check out Troll Tech's web site at
		<A HREF="http://www.troll.no/">http://www.troll.no/</A>.
</UL>

Thats all I've seen for this month.  Software releases have been kinda
sparse the past month for some reason.

<P>
<A NAME="musings">
<H2>Musings</H2>
</A>

First, let me start with some shameless self-promotion:  
<A HREF="http://www.csn.net/~mjhammel/linux-graphics-howto.html">
The Linux Graphics mini-Howto</A>
and the 
<A HREF="http://www.csn.net/~mjhammel/povray/povray.html">
Unix Graphics Utilities</A> 
pages.  The latter of these I
started late last year while beginning to learn about computer graphics
through the use of POV-Ray, a 3D rendering tool.  I had found that most of
the tools available for use with POV-Ray were not Unix based (not
specifically, anyway) so I tried to find info on Unix based tools since I
was running Linux.  After I learned a bit more about computer graphics I
started the Linux Graphics mini-Howto in retaliation for a coworkers claims
that doing graphics was best left to MS based systems.  NOT!  The tools
need a little organizing, a few need better documentation, but in general
you can do some very impressive graphics on Linux systems.

<P>
These two pages are available at:
<br>
<A HREF="http://www.csn.net/~mjhammel/linux-graphics-howto.html">
http://www.csn.net/~mjhammel/linux-graphics-howto.html</A>
and
<br>
<A HREF="http://www.csn.net/~mjhammel/povray/povray.html">
http://www.csn.net/~mjhammel/povray/povray.html</A>.  
<br>
I was offered some free web space by a couple of people so I'll be moving
my pages sometime in the future, but probably not till after January.
<P>
<B>Note</B>:  if you are the official maintainer of any of the packages
listed in these pages feel free to keep me informed of new releases.  The
information there is only as good as the info I've gathered from newsgroups
and word of mouth so far.

<P>
Ok, enough about me.

<P>
My first bit of musings revolves around the use of images in web pages.
I get a number of e-mails from people who've seen my web pages (or possibly
my ramblings on various newsgroups or mailing lists) asking how to do blah
or where can I get blah to do blah for their web pages.  The "where" parts
are covered by the links mentioned above.  The "how" part is a broad
question.  I'll summarize.

<P>
When creating graphics for your pages, keep the following things in mind:
<OL>
	<LI>Consider your target audience:
		<UL>
			<LH>Home Users</LH>
				<LI>Most home users have slow links.  Even 28.8 modems don't load
					big graphics all that fast.  Keep your images small.
				<LI>Animations that are done with like cell-animations are done
					for cartoons (sequences of individual images with slight
					variations to simulate movement) require each cell to be
					loaded across the net.  This is tantamount to one big image 
					taking forever to load.
				<LI>Most home users are still limited to 256 colors on their displays.
					Lots of users have upgraded to better graphics cards, but how
					many people do you want to alienate with an image with 10000
					colors?  
		</UL>
	<LI>
		If you want the average person to visit your page, you have to give
		them two things:  content and flash.  The flash has to be done using
		as little download time as possible, with as much color as you can 
		squeeze in without overloading the browser (causing it to dither
		images).  The content must be the reason for your pages, not the
		flash.  
	<LI>Background images should be just that - in the background.  Don't
		make the background so gaudy it distracts from your real content.
	<LI>Use common colormaps - this reduces the number of colors the 
		browser has to allocate, leaving some space for other applications.
		X-based systems can allocate colors into private colormaps, but
		this causes that annoying "flashing" you see (try running Netscape
		with the -install option - you'll see what I mean).
	<LI>Flash can be added easily with a simple background over which you
		add some in-line transparent GIFs.
	<LI>Never use an "Under Construction" image.  Its the Web.  Of course
		its under construction!
	<LI>Don't put those silly graphic dots in place of HTML list bullets.
		First, they waste the users time downloading (each requires another
		connection to the server) and second they break the formatting 
		rules provided with HTML.  Its just not good practice and they don't
		have any real value add to your pages.
</UL>

Now that you know some basic guidelines for you images, how do you go about
creating the images?  It depends on what kind of images you want to make.
If you want a simple, cartoon-like image you can get a drawing program like
xpaint.  This tool is good for drawing circles and boxes and filling them
in, using a window like a canvas to paint on the screen.  However, this
tool is limited in what you can do to the image once you've drawn it.  One
highly popular tool for a number of platforms that does this
post-processing is Adobe Photoshop.  Using a tool like this takes a bit of
practice, but once you've mastered it you can do some rather amazing
things.  A Linux alternative to Photoshop is the 
<A HREF="http://www.XCF.Berkeley.EDU/~gimp/">
Gimp</A>.
The logos on this page were created with the Gimp.  So was the background.
<P>
3D images are a whole other matter.  There are actually more well-known 
tools for doing 3D work than there are for doing image manipulation (ie
tools like the Gimp).  Probably the best known of these is POV-Ray.  This
tool reads in a text file that uses a "scene description language" to describe
how objects in the scene should be positioned and textured.  The drawback
to these tools is that they lack a point-and-click interface.  
There are separate tools available,
known as modellers, that allow the creation of the scene files without 
actually rendering the image.  In order to create 3D image you need to
either learn the scene description language or learn who to use a modeller
that will create it for you.

<P>
I know this is fairly basic and undetailed, but this is just my first
column.  Over time I'll try to cover both beginner and more advanced issues.

<P>
<A NAME="future">
<H2>Future Directions</H2>
</A>
Next month:  How do you create the textures that get applied to 3D images?
Beyond that, I'm considering talking about how to use Type 1 fonts in your
images:  how to install them, how you can manipulate them with the Gimp to
make interesting logos, etc.  I'd also like to provide some tips for using
POV-Ray and BMRT (although I have a lot to learn about the latter).  And I
might try to cover a little on how to do animations.  Things are pretty
open right now.  
<A HREF="mailto:mjhammel@csn.net">
Let me know what you'd like to hear about!</A>

<P>
<HR>
<FONT size=2>
"Linux Gazette" Penguin courtesy of 
<A HREF="mailto:lewing@isc.tamu.edu">
Larry Ewing</A>.
</FONT>
<HR> 
<center><H5>Copyright &copy; 1996, M. J. Hammel</H5></center>
<center> <H5>Published in Issue 11 of the Linux Gazette</H5></center>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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_bytes11.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./xemacs-tip.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<center><h2>A "Kill-Ring" Menu For Xemacs</h2></center>

<center><h4><a href="mailto: layers@vax2.rain.gen.mo.us">by Larry
Ayers</a></h4></center>

<center>Copyright &copy; 1996</center><BR>

<center><H5>Published in Issue 11 of the Linux Gazette</H5></center>

<P> <HR> <P> 
Lately I've been enjoying exploring the myriad capabilities of GNU Emacs'
offspring and competitor, Xemacs.  Aside from the burden of downloading the
voluminous source, Xemacs offers quite a few features which Gnu Emacs
lacks. Luckily for those considering a transition, the basic keystrokes and
commands are nearly identical.

<p>One feature of Gnu Emacs which I began to miss after a while was the handy
pull-down menu which displays the first few words of each cut or copied
selection made in the current session, i.e. the "kill-ring".  The prospect of
figuring out how the lisp files work which determine the menu-bar's structure
wasn't too appealing.  I know a little lisp, but not enough to add a new menu
entry.

<p>Some weeks later, while idly browsing through some emacs newsgroup 
headers, I came across this posting, which I'll quote here in full:<br>

<pre>

In article <9604170740.AA26236@portia.uk.abs> imac@portia.rd.abs.alcatel.co.uk
(Ian MacKinnon) writes:

&gt When I used emacs (before I saw the light), I made use of a function
&gt mouse-menu-choose-yank which offered you the choice to yank from the recent
&gt history of selections via a popup menu, but I can't get it to work in
&gt XEmacs because x-popup-menu doesn't exist, and the parameters to
&gt popup-menu are different. Has anyone got an alternative. I enclose the
&gt ...

I have hacked the Emacs codes of mouse-menu-choose-yank to put in
Xemacs as follows:

<code>
(defvar yank-menu-length 40
  "*Maximum length of an item in the menu for select-and-yank.")
(defun select-and-yank-filter (menu)
  (let* ((count 0))
    (append menu
            (mapcar
             #'(lambda (str)
                 (if (> (length str) yank-menu-length)
                     (setq str (substring str 0 yank-menu-length)))
                 (prog1
                     (vector
                      str
                      (list
                       'progn
                       '(push-mark (point))
                       (list 'insert (list 'current-kill count t)))
                      t)
                   (setq count (1+ count))))
             kill-ring))))
</code>
For this to work, you have to put on your menu bar the following submenu
(use add-submenu for that for example):
<code>
      ("Select and Yank"
       :included kill-ring
       :filter select-and-yank-filter)
</code>
Hope this help

-----------------------------------------------------------------------
PHAM Dinh Tuan                         | e-mail: Dinh-Tuan.Pham@imag.fr
Laboratoire de Modelisation et Calcul  | Tel: +33 76 51 44 23
BP 53, 38041 Grenoble cedex (France)   | Fax: +33 76 63 12 63
-----------------------------------------------------------------------
</pre>
<p>
  It took a little experimenting to get this to work. The first section
of lisp code, ending with "kill-ring))))", can be copied unaltered into
the xemacs section of your ~/.emacs file. If you're using Xemacs 19.14
(the current version), it goes into your ~/.xemacs-options file.

<p>The second, shorter lisp snippet needs one small addition:<br>  
<pre>
<code>
           (add-submenu nil '("Kill-Ring"
                     :included kill-ring
                     :filter select-and-yank-filter))
</pre>
</code><br>

<p>As well as adding the proper syntax for <i>add-submenu</i>, I shortened
the menu-title, but it could be called anything you like.

<p>When I first restarted Xemacs after placing this code into the init file
the new submenu was nowhere to be seen.  I surmised that I'd made some error,
and put off further experimentation for another time.  A few minutes later I
was busily editing some file. I happened to glance up at the menu-bar and 
found a brand-new kill-ring submenu. Surprisingly the new menu only appears
after a selection has been cut or copied.

<p>I was happy, and thought that by relating my experience I could encourage
other Xemacs users (especially the ones who know as little lisp as I do!) to
try this neat hack.  Thanks to Dinh Tuan Pham, if he or she should happen to
see this.

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./gm.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./linus.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<center> <H2>Linus to Move to U.S. in 1997 </H2></center>
<center> <H4>By Phil Hughes, <A HREF="mailto:phil@ssc.com">phil@ssc.com</a></h4></center>
<center><H5>Copyright &copy; 1996</H5></center>
<center> <H5>Published in Issue 11 of the Linux Gazette</H5></center>

<P> <HR> <P> 
<P> 
Linus Torvalds is currently in the process of finishing up his Master's
degree at the University of Helsinki. After degree completion, he plans
to move to Santa Clara, California, where he will begin working for
Transmeta in March, 1997. Since Transmeta does not do Linux,
this is a Linux-neutral position; however, his
contract includes a provision for time to continue work on Linux.
<p>
After careful consideration of what he wanted in the future for himself and
his family, Linus decided to pursue a position in the business world.
A friend of his, who works for Transmeta and who has been a
long-time Linux contributor, talked to his management and found
a position for Linus that would both utilize his talents and interest him.
<p>
Linus feels that the match between Transmeta and his future goals is a good one.
Transmeta is a relatively small company. While Linus' main job will not
be working on Linux, Transmeta recognizes the good that Linux is doing, and
will allow Linus time and freedom to continue with the Linux project.
<p>
Here at <i>Linux Journal</i> we see this as a chance to let Linus trade in
some of that virtual beer we owe him for the real stuff.
While not exactly around the corner, being on the same coast and within
about two hours by airplane makes the trade a lot easier.
<P> 
While some have expressed fear that Linus' choice to apparently have a
life could adversely affect Linux development, I think this is
not the case.
Those of us who have had the opportunity to sit down and talk with Linus
know that Linus already has a life.
While he spends a lot of time working on Linux, he does have other interests.
The goal in attending the University of Helsinki was to get a degree, not
to build the operating system we are all now involved in.
<P> 
I think his decision to go to a Linux-neutral company, even though
he had job offers from companies working with Linux, will be an advantage
to the Linux industry as a whole. Also,
being in the U.S. will make it easier for Linus to participate in shows
and other events here, while still maintaining a personal life.
Besides, it is going to be nice to be able to say that the person who
created our operating system of choice has a job.
<P> 
-- Phil Hughes <BR> 
Publisher of <I>Linux Journal</I> <BR> 

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./xemacs-tip.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="tkg.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 


<!--===================================================================-->
<P> <hr> <P> 
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

<P> <HR> <P> 
<!--===================================================================-->
<center><h1>Running Sun's Hotjava Browser on a Linux System</h1></center>
<hr>

<center><h4><a href="mailto: layers@vax2.rain.gen.mo.us">by Larry
Ayers</a></h4></center>

<center>Copyright (c) 1996</center><BR>

<center><H5>Published in Issue 11 of the Linux Gazette</H5></center>
<center><h3>Introduction</h3></center>

<P> <hr>
<p>Recently I stopped by the
<a href="http://www.blackdown.org/java-linux/Information.html">Java-Linux</a>
web-page to see what was new and found an intriguing new link. This link
took me to a page which contains a script allowing Sun Microsystem's HotJava
web-browser to be run on a Linux machine.  I was skeptical, as the Java-based
browser supposedly is only available in versions for Win 95/NT and Sparc
Solaris systems. The comments in the script stated that the Sparc version
should be downloaded and installed, after which the new script should be
edited to reflect the location of the Java Developers Kit on the machine.
The comments were rather terse; what I wanted to know was whether it worked
well enough to even bother with.


<center><h3>Download and Installation</h3></center>

<p>You've probably guessed that my curiosity got the better of me; feeling
faintly foolish I FTP'ed the three-and-one-half megabytes of Sparc binaries
from the <a href="ftp://ftp.javasoft.com/pub/">Javasoft site</a> and installed
them.  After substituting the new start-up shell script for the supplied
script I was ready to try it out. The first try it died, complaining that it
couldn't find <b>mkdir</b> in /usr/bin. I re-edited the shell script and
corrected that path.  This time it worked, and I have to say I was impressed.

<center><h3>So What's It Like?</h3></center>

<p>HotJava is a graphically well-designed browser.  The graphics in the
various help-pages, the buttons, and the general design are all professionally
executed, and pleasing to the eye. Here is a screen-shot of one of the
included monitor applets:<br>

<HR>
<img src="./gx/ayers/splash.jpg" alt="HotJava" align=center>
<HR>
<p>The browser takes about as long to start up as Netscape does.  It's
informative to start it from an xterm window, as verbose messages scroll by
throughout the session indicating what threads and applets are active. 
You'll also be able to see its dying words, as (at least on my machine) it
will only run for about one-half an hour before crashing. While it runs it
seems to do well, though. I aimed it at http://www.gamelan.com and tried a
variety of java applets. They seemed to take longer to load than with
Netscape, but once loaded worked well. Frames, once a Netscape exclusive,
are supported.  There is also a menu option allowing hotlists from other
browsers to be imported.

<p>In its current "pre-beta" state HotJava uses an awful lot of
memory. <b>Top</b> reported usage of fourteen to fifteen megabytes! No wonder
I could only start it when the machine was lightly loaded. The current version
of the Linux java compiler is a memory hog as well, so perhaps this is a trait
of java, being an interpreted language as it is.

<p>HotJava includes two interesting monitor applets. One shows the current
memory usage in bar-graph form, with a button which will clear past images and
pages from memory, rather like Netscape's "clear memory cache" function. The
other shows a list of all of the active threads, with often as many as twenty
to thirty active at once.

<p>I did notice that if used locally; i.e. for viewing HTML files on the local
hard disk rather than on the net, it wouldn't crash. GIF and JPEG images
referred to from a page (rather than inline on the page) are viewed in the
same window with an internal viewer.  This is in contrast to some browsers
which call an external program for this purpose.

<p>I should state here that I don't have the Java Developer's Kit version 1.02
patchlevel 2 installed; my installation is the plain 1.02. Patchlevel 2 is
recommended on the Java-Linux page. Perhaps some of the problems I had with
HotJava can be attributed to my slightly out-of-date JDK.

<CENTER><H3>Conclusion</H3></CENTER>

Even with all of the faults related above my overall impression was
positive. Remember, this is a <b>pre-beta</b> release. HotJava is a major
evolutionary step up from the web-page applets which are the most common
uses of java these days.  What other large application written in java is
available?  It is a tribute to the inherent cross-platform nature of the
java language that a release intended for Sparc Solaris machines will run at
all on my humble 486 Linux box.  Thanks go to whomever modified the
<i>hotjava</i> script and made it available on the Java-Linux site!
<hr>

<address><a href="http://vax2.rain.gen.mo.us/~layers/">Larry
Ayers&lt;layers@vax2.rain.gen.mo.us&gt;</a></address>

<!-- hhmts start --> Last modified: Sat Oct 26 17:29:28 CDT 1996
<!-- hhmts end -->

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./linus.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./tkg.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<!--===================================================================-->
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<center><h1>The TkGoodstuff Package</h1></center>

<center><h4><a href="mailto: layers@vax2.rain.gen.mo.us">by Larry
Ayers</a></h4></center>

<center>Copyright &copy; 1996</center><BR>

<center><H5>Published in Issue 11 of the Linux Gazette</H5></center>
<P> <hr> <P> 
<center><h3>Introduction</h3></center>

<p>For the past couple of years Mark Crimmins at the University of Michigan has
been developing and refining an extremely configurable desktop button-bar;
since it's written in Tcl-Tk and superficially resembles the Fvwm Goodstuff
module, it is known as TkGoodstuff. The utility has passed through several
beta versions in the last year. Recently Mark made available a release version
4.1, so I thought this would be an auspicious time to review it.

<center><h3>Features</h3></center>

<p>TkGoodstuff is really a package of "clients", which are modular utilities,
organized and displayed by the master program.  Some of the client utilities
were written by Mark Crimmins, while others were contributed by
users. They include:<br>

<ul>
  <li>Window-list: displays running programs a la Win95 
  <li>Pager: Compact pager, like fvwm's
  <li>Biff: Mail notifier
  <li>Net: Net status indicator, can also launch scripts
  <li>Dialer: Configurable ppp/slip script-generator and launcher
  <li>Jots: Notepad utility
  <li>Watchdog: Monitors any logfile for changes
  <li>Clock: Any sort you like
  <li>Load: Like a miniature xload
  <li>Many others! Consult the <a href="http://www-personal.umich.edu/~markcrim/tkgoodstuff">web-site</a> for descriptions
</ul>

<img align="left" hspace=10 src="./gx/ayers/tkg.gif" alt="TkGoodstuff screenshot">

<p>TkGoodstuff includes a tabbed-notebook style configuration utility, which
allows a multitude of settings to be made for all of the clients.  Colors,
icons, fonts, and nesting of clients can all be determined here. Configuring
a utility like this one can be extremely time-consuming.  I like to rough out
the configuration in one pass, live with it for a while, then make incremental
changes from time to time as they occur to me.  After making any change in the
configuration notebook a window pops up giving you the opportunity to restart
Tkgoodstuff (hereafter referred to as Tkg).

<p>Tkg is designed to cooperate with and interact with Fvwm; it can be loaded
as an Fvwm module either at start-up or from the mouse-menu.  If run as a
module the button-bar will "stay on top" and inhabit all pager windows. There
is also an option which allows Tkg to span any of the four screen edges.<br>

<p>On my system PPP dial-up sessions are initiated by means of a short shell
script called <i>ppdi</i>. I recently discovered that the Tkg <b>Net</b>
client can launch this script when its panel is mouse-clicked, and terminate
the session the same way by launching the <i>ppp-off</i> script. This is just
marginally easier than finding an rxvt window and typing the commands in, but
much easier to explain to my wife and kids! The <b>Net</b> button also shows
total time online when a connection is open.

<p>Modules which are used less often can be invoked from a submenu viewed by
clicking the <i>Utilities</i> button.

<p>My favorite configuration uses a small subset of the available modules,
with the window-list and pager combination occupying the lower half of the
bar.

<p>Tkg comes with ample documentation in the form of linked HTML files.  A
tutorial is even included which provides help for creating your own modules.

<hr>

<center><h3>Availability and Installation</h3>
</center>

<p>TkGoodstuff is available from the major Linux archive FTP sites, but its <a
href="ftp://merv.philosophy.lsa.umich.edu/pub">home site</a> will have the
most recent version.  The compilation and installation process is
well-documented within the package; the current version (4.1) does require
Tcl-7.5 and Tk-4.1.<br>

<hr>

<address><a href="http://vax2.rain.gen.mo.us/~layers/">Larry
Ayers&lt;layers@vax2.rain.gen.mo.us&gt;</a></address> <!-- hhmts start -->
Last modified: Tue Oct 22 09:25:55 CDT 1996
<!-- hhmts end --> 
<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./hotjava.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./xfiles.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 


<!--===================================================================-->
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<CENTER>
<H1>X-Files</H1>
</CENTER>

<center><h4><a href="mailto: layers@vax2.rain.gen.mo.us">by Larry
Ayers</a></h4></center>

<center>Copyright &copy; 1996</center><BR>

<center><H5>Published in Issue 11 of the Linux Gazette</H5></center>

<P> <HR> <P> 
From two Finnish college students, Juha Forsten and Mikko Kiviniemi, comes
a new variation on the theme of translating basic Unix commands into a
graphical form with Tcl/Tk. X-Files superficially resembles FileRunner
(reviewed in LG #9) due to a shared ancestry: those legendary Amiga
file managers which seem to inspire such loyalty and nostalgia. This new one
has quite a list of features, all of which are configurable to an extreme.</P>

<CENTER>
<H3>Features, Some Unique</H3>
</CENTER>

<P>X-Files is one of those apps which you could spend hours customizing.  The
X-Files window at first glance seems cluttered and busy, with row after row of
multicolored function buttons. I believe the authors set up the default
configuration this way so a new user could see all of the possibilities at a
glance. Click here to take a look: <A href="./gx/ayers/xfiles_1.gif">Initial View</A></P>

<P>Exploring further I found that a pull-down menu allows the default
button-arrangement to be exchanged for any of three alternate choices.
Alternately, any individual row can be disabled. As a further refinement there
is an entry under the "config" menu item which allows the appearance and
behavior of any button to be edited.  A small edit-window pops up after you
click a mouse button on whichever button you'd like to change. The color,
button text, and command you'd like the button to run can be entered in and
saved. Entire groups of buttons, each optimized for a certain project or type
of work, could be created.  They would then be available from the menubar.</P>

<P>Another built-in mini-editor is also available from the menubar. This one
allows specific behavior to be assigned to various file extensions. If you'd
prefer the Gimp rather than XV to be the default image viewer for jpg files
this'll let you do it.  A separate program or action can be assigned to each
of the left and middle mouse-buttons.</P>

<P>The references to <I>left</I> and <I>middle</I> in the above statement seem
to refer to a three-button mouse.  X-Files was written with this sort of mouse
in mind and can be a little awkward to use with a two-button mouse, like mine.
 Even if you have <I>emulate three-button mouse</I> set in your XF86Config
file, double-clicking both mouse buttons at once takes a while to get used
to.</P>

<P>I was pleased to see complete keyboard-control support in this file manager.
The arrow keys and page-up and page-down keys work in whichever directory pane
the mouse cursor is in.  The focus follows the mouse without clicking, even to
list-boxes and entry-fields. Lack of this feature is a shortcoming in the
other two Tk file managers I've written about, Tkdesk and FileRunner.</P>

<P>The <I>mv</I> command in Linux (and other Unix variants) has a peculiarity:
it refuses to move a file from one partition to another.  Most file managers
I've used deal with this by means of a behind-the-scenes subterfuge.  While
the user thinks the manager is moving the file, it's actually copying the
file, then quickly deleting it from the original location. The overall effect
is the same. The <B>Move</B> button in X-Files hasn't learned this trick yet,
but I imagine after a few more version releases it will.  This behavior has
an effect upon file deletions which puzzled me for a while.  X-Files would
occasionally refuse to delete files for no apparent reason.  What was
happening was a result of X-Files' use of an undelete/trashcan directory. This
directory (~/.xfiles/xfiles_dumpster) is created during installation, and the
default behavior is to move all deleted files to this directory.  This would
be fine if all your files were on the same partition; if they're not X-files
will balk.  Luckily this feature is easily disabled; I prefer irrevocable
deletion anyway.</P>

<P>A "virtual file system", similar to but not quite as refined as the Midnight
Commander's, allows the contents of zipped and tarred and gzipped files to be
browsed.  In this beta <I>*.tgz</I> files are supported, but not
<I>*.tar.gz</I> files.</P>

<HR>

<CENTER>
<H3>Licensing and Availability</H3>
</CENTER>

<P>X-Files has many other features; why not check out the <A
href="http://pinhead.tky.hut.fi/~xf_adm/">X-Files Home page</A> and find out
more?  The source can be downloaded from the page as well. As of this writing
(early October) it hasn't shown up on the archive sites.</P>

<P>This program isn't completely free. The terms are similar to those of John
Bradley's XV image viewer: it's free to individuals, but for business and any
other multiple-user use it costs twenty dollars to register.  The authors also
hint that feature requests from those who have paid will be more likely to be
acted upon. An individual wishing to be a "supported user" only has to pay ten
dollars.</P>

<HR>

<CENTER>
<H3>Conclusion</H3>
</CENTER>

<P>I consider X-Files to be a direct competitor in features and utility to
both FileRunner and the Midnight Commander.  Tkdesk and Moxfm are in a
different league; they're much more than file managers, though many of the
functions are comparable.  The Midnight Commander has the useful trait of
running in a console session as well as in an rxvt or xterm window. Because of
this, Midnight Commander is among the first apps I resurrect after
repartitioning and reinstalling Linux.  I'm just happy that we now have
choices in applications for Linux; it wasn't that long ago that Linux users
were glad to have just one of each type of app or utility.</P>

<HR>
<ADDRESS>
<A href="http://vax2.rain.gen.mo.us/~layers/">Larry
Ayers&lt;layers@vax2.rain.gen.mo.us&gt;</A></ADDRESS>
<!-- hhmts start -->
Last modified: Tue Oct 22 09:24:14 CDT 1996
<!-- hhmts end -->

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./tkg.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./tapr.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<!--===================================================================-->
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

Subject: TAPR SS Position Statement <BR> 
Date: Thu, 26 Sep 1996 12:18:44 -0700 (PDT) <BR> 
From: Steve Stroh <BR> 
To: Phil Hughes WB6SWR <BR> 
<P> 
I suspect that the "Intranet" described below will be built on Linux-based IP
routers, possibly a simple implementation that can be booted from floppy
or Flash Card. 
<P> 
It's going to be very, very interesting.
<P> 
Steve N8GNJ, <A HREF="mailto:strohs@halcyon.com">strohs@halcyon.com</A><BR> 
Amateur Radio TCP/IP  <A HREF="mailto:n8gnj@sw.n8gnj.ampr.org">
n8gnj@sw.n8gnj.ampr.org</A><BR> 
| Amateur Spread Spectrum is the wave of the present!<BR> 

<P><HR> <P>  
<center><H2>TAPR's Statement on Spread Spectrum Technology Development</H2></center> 
<center><H4><A HREF="http://www.tapr.org/">http://www.tapr.org/</A></H4></center>
<P> 
TAPR was founded in 1982 as a membership supported non-profit amateur radio
research and development organization with specific interests in the areas
of packet and digital communications.  In the tradition of TAPR, the Board
of Directors at their Fall 1995 meeting voted that the organization would
begin to actively pursue the research and development of amateur radio
spread spectrum digital communications.  At the Spring 1996 board of
directors meeting, the following statement of purpose was passed:
<blockquote>  
	"TAPR believes that the technical facts support our conviction that
conventional and spread spectrum systems can coexist without detriment to
conventional systems on all frequencies from MF to EHF.  To this end, TAPR
will begin to research spread spectrum systems that will develop technology
for future deployment."
</blockquote>
As stated above, the TAPR board feels strongly about TAPR's focus on spread
spectrum technology and especially how it relates to the potential
coexistence on frequencies that will have increased number of users
occupying them.  The amateur radio bands, like other spectrum will become
more heavily utilized in the future.  It is in the interest of amateur radio
to develop systems that are interference-resistant while not interfering
with other primary or secondary users on those frequencies.  
<P> 
TAPR understands the concerns many have with the new technology, and
believes that efforts in both education and research is necessary in order
to allay the fears about interference and to demonstrate the benefits of the
technology.
<P> 
TAPR believes that todays' communications technology is moving toward all
digital transmitters and receivers.  These advances in technology, combined
with the swift evolution of cell based transmission and switching protocols,
are opening up a new set of possibilities for unique new services utilizing
intelligent networks.  These will contain smart transmitters, receivers, and
switches.  Today's Internet is perhaps the best example of a self-regulating
structure that embodies these new technological approaches to communications
in the networking domain.  However, to date, many of these innovations have
not moved into the wireless networking arena.  TAPR will work on moving
these innovations into the amateur radio community.
<P> 
TAPR feels that the VHF/UHF/SHF radio networks of the future will involve a
mixture of links and switches of different ownership, which terminate at the
end-user via relatively short-distance links.  What will then be required is
a built-in, distributed, self-governing set of protocols to cause the
network's behavior to make more efficient use of a limited, common shared
resource, the radio spectrum.  Creating such a self-regulating structure for
the optimal sharing of spectrum will require much effort.  
<P> 

One of the major problems which stands in the way of these new approaches
today is the current FCC regulatory environment and the manner in which
spectrum is managed and allocated under its rules.
<P> 
Historically, the current regulatory approach to radio has been based upon
the technology that was in use at the time that the Communications Act of
1934 was framed, basically what we would call today, 'dumb' transmitters
speaking to 'dumb' receivers.  The technology of that time required reserved
bandwidths to be set aside for each licensed service so that spectrum would
be available when needed.  Given this regulatory approach, many new
applications cannot be accommodated since there is no available unallocated
spectrum to 'park' new services.  However, given the new set of tools
available to the entrepreneur with the advent of digital technology,  what
once were 'dumb' transmitters and receivers can now be smart devices which
are capable of exercising greater judgment in the effective use and sharing
of spectrum.  The more flexible the tools that we incorporate in these
devices, the greater the number of uses that can be accommodated in a fixed,
shared spectrum.
<P> 

Therefore, TAPR will focus its spread spectrum effort in the following
areas:
<ul>
<li>TAPR will work to promote rules and technologies to make the most efficient
use of the spectrum through power control, forward error correction, and
other means to minimize interference among spread spectrum users and
existing communications systems.

<li>TAPR will work on issues and efforts with other national organizations to
change the regulatory environment and rules in order to promote the
experimentation, development, and later deployment of spread spectrum
technology.

<li>TAPR will work to develop information on the topic to help educate members
and the amateur community as a whole about spread spectrum technology, and
to disseminate this information via printed publications, the World Wide
Web, presentations at conferences and meetings, and other means.

<li>TAPR will work to foster experimentation, development, and design of spread
spectrum systems, and to facilitate the exchange of information between the
researchers and other interested parties.

<li>TAPR will work to develop a national intra-network to foster the deployment
of future high-speed spread spectrum systems into regional and local
communities, including the development of suitable protocols and guidelines
for deployment of these systems.

<li>TAPR will work with commercial companies who manufacture spread spectrum
devices which operate in spectrum shared by the amateur radio service (ARS),
in order to make them more aware of the nature of ARS operations on those
bands with the goal to work towards the deployment of devices which will
minimize interference between all spectrum sharing partners.

<li>TAPR will work with commercial companies who manufacture spread spectrum
devices in order to identify equipments that can be either used or modified
for use for Part 97 operation.
</ul>
<P> 
Adopted by the TAPR Board on September 20th, 1996
at Seatac, Washington Board Meeting.
<P> 
Spread Spectrum Statement Committee: <BR> 
	Greg Jones, WD5IVD <BR> 
	Dewayne Hendricks, WA8DZP <BR> 
	Barry McLarnon, VE3JF <BR> 
	Steve Bible, N7HPR <BR> 

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./xfiles.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="tclinst.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<!--===================================================================-->
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<center> <H1>My Experience Installing TCL/TK <BR>  
from 7.4 to 7.5</h1></center>
<center> <H2>on Red Hat Linux 2.1, kernel release 1.2.13</h2></center>
<center> <H3>By Earl Brown, 
<A HREF="mailto:gleep@lvinet.com">gleep@lvinet.com</a></h3></center>
<center><H5>Copyright &copy; 1996</H5></center>
<center> <H5>Published in Issue 11 of the Linux Gazette</H5></center>

<P> <HR> <P> 

<H4>In which I chronicle my experiences attempting to upgrade my version of
TCL/TK  to match the web-based help files I had already obtained.</h4><p>

For the short version, click <A href="tclinst.html#Summary">here</a><p>

On with the story!<p>

Naturally, the first thing I looked for was the RPM.  Found it,
couldn't get it because Red Hat FTP was _slow_ during daytime.  So I
went to sun.<p>

There I found tcl7.5 (I'm cautious - don't want to use beta stuff when
I can avoid it.  That is until I'm independently wealthy with time on
my hands!).  Look for:
<pre>    ftp://ftp.sunlabs.com/pub/tcl/tcl7.5p1.tar.gz</pre>
    
That's the file I got.  Download it.  While you're there, get:
<pre>    tk4.1p1.tar.gz</pre>
    
I created a directory off my home:
<pre>    ~/tcl</pre>
    
and put both files in there.  From there I unzipped them to get two subdirectories:<p>
<pre>    ~/tcl/tcl7.5
    ~/tcl/tk4.1</pre>
    
Both of these contain a README file - I read it (but only closely
enough to see that there was a README in the 'unix' subdirectory that
would give me info on how to compile.<p>

So, I changed to the unix subdirectory:<p>
<pre>    ~/tcl/tcl7.5/unix</pre>
    
And read the README file.  It said run "configure" (which just checked out
my machine), and then run "make" (which does about what you'd expect),
then run "make install".  All of these appeared to work, but when I ran
'wish', I still had the old versions.  Hmmmm.  Damn.<p>

Put it on the back burner for a while - I've other work to do.  When I
got home, I looked up the files again (and found the RPM this time),
and downloaded them (at 28.8, instead of T-1 :(<p>

<hr>
Next morning...<p>

First thing is try the RPM.  No luck - it said the .rpm was a 'version
3' RPM, and that I needed to upgrade my version of RPM.  Okay - glad
I've got two machines at home (Thank you, Mom, for giving me your old
'486!), I started up the Windows box (I'm looking forward to getting
WABI so my wife can play FreeCell in a _real_ OS :) and started surfing
again...<p>

Does anybody know why the rpm says that rpm2.2.rpm is a version 3 rpm
and I need to upgrade?<p>

While I was finding this out, I was exploring other avenues.  I got the
files from sun installed on my machine at home.  But they wouldn't
compile (something about missing include files - this didn't surprise
me, I've stripped that machine back in the name of hard drive space).<p>

So, being the explorer I am, I got out the 'sun archives' CD from my
Red Hat install set.  Did a 'find' for "*.tcl" and was happy to see
there was a tcl7.5p1.tar.gz file.  Good.  Ungzipped the thing and 'tar
tvf'ed it to see what was in it.  Hmmm.  "./usr/..."  Looks like I
should just untar it from the root directory.  I'm not so cautious when
I'm frustrated.<p>

This option took a _lot_ of drive space.  I wish I could undo it.  It
didn't really work (and it complained about not being able to form
links.  I tried to do the links myself, but it still failed).<p>

<hr>
Nap time...<p>

That was relaxing.  I realized I'd been able to compile at the office,
where it was all the same setup, so I could play with "make install" at
home and see what I could do.<p>

While I was connected to work, I had the idea to try "wish" from the
compiled directory at work.  IT WORKED!  Headway at last!  (Did I also
mention that I'm sometimes a bit slow?)  But I've got this really ugly
hierarchy of files to my compiled copy of 'wish', and I don't know what
it's going to look for.  Copy to my home machine.<p>


Here's the part where things go quickly.<p>

On the home machine, I set up the directory structure I had at work and
untarred the files.  Now I've got a working copy of wish and tclsh.<p>

I created a 'bin' directory off my home directory and copied 'wish' and
'tclsh' into that directory.  I also copied the two 'lib' files
"libtcl7.5.a" and "libtk4.1.a" into the bin directory.  I don't know
where they really go, but this place makes good sense.<p>

So I run 'wish' from there.  Error message - unable to load 'libtcl'
from a list of directories.  I'm not sure what they all were, but one
was '~/library'.  Since it worked from ~/tcl/tk4.1/unix, I just copied
the '~/tcl/tk4.1/library' directory to '~/library', and then copied
'~/tcl/tcl7.5/library' to '~/library'.<p>

Now wish ran with the right version.  Delete the ~/tcl structure
(backup just in case!) and it worked.  Good enough.  I played with my
working install of tcl/tk quite happily the rest of the day.<p>

<hr>
But during the night...<p>

"I've got to set it up to work better!"<p>

So, I get to work and get 'wish' to give me an error message - it
complained that the 'init.tcl' was not found in
'/usr/local/lib/tcl7.5'.<p>

Okay.  I went to '~/tcl/tcl7.5/library' and copied the files I found
there to '/usr/local/lib/tcl7.5' (a directory which I had to create, by
the way).<p>

Run 'wish' again, and this time it complains about 'tk.tcl' not being
found in '/usr/local/lib/tk4.1'.  I'd expected something like that.
So, create '/usr/local/lib/tk4.1' and 'cp ~/tcl/tk4.1/library/*
/usr/local/lib/tk4.1'.  And it worked!<p>

Then 'cp ~/tcl/tcl7.5/unix/tclsh /usr/bin/tclsh7.5' and 'cp
~/tcl/tl4.1/unix/wish /usr/bin/wish4.1'.  Go to ~ and run 'wish4.1'.
It worked again!  Good, create the link 'ln -sf /usr/bin/wish4.1
/usr/bin/wish' and 'ln -sf /usr/bin/tclsh7.5 /usr/bin/tclsh'<p>

Try it again; 'wish' - and success!<p>

Things I found out:<p>
<UL><LI>In Red Hat 2.1, the tcl/tk libraries are in /usr/lib, but the upgrade
looks for stuff in /usr/local/lib.  Can anybody explain this
relationship to me?<p></li>

<LI>The script '~/tcl/tcl7.5/unix/configure' has a pair of options:
--prefix and --exec-prefix.  They have something to do with where
tcl/tk expect things to be.  Anybody know exactly what?<p></li>
</ul>


<A name="Summary"><hr>
<H2>Short Summary:</h2></a>
<pre>
Get ftp://ftp.sunlabs.com/pub/tcl/tcl7.5p1.tar.gz and tk4.1p1.tar.gz
'gunzip' them and 'tar xvf' them

'cd ./tcl7.5/unix'
'configure'
'make'
'make install'
'cd  ../..'
'cd ./tk4.1/unix'
'configure'
'make'
'make install'

cd ../..
'cp ./tk4.1/unix/wish /usr/bin/wish4.1'
'cp ./tcl7.5/unix/tclsh /usr/bin/tclsh7.5'
'ln -sf /usr/bin/wish4.1 /usr/bin/wish'
'ln -sf /usr/bin/tclsh7.5 /usr/bin/tclsh'
'mkdir /usr/local/lib/tcl7.5'
'mkdir /usr/local/lib/tk4.1'
'cp ./tcl7.5/library/* /usr/local/lib/tcl7.5'
'cp ./tk4.1/library/* /usr/local/lib/tk4.1'
</pre>
<p>
At this point, I'm pretty sure 'wish' will work.  But no guarantees.<p>

And there will also be a bunch of files left over from any previous
installation of TCL/TK.  Maybe someday I'll clean them up.  Probably
not till I get the new Red Hat 4, tho...(I've got to remember to tar &
gzip my 'home' tree before that install!)<p>

Earl
<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./tapr.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./wkndmech.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 

<!--============================================================-->
<H4><IMG ALIGN=MIDDLE SRC="./gx/bat-l.gif">
&quot;Linux Gazette...<I>making Linux just a little less scary!</I>
&quot;<IMG ALIGN=MIDDLE SRC="./gx/bat-r.gif"> </H4>

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

<img src="../gx/fisk/wkndMech.gif" align=bottom width=397 height=150>
<h1>Welcome to The Linux Weekend Mechanic!</h1>
<h2>Published in the November Edition of the Linux Gazette (#11)</h2>
<font size="2"><b>
Copyright (c) 1996 John M. Fisk &lt;fiskjm@ctrvax.vanderbilt.edu&gt;<br>
The Linux Gazette is Copyright(c) 1996 Specialized Systems Consultants Inc.
</b></font><p>
<hr>

<p> 
<font size="+4">Y</font>ou've made it to the weekend and things have finally slowed down.
You crawl outa bed, bag the shave 'n shower 'cause it's Saturday, grab
that much needed cup of caffeine (your favorite alkaloid), and shuffle
down the hall to the den.  It's time to fire up the Linux box, break out
the trusty 'ol Snap-On's, pop the hood, jack 'er up, and do a bit of
overhauling!

<p>
<img src="../gx/fisk/mechanic.gif" align=bottom width=147 height=66>
<font size="+2">Time to become the <i>Linux Weekend Mechanic!</i></font>

<p><hr><p>

<!-- TABLE OF CONTENTS ================================================ -->
<h2>Table of Contents</h2>

<ul>
	<li><a href="#welcome">And Just What Is the Linux Weekend Mechanic?</a>
	<li><a href="#news">The Talk About Town...</a>
	<li><a href="#tar">The Shop Manual: More <i>tar</i> Tricks!</a>
	<li><a href="#fileinfo">The Shop Manual: Basic File Information</a>
</ul>
<!-- END TABLE OF CONTENTS ============================================ -->

<p><hr><p>

<!-- WELCOME SECTION ================================================== -->
<h2><a name="welcome"><img src="../gx/fisk/attndant.gif" width=129 height=99> And 
Just What <i>Is</i> the Linux Weekend Mechanic...?</a></h2>

<p>
Glad you asked... :-)

<p>
After a very busy year creating, writing, editing, proofing, and producing the
first eight issues of the <b>Linux Gazette</b> I'm happy to say that it's been
turned over to the kind folks at the <a href="http://www.ssc.com/">Linux
Journal</a> who will be continuing its production.  My special thanks to
<b>Phil Hughes</b>, the producer of the Linux Journal who first broached the
subject of taking over the Gazette when the time commitment was getting out of
hand, AND to <b>Marjorie Richardson</b>, the new editor of the Gazette whose
wit and wisdom should ensure that the LG will continue to flourish.

<p>
And now that someone else is doing the day to day management of the Gazette
I'm back to reading, writing, and tinkering -- and this is what the <b>Weekend
Mechanic</b> is all about.

<p>
I'd like to try to put together a monthly column for the Gazette that deals
with customizing and running Linux on a personal, stand-alone (<i>i.e.</i>,
not directly networked) PC.  The scope of topics may include things such as:

<ul>
	<li>Shell Programming
	<li>Shell Customizations
	<li>Program Reviews
	<li>Useful Utilities
	<li>Simple Tcl/Tk Scripting
	<li>Dial-Up PPP Setup and Tips
	<li>And so forth...
</ul>

<p>
Basically, it covers the topics that I've found interesting using Linux on my
PC at home -- I've got a shiny new Cyrix P-166+ machine as of August of this
year and have 'Net access via a dial-up PPP connection.  So, since I'm writing
from my own experiences, you can anticipate the types of topics I'd likely be
covering.  I should add one important proviso:  <i>Keep in mind that many of
the suggestions and ideas are NOT useful or recommended in a networked or
multi-user setting in which security is an issue!!</i>

<p>
Let me say this another way:

<p>
<i>Caveat Emptor!</i>

<p>
Because I have a stand alone box and a wife who absolutely hates using
computers I'm the only one that has physical access to my machine.  For this
reason, security is not something that I've had to deal with.  However, at
<a href="http://www.mtsu.edu/">MTSU</a>, where I'm currently in school, we use
both HP-UX machines and a number of P-133 machines running Red Hat 3.0.3 Linux
with the 2.0 kernel upgrade.  Security on these Linux boxes has been a VERY
REAL issue of late -- if you're running Linux and someone else has potential
access to your machine you'd be well advised to think twice before trying
everything I might suggest.  That's not to put a damper on anyone's
enthusiasm, but having one's system hacked is a serious bummer.

<p>
And now that that's been said, I really do hope that the information here will
be useful or helpful.  The more I use Linux the more I'm amazed at its depth
and breadth and the range of tools and programs that are available.  It is
seriously fun!  

<p>
For this reason, I've decided to use the &quot;Weekend Mechanic&quot; motif.
Thing is, if you're running Linux you've undoubtedly discovered that it takes
more time to set up, configure, and fine-tune than most shrink-wrapped OS's.
It's a &quot;high needs&quot; OS.  Now, you could use one of those
fancy-shmancy off-the-shelf Brand X OS's, but the question you have to ask
yourself is...

<p>
<i>Do you really want to be see hanging around an OS that looks like it comes
with training wheels...?!!</i>

<p>
I don't <i>think</i> so... ! ;-)

<p>
So, if you're one of those &quot;<i>I'd rather have a '68 Pontiac with a big
block V8, Rochester QuadraJet, Dualies, and a box of Snap-On's than anything
else&quot;</i> kind of folks...

<p>
<b>Relax, you're in the right place.  Welcome aboard :-)</b>
<!-- END WELCOME SECTION ============================================== -->

<p><hr><p>

<!-- SHOP NEWS ======================================================== -->
<h2><a name="news"><img src="../gx/fisk/desklamp.gif" width=79 height=99
align=bottom>The Talk About Town...</a></h2>

<p>
For anyone who's been regularly reading the comp.os.linux.* hierarchy you'll
realize that there's been a LOT happening recently within the Linux community.
Here's just a smattering of some things that you might find interesting as
well as other odds-n-ends.

<p>
Oh, and BTW...

<p>
<img src="./gx/fisk/pumpkin1.gif" width=138 height=98 align=middle>
<font size="+4">Happy Halloween!</font>
<img src="./gx/fisk/pumpkin2.gif" width=119 height=94 align=middle>

<p>
And now, back to the news...

<p>


<h3><img src="../gx/text.gif" width=60 height=45 align=bottom>Caldera to
release source code for DR DOS, CP/M, Novell DOS, and PalmDOS</h3>

<p>
Yup, you read that right!

<p>
Caldera has <a href="http://www.caldera.com/news/">announced</a> that it is
in the process of a planned release of source code for DR DOS, CP/M, Novell DOS, 
and PalmDOS AND the beginning of a project which they are calling
<b>OpenDOS</b>.  The announcement stated a tentative date of the first quarter of
1997 for this to occur.  Drop by and have a look.  I think you'll find it
interesting.

<p>
If you've got the hard drive space and want to do a bit of hacking away at
something new, here's an interesting opportunity.



<h3><img src="../gx/text.gif" width=60 height=45 align=bottom>Did you know that
there's a &quot;FreeDOS&quot; Project underway...?</h3>

<p>
Yup, there's a group working on a freely available version of a DOS-like OS.
You can find out more on what they're doing, how to get a copy of the current
version, and how to contribute to this effort by checking out the 
<a href="http://sunsite.unc.edu/pub/micro/pc-stuff/freedos/freedos.html">FreeDOS
home page at sunsite.unc.edu/pub/micro/pc-stuff/freedos/freedos.html</a>.

<p>
And speaking of new toys...



<h3><img src="../gx/text.gif" width=60 height=45 align=bottom>StarOffice and
Adobe beta software for Linux!</h3>

<p>
StarOffice, a German software developer, has recently announced a freely
available beta version of its <b>StarOffice</b> suite of productivity
applications for the Linux OS.  This is a seriously cool application suite
that has a LOT of high end features.  One caveat:  <b>you'll need a copy of
the Motif libraries</b> in order to run these applications.  If you don't have
motif, then you might want to try some gentle arm-twisting to see whether the
folks at StarOffice would release a statically-linked version.

<p>
For those of you with Motif, you can get the installation &quot;disk
sets&quot; at any sunsite mirror such as:

<p>
<a href="ftp://ftp.cc.gatech.edu/pub/linux/apps/staroffice/"> GA Tech's 
FTP Linux Archive</a>

<p>
in their /pub/linux/apps/staroffice/ directory.  Also, Adobe has just
announced a beta version of their <b>Adobe Acrobat 3.0</b> reader for
the Linux OS.  You can find out the particulars of how to obtain a copy
at:

<p>
<a href="http://www.adobe.com/acrobat/readstep.html">ADOBE's WWW site
</a>

<p>
in their /acrobat/readstep.html page.  I just got a copy of this and the
installation was a breeze.  At least on my system, load time was about
what all motif-based apps tend to be (read: &quot;somewhat slow&quot;)
but performance thereafter was really quite good.

<p>
If you're interested in having a peek at a screen shot with one of the
distributed pages, here's a look at it:

<p>
<a href="./gx/fisk/acrobat.gif">ADOBE Acrobat 3.0 screen dump (~40K) 810x630</a>

<p>
Keep in mind that the official stance is that it is only supported under the
<b>Yggdrasil Fall '95</b> Linux distribution.  However, under my 'ol
<b>Slackware '96</b> it runs just fine...  Also, you'll notice the subtle
subliminal message in the titlebar... :-)

<p>
And speaking of distributions...


<h3><img src="../gx/text.gif" width=60 height=45 align=bottom>Slackware '96 is
out and Red Hat Rembrandt is on its way!</h3>

<p>
Now that the Linux kernel 2.0 is out and, for most folks, ELF is in, you'll
find a number of much-awaited distributions with the 2.0 kernel and necessary
development utilities.  If you've been waiting to upgrade then now's the time!

<p>
There is a growing number of very good Linux distributions available, many of
which now incorporate the recent kernel and development set upgrades.  I've
just installed Slackware '96 (<i>AKA</i> Slackware 3.1</i>) which I received
from the folks at

<p>
<a href="http://www.cdrom.com/">Walnut Creek</a>

<p>
who are the official distributors of Slackware Linux.  Since it was also my
birthday recently my wife just got me a copy of the August, 1996 Linux
Developer's Resource 6-CD Set from

<p>
<a href="http://www.infomagic.com/">InfoMagic</a>

<p>
Both of these are VERY nice sets that run in the $25 - $40 range and include a
boatload of program sources from the usual linux FTP archive sites
(sunsite.unc.edu, tsx-11.mit.edu, prep.ai.mit.edu, and so forth).  Those of
you who are on the monthly Mo' Linux mailing from

<p>
<a href="http://www.pht.com/">Pacific HiTech</a>

<p>
will have just gotten a copy of the Slackware '96 CD with the September
edition of Mo' Linux.  Pacific HiTech (PHT) has a VERY nice service which
offers a monthly CD full of all kinds of goodies including the most recent
kernel sources, new programs and updates from Sunsite's Incoming dir, the
latest GNU stuff including GCC and its accessories, and so forth.  They take
special requests and have recently included things such as the huge Perl
archives, Tcl/Tk archives, Python archives, the Java Development Kit (JDK),
and so forth.  Also, there are regular Red Hat RPM and SRPM updates each month
for those running Red Hat systems.

<p>
And keep in mind that Red Hat's Rembrandt just hit beta release!  This is their
kernel 2.0 version and should be ready for regular release soon!  You can get
a copy of Rembrandt beta at the

<p>
<a href="http://www.redhat.com/">Red Hat WWW site</a>

<p>
as well as find all kinds of nifty info and links in their &quot;Linux
Info&quot; page.

<p>
Since Christmas is just around the corner, I'm thinking about writing up a
small &quot;Wish List&quot; of tools and toys that you might want to put on
your Beloved's &quot;Get For Me List&quot;.  The small hoard of books and CD's
on the bookshelf is growing -- next month I'd like to do a short piece on
things that I've found useful.  *YMMV.

<p>
<font size="-2">*YMMV: &quot;Your Mileage May Vary&quot;</font>


<h3><img src="../gx/text.gif" width=60 height=45 align=bottom>Here's the patch
for the sysklog bug in Slackware '96</h3>

<p> Those of you who've just installed Slackware 3.1 may have run into
the same rather frustrating bug in the <b>sysklog</b> package that I
did.  After a recent installation, I found that syslogd would dump core
after running pppd.  About that time, postings to comp.os.linux.setup
and misc suggested that this was a problem with the distribution and not
with the hardware I was running.

<p>
So, after a request for help to <b>Dr. Greg Wettstein</b>, the maintainer of
the sysklog package, I received the following patch from him that remedied
the situation.  For those of you needing this, you can get a copy of the
message which Greg sent.  Just load it and save it to disk as a text file.
You'll also need a copy of the sysklog sources to recompile the program.
Here's what you'll need:

<p>
<a href="./misc/sysklog.patch">Sysklog patch from G. Wettstein (~70K)</a>

<p>
MANY thanks to Greg W. and the rest of the folks who've worked on this
program.


<p>
I mentioned in the above announcement about StarOffice that you'll need a copy
of the motif libraries to run this product (at least while it is distributed
as shared-library executables).  I really want to put in a good word for the
folks at <a href="http://www.redhat.com/">Red Hat Software Inc.</a> and for
their version of <b>Red Hat Motif 2.0</b>.

<p>
When I went to the <b>Linux Expo '96</b> this past April, I had a seriously
fun time meeting folks, chatting, perusing the various book and vendor tables,
and sitting in on the various talks.  If you missed it this past year and you
can drive, fly, Amtrak, run, jog, walk, or crawl your way to Raleigh, North
Carolina next Spring, then you won't want to miss it!!  I don't know for sure
if they're planning another Expo, but if so, you really don't want to miss it.

<p>
Anyway, while I was there I bought a copy of <b>Red Hat Motif 2.0</b> and have
been using it ever since.  Now, I know that one of the FAQ's to the various
comp.os.linux.**** groups is &quot;HELP! Which Motif should I get?!!&quot;, or
something to that effect.  There usually ensues a modestly impassioned
discussion about the merits and drawbacks of one's recent Motif purchase.

<p>
For the record, I'd like to say that I've been extraordinarily pleased with
this product.  It comes with a very complete User's Manual which covers
installation and configuring the Motif Window Manager (mwm).  The CD also
contains the Motif libraries, development tools, and documentation in both
*.tar.gz format and as RPM's.  

<p>
Installation was a breeze using rpm version 2.0 and I've been compiling motif
stuff without a hitch ever since.  This includes programs such as mosaic,
plan, llnlXFtp, llnlXDir, xtar, xmcalendar, xmdiary, XEmacs, GVim, and so
forth.  Compiling with the Motif libs has been completely transparent and
using shared, pre-compiled binaries (such as StarOffice) has been flawless.

<p>
At a time when there has been a LOT of negative press towards a variety of
individuals and institutions, let me offer a very heartfelt positive comment:

<p>
To the folks at Red Hat, thanks for a VERY nice product!

<p>
(FYI, I just got a copy of the most recent flyer from <b>Surplus Direct</b>, a
distributor of, you guessed it..., surplus hardware and software.  On page 17
of the flyer they offer the <b>Red Hat's MOTIF for LINUX V2.0 CD</b> for
$99.99.  Not a bad deal... :-)  You can call them at 1-800-753-7877 U.S. or
541-387-6000 International.  They even have a nifty web page which you can
check out at <a href="http://www.surplusdirect.com/">
http://www.surplusdirect.com</a>)
<!-- END SHOP NEWS ==================================================== -->

<p><hr><p>

<!-- TAR ARTICLE ====================================================== -->
<h2><a name="tar"><img src="../gx/fisk/toolchest.gif" width=122 height=97
align=bottom>More <i>tar</i> Tricks!</a></h2>

<p>
OK, ready for a quiz...? Close your books, put away your notes, and answer the
following question:

<p>
Without looking at the <i>man</i> page, (a) What does the following command
do? and (b) Why on earth would you use it in the first place?

<pre>
	tar -tvzf file.tar.gz |tr -s ' ' |cut -d ' ' -f8 |less
</pre>

<p>
Don't peek...!

<p>
<font size="-1">(If this were a REAL web page, you'd click on a tiny icon of a
music box and have it do RealAudio of that jingle from Jeopardy while an
accompanied set of animated icons amuses you.  But since I'm not that bright,
you'll have to hum quietly to yourself and decide when you're tired of
waiting... :-)</font>

<p>
Figured it out?

<p>
If you guessed that it uses <b>tar</b> to do an archive listing on a tar'd and
GNU gzip'd archive, then  you'd be warm.

<p>
If you guessed that it uses <b>tar</b> to do an archive listing on a tar'd and
GNU gzip'd archive and then piped the output to the GNU <b>tr</b> utility
which would translate multiple instances of the space character into a single
space character, then you'd be even warmer.

<p>
If you guessed that it uses <b>tar</b> to do an archive listing on a tar'd and
GNU gzip'd archive and then piped the output to the GNU <b>tr</b> utility
which would translate multiple instances of the space character into a single
space character and then pipe <i>that</i> output to the GNU <b>cut</b> utility
which would use that single space as a field delimiter and then print only the
data in field 8, then you'd be hot.

<p> 
And if you guessed that it uses <b>tar</b> to do an archive listing
on a tar'd and GNU gzip'd archive and then piped the output to the GNU
<b>tr</b> utility which would translate multiple instances of the space
character into a single space character and then pipe <i>that</i> output
to the GNU <b>cut</b> utility which would use that single space as a
field delimiter and then print only the data in field 8 and then output
all of that to the <b>less</b> pager so that you could view, search, edit, and
optionally print the output, then you, my friend get to...

<p>
<b>Go to the head of your class! :-)</b>

<p>
Actually, I wouldn't have been able to guess this without peeking a bit, so
don't feel bad if you didn't guess all of it correctly.  But this answer only
gives the answer to part (a).  The real question you have to ask yourself is,
&quot;Why on earth would you do this in the first place?&quot;

<p>
Good question.

<p>
I'll get to that in a moment, but first, let me ask a simple question:
&quot;How do you know what's actually inside a tar or tar+gzip archive
<i>without</i> actually unarchiving it?&quot;  Now, you can always unarchive a
tar.gz file and have a look at things but what if you really only wanted to
see what was in it or just look at a single file in the archive.  What do you
do then?

<p>
The answer lies, at least in part, with our funky little command line above.

<p>
Let's see what we can do with this.

<p>
The first thing you've all probably realized is that tar has a bazillion or so
command line arguments so you can do almost anything with it.  As you've
guessed, using the &quot;-t&quot; option displays a listing of the files in
the archive.  If the archive has been compressed, then using the
&quot;-z&quot; option will automatically uncompress the archive.

<p>
So far, so good.

<p>
Thing is, what you want to do is actually look at one of the files in that
archive.  Say you wanted to have a peek at the README file that came with some
program.  Seems silly to have to unarchive an entire (potentially HUGE) file
just to see one item.  Those of you who've used tar for a while will realize
where I'm going with this.  You see, another one of tar's nifty little options
is the &quot;-O&quot; (which can also be invoked as --to-stdout) which causes
tar to send the output directly to standard output:  generally, your computer
terminal.  This is what we need to use to get a look at some file in the
archive -- we'll have tar send it to stdout so we can view it.  That way, we
won't need to unarchive the file.

<p>
The other piece of the puzzle involves how you get tar to unarchive a specific
file within an archive.  Again, you manual page readers will know that this is
done by simply appending the filename(s) to the end of the argument.  Now in
case I'm starting to lose any of you, here's an example which should help
clear things up.

<p>
Say that I have some archive such as the <b>a2ps</b> program (which does ASCII
-&gt; PostScript conversion, BTW).  To get a listing of the files in the
archive all I have to do is:

<pre>
	tar -tvzf a2ps-4.5.23.src.tar.gz
</pre>

and this gives me the following output:

<pre>
drwxr-xr-x 11714/117         0 Sep  5 11:38 1996 a2ps-4.5.23/
-rw-r--r-- 11714/117      7721 Sep  5 11:38 1996 a2ps-4.5.23/INSTALL
-rw-r--r-- 11714/117      2281 Sep  5 11:38 1996 a2ps-4.5.23/README
-rw-r--r-- 11714/117      1429 Sep  5 11:38 1996 a2ps-4.5.23/TODO
-rwxr-xr-x 11714/117      4773 Sep  5 11:38 1996 a2ps-4.5.23/install-sh
-rw-r----- 11714/117      3576 Sep  5 11:38 1996 a2ps-4.5.23/Makefile.in
-rw-r--r-- 11714/117       907 Sep  5 11:38 1996 a2ps-4.5.23/config.h.in
-rwxr-xr-x 11714/117     47767 Sep  5 11:38 1996 a2ps-4.5.23/configure
-rw-r----- 11714/117      1415 Sep  5 11:38 1996 a2ps-4.5.23/configure.in
-rw-r--r-- 11714/117     81240 Sep  5 11:38 1996 a2ps-4.5.23/a2ps.c
-rw-r----- 11714/117     70081 Sep  5 11:38 1996 a2ps-4.5.23/a2ps.h
-rw-r--r-- 11714/117     15348 Sep  5 11:38 1996 a2ps-4.5.23/afm.h
-rw-r--r-- 11714/117     10482 Sep  5 11:38 1996 a2ps-4.5.23/a2ps.man
</pre>

So now, let's say that I want to have a look at what's in the README or the
INSTALL file; well, now that you know that you send the output of tar to
stdout you know you're golden!  All you'd need to do is something like:

<pre>
	tar -xvzOf a2ps-4.5.23.src.tar.gz a2ps-4.5.23/README
</pre>

And, <i>voila!</i>, there's your file.  The astute will immediately comment
that piping <i>that</i> output to a pager such as <b>more</b> or <b>less</b>
makes a lot more sense because now you can actually read more than just the
last screen full of text.

<p>
Note, too, that the basic command line was (in <i>pseudocode</i>):

<pre>
	tar -options archive.tar.gz path/fileToView
</pre>

Notice that you have to include the &quot;a2ps-4.5.23/&quot; portion and NOT
just the name of the file.

<p>
So, now we're getting somewhere!

<p>
You can use the <kbd>tar -tvzf FILENAME.tar.gz</kbd> command line to get a
directory listing of a tar archive and then use something like:

<pre>
	tar -xvzOf a2ps-4.5.23.src.tar.gz a2ps-4.5.23/README |less
</pre>

to actually view the file -- the tar file is intact, nothing is unarchived to
disk, and you fingers never leave your hand!

<p>
And now, let's pick up on our original question once again.  Here's where that
funky little command line becomes useful to use once again.

<p>
Those of you who've done a bit of shell programming know that, fundamentally,
every programmer is lazy at heart.  That is to say, shell scripts are a VERY
convenient way of saving yourself the bother of typing the same commands over
and over again -- and this is one of those places where this is handy.

<p>
Now that you know how to view a file from within a tar file without ever
unarchiving the entire file, wouldn't it be handy to set up a shell script to
do just that...?

<p>
You know I wouldn't have asked this if I didn't already have an answer in
mind... eh?

<p>
Well, this is one of those things that I've started toying around with in the
past couple days and while I haven't gotten anything written yet, that nifty
little tar command at the top is part of the solution.  You see, it would be
quite handy to be able to do a listing of a tar archive, select one or more of
the files, and then view them.  The thing is, as I mentioned before, you have
to give tar the full name of the file you wish to view -- including any path
information.  That is, if you'd tried to do:

<pre>
	tar -xvzOf a2ps-4.5.23.src.tar.gz README |less
</pre>

you'd have gotten an error message because there's no README file in the
archive -- there <i>is</i> the file a2ps-4.5.23/README.  See the difference?
You have to have the a2ps-4.5.23/ prefix for tar to work correctly.

<p>
So, can you think of a way to take the output of tar -- the file listing --
and generate a listing of just the filenames which you can pass back to tar.
Again, remember that it has to include the entire path+name but cannot be the
entire line, such as:

<pre>
-rw-r--r-- 11714/117      2281 Sep  5 11:38 1996 a2ps-4.5.23/README
</pre>

Somehow, we've got to strip away all the leading stuff and get only to the
a2ps-4.5.23/README entry.  So let's cut to the chase.

<p>
One way to do this is using the method I mentioned above:  using tar with the
&quot;-t&quot; option displays a file listing.  Next, you can use <b>cut</b>
to access a single a column of data because, as you've all noticed, there are
8 fields of information in the above listing:

<pre>
PERMISSIONS GROUP/USER SIZE MONTH DAY HR:MIN YEAR PATH/FILENAME
</pre>

Now, you'll also notice that these are separated by a space and so you should
be able to use this as a field separator.  But if you try something like:

<pre>
	tar -tvzf a2ps-4.5.23.src.tar.gz |cut -d ' ' -f8
</pre>

what you end up with is:

<pre>
7721
2281
1429
4773
3576

Sep
1415
Sep
Sep
Sep
Sep
</pre>

So what went wrong!?

<p>
Well, we used a space character as the field delimiter which was the correct
thing to do.  But have a look at the actual file listing.  Notice that there
is a single space between <i>most</i>, but not all, of the fields.  Between
the group/user field and the size field there is a variable number of spaces
and there appears to be two spaces between SEP and 5.  So, <b>cut</b>
dutifully used a single space character as the field separator, but the
result wasn't' what we expected.

<p>
Hmmm... now what...?

<p>
Well, there's another little mentioned but VERY useful utility called
<b>tr</b>.  It's a seriously handy little item that does, among other things,
character translation.  In this case, we can use it to <i>truncate</i> a
series of one or more spaces into a single space (and THEN, cut should work
correctly!).

<p>
Now, is the light dawning? :-)

<p>
We use tar to get the file listing, tr to truncate all the extraneous spaces
into a single space character, and then pipe the whole thing through cut to
get just the fields that we want.  Doing this on the a2ps file, we get:

<pre>
a2ps-4.5.23/
a2ps-4.5.23/INSTALL
a2ps-4.5.23/README
a2ps-4.5.23/TODO
a2ps-4.5.23/install-sh
a2ps-4.5.23/Makefile.in
a2ps-4.5.23/config.h.in
a2ps-4.5.23/configure
a2ps-4.5.23/configure.in
a2ps-4.5.23/a2ps.c
a2ps-4.5.23/a2ps.h
a2ps-4.5.23/afm.h
a2ps-4.5.23/a2ps.man
</pre>

<p>
Pretty slick, eh?

<p>
Now, we can pick any of these entries and if we pass them to tar using the
&quot;-O&quot; option then the file gets printed to stdout.  Pipe this output
to <b>less</b> and we're golden!

<p>
A tar file viewer!

<p>
So why mention all of this?

<p>
Well, first, because I'm toying around with ideas for a shell script that will
do just this -- write a small program that will let me view individual files
from a tar.gz archive.  I've got a couple ideas floating around and may try
using the <b>dialog</b> program for a console UI, or I might just go ahead and
try this using tcl/tk.  

<p>
Second, I do this to point out one of the beauties of using Linux (or any UNIX
type OS) and that is the use of pipes to connect any number of the myriad of
utilities together into a powerful command.  Using four programs and a bunch of
pipes, we've seen how we can easily ready any file within a tar archive
without having to uncompress the entire thing.

<p>
That is seriously cool!

<p>
Anyway, I've just started playing with this.  Let me quickly mention, for
those of you who already know and are waving your cyberhands in the air, that
there <i>is</i> a very easy way to manipulate tar.gz files already -- and it's
with a program that MOST Linux distributions already install:  <b>Midnight
Commander</b>.

<p>
I cannot say enough good things about this program.  I'm honestly not much of
a file manager type user -- I really do prefer the command line for most file
and directory operations.  But, mc is different.  I have absolutely fallen in
love with this.  It's very well designed, is quite mature, has a boatload of
nifty features, AND it'll let you easily view and copy files from a tar.gz
archive using its VFS (virtual file system).  

<p>
I've been wanting to do a write up on MC now for, quite literally, months and
just haven't had the time to write a decent article -- one that really does it
justice.  Anyway, for those of you who are interested, all you have to do to
access a tar.gz file is fire up mc, select the tar.gz file and either double
click on it (if you're running gpm and have mouse support) or hit RETURN and
it'll automatically unarchive the file into a VFS from which you can browse
the archive just as though it were installed on your harddrive.

<p>
The other application that'll let you do this is the <b>xtar</b> program -- a
motif based app that I recently came across at the ftp.x.org archive.  I
honestly haven't seen this at sunsite or tsx-11 and I don't know that I've
seen it any of the usual Linux distributions either.  It's a VERY nice little
app that let's you browse and view tar.gz archives.

<p>
Anyway, try out mc or xtar if you want tar.gz browsing right now.  But, let's
see if we can't figure out a way to do something like this using shell
scripting or tcl/tk.  I'll let the interested work on this and, if I have any
successes myself, I'll write this up in next month's issue.

<p>
Til then, Happy Scripting!

<!-- END TAR ARTICLE ================================================== -->

<P><HR><P>

<!-- FILE INFO ARTICLE ================================================ -->
<h2><a name="fileinfo"><img src="../gx/fisk/toolchest.gif" width=122 height=97
align=bottom>Basic File Information</a></h2>

<p>
OK, quick question:

<p>
Can you name 5 tools or utilities which you can use to get information about a
file?

<p>
I'm sure you can if you give it a bit of thought.  You see, most of the time,
if you've installed a system yourself then you have a pretty good idea about
what's on it and (hopefully...) where things are.  But what if you come across
a cryptically named file (Hmmm... fancy that on a UNIX system... :-) in your
/usr/bin directory and want to get a bit of information about it.  Or, what if
you know what it is that you're looking for, but just can't find it!

<p>
Ok, so let's talk about a couple tools you can work with to get basic file
information.

<p>
The one's that I was thinking about included:

<b>
<ul>
	<li>ls
	<li>file
	<li>type &amp; which
	<li>find &amp; locate
	<li>ldd
</ul>
</b>

<p>
Now, there are others, I'm sure, but these five basic utilities (seven if
you count similar ones) will go quite a ways towards helping you get a handle
on what's on your system.

<h3>A look at <i>ls</i></h3>

<p>
Anyone's who's used Linux for more than..., Hmmm... about a day or so, has run
across <b>ls</b> which does a directory listing.  And, if you've ventured a
peek at its manual page, your first reaction may have been one of incredulity
at the bewildering number of command line options.  Fear not.  You really only
need a couple of these on a routine basis (these are your friends) and the
rest of these let you do all kinds of groovy and interesting things when you
have nothing else to do but play with your directory listings (these are you
great Aunt Fanny's half-sister's double cousin, twice removed... you know
they're around, you just have no earthly idea as to what they do).

<p>
So, you know that if you want to get basic information about a file, then the
best place to start is with a directory listing.  Using the &quot;-l&quot;
option gives you a <b>long</b> listing which includes the file type (regular,
directory, fifo, block, and so forth), number of hard links, user name, group
name, size in bytes, timestamp (generally, the modification time), and the
file name itself.

<p>
You also know, I'm sure, that adding the &quot;-a&quot; displays <b>all</b>
files, including all the so-called dot-files which begin with a period (.) and
which are normally not displayed in a directory listing.

<p>
Many Linux distributions also configure ls to use the &quot;-F&quot; option
which print a suffix after each file to indicate what its basic type is:

<ul>
	<li>&quot;*&quot; for regular files which are executable
	<li>&quot;/&quot; for directories
	<li>&quot;@&quot; for symbolic links (&quot;symlinks&quot;)
	<li>&quot;|&quot; for FIFO's (&quot;pipes&quot; or &quot;First In
		First Out&quot;)
	<li>&quot;=&quot; for sockets
	<li> nothing for regular files
</ul>

<p>
So, just using humble 'ol ls can give you quite a bit of information about
your files.  A couple of the more useful things that you can do with ls
include using the &quot;-t&quot; option which sorts the directory contents by
time.  This is very useful if you happen to be in a directory such as /usr/bin
that has a LOT of files and you're looking for something which you've recently
added but can't recall the name.  Using &quot;ls -lt&quot; causes all the
newest files to, as it were, rise to the top of the list.  If, however, you
want to list the latest files <i>last</i>, no problem, mon, just add the
&quot;-r&quot; option to the soup and you'll get a <b>reversed</b> listing by
time (<i>i.e.</i>, &quot;ls -ltr&quot;).

<p>
Yet another handy little option will let you find out when a file's
<i>status</i> was last changed.  The status includes things such as owner or
group information or permissions.  You can change these things without
actually modifying the file itself.  Generally, the time stamp indicates when
a file was last modified, but if what you want to see is when a file's
<i>status</i> was last changed, then use the &quot;-c&quot; option.  Now, if
you're wondering whether permissions or user/group information has been
changed recently, then use &quot;ls -ltrc&quot; command to display the files
which have changed status most recently at the end of the listing.

<p>
Those are just a few of the things that you can do with ls.  So, if you're
stuck at home on some rainy Saturday afternoon and are tired of the <i>Laverne
And Shirley</i> reruns, go amuse yourself -- read the ls manual page, write
down all the options, and try them all out.  At least there won't be
commercial interruptions... :-)

<h3>Using <i>file</i></h3>

<p>
Besides using <i>ls</i> with the &quot;-F&quot; option, there's another very
handy utility called <b>file</b> which gives you a indication of what a file
actually is.

<p>
Every now and then, someone posts a message to one of the comp.os.linux groups
asking about how they can determine whether a file is a.out or ELF (or
something else, for that matter).  If you really do have a mysterious file,
then <b>file</b> is the utility for you.

<p>
So, let's say that you've come across a file in your /usr/local/bin directory
called &quot;d2utxt&quot; and it beats the pants off of you what this thing
is.  Well, you could try something like:

<pre>
	file /usr/local/bin/d2utxt
</pre>

I've actually got that file on my system and when I run this (from within VIM
of course -- notice that my fingers never leave my hand... :-) I get:

<pre>
/usr/local/bin/d2utxt: Linux/i386 executable or impure executable (OMAGIC)
</pre>

OK, that lets me know that it's some kind of executable.  So is it ELF or not?
Well, let's run this on a file which I know is ELF and see what happens:

<pre>
	file /usr/bin/vi
	/usr/bin/vim: ELF 32-bit LSB executable i386 (386 and up) Version 1
</pre>

So, there's your answer!  It seems that the d2utxt program was, in fact, a.out
format and vim is in our now familiar ELF format.  So, if you're wondering
what kind of executable format a file is in, this is your solution.  And keep
in mind that <b>file</b> recognizes a LOT more than simply executables.  As an
exercise, try running it on a plain text file, a shell script, a *.dvi file, a
postscript file, a shared library file, and so forth.  I won't go into the
specifics of how file works its magic (no pun intended... honest!) but if
you're interested, the manual page gives those details.

<blockquote>

	<p><img src="./gx/fisk/droplite.gif" width=36 height=93 align=bottom>
	Keep in mind that the <b>file</b> utility is a VERY useful tool to
	have at your disposal when you're writing shell programs that depend
	on knowing what a file's type is.

	<p>
	For example, suppose that you decide to write a shell script to
	automate file printing.  One of the things that your script will need
	to know is what type of file you are working with.  Tex, DVI,
	PostScript, and plain text files get printed using quite different
	programs.  Here's an ideal situation in which the <b>file</b> program
	will give you that information.

	<p>
	Again, convince yourself of this by running file against several
	different file formats -- pretty impressive, eh?

</blockquote>

<h3>Finding Executables with <i>type &amp; which</i></h3>

<p>
The next bit of information about a file that can often be quite useful is
a rather simple one:  &quot;Where is it??!!&quot;

<p>
If you're trying to find an executable then this task is greatly eased by use
of either <b>which</b> or <b>type</b> (if you're using the BASH shell).
Either one of these will print the path to a give executable -- assuming, that
is, that it is in your PATH statement.  So, let's say that you wanted to find
out where xdvi was located.  Now, you could probably guess, but let's just say
that you really were clueless and wanted to know.  Well, if you tried
something like the following you could find out:

<pre>
	which xdvi
	/usr/X11/bin/xdvi

	type xdvi
	xdvi is /usr/X11/bin/xdvi
</pre>

Hmmm... that was pretty easy now, wasn't it?  Both of these found our file in
the /usr/X11/bin/ directory and the output was pretty similar.  But before we
call this an even draw, suppose that you try to do something like this:

<pre>
	type tarx
	tarx is aliased to `tar -xvzf'

	type exec
	exec is a shell builtin
</pre>

Hmmm... interesting.

<p>
I won't give you the output that happens when I run <b>which</b> on either of
these because what happens is it prints an error message that states that it
couldn't find it in... and then prints the <i>entire</i> search PATH.  I'll
let you try this one at home.  Suffice it to say that if you're running the
BASH shell, then using <b>type</b> gives you the added benefit of recognizing
shell aliases and builtins in addition to executables.

<p>
Very handy.

<p>
Another useful little item that <b>type</b> can do for you is find
<i>duplicate</i> executables.  Now before you go scoffing, consider the fact
that it is VERY easy to do a bit of &quot;Do-It-Yourself&quot; system
upgrading and install a few programs.  If you don't know that the program
which you are installing has already been installed (but in a different
directory) then you end up with two copies.  So which one gets executed?

<p>
Good question.

<p>
Presuming that you don't use absolute path names for executables
(<i>e.g.</i>/usr/bin/vim) every time you want to start a program, then
whichever executable is found first in your PATH statement.  So, if you have
two copies of <b>elvis</b> (one from an original installation and one from a
new compile and install) then the one that is found first is executed.  

<p>
And how, do you suppose, I know this...?

<p>
Believe me, I've done it :-)

<p>
And the results can be impressively frustrating.

<p>
Specifically, I had upgraded a version of Tcl/Tk a while back and when I ran
all my favorite tcl/tk apps I started getting weird messages about version
incompatibilities and so forth.  So I recompiled and reinstalled and
<i>still</i> got those annoying error messages.  It was driving me crazy.
Finally, I tried running <b>type</b> and noticed that the <b>wish</b>
executable wasn't where I thought I'd installed it.  The breakthrough came when
I tried:

<pre>
	type -a wish
	wish is /usr/local/bin/wish
	wish is /usr/bin/wish
</pre>

Ah Ha!!

<p>
You see, there had been an old copy of a previous version lying around and I
had simply forgotten to delete/rename it.  The old version was being found
first but it was incompatible with the tcl scripts I was using.  Renaming the
old version cleared things up.

<p>
So the moral of the story is that if want to ensure that you have only one
copy of a program in the search PATH, then use <kbd>type -a</kbd>.

<h3>Finding Files with <i>find &amp; locate</i></h3>

<p>
OK, so now you know how to find executables... what if what you're looking for
is NOT an executable?  What then?

<p>
Well, these next two utilities deserve an entire article (and, in fact, got
just that in one of the recent issues of the <a href="http://www.ssc.com/">
Linux Journal</a>.  Both <b>find</b> and <b>locate</b> will allow you to
search anywhere in your system for a given file.  For the time being, I'm
going to use a simple example.

<p>
Suppose that I'm looking for a certain configuration file for the <b>lynx</b>
program.  I've discovered that lynx has a config file that will let me set
various options -- but I don't know where this is located except that I have
a hunch that it is somewhere in /usr/local/.  Great!  To find it, all we have
to do is:

<pre>
	find /usr/local -name lynx* -print
	/usr/local/bin/lynx
	/usr/local/lib/lynx
	/usr/local/lib/lynx/lynx.cfg
	/usr/local/lib/lynx/lynx.hlp
	/usr/local/lib/lynx/lynx.man
	/usr/local/lib/lynx/lynx_help_main.html
	/usr/local/lib/lynx.cfg
	/usr/local/lib/lynx.cfg.color
	/usr/local/man/man1/lynx.1
	/usr/local/src/INSTALLED/lynx2-5FM.color.ELF.tgz
	/usr/local/src/Incoming/lynx2-6.tar.gz
	/usr/local/src/Incoming/lynx2-6.color.ELF.tgz
	/usr/local/doc/lynx
</pre>

Yow!  Bonanza!

<p>
So there we go... <b>find</b> not only located our lynx configuration file but
also found that there were duplicates!  Interesting :-)  So how do we do this
for <i>any</i> file?  Well, the basic pattern is:

<pre>
	find <directory> -name <pattern> -print
</pre>

That is, the first argument is the directory from which to START looking.
Find will automatically traverse all the subdirectories beneath this.  So, if
you wanted to scour your entire system, you just invoke find as:

<pre>
	find / -name lynx* -print
</pre>

<p>
The second argument is &quot;-name&quot; followed by the pattern of the file
name you're looking for.  And finally, the &quot;-print&quot; option specifies
that find should print the results to stdout.  Keep in mind, though, that the
GNU version of find doesn't need the &quot;-print&quot; option -- it defaults
to printing to standard out (your terminal :-).

<p>
The other handy-dandy little tool is <b>locate</b>.  If this has been set up
correctly (that is, that the database of files is routinely updated) then it
is a LOT faster to use than find if all you are looking for is a particular
file name!

<p>
To use it just invoke it as:

<pre>
	locate lynx
	/home/fiskjm/.lynx-bookmarks
	/home/fiskjm/.lynxrc
	/usr/bin/lynx
	/usr/doc/lynx
	/usr/doc/lynx/about_lynx
	/usr/doc/lynx/about_lynx/about_lynx-dev.html.gz
	/usr/doc/lynx/about_lynx/about_lynx.html.gz
	/usr/doc/lynx/about_lynx/COPYHEADER.gz
	/usr/doc/lynx/about_lynx/COPYING.gz
	/usr/doc/lynx/CHANGES.gz
	/usr/doc/lynx/CHANGES2-3.gz
	/usr/doc/lynx/CHANGES2-4.gz
	/usr/doc/lynx/CMU.announce.gz
	/usr/doc/lynx/CRAWL.announce.gz
	/usr/doc/lynx/DESC.gz
	/usr/doc/lynx/docs
	/usr/doc/lynx/docs/README.html.gz
	/usr/doc/lynx/docs/README.txt.gz
	/usr/doc/lynx/docs/RFC-MAILCAP.txt.gz
	/usr/doc/lynx/FM.announce.gz
	/usr/doc/lynx/IBMPC-charsets.announce.gz
	/usr/doc/lynx/INSTALLATION.gz
	/usr/doc/lynx/lynx_help
	/usr/doc/lynx/lynx_help/keystroke_commands
	/usr/doc/lynx/lynx_help/keystroke_commands/bookmark_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/dired_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/edit_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/gopher_types_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/history_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/keystroke_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/movement_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/option_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/other_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/print_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/scrolling_help.html.gz
	/usr/doc/lynx/lynx_help/keystroke_commands/xterm_help.html.gz
	/usr/doc/lynx/lynx_help/lynx_help_main.html.gz
	/usr/doc/lynx/lynx_help/Lynx_users_guide.html.gz
	/usr/doc/lynx/PROBLEMS.gz
	/usr/doc/lynx/README.gz
	/usr/doc/lynx/RELEASE_STATEMENT.gz
	/usr/doc/lynx/samples
	/usr/doc/lynx/samples/jumpsUnix.html.gz
	/usr/doc/lynx/samples/jumpsVMS.html.gz
	/usr/doc/lynx/samples/lynx.cfg.gz
	/usr/doc/lynx/samples/lynx.com.gz
	/usr/doc/lynx/samples/mailcap.gz
	/usr/doc/lynx/samples/mime.types.gz
	/usr/doc/lynx/SOCKETSHR.announce.gz
	/usr/doc/lynx/TCPWARE.announce.gz
	/usr/doc/lynx/userdefs.h.gz
	/usr/doc/lynx/VMSWAIS.announce.gz
	/usr/lib/lynx
	/usr/lib/lynx/lynx.cfg
	/usr/lib/lynx/lynx.hlp
	/usr/local/bin/lynx
	/usr/local/doc/lynx
	/usr/local/doc/lynx/LynxUser.guide.gz
	/usr/local/lib/lynx
	/usr/local/lib/lynx.cfg
	/usr/local/lib/lynx.cfg.color
	/usr/local/lib/lynx/keystroke_commands
	/usr/local/lib/lynx/keystroke_commands/bookmark_help.html
	/usr/local/lib/lynx/keystroke_commands/dired_help.html
	/usr/local/lib/lynx/keystroke_commands/gopher_types_help.html
	/usr/local/lib/lynx/keystroke_commands/history_help.html
	/usr/local/lib/lynx/keystroke_commands/keystroke_help.html
	/usr/local/lib/lynx/keystroke_commands/movement_help.html
	/usr/local/lib/lynx/keystroke_commands/option_help.html
	/usr/local/lib/lynx/keystroke_commands/other_help.html
	/usr/local/lib/lynx/keystroke_commands/print_help.html
	/usr/local/lib/lynx/keystroke_commands/scrolling_help.html
	/usr/local/lib/lynx/keystroke_commands/xterm_help.html
	/usr/local/lib/lynx/lynx.cfg
	/usr/local/lib/lynx/lynx.hlp
	/usr/local/lib/lynx/lynx.man
	/usr/local/lib/lynx/LynxStartFile.html
	/usr/local/lib/lynx/lynx_help_main.html
	/usr/local/lib/lynx/Lynx_users_guide.html
	/usr/local/lib/lynx/new_installs.html
	/usr/local/lib/lynx/readme.html
	/usr/local/man/man1/lynx.1
	/usr/local/src/Incoming/lynx2-6.color.ELF.tgz
	/usr/local/src/Incoming/lynx2-6.tar.gz
	/usr/local/src/INSTALLED/lynx2-5FM.color.ELF.tgz
	/usr/man/man1/lynx.1.gz
	/var/log/packages/lynx
	/var/X11R6/lib/config/lynx.cf
</pre>

YIKES!!

<p>
On my system, this took about 1 second to display and it printed the location
of EVERY instance of &quot;lynx&quot;.  Now, for some reason which I haven't
figured out yet why this doesn't work the way the manual page indicates that
it should.  Maybe your system works better than mine... :-)

<p>
The way that it <i>should</i> work is that you give locate a filename
<i>pattern</i> which it searches for.  Such as:

<pre>
	locate lynx*
</pre>

<p>
However, when I tried this on my system, it simply returned nothing.  Using
<kbd>locate lynx</kbd> worked like a charm.

<p>
Got me.

<p>
Keep in mind, too, that <b>find</b> is a seriously powerful search tool that
has all kinds of options that let you do sophisticated searches.  You really
do need to check out the article that recently appeared in the Linux Journal.
I'm sorry that I can't recall offhand which issue it was in, but the LJ has
put a number of articles online on the Web and so you might try looking at
their <a href="http://www.ssc.com/lj/">web site</a> for information.

<h3>Finding Shared Library Information with <i>ldd</i></h3>

<p>
Finally, here's a nifty little trick that let's you see what shared libraries
a file is linked against.  If you've ever wondered whether a file was
statically or dynamically linked, then here's your answer!

<p>
Just invoke <b>ldd</b> with the name of the executable and it will print out a
listing of all the libraries that it is linked against AND where these
libraries are located on your system.

<p>
So, for example, running ldd against <b>gvim</b> (Graphical VIM), I get the
following output:

<pre>
	libXm.so.2 => /usr/X11R6/lib/libXm.so.2
	libXt.so.6 => /usr/X11R6/lib/libXt.so.6
	libSM.so.6 => /usr/X11R6/lib/libSM.so.6
	libICE.so.6 => /usr/X11R6/lib/libICE.so.6
	libXext.so.6 => /usr/X11R6/lib/libXext.so.6
	libX11.so.6 => /usr/X11R6/lib/libX11.so.6
	libncurses.so.3.0 => /lib/libncurses.so.3.0
	libc.so.5 => /lib/libc.so.5.3.12
	libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4
</pre>

<p>
pretty nifty, eh?

<p>
Anyway, if you've ever picked up a pre-compiled binary and it just simply won't
execute, try running ldd against it to ensure that all the needed libraries
are being found.

<p>
So, that should do it!

<p>
I'm sure that there are many other tricks and means for prying information out
of an obscure file.  As a parting note, if you've ever wondered just exactly
what a file does then you can try a couple things.  The first is to see
whether there is a manual page for the program.  That's usually a good source
of information.  The other maneuver you can try is simply something like:

<pre>
	prog --help
</pre>

<p>
Presuming the program's name was &quot;prog&quot;, then frequently using a
command line option such as &quot;--help&quot; will print a help message.
Also, a number of programs will, if they don't recognize a command line
option, go ahead and print a short usage statement anyway.  If you're in the
dark, give it a whirl!


<!-- FILE INFO ARTICLE ================================================ -->



<p><hr><p>
<img src="../gx/fisk/mailme.gif" align=middle width=38 height=30> If you'd like, 
drop me a note at: 
<address> John M. Fisk 
<a href="mailto: fiskjm@ctrvax.vanderbilt.edu">
&lt;fiskjm@ctrvax.vanderbilt.edu&gt;</a>
</address>

<p>
Version Information:<br><b>
$Id: issue11.html,v 1.1.1.1 1997/09/14 15:01:36 schwarz Exp $
</b>

<!--===================================================================-->
<P> <hr> <P> 
<A HREF="./lg_toc11.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="./tclinst.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>

<!--===================================================================-->
<A HREF="./lg_backpage11.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P> 
<H1><IMG SRC="./gx/boo-banner2.gif" alt="Linux Gazette"></H1>

<H5>Copyright &copy; 1996 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>

<P> <hr> <P> 
<center><H1>The Back Page</H1></center>

<P> <hr> <P> 

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

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

<center><H3><A name="authors"> About This Month's Authors </A></H3></center>

<P> <HR> <P> 
<!--======================================================================-->
<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Larry Ayers</H4>
Larry Ayers lives on a small farm
in northern Missouri, where he is currently engaged in building a
timber-frame house for his family. He operates a portable band-saw mill,
does general woodworking, plays the fiddle and searches for rare
prairie plants, as well as growing shiitake mushrooms. He is also
struggling with configuring a Usenet news server for his local ISP.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Earl Brown</a></H4>
Earl Brown has been involved in the Internet for 4 or 5 years, and got into
Unix when he realized that Unix helped start the Internet and
that it is the future of the Internet, as well. He loves LINUX as an
operating system, because &quot;The fact that it's free doesn't hurt, but the
important thing is that I think it's the best OS out there.&quot;  He is a
computer programmer, an Internet specialist. He has fantasies/dreams
about becoming a writer and a college teacher. For more of his work, see 
http://www.lvinet.com/~gleep/CompKnow/CompIdx.htm. His personal web page
can be found at http://www.enol.com/~gleep/.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">John M. Fisk</H4>
John Fisk is most noteworthy as the former editor of the <I>Linux Gazette</I>.
After three years as a General Surgery resident and
Research Fellow at the Vanderbilt University Medical Center,
John decided to &quot;hang up the stethoscope&quot;, and pursue a
career in Medical Information Management. He's currently a full
time student at the Middle Tennessee State University and hopes
to complete a graduate degree in Computer Science before
entering a Medical Informatics Fellowship. In his dwindling
free time he and his wife Faith enjoy hiking and camping in
Tennessee's beautiful Great Smoky Mountains. He has been an avid Linux fan,
since his first Slackware 2.0.0 installation a year and a half
ago.

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Michael J. Hammel</H4>
Michael J. Hammel,
is a transient software engineer with a background in
everything from data communications to GUI development to Interactive Cable
systems--all based in Unix. His interests outside of computers
include 5K/10K races, skiing, Thai food and gardening. He suggests if you
have any serious interest in finding out more about him, you visit his home
pages at http://www.csn.net/~mjhammel. You'll find out more
there than you really wanted to know. 

<P> 
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Phil Hughes</H4>
Phil Hughes is the publisher of <I>Linux Journal</I>, and thereby <I>Linux 
Gazette</I>. As an employer, Phil is &quot;Vicious, Evil,
Mean, & Nasty, but kind of mellow&quot; as a boss should be.
He dreams of permanently tele-commuting from his home on the 
Pacific coast of the Olympic Peninsula.

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

<center><H3><A name="notlinux"> Not Linux </A></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> 
Since I've chosen to celebrate Halloween in this issue, I'll include 
a few Halloween and weird links in hopes that they will not disappear on November 1. <BR> 
<P>
<IMG ALIGN=LEFT ALT="" SRC="./gx/penguin.gif">
<ul>
<li><A HREF="http://www.cascade.net/yaboo.html">YABOO</A> A YAHOO parody
page with only Halloween links. Some neat links to Halloween history, ghost
stories, etc.
<li><A HREF="http://www.chaco.com/~glenn/jack/">Virtual Jack-0-Lantern</A>
Have fun creating your own virtual jack-o-lantern.
<li><A HREF="http://www.kahunanui.com/hellhaven.html">Virtual Haunted House</A>
Looked interesting, but not open until October 31. Check it out.
<li><A HREF="http://www.best.com/~4forry/">Forest J. Ackerman</A> of
monster and "Sci Fi" movies has a very weird site indeed.
<li><A HREF="http://www.drmoreau.com/">The Island of Dr. Moreau</A> movie
site.
<li><A HREF="http://www.dash.com/netro/fun/hol/hlw.html">Halloween Mystery</A>
Billed as an interactive MUD-like page, this turned out to be a
game that you play following text instructions and story-line to solve a 
mystery.
<li><A HREF="http://www.discworld.imaginary.com:5678/">Discworld</A> is
not exactly Halloween, but is definitely weird and fun. Another MUD game
based on Terry Pratchett's fantasy novels. 
</ul>

<P> 
If you would like some personal information about me, clicking on my
name below will take you to my home page. It's getting jazzier by the moment.
<P> <hr> <P> 
<A HREF="http://www.ssc.com/ssc/Employees/Margie/margie.html">
Marjorie L. Richardson</a><br>
Editor, <i>Linux Gazette</i> <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</a>

<P> <HR> <P>
<!--====================================================================-->
<A HREF="./lg_toc11.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="./wkndmech.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<p><hr><p>
<I>Linux Gazette</I>, http://www.ssc.com/lg/<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>