1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Linux Gazette Table of Contents LG #46</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000" >
<center>
<A HREF="http://www.linuxgazette.com/">
<H1><IMG SRC="../gx/newlogo.jpg" ALT="Linux Gazette" border="0"></H1></A>
<H4>October 1999, Issue 46 Published by <I>Linux Journal</I></H4>
</center>
<!--=================================================================-->
<table>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<table>
<tr>
<td><H1><font color="#BB0000">Visit Our Sponsors:</font></H1></td></tr>
<tr>
<td><A HREF="http://www.linuxjournal.com/"><img src=../gx/ljtop.gif alt="Linux Journal" border=0></A></td></tr>
<tr>
<td><A HREF="http://www.infomagic.com/"><img src=../gx/infologo.gif alt="InfoMagic" border=0></A></td></tr>
<tr> <td>
<A HREF="http://www.suse.com/"><img vspace="10" src=../gx/suse.jpg alt="SuSE" border=0></A></td></tr>
<tr> <td>
<A HREF="http://www.redhat.com/"><img vspace="10" src=../gx/redhat.gif alt="Red Hat" border=0></A></td></tr>
<tr>
<td><A HREF="http://www.LinuxMall.com/"><img vspace="10" src=../gx/linuxmall.gif alt="LinuxMall" border=0></A></td></tr>
<tr>
<td><A HREF="http://www.cyclades.com/"><img vspace="10" src=../gx/cyclades.gif alt="cyclades" border=0></A></td> </tr>
</tr>
</table>
</td>
<!--==================================================================-->
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000" NOSAVE><IMG
SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=1 HEIGHT=1 WIDTH=1></TD>
<td VALIGN=top>
<H1><font color="#BB0000">Table of Contents:</font></H1>
<UL>
<LI><A HREF="../lg_frontpage.html">The Front Page</A>
<LI><A HREF="../lg_faq.html"><I>Linux Gazette</I> FAQ</A>
<LI><A HREF="lg_mail46.html">The MailBag</A>
<ul>
<li><a HREF="lg_mail46.html#help">Help Wanted & Article Ideas</a>
<li><a HREF="lg_mail46.html#gen">General Mail</a>
</ul>
<LI><A HREF="lg_bytes46.html">News Bytes</A>
<ul>
<li><a HREF="lg_bytes46.html#general">News in General</a>
<li><a HREF="lg_bytes46.html#software">Software Announcements</a>
</ul>
<LI><A HREF="lg_answer46.html">The Answer Guy</A>, by James T. Dennis
<LI><A HREF="lg_tips46.html">More 2 Cent Tips</A>
<LI><a HREF="al-mohssen.html">Linux and the Future</A>, by Husain Al-Mohssen
<LI><a HREF="fauthoux.html">Bomb Bomb, le premier jeu utilisant l'Addon technology</A>, by David Fauthoux
<LI><a HREF="fink.html">An Overview of the Proc Filesystem</A>, by Jay Fink
<LI><a HREF="gm.html">The Graphics Muse</A>, by Michael J. Hammel
<LI><a HREF="marshall.html">The Cash and the Calling</A>, by Brian Marshall
<LI><a HREF="nielsen.html">Using Sfdisk and Perl to fdisk a hard drive</A>, by Mark Nielsen
<LI><a HREF="nod.html">Linux Is Not For You</A>, by nod
<LI><a HREF="orr.html">Linux Humor</A>, by Mike Orr
<LI><a HREF="pollman.html">Security for the Home Network</A>, by JC Pollman, Bill Mote
<LI><a HREF="serrao.html">Using Java and Linux to crack the DES challenge</A>, by Carlos Serrao
<LI><a HREF="skjoldebrand.html">HTML Editor ++</A>, by Martin Skjoldebrand
<LI><a HREF="york.html">Creating A Linux Certification Program, Part 7</A>, by Dan York
<LI><A HREF="lg_backpage46.html">The Back Page</A>
<ul>
<li><a HREF="lg_backpage46.html#authors">About This Month's Authors</a>
<li><a HREF="lg_backpage46.html#notlinux">Not Linux</a>
</UL>
</UL>
</td>
</tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table>
<!--=============================================================-->
<P>
<table>
<tr><td>
<A HREF="issue46.txt.gz">TWDT 1 (gzipped text file)</A><BR>
<A HREF="issue46.html">TWDT 2 (HTML file)</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.
</td></tr>
<!--==================================================================-->
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<center>
<I>Linux Gazette</I><img src="../gx/tm.gif">, <A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com/</A><BR>
This page maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com"> gazette@ssc.com</A>
<P>
<H5>Copyright © 1996-1999 Specialized Systems Consultants, Inc.</H5>
</center>
</td></tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="indent" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table>
<H3>Contents</H3>
<UL>
<LI> Questions about the <I>Linux Gazette</I>
<OL>
<LI> <A HREF="#why_faq">Why this FAQ?</A>
<LI> <A HREF="#formats_html">Where can I find the HTML version of the <I>Gazette</I>?</A>
<LI> <A HREF="#formats_yes">Which formats is the <I>Gazette</I> available in?</A>
<LI> <A HREF="#formats_no">Which formats is the <I>Gazette</I> <STRONG>not</STRONG> available in?</A>
<LI> <A HREF="#languages">Is the <I>Gazette</I> available in French? Chinese? Italian? Russian?</A>
<LI> <A HREF="#old">Why is the most recent issue several months old?</A>
<LI> <A HREF="#search">How can I find all the articles about a certain subject?</A>
<LI> <A HREF="#author">How can I become an author? How can I submit my article for publication?</A>
<LI> <A HREF="#copying">May I copy and distribute the <I>Gazette</I> or portions thereof?</A>
<LI> <A HREF="#sponsor">You have my competitor's logo on the Front Page; will you put mine up too?</A>
</OL>
<P>
<LI> Linux tech support questions
<OL>
<LI> <A HREF="#ask_tech">How can I get help on Linux?</A>
<LI> <A HREF="#wine">Can I run Windows applications under Linux?</A>
<LI> <A HREF="#mswin">Do you answer Windows questions too?</A>
<LI> <A HREF="#where_doc">How do I find the help files in my Linux system?</A>
<LI> <A HREF="#winmodem">So I'm having trouble with this internal modem...</A>
</OL>
</UL>
<P> <FONT SIZE=-1><EM>This FAQ is updated at the end of every month. Because
it is a new feature, it will be changing significantly over the next few
months.</EM></FONT>
<P> <HR> <P>
<!-- =============================================================== -->
<H1 ALIGN=center>Questions about the <I>Linux Gazette</I></H1>
<A NAME="why faq"></A>
<H2>1. Why this FAQ?</H2>
<P> These are the most Frequently Asked Questions in the <I>LG</I> Mailbag.
With this FAQ, I hope to save all our fingers from a little bit of typing, or
at least allow all that effort to go into something No (Wo)man Has Ever Typed
Before.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="formats_html"></A>
<H2>2. Where can I find the HTML version of the <I>Gazette</I>?</H2>
<UL>
<LI> The main web site--<A HREF=http://www.linuxgazette.com>
www.linuxgazette.com</A>.<P>
<LI> <A HREF=mirrors.html>Mirror sites in 47 countries</A>, some with
translations in other languages.<P>
<LI> Indirect mirrors, including
<A HREF=http://www.ssc.com/mirrors/LDP/mirrors.html>
Linux Documentation Project</A> mirror sites.<P>
<LI> In the <A HREF=http://www.debian.org>
Debian/GNU Linux</A> distribution, as ordinary *.deb packages.<P>
<LI> On CD as part of a
<A HREF=https://www.ssc.com:444/lj/backissue.html><I>Linux Journal</I>
archive CD-ROM</A>. There may also be other companies that include the
<I>Gazette</I> on their CDs--we don't keep a central list. (But we may in
the future.)<P>
</UL>
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="formats_yes"></A>
<H2>3. Which formats is the <I>Gazette</I> available in?</H2>
<UL>
<LI> <STRONG>As a single HTML file.</STRONG> Every issue includes a
TWDT (The Whole D--- Thing) file containing a copy of all the articles in one
file. This may be useful if you have a slow modem, or if you want to print it
all out at once. Look for "TWDT" near the bottom of the issue's Table of
Contents. Hyperlinks in this version are not guaranteed to work.<P>
<LI> <STRONG>As a single text file.</STRONG> This is a text-only
version of the above. Look for "TWDT" near the bottom of the issue's Table of
Contents.<P>
<LI> <STRONG>Via FTP.</STRONG> Each issue is available as a *.tar.gz
file, containing both the ordinary HTML files and the TWDT files. See
<A HREF=ftp://ftp.ssc.com/pub/lg/README>ftp://ftp.ssc.com/pub/lg/README</A>
for details. Other FTP sites are listed on our
<A HREF=mirrors.html>mirrors</A> page.
</UL>
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="formats_no"></A>
<H2>4. Which formats is the <I>Gazette</I> <U>not</U> available in?</H2>
<P> Other archive formats. We need to keep disk space on the FTP site at a
minimum for the sake of the mirrors. Also, the Editor rebels at the thought
of the additional hand labor involved in maintaining more formats. Therefore,
we have chosen the formats required by the majority of <I>Gazette</I> readers.
Anybody is free to maintain the <I>Gazette</I> in another format if they wish,
and if it is available publicly, I'll consider listing it on the mirrors page.
<P> <STRONG>Zip,</STRONG> the compression format most common under Windows.
If your unzipping program doesn't understand the *.tar.gz format, get Winzip
at <A HREF=http://www.winzip.com>www.winzip.com</A>.
<P> <STRONG>Macintosh formats.</STRONG> (I haven't had a Mac since I sold
my Mac Classic because Linux wouldn't run on it. If anybody has any
suggestions for Mac users, I'll put them here.)
<P> <STRONG>Other printable formats.</STRONG>
<DL COMPACT>
<DT> <STRONG>PostScript</STRONG>
<DD> You can use Netscape's "print to file" routine will
create a PostScript file complete with images.
<DT> <STRONG>PDF</STRONG>
<DD> I know Adobe and others consider PDF a "universal"
format, but to me it's still a one-company format that requires a custom
viewer--not something I'm eager to maintain. If you can view PDF, can't
you view HTML?
<DT> <STRONG>Word</STRONG>
<DD> I'll be nice and not say anything about Word....
</DL>
<P> <STRONG>E-mail.</STRONG> The <I>Gazette</I> is too big to send via e-mail.
Issue #44 is 754 KB; the largest issue (#34) was 2.7 MB. Even the text-only
version of #44 is 146 K compressed, 413 K uncompressed. If anybody wishes
to distribute the text version via e-mail, be my guest. There is an
announcement mailing list where I announce each issue; e-mail
<A HREF=mailto:lg-announce-request@ssc.com>lg-announce-request@ssc.com</A>
with "subscribe" in the message body to subscribe. Or read the announcement
on <A HREF=news:comp.os.linux.announce>comp.os.linux.announce</A>.
<P> <STRONG>On paper.</STRONG> I know of no companies offering printed copies
of the <I>Gazette</I>.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="languages"></A>
<H2>5. Is the <I>Gazette</I> available in French? Chinese? Italian? Russian?</H2>
<P> Yes, yes, yes and yes. See the <A HREF=mirrors.html>mirrors page</A>.
Be sure to check all the countries where your language is spoken; e.g., France
and Canada for French, Russia and Ukraine for Russian.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="old"></A>
<H2>6. Why is the most recent issue several months old?</H2>
<P> You're probably looking at an unmaintained mirror. Check the
<A HREF=http://www.linuxgazette.com>home site</A> to see what the current issue
is, then go to the <A HREF=http://www.linuxgazette.com/mirrors.html>mirrors
page on the home site</A> to find a more up-to-date mirror.
<P> If a mirror is seriously out of date, please let
<A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A> know.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="search"></A>
<H2>7. How can I find all the articles about a certain subject?</H2>
<P> Use the <I>Linux Gazette</I>
<A HREF=http://www.linuxgazette.com/wgindex.html>search engine</A>. A link to
it is on <A HREF=lg_frontpage.html#search>the Front Page</A>, in the middle of
the page. Be aware this engine has some limitations, which are listed on the
search page under the search form.
<P> Use the <A HREF="lg_index.html">Index of Articles</A>. A link to it is
on the Front Page, at the bottom of the issues links,
called "Index of All Issues". All the Tables of Contents are concatenated
here onto one page. Use your browser's "Find in Page" dialog to find
keywords in the title or author's names.
<p> There is a seperate <a HREF="lg_index_tag.html">Answer Guy Index</a>,
listing all the questions that have been answered by the Answer Guy. However,
they are not sorted by subject at this time, so you will also want to use
the "Find in Page" dialog to search this listing for keywords.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="copying"></A>
<H2>8. How can I become an author? How can I submit my article for publication?</H2>
<P> The <I>Linux Gazette</I> is dependent on
<EM><STRONG>R</STRONG>eaders <STRONG>L</STRONG>ike <STRONG>Y</STRONG>ou</EM>
for its articles. Although we cannot offer financial compensation (this is a
volunteer effort, after all), you will earn the gratitude of Linuxers all over
the world, and possibly an enhanced reputation for yourself and your company as
well.
<P> New authors are always welcome. E-mail a short description of your
proposed article to
<A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A>, and the Editor will confirm
whether it's compatible with the <I>Gazette</I>, and whether we need articles
on that topic. Or, if you've already finished the article, just e-mail the
article or its URL.
<P> If you wish to write an ongoing series, please e-mail a note describing the
topic and scope of the series, and a list of possible topics for the first few
articles.
<P> The following types of articles are always welcome:
<UL>
<LI> technical articles of a HOWTO nature. (How to set up a program,
how to maintain it, my experience running a program even if I'm not an expert,
etc.)
<LI> Articles demonstrating the use of Linux in an industry or
environment where it might not be commonly expected.
<LI> Software reviews, as long as it is a balanced review and
not simply an advertisement. Comparing the pros and cons of this program with
similar programs is a plus.
<LI> Reports from conferences, etc.
<LI> Anecdotes, lighthearted stuff, etc.
<LI> Articles requested in the "Help Wanted and Article Ideas" section
of the Mailbag.
<LI> Other areas I haven't thought of.
</UL>
<P> We have all levels of readers, from newbies to gurus, so articles aiming at
any level are fine. If you see an article that is too technical or not
detailed enough for your taste, feel free to submit another article that fills
the gaps.
<P> Articles <STRONG><EM>not</EM></STRONG> accepted include one-sided product
reviews that are basically advertisements. Mentioning your company is fine,
but please write your article from the viewpoint of a Linux user rather than as
a company spokesperson.
<BLOCKQUOTE><EM>
If your piece is essentially a press release or an announcement of a
new product or service, submit it as a News Bytes item rather than as
an article. Better yet, submit a URL and a 1-2 paragraph summary (free
of unnecessary marketoid verbiage, please) rather than a press release,
because you can write a better summary about your product than the
Editor can.
</EM></BLOCKQUOTE>
<P> Articles not specifically about Linux are generally not accepted, although
an article about free/open-source software in general may occasionally be
published on a case-by-case basis.
<P> Articles may be of whatever length necessary. Generally, our articles are
2-15 screenfulls. Please use standard, simple HTML that can be viewed on a
wide variety of browsers. Graphics are accepted, but keep them minimal for the
sake of readers who pay by the minute for on-line time. Don't bother with
fancy headers and footers; the Editor chops these off and adds the standard
<I>Gazette</I> header and footer instead. If your article has long program
listings accompanying it, please submit those as separate text files.
<STRONG> Please submit a 3-4 line description of yourself for the Author Info
section on the Back Page.</STRONG> Once you submit this, it will be reused
for all your subsequent articles unless you send in an update.
<P> Once a month, the Editor sends an announcement to all regular and recent
authors, giving the deadline for the next issue. Issues are usually published
on the last working day of the month; the deadline is seven days before this.
If you need a deadline extension into the following week, e-mail the Editor.
But don't stress out about deadlines; we're here to have fun. If your article
misses the deadline, it will be published in the following issue.
<P> Authors retain the copyright on their articles, but distribution of the
<I>Gazette</I> is essentially unrestricted: it is published on web sites and
FTP servers, included in some Linux distributions and commercial CD-ROMs, etc.
<P> Thank you for your interest. We look forward to hearing from you.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="copying"></A>
<H2>9. May I copy and distribute the <I>Gazette</I> or portions thereof?</H2>
<P> Certainly. The <I>Gazette</I> is freely redistributable. You can copy
it, give it away, sell it, translate it into another language, whatever you
wish. Just keep the copyright notices attached to the articles, since each
article is copyright by its author. We request that you provide a link
back to <A HREF=http://www.linuxgazette.com>www.linuxgazette.com</A>.
<P> If your copy is publicly available, we would like to list it on our
<A HREF=mirrors.html>mirrors page</A>, especially if it's a foreign language
translation. Use the submission form at the bottom of the page to tell us
about your site. This is also the most effective way to help <I>Gazette</I>
readers find you.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="sponsor"></A>
<H2> 10. You have my competitor's logo on the Front Page; will you put mine up too?</H2>
All logos on the Front Page and on each issue's Table of Contents are from our
sponsors. Sponsors make a financial contribution to help defray the cost of
producing the <I>Gazette</I>. This is what keeps the <I>Gazette</I> free
(both in the senses of "freely redistributable" and "free of ads"
<img src="../gx/dennis/smily.gif" alt=":)">) To recognize and give thanks to our
sponsors, we display their logo.
<P> If you would like more information about sponsoring the
<I>Linux Gazette</I>, e-mail <A HREF=mailto:sponsor@ssc.com>sponsor@ssc.com</A>.
<P> <HR NOSHADE SIZE=6> <P>
<!-- =============================================================== -->
<H1 ALIGN=center>Linux tech support questions</H1>
<P> This section comprises the most frequently-asked questions in The Mailbag
and The Answer Guy columns.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="ask_tech"></A>
<H2>1. How can I get help on Linux?</H2>
<P> Check the FAQ. (Oh, you already are.
<img src="../gx/dennis/smily.gif" alt=":)">)
Somewhat more seriously, there is a Linux FAQ located at
<a href="http://www.linuxdoc.org/FAQ/Linux-FAQ.html"
>http://www.linuxdoc.org/FAQ/Linux-FAQ.html</a> which you might
find to be helpful.
<p>For people who are very new to Linux, especially if they are also new
to computing in general, it may be handy to pick up one of these basic
Linux books to get started:
<ul>
<li>Bill Ball's <em>Learning Linux in 24 Hours</em>
<li>Mark Sobell's <em>A Practical Guide to the Linux System</em>
<li>Either <em>Linux Installation and Getting Started</em> or the
O'Reilly book <em>Running Linux</em>. They're extremely similar
so you should only need one of them.
</ul>
<p>Mailing lists exist for almost every application of any note, as well
as for the distributions. If you get curious about a subject, and don't mind
a bit of extra mail, sign onto applicable mailing lists as a "lurker" --
that is, just to read, not particularly to post. At some point it will make
enough sense that their FAQ will seem very readable, and then you'll be well
versed enough to ask more specific questions coherently. Don't forget to
keep the slice of mail that advises you how to leave the mailing list when
you tire of it or learn what you needed to know.
<p>You may be able to meet with a local Linux User Group, if your area has
one. There seem to be more all the time -- if you think you may not have
one nearby, check the local university or community college before giving up.
<P>And of course, there's always good general resources, such as the Linux
Gazette <img src="../gx/dennis/smily.gif" alt=":)">
<P> Questions sent to <A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A> will
be published in the Mailbag in the next issue. Make sure your From: or
Reply-to: address is correct in your e-mail, so that respondents can send you
an answer directly. Otherwise you will have to wait till the following issue
to see whether somebody replied.
<P> Questions sent to <A HREF=mailto:answerguy@ssc.com>answerguy@ssc.com</A>
will be published in The Answer Guy column.
<P> If your system is hosed and your data is lost and your homework is due
tomorrow but your computer ate it, and it's the beginning of the month and the
next Mailbag won't be published for four weeks, write to the Answer Guy. He
gets a few hundred slices of mail a day, but when he answers, it's direct to
you. He also copies the Gazette so that it will be published when the month
end comes comes along.
<P> You might want to check the new
<a href="lg_index_tag.html">Answer Guy Index</a> and see if your question
got asked before, or if the Answer Guy's curiosity and ramblings from a
related question covered what you need to know.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="wine"></A>
<H2>2. Can I run Windows applications under Linux?</H2>
<P> An excellent summary of the current state of WINE, DOSEMU and other
Windows/DOS emulators is in issue #44, The Answer Guy,
<A HREF=issue44/tag/1.html>"Running Win '95 Apps under Linux"</A>.
<P> There is also a program called <A HREF=http://www.vmware.com>VMWare</A>
which lets you run several "virtual computers" concurrently as applications,
each with its own Operating System. There is a
<A HREF=http://www.linuxjournal.com/lj-issues/issue63/3458.html>review</A>
in <I>Linux Journal</I> about it.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="mswin"></A>
<H2>3. Do you answer Windows questions too?</H2>
<p>Answers in either the Tips or Answer Guy columns which relate to
troubleshooting hardware, might be equally valuable to Linux and Windows users.
This is however the <I><STRONG>Linux</STRONG> Gazette</I>... so all the
examples are likely to describe Linux methods and tools.
<p>The Answer Guy has ranted about this many times before. He will
gladly answer questions involving getting Linux and MS Windows systems
to interact properly; this usually covers filesystems, use of samba
(shares) and other networking, and discussion of how to use drivers.
<p>However, he hasn't used Windows in many years, and in fact avoids the
graphical user interfaces available to Linux. So he is not your best bet
for asking about something which only involves Windows. Try one of the
Windows magazines' letter-to-the-editor columns, an open forum offered at
the online sites for such magazines, or (gasp) the tech support that was
offered with your commercial product. Also, there are newsgroups for an
amazing variety of topics, including MS Windows.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="where_doc"></A>
<H2>4. How do I find the help files in my Linux system?</H2>
<p>The usual command to ask for a help page on the command line is the
word <tt>man</tt> followed by the name of the command you need help
with. You can get started with <tt>man man</tt>. It might help you to
remember this, if you realize it's short for "manual."
<p>A lot of plain text documents about packages can be found in
<tt>/usr/doc/packages</tt> in modern distributions. If you installed
them, you can also usually find the FAQs and HOWTOs installed in
respective directories there.
<p>Some applications have their own built-in access to help files (even those
are usually text stored in another file, which can be reached in other
ways). For example, pressing F1 in <tt>vim</tt>, ? in <tt>lynx</tt>,
or ctrl-H followed by a key in Emacs, will get you into their help system.
These may be confusing to novices, though.
<p>Many programs provide minimal help about their command-line interface if
given the command-line option <tt>--help</tt> or <tt>-?</tt>. Even if these
don't work, most give a usage message if they don't understand their command-
line arguments. The GNU project has especially forwarded this idea. It's
a good one; every programmer creating a small utility should have it
self-documented at least this much.
<p>Graphical interfaces such as <tt>tkman</tt> and <tt>tkinfo</tt> will
help quite a bit because they know where to find these kinds of help files;
you can use their menus to help you find what you need. The better ones
may also have more complex search functions.
<p>Some of the bigger distributions link their default web pages to HTML
versions of the help files. They may also have a link to help directly from
the menus in their default X Windowing setup. Therefore, it's wise to
install the default window manager, even if you (or the friend helping you)
have a preference for another one, and to explore its menus a bit.
<P> <HR> <P>
<!-- =============================================================== -->
<A NAME="winmodem"></A>
<h2>5. So I'm having trouble with this internal modem...</h2>
<p>It's probably a winmodem. Winmodems suck for multiple reasons:</p>
<ol>
<li>Most of them lack drivers for Linux. Notice the term "most" and not
"all" -- see <a href="http://linmodems.org/">http://linmodems.org</a> for
more about those few that do, and some general knowledge on the subject.
<li>Since they aren't a complete modem without software, even if they
were to work under Linux, they'd eat extra CPU that could be better
spent on other things. So they'll never seem quite as fast as their
speed rating would imply.
<li>Internal modems have their own problems; they overheat more easily,
and have a greater danger of harming other parts in your system when
they fail, merely because they're attached directly to the bus. The
tiny portion of speed increase that might lend is not really worthwhile
compared to the risk of losing other parts in the system.
</ul>
<p>So, yeah, there can be good internal modems, but it's more worthwhile
to get an external one. It will often contain phone line surge suppression
and that may lead to more stable connections as well.</p>
<!--===================================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
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 © 1999, Specialized Systems Consultants, Inc.,
</H5>
<P> <hr> <P>
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table width="100%" cellpadding=7><tr><td>
<H2><a NAME="mail"><IMG SRC="../gx/mailbox.gif" ALIGN=MIDDLE ALT=" ">
The Mailbag!</a> </H2>
Write the Gazette at <A HREF="mailto:gazette@ssc.com"> gazette@ssc.com</A>
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#help">Help Wanted -- Article Ideas</a>
<li><a HREF="#gen">General Mail</a>
</ul>
</td></tr></table>
</center>
<a name="help"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="maroon">Help Wanted -- Article Ideas</font></H3></center>
<P>
Answers to these questions should be sent directly to the e-mail address of
the inquirer with or without a copy to gazette@ssc.com. Answers that are
copied to <I>LG</I> will be printed in the next issue in the Tips column.
<P> <STRONG>Before asking a question, please check the new
<A HREF=../lg_faq.html><I>Linux Gazette</I> FAQ</A> to see if it has been
answered there.</STRONG>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 05 Sep 1999 04:09:46 PDT
<BR>From: <<A HREF="mailto:javafun@excite.com">javafun@excite.com></A>
<BR>Subject: Linux in Algeria
<P> I would like to thank all people who replied to me
<P> I am a third world LINUX user, in my country there is only windoze as
an OS, none know about the advantages of LINUX, now I am going to set up a
web site about LINUX
so help me please, any printed magazine, books, free cd-rom
will be a great help.
actually my video card is an SIS 5597 so please if any one who can send me a
free LINUX distribution( especially RH 6 it's easy to install, I have
RH5.1)with XFREE86 3.3.1 to support my video card.
<P> sorry for my silly english, and keep the good work
<P> friendly mimoune
<P> my address is:<BR>
MR djouallah mimoune<BR>
ENTP garidi, vieux kouba algiers cp 05600<BR>
algeria.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 12 Sep 1999 15:18:59 -0400
<BR>From: Jim Bruer <<A HREF="mailto:jbruer@flashcom.net">jbruer@flashcom.net></A>
<BR>Subject: Postfix article
<P> I just installed Postfix on Suse 6.1. It seems a much easier mailer to
install than any of the others I've read about in your recent issues (which
were great btw). There is an active newsgroup and the author of the program
responds VERY fast to stupid newbie questions. I speak from experience : )
From debian newsgroup postings it appears that Postfix is going to become their
standard. Check it out, I'd love to see an article on it since I'm trying to
move beyond the newbie stage and really understand this whole mail business.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 12 Sep 1999 22:00:49 +0200 (CEST)
<BR>From: <<A HREF="mailto:chimbis@skjoldebrand.org">chimbis@skjoldebrand.org></A>
<BR>Subject: VPN and Firewall with Linux
<P> Hi,
<P> We are considering investing in a firewall and VPN for our network at
work (a 3rd world aid organisation). We haven't deemed it necessary
until now when we will upgrade to Novell Netware 5 which is mainly
TCP/IP-based.
We have funds for investing in Novell BorderManager as well.
<P> However, we have been talking about having our own DNS server as well
as firewall. Also we would like to be able to connect our offices
around the world to the network by VPN. BorderManager has all these
facilities but for a price. Is there some comprehensive Linux source
(written, on-line, software) about these issues. Even a list of HOWTOs
would be OK.
<P> TIA,<BR>
Martin Sjödebrand
<BLOCKQUOTE><EM>
[Would somebody like to write an article about connecting several local
networks securely over the Internet? There must be some <I>Gazette</I>
readers who have such a network running in their office. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 9 Sep 1999 22:24:11 -0700
<BR>From: Lic. Manuel Nivar <<A HREF="mailto:mm.guzman@codetel.net.do">mm.guzman@codetel.net.do></A>
<BR>Subject: Descompiler
<P> Hi, My name is Manuel Nivar I dont know how to install a script for
irc.chat because I don know how to descompiler. Please Help me.
<P> <STRONG>The <I>Linux Gazette</I> Editor wrote:</STRONG>
<P> Hi. This will be published in the October <I>Gazette</I>. I don't use
IRC, so I'm afraid I can't personally offer any suggestions. What does
"descompiler" mean? Do you mean you can't compile the program?
<P> <STRONG>Manuel replied:</STRONG>
<P> Yes I dont know how to descompiler<BR>
<BLOCKQUOTE><EM>
[I'm still hoping somebody will write some articles about IRC. It is
certainly a popular topic among <I>Gazette</I> readers. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 02 Sep 1999 00:48:42 -0400
<BR>From: Leslie Joyce <<A HREF="mailto:blumagic@bellatlantic.net">blumagic@bellatlantic.net></A>
<BR>Subject: Printing lines of black
<P> Hi,
<P> As a newbie to linux,I am having a several problems
with getting linux to work properly,mainly now,
I am having a problem with my printer HP 693C.
I can print, but on every line of copy(words)after the
sentence ends,I get a line of solid black .As I am dual
booting and my printer works in Win95,I am thinking
this is a linux driver problem.I am using the 550 C driver.
I am using Caldera 2.2 I used the graphical interface to
install the printer .
Any thoughts,guesses or ideas as to where to go
to find a solution?
<P> Thanks for your time and help<BR>
Les.................
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 3 Sep 1999 10:30:24 +1000
<BR>From: Binjala <<A HREF="mailto:binjala@hinet.net.au">binjala@hinet.net.au></A>
<BR>Subject: Winmodems
<P> It wasn't until I had my own version of MS Windoze -albeit someone else
has the registration, disc etc- that I realised how much I'd like to use
something else... the I was shown linux, so Ive got RedHat, but now I
find I've got Winmodem, Eagle 1740 AGP VGA Card, and Creative Labs Sound
Blaster PCI64. I realise the modem sucks, where can I find if the others
are compatible? Are they compatible? Can you recommend a replacement
56K modem? The guy who built this box for me has never used Linux, so
he's not very useful. Help!
<P> Simon.
<BLOCKQUOTE><EM>
[Any modem except a winmodem should work fine. If it says it works
with DOS and/or Macintosh as well as Windows, it should be OK.
<P> See the
<A HREF=http://www.ssc.com/mirrors/LDP/HOWTO/Hardware-HOWTO-20.html>
Hardware Compatibility HOWTO</A> for details.
<P> An index of all the HOWTOs is at
<A HREF=http://www.ssc.com/mirrors/LDP/HOWTO/HOWTO-INDEX-3.html#ss3.1>
www.ssc.com/mirrors/LDP/HOWTO/HOWTO-INDEX-3.html#ss3.1</A> -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 03 Sep 1999 12:44:59 +0800
<BR>From: Jeff Bhavnanie <<A HREF="mailto:jeff@c-a-s-h.com">jeff@c-a-s-h.com></A>
<BR>Subject: compling network driver.
<P> I've got the source code for my network card (SiS900), when I issue the
compile command as described in the docs, i get no errors and the *.o file is
created. When I issue 'insmod sis900.o' i get a list of errors. I'm a
complete newbie at compiling things.
<P> Can anyone else compile the source into object file for me? I'm running Mandrake
6.0.
<P> Thanks<BR>
Jeff
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 03 Sep 1999 11:06:14 +0000
<BR>From: Pepijn Schmitz <<A HREF="mailto:p.schmitz@xpuntx.nl">p.schmitz@xpuntx.nl></A>
<BR>Subject: Help: printing problem.
<P> Hi,
<P> I'm having trouble getting a Solaris box to print on my Linux print
server. The Linux box has a printer set up that prints to a Netware
network printer. This works, I can print from Netscape, Star Office,
etc. I've set up a network printer on a Solaris 7 machine that prints to
this machine. This also works, for text files. But when I try to print a
page from Netscape, nothing happens, and the following appears in my
messages file (maas is my Linux machine with the Netware printer,
amazone.xpuntx.nl is the Solaris machine):
<PRE>
Sep 3 12:55:18 maas lpd[9788]: amazone.xpuntx.nl requests recvjob lp
Sep 3 12:55:18 maas lpd[9788]: tfA001amazone.xpuntx.nl: File exists
Sep 3 12:55:18 maas lpd[9789]: amazone.xpuntx.nl requests recvjob lp
Sep 3 12:55:18 maas lpd[9789]: tfA001amazone.xpuntx.nl: File exists
</PRE>
<P> This repeats itself every minute. I checked, and the
tfA001amazone.xpuntx.nl file really does not exist anywhere on my
system. There is a cfA001amazone.xpuntx.nl file in /var/spool/lpd/lp
however, and if I remove this file the next time around it says this in
the messages file:
<PRE>
Sep 3 13:00:27 maas lpd[9854]: amazone.xpuntx.nl requests recvjob lp
Sep 3 13:00:27 maas lpd[9855]: amazone.xpuntx.nl requests recvjob lp
Sep 3 13:00:27 maas lpd[9855]: readfile: : illegal path name: File
exists
</PRE>
<P> This happens once. The next minute the four lines I gave earlier
reappear, and the cfA001amazone.xpuntx.nl file has reappeared.
<P> I hope someone can help me out here, this has got me stumped! Thanks in
advance for anyone who can shed some light...
<P> Regards,<BR>
Pepijn Schmitz
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 3 Sep 1999 11:36:57 -0400 (EDT)
<BR>From: Tim <<A HREF="mailto:ice@bigfoot.com">ice@bigfoot.com></A>
<BR>Subject: 2gig file size limit?
<P> Greetings,<BR>
I have a box on my network running RedHat 6.0 (x86) that is going to be
used primarily for backing up large database files. These files are
presently 25 gigs in size. While attempting a backup over Samba, I
realized that the file system would not allow me to write a file > 2gig to
disk. I tried using an large file system patch for kernel 2.2.9, but that
only allowed me to write 16 gigs, and it seemed buggy when it was doing
that even. Doing an 'ls -l' would show me that the file size of the backup
was about 4 gig, but the total blocks in the directory with no other files
there indicated a much higher number like so:
<PRE>
[root@backup ]# ls -l
total 16909071
-rwxr--r-- 1 ntuser ntuser 4294967295 Sep 2 19:45 file.DAT
</PRE>
<P> I am well aware that a 64 bit system would be the best solution at this
point, but unfortunately i do not have those resources. I know BSDi can
write files this big, as well as NT on 32 bit systems.. i am left
wondering, why can't linux?
<P> Thanks in advance.<BR>
-Tim
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 3 Sep 1999 18:03:22 +0200
<BR>From: Service Data <<A HREF="mailto:basciuv@tin.it">basciuv@tin.it></A>
<BR>Subject: Linux.
<P> È possibile sapere qual'è l'ultima versione di linux in
comercio? È possibile che sia uscita la versione 6.2?
<P> Attendo Vs. risposta Grazie.
<BLOCKQUOTE><EM>
[Hi. Sorry, I don't speak Italian. "Linux" technically refers only to
the kernel. The kernel is at version 2.2.12. We track the kernel
version on the <I>Linux Journal</I> home page,
<A HREF=http://www.linuxjournal.com>www.linuxjournal.com</A>.
The original site is <A HREF=http://www.kernel.org>www.kernel.org</A>.
<P> The distribution you buy in a store contains not just the Linux
kernel, but a lot of software from a lot of sources. Each distribution
has its own numbering system. RedHat is at 6.0. SuSE just released
6.2. The other distributions have other numbers. We list the versions
of the major distributions at www.linuxjournal.com, "How to Get Linux".
<P> There are Italian speakers who read the <I>Gazette</I>; perhaps
they can give a better answer than this. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 4 Sep 1999 08:35:51 +0530
<BR>From: A.PADMANARAYANAN <<A HREF="mailto:semco@vsnl.com">semco@vsnl.com></A>
<BR>Subject: Reading Linux partitions from NT
<P> Dear sir,
can you please tell me how can i access linux partitions from windows NT
or 98?
is it possible? please help me or point me to any resources man pages or
URLs i will work on it!
<P>Thanks in advance!<BR>
sincerely<BR>
Vijay<BR>
Pune, India
<BLOCKQUOTE><EM>
[There is a Windows 95 tool to do this, but I have forgotten its name.
It wasn't in a very advanced stage the last time I looked at it.
It would be easier to go the other way and have Linux mount your
Windows partitions and copy the files there so that Windows can see
them. Run "man mount" for details. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 4 Sep 1999 21:40:47 +0530
<BR>From: Joseph Bill E.V <<A HREF="mailto:bill@md4.vsnl.net.in">bill@md4.vsnl.net.in></A>
<BR>Subject: Chat server
<P> Dear sir,<BR>
Is there any chat server for linux users to share their views
<P> Regards,<BR>
Bill
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 11 Sep 1999 12:55:54 -0600
<BR>From: Daniel Silverman <<A HREF="mailto:argent@mcn.net">argent@mcn.net></A>
<BR>Subject: Linux Internet forums
<P> Do you know of any Linux internet forums? If you do, I will be very
grateful for their urls.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 05 Sep 1999 02:34:41 -0300
<BR>From: Erik Fleischer <<A HREF="mailto:ferik@iname.com">ferik@iname.com></A>
<BR>Subject: How to prevent remote logins as root
<P> For security reasons, I would like to make it impossible for anyone
logging in remotely (via telnet etc.) to log in as root, but so far
haven't been able to figure out how to do that. Any suggestions?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 5 Sep 1999 23:27:16 +0200
<BR>From: =?iso-8859-2?B?TWljaGGzIE4u?= <<A HREF="mailto:sundayk@poczta.onet.pl">sundayk@poczta.onet.pl></A>
<BR>Subject: When RIVA TNT 2 drivers for XWindows ?
<P> When XWindows will work properly with vga's with chipset RIVA TNT 2 ?
When I'm trying to use RIVA TNT there are only 16 colors and
very,very poor resolution.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 6 Sep 1999 01:40:38 +0200
<BR>From: Per Nyberg <<A HREF="mailto:per.nyberg@alfa.telenordia.se">per.nyberg@alfa.telenordia.se></A>
<BR>Subject: Mandrake
<P> Hi,
Im thinking of changing to Linux and I will buy Mandrake Linux.
Is Red Hat better or is it a good idea of buying Mandrake?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 05 Sep 1999 19:24:28 -0600
<BR>From: Dale Snider <<A HREF="mailto:dsnider@nmia.com">dsnider@nmia.com></A>
<BR>Subject: neighbour table overflow
<P> I was running quite a long time with NFS and transmission stopped. I
get:
<PRE>
Sep 6 00:03:20 coyote kernel: eth0: trigger_send() called with the
transmitter busy.
</PRE>
<P> I rebooted the machine I was connected to and I get the below (part of
/var/log/messages file. Not all error statements shown):
<PRE>
Sep 6 17:57:04 beartooth kernel: neighbour table overflow
Sep 6 17:57:04 beartooth kernel: neighbour table overflow
Sep 6 17:57:04 beartooth rpc.statd: Cannot register service: RPC:
Unable to send; errno = No buffer space available
Sep 6 17:57:04 beartooth nfs: rpc.statd startup succeeded
Sep 6 17:57:04 beartooth rpc.statd[407]: unable to register (SM_PROG,
SM_VERS, udp).l:
</PRE>
df gives:
<PRE>
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda2 792800 628216 123619 84% /
/dev/hda1 819056 369696 449360 45% /NT
/dev/hda4 7925082 4892717 2621503 65% /home
</PRE>
<P> I can't find a reference to this error.
<P> Using RH 6.0 on Intel Pentium III 500 Mhz.
<P> Cheers<BR>
Dale
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 06 Sep 1999 02:17:37 +0000
<BR>From: Patrick Dunn <<A HREF="mailto:patdunn@dreamscape.com">patdunn@dreamscape.com></A>
<BR>Subject: Parallel Port Scanners and Canon BJC-2000
<P> I have two questions...
<P> 1)Does anyone have a driver written to work with Parallel port
scanners? I have one of these dastardly things that I wish I didn't buy
but the price was too good to pass up. It's a UMAX Astra 1220P.
<P> 2)I have recently picked up a Canon BJC-2000 inkjet printer and it will
print in B&W under Linux using the BJC-600/4000 driver under Ghostscript
5.10 (Mandrake Distro 6.0). Is there a native driver in the works?
Color printing under this printer can be problematic.
<P> Thanks,
Pat
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 07 Sep 1999 21:59:49 -0500
<BR>From: balou <<A HREF="mailto:bigidiot4672@yahoo.com">bigidiot4672@yahoo.com></A>
<BR>Subject: shell programming
<P> Could you point me to a good source for shell programming. I would
prefer to find something off the internet taht's free. I've tried
multiple web searches, but usually just come up with book reviews and
advertisements.... If there are no free resources on the web, which
book would you recommend for a relatively novice at Linux with
experience in basic, logo, fortran, pascal, and the usual msdos stuff.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 08 Sep 1999 21:35:04 +0700
<BR>From: Ruangvith Tantibhaedhyangkul <<A HREF="mailto:ruangvith@linuxfan.com">ruangvith@linuxfan.com></A>
<BR>Subject: Configure X to work with Intel 810 chipset
<P> Hi again,
<P> I just bought a new computer. It has an "on-board" video card, Intel
810 chipset, or somewhat like that. I couldn't configure X to work with
this type of card. First, I let Linux probed, it failed. Then I looked
at the list, of course, it wasn't there. Then I tried an unlisted card
and configured it as a general svga, it still failed.
What to do now?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 8 Sep 1999 16:57:17 +0200
<BR>From: <<A HREF="mailto:rakeshm@za.ibm.com">rakeshm@za.ibm.com></A>
<BR>Subject: Internet connection problem !
<P> Hi all
<P> I hope someone can lend some advise ...
<P> I have a PII 350 Mhz box with 64 MB ram running RH 6.0. I am using KDE as a
wm and am trying to set up a RELIABLE connection to my ISP. I am using a
ZOLTRIX (Rockwell) 56K modem, and kppp to dial in to my ISP.
<P> My problem is that my I can never connect consistently.. in other words
today it works fine but tomorrow it will throw me out ... It seems to dial in
fine but when it tries to 'authenticate' my ID and password it bombs out ! It
connects fine every time if I boot into Windoze 98.
<P> Does anyone have any ideas as to why this might be happening ?
<P> Thanks in advance<BR>
Regards<BR>
Rakesh Mistry
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 10 Sep 1999 13:28:07 +1000
<BR>From: Les Skrzyniarz <<A HREF="mailto:leselec@alphalink.com.au">leselec@alphalink.com.au></A>
<BR>Subject: Loading HTML back ssuse
<P> Iam using win98 IE5 and when Itry to load the complete issues eg.Issue 42
it stops loading at some random point on the page, and as such I can not save
the complete issues(some not all) even when I come back to it agin at a later
time the problem persists. The problem is not at my end as I do not have this
problem with any other page on the internet.Can you offer a reason for this or
a solution.
<P> Thanks<BR>
Les.S
</BLOCKQUOTE><EM>
<P>[Hi. This will be published in the October <I>Gazette</I>, and
we'll see if any other readers are having the same problem. I have not
heard any other complaints about this so far. I have not
used Win98 or IE5, so I can't suggest anything directly.
<P> Which site are you reading the Gazette at? Can you try another
mirror?
<P> You can try downloading the Gazette via FTP and reading it locally.
See <A HREF=ftp://www.ssc.com/pub/lg/README>
ftp://ftp.ssc.com/pub/lg/README</A> for details.
<P> It may be related to the size of the file and a misconfigured
router on the network between us and you. issue45.html is 428K.
Are any of the other pages you visit that big? -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 10 Sep 1999 13:32:21 -0500
<BR>From: root <<A HREF="mailto:eddie@infored.com.mx">eddie@infored.com.mx></A>
<BR>Subject: (no subject)
<P> Hi!
I have a question for you... Is there an utility like fsck but for
Macintosh HFS File systems?
I want to recover a damaged one due to power supply problems.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 10 Sep 1999 13:32:21 -0500
<BR>From: root <<A HREF="mailto:eddie@infored.com.mx">eddie@infored.com.mx></A>
<BR>Subject: (no subject)
<P> Hi!
I have a question for you... Is there an utility like fsck but for
Macintosh HFS File systems?
I want to recover a damaged one due to power supply problems.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 13 Sep 1999 10:22:31 -0700
<BR>From: MaxAttack <<A HREF="mailto:maxmpd@zip.com.au">maxmpd@zip.com.au></A>
<BR>Subject: Re: hello
<P> I was looking into CS software for linux, And one of the tools i was
looking into was software to graph the internet its etc map out the
registerd users on the arpnet.
I was woundering if u happend to have any infomation in any of your
magazines on this topic
<P> <STRONG>The <I>Linux Gazette</I> Editor wrote:</STRONG>
<P> No, I don't know of any such software.
<P> What is it you wish to do? Find out who is on each computer?
The Internet doesn't really have a concept of "registered user", because
the concept of "What is a user?" was never defined Internet-wide.
<P> In any case, you'd have to poll every box to find out what it thinks its
current user is. But this identity has no real meaning outside the local
network. For Windoze boxes it may be totally meaningless, because users
can set it to anything they want. And how would you even find the boxes
in the first place? Do a random poll of an IP range? That sounds like
Evil marketoid or cracking activity. In any case, if the machines are
behind dynamic IPs, as is common with ISPs nowadays, there's no guarantee
you'll ever be able to find a certain machine again even if you did find
it once.
<P> <STRONG>Manuel replied:</STRONG>
<P> i was thinking of just pinging all the registerd users at some DNS
databases over a period of time. And using some software to create a graphical
user interface for it, or such.
<P> <STRONG>The <I>Linux Gazette</I> Editor asked:</STRONG>
<P> Are you talking about a network analyzing program like those products that
show an icon in red or page the system administrator if a computer goes down?
<P> I assume by "user" you mean a particular machine rather than a user-person,
since the DNS doesn't track the latter.
<P> <STRONG>Manuel replied:</STRONG>
<P> hehe sorry for the confusion what i was trying to pass on what the notion
of a software that allows u to track out all the registed Boxes on the internet
and graph them into a nice graphical picture. so it looks something like this
hopefully this diagram helps:
<PRE>
|---------------|
| InterNIC |
| |
|---------------|
/ \
/ \
/ \
|---------------| |---------|
| linuxstart.com| | blah. |
| | | com |
|---------------| |---------|
|
|
|---------------|
| */Any Sub |
| Domain |
|---------------|
</PRE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 12 Sep 1999 17:19:10 -0400
<BR>From: William M. Collins <<A HREF="mailto:bcollins@aug.com">bcollins@aug.com></A>
<BR>Subject: HP Colorado 5GB
<P> Using Red Hat 5.2
<P> I purchased a HP Colorado 5GB tape drive on reccomendation of a friend. He
helped install RH 5.2. And using a program on the system named Arkeia
configured the Colorado from this program. This friend has moved from the
area.
<P> My questions are:
<OL>
<LI> How do I get to this program ?
<LI> How do I backup the configuration in the event of emergency ?
</OL>
<P> Thanks<BR>
Bill
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 14 Sep 1999 09:56:39 +0800
<BR>From: a <<A HREF="mailto:leeway@tonghua.com.cn">leeway@tonghua.com.cn></A>
<BR>Subject: program that play Video Compact Disk (VCD)
<P> i have RH 5.1. Is there any program that play Video Compact Disk (VCD)?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 16 Sep 1999 20:34:14 -0400
<BR>From: madhater <<A HREF="mailto:madhater@rochester.rr.com">madhater@rochester.rr.com></A>
<BR>Subject: ahhhhh i heard that
<P> linux will run out of space in 2026 cause of some bs about that i counts
in units and the hard drive will be filled
this is not true .... right!
<BLOCKQUOTE><EM>
[No. Linux, like most Unixes, has a "Year 2032 problem" (I forget the
exact year) because the system clock counts the seconds since January
1, 1970, and that number will overflow a 32-bit integer sometime in the
2020s or 2030s.
<P> People generally assume we will all have moved to 64-bit machines
by then, which have a 64-bit integer and thus won't overflow until some
astronomical time thousands of years from now. If 32-bit machines are
still common then, expect some patches to the kernel and libraries to
cover the situation. (People will have to check their database storage
formats too, of course.)
<P> I have never heard of any time-specific problems regarding i-nodes
and disk space. A Unix filesystem has both a limit of the amount of
data it can hold and the number of files it can contain. The number of
files is the same as the number of i-nodes, which is fixed at format
(mkfs) time. Run "df -i" to see what percentage of i-nodes are used.
Every file and directory (including every symbolic link) uses one
i-node. (Hard links to the same file share the i-node.) For normal
use it's never a problem. However, if you have a huge number of tiny
files (as on a high-volume mail or news server), it may be worth
formatting the partition with a larger-than-usual number of i-nodes.
None of this has anything to do with the year, though. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 17 Sep 1999 21:54:30 -0700
<BR>From: Ramanathan Prabakaran <<A HREF="mailto:rampraba@one.net.au">rampraba@one.net.au></A>
<BR>Subject: run-time error on cplusplus programme
<P> I have edited the sourcecode on windows Notepad, compiled on cygwin32 and
run the programme. The source code contains fstream class. It is about file
input/output. I have created the input file on the same windows notepad. But
the programme does not open or read the contents of the infut file.
<P> Help please
<BLOCKQUOTE><EM>
[I haven't quite gotten to the point of banning Windoze questions in
the Mailbag because it's hovering at only one or two per issue. But
I'm starting to think about it.
<P> However, I do want to support the use of free/open source compilers
on Windows, especially since the Cygnus ones are (ahem) "our"
compilers. Are there any better forums for Cygnus-on-Windoze to refer
people to? -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 19 Sep 1999 20:12:47 +0200
<BR>From: David Le Page <<A HREF="mailto:david@e-mg.co.za">david@e-mg.co.za></A>
<BR>Subject: Making Linux talk to an NT network
<P> I want to get Linux running on my PC at work, and talking to the NT network
for file sharing and printer use. Okay, okay, I know the theory -- get samba up
and running, read the manual, and make it all happen. But I'm not a networking
guru, and I'm battling to understand samba. And everything I read about it
seems to be focused on gettings Win machines talking to Samba servers, not the
other way around. Can anyone tell me, in 10 Easy Steps, how to get this done?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 20 Sep 1999 17:35:23 -0400
<BR>From: Mahesh Jagannath <<A HREF="mailto:mjaganna@us.oracle.com">mjaganna@us.oracle.com></A>
<BR>Subject: Netscape and Java
<P> I am running Netscape Comm 4.51 on Red Hat Linux 6.0. It crashes
invariably if I load a site with any Java applet etc. Is there something
I am missing or is this a known bug?
<P> Mahesh
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 20 Sep 1999 16:48:35 -0500
<BR>From: <<A HREF="mailto:qed@tigernet.missouri.org">qed@tigernet.missouri.org></A>
<BR>Subject: Modem noises
<P> Hi Folks,
<P> I know this is a nitpick, but for reasons I won't go into, it's keeping
me from using Linux as much as I might. Is there a way to divert the
modem noises to /dev/null ? Hearing them was a help when I was debugging
my connection, but now it's just a disturbance.
<P> Thanks,<BR>
Jerry Boyd
<BLOCKQUOTE><EM>
[Add "L0M0" to your modem's initialization string. One of these sets
the volume to zero; the other says never turn on the speaker. (Of
course I forget which is which, which is why I set both. Can you
believe how many whiches are in that last sentence?) If there is no
existing initialization string, use "ATL0M0" + newline. Each modem
program will need this put into its configuration file. For PPP, this
would be in your chatscript.
<P> I use "L1M1", which means (1) low speaker volume, (2) turn the
speaker on only after dialing and off when the connection either
succeeds or fails. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 21 Sep 1999 08:44:19 GMT
<BR>From: raghu ram <<A HREF="mailto:tunkey@hotmail.com">tunkey@hotmail.com></A>
<BR>Subject: help
<P> sir,
I am using apache web server on Linux machine.
<P> My problem is logrotation,to rotatelogs we should have config file
given below
<PRE>
/var/log/messages {
rotate 5ge.
weekly
postrotate
/sbin/killall -HUP syslogd
endscript
}
</PRE>
<P> config is over,but my problems is where should be setup.
<P>please help me<BR>
Thanks<BR>
<P> Raghu
<P> <STRONG>The <I>Linux Gazette</I> Editor wrote:</STRONG>
<P> I don't understand what the problem is. What does "where should be
setup" mean?
<P> <STRONG>Raghu replied:</STRONG>
<P> I don't known how to run the configfile?.
I went to man logrotate,just he given configfile.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 23 Sep 1999 13:11:53 +0530
<BR>From: neeti <<A HREF="mailto:neeti@amsoftindia.com">neeti@amsoftindia.com></A>
<BR>Subject: linux 6.2 compatible scsi adapters
<P> will somebody pl. tell me the list of SCSI adapters compatible to SUSE
lINUX 6.2
<P> thanx<BR>
neeti
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 23 Sep 1999 17:32:46 +0200
<BR>From: De Miguel, Guillermo <<A HREF="mailto:guillermo.de.miguel@sap.com">guillermo.de.miguel@sap.com></A>
<BR>Subject: Package to install...
<P> Hello everybody,
<P> I have in my notebook installed RedHat 6.0 in a partition of 800Mb with
several
products installed. As you can suppose, I had to restrict the installation
of a lot
of packages due to I do not have to much free hard disk space. Sometimes, I
am working with my
installation, I have problems due to my Linux does not find some file(s).
The question is, does somebody know a way to find the package where a file
which is not installed is?. I know that there is a option in the rpm command
to find the package a file belongs to. However, that file has in the hdd.
Has anybody help me ?
<P> Thanks ahead. Guillermo.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 01 Sep 1999 16:22:28 +0200
<BR>From: Alessandro Magni <<A HREF="mailto:magni@omega.ien.it">magni@omega.ien.it></A>
<BR>Subject: Imagemap
<P> In the need to define hotspots on some images in HTML documents,
I found a total lack of programs for Linux that enable you
to accomplish this task.
Does somebody know what I'm searching for?
<P> Thanks<BR>
Alessandro
<a name="gen"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="maroon">General Mail</font></H3></center>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 01 Sep 1999 13:13:02 -0700
<BR>From: Jim Dennis <<A HREF="mailto:jimd@starshine.org">jimd@starshine.org></A>
<BR>Subject: Freedom from UCITA: Free Software
<P> In response to Ed Foster's many recent gripes about the UCITA and
the risks associated with some proprietary software licensing.
<P> I'm sure he's heard it before but Freedom from the threat of
UCITA is only as far away as your local free software mirror site
(FTP and/or web based). Linux, FreeBSD (and its brethren) have
licenses without any such traps(*).
<P> * (I've appended a brief note on the two most common
software licenses to forestall any argument that
they DO contain "such traps.")
<P> If the quality of Linux and other free software didn't speak
for itself, the UCITA would be an incentive for its adoption.
<P> It's as though the major commercial software publishers are in
their death throes and intent on getting in one last bite, kick
or scratch at their customers.
<P> I'm not saying that free software and the open source movement
is poised to wipe out proprietary software. For most free
software enthusiasts the intent is to provide alternatives.
<P> Ironically it seems as though the major proprietary software
interests will obliterate themselves. The UCITA that they
propose may pass and become the fulfillment of some modern
Greek tragedy.
<P> I just hope that free software enthusiasts can provide the
improvements and new, free products that may become unavailable
if the commercial software industry annihilates itself.
<P> There's much work to be done.
<P> ----------------------- Appendix -----------------------------
<P> Some software is distributed in binary form free of charge. Some
proprietary software is distributed with the source code
available, but encumbered by a license that limits the production
of "derivative works." Those are not commonly referred to as
"free software" or "open source" by computing professionals and
technical enthusiasts.
<P> However, "free software with open source" permits free use and
distribution and includes source code and a license/copyright
that specifically permits the creation and distribution of
"derivative works" without imposition of licensing fees,
royalties, etc.
<P> That, of course is a simplification. There are extensive debates
on USENet and other technical fora about the exact nature and
definition of the terms "free software" and "open source."
<P> However, that is the gist of it.
<P> There are two major license groups for "free/open source"
software: BSD (Berkeley Software Distribution) and GPL (GNU Public
License).
<P> The BSD license was created by the Regents of the University of
California at Berkeley. It was orginally applied to a set of
patches and software utilities to UNIX (which was then owned by
AT&T). Since then the BSD license has been applied to many
software packages by many people and organizations that are wholly
unconnected to UC Berkeley. It is the license under which Apache,
and FreeBSD are available.
<P> The BSD license permits derivative works, even closed source
commercial and proprietary ones. Its principle requirements are
the inclusion of a copyright notice and a set of disclaimers
(disclaiming warranty and endorsement by the original authors of
the software). Many advocates consider it to be the "free-est"
license short of complete and utter abandonment (true public
domain).
<P> The GPL is somewhat more complicated. It was created by the
Free Software Foundation (FSF), which was founded by Richard
M. Stallman (a software visionary with a religous fervor and a
following to match).
<P> The terms of the GPL which cause misunderstandings and debate
revolve around a requirement that "derivative works" be
available under the same licensing terms as their "source"
(progenitors?).
<P> This is referred to as the "viral nature" of the GPL.
<P> Conceptually if I "merge" the sources to two programs, one which
was under the GPL and another which was "mine" then I'm required
to release the sources to my software when I release/distribute
the derivative.
<P> That's the part that causes controversy. It's often played up as
some sort of "trap" into which unwary software developers will
be pulled.
<P> One misconception is that I have to release my work when I use
GPL software. That's absurd, pure FUD! I can use GNU EMACS (a
GPL editor) and gcc (a popular GPL compiler) to write any
software I like. I can release that software under any license
I like. The use of the tools to create a package doesn't make
it a "derivative work." Another more subtle misconception is
that I'd be forced to release the sources to any little patch
that I made to a package. If I make a patch, or a complex
derived work, but only use it within my own organization, then
I'm not required to release it. The license only requires
the release of sources if I choose to "DISTRIBUTE" my
derivative.
<P> One last misconception. I don't have to distribute my GPL
software free of charge. I can charge whatever I like for it.
The GPL merely means that I can't prevent others from
distributing it for free, that I must release the sources and
that I must allow further derivation.
<P> The FSF has developed an extensive suite of tools. Their GNU
project intends to create a completely "free" operating system.
They provided the core "tool chain" that allowed Linus Torvalds
and his collaborators to develop Linux. That suite is released
under the GPL. Many other software packages by many other authors
are also released under the GPL.
<P> Indeed, although the Linux kernel is not a "derived work" and
its developers are unaffiliated with the FSF (as a group) it is
licensed under the GPL.
<P> There are a number of derivative and variations of these
licenses. Some of them may contain subtle problems and
conflicts. However, the intent of the authors is generally
clear. Even with the worst problems in "free" and "open
source" software licenses, there is far less risk to consumers
who use that software than there is from any software released
under proprietary licenses that might be enforced via the
UCITA.
<BLOCKQUOTE><EM>
[Jim, you get the award for the first Mailbag letter with an
Appendix.
<P> There is an
<A HREF=http://www.linuxjournal.com/articles/currents/005.html>
article about UCITA</A> on the </EM>Linux Journal</EM> web site, which
contains an overview of UCITA's potential consequences, as well
as a parody of what would happen if UCITA were applied to the auto
industry. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 3 Sep 1999 10:32:58 +0200
<BR>From: niklaus <<A HREF="mailto:peter.niklaus@t-online.de">peter.niklaus@t-online.de></A>
<BR>Subject: gazette #45 - article on java
<P> Hey, what's about that buggy article on JDE on linux - i receive nothing
more than an floating point error ?!?
<P> PN
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 3 Sep 1999 19:16:19 +0200
<BR>From: <<A HREF="mailto:jh.terstegge@gmx.de">jh.terstegge@gmx.de></A>
<BR>Subject: Re: Ooops, your page(s) formats less-optimum when viewed in Opera
<P> Hi Guys at Linux Gazette.
<P> This mail responds to Bjorn Eriksson's mail in issue #45 / General
Mail: SV: Ooops, your page(s) formats less-optimum when viewed
in Opera (http://www.operasoftware.com/).
<P> I have the same problem in my Opera. I tested it with Opera 3.1,
3.5 and 3.6 on Windows and the alpha release for BeOS, but every
time the same problem.
This is my solution for the problem:
When defining this:
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000"
NOSAVE><IMG SRC="../gx/hammel/cleardot.gif" ALT="indent"
HSPACE=1 HEIGHT=1 WIDTH=1></TD>
you use the tag option WIDTH="2" If you change it to WIDTH="1%"
it looks better.
<P> Jan-Hendrik Terstegge
<BLOCKQUOTE><EM>
[I tried his advice, and another Opera user said it worked. -Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 02 Sep 1999 13:44:53 -0700
<BR>From: <<A HREF="mailto:dstevens@bulkley.net">dstevens@bulkley.net></A>
<BR>Subject: misspelling
<P> This month's linux gazette contains what is for my money the most hideous
misspelling ever to appear in your pages. The article "Stripping and
Mirroring RAID under RedHat 6.0" clearly does NOT refer to an attempt to
remove any apparel whatsoever from our favorite distro. STRIP is to
undress, STRIPE is to make a thin line, RAID does not concern itself with
haberdashery or nudity.
<P> Dave Stevens
<P> <STRONG>The <I>Linux Gazette</I> Editor writes:</STRONG>
<P> OK, fixed.
<P> P.S. STRIP is also used in electronics, when you scrape the
insulation off wires.
<P> <STRONG>Mark Nielsen adds:</STRONG>
<P> Oops!<BR>
Sorry!<BR>
Thanks!
<P> I used ispell to check the spelling, dang, it doesn't help when the word
you mispell is in the dictionary.
<P> Mark
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 16 Sep 1999 13:46:22 +0200 (CEST)
<BR>From: =?iso-8859-1?q?seigi=20seigi?= <<A HREF="mailto:seigi1999@yahoo.fr">seigi1999@yahoo.fr></A>
<BR>Subject: <I>Linux Gazette</I> in French
<P> Bonjour
<P> Je voudrai savoir si votre magazine existe en francais
sinon ou si vous connaissiez un magazine en francais
qui parle de Linux
<P> Merci d avance
<BLOCKQUOTE><EM>
[There are two French versions listed on the <A HREF=../mirrors.html>
mirrors</A> page, one in Canada and one in France. There used to be a third
version, but it no longer exists. A company wrote me and said they
are working on a commercial translation as well, although I have not
heard that it's available yet.
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 20 Sep 1999 08:59:40 -0400
<BR>From: Gaibor, Pepe (Pepe) <<A HREF="mailto:gaibor@lucent.com">gaibor@lucent.com></A>
<BR>Subject: What is the latest?
<P> With great interest I got into and perused Linux Gazette. Any new stuff
beyond April 1997? and if so where is it.
<BLOCKQUOTE><EM>
[You're reading it. :)
<P> If the site you usually read at appears to be out of date, check
the main site at <A HREF=http://www.linuxgazette.com>
www.linuxgazette.com</A>. Ed.]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 22 Sep 1999 9:21:17 EDT
<BR>From: Dunx <<A HREF="mailto:dunx@dunx.org">dunx@dunx.org></A>
<BR>Subject: Encyclopaedia Galactica != Foundation
<P> Re: September 99 Linux Gazzette, Linux Homour piece -
<P> Liked the operating
systems airlines joke, but surely the footnote about the Encyclopaedia
Galactica is in error? The only EC I know is the competitor work to the Hitch
Hiker's Guide to the Galaxy in Douglas Adams' novels, radio and TV shows, and
coputer games.
<P> Cheers.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 23 Sep 1999 17:26:30 +0800
<BR>From: Phil Steege <<A HREF="mailto:psteege@tpg.com.au">psteege@tpg.com.au></A>
<BR>Subject: Linux Gazette Archives CDROM
<P> I just wondered if there was, or if not has there ever been, any thought
to publishing a Linux Gazette Archives CDROM.
<P> Thank you for a great publication.
<P> Phil Steege
<BLOCKQUOTE><EM>
[See the <A HREF="../lg_faq.html#formats_html">FAQ, question 2</A>.
-Ed.]
</EM></BLOCKQUOTE>
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>,
<A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A><BR>
Copyright © 1999, Specialized Systems Consultants, Inc.<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table cellpadding=7><tr><td>
<IMG SRC="../gx/bytes.gif" border=1 ALT="News Bytes">
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#general">News in General</a>
<li><a HREF="#software">Software Announcements</a>
</ul>
</td></tr></table>
</center>
<a name="general"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="green">News in General</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<center><IMG ALT=" " SRC="gx/cover66.jpg"></center>
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<font color="green">
October 1999 <I>Linux Journal</I>
</font>
</H3>
<P>
The October issue of <A HREF="http://www.linuxjournal.com/"><I>Linux
Journal</I></A> is on the newsstands now. This issue focuses on embedded
systems.
<P> <I>Linux Journal</I> now has articles that appear "Strictly On-Line".
Check out the Table of Contents at
<A HREF="http://www.linuxjournal.com/issue66/index.html">
http://www.linuxjournal.com/issue66/index.html</A> for articles in
this issue as well as links to the on-line articles.
To subscribe to <I>Linux Journal</I>, go to <A
HREF="http://www.linuxjournal.com/ljsubsorder.html">
http://www.linuxjournal.com/subscribe/ljsubsorder.html</A>.
<P>
<font color="green">
For Subcribers Only</font>: <I>Linux Journal</I> archives are now available
on-line at <A
HREF="http://interactive.linuxjournal.com">http://interactive.linuxjournal.com/</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Upcoming conferences & events
</FONT>
</H3>
<P> <A HREF=http://www.linuxshowcase.org>Atlanta Linux Showcase</A>. October
12-16, 1999. Atlanta, GA.
<P> <A HREF=http://www.opensource-forum.com>Open Source Forum</A>. October
21-22, 1999. Stockholm, Sweden.
<P> <A HREF=http://www.usenix.org/events/lisa99>USENIX LISA -- The Systems
Administration Conference</A>. November 7-12, 1999. Seattle, WA.
<P> <A HREF=http://www.comdex.com/comdex/owa/event_home?v_event_id=289>COMDEX
Fall</A> and <A HREF=http://www.zdevents.com/linuxbizexpo/>Linux Business Expo
</A>. November 15-19, 1999. Las Vegas, NV.
<P> <A HREF=http://www.thebazaar.org/>The Bazaar</A>. December 14-16, 1999.
New York, NY. "Where free and open-source software meet the real world".
Presented by EarthWeb.
<P> <A HREF=http://www.sans.org>SANS 1999 Workshop On Securing Linux.</A>
December 15-16, 1999. San Francisco, CA. The SANS Institute is a cooperative
education and research organization.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Red Hat News (Burlington Coat Factory, Japan, etc)
</FONT>
</H3>
<P> DURHAM, N.C.--September 7, 1999--Red Hat, Inc. today announced that
<STRONG>Burlington Coat Factory Warehouse Corporation</STRONG> has purchased
support services from Red Hat for its nationwide Linux deployment.
<P> Under the agreement, Red Hat Services will provide telephone-based suppor t
to more than 260 Burlington Coat stores nationwide (including subsidiaries).
Red Hat will configure, install and provide ongoing maintenance for customized
Dell OptiPlex (R) PCs and PowerEdge servers running factory installed Red
Hat Linux. The Red Hat Linux OS-based systems will host Burlington Coat
Factory's Gift Registry and will facilitate all other in-store functions, such
as inventory control and receiving.
<SPACER TYPE=vertical SIZE=20)
<P> Durham, N.C.--September 7, 1999--Red Hat, Inc. today
announced <STRONG>Red Hat Japan</STRONG>. The new Japanese operation will
deliver the company's award-winning Red Hat Linux software and services
directly to the Japanese marketplace. Red Hat Japan will feature a new,
expanded headquarters and staff, and a new leader for Red Hat's operations in
Japan.
<P> In addition, Red Hat has named software industry veteran Masanobu Hirano as
president of Red Hat Japan. Prior to Red Hat, Mr. Hirano was president of
Hyperion Japan, a subsidiary of Hyperion Solutions, one of the country's most
successful online analytical processing (OLAP) solution vendors. He also served
as vice president and was a board member of ASCII Corporation, one of Japan's
pioneering computer software companies.
<SPACER TYPE=vertical SIZE=20)
<P> Durham, N.C.--September 7, 1999--Red Hat, Inc., today announced
that <STRONG>Gateway</STRONG> has joined its authorized reseller program. When
requested by its customers, Gateway will install Red Hat on its ALR servers
for network business environments.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Free Linux tech support via the web (No Wonder!)
</FONT>
</H3>
Take a look at <A HREF=http://www.nowonder.com>No Wonder!</A> the award winning
l support web site, where real help for Linux, Mac, Windows, BeOS, Web, PDA is
only a couple of clicks away. We currently have over 2000 volunteers ready to
answer questions with more support providers up every day.
<P> "It might sound crazy, but we have been doing it for almost 3 years."
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">News from The Linux Bits
</FONT>
</H3>
<P> The Linux Bits is a weekly ezine at
<A HREF=http://www.thebits.co.uk/tlb/>www.thebits.co.uk/tlb/</A>. It is
perfectly suited to offline viewing (no graphics or banners).
<p><a href="http://www.wsc.monash.edu.au/people/gcross/browsers.html">
<b>A Survey Of Web Browsers Currently Available For Linux</b></a>
<p align=justify>Here's a list of <i>all</i> the Linux browsers and their stage of development. Obviously if you know of one that's not on the list then please let them know.</p>
<P> E-mail signature qutes from
<a href="mailto:laurence@thebits.co.uk"><i>Laurence Hunter -</i></a>:
<BLOCKQUOTE><EM>
<P> Oh My God! They Killed <tt>init</tt>! You Bastards!</font></p>
<P> Your mouse has moved. Windows must be restarted for the change to
take effect. Reboot now? [ OK ]</font></p>
<P> If Bill Gates had a nickel for every time Windows crashed... Oh
wait, he does.</font></p>
</EM></BLOCKQUOTE>
<P> Feature freeze for Linux 2.3:
<A HREF=http://kernelnotes.org/lnxlists/linux-kernel/lk_9909_02/msg00460.html>
kernelnotes.org/lnxlists/linux-kernel/lk_9909_02/msg00460.html</A>
<P> <A HREF=http://www.vision25.demon.co.uk/prog/linuxbirthday.html>
HAPPY 8TH BIRTHDAY LINUX!</A>
On the 17th September 1991, Linus e-mailed his 0.01 kernel to just four
people. Doesn't sound like much does it? Well believe it or not this was
to be the first public release of Linux.
<P> <A HREF=http://www.linuxlinks.com/>Linuxlinks.com</A>.
The trouble with sites that primarily focus on links to other sites, is
that they tend to be thrown together with no real thought and
organisation put into them. Fortunately LinuxLinks.com is not one of
those sites. A great place to track down information on specific
subjects concerning Linux.
<P> LB also has a multi-part review of StarOffice.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Over 4000 UK IT and management training courses online
</FONT>
</H3>
<P> <A HREF=http://www.trainingpages.co.uk>Training Pages</A>, an online
database of IT and management training courses in the UK, has officially passed
the threshold of 4000 entries. At the time of writing, the database detailed
4027 courses from 347 companies. These numbers will almost certainly increase
by the time this notice is released.
<BLOCKQUOTE><EM>
[Type "linux" in the search box to see their 21 Linux courses. -Ed]
</EM></BLOCKQUOTE>
<P> <STRONG>The press release offers a few technical details of the web site:
</STRONG>
<P> No other UK training site offers comparable levels of interactivity
and dynamic web services. The secret behind the site's functionality
is it's integration of open standards, open source software, and a
smattering of in-house programming trickery.
<P> By separating the dynamic functions from the presentational elements
of HTML, the site can constantly be adapted and improved with minimal
human intervention. The programme code currently contains a host of
premium features which have yet to be activated. e.g. direct booking,
last-minute booking, course evaluation, trainer evaluation, freelance
trainers, etc.
<P> Training Pages was developed by GBdirect, a boutique IT consultancy
and training company based in Bradford. A detailed case study of how
they designed and built the site is available from
<A HREF=http://www.gbdirect.co.uk/press/1999/trainingpages.htm>
www.gbdirect.co.uk/press/1999/trainingpages.htm</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">New IDE Backup Device (Arco)
</FONT>
</H3>
<P> HOLLYWOOD, Florida --Arco Computer Products, Inc.,
www.arcoide.com, a leading provider of low cost IDE disk
mirroring hardware, today announced the
DupliDisk RAIDcase, a real-time backup device that offers
PC users a simple and convenient way to maintain an exact,
up-to-the-minute duplicate of their IDE hard drives.
<P> <A HREF=http://www.arcoide.com/RAIDcase.htm>Photo</A>
<P> If a hardware failure disables one of the mirrored drives, the
other takes over automatically. External LEDs change color
to indicate a failed drive and an audible alarm alerts the user
of the drive failure but there is no interruption of service. The
system continues to function normally until the user can find
a convenient time to power down and install a new drive.
Caddies remove easily to facilitate replacement of failed
drives.
<P> The RAIDcase requires neither an ISA nor a PCI bus slot.
IDE and power cables provided by Arco connect the
RAIDcase to the computer's onboard IDE controller and
power supply. Once installed, the RAIDcase operates
transparently, providing continuous automatic hard disk
backup and disk fault tolerance. All data sent from
the PC to the primary drive is automatically duplicated
(concurrently) to the mirroring drive but the system
(and end user) sees only the primary drive.
<P> The RAIDcase uses no jumper settings and requires no
driver, TSR or IRQ. Because it requires no device drivers,
the RAIDcase is essentially operating-system independent.
It has been tested with systems running Windows 3.x, 95, 98
and NT, as well as OS/2, DOS, Unix, Linux, Solaris386,
BSDI and Novell NetWare. Manufacturer's suggested retail
$435
<P> <A HREF=http://www.arcoide.com>www.arcoide.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">News from E-Commerce Minute
</FONT>
</H3>
<P> <A HREF=http://www.ecommercetimes.com>www.ecommercetimes.com</A>
<P> Linux vendor MandrakeSoft announced a strategic partnership with
LinuxOne this week. They intend to develop Chinese language
business and personal software solutions, advancing the cause of
open-source in a potentially explosive Internet and computing
market...
<BR>
<A HREF=http://www.ecommercetimes.com/news/articles/990903-2.shtml>
www.ecommercetimes.com/news/articles/990903-2.shtml</A>
<P> E-commerce solution provider <STRONG>Unify Corp.</STRONG>,
announced this week that two of its forthcoming Internet
software releases will be certified to run on the Red Hat, Inc.
(Nasdaq: RHAT) distribution of the Linux operating system (OS)...
<BR>
<A HREF=http://www.ecommercetimes.com/news/articles/990910-8.shtml>
www.ecommercetimes.com/news/articles/990910-8.shtml</A>
<P> Navarre, a business-to-business e-commerce
company that offers music and software, announced today
that it has entered into a distribution deal with Linux developer
tools provider Cygnus Solutions. The deal is Navarre's sixth
distribution agreement for the Linux operation system and related
products...
<BR>
<A HREF=http://www.ecommercetimes.com/news/articles/990903-6.shtml>
www.ecommercetimes.com/news/articles/990903-6.shtml</A>
<P> Magic Software Enterprises unveiled the latest
version of its e-commerce server Friday, a product powered by
the Red Hat, Inc. (Nasdaq: RHAT) distribution of the red-hot
Linux operating system (OS)...
<BR>
<A HREF=http://www.ecommercetimes.com/news/articles/990920-3.shtml>
www.ecommercetimes.com/news/articles/990920-3.shtml</A>
<P> Oracle Corp. has announced that its Oracle8i
for Linux, a database designed specifically for the Internet, has
been certified to run on the Red Hat, Inc. (Nasdaq: RHAT)
distribution of the open-source operating system (OS). The
announcement officially launches a strategic partnership
between the two companies that is aimed at advancing
corporate adoption of Linux...
<BR>
<A HREF=http://www.ecommercetimes.com/news/articles/990922-7.shtml>
www.ecommercetimes.com/news/articles/990922-7.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">New Linux Bulletin Board
</FONT>
</H3>
<P> ANNOUNCEMENT FROM:
WM. Baker Associates
<P> On 09/13/99 WM. Baker Associates launched the
Linux Bulletin Board at:
<P> http://www.w-b-a.com/linux.html
<P> This new Linux Bulletin Board provides a forum for
visitors to ask questions, learn, and share ideas about
Linux related issues and events.
<P> Bulletin Board Categories include:
<P> Linux Technical Information
Linux News, Events & Publications
Linux Investment Information
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Ziatech and Intel Sponsor Applied Computing Software Seminars
</FONT>
</H3>
<P> San Luis Obispo, CA, September 20, 1999 -- Ziatech Corporation, with
sponsorship from Intel Corporation, is hosting a continuing series of one-day
seminars focusing on real-time operating system solutions for applied computing
applications, it was announced today. Beginning in late October, the 1999
Applied Computing Software Seminar Series will feature presentations from
leading software companies, including Wind River Systems (VxWorks=AE,
Tornado(tm)), QNX Software Systems (QNX=AE, Neutrino=AE), and MontaVista
Software (Hard Hat(tm) Linux), in addition to presentations by Ziatech and
Intel. The seminar series begins in San Jose on October 29, and continues in
San Diego (November 4), Tokyo (November 8), Dallas (November 30), and Boston
(December 2). Each one-day session begin with registration at 7:30 a.m.,
includes lunch, and concludes at 5 p.m.
<P> <A HREF=http://www.ziatech.com/>www.ziatech.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux C Programming Mailing Lists
</FONT>
</H3>
<P> The Linux C Programming Lists now officially exist. They will be
archived on-line and also via majordomo. The Linux C Programming Lists
aim to help people programming linux with C. Hopefully no question will
be too simple nor too difficult for someone on the list to answer. For
anyone learning how to program linux with C these lists will be a
valuable resource to help you in your learning.
<P> David Lloyd has agreed to host a common home page for the linux c
programming lists. It is at
<A HREF=http://users.senet.com.au/~lloy0076/linux_c_programming/index.html>
users.senet.com.au/~lloy0076/linux_c_programming/index.html</A>
<P> The easiest way to become a member of the (dual) lists is to e-mail
<A HREF=mailto:linuxCprogramming-subscribe@listbot.com>listbot.com</A>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green"><I>LJ</I> sopnsors Atlanta Linux Showcase conference and tutorials
</FONT>
</H3>
<P> <I>Linux Journal</I>, the monthly magazine of the Linux community, is proud
to announce its leading sponsorship role in the 1999 Atlanta Linux Showcase.
<P> The Atlanta Linux Enthusiasts and the USENIX association, in cooperation
with Linux International, are pleased to announce the Conference and Tutorials
Schedule for the 3rd Annual Atlanta Linux Showcase.
<P> The tutorial program, sponsored and managed by the USENIX Association will
feature two days of top rate instruction in the following subjects:
<UL>
<LI> System Administration
<LI> Administration in Production Environments
<LI> Inside the Linux Kernel
<LI> Network Administration
<LI> Introduction to the GIMP
<LI> DHCP & DNS
<LI> Introduction to VPNs
</UL>
<P> The Conference program will consist of 41 sessions with up to five sessions
in each track. Our tracks cover all of the cutting edge topics in the Linux
Community today: Distributed Computing, Kernel Internals, Applications,
Security, System Administration, and Development. The sessions are lead by a
top notch line of speakers including Bernie Thompson, Eric Raymond, Phil
Hughes, Matthew O'Keefe, Jes Sorensen, Michael Hammel, Miguel de Icaza, Mike
Warfield, Steve Oualline, Dirk Hondel. Full details on the conference program
are available and online at:
<A HREF=http://www.linuxshowcase.org>www.linuxshowcase.org</A>.
<P> In addition to Jeremy Allison's Keynote, Norm Shryer from AT&T Research
will be giving a keynote entitled: "The Pain of Success, The Joy of Defeat:
Unix History"-the story of what happened to Unix on the way from Ken Thompson's
mind to the marketplace, and how this affects Linux.
<P> ALS activities for attendees include 3 days of free vendor exhibits,
freeform birds-of-a- feather sessions, and the listed tutorials, keynotes, and
conference sessions.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">RMS Software Legislation Initiative
</FONT>
</H3>
<P> Date: Wed, 15 Sep 1999 04:31:52 +0000 (UTC)
<BR>From: Dwight Johnson <dwj@linuxtoday.com>
<BR>To: bod@li.org
<P> Richard Stallman is promoting an initiative to campaign against UCITA and
other legislation that is damaging to the free software movement.
<P> Considering the many legislative issues that affect free software, some,
like myself, believe there is a need for a Ralph Nader type of
organization to both be a watchdog and also lobby legislators to protect
the interests of free software.
<P> Richard Stallman has volunteered himself to lead off the initiative and
Below is his latest correspondence.
<P> Because the free software movement encompasses both commercial and
non-commercial interests and Linux International is an association of
commercial Linux interests, it is probably not appropriate for Linux
International to attempt to serve the watchdog and lobbying function which
is needed.
<P> There are two ways Linux International may become involved:
<P> 1) Individual companies within Linux International may wish to commit
themselves to sponsor the Richard Stallman initiative;
<P> 2) Linux International may collectively endorse and sponsor the Richard
Stallman initiative.
<P> Richard recognizes that his leadership may be controversial to some and
has told me he wants to join with 'open-source' people to support the
common cause.
<P> As Linux and free software/open-source solutions move into center stage in
the technology arena, the agendas of those who support the older model of
intellectual property to oppose the inevitability of this evolution are
becoming more sharply defined and dangerous -- they are seeking
legislative solutions.
<P> We need to pursue our own agenda and our own legislative solutions and
time is of the essence. A cursory search of the Linux Today news archives
will reveal that there are several bills on their way through the U.S.
Congress right now, in addition to UCITA, which could be disruptive to the
free software movement.
<P> I urge the Linux International Board of Directors both collectively and
individually to take action and support the Richard Stallman initiative to
defend open-source/free software against damaging legislation.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Andover.Net Files Registration for Open IPO
</FONT>
</H3>
<P> Acton, Mass.--September 17, 1999-- Andover.Net
<A HREF=http://www.andover.net>www.andover.net</A>, a network of
Linux/Open Source web sites which include
<A HREF=http://Slashdot.org>Slashdot.org</A>, today announced that it has
filed a Registration Statement on Form S-1 with respect to a proposed initial
public offering of 4,000,000 shares of Andover.Net common stock. All 4,000,000
shares are being offered by Andover.Net at a proposed price range of $12 to $15
per share.
<P> Information regarding the OpenIPO process may be obtained through
<A HREF=http://www.wrhambrecht.com>www.wrhambrecht.com</A>. Copies of the preliminary prospectus relating to the offering
may be obtained when available through the web site.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Breakfast
</FONT>
</H3>
<P> New Age Consulting Service, Inc., a Network consulting
corporation and Tier 2 Internet Service Provider that has been providing
corporate Linux solutions for nearly five years, is introducing Linux to
Cleveland at a Breakfast on September 30, 1999. The Linux Breakfast is
designed to educate the quickly expanding Linux market in Cleveland about
the exciting commercial applications of the open source operating system and
how it increases network efficiency in conjunction with or as an alternative
to other network operating systems such as Novell and Microsoft NT server
solutions.
<P> NACS.NET's goal is to provide business owners and managers with information
that demonstrates how Linux is quickly building a strong hold on the
enterprise market and that it is being rolled out in a very strong and well
supported manner. Caldera Systems, Inc. and Cobalt Networks, Inc., national
leaders in Linux technology, will be presenters at the event.
<P> Caldera Systems, Inc. is the leader in providing Linux-based business
solutions through its award winning OpenLinux line of products and services.
OpenLinux for business solutions are full-featured, proven, tested, stable
and supported. Through these solutions, the total cost of ownership and
management for small-to-medium size businesses is greatly reduced while
expanding network capabilities.
<P> Cobalt Networks, Inc. is a leading developer of server appliances that
enable organizations to establish an online presence easily, cost
effectively, and reliably. Cobalt's product lines - the Cobalt Qube, Cobalt
Cache, Cobalt RaQ, and Cobalt NASRaQ - are widely used as Internet and Web
hosting server appliances at businesses, Internet Service Providers, and
educational institutions. Cobalt's solutions are delivered through a global
network of distributors, value-added resellers and ISPs. Founded in 1996,
<A HREF=http://www.cobaltnet.com>Cobalt networks, Inc.</A> is located in
Mountain View, California-the heart of Silicon Valley - with international
offices in Germany, Japan, the United Kingdom, and the Netherlands.
<P> The presentation will be held in the Cleveland Flats at Shooters on the
Water. A full buffet style breakfast will be offered to all registered
attendees.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Franklin Institute Linux web server
</FONT>
</H3>
<P> Philadelphia PA -- The Franklin Institute Science Museum has installed a
Linux Web server built by LinuxForce Inc. The server is now on line and
being used by The Franklin Institute in their Keystone Science Network.
The network has been designed to create a professional community of
science educators throughout the Eastern half of Pennsylvania.
<P> Christopher Fearnley Senior VP Technology LinuxForce Inc. said that
"LinuxForce is proud to have built the server and its integrated Linux
software that will aid the Keystone Science Network in promoting teacher
professional growth." The Network has been designed to promote teacher
professional growth through the implementation of K-8 standards-based
science kits supported by the application of network technology.
<P> The Web Server built for the program by LinuxForce Inc.'s Hardware
Division includes the Debian GNU/Linux operating system. Fearnley
commented that the powerful Keystone web server will meet all current
requirements and the challenge of any expansion beyond the ten core sites
located in school districts throughout the Eastern half of Pennsylvania.
<P> <A HREF=http://www.linuxforce2000.com>www.linuxforce2000.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Java EnterpriseBeans: no-cost developer's version + contest
</FONT>
</H3>
<P> P-P-P-Promotion --- don't start stuttering. If you are on Linux, it's
alright for you to laugh!
Penguin, ProSyst, PSION:
CARESS the Penguin, DOWNLOAD the EJB application server from ProSyst:
EnterpriseBeans Server, Developer Edition without any charge and WIN one
of three PSION Series 5mx Pro palmtop computers every month!
<P> Download EnterpriseBeans Server,
Developer Edition for Linux and register to Win! All download
registrations and answered questionnaires received by October 15,
November 15 and December 15, 1999 will be entered in a drawing to win
any one time one of three PSION Series 5mx Pro palmtop computers. The
winners will be posted on ProSyst's Web site at
<A HREF=http://www.prosyst.com>www.prosyst.com</A> every month.
<P> WIN again: If you have developed some nice Enterprise JavaBeans or
services and you are planning to deploy it, purchase EnterpriseBeans
Server, any Server Edition for Linux by December 31, 1999 and get 50%
off. You save up to US $ 5,500.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Links
</FONT>
</H3>
<P> <A HREF=http://linuxpr.com/>LinuxPR</A>.
From the web page: "Linux PR is a website for organizations to publish press
releases to the enormous market that is the Linux community. Linux PR is backed
by the resources of Linux Today and is offered at no charge. Journalists from
large media organizations can monitor Linux PR as a source for their
Linux-related information."
<a name="software"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="green">Software Announcements</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">C.O.L.A software news
</FONT>
</H3>
<P> <A HREF=http://www2.inow.com/~conover/ntropix/>tsinvest</A> is for the real
time programmed day trading of stocks. "Quantitative financial analysis of
equities. The optimal gains of multiple equity investments are computed. The
program decides which of all available equities to invest in at any single
time, by calculating the instantaneous Shannon probability of all equities..."
Freely redistributable, but cannot sell or include in a commercial product.
<BR> <A HREF=http://www2.inow.com/~conover/ntropix>
www2.inow.com/~conover/ntropix</A>
<P> <A HREF=http://fox.mit.edu/xsw/>xshipwars</A> game (GPL). Uses the latest
Linux joystick driver. Nice-looking lettering and graphics at web site.
<P> <A HREF=http://www.flightgear.org/Downloads/world-scenery.html> Flight
Gear</A> flight simulator game (GPL). "A large portion of the world (in Flight
Gear scenery format) is now available for download." Development version is
0.7.0; stable version is 0.6.2.
<P> <A HREF=http://www.csn.ul.ie/~caolan/publink/wvDecrypt>wvDecrypt</A>
decrypts Word97 documents (given the correct password). A library version
(part of wv library) is also available at
<A HREF=http://www.csn.ul.ie/~caolan/publink/mswordview/development>
www.csn.ul.ie/~caolan/publink/mswordview/development</A>.
<P>
<A HREF=ftp://sunsite.unc.edu/pub/Linux/system/daemons/cron/hc-cron-0.12.tar.gz>
hc-cron</A> (GPL) is a modification of Paul Vixie's cron daemon that
remembers when it was shut down and catches up on any jobs that were missed
while the computer was off. The author is looking for programmers who can
take over its further development.
<P> The <A HREF=http://www.firstlinux.com/product/>Linux Product Guide</A> by
FirstLinux is "a comprehensive guide to commercial Linux resources."
<P> <A HREF=http://www.wirehub.nl/~basjesn/suckmt>suckmt</A> is a
multi-threaded version of suck (an NNTP news puller). Its purpose is to make
fuller use of dialup modem capacity, to cut down on connect-time charges.
It is more of a feasability study than application at this point.
<P> <A HREF=http://members.tripod.it/jaggomiken>Jackal/MEC</A> is a video
streaming client/server pair for Linux.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Personal Genealogy Database project
</FONT>
</H3>
<P> This project is just beginning and needs help in coding. The complete
program objectives and wishlist are at the project home page. For more
information, subscribe to the development mailing list or email the project
manager.
<PRE>
Home Page: <A HREF=http://www.msn.fullfeed.com/~slambo/genes/>www.msn.fullfeed.com/~slambo/genes/</A>
FTP site: none yet; will be announced when code is released.
License: GPL
Development: C++, Qt and Berkeley DB; this may change as development progresses.
Project Manager: Sean Lamb - slambo@msn.fullfeed.com
Mailing List: <A HREF=http://www.onelist.com/community/genes-devel>www.onelist.com/community/genes-devel</A>
Subscribe: blank message to
<A HREF=mailto:genes-devel-subscribe@onelist.com>genes-devel-subscribe@onelist.com</A> or visit the list home page.
</PRE>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Caldera open-sources Lizard install
</FONT>
</H3>
<P> Orem, UT -September 7, 1999 - Caldera Systems, Inc. today announced that
its award-winning LInux wiZARD (LIZARD) - the industry's first point and
click install of Linux -is now available under the Q Public License
(QPL) for download from <A HREF=http://www.openlinux.org>www.openlinux.org</A>.
<P> The LIZARD install was developed for OpenLinux by Caldera Systems
Engineers in Germany, and by Troll Tech, a leading software tools
development company in Oslo, Norway.
<P> LIZARD makes the transition from Windows to Linux easier for the new
user and reduces down time created by command line installation.
"We're happy to contribute back to the Open Source community and Linux
industry," said Ransom Love, CEO of Caldera Systems, Inc. "We're
particularly grateful to Troll Tech for their support of-and
contributions to-this effort. LIZARD will help Linux move further into
the enterprise as others develop to the technology"
"We congratulate Caldera Systems on their bold move of open-sourcing
LIZARD," said Haavard Nord, CEO of Troll Tech. "LIZARD is the easiest to
use Linux installer available today, and it demonstrates the versatility
of Qt, our GUI application framework."
<P> Under the Q Public License LIZARD may be copied and distributed in
unmodified form provided that the entire package, including-but not
restricted to-copyright, trademark notices and disclaimers, as released
by the initial developer, is distributed.
For more information about the Q Public License and distribution
options, please visit
<A HREF=http://www.openlinux.org/lizard/qpl.html>
www.openlinux.org/lizard/qpl.html</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Xpresso LINUX 2000
</FONT>
</H3>
<P> Xpresso LINUX 2000 is a safe, simple, stable computer OS with a full set of
programs (Star Office 5.1, WordPerfect 8, Netscape 4.51, Chess and more).
Everything you need and all made simple for the Linux user. All on a single
CD Rom with small pocket-sized manual.
<P> It is based on Red Hat 6 with the KDE 1.1 graphical interface
and sells for just UK Pounds 15.95, delivered to your door world-wide.
<P> <A HREF=http://www.xpresso.org>www.xpresso.org</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">News from Loki (games and video libraries)
</FONT>
</H3>
<P> TUSTIN, CA -- September 8, 1999 -- Loki Entertainment Software announces
their third Open-Source project, the <STRONG>SDL Motion JPEG Library (SMJPEG)
</STRONG>.
<P> SMJPEG creates and displays full motion video using an open,
non-proprietary format created by Loki. It is based on a modified version
of the Independent JPEG Group's library for JPEG image manipulation and
freely available source code for ADPCM audio compression. Among its many
benefits, SMJPEG allows for arbitrary video sizes and frame-rates,
user-tuneable compression levels, and facilities for frame-skipping and
time synchronization.
<P> Loki developed SMJPEG in the course of porting
Railroad Tycoon II: Gold Edition by PopTop Software and
Gathering of Developers. While Loki is contractually bound to protect the
publisher's original game code, Loki shares any improvements to the underlying
Linux software code with the Open Source community.
<P> Loki's first Open Source project, the <STRONG>SDL MPEG Player Library
(SMPEG)</STRONG> is
a general purpose MPEG video/audio player for Linux, developed while
porting their first title, Civilization: Call to Power by Activision.
The second project is Fenris, Loki's bug system based on Bugzilla from
the Mozilla codebase.
<P> SMJPEG, SMPEG and Fenris are freely available for download from
<A HREF=http://www.lokigames.com>www.lokigames.com</A>, and are offered under
the GNU Library Public License (LGPL).
<P>About Loki Entertainment Software:
Based in Orange County, CA, Loki works with leading game publishers to
port their best-selling PC and Macintosh titles to the Linux platform.
Loki meets a pent-up need in the Linux community by providing
fully-supported, shrink-wrapped games for sale through traditional retail
channels. For more information, visit www.lokigames.com.
<SPACER TYPE=vertical SIZE=20>
<P> Tustin, CA. -- September 17, 1999 -- Loki Entertainment Software, in
cooperation with Activision, Inc. and the Atlanta Linux Enthusiasts,
announces Loki Hack 1999 to be held on October 11 through 13 at the Cobb
Galleria Centre in Atlanta in conjunction with the Atlanta Linux Showcase.
<P> Loki Entertainment Software launched the Linux version of Activision's
popular strategy game Civilization: Call to Power(TM) in May 1999 to
strong reviews. During Loki Hack, up to 30 qualified hackers will have 48
hours in a secure setting to make alterations to the Linux source code
for this game. In turn Loki will make available in binary form all
resulting work from the contest. Winners of this unique contest will be
announced during the Atlanta Linux Showcase. First prize will be a
dual-processor workstation (running Linux of course).
<P> Qualified hackers may apply to participate on the Loki web site (above).
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">New Linux Distribution from EMJ Embedded Systems
</FONT>
</H3>
<P> Apex, NC -- Using Linux for embedded applications on the world's
smallest computer just got easier, thanks to the new EMJ-linux
distribution, developed by EMJ Embedded Systems.
<P> EMJ has compiled a small distribution that runs Linux on JUMPtec's
DIMM-PC/486, saving hardware developers the hours of time required
to modify Linux to run on the worlds smallest PC.
The DIMM PC is a full featured 486 PC in the size of a 144-pin memory DIMM.
<P> The DIMM-PC/486 from JUMPtec measures 40x68 mm (1.57 x 2.68 inches)
but packs the same punch as a standard 486 PC. The DIMM-PC is perfect
for use in high performance applications such as security apparatuses,
medical instruments, factory automation and global positioning systems.
It ships with 16 MB of DRAM, 16 MB of IDE compatible flash and supports
two serial ports and a parallel port, as well as floppy and hard drive
interfaces, a real time clock and watchdog timer, and an I2C-bus.
<P> The EMJ-linux distribution consists of a 1.4MB bootdisk. This bootdisk
contains everything needed to do a network install of EMJ-linux.
Currently v0.9 is a 5.7MB compressed file (9.8MB uncompressed), designed
to download directly to DIMM-PC's 16MB Flash Drive, or to an IDE Drive.
Once loaded, the DIMM-PC with Linux will support Ethernet, TCP/ip,
Telnet, FTP, WWW (Apache 1.3.9), as well as two serial ports, parallel,
floppy, IDE and VGA.
<P> EMJ-linux is based roughly on Slackware v4.0 which uses the current
Linux kernel 2.2.x. It will be kept up to date by EMJ as Linux
revisions occur. EMJ will also develop similar Linux solutions for other
JUMPtec products.
<P> The EMJ-linux distribution is available on EMJ's Web site,
<A HREF=http://www.emjembedded.com/linux>www.emjembedded.com/linux</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Armed Linux: a distro for Windows users
</FONT>
</H3>
<BLOCKQUOTE><EM>
[The following was written by the </EM>LG<EM> Editor, who has not used
the software. The web site is sparse on technical details, so the
comments below may not be totally correct. -Ed.]
</EM></BLOCKQUOTE>
<P> <A HREF=http://www.armed.net/>Armed Linux</A> is a Linux distribution that
comes as a 192 MB zip file. You unzip it under Windows and run a batch file
--- and it installs Linux. <EM>Apparently</EM> (this has not been verified) it
uses the loopback device to create an entire Linux filesystem in a huge DOS
file. An alternative to UMSDOS, for those who remember that.
<P> The current version, workstation beta 1.1, is available for free download,
or for $11.99 on CD. It includes the Enlightenment and WindowMaker, an office
suite, Netscape, an MP3 player, and a graphics editor (GIMP?). A server
version is planned, which will contain Apache/Samba/Sendmail etc. and an SMP
kernel. Both versions have an automated uninstall routine, if you're
nervous about installing an unknow program.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">SMART software for Linux
</FONT>
</H3>
<P> SANTA CRUZ, CA-- Free software enabling users of the Linux operating system
to monitor their hard drives and detect predictable drive failures is available
from the Concurrent Systems Laboratory at the University of California, Santa
Cruz. Development of the software is sponsored by Quantum Corp. of Milpitas,
Calif., a leading manufacturer of hard-disk drives.
<P> The S.M.A.R.T. (Self-Monitoring Analysis and Reporting
Technology) system monitors hard drives and warns of impending failures
before they happen. Originally developed by Compaq, S.M.A.R.T. technology
has become an industry standard for hard drive manufacturers.
<P> "The S.M.A.R.T. system allows the computer to talk to the hard drive and
ask how it's doing by measuring various performance parameters," said
Darrell Long, associate professor of computer science in the Jack Baskin
School of Engineering at UC Santa Cruz.
<P> The initial Phase I release of the S.M.A.R.T. for Linux software only
supports ATA, one of two standard interfaces for connecting hard drives to
computers. A complete software package that supports both ATA and SCSI will
be released by the end of the year, Cornwell said.
<P> The S.M.A.R.T. software for Linux is available from the
following Web site, which also has a link to a Quantum white paper on
S.M.A.R.T. technology: <A HREF=http://csl.cse.ucsc.edu/software/smart/>
http://csl.cse.ucsc.edu/software/smart/</A>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Other software
</FONT>
</H3>
<P> The <A HREF=http://www.gnupg.org/>GNU Privacy Guard</A> (GPG) version
1.0.0 was released on September 7th, 1999. This is a free replacement for
the PGP encryption software.
<P> <A HREF=http://www.threeaxis.com/>Three Axis</A>, a new web site by a
company dedicated to bringing more games to Linux.
<P> <A HREF=http://www.linuxone.net></A>LinuxOne</A> is offering a beta version
of its LinuxOne OS for download. The first 100 subscribers will get it free;
afterwards, there will be a $9.95 shipping and handling charge. (LinuxOne is
also working with MandrakeSoft to develop a Chinese-language workstation and
server distribution.)
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>,
<A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A><BR>
Copyright © 1999, Specialized Systems Consultants, Inc.<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H3>Contents:</H3>
<p><a href="#tag/greeting"
><img src="./../gx/dennis/bbub.gif" alt="(!)" border="0"
align="middle"><strong>Greetings From Jim Dennis</strong></A></p>
<DL>
<!-- index_text begins -->
<dt><A HREF="#tag/1"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Two Network Cards --or--
<dd><A HREF="#tag/1"
><strong>Routing Revisited</strong></a>
<dt><A HREF="#tag/2"
><img src="./../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
><strong>dao</strong></a>
<dd>("helpless" in TAG #44)
<dt><A HREF="#tag/3"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>TCPMUX on Linux --or--
<dd><A HREF="#tag/3"
><strong>TCPMux Revisited:
You'll need a Daemon for it, or a Better inetd</strong></a>
<dt><A HREF="#tag/4"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>The Mac, Linux, perl, Apache & server --or--
<dd><A HREF="#tag/4"
><strong>A Staging Server</strong></a>
<dt><A HREF="#tag/5"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Another "respawning" question --or--
<dd><A HREF="#tag/5"
><strong>Id "x" respawning too fast: Murdered Mysteriously</strong></a>
<dt><A HREF="#tag/6"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>2gig max file size? --or--
<dd><A HREF="#tag/6"
><strong>Large File Support Under Linux/x86</strong></a>
<dt><A HREF="#tag/7"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>http://sunsite.mff.cuni.cz/lg/issue13/answer.html --or--
<dd><A HREF="#tag/7"
><strong>From the Dim History: EQL Revisited</strong></a>
<br>Bandwidth Load Sharing w/o ISP Support
<dt><A HREF="#tag/8"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Modem blues.. --or--
<dd><A HREF="#tag/8"
><strong>High School Modem</strong></a>
<dt><A HREF="#tag/9"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>your web --or--
<dd><A HREF="#tag/9"
><strong>Who is Jim Dennis?</strong></a>
<dt><A HREF="#tag/10"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>redirection of stdin-stdout --or--
<dd><A HREF="#tag/10"
><strong>Programming Question about Regaining stdin/stdout</strong></a>
<dt><A HREF="#tag/11"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>outgoing email using Netscape --or--
<dd><A HREF="#tag/11"
><strong>Outgoing Mail Problems</strong></a>
<dt><A HREF="#tag/12"
><img src="./../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>How to add fonts to Linux --or--
<dd><A HREF="#tag/12"
><strong>Adding Fonts</strong></a>
<!-- index_text ends -->
</DL>
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/greeting"><HR WIDTH="75%" ALIGN="center"></A>
<H3 align="left"><img src="./../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Greetings from Jim Dennis</H3>
<!-- begin greeting -->
<p>There's new excitement at the Answer Guy household this month - my book is
shipping! I know this because I pre-ordered it from Amazon, and my order
has arrived. So, now I can tell you it has a purple binding, and that
the cover is white, with a black and white river scene along the top.</p>
<p><em>[ In the plugs department, if you're going to buy it from Amazon, buy
it through the associate link at our science fiction club, the
<a href="http://www.lasfs.org/">Los Angeles Science Fantasy Society</a>.
You'll get a discount, and help a literary organization at the same
time. -- Heather ]</em></p>
<p>My lovely wife Heather notes that it should also be at Computer Literacy,
if there's one in your area, or you prefer to online shop there.</p>
<p><em>[ <a href="http://www.svlug.org/">SVLUG</a>'s installfests are held
there, and I asked the staff if it was in yet. They said it was at
the warehouse but hadn't hit the stores. That was a week ago, so
they should be in by now. -- Heather ] </em></p>
<p>Onward to Linux itself. The 2.2.13pre kernel is (fingers indicating tiny
space) <em>this close</em> to being ready. 2.2.10 through 12 have some
memory leaks, so a lot of people are safer staying with whatever their
distribution shipped until it's settled in. Alan Cox is putting a lot of
effort into this one really being solid.</p>
<p>You won't find it mentioned at <a href="http://kernelnotes.org/"
>KernelNotes.org</a> - they have good stuff, but
they don't bother to mention the pre-kernels. If you're a brave soul and
really want to see the latest kernel details, you have to go to kernel.org.
I found the .13pre code at
<a href="http://www.us.kernel.org/pub/linux/kernel/alan/2.2.13pre/"
>http://www.us.kernel.org/pub/linux/kernel/alan/2.2.13pre/</a>
though as I've said many times before, I'm no programmer. I just read
README's and comments. (BTW, you can pick a closer mirror if you're in
another country, by replacing "us" with your two letter country code.
Round robin DNS does the rest.)</p>
<p>LinuxCare is sending me on another training visit to another state.
(Although I enjoyed myself in Japan, I'm glad this one is a shorter trip.)
Someone must be looking out for me - the very topic I needed to investigate,
embedded systems, seems to be the big topic for
<a href="http://www.linuxjournal.com/">Linux Journal</a> this month.</p>
<p>I'm sure you didn't come here to read all about that. You came for the
articles. There's a new footer this month to make it easy to get to the
<a href="../lg_index_tag.html">past articles</a>, too. With the short
deadline this month, there will be more than usual next time, I think.</p>
<!-- end greeting -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/1"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 1 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Routing Revisited</H3>
<p><strong>From BK on Wed, 01 Sep 1999
</strong></p>
<!-- ::
Routing Revisited
~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have placed two network cards in my system; one to a firewall
and the other to a hub serving a small two systems network (I'm a
newbie attempting this project.) While booting the kernel detects
the two card very well; I have no IRQ confilcts or any other
mishaps. I have configured the first card (eth0) using '<tt>ifconfig
eth0 192.168.0.1</tt>' and card two using '<tt>ifconfig eth1 192.168.0.2</tt>';
now if I shutdown the system I and reboot and run '<tt>ifconfig</tt>' it
only shows me one card (eth0). How do I get the other card to
remain constant?
</STRONG></P>
<P><STRONG>
Badiane
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
First problem: The '<tt>ifconfig</tt>' command is in no way
persistent. When you configure the IP address, netmask and
broadcast address on an interface, that setting only lasts
until the next reboot (or the next '<tt>ifconfig</tt>').
</BLOCKQUOTE>
<BLOCKQUOTE>
You need to save the settings for your interfaces in a
configuration file somewhere. On a
<A HREF="http://www.redhat.com/">Red Hat</A> system you should
find a file named <TT>/etc/sysconfig/network-scripts/ifcfg-eth0</TT>.
Copy that to the name <tt>ifcfg-eth1</tt> (in the same directory) and
edit the copy. This file is a set of variable assignments
which is "sourced" by one of the <tt>rc*</tt> (start up) scripts. The
variables are then used in the '<tt>ifconfig</tt>' command.
</BLOCKQUOTE>
<BLOCKQUOTE>
When you edit that file, it is VERY important that you
remember to change the <tt>DEVICE=</tt> setting to eth1,
otherwise you'll overwrite the configuration of your eth0 interface.
The name of the <tt>ifcfg-*</tt> file is not correlated to device name!
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's an example of a <tt>ifcfg-*</tt> file from one of my Red Hat
systems:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><pre>
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
BROADCAST=127.255.255.255
ONBOOT=yes
</pre></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
In this example I'm using the <tt>lo</tt>, or loopback, interface
since this system uses DHCP for its ethernet interface and
consequently has no <tt>ifcfg-eth0</tt>. You want to change all of
these settings as appropriate for your other subnet.
</BLOCKQUOTE>
<BLOCKQUOTE>
This brings us to the second and more drastic problem that
you've described. The IP addresses you gave are on the same
subnet. That doesn't make sense!
</BLOCKQUOTE>
<BLOCKQUOTE>
You could probably force it to work with a few proxyarp
commands (to publish the extra IP address of eth1 on the LAN
to which you've connected eth0, and to also publish the other
two IP addresses on eth1's segment to the other network.
</BLOCKQUOTE>
<BLOCKQUOTE>
Another way to make this addressing scheme work would be to
publish special host routes or each of these stray IP
addresses on EVERY system on the eth0 network segment. That
would also constrain you to systems which can properly handle
variable length subnet masking (VLSN).
</BLOCKQUOTE>
<BLOCKQUOTE>
If this last two paragraphs didn't make sense to you then I
suggest TWO things.
</BLOCKQUOTE>
<BLOCKQUOTE>
Don't do that! If you don't understand proxyarp then
definitely don't want to try using it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Read my "Routing and Subnetting 101" article (the
longest I've written for LG TAG to date) at:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
The Answer Guy 36: Routing and Subnetting 101
<DD><A HREF="http://www.linuxgazette.com/issue36/tag/a.html"
>http://www.linuxgazette.com/issue36/tag/a.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
The "Routing and Subnetting 101" article will explain what a
subnet is, why you want to use it and give you a few examples
and tables for determining the valid ways to subnet your
particular network. It will also explain ARP, proxyarp, and
the use of RFC1918 addresses (which you're already using ---
since <tt>192.168.0.*</tt> is one of the Class C address blocks
reserved in that RFC).
</BLOCKQUOTE>
<BLOCKQUOTE>
Since you are using one block of RFC1918 addresses on eth0,
you can easily just use another block for eth1. So you could
use <tt>192.168.1.*</tt>. You can use any number from 1 to 255 for
that third octet. You could also use <tt>172.16.*.*</tt> on eth1 (and
on the other computers/devices on that network segment).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, solve those two problems and you're well on your way to
discovering the next one. (Don't worry, those two are the
only problems I can see from what you've described. So that
may be enough to get the job at hand done. It's just that
I've learned that we don't really solve problems so much as
create new ones and, when we're lucky, delay their discovery
through periods of apparent functionality).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/2"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 2 -->
<H3 align="left"><img src="./../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>dao ("helpless" in TAG #44)</H3>
<p><strong>From Jay Riechel on Thu, 26 Aug 1999
</strong></p>
<BLOCKQUOTE>
Hi:
You probably didn't really want to know what "dao" is. But James (and
you) put it in TAG, so here is my 2c:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
DAO could refer to Microsoft's Data Access Objects.
DAO provides a programmatic interface to Microsoft's Jet database
engine, which originally appeared in Visual Basic. Jet supposedly lets
you access Microsoft's .mdb database format as well as ODBC and ISAM
data sources.
It seems to be another attempt at creating a standard on their own (when
adequate alternatives already exist), just to tie up more market share.
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
I know you avoid MS-related stuff, but hey, knowledge is power!
You two are doing great work. Thanks from me and all the other lurkers!
</BLOCKQUOTE>
<BLOCKQUOTE>
Jay Riechel
</BLOCKQUOTE>
<p><em>[ Thanks Jay (and you're welcome). Things like this are good to know.
Since you've got the answer to this one, your message gets the AnswerBubble!
-- Heather ]</em></p>
<!-- end 2 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/3"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 3 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>TCPMux Revisited: You'll need a Daemon for it, or a Better inetd</H3>
<p><strong>From Helpdesk on Wed, 01 Sep 1999
</strong></p>
<!-- ::
TCPMux Revisited: You'll need a Daemon for it, or a Better inetd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I was trying to configure a few services using the tcpmux - inetd
internal service. but while trying to connect to tcpmux on port 1
it gives me an i/o error on socket and fails to establish a
connection.
</STRONG></P>
<P><STRONG>
could you please elaborate on this.
</STRONG></P>
<P><STRONG>
i was also hunting to find some info on tcpmux but was not able to.
</STRONG></P>
<P><STRONG>
Pleaseeeeeeeeeeeeeeeeeeeeeeeee help. doing some serious bussiness
programming on linux. stuck up.
</STRONG></P>
<P><STRONG>
jaggu
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The default '<tt>inetd</tt>' that ships with most Linux distributions
doesn't support the tcpmux protocol. You'd either need to get a
replacement Internet Dispatch Daemon (like Mike Neuman's BINETD,
"Better INETD" at: <A HREF="http://www.engarde.com/~mcn/binetd/index.htm"
>http://www.engarde.com/~mcn/binetd/index.htm</A>),
or you'd need to write a standalong tcpmuxd and configure your
'<tt>inetd</tt>' to launch it for new connections on TCP port 1.
</BLOCKQUOTE>
<BLOCKQUOTE>
I also found a web page that suggests that some versions of BSD
4.4 inetd include support for TCPMux services:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Manpage of INETD
<DD><A HREF="http://theoryx5.uwinnipeg.ca/gnu/inetutils/inetd.8.html"
>http://theoryx5.uwinnipeg.ca/gnu/inetutils/inetd.8.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
This impression seems to be supported by the online man pages at
the <A HREF="http://www.freebsd.org/">FreeBSD</A> web site:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
FreeBSD Hypertext Man Pages: inetd
<DD><A HREF="http://www.freebsd.org/cgi/man.cgi?query=inetd&apropos=0&sektion=0&manpath=FreeBSD+4.0-current&format=html"
>http://www.freebsd.org/cgi/man.cgi?query=inetd&apropos=0&sektion=0&manpath=FreeBSD+4.0-current&format=html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
So perhaps you could (re-)port that to Linux. Or, perhaps you
could write a standalone daemon to implement the protocol. All
it would do is a simple handshake and launch.
</BLOCKQUOTE>
<BLOCKQUOTE>
Presumably your tcpmuxd daemon would (if you wrote it) use a
separate configuration file (maybe <TT>/etc/tcpmux.conf</TT> would be a
good name) which would tell it which services were available
(names with the custom protocol versions encoded into them
perhaps) and what programs to launch to handle requests for each
of those protocols/services. Obviously this would be serving a
very similar function to the existing inetd.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you were going to write such a daemon, it seems like it would
make sense to derive it from TCP Wrappers. tcpd performs very
similar operations, and you could link the tcpmuxd against
libwrap so that its services could be subjected to the same
access controls and logging that TCP Wrappers provides, while
allowing the administrator to continue using just the
<TT>/etc/hosts.allow</TT> and <TT>/etc/hosts.deny</TT> files for those controls.
</BLOCKQUOTE>
<BLOCKQUOTE>
The TCPMux protocol is described in RFC1078. There are a number
of archives of RFCs on the 'net. Any could search engine should
find them (start with the search engine at Linux Gazette's site
since I know I've provided links to a couple of them in my past
columns).
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's one description of this protocol with some notes about
where it's supported:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
<A HREF="http://www.con.wesleyan.edu/~triemer/network/tcpmux/tcpmux.html"
>http://www.con.wesleyan.edu/~triemer/network/tcpmux/tcpmux.html</A>
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
I've suggested this project to a few open source programmers,
but none have stepped upto the plate. Perhaps you could do it.
Once a good implementation is available, we could encourage
distribution maintainers to include it and programmers to use it
rather than grabbing new ports and perpetuating the problems of
"WKS" (well-known service port numbering).
</BLOCKQUOTE>
<BLOCKQUOTE>
I'd particularly like to see '<tt>mcserv</tt>' (the Midnight Commander
communications service) and AMANDA (the "Advanced Maryland
Network Disk Archiver") use this for their networking protocols.
Those or such specialized protocols that they should use TCPMux
rather than grabbing a port number for a protocol which will
never be implemented in any other clients or servers.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/4"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 4 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>A Staging Server</H3>
<p><strong>From Mark on Wed, 01 Sep 1999
</strong></p>
<!-- ::
A Staging Server
~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
I have an idea and don't quite know if I am tackling it the right way. I own
a mac and would like to set up an external server to help with development
and testing of CGI scripts using Perl. I basically want to emulate my ISP.
Am I right in thinking that I can buy a basic PC, replace windows with Linux
to make it a unix box and then run the Apahe server with Fastperl etc. on
top of that. Plug the whole thing in and serve pages and across a network to
the mac. (sounds easy when you say it like that).
Any pointers, suggestions or advice will be useful.
</STRONG></P>
<P><STRONG>
Regards Mark
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This is referred to as a "staging server" or a "testbed" by
sysadmins. It is basically that easy.
</BLOCKQUOTE>
<BLOCKQUOTE>
The hard parts are gleaning what your ISPs configuration really
is. If you can read their <TT>/etc/httpd/conf/httpd.conf</TT> and related
files (or prevail upon them for copies) then you can probably
make it much easier for yourself). It also might be a bit of a
challenge to collect all of the same modules that they are
running under their copy of <A HREF="http://www.apache.org/">Apache</A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
There are also a few tricky points to consider about the way you
access your content. The most transparent (to your testing
process and applications) will be to use "split DNS" --- where
your Mac/client thinks of a local DNS name server as
"authoritative" for the domain that your (virtual) webserver is
configured to be. Then your local name server points to your
local clone of the web server when you're doing your testing and
to your ISPs web server the rest of the time.
</BLOCKQUOTE>
<BLOCKQUOTE>
Depending one the way you structure your web pages and CGI
applications it may be possible to dispense with the complication
of "split DNS." It just depends on how many of your web pages
and applications make specific hostname references as parts of
their URLs and processing, and whether your development process
allows you to regenerate those pages and CGI scripts with the
necessary URL and hostname changes. It's possible to make all of
your web pages "portable" (using relative links throughout your
HTML for example).
</BLOCKQUOTE>
<BLOCKQUOTE>
Instead of buying a basic PC and having to "replace Windows with
Linux" consider buying a PC with Linux pre-installed. If you
can't find one at a competitive price then contact your preferred
vendor and let them know what you really want (a PC with Linux
pre-installed, or a PC with no OS installed at all).
</BLOCKQUOTE>
<BLOCKQUOTE>
Just replacing MS Windows with Linux (or any other OS) continues
to support the widespread perception that people WANT MS Windows
and that there is no market for alternatives. As more people
adopt Linux, <A HREF="http://www.freebsd.org/">FreeBSD</A>, etc.
this becomes a misconception --- but
it does nothing to encourage independent software vendors!
Ultimately that hurts consumers.
</BLOCKQUOTE>
<BLOCKQUOTE>
At Linux Online there is a list of hardware vendors that sell
systems with Linux pre-installed. You can find it at:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Linux Online - Linux-Friendly Hardware
<DD><A HREF="http://www.linux.org/hardware/index.html"
>http://www.linux.org/hardware/index.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
It would be crass of me to recommend a specific hardware
vendor. It would also be bad idea. I have friends to run VA
Research, and Penguin Computing. Dell is a strategic partner for
my employer. I know people who work at SGI, Compaq/DEC and Sun
(among others). They are all involved in Linux and they all
produce hardware (most of them produce PC clones and are thus is
rather close competition).
</BLOCKQUOTE>
<BLOCKQUOTE>
So you'll have to make your own choices.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 4 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/5"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 5 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Id "x" respawning too fast: Murdered Mysteriously</H3>
<p><strong>From Kelley Butch on Tue, 07 Sep 1999
</strong></p>
<!-- ::
Id "x" respawning too fast: Murdered Mysteriously
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
James,
</STRONG></P>
<P><STRONG>
I've been running LINUX on my Thinkpad 600 for a few months now with
good results. The other day I experienced a power outage and the system
went down. Now, during boot-up and just before the "log-in" screen I
get this:
</STRONG></P>
<Pre><STRONG><BlockQuote>
According to /var/run/gdm.pid, gdm was already running (process id) but
seems to have been murdered mysteriously.
INIT: Id "x" respawning too fast: disabled for 5 minutes
</BlockQuote></STRONG></Pre>
<P><STRONG>
and after 5 minutes I get the same error.
</STRONG></P>
<P><STRONG>
I removed the pid file thinking that would solve the problem, but the
pid file gets recreated and the errors start over again.
</STRONG></P>
<P><STRONG>
The culprit seems to be the last line in my inittab file:
<br><code>x:5:respawn:/etc/X11/prefdm -nodaemon</code>
<br>- (this is a link to <TT>/usr/bin/gdm</TT>)
</STRONG></P>
<P><STRONG>
Thanks in advance,
<br>Butch
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Oh yeah! I've seen that on some
<A HREF="http://www.redhat.com/">Red Hat</A> 6.x systems.
'<tt>prefdm</tt>' is a symbolic link to your preferred display
manager (the original <tt>xdm</tt>, the newer <tt>kdm</tt> for
<A HREF="http://www.kde.org/">KDE</A>, or the
culprit of your problem the <tt>gdm</tt>,
<A HREF="http://www.gnome.org/">GNOME</A> display manager).
</BLOCKQUOTE>
<BLOCKQUOTE>
Try starting the system in single-user mode (or running the
command '<tt>telinit 3</tt>' to switch to the "normal" multi-user
mode without any display manager (graphical login) running.
Then remove the PID file and any stray core files in the
root, <TT>/root</TT> and similar directories.
</BLOCKQUOTE>
<BLOCKQUOTE>
You might also want to look for any UNIX domain sockets
under the <TT>/tmp</TT> directory and <TT>/var</TT>. You can use the command
command: '<code>find /tmp /var -type s -ls</code>' to look for them.
</BLOCKQUOTE>
<BLOCKQUOTE>
You'll normally find a couple of them under <TT>/var</TT> for
things like the printer (might also be under <TT>/dev</TT>) and
gpmctl (console mouse and cut/paste support) as well as
one or two sockets for your X server(s). Those would
normally be in the <TT>/tmp/.X11-unix/</TT> directory and be named
X0, X1, etc. (If you've never run multiple concurrent X
sessions then you'll only see X0 under there).
</BLOCKQUOTE>
<BLOCKQUOTE>
You probably don't have to do anything with those
sockets. However, it might make sense to blow away the
one's under <TT>/tmp.</TT> X will (re-)create those as necessary.
</BLOCKQUOTE>
<BLOCKQUOTE>
The fact that the version of GNOME gdm that shipped with
Red Hat 6.x can't gracefully handle (clean up after) an
inadvertant shutdown or other mishap is very disappointing.
</BLOCKQUOTE>
<BLOCKQUOTE>
Personally I still think GNOME is still beta quality code.
(Or at least it was when RH 6.x shipped). It dumps core
files all of the place, can't figure out whether there is a
living process that owns a 'dead' socket, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
Oh well. At least it's getting a bit better.
</BLOCKQUOTE>
<BLOCKQUOTE>
I did grope around a bit at the GNOME web site:
<A HREF="http://www.gnome.org"
>http://www.gnome.org</A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
I did NOT see this question listed in their FAQ (which
surprises me, since I would think that this would be a very
commonly encountered problem among RH6/GNOME users).
However, I did find a link to a bug tracking system. From
there I searched for messages related to our "murdered
mysteriously" problem. There was some indication that
Martin K. Petersen is the contact for gdm and that he posted
patches to resolve that (and several other) gdm issues.
</BLOCKQUOTE>
<BLOCKQUOTE>
I also saw several references to a <tt>gdm2</tt> (which presumably is
a second version of the GNOME display manager).
</BLOCKQUOTE>
<BLOCKQUOTE>
In any event, you may want to download a set of updates to
your version of GNOME. Hopefully the fix to this problem is
included therein. (I'm pretty sure that the GNOME CVS
sources are updated, I just don't know if there are RH RPMs
of the latest versions and patches readily available).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 5 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/6"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 6 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Large File Support Under Linux/x86</H3>
<p><strong>From Tim on Wed, 08 Sep 1999
</strong></p>
<!-- ::
Large File Support Under Linux/x86
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
I have a box on my network running RedHat 6.0 (x86) that is going to be
used primarily for backing up large database files. These files are
presently 25 gigs in size. While attempting a backup over Samba, I
realized that the file system would not allow me to write a file > 2gig to
disk. I tried using an large file system patch for kernel 2.2.9, but that
only allowed me to write 16 gigs, and it seemed buggy when it was doing
that even. Doing an '<tt>ls -l</tt>' would show me that the file size of
the backup was about 4 gig, but the total blocks in the directory with no
other files there indicated a much higher number like so:
</STRONG></P>
<Pre><STRONG><BlockQuote>
[ root@backup ]# ls -l
total 16909071
-rwxr--r-- 1 ntuser ntuser 4294967295 Sep 2 19:45 file.DAT
</BlockQuote></STRONG></Pre>
<P><STRONG>
I am well aware that a 64 bit system would be the best solution at this
point, but unfortunately i do not have those resources. I know BSDi can
write files this big, as well as NT on 32 bit systems.. i am left
wondering, why can't linux?
</STRONG></P>
<P><STRONG>
Thanks
<br>-Tim
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Linux doesn't currently support large files on 32-bit
platforms. I wouldn't trust an experimental patch to this
job.
</BLOCKQUOTE>
<BLOCKQUOTE>
Use <A HREF="http://www.freebsd.org/">FreeBSD</A> for this
(I've heard that it does support 63-bit
<tt>lseek()</tt> offsets). Samba works just as well on FreeBSD as Linux.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you really need to use Linux for this project then use it
on an Alpha.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note: You could back these up to raw partitions (without
filesystems made on them). However, I wouldn't recommend that.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 6 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/7"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 7 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>From the Dim History: EQL Revisited</h3>
<h4 align="center">Bandwidth Load Sharing w/o ISP Support</h4>
<p><a href="../issue13/answer.html">Issue 13</a> was the very
first issue that contained the Answer Guy's replies!</p>
<hr width="40%" align="center">
<p><strong>From Andrew Byrne on Wed, 08 Sep 1999 </strong></p>
<P><STRONG>
Hi there,
</STRONG></P>
<P><STRONG>
I came across the information below on the web page
<A HREF="http://sunsite.mff.cuni.cz/lg/issue13/answer.html"
>http://sunsite.mff.cuni.cz/lg/issue13/answer.html</A>
which appears to be written by you.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Well, that would probably be mine. I guess that would be a
mirror in Czechoslovakia.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Since it dates back to late 1996, I was wondering if you have any new
information on EQL. I have been told by someone who works for an ISP that
EQL may still work even if it isn't supported at the ISP's end of the
connection. He noted that all incoming connections could only be directed
to either dial-up connection's IP address, but all outgoing data could be
sent via EQL.
</STRONG></P>
<P><STRONG>
If this is true, then EQL may work for what I need, that being using it
with two 33.6kbps PPP connections to provide a web server. All incoming
requests would come via one PPP connection, but web traffic sent out would
be shared across the two PPP connections.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Actually, if you use DNS round robin then incoming requests
will be roughly distributed across each connection. Using
"policy-based" routing and the "equal-cost multi-path"
options in the Linux kernel can give you the load
distribution on the outbound traffic.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
If you do know any more about how EQL works, could you please tell me if
what I'm saying is true, or correct me if i'm wrong.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I think it will be better to address the objective. You
want traffic distribution over multiple ISP links but you're
asking about traffic distribution over multiple low-level
links to a single ISP (EQL). They aren't quite the same
thing.
</BLOCKQUOTE>
<BLOCKQUOTE>
It is quite common for people to present a diagnosis and
perceived solution as though it was their question. One of
the things I learned as a tech support guy (and continually
strive to remember) is to look past the question that's
presented, and guess at the underlying objective.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thankyou!
<br>Andrew Byrne.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Before I answer I'll also quote something I said at the end
of my original answer:
</BLOCKQUOTE>
<font color="#000066"><strong><BlockQuote><em>
(After reading this you'll know about as much on this subject
as I do; after using any of this you'll know </EM>much<EM> more).
</em></BlockQuote></strong></font>
<BLOCKQUOTE>
This is true of many things that I say in this column. It will
be worth remembering as you read on.
</BLOCKQUOTE>
<BLOCKQUOTE>
As far as I know EQL still has the constraints that I
detailed back in 1996. Your ISP must participate with a
compatible driver on his end; both of your lines must go to
a single host at your provider's end.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's also important to note that EQL and other "bonding" or
line multiplexing scheme will only increase your effective
bandwidth. This does nothing to lower your latency. Here's
a useful link to explain the importance of this observation:
</BLOCKQUOTE>
<BLOCKQUOTE>
<strong>Bandwidth and Latency: It's the Latency, Stupid</strong>
<dd>by Stuart Cheshire <<A HREF="mailto:cheshire@cs.stanford.edu"
>cheshire@cs.stanford.edu</A>>
<dl>
<dt>TidBITS#367/24-Feb-97 (Part 1)
<DD><A HREF="http://www.tidbits.com/tb-issues/TidBITS-367.html#lnk4"
>http://www.tidbits.com/tb-issues/TidBITS-367.html#lnk4</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
TidBITS#368/03-Mar-97 (Part 2)
<DD><A HREF="http://www.tidbits.com/tb-issues/TidBITS-368.html#lnk4"
>http://www.tidbits.com/tb-issues/TidBITS-368.html#lnk4</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
(Someone kindly pointed me to some copy of this article back
when this column was published. Now, at long last, I can
pass it along. I don't remember whether I was publishing
follow-up comments to TAG columns back then).
</BLOCKQUOTE>
<BLOCKQUOTE>
In any event EQL is not appropriate for cases where you want
to distribute your traffic across connections to different
providers. It's not even useful for distributing traffic
load to different POPs (points of presence) for one ISP.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, there are a couple of options that might help.
</BLOCKQUOTE>
<BLOCKQUOTE>
First, you could simple DNS round robin. This is the
easiest technique. It is also particularly well suited to
web servers. Basically you get one IP address from one ISP,
and another from a different ISP (or two addresses from
different subnets of one ISP). You can bind each of these
addresses to a different PPP interface. If you were using
ISDN or DSL routers (connecting to your system via ethernet)
then you'd use IP aliasing, binding both IP addresses to one
ethernet interface in your Linux host. Then you create an A
record for each of these in your DNS table. Both A records
(or all of them, if you're using more than two) are under
the name: www.YOURDOMAIN.XXX).
</BLOCKQUOTE>
<BLOCKQUOTE>
DNS round robin is quite simple. It's been supported for
years. Basically it's a natural consequence of the fact
that hosts might have multiple interfaces. So I might have
eth0 and eth1 on a system known as foo.starshine.org. There
is no law that says that these interfaces have to be in the
same machine. I can create two web servers with identical
content, and refer to both of them as www.starshine.org.
</BLOCKQUOTE>
<BLOCKQUOTE>
The only change that was required for "round robin DNS" was
to patch BIND (named, the DNS daemon) to "shuffle" the order
of the records as it returned them. Clients tend to use the
first A record they find. Actually a TCP/IP client should
scan the returned addresses for any DNS query to see if any
of them are on matching subnets. Thus a client on the
<tt>192.168.2.*</tt> address should prefer the <tt>192.168.2.*</tt> address
over a <tt>10.*.*.*</tt> address for the same hostname. (For our
purposes this will not be a problem since 99.9999% of your
external web requests will not be from networks that share
any prefix to yours).
</BLOCKQUOTE>
<BLOCKQUOTE>
The load distribution mechanics of this technique are
completely blind. On average about half of the clients will
be accessing you through one of the IP addresses while the
other half will use the other address. In fact, for N
addresses in a round robin farm you'll get roughly 1/N
requests routed to each.
</BLOCKQUOTE>
<BLOCKQUOTE>
The is the important point. Since you're not "peering" with
your ISPs at the routing level (you don't have an AS number,
and you aren't running BGP4) then the links between you and
your ISPs are static. Thus the IP address selected by a
client determines which route the packets will take into
your domain.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note, only the last few hops are static. You're ISP might
be using some routing protocol such as RIP or OSPF to
dynamically select routes through their network, and the
backbones and NAP (network access points) are always using
BGP4 to dynamically select the earlier portions of the
routes --- the ones that lead to your ISP.
</BLOCKQUOTE>
<BLOCKQUOTE>
I realize this is confusing without a diagram. Try to
understand this: each packet between your server and any
client can travel many different routes to get to you.
That's true even if you only have a single IP address.
However, the first few hops (from the client's system to
their ISP) are usually determined by static routes. The
last few hops (from your ISP to your server) are also
usually along static routes. So, for almost all traffic
over the Internet it's only the middle hops that are
dynamic.
</BLOCKQUOTE>
<BLOCKQUOTE>
The key point about DNS round robin load balancing (and
fault tolerance) is that the different IP addresses must be
on different networks (and therefore along different
routes).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, this handles the incoming packets. They come into
different IP addresses on different networks. Therefore
they come in through different routes and thus over
different connections to your ISP(s).
</BLOCKQUOTE>
<BLOCKQUOTE>
Now, what about outgoing traffic. When we use round robin
to feed traffic to multiple servers (mirrored to one
another) there is no problem. Each of the server can have
different routes (outbound), so the traffic will return
along roughly the same route as it traversed on it way in.
</BLOCKQUOTE>
<BLOCKQUOTE>
When we use round robin to funnel packets into a single
system we have a problem.
</BLOCKQUOTE>
<BLOCKQUOTE>
Consider this: an HTTP request comes in on 192.168.2.34 from
172.17.89.10; the web server fashions a response (source:
192.168.2.34, destination: 172.17.89.10). What route will
this response take?
</BLOCKQUOTE>
<BLOCKQUOTE>
The default route.
</BLOCKQUOTE>
<BLOCKQUOTE>
There can normally only be one default route. Normally only
the destination address is considered when making routing
selections. Thus all packets that aren't destined for one
of the local networks (or one of the networks or hosts
explicitly defined in one of our routing tables) normally go
through our default.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, this is Linux. Linux is not always constrained by
"normalcy."
</BLOCKQUOTE>
<BLOCKQUOTE>
In the 2.2 and later kernels we have a few options which
allow us finer control over our routing. Specifically we
"policy based routing" in the kernel, get the "<tt>iproute</tt>"
package and configure a set of routes based on "source
policy." This forces the kernel to consider the source IP
address as well as the destination when it makes its route
selection.
</BLOCKQUOTE>
<BLOCKQUOTE>
Actually it allows us to build multiple routing tables, and
a set of rules which select which table is traversed based
on source IP address, TOS (type of service flags) and other
factors.
</BLOCKQUOTE>
<BLOCKQUOTE>
I found a short "micro HOWTO" on the topic at:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Linux Policy Routing
<DD><A HREF="http://www.compendium.com.ar/policy-routing.txt"
>http://www.compendium.com.ar/policy-routing.txt</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
... that site was hard enough to reach that I've
tossed a copy on my own web site at:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Starshine Technical Services: The Answer Guy
<DD><A HREF="http://www.starshine.org/tag"
>http://www.starshine.org/tag</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
(I should do that more often!).
</BLOCKQUOTE>
<BLOCKQUOTE>
There are also some notes under
<TT>/usr/src/linux/Documentation/networking/</TT> in any of the
recent (2.2.* or later) kernel.
</BLOCKQUOTE>
<BLOCKQUOTE>
I guess it's also possible to enable the "equal cost
multi-path" option in the kernel. This is a simple (and
crude) technique that will allow the kernel to use redundant
routes. Normally if I were to define two routes to the same
destination then only the first one will be used, so long as
that route is "up." The other (redundant) route would only
be used when the kernel received specific ICMP packets to
alert it to the fact that that route was "down." With
multi-path routing we can define multiple routes to a given
destination and the kernel will distribute packets over them
in a round-robin fashion.
</BLOCKQUOTE>
<BLOCKQUOTE>
I think you could enable both of these features. Thus any
outbound traffic which matched none of your policies would
still be distributed evenly across your available default
routes.
</BLOCKQUOTE>
<BLOCKQUOTE>
I hope you understand that these techniques are ad hoc.
They accomplish "blind" distribution of your load across
your available routes/connections without any sensitivity to
load or any weighting. This is a band-aid approach which
gives some relief based on the averages.
</BLOCKQUOTE>
<BLOCKQUOTE>
Let's contrast this to the ideal networking solution. In an
ideal network you'd be able to publish all of the routes to
your server(s). Routers would then be able to select the
"best" path (based on shortest number of hops across least
loaded lines with the lowest latencies).
</BLOCKQUOTE>
<BLOCKQUOTE>
In the real world this isn't currentl feasible for several
reasons. First, you'd have to have an AS (autonomous
systems) identification. You're ISPs (all of them) would
have to agree to "peer" with you. They'd have to configure
their routers to accept routes from you. Naturally they
would also have to be "peering" with their interconnects and
so on. Finally these routes would then take up valuable
memory in the backbone and 2nd tier routers all over the
Internet. This extra entry in all of those routers is an
additional bit of overhead for them.
</BLOCKQUOTE>
<BLOCKQUOTE>
Ultimately a router's performance is limited to the number
of routes it can hold and the amount of computation that it
takes to select an interface for a given address. So it's
not feasible to store entries for every little "multi-homed"
domain on the Internet. In fact the whole point of the CIDR
"supernetting" policies was to reduce the number of routes
in the backbone routers (and consequently reduce the
latencies of routing traffic through them).
</BLOCKQUOTE>
<BLOCKQUOTE>
So we use these cruder techniques of "equal-cost multi-path"
and "policy-based" routing. They are things that can
be done at the grassroots level (which is the Linux forte,
of course).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 7 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/8"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 8 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>High School Modem</H3>
<p><strong>From andrew on Tue, 21 Sep 1999
</strong></p>
<!-- ::
High School Modem
~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I am a high school student/web developer/tech and I've been
</STRONG></P>
<P><STRONG>
tampering with linux lately. I've been having a lot of fun (if that's
the right word..) with it, but I cannot get my modem to work. I have a
Telepath 56K modem built by USR for Gateway 2000 for use in OEM
computers like mine. For the I've been looking every where for help to
no avail... could you help me out answer man?
</STRONG></P>
<P><STRONG>
System information:
Intel 440LX w/ Intel P2-300, running red hat linux (kernel 2.2.10)
</STRONG></P>
<P><STRONG>
- Thanks,
Andrew Shrum (<a
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It's probably a winmodem. Search the
<a href="../lg_faq.html">Linux Gazette FAQ</a>
and you'll see what I have to say about those (and lots
of hints on using real modems).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/9"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 9 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Who is Jim Dennis?</H3>
<p><strong>From SeanieDude on Tue, 21 Sep 1999
</strong></p>
<!-- ::
Who is Jim Dennis?
~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Why the f*ck is your name listed so damn much in hotbot?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Err. 'Cause I write a column for an online Linux magazine.
I've been writing the "Linux Gazette's Answer Guy" column for about
three years.
</BLOCKQUOTE>
<BLOCKQUOTE>
Honestly, my name only returns 2,000 hits on Hot Bot. Linus
Torvalds (Linux' namesake) returns 9,990. If you search on
the terms jim and dennis (not the phrase "jim dennis" with quotes)
you get a bunch of stuff about Dennis Hopper being interviewed by
Jim Carrey (or something like that). On Yahoo! my "vanity rating"
is 4200 (which includes some false hits of course).
</BLOCKQUOTE>
<BLOCKQUOTE>
I only get about a 1,000 web page hits on Alta Vista (including
links to some "trivia question" pages on the Linux Users Group at
the Los Angeles Airport(*). I remember that this was a trivia
question at some Linux conference, though I don't remember which
one.
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(<A HREF="http://www.pelourinho.com/linuxatlax/linuxtrivia/tsld061.htm"
>http://www.pelourinho.com/linuxatlax/linuxtrivia/tsld061.htm</A>)
</ul></blockquote>
<blockquote>Oddly enough I'm also listed in the credits of the sed FAQ
(surprised me --- I don't remember helping on that; but they got
one of my e-mail addresses right so it's probably from when I was
active on the comp.lang.awk newsgroup).
</BLOCKQUOTE>
<BLOCKQUOTE>
At Deja.com I found an amusing reference to myself. Some in
the Netherlands apparently adopted an old .sig (signature quote)
of mine to which he left on my name as the attribution:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
"Any sufficiently advanced Operating System is indistinguishable
from Linux."
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... though I thought I'd said "UNIX" instead of Linux in that one.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway, searching for yourself online can be fun and entertaining.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can read more than you want to know about me (and quite a bit
more about Linux) by going to <A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A>
(and its many mirrors) to <A HREF="http://www.starshine.org"
>http://www.starshine.org</A> (my home, and
my wife's consulting service) and <A HREF="http://www.linuxcare.com"
>http://www.linuxcare.com</A> (my
employer), and at:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
<A HREF="http://www.amazon.com/exec/obidos/ASIN/1562059343/o/qid=937947698/sr=2-1/002-3892219-4037450"
>http://www.amazon.com/exec/obidos/ASIN/1562059343/o/qid=937947698/sr=2-1/002-3892219-4037450</A>
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
(my new book: "Linux System Administration").
</BLOCKQUOTE>
<!-- sig -->
<p><em>[ As we go to press, the book is already hitting the stores, as well.
It has a purple spine, and a white cover with a river scene along the top.
-- Heather ]</em></p>
<!-- end 9 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/10"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 10 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Programming Question about Regaining stdin/stdout</H3>
<p><strong>From Marco Mele on Wed, 22 Sep 1999
</strong></p>
<!-- ::
Programming Question about Regaining stdin/stdout
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
After a freopen() to redirect stdin or stdout,
how to get back the stdin to the keyboard and the
stdout to the screen?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It sounds like a C/C++ programming question.
I'm not a C programmer.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, I might try keeping my stdin and stdout
file handles and using an <tt>open()</tt> call on new
file handles for my other file operations. Then
you can perform the relaying yourself, and thus
control what data goes to each of these streams.
</BLOCKQUOTE>
<BLOCKQUOTE>
I suppose you could save the value of your
current TTY (using the coding equivalent of the
'<tt>tty</tt>'(1) command; grab its sources for an example)
and re-open them later. (If this was a "do my homework"
question your assignment is going to be pretty late,
and probably wrong).
</BLOCKQUOTE>
<!-- sig -->
<p><em>[ This message arrived while Jim was on a two week assignment in
Japan... although he has begun to read into the backlog, there
are likely to be a few more late answers coming your way, gentle
readers. -- Heather ]</em></p>
<!-- end 10 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/11"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 11 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Outgoing Mail Problems</H3>
<p><strong>From ronsueboe on Wed, 22 Sep 1999
</strong></p>
<!-- ::
Outgoing Mail Problems
~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Answers Guy
</STRONG></P>
<P><STRONG>
Using <A HREF="http://www.redhat.com/">Red Hat</A> 5.2 and <A HREF="http://www.suse.com/">S.u.S.E.</A> 6.1 I have suddenly run into the same
problem. Very terse email relpy's go-mostly. Longer ones don't.
Receiving doesn't seem to be an issue. Sendmail is activated but all my
emailing is thru Netscape on a dial-up connection and I boot the machine
anytime I need to use it otherwise it's off. I tried to disable
Sendmailbut this doesn't seem to help.
</STRONG></P>
<P><STRONG>
Any ideas? One more thing. Under RedHat the first message usually would
go but nothing after it though it was not hard and fast.
</STRONG></P>
<P><STRONG>
Any ideas?
Ron
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not sure I understand the whole question. It sounds
like you receive mail just fine, but you have intermittent
problems sending mail. You think it might be related to the
message size. You use use Netscape (Communicator,
presumably) to send your mail. You think '<tt>sendmail</tt>' might
be involved.
</BLOCKQUOTE>
<BLOCKQUOTE>
I think Communicator tries to send mail directly (looking up
your recipient's host MX record and attempting to connect to
its SMTP port). It may be that you have it configured
to connect to your localhost, or it might "fall back" to
relaying through your localhost MTA (sendmail) when it
sees a message of a given size, or when it can't connect
directly to the appropriate recipient system.
</BLOCKQUOTE>
<BLOCKQUOTE>
Run the '<tt>mailq</tt>' command to see if they are landing
in your local mail queue (sendmail). If so, trying
connecting to your ISP and running a few copies of
'<tt>sendmail -q &</tt>' (you can run several of these in the
background so that their MX lookups and TCP converstations
will occur in parallel). Then you might want to reconfigure
NS Communicator to relay your mail through your ISP
mail host (often the same one from which you fetch your
mail --- your POP or IMAP server).
</BLOCKQUOTE>
<BLOCKQUOTE>
If not, you might want to look at your <TT>/var/log/messages</TT>
more closely --- to see if your mail is going through there.
You could also run '<tt>tcpdump</tt>' to watch the traffic on your
PPP (or other TCP/IP) line, and see if the traffic is
going through your interface at all.
</BLOCKQUOTE>
<BLOCKQUOTE>
Personally I don't use GUI mailers. I also don't like
it when an MUA (user agent) tries to perform transport
services (the job of an MTA). I prefer to be able to
configure system and site policies on host and network
wide bases. So the MTA can do masquerading (making
my "From" addresses conform to reasonable patterns),
and routing (through my firewalls, etc). Of course this
is the bias of a professional sysadmin who works with
large sites. For an individual home user it's really about
the same either way (though often easier to play with the
GUI MUA than to configure your MTA).
</BLOCKQUOTE>
<BLOCKQUOTE>
(If '<tt>sendmail -q</tt>' does help --- you may want to add
it to your PPP '<tt>ip-up</tt>' script, so a queue run is
performed every time you bring up your ISP link).
</BLOCKQUOTE>
<BLOCKQUOTE>
I hope that works out. You might want to try some
tests with '<tt>elm</tt>' or some other simple MUA as part of
your troubleshooting --- if the '<tt>mailq</tt>' and '<tt>sendmail -q</tt>'
commands don't do the trick.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 11 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/12"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 12 -->
<H3 align="left"><img src="./../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Adding Fonts</H3>
<p><strong>From Swami Atmarupananda on Wed, 22 Sep 1999
</strong></p>
<!-- ::
Adding Fonts
~~~~~~~~~~~~
:: -->
<P><STRONG>
I've got a long shelf of linux books, and none of them say anything
about how to add fonts. They all tell you in great detail what fonts
are on the system, but not how to add them. I'm using
<A HREF="http://www.suse.com/">S.u.S.E.</A> 6.1 (shortly
to upgrade to 6.2), but have used RedHat also (5.2 and 6.0).
</STRONG></P>
<P><STRONG>
I understand that TrueType support is not yet built into the kernel (can
be used with limited success in Star Office 5.1), but perhaps soon will
be. But going with the present font support, how can one add fonts?
</STRONG></P>
<P><STRONG>
Thanks.
Swami Ananda
</STRONG></P>
<BLOCKQUOTE><IMG SRC="./../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I assume you're talking about adding display fonts to your X
system.
</BLOCKQUOTE>
<p><em>[ It's worth noting that in Linux terms, X is </em>not<em> the kernel.
The console driver isn't going to support TrueType, although
it can be convinced to use special raster fonts, and if I
recall correctly SuSE actually makes it quite easy to set
those (use YaST). -- Heather ]</em></p>
<BLOCKQUOTE>
I've never added any X fonts to any of my Linux boxes. As
many of my long time readers know I mostly work with servers
and text. However, Heather, my lovely wife (and assistant
LG TAG editor) does use X quite a bit more.
</BLOCKQUOTE>
<BLOCKQUOTE>
From what she says you should be able to just add your new
fonds (BDF or Type 1) into any of one the directories that's
listed in your XF86Config file's FontPath. Edit the config
file, look for the "files" section and you should see the
list of FontPath entries. Alternatively you can put your
new fonts in a new directory (<TT>/usr/local/X11/fonts</TT>, maybe)
and add that to your FontPath.
</BLOCKQUOTE>
<BLOCKQUOTE>
After that you MUST RUN the '<tt>mkfontdir</tt>' command to generate
the <TT>.../fonts.dir</TT> files in each of these directories. Read
the '<tt>mkfontdir</tt>' man page for more details on that.
</BLOCKQUOTE>
<p><em>[ The mkfontdir is really important because the resulting text files
help tell X how to internally map between a font name you and I
might consider normal (for example, "fixed"), the file name
(<tt>6x13.pcf.gz</tt>),
and the much longer font designator created by X applications
(ex: "<tt>-misc-fixed-medium-r-normal-*-15-*-75-75-c-90-iso8859-1</tt>").
It's certainly possible to create the entries yourself, by hand,
and I generally do, just to improve my understanding. The important
thing is to look at the files that should already be there. And of
course, it won't take effect until your font server gets restarted.
-- Heather ]</em></p>
<BLOCKQUOTE>
Other subsystems have their own font handling.
</BLOCKQUOTE>
<BLOCKQUOTE>
For example you can add fonts to the LaTeX (teTeX) system
using their '<tt>fontimport</tt>' script (read its man pages, the
teTeX.FAQ, and or browse Thomas Esser's web pages at:
<A HREF="http://tug.org/teTeX"
>http://tug.org/teTeX</A>). teTeX is a distribution of the
TeX/LaTeX typesetting system. LaTeX is a set of TeX macros,
style sheets and document class definitions and TeX is a
Donald Knuth's typesetting language: a programming language
for describing typeset pages (and typeset pages of technical
information, mathematical formulae in particular).
</BLOCKQUOTE>
<BLOCKQUOTE>
There is another text driven typesetting package on a
typical Linux system called '<tt>roff</tt>' (which is actually
'<tt>groff</tt>' the GNU '<tt>roff</tt>' suite).
'<tt>roff</tt>' is short for '<tt>runoff</tt>'
(apparently an old typesetting term). Your man pages are in
<tt>*roff</tt> format, and there are pakages like '<tt>tbl</tt>' (table
typesetter) and '<tt>pic</tt>' (picture typesetting language), and
'<tt>eqn</tt>' (for equations and formulae). You can add fonts to
the '<tt>groff</tt>' subsystem using commands like '<tt>afmtodit</tt>' and
'<tt>tfmtodit</tt>'.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course your printing subsystem might have many fonts of
its own. For example you might be using GhostScript (<tt>gs</tt>) to
render PostScript into your printer's native page
description language (PDL). GhostScript allows you to make
many printers emulate a PostScript printer. This allows you
to transparently use applications that only know how to
generate plain text or PostScript (many) without paying for
a PostScript printer.
</BLOCKQUOTE>
<BLOCKQUOTE>
Generally you print LaTeX files using '<tt>dvips</tt>' (<tt>.dvi</tt>, or
"DeVice Independent," is the intermediate or "object"
file output of TeX and LaTeX), or '<tt>grops</tt>' (the '<tt>groff</tt>' to
PostScript) tool to print TeX and/or <tt>*roff</tt> files. However,
there are many utilities (dviware) that can directly
drive many printers in their own native PDL.
</BLOCKQUOTE>
<BLOCKQUOTE>
As for TrueType support. You are correct. The current
releases of XFree86 don't include support for TrueType.
However, they do point out a number of alternative solutions
in their FAQ at <A HREF="http://www.xfree86.org"
>http://www.xfree86.org</A> (where most people
with questions about X under Linux should go instead of me!)
</BLOCKQUOTE>
<BLOCKQUOTE>
They mention that they are planning to incorporate TrueType
support into the next major release (presumably that will be
4.0). Meanwhile individual programs can implement their own
TrueType or other independent font support as needed. It's a
shame for them to do that, as the windowing system should
provide it in one place rather than having each client do it
separately. However it can be done.
</BLOCKQUOTE>
<p><em>[ On my primary graphics workstation (betelgeuse, our VARstation II)
I run a copy of <tt>xfs</tt> (the X external font server) that
understands TrueType as well as the usual run of fonts. Running
font services externally means canopus, deneb, and if I was really
crazy antares, can all share all these TTFs that I took the effort
to set up. It was part of a binary package available for <tt>xfstt</tt>,
which I found when I read an LG article about some other app trying
to provide TrueType support.</em></p>
<p><em> Anyways, with this, I can use TTF's in the GIMP very easily. I now
have too many fonts to view them effectively in <tt>xfontsel</tt>,
but I don't care. It is frustrating that Netscape won't properly
scale TrueType fonts for me, but that appears to be Netscape's
problem, not mine.
-- Heather ]</em></p>
<BLOCKQUOTE>
I gather that the GTK canvas has some support for PostScript
fonts (GTK is the GIMP Toolkit, a set of programming
libraries originally written for the GIMP, GNU Image
Manipulation Program, and used as the display technology for
<A HREF="http://www.gnome.org/">GNOME</A>). Perhaps they'll add
TrueType to that, and/or to DGS
(Display GhostScript, part of the GNUStep project) before
XFree86 4.x ships.
</BLOCKQUOTE>
<BLOCKQUOTE>
As you can see, fonts are a complex issue. However, you
probably were mainly interested in just displaying them, and
possibly adding printer support. I suspect you aren't using
LaTeX or '<tt>groff</tt>' typesetting.
</BLOCKQUOTE>
<BLOCKQUOTE>
The '<tt>gs</tt>' (GhostScript) installation often gets installed
with your distribution and just works without much further
thought. However, I don't know if you can find a <tt>.ttf</tt> to
<tt>.afm</tt> conversion tool. It would probably need that to
get printing to work.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hello! Here's a link:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
The (preliminary) TrueType HOWTO
<DD><A HREF="http://www.moisty.org/linux/TrueType-HOWTO.html"
>http://www.moisty.org/linux/TrueType-HOWTO.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
Look at questions 3.1 and 3.2!
</BLOCKQUOTE>
<BLOCKQUOTE>
Often I don't find the best FAQs in my web searches until
I've written most of my message for LG. That's because I
write "off the cuff" and do the research (usually
in '<tt>lynx</tt>', in another '<tt>screen</tt>' window as I type).
</BLOCKQUOTE>
<BLOCKQUOTE>
It looks like newer versions of GhostScript can be compiled
to support TrueType fonts. I guess that would have been
in your '<tt>gs</tt>' man pages if you had the new version.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've copied Brion Vibber, the author of this (prelimary)
HOWTO to encourage him to submit that HOWTO to the
LDP as soon as possible. (Brion, don't worry if it's
done! It's info we want to see in the LDP tree NOW!).
</BLOCKQUOTE>
<BLOCKQUOTE>
I hope all of that helps.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 12 -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- QUICK TIPS SECTION ================================================== -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.gif">
More 2¢ 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><font color="#CC0000">New Tips:</font></H3>
<!-- BEGIN xref tips -->
<ul>
<li><a HREF="#laptop">Laptop in different places, setting up different DNS
</a>
</ul>
<!-- END xref tips -->
<H3><font color="#CC0000">Answers to Mail Bag Questions:</font></H3>
<!-- BEGIN xref tips.answers -->
<ul>
<li><a HREF="#laptop2">reply to Linux on a laptop
<li><a HREF="#signature">Funny signature
<li><a HREF="#dns_fly">DNS on the fly
<li><a HREF="#ati">ATI rage LT PRO AGP2X
<li><a HREF="#formatting"><I>LG</I> Formatting problems
<li><a HREF="#SiS">SiS6326
<li><a HREF="#metrolink">AGP2X
<li><a HREF="#speed">Poor Internet Speed
<li><a HREF="#mbr">Clearing Lilo from MBR
<li><a HREF="#telnet">Why are they trying to telnet into my Linux box?
</a>
</ul>
<!-- END xref tips.answers -->
<!-- BEGIN tips -->
<P> <hr> <P>
<!--================================================================-->
<a name="laptop"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Laptop in different places, setting up different DNS
</FONT> </H3>
Tue, 21 Sep 1999 23:13:08 -0400
<BR>From: Pierre Abbat <<A HREF="mailto:phma@oltronics.net">phma@oltronics.net></A>
<P> I use a laptop at home, at the office, and elsewhere. I set up a script so that
it recognizes where it is when it boots. It is /etc/rc.d/whereami and has mode
744:
<PRE>
#!/bin/sh
# Figure out where I am by pinging known hosts.
if [ -z "`/sbin/ifconfig|grep Ethernet`" ] ; then sleep 2 ; fi
echo -n elsewhere >/etc/where
ping -c 1 192.168.97.1 && echo -n home >/etc/where
ping -c 1 192.168.96.1 && echo -n office >/etc/where
chmod 0644 /etc/where
</PRE>
<P> (Names and numbers have been changed to protect the innocent.) I call this from
/etc/rc.d/init.d/inet, which is run after pcmcia, so the card is up by then.
(The sleep 2 is in case it isn't.) Then I do the following:
<PRE>
cp /etc/resolv.conf.`cat /etc/where` /etc/resolv.conf
</PRE>
<P> This installs the appropriate nameserver list.
<P> The two networks I'm on are next door to each other, which means I can
supernet the card and ping both without ifconfigging it. But if one were
10.*.*.* and the other on 192.168.*.*, I'd have to ifconfig eth0 in whereami to
ping them both.
<P> phma
<!-- END tips -->
<P> <hr> <P>
<!--================================================================-->
<H4><font color="maroon">
Tips in the following section are answers to questions printed in the Mail
Bag column of previous issues.
</font></H4>
<!-- BEGIN tips.answers -->
<P> <hr> <P>
<!--================================================================-->
<a name="laptop2"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">reply to Linux on a laptop
</FONT> </H3>
Thu, 2 Sep 1999 14:09:36 -0700
<BR>From: Russ Johnson <<A HREF="mailto:rjohnson@tripwiresecurity.com">rjohnson@tripwiresecurity.com></A>
<P> You said:
<BLOCKQUOTE>
I'm a linux newbie. I installed linux (redhat 5.2) on a laptop with an
ATI rage LT PRO AGP2X, and there's no driver for this graphic card to
run Xwindow, I tried to find one on the web, but without success, I
also tried other ATI drivers (like ATI rage pro and other MACH64
drivers) without better results. Is there any solution ? Please help
me...
</BLOCKQUOTE>
<P> You bet there's a solution. It's not perfect (yet) but it works well until
XFree86 gets a new server out there.
The solution is to use the Frame Buffer server. Details are here:
<A HREF=http://www.0wned.org/~cain/ragefury.htm>
www.0wned.org/~cain/ragefury.htm</A>
Other than that, the only solution available is to purchase a commercial X
server.
<P> Russ
<P> <hr> <P>
<!--================================================================-->
<a name="signature"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Funny signature
</FONT> </H3>
Fri, 3 Sep 1999 03:03:41 +0300 (IDT)
<BR>From: Mikhael Goikhman <<A HREF="mailto:migo@cortext.co.il">migo@cortext.co.il></A>
<P> Hi, Csaba Feher.
<P> I am refering to your tip in LG #45.
Please don't get me wrong, I don't want to bash you, why should I? :)
<P> 1) sigchange script itself has redudant IMHO lines (rm, cat, echo?).
Here is a smaller version:
<PRE>
#!/bin/sh
cp $HOME/.signature.basic $HOME/.signature >& /dev/null
/usr/games/fortune -s linuxcookie computers >> $HOME/.signature
</PRE>
<P> 2) It is not very good to put home grown scripts to /bin or /usr/bin.
This is what /usr/local/bin and $HOME/bin is for.
<P> 3) It is not very good to put something to /etc/rc.d/rc.sysinit.
This is what /etc/rc.d/rc.local is for.
<P> Have a nice day,
Mikhael.
<P> <hr> <P>
<!--================================================================-->
<a name="dns_fly"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">DNS on the fly
</FONT> </H3>
Fri, 3 Sep 1999 12:40:53 +0900
<BR>From: Dmytro Koval'ov <<A HREF="mailto:kov@tokyo.email.ne.jp">kov@tokyo.email.ne.jp></A>
<P> Ernst-Udo Wallenborn <wall@phys.chem.ethz.ch> suggests:
<BLOCKQUOTE>
i use the SCHEMES facility of the PCMCIA package to solve a related
problem: how to use a laptop in two LANs with different IP addresses,
different domains, and (naturally) different DNS servers.
</BLOCKQUOTE>
Basically you set up a file /etc/pcmcia/network.opts which contains all network
options, esp. something like:
<PRE>
case "$ADDRESS" in
home,*,*,*)
[snip]
SEARCH="domain.com"
DNS_1="1.2.3.4"
DNS_2=""
DNS_3=""
[snip]
;;
work,*,*,*)
[snip]
SEARCH="work.com"
DNS_1="5.6.7.8"
DNS_2=""
DNS_3=""
[snip]
</PRE>
<P> Then, when booting with lilo you can append SCHEME=home or SCHEME=work, or
better write this into /etc/lilo.conf directly. and type 'home' or 'work' at
the lilo prompt.
<P> Well, may be I was lucky enough - I didn't understand what SCHEMES
mean when I was doing my setup ;)
<P> The problem with approach of Ernst-Udo is that you need to reboot
system when you come home from work. But this is a Linux world and nobody
needs a reboot just to change the IP address and/or DNS.
<P> Another approach I'm using with the same /etc/pcmcia/network.opts file
is to have different setup for different PCMCIA slots. In this file you can find
comment:
<PRE>
#
# The address format is "scheme,socket,instance,hwaddr".
#
</PRE>
<P> This comment explains setup below:
<PRE>
case "$ADDRESS" in
*,0,*,*)
[snip]
IPADDR="1.2.3.40"
SEARCH="domain.com"
DNS_1="1.2.3.4"
DNS_2=""
DNS_3=""
case "$ADDRESS" in
*,1,*,*)
[snip]
IPADDR="5.6.7.80"
SEARCH="work.com"
DNS_1="5.6.7.8"
DNS_2=""
DNS_3=""
</PRE>
<P> Having this you'll have only to plug you NIC into 1st PCMCIA slot at
home and into 2nd slot at work. You IP addresses and DNS are set
correctly upon card insertion! No reboots.
<P> <hr> <P>
<!--================================================================-->
<a name="ati"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">ATI rage LT PRO AGP2X
</FONT> </H3>
Sat, 04 Sep 1999 10:53:59 +0200
<BR>From: August =?iso-8859-1?Q?H=F6randl?= <<A HREF="mailto:hoerandl@elina.htlw1.ac.at">hoerandl@elina.htlw1.ac.at></A>
<P> hi,
there are some cards which can be used with a new framebuffer X server
<P> there is a description at
<A HREF=http://home.t-online.de/home/mueller.elmar/linux.htm>
home.t-online.de/home/mueller.elmar/linux.htm</A>
(german only)
<P> regards<BR>
Gustl
<P> <hr> <P>
<!--================================================================-->
<a name="formatting"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy"><I>LG</I> Formatting problems
</FONT> </H3>
Wed, 8 Sep 1999 16:52:41 +0100
<BR>From: James Tappin <<A HREF="mailto:sjt@star.sr.bham.ac.uk">sjt@star.sr.bham.ac.uk></A>
<P> A clue as to the source of the Opera formatting problem (Mailbag Sep '99 -
message from Bjorn Eriksson 27/Aug) comes from the fact that KFM (1.1.2 pre 3
release of KDE) also has the same problem which strongly suggests a QT problem
as (IIRC) Opera for Linux is also QT based.
<P> Not sure of any way around it though.
<P> James Tappin
<P> <hr> <P>
<!--================================================================-->
<a name="SiS"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">SiS6326
</FONT> </H3>
Thu, 9 Sep 1999 14:11:23 -0500
<BR>From: McKown, John <<A HREF="mailto:JMckown@Insurdata.com">JMckown@Insurdata.com></A>
<P> There is a commercial driver from Xig which is supposed to support this
card. You can look at
<A HREF=http://www.xig.com/Pages/CardMfgrSiS.html>
www.xig.com/Pages/CardMfgrSiS.html</A>
<P> It is EXPENSIVE! US $99.95! <ouch>. I've not used the Xig X server, so I
don't know how good it is. I have seen some good reviews.
<P> <hr> <P>
<!--================================================================-->
<a name="metrolink"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">AGP2X
</FONT> </H3>
Thu, 9 Sep 1999 14:11:48 -0500
<BR>From: McKown, John <<A HREF="mailto:JMckown@Insurdata.com">JMckown@Insurdata.com></A>
<P> Have you looked at Metro Link? Go to
<A HREF=http://www.metrolink.com>http://www.metrolink.com</A>. They
indicate that they have a driver for this card. Actually it says "Rage LT
Pro AGP" not "AGP2X". I don't know if it is any different. However, it is
not free. It costs US$39. If you have a credit card that they can accept,
you can download the driver from their FTP server. I have had their driver
for 2 days now for my STB Riva 128/ZX which did not work well with the
XFree86 supplied driver. It works very well with their driver. Just a
thought.
<P> I hope it is of some help to you.
<P> By the way - your English is quite good.
<P> <hr> <P>
<!--================================================================-->
<a name="speed"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Poor Internet Speed
</FONT> </H3>
Thu, 9 Sep 1999 14:12:03 -0500
<BR>From: McKown, John <<A HREF="mailto:JMckown@Insurdata.com">JMckown@Insurdata.com></A>
<P> If your system got good speed at your friend's house but not yours, then I
can only think of one of two possibilities. One - you friend has a better
modem or Two - your friend has a better telephone connection. I would bet on
the telephone connection. I regularly connect at around 44,000. I have a
friend who says that he can only get around 24,000. But he is in the
"boonies" and I'm using a commercial grade line to my house.
<P> <hr> <P>
<!--================================================================-->
<a name="mbr"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Clearing Lilo from MBR
</FONT> </H3>
Thu, 23 Sep 1999 02:34:20 -0700
<BR>From: Jim Dennis <<A HREF="mailto:jimd@starshine.org">jimd@starshine.org></A>
<BLOCKQUOTE>
<P> Just read the item on clearing lilo.
<P> All I do is boot from a Dos ( 5 or greater ) boot disc and issue the
command:
<P> fdisk /mbr
<P> that seems to fix anything including boot sector viruses.
Maybe Linux fdisk would take the same parameter.
I enjoy your column, keep up the good work,
best wishes,
<P> norm
</BLOCKQUOTE>
<P> The /MBR option was undocumented and only introduced in
MS-DOS 5.0. I don't remember the question to which you
were referring. If I didn't mention FDISK /MBR it was
probably because I was not assuming that the user was
trying to restore an MS-DOS 5.0 or later boot loader
to their system.
<P> Linux fdisk is a different program and doesn't
touch the boot code in the MBR. It only works on the
partition tables (which comprise the last 66 bytes of the
MBR and possibly a set of others for extended partitions).
<P> There are several Linux programs which do write boot
records. /sbin/lilo is the most commonly used. 'dd'
will do in a pinch (if you have a .bin image to put into
place).
<P> BTW: don't count on /MBR to fix a virus. Some viruses
encrypt portions of your filesystem, thus causing major
problems if they aren't removed corectly. To prevent
infection by boot sector viruses, disable the "floppy
boot" options in your BIOS. You should only enable those
long enough to perform an OS installation or system recovery
and disable it immediately thereafter. To prevent viral
infect by "multi-partite" and "file infector" viruses,
stop running MS-DOS. To avoid MS Windows macro viruses,
avoid MS Office, MS Exchange and related software (with
virus^H^H^H^H macroing hooks built into them).
<P> <hr> <P>
<!--================================================================-->
<a name="telnet"></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Why are they trying to telnet into my Linux box?
</FONT> </H3>
Fri, 24 Sep 1999 14:32:22 -0400
<BR>From: Rick Smith <<A HREF="mailto:rsmith13@tampabay.rr.com">rsmith13@tampabay.rr.com></A>
<P> Since my previous letter about Dalnet providers trying to connect to my
Linux box via telnet port 23, I have found out that they are also trying
port 1080. I have instigated a policy of dropping all incoming
connections via a command run by host.deny:
<PRE>
/sbin/ipfwadm -I -i deny -S %a
</PRE>
<P> I hate to do this to my niece, but I don't know of any alternative until
these dalnet jerks stop this intrusive practice.
<P> Anyway, my niece has moved to other irc providers that don't
do this kind of thing.
<!-- END tips.answers -->
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>,
<A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A><BR>
Copyright © 1999, Specialized Systems Consultants, Inc.<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Linux and the Future</font></H1>
<H4>By <a href="mailto:h_al_mohssen@hotmail.com">Husain Al-Mohssen</a></H4>
</center>
<P> <HR> <P>
The spread of the Internet at the start of this decade had a
profound impact on the development of free software. Suddenly, because
of free software a large number of people could start collaborating on
developing large software projects without being in large universities or
corporations. Though mailing-lists and FTP sites, a large number of people
could start using their free/fun/project's time to build programs
that would be too much for any single person alone. Fundamentally,
the Internet is a new production technology that has made
software production cheaper just as the sewing machine made clothes
production cheaper.
<p>
Today, free software has grown to become a complete system starting
with a very high-quality kernel (Linux and others) to some of the best
user applications. In fact, not only do we have free programs to do
the job of most commercial applications; in many cases, we have more
than one free project with very similar functions (i.e., different
philosophies or scopes). This free, complete and high-quality system
was bound to attract the attention of companies. Not only because Linux
and other free software were growing into a large market but also
it was in direct competition (and in many cases beating) their own
products. Companies need to sell programs for this platform and need to
figure out a way of competing with this new way of making software.
<p>
<h3>Possible problems facing Linux in the Future</h3>
<p>
The huge growth in the use of Linux and free software has triggered a
great increase in the number of commercial and non-commercial developers;
this is leading to an ever-increasing rate of growth and innovation. In
the midst of all of this great evolution, I see a number
of factors that may end up hurting Linux and other free software in the
long run. Here are some of them:
<p>
<H4>1. Intolerance</H4>
<p>
There seems to be a certain amount of intolerance towards software
produced by people with different beliefs regarding free software
in general and towards commercial software in particular. This, in my
judgment, is quite dangerous since commercial software is one of the
best sources of innovation in software, simply because commercial people
can dedicate themselves to it. Software can't always be given
freely since companies have to make money to cover costs. Also,
sometimes it would be disastrous for companies to give their programs
for free, e.g., drivers for hardware that cost millions in R&D could give
many hardware secrets to competitors. The biggest
problem with commercial software is not that it is commercial, but that
monopolies sometimes arise stopping competition and reducing the
quality of the software. If free and commercial software can find a way to
co-exist, it would mean we could all enjoy the best of both worlds.
A similar type of intolerance exists toward programs that are written
with different licenses; this is too bad, since the best feature of free
software is the freedom to choose.
<p>
<H4>2. Stagnation</H4>
<p>
Linux (and UNIX in general) was extremely well-designed for the
needs of the people of its time. With the change of
requirements of users and applications, change
is continuously required. Linux has done better than other UNIX systems
in dealing with this change, e.g., the FHS (File Hierarchy Standard) is much more in touch with
user requirements than many commercial UNIX systems. There
is still room for improvement, in my opinion. The important thing to
remember is that change has to be emphasized and standards should be
there to facilitate change by providing a common working ground, not
by hindering it.
<p>
<H4>3. False Oversimplification</H4>
<p>
With all the pushing for making Linux easier to use,
a number of programs try to imitate other operating systems by having the
computer do the computer managing with the user just watching without
knowing what is actually happening. This lack of understanding
or distinction between the different parts of the system prevents the
user from using the different parts in new and creative ways. In fact,
this flexibility is one of the best features of Linux. This doesn't
mean that graphical interfaces are not required--quite to the contrary,
I think we are in desperate need of properly designed ones--it just
means that it should be thought out. It should reflect the way a typical
Linux system is put together and at the same time have room to grow as
different components are added in the future.
<p>
<h3>Factors for Ensuring the Continued Success of Linux</h3>
<p>
There are a number of strategies I feel free software should
adopt. Most of these are extensions of things people have already
been doing.
<p>
<H4>1. Standardization</H4>
<p>
This is one of the most vital requirements for development on
the Internet since it allows many people to collaborate on programs that
will run on common platforms. Free software always had a long heritage
of being very standard compliant. For Example, Linux has been
POSIX compliant from the start. There are also free implementations of NFS
(for networking), X (for windowing), OpenGL (for 3D graphics) and many others. In light of this heritage, it is truly disturbing to read things
like ``requires Red Hat Linux'' (even though I think it
is one of the best distributions). Open standards for both software and
hardware components should be published and maintained. I would suggest
that a standard (``Linux 2000'' would be a nice name) be
established that defines everything a hardware or software developer
would need to guarantee that his program or the driver would work on any
system that is complaint. This standard should not only include things
like FHS but also standard packages would be needed. It is very
important to realize that distributors and manufacturers will push for open
standards, if they are not published and maintained by the Free Software
community, and in that case, the control will not be in the hands of the
community.
<p>
<H4>2. Componentization</H4>
<p>
The idea is to build the system from separate components with clear
boundaries between them such that you can always plug components into
the system and not have to rely on a single source for anything. This
can be achieved by insisting on standards for how different components
integrate into the system and by separating application-specific
configuration files from application-neutral data, so that competing
applications or services can use the same information. The ultimate goal
of componentization should be to make free software the backbone of
everything. When thinking about free software, Richard Stallman suggests
thinking ``free speech, not free beer'' as an extension to that
I would suggest thinking of free software as ``free air'',
it is everywhere and everyone needs it.
<p>
<h3>An Example</h3>
<p>
As an example of how the ideas I suggested in the last section can
be applied, I decided to put together my own desktop Linux system using
them. I tried to make my system as standard compliant as possible, but
also to include all the ``luxuries'' of a complete desktop
system (this included man pages, X, KDE, a number of languages and many other things).
<p>
<H4>1. How did I do it?</H4>
<p>
My system uses one large (500MB+) file as its root file system and
another file (64MB) for swap. It boots off a small temporary RAM disk
and mounts the root file system and the swap through the loopback device
(/dev/loop0 ). One advantage of this setup is that it
is very easy to install on different computers since it's just a
matter of copying one directory to the new machine.
<p>
The root disk was made bootable by copying some files from
the /bin, /sbin and the /lib,
as well as creating and tweaking some files and directories in
/etc. Now that the system was booting, I needed to
compile the other components of the system. As a first step I needed a compiler, so I copied <b>gcc</b> 2.7.2.3 and compiled <b>egcs</b> 1.1.1
and installed it. The various other components of the system were then
compiled and installed starting from the basic (X, common libraries
and utilities) and then progressing to applications (KDE, xv, GNUStep,
Kaffe, etc.).
<p>
<H4>2. System Description</H4>
<p>
By examining the file-system structure, you can clearly see the way I tried
to implement some of the ideas in the previous paragraphs. Although
it is almost fully FHS 2.0 compliant, a number of features
make it distinctively different. To begin with, files in the
/usr hierarchy are severely restricted. Only 3 main file types are in /usr, The first are the binaries
expected to be in any modern UNIX (e.g., <b>head</b>, <b>telnet</b>, <b>ftp,</b> etc. The second group of files are programs or libraries required by many other programs or needing special root access
to install properly. This category contains various libraries
in /usr/lib and /usr/local/lib and X in /usr/X11R6. Finally, architecture-independent, shared data files are stored in /usr/share
as is recommended by the FHS. The emphasis in my system is that the
share directory should be a place where programs can share data between
different applications on the same system; hence, most files are symbolic links
to the data in the program's home directory.
<p>
Another major feature of the system is the modification of the structure
of /etc. Instead of the current practice of having
all the files in one flat directory, a number of trees have been
added. This is done to decrease the clutter and make the structure
of the system more clear. For Example, /etc/man.conf
is now stored in /etc/utils/man/man.conf while
/etc/rc.d is now /etc/sys/init/rc.d with symbolic links are maintained to the old location of files for the sake of
compatibility. As is required by the FHS, configuration files for programs
in /opt can be stored in /etc/opt, but in addition, subdirectories to it exist for the same reasons given
above. In my judgment, these small modifications to the /etc hierarchy
can easily fulfill the requirement of a registry system for Linux with
only a small modification to the way things are done.
<p>
In my system, most applications and programs live in the /opt directory or a subdirectory of
it. For example, Kaffee (the free Java VM) is installed in /opt/languages/kaffe while KDE is installed in /opt/windows/kde. The thinking behind this
is that all a package's files are stored in the directory
designated for it in the /opt hierarchy and a number of well-defined points of contact are established between a package and
the rest of the system including /opt/bin and /opt/bin,
subdirectories of /usr/share, as well as a number of other directories.
<p>
Although this looks similar to the FHS the goal is
totally different. In my system, a package has to have a symbolic link
put in /opt/bin to all of it's public binaries for it to work
from the command line. Likewise, proper symbolic links have to be set
in /usr/share/man for the man pages of the package
to work properly. This same principle applies to a number of other
directories including /etc/opt for configuration files
and /etc/sys/init/rc.d/init.d for packages that use the services of <b>initd</b>.
<p>
<img src="gx/al-mohssen.gif">
<P>
The figure schematically shows both the way the packages interface with the system as well as a specific examples. The
reason for going to all of this trouble is to clarify, simplify and limit
the points of contact between any packages, both programs and services
like <b>httpd</b>, and to emphasis the breaking of the system into clearly
defined components which can be isolated, added, removed or even replaced
with other components easily.
<p>
The final major new feature of the system is the addition of the
/lib/vendor directory. This is intended for kernel modules or other
drivers available from vendors. The goal is to provide a standard
place for vendors to put their drivers even if they are available in
binary-only format. This should encourage vendors to
write drivers for Linux and eventually give away the source code for
that driver, when the hardware is not so cutting edge. Even if
the source code is never released, replacing an existing driver is easier
than writing something from scratch.
<p>
<h3>Conclusion</h3>
<p>
Linux and related utilities have been evolving steadily over
the past few years and have grown to be an extremely robust and rich
system. Standards have played a core role in this, and their evolution
will be even more important if Linux is to continue increasing in popularity.
<p>
I have tried to highlight some points I think are absolutely
essential for the continued success for Linux and Free Software in
general. One major point is that as good as Linux is, it is
not perfect and will have to be in a constant state of evolution. Nothing
should be above change and the ultimate goal should always be speed,
simplicity and elegance.
<p>
Another point I am arguing is that Linux
standards should open up to companies and make it as easy as possible to
add programs, services, or drivers into our system smoothly, even
if they are not free. This will greatly aid in preventing any single
company from monopolizing the system since other companies can make their
own replacements for these components or free versions can be written.
<p>
In
building my own system, I was trying to see what a system might look like
when these ideas are applied. Whether Linux and Linux standards evolve
to something similar to my system or not, I hope some of the concerns I
raised in the article are considered and addressed by the Linux
community.
<p>
<h3>RESOURCE</h3>
<p>
Componentization for the operating system is closely related to commoditizing
computers; Eric Green has a very nice discussion of both at
http://www.linux-hw.com/~eric/commodity.html.
<p>
<!--===================================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<A NAME=french></A>
<center>
<H1><font color="maroon">Bomb ô Bomb, le premier jeu utilisant l'Addon
technology</font></H1>
<H4>By <a href="mailto:david.fauthoux@free.fr">David Fauthoux</a></H4>
<A HREF="#french">Français</A> | <A HREF="#english">English</A>
</center>
<P> <HR> <P>
<!-- END header -->
<P>Il faudrait peut-être inventer un nouveau terme, plus complet
que "freeware", pour un nouveau point de vue sur les programmes gratuits.
Si maintenant venait l'idée qu'un programme, en plus d'être
donné gratuitement, était donné avec la possibilité
de le modifier ? Certes, les programmes gratuits sont donnés avec
les sources en général; mais peu de gens, à moins
d'être des programmeurs expérimentés, sont capables
de modifier les programmes qu'ils utilisent. Si maintenant les programmes
"free" étaient donnés avec la possibilité de les modifier
facilement et par n'importe qui ?
<P>Depuis peu sur le net, existe un petit aperçu de ce point de
vue. <A HREF="http://david.fauthoux.free.fr">http://david.fauthoux.free.fr</A>
<P>Volontairement basé sur un jeu ultra-connu (bomberman), ce jeu
peut être modifié à volonté en écrivant
(au plaisir!) dans son fichier d'initialisation.
<BR>Par exemple, on peut rajouter une page de présentation avec
une image de son choix en rajoutant les lignes
<PRE>[Page]=
background=myPicture.gif</PRE>
Et on peut coller plein d'animations partout simplement en rajoutant des
lignes comme "loop anim="... Et pour plus de simplicité, sur le
site on trouve plein de tutorials...
<P>Vous comprenez bien que ce point de vue demande une certaine robustesse
et une large souplesse au moteur du programme. Arrêtons-nous un instant
sur cette remarque. En effet, il ne suffit pas de changer quelques lignes
pour faire d'un programme ce que l'on veut. Il fallait donc mettre en oeuvre
une autre façon de procéder. Celle-ci s'adresse aux programmeurs,
mais pas forcément expérimentés, et même débutants.
Le programme du jeu est fortement structuré (c++), il permet ainsi
une compréhension haut-niveau du fonctionnement (regarder les noms
d'objets et de fonctions suffit, pas besoin de se pencher sur des algorithmes
compliqués). Mais au-delà de ça, cette structuration
permet la mise en oeuvre de l'Addon technology : Grâce à cette
nouvelle technologie, il est possible de compléter le programme
de façon ultra-accessible, en écrivant des "addons", et tous
les addons écrits à travers le monde sont et seront compatibles
! Un addon de moins de 20ko peut rajouter une option au jeu : l'addon donné
en septembre rajoute une option (avec animations et sons bien entendu !)
qui crée un jeu de poursuite dans le jeu !
<P>Le pouvoir des addons n'est limité que par votre imagination.
<HR NOSHADE> <!-- ****************************************************** -->
<A NAME=english></A>
<center>
<H1><font color="maroon">Bomb ô Bomb, the first game using the Addon technology
</font></H1>
<H4>By <a href="mailto:david.fauthoux@free.fr">David Fauthoux</a></H4>
<EM>English translation by <a href="mailto:jek@ssc.com">Jason Kroll</a></EM><P>
<A HREF="#french">Français</A> | <A HREF="#english">English</A><BR>
</CENTER>
<P><HR><P>
<P> Perhaps it would be necessary to invent a new term, more complete than
"freeware", for a new point of view in free programs. What if now came
the idea that a program, in addition to being given away free, was given with
the possibility of modifying it? Admittedly, free programs are given away
with the sources in general; but few people, unless being experienced
programmers, are able to modify the programs which they use. What if
now the "free" programs were given with the possibility of modifying
them easily and no matter by whom?
<P> Recently on the net exists a small outline of this point of view.
<A HREF=http://david.fauthoux.free.fr>http://david.fauthoux.free.fr</A>
<P> Voluntarily based on a ultra-known game (bomberman), Bomb ô Bomb can
be modified at will by writing (with pleasure!) in its initialization file. For
example, one can add an interface with an image of his choice by adding the
line
<PRE>[Page]=
background=myPicture.gif</PRE>
And one can stick full with animations everywhere simply by adding lines
like " loop anim ="... And for more simplicity, one finds the site
full of tutorials..
<P> You understand well that this point of view demands a certain
robustness and a broad flexibility with the engine of the program. We stop
one moment on this remark. In effect, it is not enough to change some lines
to make what one wants of a program. It was thus necessary to implement
another way of proceeding. This one is addressed to the programmers, but
not necessarily experienced ones, even beginners. The programming of the game
is strongly structured (c++), thus is allows a high-level understanding
of operation (to look at the names of objects and functions is enough,
there is no need to rely on complicated algorithms). But beyond that, this
structuring allows the implementation of Addon technology: Thanks to
this new technology, it is possible to supplement the program in an
ultra-accessible fashion, in writing addons, and all the addons written
around the world are and will be compatible! An addon of less than 20ko
can add an option to the game: the addon released in September adds an
option (with animations and music of course!) creates a pursuit in the game!
<P> The capacity of addons is limited only by your imagination.
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, David Fauthoux. Translation copyright Specialized Systems Consultants, Inc.<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">An Overview of the Proc Filesystem</font></H1>
<H4>By <a href="mailto:jay_rf@exis.net">Jay Fink</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
One of the more interesting aspects of certain flavors of UN*X (Linux among
them) is the <CODE>/proc</CODE> filesystem. This "virtual" filesystem
has several key features which are interesting, useful and helpful. It can also
be dangerous and disastrous. This column will approach the <CODE>/proc</CODE>
filesystem in three areas:</P>
<OL>
<LI>A brief explanation of what it is</LI>
<LI>What <CODE>/proc</CODE> can be used for (or sometimes <B>not</B> to be used for)</LI>
<LI>A map of <CODE>/proc</CODE> as of the 2.2 Kernel on the i686 architecture</LI>
</OL>
<H2>What is <CODE>/proc</CODE>?</H2>
<P>The <CODE>/proc</CODE> filesystem is a direct <EM>reflection</EM> of the system kept in memory and represented in a hierarchal manner. The effort of the <CODE>/proc</CODE> filesystem is to provide an easy way to view kernel and information about currently running processes. As a result, some commands (ps for example) read <CODE>/proc</CODE> directly to get information about the state of the system. The premise behind <CODE>/proc</CODE> is to provide such information in a readable manner instead of having to invoke difficult to understand system calls.</P>
<H2>What <CODE>/proc</CODE> can do for an Administrator</H2>
<P>The <CODE>/proc</CODE> fs can be used for system related tasks such as:</P>
<UL>
<LI>Viewing Statistical Information</LI>
<LI>Finding out Hardware Information</LI>
<LI>Modifying Runtime Parameters</LI>
<LI>Viewing and Modifying Network and Host Parameters</LI>
<LI>Memory and Performance Information</LI>
</UL>
<P>There are some things to take note of, most of those tasks can be done with tools that either peruse <CODE>/proc</CODE> or query the kernel directly.</P>
<H3>Different Kernels = Different Capabilities</H3>
<P>Different kernels can allow for different changes and information that is presented within <CODE>/proc</CODE>. Some, all, or totally different layouts and capabilities may exist depending on your machine's kernel implementation.</P>
<H3>The Obligatory Warning</H3>
<P>Since there is no one place that documents exactly what you can and cannot do with <CODE>/proc</CODE> (again because of distro's) there is no fool-proofing it other than only root may actually descend <CODE>/proc</CODE> and monkey with the files therein. I have found the easiest approach to be a sort of hacker method - backup your kernel and apply common sense when making alterations within the <CODE>/proc</CODE> fs.</P>
<P>A prime example of tuning applications via <CODE>/proc</CODE> can be found at the <A HREF="http://www.kegel.com/c10k.html" TITLE="C10">The C10k problem</A> document at <A HREF="http://www.kegel.com/">Dan Kegel's Web Hostel</A>.</P>
<H2>A Map of <CODE>/proc</CODE></H2>
<P>Following is a table with brief descriptions of files and directories in <CODE>/proc</CODE> with the 2.2 kernel on a Linux i686 architecture.</P>
<TABLE BGCOLOR="#EEEEEE" BORDER="0" CELLPADDING="5" CELLSPACING="2" WIDTH="100%">
<TR><TD WIDTH="20%" VALIGN="top"><CODE>loadavg</CODE></TD><TD WIDTH="80%" VALIGN="top">Average of system load for the last 1, 5 and 15 minutes</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>uptime</CODE></TD><TD WIDTH="80%" VALIGN="top">Time in seconds since boot-up and total time used by processes</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>meminfo</CODE></TD><TD WIDTH="80%" VALIGN="top">The number of total, used and free bytes of memory and swap area(s)</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>kmsg</CODE></TD><TD WIDTH="80%" VALIGN="top">Kernel messages that have yet to be read in by the kernel</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>version</CODE></TD><TD WIDTH="80%" VALIGN="top">Current rev of the kernel and/or distribution (read from <CODE>linux_banner</CODE></TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>cpuinfo</CODE></TD><TD WIDTH="80%" VALIGN="top">Recognized processor parameters</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>pci</CODE></TD><TD WIDTH="80%" VALIGN="top">Current occupation of <CODE>pci</CODE> slots.</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>self/</CODE></TD><TD WIDTH="80%" VALIGN="top">Information about processes currently accessing <CODE>/proc</CODE></TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>net/</CODE></TD><TD WIDTH="80%" VALIGN="top">Descriptions about the network layer(s)</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>scsi/</CODE></TD><TD WIDTH="80%" VALIGN="top">Contains files with information on individual scsi devices</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>malloc</CODE></TD><TD WIDTH="80%" VALIGN="top">Monitoring provisions for <CODE>kmalloc</CODE> and <CODE>kfree</CODE> operations</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>kcore</CODE></TD><TD WIDTH="80%" VALIGN="top">A core dump for the kernel (memory snapshot)</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>modules</CODE></TD><TD WIDTH="80%" VALIGN="top">Information regarding single loaded modules</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>stat</CODE></TD><TD WIDTH="80%" VALIGN="top">General Linux Statistics</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>devices</CODE></TD><TD WIDTH="80%" VALIGN="top">Information about kernel registered devices on the system</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>interrupts</CODE></TD><TD WIDTH="80%" VALIGN="top">Interrupt assignment information</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>filesystems</CODE></TD><TD WIDTH="80%" VALIGN="top">Existing filesystem implementations</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>ksyms</CODE></TD><TD WIDTH="80%" VALIGN="top">Symbols exported by the kernel</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>dma</CODE></TD><TD WIDTH="80%" VALIGN="top">Occupied DMA channels</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>ioports</CODE></TD><TD WIDTH="80%" VALIGN="top">Currently occupied IO ports</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>smp</CODE></TD><TD WIDTH="80%" VALIGN="top">Individual information about CPU's if SMP is enabled</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>cmdline</CODE></TD><TD WIDTH="80%" VALIGN="top">Command line parameters passed to the kernel at boot time</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>sys/</CODE></TD><TD WIDTH="80%" VALIGN="top">Important kernel and network information</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>mtab</CODE></TD><TD WIDTH="80%" VALIGN="top">Currently mounted filesystems</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>md</CODE></TD><TD WIDTH="80%" VALIGN="top">Multiple device driver information (if enabled)</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>rc</CODE></TD><TD WIDTH="80%" VALIGN="top">Enhanced real time clock (if enabled)</TD></TR>
<TR><TD WIDTH="20%" VALIGN="top"><CODE>locks</CODE></TD><TD WIDTH="80%" VALIGN="top">Currently locked files</TD></TR>
</TABLE>
<H3>Numbered Directories</H3>
<P>The number directories are running process information by PID.</P>
<H2>Results May Vary</H2>
<P>Again, keep in mind that the capabilities of /proc and it's contents do vary version to version, otherwise, happy exploring.</P>
<H2>For More Information</H2>
<P>Below is a short list of sites with in depth information (LDP aside of course) about /proc contributed by readers:</P>
<UL>
<LI><A HREF="http://skaro.nightcrawler.com/~bb/Docs/proc.html">The /proc File System</A></LI>
<LI><A HREF="http://www.kegel.com/c10k.html" TITLE="C10">The C10k problem</A></LI>
</UL>
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Jay Fink<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">The Graphics Muse</font></H1>
<H4>By <a href="mailto:mjhammel@graphics-muse.org">Michael J. Hammel</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.0.36 i586) [Netscape]">
<meta name="Author" content="Michael J. Hammel">
<meta name="Description" content="The Monthly Column of Computer Graphics for Linux Systems.">
<title>Graphics Muse</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#660000" vlink="#666666" alink="#FF6600">
<!-- =============================================================
These pages are designed by Michael J. Hammel. Permission to
use all graphics and other content is granted provided you give
me (or the original authors/artists) credit for the work and this
copyright notice is not removed.
(c)1997, 1998 Michael J. Hammel (mjhammel@graphics-muse.org)
============================================================= !--><!-- The Button box as a client side imagemap --><map NAME="nav-main"><area SHAPE="rect" HREF="#mews" coords="10,10 170,40"><area SHAPE="rect" HREF="#webwonderings" coords="0,55 175,85"><area SHAPE="rect" HREF="#musings" coords="75,115 170,145"><area SHAPE="rect" HREF="#resources" coords="5,170 110,195"></map>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP NOSAVE><img SRC="../gx/hammel/gm-logo-3.jpg" height=169 width=400></td>
<td ALIGN=LEFT VALIGN=CENTER NOSAVE>
<br><b><font size=+1>muse:</font></b>
<ol>
<li>
<i><font face="Arial,Helvetica"><font size=-1>v; to become absorbed in
thought </font></font></i></li>
<li>
<i><font face="Arial,Helvetica"><font size=-1>n; [ fr. Any of the nine
sister goddesses of learning and the arts in Greek Mythology ]: a source
of inspiration</font></font></i></li>
</ol>
<center><font size=-2>© 1999 by <a href="mailto:mjhammel@graphics-muse.org">mjh</a></font></center>
</td>
</tr>
</table>
<hr SIZE=1 NOSHADE WIDTH="100%">
<table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td WIDTH="187" NOSAVE><img SRC="../gx/hammel/muse-image-map.jpg" ALT="Button Bar" USEMAP="#nav-main" height=200 width=185 align=LEFT></td>
<td VALIGN=TOP WIDTH="65%" NOSAVE>
<br><img SRC="../gx/hammel/w.gif" ALT="W" height=28 width=36 align=BOTTOM><font face="Arial,Helvetica"><font size=-1>elcome
to the Graphics Muse! Why a "muse"? Well, except for the sisters aspect,
the above definitions are pretty much the way I'd describe my own interest
in computer graphics: it keeps me deep in thought and it is a daily source
of inspiration. </font></font>
<center>
<p><font face="Arial,Helvetica"><font size=-1>[<a href="#mews">Graphics
Mews</a>][<a href="#rsrc">Resources</a>]</font></font>
<p><a href="http://www.clbooks.com/home.html?from=CJK692"><img SRC="gx/hammel/cla_small.gif" VSPACE=5 BORDER=0 height=60 width=234 align=CENTER></a></center>
<img SRC="gx/hammel/t.gif" ALT="T" height=28 width=26><font face="Arial,Helvetica"><font size=-1>his
column is dedicated to the use, creation, distribution, and discussion
of computer graphics tools for Linux systems.</font></font></td>
</tr>
</table>
<table BORDER=0 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td ALIGN=LEFT VALIGN=TOP NOSAVE><font face="Arial,Helvetica"><font size=-1></font></font>
<br><font face="Arial,Helvetica"><font size=-1>This month there really
isn't a new Muse column. At least not here in the Gazette.
In fact, there won't be any Muse columns in the Gazette anymore.
Nor will there be any more articles in my sister publication, TheGimp.com.</font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>Instead, I'd like to announce
a new Web site: <a href="http://www.graphics-muse.com">Graphics-Muse.com.</a>
I realized the time was right to consolidate all my online writings into
a single site, to put them into databases and provide some control over
when I could make my work available. Basically, trying to write this
column, with all the news stories, reader mail, and so forth just takes
too long each month. I needed something more automated, and searchable.
I needed databases. That also meant I needed CGI and I couldn't
get that with the Gazette due to the way it gets distributed.</font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>At the same time, I'm moving
TheGimp.com under the same roof. This means I can use pretty much
the same tools to write on just about any topic. Plus I'll have (eventually)
all my reader mail and Q And A style stuff in searchable databases. And
my old tools database has been updated and migrated to a much friendlier
format! </font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>All of the old Muse issues
from the Gazette, plus all the issues of TheGimp.com are available from
this new site. All of the old Gimp resources (including Tutorials)
are also there. I'll update the site once or twice a day, so you
don't need to check it every 15 minutes like <a href="http://linuxtoday.com">LinuxToday</a>
or <a href="http://slashdot.org">Slashdot</a>, but you will want to stop
by daily. </font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>The new site, which should
be <b>online by October 1st</b> if all goes well, is DHTML (i.e. CSS and
Javascript) based, so you'll need a browser that can handle that.
Netscape handles it pretty well, but you'll want version 4.5 or later (preferably
4.61, which is what I used to test the site). I haven't tried
IE since I don't have access (nor do I want access) to any Microsoft
systems. I tried Lynx and it appears to work moderately well,
but I make no promises on supporting text based browsers. I'm not
even exactly sure how to use Lynx.</font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>The new site is designed
to work on 800 pixels wide displays. It should work ok in larger
displays, but you'll have to scroll horizontally on smaller ones.</font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>I'm using DHTML to provide
simplified management of articles and their summaries. It just works
better this way. Since <a href="http://themes.org">themes.org</a>,
Slashdot and <a href="http://freshmeat.net">freshmeat</a> use it, I thought
it would be ok. I just may not have done it as well as they
have. We'll see.</font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>My thanks to Margie Richardson
and Mike Orr for helping me make the Muse a useful resource. I've
enjoyed my time working on the Gazette version of the Muse. And I'm
not abandoning the Gazette completely - I hope to encourage a few
new writers to step forward with their own columns. </font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1>Anyway, bookmark the new
site and visit often! And thanks for 3 wonderful years in the Gazette!</font></font>
<br> </td>
<td ALIGN=CENTER VALIGN=CENTER WIDTH="220" NOSAVE>
<table BORDER=0 CELLSPACING=0 CELLPADDING=4 COLS=1 NOSAVE >
<tr NOSAVE>
<td ALIGN=CENTER VALIGN=CENTER WIDTH="219" NOSAVE><img SRC="gx/hammel/artistsguide.jpg" height=140 width=110></td>
</tr>
<tr NOSAVE>
<td NOSAVE><b><i><font face="Arial,Helvetica">The Artists' Guide to the
Gimp</font></i></b>
<br><font face="Arial,Helvetica"><font size=-1>Available online from <a href="http://www.clbooks.com/home.html?from=CJK692">Fatbrain</a>,
<a href="http://www.softpro.com/softpro/1-57831-011-3.html">SoftPro
Books</a> and <a href="http://search.borders.com/fcgi-bin/db2www/search/search.d2w/Details?&mediaType=Book&prodID=51315727">Borders
Books</a>. In Denver, try the <a href="http://www.tatteredcover.com/cgi-bin/bookfind.pl?lit_ttl=Gimp&Id=733947.13300&refer=list&page=book&isbn=1-57831-011-3&str=1">Tattered
Cover Book Store.</a></font></font></td>
</tr>
</table>
</td>
</tr>
</table>
<table BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#000000" NOSAVE >
<tr NOSAVE>
<td NOSAVE><img SRC="apr98/../gx/hammel/cleardot.gif" height=2 width=2></td>
</tr>
</table>
<a NAME="rsrc"></a><img SRC="../gx/hammel/resources.jpg" height=50 width=245>
<br><font face="Arial,Helvetica"><font size=-1>The following links are
just starting points for finding more information about computer graphics
and multimedia in general for Linux systems. If you have some application
specific information for me, I'll add them to my other pages or you can
contact the maintainer of some other web site. I'll consider adding other
general references here, but application or site specific information needs
to go into one of the following general references and not listed here.</font></font>
<br>
<table BORDER=0 COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td NOSAVE><font face="Arial,Helvetica"><font size=-1>Online Magazines
and News sources </font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.news.com/">C|Net
Tech News</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.eklektix.com/lwn/">Linux
Weekly News</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.linuxtoday.com">Linux
Today</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://slashdot.org/">Slashdot.org</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://TheGimp.com">TheGimp.com</a></font></font>
<p><font face="Arial,Helvetica"><font size=-1>General Web Sites </font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.graphics-muse.org/linux.html">Linux
Graphics</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.bright.net/~dlphilp/linux_soundapps.html">Linux
Sound/Midi Page</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://LinuxArtist.org">Linux
Artist.org</a></font></font>
<p><font face="Arial,Helvetica"><font size=-1>Some of the Mailing Lists
and Newsgroups I keep an eye on and where I get much of the information
in this column </font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.gimp.org">The
Gimp User and Gimp Developer Mailing Lists</a>. </font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="http://www.irtc.org">The
IRTC-L discussion list</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.graphics.rendering.raytracing">comp.graphics.rendering.raytracing</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.graphics.rendering.renderman">comp.graphics.rendering.renderman</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.graphics.api.opengl">comp.graphics.api.opengl</a></font></font>
<br><font face="Arial,Helvetica"><font size=-1><a href="news:comp.os.linux.announce">comp.os.linux.announce</a></font></font></td>
<td><img SRC="../gx/hammel/gmuse-2.jpg" HSPACE=10 BORDER=2 height=248 width=200></td>
</tr>
</table>
<a NAME="future"></a>
<h2>
Future Directions</h2>
<font face="Arial,Helvetica"><font size=-1>Check out <a href="http://www.graphics-muse.com">Graphics-Muse.com
</a>and find out!</font></font>
<br>
<hr NOSHADE WIDTH="100%">
<div align=right><font face="Arial,Helvetica"><font size=-1>© 1999
<a href="mailto:mjhammel@graphics-muse.org">Michael
J. Hammel</a></font></font></div>
</body>
</html>
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Michael J. Hammel<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">The Cash and the Calling</font></H1>
<H4>By <a href="mailto:bmarshal@agt.net">Brian Marshall</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
September 1999<br>
</b>
<p>
<blockquote><i>
This paper analyzes a model of software development in which
closed-source applications make use of open-source artificial
intelligence parts. We begin by observing that AI has a huge
potential but that problems limit the development of
applications. We consider why there will continue
to be closed-source AI applications and note that pure
open-source development is limited by the number of
people interested in starting open-source projects.
We consider the possibility of closed-source applications
based on open-source parts, both in a two-tier and a
three-tier architecture. We look at the pool of talent
available for open-source projects. We conclude that
the use of open-source AI parts may significantly
increase the development of AI applications and that this
may be good for the state of the art of AI.
</i></blockquote>
<p>
<hr>
<p>
<b>Table of Contents</b>
<ol>
<li>Introduction - Potential Applications of AI</li>
<li>Closed-Source and Open-Source</li>
<li>Two-Tier AI: Closed Application, Open AI</li>
<li>Three-Tier AI: Application, Problem-Domain, AI</li>
<li>The Pool of Talent</li>
<li>Conclusion - The Potential of Open-Source AI Parts</li>
<li>Bibliography and Acknowledgements</li>
</ol>
<p>
<hr>
<p>
<h4>1. Introduction - Potential Applications of AI</h4>
There seems to be more potential applications for artificial intelligence
than actual. The untapped market for staff-scheduling alone is immense.
The opportunities in the areas of materials scheduling, process
optimization, expert decision-making and image interpretation seem
endless. The development of AI applications would appear to be a field
with a lot of potential for growth.
<p>
Presumably there is money to be made satisfying some of this potential
demand. Why is this happening so slowly? Why are there so many
potential products that people would pay for but that have not been
developed?
<p>
There are a number of reasons why there are so many potential, as
opposed to actual, applications of artificial intelligence:
<ul>
<li>AI software is expensive and risky to develop. It tends to be
complex and subtle. It generally requires a large investment in
problem analysis. More AI software would be developed if it
were cheaper to do so.</li>
<p>
<li>AI applications tend to require a lot of support and they tend to
have a lot of future-risk. It is particularly difficult for a
tiny software venture to develop and market new AI software.
More AI applications would be developed if getting involved
with them was safer.</li>
<p>
<li>Some problems are sufficiently hard that no known AI technique is
completely satisfactory. More AI would be used if trying to do so
was more likely to be successful.</li>
</ul>
<p>
Artificial intelligence is limited by the expense and risk associated
with trying to take advantage of particular opportunities.
<p>
<h4>2. Closed-Source and Open-Source</h4>
<p>
There will probably always be opportunities to develop closed-source
AI software for rent. Companies identify potential applications, and
where there is sufficient expected demand, they develop new products.
This is expensive because of the amount of analysis and design required.
The development only occurs because rents are expected. The source
is closed to enable capture of those rents.
<p>
As we have noted, however, this sort of scenario is limited by the
expense and risk involved.
<p>
What about open-source? Free should mean less expense. Open-source
reduces future-risk. AI would definitely seem to be a good candidate
for peer-review. Eric Raymond describes these benefits and how they
come about in
<a href="http://www.tuxedo.org/~esr/writings/cathedral-bazaar/">
"The Cathedral and the Bazaar"</a>.
<p>
But each open-source project must be started by someone
who does the initial analysis, design and development. There are
a lot more potential AI projects than people interested in
starting them. Open-source application development isn't likely
to make a big dent in the pile of unexploited AI opportunities.
<p>
<h4>3. Two-Tier AI: Closed Application, Open AI</h4>
<p>
The expensive part of an AI application is not necessarily the AI.
There are a variety of artificial intelligence techniques, tools,
frameworks and engines available. The most expensive part of
developing an AI application can be the problem-analysis and the
design of how the AI is to be used.
<p>
It may well be reasonable for an application, based on expensive
analysis and design, to be closed-source. But what if the
application got its AI functionality from open-source AI parts?
A staff-scheduling system could be based on open-source AI
problem-solving parts. An image-recognition system could be based
on an open-source neural-network.
<p>
In <a href="http://www.tuxedo.org/~esr/writings/magic-cauldron/">
"The Magic Cauldron"</a>, Eric Raymond describes five discriminators
that "push towards open source". The first four discriminators
indicate that AI parts would be a good candidate for open-source:
<ul>
<li>Reliability is a major concern</li>
<li>Verification of design is difficult</li>
<li>AI applications can be critical to business processes</li>
<li>AI parts establish/enable a common computing infrastructure</li>
</ul>
<p>
The fifth discriminator, however, indicates the opposite. Artificial
intelligence is not part of "common engineering knowledge". It is
an area in which one would expect good proprietary techniques be able
to generate good rents.
<p>
In practice, this can be difficult. The customers for software parts
are developers of other software. Convincing a potential customer
of the worth of a secret technique can be a tough sell.
But more importantly, a company will not be interested in having its
product dependent on a secret technique that may not satisfy future
requirements.
<p>
Open-source software parts offer much less risk. They are easier to
judge, they tend to be more reliable and customers always have the
option of making their own changes.
<p>
<p>
<h4>4. Three-Tier AI: Application, Problem-Domain, AI</h4>
<p>
If open-source general-purpose AI parts are available, an interesting
new product is possible. People can use the general-purpose AI to
develop parts that are specific to a problem domain like
staff-scheduling or courier-dispatching.
This can make for a three-tier architecture -
<ul>
<li>The open-source, general-purpose AI parts</li>
<li>The problem-domain-specific AI parts</li>
<li>The application/interface</li>
</ul>
<p>
Much of the analysis and design goes into the middle tier - the
problem-domain-specific AI. It can be expensive to develop and the
market is much narrower than the market for general-purpose AI.
<p>
A middle-tier AI product might be developed by a company who will use
it to develop an application for sale. In this case, the middle-tier
would likely be closed-source.
<p>
A middle-tier AI product might be developed by a company or individual
with the intention of offering application development services to
narrow markets. The middle-tier might be closed to help capture the
market or open to help sell the service.
<p>
The three-tier architecture provides more ways to take advantage of
AI opportunities. The development of middle-tier AI products is
encouraged by the existence of open-source general-purpose AI parts.
<p>
<h4>5. The Pool of Talent</h4>
<p>
Many programmers are interested in AI. It's an intriguing field -
problem-solving, decision-making, remembering and recognizing...
it's the ultimate challenge - software that thinks.
<p>
The vast majority of these programmers never apply their talents to AI -
they have no opportunity in their jobs and they are not part of the
academic AI community. The Open-source phenomenon provides a number
of ways of tapping this pool of talent.
<p>
Programmers with a calling and/or a desire to make a name for themselves
will do original research, write new open-source software
and start open-source projects. Much unconventional thought will be
brought to bear on various problems in artificial intelligence. Many
thinkers will have a higher opinion of their thoughts than will
later prove to be justified (your present author probably included).
But the effect of the open-source movement on the state of the art of
AI may be the next great thing that happens in the world of computers.
<p>
Open-source projects need participants - people who contribute time
designing, developing, debugging and testing. The open-source culture
that supports this participation is described in Eric Raymond's paper,
<a href="http://www.tuxedo.org/~esr/writings/homesteading/">
"Homesteading the Noosphere"</a>. AI open-source projects should
be particularly good at attracting participants.
<p>
Open-source AI that is used in commercial products should
be particularly attractive to talent. There are a few reasons for this.
One is that the the AI has proven to be useful - it is something worth
working on. Another reason is that the work of the project is
obviously important and the project is therefore an excellent place to
make a name for oneself. A third reason is that money is involved,
there is the possibility of paying work and the possibility of getting
involved in new business ventures. Even people who aren't looking for
work like the idea of acquiring knowledge that can be worth money.
<p>
If a commercial product uses open-source AI, there is the potential
for paying work related to the AI. The product developer pays people to
initially make use of the AI and this use may have to be maintained.
Customers may require consulting, customization and integration
services. The product developer and large customers may fund
projects aimed at improving the open-source AI.
<p>
If money is being made on a commercial product that uses open-source
software, there will be people trying to dream up ways of getting in
on the action. People may start third-party consulting and integration
services. People may launch a venture to develop a competing product.
The possibility of acquiring an equity interest in some new venture
has its attractions.
<p>
<h4>6. Conclusion - The Potential of Open-Source AI Parts</h4>
<p>
Open-source AI parts may significantly increase the development of
commercial AI applications. Such development will become cheaper
and less risky. Small companies that would lack credibility as
developers or purveyors of closed-source AI could have adequate
credibility as users of open-source AI.
<p>
Open-source AI parts may also significantly increase the development
of home-grown AI applications. Many applications of AI in business
are so specific that they will not be developed at all unless they
are developed by, or at least for, an individual company for its own
use. Development that would be too expensive and risky with
closed-source AI products could be feasible with open-source AI.
<p>
As the open-source movement increases the application of AI, more time
and money will be directed at improving the AI. As the state of the
art of AI advances, more time and money will be directed at trying
to apply it.
<p>
The open-source movement could have important effects on the
application of AI.
<p>
<h4>7. Bibliography and Acknowledgements</h4>
<p>
<a href="http://www.tuxedo.org/~esr/writings/cathedral-bazaar/">
"The Cathedral and the Bazaar"</a> - Eric Raymond<br>
http://www.tuxedo.org/~esr/writings/cathedral-bazaar/
<p>
<a href="http://www.tuxedo.org/~esr/writings/homesteading/">
"Homesteading the Noosphere"</a> - Eric Raymond<br>
http://www.tuxedo.org/~esr/writings/homesteading/
<p>
<a href="http://www.tuxedo.org/~esr/writings/magic-cauldron/">
"The Magic Cauldron"</a> - Eric Raymond<br>
http://www.tuxedo.org/~esr/writings/magic-cauldron/
<p>
I owe much of my appreciation for the open-source movement to
the writings of Eric Raymond. There are many good things to read
at his <a href="http://www.tuxedo.org/~esr/">web-site</a>.
<p>
<a href="http://www.agt.net/public/bmarshal/homepage.htm">
Brian Marshall's Home Page</a>
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Brian Marshall<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Using Sfdisk and Perl to fdisk a hard drive</font></H1>
<H4>By <a href="mailto:dude@linux.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<h2>Index:</h2>
<ol>
<li> <a href="#Resources"> Resources</a>
<li><a href="#Intro"> Introduction to Sfdisk and the Perl Expect module</a>
<li><a href="#How"> How to use Sfdisk to get information about your hard drive.</a>
<li><a href="#create">How to use Sfdisk to create or repartition your hard drive.</a>
<li><a href="#delete">How to use Expect to delete all partitions on a hard
drive.</a>
<li><a href="#change">How to use Expect to change the geometry of a hard
drive.</a>
<li><a href="#Comments"> Comments</a>
</ol>
Future updates for this article will be located at
<a href="http://www.tcu-inc.com/mark/articles/Sfdisk.html">
http://www.tcu-inc.com/mark/articles/Sfdisk.html</a>.
<hr>
<a name="Resources"></a>
<h2>Resources</h2>
<ol>
<li> http://www.perl.com/CPAN/authors/id/AUSCHUTZ/Expect.pm-1.07.tar.gz
<li> /usr/src/linux/Documentation/ide.txt
<li> man sfdisk
<li> man lilo
<li> man lilo.conf
<li> <a href="http://metalab.unc.edu/LDP/HOWTO/mini/LILO.html">
http://metalab.unc.edu/LDP/HOWTO/mini/LILO.html</a>
<li> man hdparm # side issue -- you might find this useful for other things.
</ol>
<hr>
<a name="Intro"></a>
<h2>Introduction to Sfdisk the Perl Expect module</h2>
I am really getting mad at myself. I only tested this with RedHat 6.0 (again).
Debian would be a cool alternative.
<p>
The purpose of the article is to explain how to automate the fdisking
of a hard drive by primarily using Sfdisk and the Perl Expect module.
Why would you want to do this? Well, it can be one way of many ways
to solve the problem where you need to have your bootable files
for Linux before the 1024th cylinder. There are other ways to solve the
boot problem, but we will stick to the cylinder method for this article.
It also can be used to automatically
partition new hard drives.
<p>
Sfdisk is a tool that allows you to change the partitioning of your hard
disks through scripts. It also lets you get information about your hard drives.
Although it is a pretty cool program, it does have limitations. It works and it
has most of the necessary powers of fdisk, but not all of it.
<p>
Disk Druid is a program used by RedHat to initialize hard drives (change their
geometry) before you install Linux to the hard drive.
<p> Perl is a very very cool programming language. The "Expect" perl module is
a module in perl which adds a relatively user-friendly way of making a script
which automates commands. In other words, when you execute an Expect script, it
types commands to the computer as though you were typing them -- like a macro
but more advanced and usable for any console based program. Perl is just so
cool to use with everything.
<p>
There are two other modules you have to install with the Expect perl module.
<br> IO-Stty-.02.tar.gz
<br> IO-Tty-0.02.tar.gz
<hr>
<a name="How"></a>
<h2>How to use Sfdisk to get information about your hard drive.</h2>
With RedHat 6.0, they included sfdisk by default. I guess the BSD games had to
go to save space. Anyways, here are some simple commands to get information
about the master hard drive on your primary controller to an PC compatible
computer.
<p>
To get the geometry of your hard drive,
<pre>
/sbin/sfdisk -g /dev/hdd
</pre>
Here is how to get the size (in bytes) of the total space of your hard drive,
<pre>
/sbin/sfdisk -s /dev/hdd
</pre>
Here is how to change the id of a partition 5 on your first hard drive to the
Linux partition,
<pre>
sfdisk --change-id /dev/hdd 5 83
</pre>
<hr>
<a name="create"></a>
<h2>How to use Sfdisk to create or repartition your hard drive.</h2>
Well, one powerful feature of sfdisk is to repartition your hard drive or
create new partitions. Create a file called "Test.data" which has entries in the
following format, one per line, and the fields are comma delimited:
<p>
Start, Size, ID, Bootable
<p>
Start = cylinder to start at (first available cylinder if left blank), Size =
number of cylinders (all if left blank), ID = type of partition (Linux, Swap,
MSDOS, or other), and Bootable = if this partition is bootable. There are other
options, but we won't get into them in this article. <p>
To make it so you have 1 partition of 136 cylinders, a second partition with 254
cylinders of the SWAP ID (82), and a third Linux partition bootable that grabs the rest of the
space (ID = 83), make a file list this,
<p>
<pre>
1,136
101,254,82
201,,83,*
</pre>
<p>
and then issue this command to take this configuration and execute it on your
slave hard drive on your secondary controller
<pre>
/sbin/sfdisk /dev/hdd << Test.data
</pre>
and then issue this command to see what you did
<pre>
/sbin/sfdisk /dev/hdd
</pre>
<p>
Again, it is highly recommended you read the manpage to figure out how to format
this data file. Any fields you leave blank have default values described above.
<hr>
<a name="delete"></a>
<h2>How to use Expect to delete all partitions on a hard drive. </h2>
The <a href="nielsen/Dufus_Move.pl.txt">Perl script to delete all the
partitions</a> is not something to be fooled around with. If you test it and
screw up your hard drive, it is your fault and not mine even if my script
doesn't work right. It is your risk.
<p>
Basically, with the Expect module, you can automate certain takes, which can be
used later for a more sophisticated program - hint, hint of what is to come.
<p> Save the script to "Dufus_Move.pl" and issue the command
<pre>
chmod 755 Dufus_Move.pl
</pre>
and then to do it on your slave hard drive on your secondary controller,
<pre>
./Dufus_Move.pl d
</pre>
<hr>
<a name="change"></a>
<h2>How to use Expect to change the geometry of a hard drive. </h2>
The <a href="nielsen/Change_Cylinders.pl.txt">Perl script to change the
cylinders</a> of a hard drive is not something to be fooled around with. If you
test it and screw up your hard drive, it is your fault and not mine even if my
script doesn't work right. It is your risk. <p> Anyways, that script maximizes
the number of cylinders. <p> Save the script to "Change_Cylinders.pl" and
issue the command <pre> chmod 755 Change_Cylinders.pl </pre>
and then to do it on your slave hard drive on your secondary controller,
<pre>
./Change_Cylinders.pl d
</pre>
<hr>
<a name="Comments"></a>
<h2>Comments</h2>
<ol>
<li> Sfdisk is a pretty cool program, but creating a perl script as an interface
for Fdisk is even cooler. Better yet, why don't they script fdisk? I wonder who
"they" are.
<li> If Sfdisk could redo the geometry of a hard drive, I would have not needed
anything else. Perhaps it is possible with Sfdisk, but I didn't see it.
<li> This was the first time I really used Expect for more than just simple
tasks. I didn't list here everything I did.
</ol>
<hr>
<a href="mailto:mark@800linux.com">Mark Nielsen</a>
works as a database programming assistant at
<a href="http://www.tcu-inc.com">The Computer Underground</a> and as
a book binder for ZING and as a geek for <A HREF=http://linux.com>
linux.com</A>. Edited using Nedit and ispell.
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Mark Nielsen <BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Linux Is Not For You</font></H1>
<H4>By <a href="mailto:nod@film-review.co.uk">nod</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p align=center><font size=5><STRONG>
Linux is not for you<BR>
(if you are a normal everyday Joe)
</STRONG></FONT></P>
<p>Okay, you've got a home computer, most likely a PC. You've been surfing the
net for six months to a year, so you reckon you are pretty wired. But you've
been hearing a rumour, a little whisper, a voice in the back of your head that
states, "There is another operating system and it's cool and funky, free,
stable, powerful and fast". Memories flash up of the time you were working on
that really important letter and the system suddenly locked, the day that you
finally found an interesting web site then the screen went blue, and you never
found that site again. This hint "at a better way" plays on your doubts and
suspicions, and after a little surfing you come across the holy grail of Operating
Systems, <i>Linux</i>. Perhaps you found it through a document like <A
HREF=http://www.linuxdoc.org/LDP/gs/node3.html>this one</A> which states,
"Linux is no longer only for UNIX wizards who sit for hours in front of a
glowing console".
<p>Okay, Sparky, stop right there. Linux is not for you. I really should add
"currently" to that statement, for there does remain hope for the future. But
for the moment, Linux is out of most people's league.
<P> Let me introduce myself. I am the guy that your Uncle Bob calls when his
computer crashes, the knowledgeable friend of the family, the man that can sort
things out. Self-taught, I don't know everything, but when it comes to the
home computer I can sort out most things. Generally this means Windows 95. The
faults that I find with most people's systems are extremely easy to rectify,
but working on them does give some insight into "the average user": what they
want, what they can and cannot do. Also, I myself have been 100% conned by
<i>the Myth</i>, and indeed have over the last five days I have installed Linux
three times all with varying degrees of success. So I now have a pretty good
idea of what is wrong with it in reference to using it for the first time.
<p>Sad but true, Linux is moving rapidly away from being usable by
"the average user". People may choose to argue that with the latest major
distributions including Partition Magic and Boot Magic, things are getting
simpler, but this is not the case. Look at what the distributions come with:
four to six cd-roms, big manuals, yet hardly any help unless one is prepared to
search for it. Give me a single Windows 95 CD-ROM and a boot floppy, and I can
install an operating system that will have a nice friendly interface, where
most people will be able to work out where their hard drive is. It will have a
printer installed, and will attempt to sense any other devices.
<p>With the KDE install that Caldera ships, I was pleasantly surprised to see
that on the desktop was my CD-ROM and floppy, but where was my hard drive?
What about that ATAPI Zip drive? Why is my printer not working? Eventually
after searching the internet (through Windows because there is no obvious quick
way of installing an internet connection on Linux), I find out how in theory to
install the zip drive. Imagine my surprise when I type in:
<pre>
# dmesg | less
</pre>
<p>and see that somewhere, somehow, my computer already knows that it has a
zip drive. It just didn't put an icon anywhere for it or indeed even mount the
drive. So I have to do this by <b>typing stuff in</b>: arrgh, horror of
horrors. I am not even going to go into the problems I had with the sound card
which resulted in severe feedback and waking up the neighbours. I have not even
attempted to install a printer yet, because quite honestly my nerves aren't
quite up to it.
<p>Now that deals with the installation problems, no visible hard drive.
Although with a little bit of guesswork you could probably work out that it is
/, that's not really as intuitive as a Hard Drive Icon. As for finding the
other partitions on the drive, well I can do it and am feeling pretty damn
pleased with myself, but the average person could not, even though the
operating system is perfectly aware (just like with the Zip) that these exist.
<p>Now let's deal with the issue of Linux moving rapidly away from what the user
wants. One of the first things I did was click on the big K. I see a wealth
of software: games, text editors (both advanced and normal), and various things
that I don't know what they do. I'm going to click on them anyway, but the
question is, do I need this stuff? Of course not; the installation does not
provide what I need. A good example would be SANE, which apparently is scanner
software. This I know, because I already knew what the KRPM did. I look to
see whether SANE is installed on my system. Apparently it is. I can even
uninstall it by clicking on the button in KRPM. But I can't find any way to run
the program. I look in the manual. It tells me to do various things. While
this may be good for a UNIX guru, it doesn't help me, because I don't
understand what the words refer to.
<p>This is a plea on behalf of the home user. Companies, stop concentrating
on adding as much software as possible! Instead, redirect your effort into
producing a sound, simple, base installation! Take a good look at Microsoft's
products. Study what they install and how the user navigates around. Microsoft
may be despised by the Linux community but it would be best if one were to
study the enemy and exploit their strengths as well as their weaknesses. The
home user doesn't care about open source codes, they don't program. They want
to get a system up and running that they can use, and where they can then
install any additional components, preferably without having to type anything
in. Keep it simple, concentrate on wizards rather than adding features. I've
tested out the speed of Linux using my dual booting system these were the
results :
<p>Copying a folder containing 4 files totalling 149 megabytes to another
partition on the same hard drive:
<PRE>
Linux: 1 minute 47 seconds
Windows: 2 minutes 37 seconds
</PRE>
<p>Now I have no idea how or why etc., but Linux seems faster so I am keeping
it. I know that at some point it could be the OS of the future, and would like
to discuss with anyone that is interested, what form the perfect, simple base
installation could take. One of the fundamentals was that Linux was for the
good of everyone, and as I'm a newbie I figure that I'm the perfect idiot to
test it on.
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, nod <BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Linux Humor</font></H1>
<H4>By <a href="mailto:gazette@ssc.com">Mike Orr</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<P> A co-worker brought to my attention this little link:
<A HREF=http://www.cs.monash.edu.au/~damian/TPC/1999/Coy/>
Coy: Like Carp, Only Prettier</A>. It's a Perl module described
by its author, Damian Conway, thusly:
<BLOCKQUOTE><PRE>
When a program dies
what you need is a moment
of serenity.
The Coy.pm
module brings tranquillity
to your debugging.
The module alters
the behaviour of die and
warn (and croak and carp).
Like Carp.pm,
Coy reports errors from the
caller's point-of-view.
But it prefaces
the bad news of failure with
a soothing haiku.
</PRE></BLOCKQUOTE>
<P> Not a bad idea.
<P> Wait, it gets better. The
<A HREF=http://www.cs.monash.edu.au/~damian/TPC/1999/Coy/Paper.html>
description of the haiku generator algorithm</A> is itself written in haiku.
<P> The paper cites
<A HREF=http://www.salonmagazine.com/21st/chal/1998/02/10chal2.html>
a Salon Magazine contest</A> for haiku error messages. These are my favorite
entries, although all of them are worth a read:
<BLOCKQUOTE><PRE>
A file that big?
It might be very useful.
But now it is gone.
-- David J. Liszewski
Printer not ready.
Could be a fatal error.
Have a pen handy?
-- Pat Davis
The Web site you seek
cannot be located but
endless others exist
-- Joy Rothke
Windows NT crashed.
I am the Blue Screen of Death.
No one hears your screams.
-- Peter Rothman
</PRE></BLOCKQUOTE>
<P> All this got me thinking: does anybody have any Linux poetry they'd
like to share? Not necessarily haiku--any kind of poetry. There are lots of
geeky UNIX things floating about, but nothing specifically Linux-related.
(Or is my memory getting dim?) Maybe someday I'll try writing a Linux sonnet.
<P> P.S. Another co-worker sent me a link to a
<A HREF=http://www.asciimation.co.nz/>
Star Wars move done in ASCII animation (asciimation)</A>. It requires Java.
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Mike Orr<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Security for the Home Network</font></H1>
<H4>By <a href="mailto:jpollman@bigfoot.com">JC Pollman</a> and
<a href="mailto:bill.mote@bigfoot.com,">Bill Mote</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>Security for the home network is your responsibility. With all
the tools available to the crackers and script kiddies, it is not a matter of
<EM><STRONG>if</STRONG></EM> but rather <EM><STRONG>when</STRONG></EM> you
will be probed and possibly attacked. I have personally been connected
via modem for less than 5 minutes and been port scanned! Your ISP really
does not care if you are being attacked by "x" because if they shut down "x",
tomorrow it will be "y"
attacking you. Fortunately there are several things you can do to
greatly increase the security of your network.
<p><b>Disclaimer: </b>This article provides information we have gleamed
from reading the books, the HOWTOs, man pages, usenet news groups, and
countless hours banging on the keyboard. It is not meant to be an all inclusive
exhaustive study on the topic, but rather, a stepping stone from the novice
to the intermediate user. All the examples are taken directly from
our home networks so we know they work.
<p><b>How to use this guide:</b>
<ul>
<li>
Words encapsulated by square brackets like [Enter] indicate the depression
of a key on the keyboard or a mouse button [Mouse1]</li>
<li>
Words encapsulated by squiggly brackets like {your name here} indicate
data that will/should be substituted with "real" data</li>
<li>
Text depicted in italics are commands you, the user, should type at a prompt</li>
</ul>
<b>Prerequisites:</b> This guide assumes that you have tcp wrapper and
ipchains installed, that you are running kernel 2.2.0 or higher, that you
have selected a legal/private domain name, that you're using IP Masquerade
to "hide" your machine from the internet, and that you are consistently
able to connect to the internet.
<p><b>Why crack me?</b> Most of us believed, at one time, that we were
so insignificant that a cracker would not waste his time with us. Additionally,
there are so many computers connected to the internet that the odds of
being cracked were virtually nil. Five years ago that was probably a correct
assessment. With the advent of the script kiddies, this is no longer
true. The tools available to them make it so easy to find and crack systems
that anyone who can turn on a computer can do it.
<p>There are two main reasons they may want to crack your home system:
the thrill of another conquest, and to get information to use your ISP
account to launch other attacks. Life will become distinctly unpleasant
when the authorities come to your door investigating why you were using
your ISP account to break into the pentagon.
<p>The following information comes from a series of <a href="http://www.enteract.com/~lspitz/pubs.html">excellent
articles</a> by <a href="mailto:lance@spitzner.net">Lance Spitzner</a>.
They should scare you straight if you have taken security lightly up to
now.
<blockquote>The script kiddie methodology is a simple one. Scan the Internet
for a specific weakness, when you find it, exploit it. Most of the tools
they use are automated, requiring little interaction. You launch the tool,
then come back several days later to get your results. No two tools
are alike, just as no two exploits are alike. However, most of the tools
use the same strategy. First, develop a database of IPs that can
be scanned. Then, scan those IPs for a specific vulnerability.</blockquote>
<blockquote>Once they find a vulnerable system and gain root, their first
step is normally to cover their tracks. They want to ensure you do
not know your system was hacked and cannot see nor log their actions.
Following this, they often use your system to scan other networks, or silently
monitor your own.</blockquote>
And now for the bad news: <a href="http://www.cert.org/tech_tips/root_compromise.html">CERT®
Coordination Center</a> has only one solution if you have been cracked:
reinstall everything from scratch!
<p><b>The Firewall Machine:</b> Ideally your firewall should be a machine
dedicated to just that: being your security. Given that you only need the
power of a 486, this should not be to hard to handle. By using a computer
to just be your firewall you can shutdown all the processes that normally
get attacked - like imap, ftp, sendmail, etc. A simple solution would be
to create a boot floppy with everything you need on it and run it out of
a ram disk. That way, if you are cracked, you just reboot the machine,
and without a hard drive it will run much cooler. Check out the
<A HREF=http://www.linuxrouter.com>Linux Router Project</A>
for how to set it up.
<p>However, for the purposes of this article the
authors assume you're setting this up on your primary server and that
you've been following along with the previous month's articles on DNS and
SendMail.
<p><b>What we will cover: </b>There are hundreds, maybe even thousands,
of ways to crack into your computer. And for every way in, you need to
provide a defense. We are not going to cover everything here: we will cover
just the basics to get your machine secured from the most likely attacks.
<blockquote><a href="pollman/ip_spoofing.html">ip
spoofing</a>
<br><a href="pollman/tcpwrappers.html">tcp
wrappers</a>
<br><a href="pollman/ipchains.html">ipchains</a></blockquote>
<b>What we will not be covering:</b>
<blockquote>physical security
<br>specific programs you run
<br>encrypting data</blockquote>
<hr SIZE=4 WIDTH="90%">
<br>Here are some <a href="pollman/final_thoughts.html">final
thoughts</a> to whet your appetite. Next month we will be discussing dhcp.
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, JC Pollman and Bill Mote <BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<center><b><font size=+1>IP Spoofing</font></b></center>
<p>The best information comes straight from the<a href="http://metalab.unc.edu/pub/Linux/docs/howto/IPCHAINS-HOWTO">
IP Chains How To</a>:
<p>IP spoofing is a technique where a host sends out packets which claim
to be from another host. Since packet filtering makes decisions based
on this source address, IP spoofing is used to fool packet filters. It
is also used to hide the identity of attackers using SYN attacks, Teardrop,
Ping of Death and the like (don't worry if you don't know what they are).
<p>The best way to protect from IP spoofing is called Source Address Verification,
and it is done by the routing code, and not firewalling at all. Look
for a file called rp_filter by doing this:
<p><i><font color="#FF0000"> </font><font color="#330000">ls
-l /proc/sys/net/ipv4/conf/all/rp_filter [Enter]</font></i>
<p>If this exists, then turning on Source Address Verification at every
boot is the right solution for you. To do that, insert the following
lines in your <font color="#330000">init script (for Redhat based distributions
use /etc/rc.d/rc.sysinit script)</font>: <font color="#330000">immediately</font>
after /proc is mounted:
<br>
<p><tt># This is the best method: turn on Source Address Verification and
get</tt>
<br><tt># spoof protection on all current and future interfaces.</tt>
<br><tt> if [ -e /proc/sys/net/ipv4/conf/all/rp_filter
]; then</tt>
<br><tt> echo -n "Setting
up IP spoofing protection..."</tt>
<br><tt> for f in /proc/sys/net/ipv4/conf/*/rp_filter;
do</tt>
<br><tt>
echo 1 > $f</tt>
<br><tt> done</tt>
<br><tt> echo "done."</tt>
<br><tt> else</tt>
<br><tt> echo PROBLEMS
SETTING UP IP SPOOFING PROTECTION. BE WORRIED.</tt>
<br><tt> echo "CONTROL-D
will exit from this shell and continue system startup."</tt>
<br><tt> echo</tt>
<br><tt> # Start a single
user shell on the console</tt>
<br><tt> /sbin/sulogin
$CONSOLE</tt>
<br><tt> fi</tt>
<p>If you cannot do this, you can manually insert rules to protect every
interface. This requires knowledge of each interface. The 2.1
kernels automatically reject packets claiming to come from the 127.* addresses
(reserved for the local loopback interface, lo).
</body>
</html>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="JC Pollman">
<meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i686) [Netscape]">
</head>
<body bgcolor=#ffffff>
<center><b><font size=+1>TCP Wrappers</font></b></center>
<p>We are indebted to <a href="mailto:unixhelp@home.com">Rob Sellars</a>
for his excellent article: TCP Wrappers, Locked doors and a security camera for
computer!</a>
<p><b>How does <font color="#330000">"</font>tcp wrappers<font color="#330000">"
</font>work?</b> Many programs do not run all the time as they are
infrequently used and would create unnecessary overhead. The inetd
program is run takes care of this nicely. When a user tries to connect
to your computer, the connection is made up of a pair of data: an ip address
and a port. Inetd reacts to this connection by looking up the port number
in /etc/services, and then looking in the file /etc/inetd.conf for a corresponding
service, (program) and then runs the service. With tcp wrappers, inetd
is tricked into running tcpd instead of the service that would normally
be called. Tcpd checks it's rules in the /etc/hosts.allow and /etc/hosts.deny
files. It either accepts the connection and runs the service or denies
the connection based on it's rules.
<p><b>NOTE:</b> tcp wrappers only works for services that inetd starts!
Sendmail, apache, and named do not use inetd, and so they are not protected
via tcp wrappers.
<p><b>Check to see if tcp wrappers is installed.</b> Most distributions
install tcp wrappers by default. The easiest way to see if tcp wrappers
is installed is to view the /etc/inetd.conf file. If it is not installed,
a typical line looks like this:
<p>Do this:
<p><tt>ftp stream tcp nowait
root <b>/usr/sbin/ftpd </b>
ftpd -l -a</tt>
<p>and if it is installed, it looks like this:
<p><tt>ftp stream tcp nowait
root <b>/usr/sbin/tcpd</b>
ftpd -l -a</tt>
<p>The bolded part shows the difference. Assuming it is installed, you
must edit your /etc/host.allow and /etc/host.deny files to give tcpd the
rules it needs.
<p><b>Edit your /etc/hosts.allow and /etc/hosts.deny to limit access
to your computer's network services. </b> One of the nice features
of tcp wrappers is the ability to control access to your computers network
services and log failed or successful attempts. You can also perform certain
actions based on the users hostname. When someone tries to connect
to a network service on your computer, the tcp wrapper (tcpd) reads the
file /etc/hosts.allow for a rule that matches the the hostname of
the person trying to connect, if /etc/hosts.allow doesn't contain a rule
allowing access, tcpd reads /etc/hosts.deny for a rule that would deny
access to the hostname. If neither file contains an accept or deny rule,
access is granted by default. <font color="#330000">It's important
to note the sequence of events here. "hosts.allow" is read first
and overrides anything in "hosts.deny". As you'll see, we tell the
server to accept connections from specific machines in hosts.allow, but
via hosts.deny we tell our server to refuse access to anyone for any reason.</font>
<p>In the following examples we are going to deny all finger request,
and deny telnet access to all users from lamers.edu. The format of
the rules in the hosts.allow/hosts.deny files is as follows:
<blockquote>service: hostname : options</blockquote>
An example /etc/hosts.allow could look like the following:
<br>*****************************************************************************
<br><tt>ipop3d: ALL: ALLOW</tt><tt></tt>
<p><tt>in.telnetd: .myschool.edu : ALLOW</tt><tt></tt>
<p>*****************************************************************************
<br>Note: in the two rules above, each rule must be on ONE line, it may
appear as more than one line here due to article formatting.
<p>In the first line "ipop3d" is the service, the hostname is "ALL" which
means the rule applies to all hosts, and finally we tell tcpd to "ALLOW"
the connection.
<p>The second rule follows the same format as the first, it allows access
to telnet only for users from "myschool.edu".
<p>Again: Each rule goes on it's own unbroken line.
<p>The above example was given to explain rules tcp wrappers uses. Here
is what I have on my server for /etc/hosts.allow:
<p>*****************************************************************************
<br><tt># allow connections from my local network</tt>
<br><tt>ALL: A<font color="#330000">LL</font>@127.0.0.1 : ALLOW</tt>
<br><tt># allow all connections from computers on my network</tt>
<br><tt>ALL: A<font color="#330000">LL</font>@192.168.124.1 : ALLOW</tt>
<br><tt>ALL: ALL@192.168.124.10 : ALLOW</tt>
<br><tt>ALL: ALL@192.168.124.11 : ALLOW</tt>
<br><tt>ALL: ALL@192.168.124.20 : ALLOW</tt>
<br>*****************************************************************************
<p>This file allows permissions based on ip addresses instead of services.
Since it is a home network, all computers are trusted and listed. Obviously
ip spoofing needs to be fixed or this method is not secure. I want all
connects from outside my network denied and a message sent to me telling
me what happened. My /etc/hosts.deny looks like this:
<p>*****************************************************************************
<br><tt>ALL:ALL : spawn (echo Attempt from %h %a to %d at `date` | tee
-a /var/log/tcp.deny.log |mail jpollman@kulai.org )</tt>
<br>*****************************************************************************
<br>This needs to be on ONE line. And yes, I do get email from here - about
two a week. They look like this:<font color="#330000"></font>
<p><tt><font color="#330000">Attempt from gw.webec.com 209.98.44.94 to
in.ftpd at Mon Jul 5 21:44:54 EDT 1999</font></tt>
<br><font color="#330000"></font>
<br><font color="#330000"></font>
<br><font color="#330000"></font>
<br><font color="#330000"></font>
<br><font color="#330000"></font>
<br>
<br>
</body>
</html>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="JC Pollman">
<meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i686) [Netscape]">
</head>
<body bgcolor=#ffffff>
<center><b><font size=+1>IP Chains</font></b></center>
<p>In order to understand how to configure a firewall, you need to understand
how the data moves from one computer to another. The best explanation I
have seen comes from the<a href="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/IPCHAINS-HOWTO">
IP Chains HOWTO</a>:
<blockquote>All traffic through a network is sent in the form of packets.
For example, downloading this package (say it's 50k long) might cause you
to receive 36 or so packets of 1460 bytes each, (to pull numbers at random).</blockquote>
<blockquote>The start of each packet says where it's going, where it came
from, the type of the packet, and other administrative details. This
start of the packet is called the header. The rest of the packet,
containing the actual data being transmitted, is usually called the body.
<p>Some protocols, such TCP, which is used for web traffic, mail, and remote
logins, use the concept of a `connection' -- before any packets with actual
data are sent, various setup packets (with special headers) are exchanged
saying `I want to connect', `OK' and `Thanks'. Then normal packets are
exchanged.
<p>A packet filter is a piece of software which looks at the header of
packets as they pass through, and decides the fate of the entire packet.
It might decide to deny the packet (i.e.. discard the packet as if it had
never received it), accept the packet (i.e.. let the packet go through),
or reject the packet (like deny, but tell the source of the packet that
it has done so).
<p>Under Linux, packet filtering is built into the kernel, and there are
a few trickier things we can do with packets, but the general principle
of looking at the headers and deciding the fate of the packet is still
there.
<p>One problem is that the same tool (``ipchains'') is used to control
both masquerading and transparent proxying, although these are notionally
separate from packet filtering (the current Linux implementation blurs
these together unnaturally, leaving the impression that they are closely
related).</blockquote>
So, ipchains looks at the to, from, and port request in the header of the
packet and then looks at its rules to decide what to do with it. Examining
a rule is the easiest way to understand what it is doing. Here is what
I use for the pop3 part of my firewall:
<p><tt>ipchains -A input -p tcp -j ACCEPT -s 192.168.124.0/24 -d 0.0.0.0/0
110</tt>
<br><tt>ipchains -A input -p tcp -j DENY -d 0.0.0.0/0 -s 192.168.124.0/24
110</tt>
<p><b>-A input:</b> append this rule to the other input rules (i.e. do
not erase the other rules)
<br><b>-p tcp:</b> using the tcp protocol
<br><b>ACCEPT/DENY:</b> exactly what they say
<br><b>-s: </b>the source of the data packet
<br><b>-d:</b> the destination of the data packet. 0.0.0.0/0 means: from
anywhere, and 192.168.124.0/24 are my network addresses.
<p>The 1st rule above says: accept any data from the local network going
anywhere else for port 110. The second rule says: deny any packet
coming from anywhere else going to the local network on port 110.
<p>This sounds simple, but what if you do not know what your ip address
is - like when you dial up to the internet? And setting up each port can
take a while. Fortunately there is help. <a href="mailto:manuka@nerdherd.net">Ian
Hall-Beyer</a> has put together 3<a href="http://www.nerdherd.org/ipchains/ipchains-firewall-1.6.tar.gz">
outstanding scripts</a> that you can put right
into your box with a minimum of configuring. Here is his Readme file:
<br>
<blockquote>1) Pick the script that is appropriate to your particular network
setup:
<p> <a href="masquerade">masquerade</a>:
<br> For systems on an internal RFC1918 network.
<p> <a href="standalone">standalone:</a>
<br> Single machines connected to the net, wanting strong
security.
<p> <a href="routable">routable:</a>
<br> For systems gatewaying a standard network with a
routable subnet.
<p>2) Copy the appropriate script into /usr/sbin. Edit your script variables
<br> as follows:
<p> LOCALIF: http://linux.freediskspace.com/files/42180/(Masquerade/Standalone)
<br> This is the interface with which you are connected
to the IP network.
<br> For modems and serial port ISDN TA's, this is usually
ppp0. Otherwise,
<br> use the ethernet interface your access device is
connected to.
<p> INTERNALNET: (Routable/Masquerade)
<br> Set this to the *network* address and hostmask of
the network you're
<br> gatewaying. bitmasks or dotquadded masks are acceptable.
<p>3) If you're on a dialup, add an entry into ip-up to call the script
after
<br> you've connected. If you're on a permanent connection,
call it from
<br> rc.local.
<p><font color="#330000">4) Change the permissions on the file:</font><font color="#330000"></font>
<p><i><font color="#330000">
chmod 755 /etc/masquerade[Enter]</font></i></blockquote>
After you edit the files, run the one you need. For the Masquerade/Standalone,
I recommend you run it from /etc/ppp/ip-up (or ip-up.local for Redhat
based systems.) Ian is working on a making it even easier with<a href="http://www.nerdherd.org/ipchains/">
perl and a gtk interface</a>.
</body>
</html>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="JC Pollman">
<meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.9-19mdk i686) [Netscape]">
</head>
<body>
<center><b><font size=+1>Final Thoughts</font></b></center>
<p><b>Updates: </b>All the work you have just done is not worth the effort
if you do not keep your programs up to date. New holes are found every
week and the crackers stay very much up to date. Visit your distribution's
home page often and check what updates are available. Install them immediately!
The Mandrake distribution has one of the best solutions I have seen with
their MandrakeUpdate program.
<p><b>Turn off what you do not use!</b> It might be cool to have all sorts
of services running on your machine (like http, ftp, finger, etc) but unless
you need them, all they do is leave a door open to who ever wants to come
in. Edit your /etc/inetd.conf file and comment out (put a # at the start
of the line) everything you do not need. Since staying up to date is hard
enough, the fewer programs you have to worry about the better your security
will be.
<p><font color="#FF0000"><b>How to add a machine into your network later:
</b>It is likely that you'll add systems to your network after you've completed
this setup at some point in the future. Here are the key files that
must be updated with your new system and it's IP address information:</font><font color="#FF0000"></font>
<p><font color="#FF0000"> hosts.allow</font>
<!--
<p><b><i><font color="#33FF33">JC, we need a section like this for machines
and users in each article. DNS and SendMail have some very specific
things that must be done to add systems or users ... we should document
those in the "Final Thoughts" section.</font></i></b>
-->
<br><b></b> <b></b>
<p><b>Additional resources</b>: There are plenty of resources available
on the net. Most are for the professionals, but they have some relevance
to us at home as well. Below are some pages we feel are critical
to home security:
<p><a href="ftp://metalab.unc.edu/pub/Linux/system/security/lasg/">The
Linux Administrator's Security Guide</a> The best source of security related
info available! Get it, print it out, (178 pages as of today) and read
it! Note: it is in pdf format.
<br><a href="http://www.xmission.com/~howardm/security.html">Linux Basic
Security</a> Nice overall look at security
<br><a href="http://rlz.ne.mediaone.net/linux/">Linux Firewall and Security
Site</a> The most comprehensive list of security sites on the net.
<br><a href="http://www.linuxpowered.com/html/linux_links/sec.html">LinuxPowerd.com</a>
Another very comprehensive list of security sites, including pages for
updates of the more common distributions.
<br>
<br>
<br>
</body>
</html>
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Using Java and Linux to crack the DES challenge</font></H1>
<H4>By <a href="mailto:carlos.serrao@adetti.iscte.pt">Carlos Serrao</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<H3>Abstract</H3>
<P> DES has been used for a long time to guarantee the privacy of
transactions in open communication environments, especially in
inter-banking and financial ones. Nevertheless, the security level offered by
this algorithm is not the same that was before. The DES working conditions have
been shifting with the exponential growth of the Internet, and what was
considered as being safe a decade ago is not safe anymore. What this article
intends to show is how weak the actual DES strength is, and how and what a
determined attacker can do to break it using the new Java programming language
and the Linux operating system.
<H3>1. Introduction</H3>
<P> Cryptography has always been used as an effective way for protecting
sensitive information from non-authorised and curious eyes. Cryptography had
its exponential growth with the Second World War. Both the Allies and the Nazis
and the Japanese used this technology successfully. Basically, cryptography is
the process that allows maintaining private communications. There are two main
issues in cryptography: encryption and decryption. Both encryption and
decryption are two of the issues in cryptography, but not the only. Issues like
digital signatures and digital certificates are equally important. Nowadays,
two different kinds of cryptography are used: secret key or symmetric
cryptography and public key or asymmetric cryptography. The major difference
between them is the key usage. In the first one, only one key is used both for
encryption and decryption, and in the second one, two different keys are used,
one for encryption and the other for decryption. Normally, the public key is
freely distributed, while the private key is kept secret. All the public key
system security lies on the secrecy of the private key. In this article, our
attention will be mainly focused on the first case, the secret key
cryptography. DES is just one of the algorithms that uses secret key
cryptography. Others, like IDEA (International Data Encryption Algorithm), RC2
(Ron's Code 2) or RC5 (Ron's Code 5) also use it. DES (Data Encryption
Standard) is a block cipher algorithm that was defined and adopted by the US
government in 1977 as an official standard. It was originally developed by IBM
in 1970 under the name of LUCIFER, and was rapidly adopted as the most used
cryptographic system in the world [1]. Banks and financial institutions mainly
use DES.
<H3>2. Attacks on cryptography</H3>
<P> The main goal of cryptography is to maintain all the information secret
from non-authorised people. Cryptanalysis is a subtopic of Cryptography that
tries to break the secrecy (find the original text from a given encrypted text
without knowing the key used for its encryption). A successful cryptanalysis
can find both the original text and the used key. There are several methods
for performing attacks to these algorithms. The success or failure of each of
the attacking methods is strongly related to the amount of information the
attacker can obtain from both the ciphertext and plaintext [2]. Some of the
most used attacking methods are:
<UL>
<LI> Cyphertext only attack: the cryptanalist only has one or several
encrypted text samples using the same key, and tries to find out the plaintext
and key used.
<LI> Known plaintext attack: in this case, both the ciphertext and the
plaintext of one or several messages are available for the crytanalist.
<LI> Choosen plaintext attack: it's quite similar to the one before.
However in this case, the cryptanalist can choose the plaintext that he wishes
to see encrypted.
<LI> Adaptative chosen plaintext attack: similar to the method
presented before. However, the cryptanalist is able to choose the subsequent
texts according to a previously selected cyphertext / plaintext pair.
<LI> Chosen ciphertext attack: for a symmetric cipher it's similar to
the chosen plaintext attack. For asymmetric ciphers, the cryptanalist can
choose the ciphertext to be decrypted.
<LI> Chosen key or brute force attack: consists in the exhaustive
search of of all the possible keys, decrypting the ciphertext with each one of
the keys and trying to obtain a intelligible result.
</UL>
<H3>3. Key robustness</H3>
<P> The issue of key robustness has always been highly discussed. The bigger
the cryptographic key is, the stronger is the ciphertext generated. However, if
the cryptographic key is big, the cryptographic system is also more demanding
in terms of processing power.
<PRE>
+------------+-----------------------------------+
| Year | Millions of Encryption per Second |
+------------+-----------------------------------+
| 1995 | 4 |
+------------+-----------------------------------+
| 2000 | 32 |
+------------+-----------------------------------+
| 2005 | 256 |
+------------+-----------------------------------+
+------------+--------------+--------------+--------------+
| Key size | 1995 | 2000 | 2005 |
+------------+--------------+--------------+--------------+
| 40 bits | 68 seconds | 8,6 seconds | 1,07 seconds |
+------------+--------------+--------------+--------------+
| 56 bits | 7,4 weeks | 6,5 days | 19 hours |
+------------+--------------+--------------+--------------+
| 64 bits | 36,7 years | 4,6 years | 6,9 months |
+------------+--------------+--------------+--------------+
| 128 bits | 6,7e17 Myears| 8,4e16 Myears|1,1e16 Myears |
+------------+--------------+--------------+--------------+
Table 1 - Key robustness computation based on key size and on hardware
with 4000 dedicated chips. Source: Department of Computer Science,
University of Bristol, 1996
+------------+-----------------------------------+
| Year | Millions of Encryption per Second |
+------------+-----------------------------------+
| 1995 | 50 |
+------------+-----------------------------------+
| 2000 | 400 |
+------------+-----------------------------------+
| 2005 | 3200 |
+------------+-----------------------------------+
+------------+--------------+--------------+--------------+
| Key size | 1995 | 2000 | 2005 |
+------------+--------------+--------------+--------------+
| 40 bits | 1,3 days | 3,8 hours | 28,6 minutes|
+------------+--------------+--------------+--------------+
| 56 bits | 228 years | 28,6 years | 3,6 years |
+------------+--------------+--------------+--------------+
| 64 bits | 58,5 Myears | 7,3 Myears | 914 years |
+------------+--------------+--------------+--------------+
| 128 bits | 1,1e12 Myears| 1,3e30 Myears| 1,7e19 Myears|
+------------+--------------+--------------+--------------+
Table 2 - Key robustness computation based on key size and on 200
dedicated PCs. Source: Department of Computer Science, University of
Bristol, 1996
</PRE>
<P> The robustness of the keys highly depends on the available processing
capacity. With a bigger processing power, less will be the necessary time to
crack a cryptographic. On the other end, if the processing power increases also
does the key size and consequently the robustness of cryptographic algorithms.
But, what seems clear, is that keys that were considered has being safe two or
three years ago, are not safe at all now.
<H3>4 DES - Data Encryption Standard</H3>
<P> In 1972, the National Bureau of Standards (now, known as NIST) had launched
a request to the scientific community to conceive a new cryptographic
algorithm. This new algorithm should have the following characteristics:
<OL>
<LI> High level of security
<LI> Completely specified and easy to understand
<LI> Available to everyone
<LI> Adaptable
<LI> Efficient enough to implement in a computer.
</OL>
<P> In 1974, IBM answered this request with an algorithm named LUCIFER (later
it was called DEA - Data Encryption Algorithm or DES). Finally, in 1976 DES was
adopted as a standard in US.
<P> DES has kept itself, until now, for twenty years as an international
standard. Although DES is finally showing some signs of its age, is still
considered as one of the strongest and efficient algorithms in the world.
<H3>4.1. How DES works</H3>
<P> DES is a block cipher. It encrypts 64 bits blocks each time. A set of 64
bits of plaintext enters the algorithm and a set of 64 bits of ciphertext comes
out of the algorithm.
<P> DES is a symmetric key algorithm and uses the same key for encryption and
decryption processes. The keysize is 56 bits. DES uses a 56 bit key (the key is
normally represented by 64 bits, and every eight bit is used just for parity
checking).
<P> At its simplest level, the algorithm is based on two simple principles:
diffusion and confusion. DES applies substitutions followed by permutations to
a plaintext, based on a given key. This process is called round, and DES
applies it 16 times. The following scheme represents a more detailed look of
DES.
<CENTER>
<IMG SRC=gx/serrao/image01.jpg WIDTH=389 HEIGHT=710><BR CLEAR=all>
Figure 1 - A detailed scheme showing how DES works
</CENTER>
<P> A more detailed explanation is outside the scope of this article. More
information can be found on any good book about cryptography.
<H3>5. RSA Labs Cryptographic challenges</H3>
<P> The RSA Laboratories Data Security Division promotes and maintains a set of
cryptographic challenges as research tools [3]. Some of the challenges that
presently RSA holds, are:
<OL>
<LI> RSA factoring challenge
<LI> Secret-key challenge
<LI> DES challenge
</OL>
<H3>5.1. DES challenge</H3>
<P> The original DES challenge was launched in January 1997, with the aim of
demonstrating that 56-bit security, such as that offered by the US government's
DES, offers only marginal protection against a committed adversary. This was
confirmed when the secret key used for encryption was recovered on June 17,
1997. Since then it has been widely acknowledge that much faster exhaustive
search efforts are possible and DES challenge II is intended to show how fast.
<P> While the original showed DES was crackable using an exhaustive search
attack, the goal of the new DES challenge is to see how quickly an exhaustive
search attack can be accomplished to help judge the true vulnerability of DES.
<P> Twice a year, on January 13 and July 13, at 9:00 AM Pacific Time, a new
contest will be posted on the RSA homepage. The contest will consist of the
ciphertext produced by DES-encrypting some unknown plaintext message that has a
fixed and known message header. The first to recover the key wins, and the
amount of the prize will depend on how fast the key was recovered.
<H3>5.2. DES challenge details</H3>
<P> For each contest, the unknown message will be preceded by three known
blocks of text containing the 24-character phrase: ``The unknown message is:``.
While the mystery text that follows will clearly be known to a few employees of
the RSA Data Security, the secret key actually used for the encryption will be
generated at random and destroyed within the challenge-generating software. The
key will never be revealed to anyone.
<P> The goal of each contest is for participants to recover the secret randomly
generated key that was used on the encryption in a faster time than that
required for earlier challenges in the series.
<H3>6. Breaking DES</H3>
<P> Many problems require a large amount of computational power to reach to a
solution. Some problems, though, are amenable to an extremely high level of
parallelization, and with today's Internet it is possible to broaden the reach
of any large-scale effort to previously unanticipated levels.
<P> Breaking DES is one of these problems. It is necessary to use a somewhat
large computational power. Even if we consider a 56-bit key it is very
difficult and hard task to perform.
<P> The "best" strategy to break DES is to perform a brute force attack. This
means having to test all the possible keys and analyse and compare the results.
If we consider a 56-bit key, meaning that we will have approximately 256
possible combinations. Even with today common computational power this takes a
while.
<P> Breaking DES is clearly a NP-complete problem. It is impossible to find a
solution to a NP-complete problem in polynomial time, but given a
solution, it is possible to check whether it is valid or not. Typically, all
cryptographic problems are NP-complete problems.
<H3>7. General architecture</H3>
<P> The first aspect to consider when planning a general architecture for
breaking DES is to choose between a hardware or software attack.
<P> DES can be very easily implemented on a hardware chip, and lots of these
chips can be used for breaking DES. One of the most obvious advantages of this
approach is the resulting processing power. On the other hand, one of the
problems arising from this architecture is its large cost.
<P> Another possible approach for a general architecture is to use a software
attack. One of the problems with this kind of architecture is the processing
power. If only one computer is used the processing power obtained is quite
disappointing. This type of attack is very easy to implement and is also less
expensive than the previous one.
<P> However, more interesting results can be achieved when using a distributed
computing attack, based on the computational power increase obtained by joining
the computing power of several computers.
<H3>8. Distributed computing</H3>
<P> Distributed computing can be easily described as the effort to unify
multiple networked machines in such a way that information or other resources
can be shared by all of these connected computers. The hope is that sharing can
take place over large areas, many machines, and many users, unifying them in a
consistent and coherent framework.
<P> Distributed computing became a field of study when computer hardware
evolved from the mainframe, where everyone shared all the resources of a single
machine, to the minicomputer. The minicomputer made it necessary for two people
(or programs) to work together or share resources when they were on different
machines. Co-ordinating that work, or providing access to those resources, is
the goal of distributed computing.
<P> Interest in distributed computing has increased with the advent of
individual workstations and networked PCs, mainly with the spread of the
Internet. Because these are single user machines, the need to share
information, computing resources or data resources became immediate as soon as
there was any joint work to be done.
<H3>9. Specific architecture</H3>
<P> As it was stated before, one of the possible ways for building an
architecture to break DES is through a distributed computing architecture.
<P> However, some considerations should be take into account. For instance,
what is the best configuration and which are its constraints.
<P> No doubt that, in order to profit the availability of Internet's computing
power the best solution is to implement typical client-server architecture. A
server for distributing the keys and the clients to do the hard work: test all
the keys and check the result.
<CENTER>
<IMG SRC=gx/serrao/image02.jpg WIDTH=594 HEIGHT=674><BR CLEAR=all>
Figure 2 - Overview of the distributed architecture
</CENTER>
<H3>9.1. Considerations</H3>
<P> There are different approaches to an exhaustive search. The major
consideration is whether the search is co-ordinated by some central server, or
whether multiple processes start at random positions in the search space and
run independently until a key is found.
<P> The use of a central server poses some difficulties. As well as providing a
single point of failure, there is also the potential of network congestion and
failures.
<P> A variety of precautions should be taken in account. Servers can be
networked into a hierarchy, or replicated if resources allow, so that points of
failure are less catastrophic. In addition, clients can test themselves to
provide some level of assurance against malfunction and servers to provide
assurance against malevolent clients can conduct more explicit testing on the
clients. The server can have the client report on server-fabricated problems
that can be checked at very low cost. Alternatively a client could calculate a
checksum over all attempted solutions in the range examined and another client
of the same architecture could check this.
<H3>9.2. Functionality</H3>
<P> Although the client-server architecture presents some problems, it is still
the easiest and cheapest one to implement and maintain.
<P> The basic idea is to have a central server, that is in charge of performing
simple tasks, like adding new clients to the contest, distribute new groups of
keys and verify and update the results.
<P> The server itself does only the easy work on the system. The hard work,
trying all the possible keys and check the result, is done by the set of
clients. The more clients the system has, the faster will be coverage of all
the key-space.
<P> The functionality of the server can be easily summarised in the following
scheme.
<CENTER>
<IMG SRC=gx/serrao/image03.jpg><BR CLEAR=all>
Figure 3 - DES key server functionality
</CENTER>
<P> The functionality of the client can also be summarized this way:
<P> Basically, the main functionality of the client software is to test all the
possible keys distributed by the key server and then analyse the result and
test if the key is the right key or not.
<P> If it is the right key the client key the client communicates with the
server and sends a remark to the server stating that has found the key.
<CENTER>
<IMG SRC=gx/serrao/image04.jpg><BR CLEAR=all>
Figure 4 - DES key client functionality
</CENTER>
<H3>10. Implementation</H3>
<P> No doubt subsists that the best possible architecture for facing the DES
challenge is to use a client-server distributed architecture over the Internet.
<P> In order to implement such architecture, some important decisions have to
be made, like choosing the best deployment platforms and the right tools.
<H3>10.1. Linux</H3>
<P> Linux is a Posix Compliant operating system designed to run on the Intel
architecture. The system also has extensions to accommodate System V and BSD
requirements.
<P> This OS is licensed under the GNU Public license and is as such, freely
distributable provided the source accompanies the distribution or is at least
made available to the recipient.
<P> Linux runs on Intel processors 386 and later that are capable of utilising
the 386 protected mode.
<P> For a strictly minimum implementation you can expect to need about 10-15
Megabytes of disk space and 8 Meg of RAM. It is possible to run it in 4 Meg,
but consider 8 a reasonable minimum for text based installation. In order to
utilise X (the Unix windowing system) with any reasonable efficiency, expect to
need about 16 Meg of RAM as a reasonable minimum (300M hardfile space).
<P> The system is currently capable of compiling and running Posix compliant
Unix programs, as well as Dos programs through the use of DosEmu. Windows
applications have limited success running on Linux through the use of Wine (a
windows emulator).
<P> Although Linux is usually referred to in conjunction with 386/486/Pentium
machines, it also runs on, or is currently being ported to, other architectures
(eg DEC Alpha, Sun SPARC, MIPS, PowerPC, and PowerMAC).
<H3>10.2. Java</H3>
<P> Java is an object oriented programming language developed by Sun
Microsystems, and now further developed by its JavaSoft subsidiary.
<P> At first glance it resembles C and C++, but it's different under the hood.
Java is both a compiled and an interpreted language. Its source code is
compiled into a universal form - bytecodes for a virtual machine - that can
easily be ported across the Internet and interpreted and run on many platforms.
<P> Compared to other programming languages Java is much simpler, robust, and
cost-effective. It allows an application to be developed with a minimum of
debugging and is instantly portable to many operating systems. Compared to
other Internet solutions, Java offers unmatched performance and versatility
while minimising the strain on the web servers by distributing the processing
load to the client machines.
<P> Java possesses also a series of additional APIs that allow the fast
development of complex applications. Such APIs include for instance Networking,
Distributed Method Communication, Database Connectivity and Cryptographic
support.
<H3>10.2.1. Java RMI</H3>
<P> Java RMI (Remote Method Invocation) technology is the basis for distributed
computing in the Java environment. Because Java RMI was created after broad
acceptance of the Internet and object oriented design, developers are treated
to a dynamic and flexible environment for building distributed applications.
</CENTER>
<IMG SRC=gx/serrao/image05.jpg><BR CLEAR=all>
Figure 5 - The behaviour of Java RMI technology in a distributed
application
</CENTER>
<P> Because of Java RMI technology, developers can now:
<OL>
<LI> Easily create powerful distributed computer applications and
network services for Java and non-Java environments
<LI> Use Java RMI, a single programming interface, for object
communication in distributed applications.
</OL>
<H3>10.2.2. JDBC</H3>
<P> JDBC (Java Database Connectivity) is an application program interface (API)
specification for connecting programs written in Java to the data in popular
databases. The application program interface lets you encode access request
statements in structured query language (SQL) that are then passed to the
program that manages the database. It returns the results through a similar
interface. JDBC is very similar to Microsoft's Open Database Connectivity
(ODBC) and, with a small "bridge" program, you can use the JDBC interface to
access databases through Microsoft's ODBC interface. For example, you could
write a program designed to access many popular database products on a number
of operating system platforms. When accessing a database on a PC running
Microsoft's Windows 95 and, for example, a Microsoft Access database, your
program with JDBC statements would be able to access the Microsoft Access
database.
<P> JDBC actually has two levels of interface. In addition to the main
interface, there is also an API from a JDBC "manager" that in turn communicates
with individual database product "drivers", the JDBC-ODBC bridge if necessary,
and a JDBC network driver when the Java program is running in a network
environment (that is, accessing a remote database).
<P> When accessing a remote database, JDBC takes advantage of the Internet's
file addressing scheme and a file name looks much like a Web page address (or
URL). For example, a Java SQL statement might identify the database as:
<PRE>
jdbc:odbc://www.somecompany.com:400/databasefile
</PRE>
<P> JDBC specifies a set of object-orient programming classes for the
programmer to use in building SQL requests. An additional set of classes
describes the JDBC driver API. The most common SQL data types, mapped to Java
data types, and are supported. The API provides for implementation-specific
support for transactional requests and the ability to commit or roll back to
the beginning of a transaction.
<H3>10.2.3. JCE</H3>
<P> The Java Cryptography Extension (JCE) extends the Java Cryptography
Architecture (JCA) API about additional features for supporting encryption and
key exchange.
<P> The Java Cryptography Extension (JCE) is a set of APIs and implementations
of cryptographic functionality, including symmetric, asymmetric, stream, and
block encryption. It supplements the security functionality of the default Java
JDK 1.1.x / JDK 1.2, which itself includes digital signatures (DSA) and message
digests (MD5, SHA).
<P> The architecture of the JCE follows the same design principles found
elsewhere in the JCA.
<H3>10.2.4. PostgreSQL</H3>
<P> Traditional relational database management systems (DBMSs) support a data
model consisting of a collection of named relations, containing attributes of a
specific type.
<P> In current commercial systems, possible types include floating point
numbers, integers, character strings, money, and dates. It is commonly
recognised that this model is inadequate for future data processing
applications. The relational model successfully replaced previous models in
part because of its "Spartan simplicity". However, as mentioned, this
simplicity often makes the implementation of certain applications very
difficult. Postgres offers substantial additional power by incorporating the
following four additional basic concepts in such a way that users can easily
extend the system:
<UL>
<LI> classes
<LI> inheritance
<LI> types
<LI> functions
</UL>
Other features provide additional power and flexibility:
<OL>
<LI> constraints
<LI> triggers
<LI> rules
<LI> transaction integrity
</OL>
<P> These features put Postgres into the category of databases referred to as
object-relational. Note that this is distinct from those referred too as
object-oriented, which in general are not as well suited to supporting the
traditional relational database languages. So, although Postgres has some
object-oriented features, it is firmly in the relational database world. In
fact, some commercial databases have recently incorporated features pioneered
by Postgres.
<P> PostgreSQL is then a sophisticated Object-Relational DBMS, supporting
almost all SQL constructs, including transactions, sub-selects and user-defined
types and functions. It is the most advanced open-source database available
anywhere.
<H3>10.3. Putting everything together</H3>
<P> Now, after having in mind the tools and what architecture to use, it is
necessary to put everything together.
<P> The chosen development platform is Linux, because of its characteristics as
a good development system. The language to be used is Java, because of its
easiness.
<P> On the server side, one of the most important things to be defined is the
server database. This database is quite important since it will store important
information about the contest, like detailed information about the contest
clients, the set of keys that each client is currently processing, which was
the last key to be issued among other things.
<P> The database will be developed using a free object-relational database
called Postgresql. The server software, totally developed on Java, will
interface with the database through the JDBC API.
<CENTER>
<IMG SRC=gx/serrao/image06.jpg><BR CLEAR=all>
Figure 6 - Client-Server final architecture configuration
</CENTER>
<P> One of the main functions of a server is to wait and receive requests from
a client. The DES key server has the same behaviour. The server starts, waits
and processes requests. In order to communicate with the clients it is
necessary to have some network functionality's. In this case, the server
receives requests from the clients through RMI. RMI was chosen, because it adds
a layer of abstraction between the Java program and the network complexities.
<P> On the client side, one of the most important things to be implemented is
the cryptographic functionality. The client software should be capable of use
and process DES algorithm. Since the client software will know part of the
plaintext and the full secret message, it has to be capable of trying to
decrypt the secret message using a key supplied by the server and compare the
result with the partial plaintext.
<P> As it is in the server, this client software is totally implemented in
Java. This allows that a larger number of different computers and platforms to
join rapidly to the contest, enlarging considerably the computational power to
find as quickly as possible a solution for the proposed problem - find the
correct DES key.
<H3>11. Conclusion</H3>
<P> DES 56-bit is not safe anymore. It is clear that with today's computing
power, and with increasing network capabilities, like Internet, it is easy to
set-up an architecture for cracking a DES key.
<P> Linux and Java, are two of the tools that allow the easy creation of such
architectures and make it available to almost everyone. Linux, because it is a
simple, fast, powerful and free operating system that allows the building of
power server capabilities. Java, because it is easy to learn and architecture
independent allowing a fast development for a large number of different
platforms.
<H3>References</H3>
<P> [1] RSA Laboratories - Cryptographic Research and Consultation, "Answers to
Frequently Asked Questions About Today's Cryptography - Version 3.0", RSA Data
Security, 1996
<P> [2] Schneier, Bruce, "Applied Cryptography - Protocols, Algorithms and
Source code in C", John Wiley & sons, Inc., 1996
<P> [3] "DES Challenge II", RSA Laboratories, RSA Data Security,
<A HREF=http://www.rsa.com/rsalabs/des2>http://www.rsa.com/rsalabs/des2</A>,
1997
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Carlos Serrao <BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">HTML Editor ++</font></H1>
<H4>By <a href="mailto:chimbis@skjoldebrand.org">Martin Skjöldebrand</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<P> Being among the first in porting software from Windows to Linux
can't be easy. Especially if you do not have any feeling for the
Linux community. Still, it is nice to see software that you have
played with - and sort of liked - under your new OS. This is what
has happened to CoffeeCup Software's HTML Editor ++.
<P>
<IMG ALT="screenshot" SRC=gx/skjoldebrand.HTML_Editor.png WIDTH=758 HEIGHT=528>
<BR CLEAR=all>
<P> First let me say that feature-vs-easy-of-use wise it is superior
to just about anything on Linux. I feel that Amaya is the closest
rival if it just wasn't so eccentric. (At least I think it's
eccentric). In HTML Editor ++ you get wizards, albeit limited,
for creating tables and frames. You get three rows of buttons
across the top and a set of handy menu short cuts along the right
hand side of the screen (Align left, right, centre, new
paragraph, new line, etc). And you also get - which I think shows
a lack of understanding of Linux culture a big--no, gigantic--
shareware banner across and towards the top of the screen. This
is annoying but tolerable if you decide to use the editor. When
you pay for this piece of software it presumably disappears is
if by magic. There is nothing wrong with that but the banner is
so large it actually provokes cracking. Another Windows standard
that followed the product into Linux is that it is time-bombed:
it stops working after 30 days. This together with the banner
brought the anarchistic side of me to the front and at least the
time bomb "feature" is extremely easily invalidated. CoffeCup
Software has a lot to learn from J-M Jacquet and his
<A HREF=http://www.littleigloo.org>IglooFTP-PRO</A>
which also is shareware but the nag is implemented in a more
subtle manner.
<P> A main "selling point" is the directory and file navigation
system pioneered by HomeSite. On the left side of the screen you
get two boxes, one for directories and one for files. You
navigate you site tree by double clicking on the directory name
and open the file by clicking on the file name in the box below.
Brilliantly easy.
<P> Now, I don't have anything against shareware (I used to use
several (payed-for) shareware applications on Windows). But there
is a problem HTML Editor ++. It's flawed. In the brief period
I've tried it out I've discovered several bugs. Most irritating
is that it seems to handle existing documents badly. Not that it
adds copious amount of own code, it doesn't, but the formatting
tools freak out regularly.
<P> For example: open a document, place the insertion point somewhere
in the text and hit the hyperlink button on the right. You get
a screen to fill in a text and the link. Click "Cool". You would
expect it to insert the text and link at the insertion point,
right? Unfortunately it doesn't; just now it scrolled down to the
bottom of the page and inserted the text and link there. What you
have to do is select a word, hit the hyperlink button insert the
linktext and hit "Cool". (It didn't work now, but it usually
does). HTML Editor ++ is plagued by this kind of problems.
<P> Another example is the "New line" button which may insert the
<br> tag at any random location in the text (although bottom of
the page is preferred).
<P> Most of these problems go away if you write a document from
scratch. Then everything works as intended. Don't ask me why, I
didn't write this port. And you can't help out either - it is not
Open Software. The most serious problem though is that HTML
Editor ++ is unstable. Various simple formatting actions can
crash the editor; e.g., just inserting a new <p> tag. It took a
couple of pages to discover this but one very good piece of
advice is, ironically enough the same as for much software with
Windows background, save your work often.
<P> A last complaint is the "Save" function which is just plain daft.
In a graphical application you really shouldn't be forced to
enter the path manually. And why do you get a confirmation screen
which you have to click "OK" on the make it go away?
<P> In all, HTML Editor++ is a promising piece of ported software.
It needs much more work to become stable and bug free but to
those patient enough it is quite nice to work with.
<!-- BEGIN copyright ==================================================-->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 1999, Martin Skjoldebrand<BR>
Published in Issue 46 of <i>Linux Gazette</i>, October 1999</H5>
<!-- END copyright ===================================================-->
<h4>"Linux Gazette...<i>making Linux just a little more fun!</i>"</h4>
<hr>
<center>
<p>
<!--===================================================================-->
</p>
</center>
<center>
<h1><font color="#800000">Creating A Linux Certification Program, Part
7</font></h1>
</center>
<center>
<h4>By <a href="mailto:dyork@linuxcare.com">Dan York</a></h4>
</center>
<hr>
<h2 align=center>A Word of Thanks</h2>
<p>One year ago, in the October 1998 Linux Gazette, there appeared a brief
<a href="/issue33/york.html">article</a> laying out the reasons why I felt
a professional certification program would benefit Linux. It concluded with
several questions and asked how I could join in the discussion:
<blockquote>
<p><i>If you agree that a certification program can be beneficial for the
growth of Linux, how do we as a community go about addressing the points I
made above about creating a certification program? Do we create another
mailing-list or newsgroup? (Does such a group or list already exist? If so, I
have so far failed to find it.) Do we meet at a conference? </i>...
<p>...<i>I don't necessarily have the answers - but I would like to participate
in the discussion. If someone can suggest the appropriate forum in which this
discussion should take place (or is currently taking place!), please let me
know. </i>
</blockquote>
<p>I had absolutely <b>no</b> idea that this article would lead down the
paths that it did! Looking back, I think my reasons still stand, but certainly
my own thinking has evolved on how a program is structured as we all have
discussed and strategized. It's been an interesting journey! And one I
<i>never</i> would have anticipated...
<p>And at this moment, I think it is important to pause and say a word of
thanks to all who have joined in. The effort that became the
<a href="http://www.lpi.org/">Linux Professional Institute</a> could not
have happened without the incredible support we have received from the
Linux community.
<p>Now, less than one year after discussion began (the mailing list started in
November), we stand nearing completion of the first LPI exam... and it could
not have happened without those of you reading this article.
<p>What all has happened? Let's take a short look:
<ul>
<li>We began a series of mailing lists discussing <i>how</i> we could create
a certification program for Linux. Today over 400 people have joined those
lists.
<li>We evolved a <a href="http://www.lpi.org/board.html">leadership team</a>
that has been willing to put in <i>extremely</i> long hours to make this
project happen.
<li>We attracted a wide range of supporters to our <a
href="http://www.lpi.org/ac.html">Advisory Council</a>, including
representatives of the Linux world as well as the worlds of publishing,
training, and general information technology.
<li>We have raised around $300,000 in our first wave of <a
href="http://www.lpi.org/sponsors.html">sponsors</a>, with more sponsors
already in the pipeline.
<li>Led by our primary psychometrician, Scott Murray, we created a <a
href="http://www.lpi.org/jasreport.html">Job Analysis Survey</a> in which over
1400 people participated, many of whom chose to be <a
href="http://www.lpi.org/jasrecognition.html">recognized.</a> This data was
used to ensure the legal and statistical validity of the our program.
<li>Building on that data, we developed the <a
href="http://www.lpi.org/objectives/">objectives</a> for our exams.
<li>We did something different from the rest of the certification industry in
that we opened up the writing of exam questions to <i>everyone</i> through our
<a href="http://www.lpi.org/cgi-bin/tips.py">web interface</a>, rather than
gathering a small group of subject-matter expets to write the exam.
<li>All of those questions will then go through a series of technical reviewers
assembled from within the Linux community followed by a psychometric review
before they are made available in exams.
<li>Along the way, other certification efforts joined in... both <a
href="http://www.calderasystems.com/">Caldera Systems</a> and <a
href="http://www.suse.de">SuSE</a> were going to pursue their own program, but
decided to join in with LPI. Even more significant, the folks at <a
href="http://www.digitalmetrics.com/">DigitalMetrics</a> <i>were</i> offering
their own certification program, but decided to merge it into LPI! And most
recently, <a href="http://www.prosofttraining.com/">prosofttraining.com</a>
has agreed to tie their Linux certification efforts into that of LPI.
</ul>
<p>Beyond all that, we sent an awful lot of e-mail! We've discussed things,
argued, praised, fought, even had a flame-war or two... and in the end worked
professionally to develop a whole series of Consensus Points outlining our
ideas and decisions. We've spoken at conferences, issued news releases,
written articles, held meetings and done a hundred other things. We've spent a
lot of long hours and sometimes stressed our relations with our spouses.
We've worked hard but have also had some fun along the way. Many of us have
become friends through the process. Many of us have had new professional
opportunities presented to us through our involvement. We've learned an
amazing amount... and truly demonstrated the power of a group of people
working together to accomplish a common goal!
<p>And <i>none</i> of this could have happened at the speed and scale that it
did without all the people who chose to join in. The subscribers to our
mailing lists... the participants in BOF sessions at conferences... the
financial sponsors - both corporate (especially Caldera Systems, IBM,
Linuxcare and SuSE, along with Wave Technologies and SGI) and individual - who
have backed up their belief in the LPI program through solid financial
contributions... the Board members... the people who have visited our web
site... those helping with publicity... and all the many others throughout the
globe helping our effort move forward in some small way.
<p>And now today, as we continue to <a
href="http://www.lpi.org/cgi-bin/tips.py">accept and review questions </a>that
will enable us to release our first exam within the next few weeks, all that
we can say is <b>THANK YOU</b> for helping to make this dream a reality!
<p>We do, of course, have a lot more to do! This is just the beginning...
and we will need the help of <i>all</i> of those who have helping in the past
and many, many more to continue to move the program along. Please join with
us! Visit our web site at <a
href="http://www.lpi.org/">http://www.lpi.org/</a> or read my <a
href="/issue43/york.html">July 1999 Linux Gazette article</a> for tips about
how you can help.
<p>It's been a long and amazing journey since that first small article a year
ago! Thank you all for your support!
<hr>
<center>
<h4><a name="Previous"><a name="Previous1">Previous</a> ``Linux
Certification'' Columns</a></h4>
</center>
<a href="/issue33/york.html">Linux Certification Part #1, October 1998</a>
<br>
<a href="/issue34/york.html">Linux Certification Part #2, November 1998</a>
<br>
<a href="/issue35/york.html">Linux Certification Part #3, December 1998</a>
<br>
<a href="/issue37/york.html">Linux Certification Part #4, February 1999</a>
<br>
<a href="/issue40/york.html">Linux Certification Part #5, Mid-April 1999</a>
<br>
<a href="/issue43/york.html">Linux Certification Part #6, July 1999</a>
<br>
<!--===================================================================-->
<P> <hr> <P>
<center><H5>Copyright © 1999, Dan York <BR>
Published in Issue 43 of <i>Linux Gazette</i>, July 1999</H5></center>
<P> <hr> <P>
<H1><font color="maroon">The Back Page</font></H1>
<ul>
<li><a HREF="#authors">About This Month's Authors</a>
<li><a HREF="#notlinux">Not Linux</a>
</ul>
<a name="authors"></a>
<P> <HR> <P>
<!--======================================================================-->
<center><H3><font color="maroon">About This Month's Authors</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Husain Al-Mohssen</H4>
Husain is a Mechanical Engineer working in Saudi Arabia who is
badly addicted to computers. When he is not trying to build his own
distribution he can be found reading up on Quantum Mechanics or experimenting
with Mathematica. He can be reached on
<A HREF=mailto:h_al_mohssen@yahoo.com>h_al_mohssen@yahoo.com</A> (all flames
happily collected in ~/nsmail/Funny).
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Jim Dennis</H4>
Jim is the proprietor of <A href="http://www.starshine.org">
Starshine Technical Services</A> and is now working for <A
HREF="http://www.linuxcare.com/">LinuxCare</A>.
His professional experience includes work in the technical
support, quality assurance, and information services (MIS)
departments of software companies like
Quarterdeck, Symantec/Peter Norton Group and
McAfee Associates -- as well as
positions (field service rep) with smaller VAR's.
He's been using Linux since version 0.99p10 and is an active
participant on an ever-changing list of mailing lists and
newsgroups. He's just started collaborating on the 2nd Edition
for a book on Unix systems administration.
Jim is an avid science fiction fan -- and was
married at the World Science Fiction Convention in Anaheim.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">David Fauthoux</H4>
<IMG ALIGN=right ALT="caricature" SRC=../gx/authors/fauthoux.jpg
WIDTH=79 HEIGHT=80>
<P> David Fauthoux (22 ans) est un tudiant franais en DEA d'intelligence
artificielle (Bac+5), spcialis en logique par actions. Il a quatre
passions : la logique en IA, la programmation "out-of-algorithm", les
jeux de rle avec les enfants et lire (et relire) les dessins de Quino.
<P> David Fauthoux (22 year old) is a French student in DEA of Artificial
Intelligence (5 years after Baccalaurat), specializing in Action Modal
Logic. He has four passions : AI logic, "out-of-algorithm" programming,
role playing games with kids, and reading (and reading again) the
Quino's drawings.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Jay Fink</H4>
Jay is a UNIX/Linux systems administrator for "Ipsos-Asi The
Advertising Research Company". He contributes to a variety of webzines and
sites, and is the Editor of the <I>UNIX & LINUX Computing Journal</I>, which
he hosts on his site <A HREF=http://www.diverge.org>www.diverge.org</A>. His
hobbies include delving into the Linux kernel internels, surfing (as in ocean
surfing, not web surfing), and hiking (mainly to get away from computers every
now and then).
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Michael J. Hammel</H4>
A Computer Science graduate of Texas Tech University, Michael J. Hammel,
mjhammel@graphics-muse.org, is an software developer specializing in X/Motif
living in Dallas, Texas (but calls Boulder, CO home for some reason).
His background includes everything from data
communications to GUI development to Interactive Cable systems, all based in
Unix. He has worked for companies such as Nortel, Dell Computer, and
Xi Graphics.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Brian Marshall</H4>
Brian has been a software developer in Calgary's oil and gas industry
since 1981. He is deeply into C++ and object-oriented design. His
career began vowing never to learn Cobol; it progressed to never
learning VB and now involves never learning MFC. Brian first got into
unix in 1991 but he has only been using Linux for a few months.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Bill Mote</H4>
Bill is the Technical Support Services manager for a multi-billion dollar
publishing company and is responsible for providing 1st and 2nd level
support services to their 500+ roadwarrior sales force as well as their
3,500 workstation and laptop users. He was introduced to Linux by a good
friend in 1996 and thought Slackware was the end-all-be-all of the OS world
... until he found Mandrake in early 1999. Since then he's used his
documentation skills to help those new to Linux find their way.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Mark Nielsen</H4>
Mark founded The Computer Underground, Inc. in June of 1998. Since then,
he has been working on Linux solutions for his customers ranging from custom
computer hardware sales to programming and networking. Mark specializes in Perl,
SQL, and HTML programming along with Beowulf clusters. Mark believes in the
concept of contributing back to the Linux community which helped to start his
company. Mark and his employees are always looking for exciting projects to do.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">nod</H4>
nod - (no capital "n") is a real name due to being born a love child of the
seventies. nod, did study physics and French to degree level but wanted to
become a windsurfing instructor, so became a freelance photographer. This proves
that nod also moves in mysterious ways. He enjoys playing with computers and
seeing what happens if you "click that" or "unscrew that".
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Mike Orr</H4>
Mike is the Editor of the <I>Linux Gazette</I>. You can read what he has to
say in the Back Page column in this issue. He has been a Linux enthusiast
since 1991 and a Debian user since 1995. He is SSC's Webmaster. He also
enjoys the Python programming language. Non-computer interests include
ska/oi! music and the international language Esperanto.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">JC Pollman</H4>
I have been playing with linux since kernel 1.0.59. I spend way too much
time at the keyboard and even let my day job - the military - interfere once in
a while. My biggest concern about linux is the lack of documentation for the
intermediate user. There is already too much beginner's stuff, and the
professional material is often beyond the new enthusiast.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Carlos Serro</H4>
The author is a professor at ISCTE, a Portuguese public University
specilized in Management and Computer Science, teaching subjects like IT
Management and E-Commerce. The author is also IT Research and Development
Consultant at ADETTI, a Portuguese R&D institution, where he is specialized
in information security, colaborating in several European Community IT
projects: OKAPI, OCTALIS and OCCAM.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Martin Skjöldebrand</H4>
Martin is a former archaeologist who now does system
administration for a 3rd world aid organisation. He also does web
design and has been playing with computers since 1982 and Linux since
1997.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Dan York</H4>
Dan recently joined the staff of <A HREF=http://www.linuxcare.com>
LinuxCare</A>, to work full-time on
developing the Linux Professional Institute certification program. He has been
working with the Internet and UNIX systems for 13 years and PCs since the early
Apple computers in 1977 . While his passion is with Linux, he has also spent
the past three years working with Windows NT. Dan has written numerous articles
for technical magazines, and has also spoken at various conferences within the
training industry. He is now a member of the Certification committee of the
Systems Administrators Guild (SAGE - a division of USENIX).
<a name="notlinux"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">Not Linux</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<IMG ALT="[ Penguin reading the Linux Gazette ]"
SRC=../gx/lg-penguin.gif ALIGN=right>
<P>
<P> And now for the inaguration of the <STRONG><I>Linux Gazette</I> Spam Count
</STRONG>. This month, the <I>Gazette</I> received 284 letters. Of these,
79 were spam. October's SPAM COUNT is thus 28%.
<P> Aside from the usual get-rich-quick schemes, thigh creams, Viagra stuff,
hardware/peripheral ads in Spanish and Japanese [note: the characters all turn
into $##$% symbols in Latin-1], and investment opportunities "accidentally"
sent to the wrong person, the most hilarious piece was:
<BLOCKQUOTE>
We offer Web Hosting for the following server platform: NT 4.0 Running
IIS4 as low as $9.95/month, paid quarterly or annually, plus a $19.95
set-up fee.
</BLOCKQUOTE>
<P> Did they think this was the <I>NT Gazette</I>?
<P> Doesn't the fact that we already have a web page show that we don't need
web hosting services?
<P> P.S. They do offer "FrontPage 2000 extensions FREE!!!" (Yawn.)
<P> <HR> <P>
<center>
<I>Linux Gazette</I> Issue 46, September 1999,
<A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com</A><BR>
This page written and maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto:gazette@ssc.com"> gazette@ssc.com</A>
<H5>Copyright © 1999 Specialized Systems Consultants, Inc.<br>
</center>
<P>
</BODY>
</HTML>
|