O elektronice, komputerach i nie tylko Kilka podstawowych informacji dla korzystających z komputerów: 1. Dla komputera nie ma rzeczy nie do pomyślenia, a tym bardziej nie ma rzeczy niemożliwych - z wyjątkiem tych, których od niego wymagamy. 2. W świecie komputerowego przetwarzania danych żadna awaria się nie kończy, ponieważ przechodzi zawsze w następną. 3. Awaria komputera wyczekuje cierpliwie na najbardziej niedogodny moment, aby bezlitośnie zaatakować. 4. Nikt nie jest w stanie przewidzieć wszystkich możliwych awarii. 5. Drobne awarie nie istnieją. Jeżeli miała jednak miejsce drobna awaria, oznacza to, że nie poznałeś jeszcze jej rzeczywistych rozmiarów. 6. Jeżeli jesteś użytkownikiem, przegrasz w konfrontacji z komputerami, producentami hardware'u i programistami. 7. Człowiek postępuje rozsądnie wtedy i tylko wtedy, gdy wszystkie inne możliwości zostały już wyczerpane. 8. Komputery współpracujące z innymi komputerami nie zachowują się tak, jak wymagają tego inne komputery. 9. AKSJOMAT O SKŁADANIU: Wszystko co zostało złożone, ulegnie wcześniej czy później rozkładowi. OBOSTRZENIE: Wszystko ulega rozkładowi w najmniej odpowiednim momencie. 10. Będziesz w stanie odtworzyć spis zawartości twardego dysku jedynie po to, żeby móc się przekonać co straciłeś. 11. Nigdy nie uda Ci się zmienić wszystkich części opakowania w kartonie, w którym uprzednio znajdował się sprzęt. 12. Po ponownym uruchomieniu komputera pozostałe części odnajdziesz na stanowisku roboczym. 13. Każdy skomplikowany montaż wymaga trzech rąk. 14. Każdy prosty montaż wymaga natomiast zwykle czterech rąk. 15. Zepsute komputery działają zawsze w obecności serwisanta. 16. Wszystkie komputery PC są kompatybilne, ale niektóre są kompatybilniejsze od innych. 17. Twój komputer jest zawsze mniej kompatybilny. 18. Twoja klawiatura zawsze posiada klawisz, który może się zepsuć i na pewno to zrobi. 19. Na drukarkę składają się: a) wiecznie zapchana głowica, b) nikły zapas papieru, c) nieodpowiedni kabel, d) zużyta taśma barwiącą, e) pusta kaseta tonera, f) niezrozumiała dla komputera elektronika, zwłaszcza w momencie włączenia. Poza tym drukarka stanowi dla komputera ostateczną okazję do spowodowania błędów. 20. Drukarka będzie bezproblemowo drukować etykietki tak długo, jak długo będziesz przy tym obecny. Gdy tylko odejdziesz, etykietki przykleją się do podajnika papieru. 21. Jeśli sterownik istnieje, działa i współpracuje z interfejsem, to posługuje się wyłącznie starogreckim zestawem znaków i drukuje tylko w tybetańskim formacie trójkątnym od lewego dolnego do prawego górnego rogu. 22. Drukarka wciąga papier poprawnie i dokładnie wtedy, gdy nie jest to w ogóle potrzebne. 23. Backup zapisze zniszczoną przez siebie wersję zbioru na jedynej jeszcze istniejącej kopii zabezpieczającej. 24. Błąd odczytu występuje tylko wtedy, gdy zbiór jest Ci niezbędny i nie posiadasz jego kopii. 25. Mając kilka dyskietek do wyboru, ciecz zaleje tę najważniejszą. 26. WESTCHNIENIE de LATES'a: Pustą dyskietkę możesz przeszukiwać długo i bezskutecznie. ROZSZERZENIE WESTCHNIENIA DO LATES'a WEDŁUG MURPHY'ego: Długo i bezskutecznie możesz przeszukiwać również pełną dyskietkę. WNIOSEK EVI'ego Z ROZSZERZENIA WESTCHNIENIA DO LATES'a WEDŁUG MURPHY'ego: W zasadzie każdą dyskietkę możesz przeszukiwać długo i bezskutecznie. 27. Usunięcie jednego błędu powoduje powstanie przynajmniej dwóch nowych. 28. Jeśli błąd się ujawni to właśnie u Ciebie. 29. Każda gra komputerowa prezentuje się dobrze jedynie na opakowaniu. 30. Im doskonalej program wykonuje swoje funkcje, tym dotkliwiej Cię zawiedzie. Każdy inny program zawodzi tak samo dotkliwie. 31. Wirusy komputerowe rozprzestrzeniają się zasadniczo poprzez "absolutnie nie zarażone" dyskietki programowe i systemowe. 32. Absolutnie bezpieczne i łatwe do usunięcia wirusy złapią tylko inni. 33. Zastosowany program antywirusowy jest w stanie rozpoznać i zwalczyć tylko te wirusy, których nie masz. 34. NIEZMIENNE PRAWA PRZETWARZANIA TEKSTU: a) Jeśli chcesz skasować słowo, zniknie cały wiersz. b) Jeśli chcesz skasować wiersz, zniknie cały ustęp. c) Jeśli chcesz skasować ustęp, zniknie cały tekst. d) Jeśli chcesz skasować cały tekst, nic się nie dzieje. 35. Program konwersji graficznej może być spokojnie zastąpiony poleceniem kasowania. Wynik jest taki sam, albo przynajmniej wyjdzie na to samo. 36. Program kalkulacyjny, który daje właściwy i przyjazny wynik - kłamie. 37. Jeżeli musisz dokonywać obliczeń na jednostkach, to program będzie zawierać tylko listę jednostek najbardziej bezsensownych, np. prędkość zostanie podana w amerykańskich milach morskich na 19 dni. 38. Zanim zdążysz zapisać swoją informację, ktoś na pewno zaczepi o kabel zasilający twego komputera. 39. Jak głoszą niepotwierdzone pogłoski, oprócz trójkąta: maniak komputerowy - komputer - drugi maniak komputerowy, istnieje jeszcze inny, tajemniczy świat pełen komputerowych nie maniaków. 40. Dziecko, które dostaje rączkami do klawiatury, za pierwszym razem złapie jedyną kombinację klawiszy, którą można coś zniszczyć. Jeśli istnieje więcej niż jedna taka możliwość, to wybierze sobie tę najbardziej opłakaną w skutkach. 41. Przekleństwa są jedynym językiem, który programiści opanowują perfekcyjnie. 42. Każda procedura, do której może się wkraść błąd, będzie go zawierać. 43. Także w procedurach, które muszą być bezbłędne, znajdują się błędy. 44. Każdy błąd umiejscowi się tam, gdzie zostanie najpóźniej wykryty i gdzie wyrządzi maksymalne szkody. 45. Każdy program, który się dobrze zaczyna, kończy się źle. 46. Program, który zaczyna się źle, końzy się przerażająco. 47. Nic nie jest na tyle proste, by nie można było tego wykonać źle. 48. Jeżeli stwierdzono, że istnieją cztery różne możliwości doprowadzenia programu do krachu i wszystkie cztery się zablokują, wtedy użytkownik znajdzie piątą metodę. Jak programować w "C" (autor: życie) 1] Używaj mnóstwa zmiennych globalnych. 2] Nadawaj im tajemnicze nazwy np.: X27, a_gcl lub Horacy. 3] Pisz wszystko w jednym wielkim pliku .h 4] Implementuj cały program naraz. 5] Używaj makrodefinicji, żeby emulować Pascal'a. 6] Zakładaj, ze kompilator zajmie się wszystkimi szczegółami, których do końca nie rozumiesz. Jak odpluskwiać program w "C" (autor: życie) 1] Jeśli to możliwe, nie rób tego, niech ktoś inny to zrobi. 2] Zmieniaj podstawy. 3] Wstawiaj/usuwaj puste linie w losowych miejscach, rekompiluj i wykonuj. 4] Polej klawiaturę i monitor święconą wodą. 5] Zadzwoń pod 997 i krzycz. 6] Jest jasne, ze "printf" jest użyteczne, ale jest z pewnością niezdefiniowane. 7] Podłącz wszystko do CM. 8] Jeśli ciągle nie działa, przepisz od nowa w asemblerze. To nie usunie błędu, ale upewni cię, że nikt inny go nie znajdzie i nie powie, że jesteś durniem. Szesnaście szczegółowych praw Murphy'ego dotyczących elektroniki (i nie tylko...) 1. Nie wierz w cuda - POLEGAJ na nich! 2. Wymiary będą zawsze podane w najmniej użytecznych jednostkach. 3. Każdy przewód przycięty na długość okaże się za krótki. 4. Układ zabezpieczający zniszczy układ zabezpieczany. 5. Tranzystor zabezpieczony przez szybko dzialający bezpiecznik, zabezpieczy go - paląc się w pierwszej kolejności. 6. Cokolwiek zostanie upuszczone na układ elektroniczny pod napięciem, spadnie zawsze tam, gdzie wyrządzi najwięcej szkód. 7. Stopień głupoty Twojego postępowania jest wprost proporcjonalny do liczby przyglądających Ci się osób. 8. Prawdopodobieństwo wyczerpania się baterii jest wprost proporcjonalne do zapotrzebowania na kalkulator. 9. Dowolne urządzenie, uszkodzone w dowolny sposób (z wyjątkiem całkowitego zniszczenia), będzie doskonale działało w obecności wykwalifikowanego personelu naprawczego. 10. Element wybrany losowo z grupy o 99-procentowej wiarygodności, będzie należał do pozostałego 1 procenta. 11. Konieczność znaczących zmian w projekcie jest odwrotnie proporcjonalna do czasu pozostającego do oddania tego projektu. 12. Ciężar upuszczonej części jest wprost proporcjonalny do stopnia złożoności i ceny obszaru uderzonego. 13. Jeżeli zakres bezpieczeństwa jest ustalony na podstawie doświadczenia projektantów i pracowników serwisu, to dowolny użytkownik natychmiast znajdzie sposób, aby go przekroczyć. 14. Jeżeli projekt został całkowicie określony i wszystkie sposoby badań zostały wyczerpane, to niezależny, niedoinformowany amator-eksperymentator odkryje fakt, który bądź zlikwiduje zapotrzebowanie na ten projekt, bądź rozszerzy jego zakres. 15. Każde urządzenie będzie lepiej działać, jeżeli włożysz wtyczkę do gniazdka. 16. Niemożliwe jest zbudowanie niezawodnego urządzenia - głupcy są zbyt pomysłowi. Prawdy programistów 1. Złorzeczenia to jedyny język rozumiany przez wszystkich programistów (postulat Troutmana). 2. Prawa Makarijewa: - Pisanie programu komputerowego jest rozkoszą. - Uruchamianie programu jest zmorą. 3. Tzw. wniosek z praw Pierce'a: Jeżeli program został skompilowany bezbłędnie za pierwszym razem, to na pewno nie będzie dawał dobrych wyników. 4. Drugie prawo Weinberga: Gdyby budowlani budowali domy w taki sam sposób, w jaki programiści piszą programy, to jeden dzięcioł zniszczyłby całą cywilizację. 5. Prawa Weilera obsługi i konserwacji oprogramowania. - Każdy działający program jest przestarzały. - Każdy program po każdym uruchomieniu drożej kosztuje i zabiera więcej czasu. - Jeżeli program jest użyteczny, to będzie musiał być zmieniony. - Pełną dokumentację mają tylko programy bezużyteczne. - Każdy program rozszerzy się tak, aby zająć całą dostępną pamięć. - Wartość programu jest odwrotnie proporcjonalna do jakości wyników jego pracy. - Złożoność programu rośnie do momentu przekroczenia zdolności programisty ten program konserwującego. 6. Duży, monolityczny program jest jak talerz makaronu: pociągnij za jedną nitkę, a z drugiej strony będzie się sypać. 7. Autor programu nigdy nie przetestuje go wiarygodnie. 8. Nie ma programów bezbłędnie działających - są co najwyżej niedostatecznie przetestowane. 9. Dodanie urządzenia przyspieszającego do starego oprogramowania spowolni działanie tego oprogramowania. O studentach i wykładowcach - Co powinien wiedzieć student? - Student powinien wiedzieć wszystko. - Co powinien wiedzieć magister? - Magister powinien wiedzieć wszystko ze swojej dziedziny. - Co powinien wiedzieć doktor? - Doktor powinien wiedzieć wszystko ze swojej specjalizacji. - Co powinien wiedzieć dr hab.? - Dr hab. powinien wiedzieć, w której książce co się znajduje. - Co powinien wiedzieć docent? - Docent powinien wiedzieć gdzie jest biblioteka. - Co powinien wiedzieć profesor? - Profesor powinien wiedzieć gdzie są docenci. "[...] Jest 5:50 rano, czy wiesz co wskazuje twój wskaźnik?"