7 czerwca 2010
W sytuacjach kryzysu ekonomicznego, choć nie tylko, pojawia się pytanie o to, czy kapitalizm jest na pewno dobrym rozwiązaniem i czy rozwiązania socjalne
nie byłyby skutecznym lekarstwem na biedę i inne niedobory. Przy tym wyciągane są twierdzenia o drapieżności kapitalizmu, który ignoruje potrzeby najbiedniejszych
i wprowadza ich w jeszcze większą nędzę. Nie ma znaczenia, że fakty bez przerwy pokazują co innego. Kto chciałby mieszkać w Korei Północnej? Nikt?
A przecież tam jest socjalizm, więc musi być wspaniale.
Zacząć trzeba od tego, czym jest kapitalizm. Niektórzy uważają, że jest to pogoń za pieniędzmi. Nie. Kapitalizm to wolność działania. Mogę pracować gdzie
chcę, mogę zatrudniać kogo chcę, mogę kupować co chcę i mogę sprzedawać co chcę. Transakcja jest zawierana na podstawie wolnej woli dwóch stron a więc
tylko wtedy, gdy obie strony uznają ją za korzystną dla każdej z nich. Między sobą ustalają cenę. Warto też zauważyć, że kapitalizm nie został
przez nikogo wymyślony, nie narodził się w umyśle żadnego filozofa. Jest po prostu porządkiem naturalnym.
Cechą kapitalizmu jest to, że nie próbuje zmieniać ludzi. Socjalizm zakładał, że będzie fajnie jak upaństwowi się się różne dobra i środki produkcji.
Będzie fajnie bo wszyscy będą wspólnie pracować i pomnażać dobra. Jednocześnie będą dostawać odpowiednie wynagrodzenie i inne dobra, np. mieszkania.
Socjalizm nie bierze pod uwagę, że ludzie mają też złe cechy. Że potrafią coś ukraść albo unikać pracy. Że nie dbają o to, co jest państwowe czyli
de facto niczyje. Że każdy dba o siebie.
Stąd też biorą się różne patologie: kradzieże sprzętu z miejsca pracy, uchylanie się od pracy i jej nierzetelne wykonywanie. Charakterystyczna
dla socjalizmu jest produkcja bubli oraz ciągłe niedobory różnych produktów i materiałów. Nikt nie ma motywacji aby pracować efektywnie, wydajnie. Skoro miejsce pracy jest chronione, skoro wynagrodzenie
nie jest uzależnione od wyników to nie ma sensu się starać. Nie pomogą tu żadne hasła, transparenty.
Socjalizm to także redystrybucja dóbr, mająca za zadanie wyrównać różnice w zamożności i zapewnić różne dobra biednym. Ta właśnie redystrybucja,
kojarząca się z Robin Hoodem i Janosikiem, jest dla wielu osób bardzo pociągająca. Zabrać bogatym i dać biednym. Wszyscy będą szczęśliwi.
Praktyka jednak ciągle pokazuje, że tak nie jest. Sam pomysł tworzenia szczęścia przez zabieranie jest dziwny i już tutaj powinno zapalić się czerwone
światełko. Zabierając bogatym karzemy ich za ich przedsiębiorczość i pracowitość. Dając biednym zniechęcamy ich do pracy i rozwoju. Rozdawnictwo tworzy
zazdrość. Siłą rzeczy jedni dostaną a drudzy nie. Jeśli ktoś coś ma bo zapracował na to uczciwą i ciężką pracą to mu nie zazdroszczę. Jeśli ktoś coś ma bo dostał
to za darmo to zaczynam mu zazdrościć. Szczególnie jeśli najpierw zostało to zabrane mnie. Oczywiście zazdrość jest czymś złym ale jednocześnie
jej występowanie jest zjawiskiem naturalnym więc warto się zastanowić nad jej przyczynami.
Kolejna sprawa to to, że państwo nie da nigdy 100% tego co zabrało. Zawsze część pieniędzy zostanie zmarnotrawiona. Jak pokazała historia i jak widać obecnie
są to duże kwoty, rzędu kilkudziesięci procent. Państwo jest po prostu nieefektywne. Warto tu się zastanowić nad czterema przypadkami gdy się coś dla kogoś
kupuje. W pierwszym przypadku kupujemy dla siebie za swoje pieniądze. Wtedy dbamy żeby to było i dobre i tanie. W drugim przypadku kupujemy coś dla kogoś
za swoje pieniądze. Wtedy dbamy, żeby było tanio ale już żeby było dobre to nie bardzo. W trzecim przypadku kupujemy dla siebie za czyjeś pieniądze. Zależy
nam na jakości ale nie obchodzi nas cena. Czwarty przypadek to wtedy gdy kupujemy coś komuś za pieniądze jeszcze kogoś trzeciego. Wtedy nie dbamy już ani
żeby było tanio ani żeby było dobrze. Nietrudno zgadnąć w którym przypadku pieniądze zostaną wydane najoptymalniej. Oczywiście w pierwszym. Zaraz ktoś odpowie,
że on nie jest samolubny i o innych też dba. Jasne, ale 1) rzadko się zdarza, że na kimś zależy nam bardziej niż na samym sobie, 2) jeśli nawet tak, to i tak
my najlepiej znamy swoje potrzeby i najlepiej wiemy co jest nam potrzebne. W przypadku redystrybucji dóbr przez pańtwo występuje wariant czwarty.
Urzędnik wydaje nieswoje pieniądze na nieswoje cele i takich, którzy dbają o obywateli bardziej niż o samych siebie pewnie można policzyć na palcach jednej
ręki. Takie coś po prostu nie może działać optymalnie. Czasem działa dosyć dobrze, ale wymaga to m.in. ciągłego kontrolowania. Z redystrybucją
wiąże się jeszcze jeden problem. Daje ona ogromne pole do nadużyć. Urzędnicy państwowi mają wiele możliwości do defraudacji pieniędzy oraz są podatni na
korupcję. Jeśli od decyzji urzędnika zależy przyznanie tego czy innego dobra to spora grupa obywateli będzie starała się za pomocą łapówki nakłonić go
do przekazania tego dobra właśnie im.
W kapitalizmie jest inaczej. Żeby coś otrzymać, trzeba dać w zamian coś równie wartościowego, towar lub pracę. Za zły towar nie dostanie się zapłaty. Za złą
pracę również. Człowiek w naturalny sposób jest zachęcany do dobrej pracy, do doskonalenia się. To, że chce mieć więcej, że chce pomnażać swój majątek sprawia,
że musi dobrze pracować, że musi być potrzebny. W ten sposób cecha jaką jest chciwość staje się pozytywna gdyż przynosi pożytek reszcie społeczeństwa.
Kapitalizm premiuje pracowitość i pomysłowość, neguje lenistwo i niestaranność.
Ktoś teraz powie, że kapitalizm nie zawsze się sprawdza, że jest bieda itp. Należy tu zaznaczyć, że kapitalizm nie jest utopią. Nie gwarantuje, że
wszyscy będą szczęśliwi. Kapitalizm jest po prostu systemem, który daje każdemu możliwość dążenia do szczęścia. W którym biedny może się w każdej
chwili z tej biedy wyrwać, może w każdej chwili podjąć pracę albo wymyślić jakiś wynalazek i nikt mu w tym nie będzie przeszkadzać. Ktoś może też
powiedzieć, że gdzieś, ktoś dorobił się nieuczciwie. Tak, ale co ma do tego wolny rynek? Kapitalizm nie jest utopią i nie zapobiegnie nieuczciwości.
Jest natomiast skutecznym narzędziem do walki z nią. Jeśli konsumenci przestaną kupować towary od nieuczciwiego przedsiębiorcy to będzie to dla niego
dotkliwsza kara niż jakaś grzywna nałożona przez urzędnika. Należy też zaznaczyć, że wolny rynek nie ma rozwiązać wszystkich problemów. Gdy ktoś został
pokrzywdzony to ma do dyspozycji niezawisłe sądy gdzie może dochodzić sprawiedliwości.
Przy dyskusji na temat kapitalizmu i socjalizmu pojawia się wątek ludzi chorych, starych, niepełnosprawnych itp. Kapitalizm jako system polegający
na wolnym rynku zostawia ich z boku. Jak wspomniano wcześniej, kapitalizm nie jest systemem utopijnym i nie rozwiązuje wszystkich problemów. Tutaj pole
do popisu mają organizacje pozarządowe, charytatywne, fundacje itp. One o wiele lepiej wiedzą kto potrzebuje pieniędzy oraz zbiorą je i przekażą znacznie
efektywniej niż państwo. Jak widać w praktyce, państwo zapewnić potrafi jedynie niski standard usług medycznych.
Mówiąc o kapitalizmie trzeba koniecznie wspomnieć o jednej ważnej rzeczy: o odpowiedzialności. W kapitalizmie każdy jest odpowiedzialny za siebie.
Jeśli założy firmę a ona zbankrutuje to on ponosi konsekwencje. Jeśli nie będzie odkładał na emeryturę to jej nie będzie miał. Jeśli się nie
ubezpieczy to będzie mu ciężko podczas choroby albo klęski żywiołowej. Jeśli się nie będzie rozwijał nie osiągnie sukcesu.
W socjalizmie jest odwrotnie. Człowiek czuje ciepełko państwa opiekuńczego, które da mu edukację, opiekę zdrowotną, emeryturę i nie będzie za dużo
wymagać. Nie umrze z głodu a w chorobie dostanie jakąś tabletkę, na starość parę groszy emerytury.
Jakie są efekty tych dwóch podejść, mogliśmy obserwować wielokrotnie. W PRLu każdy miał pracę, opiekę zdrowotną, bezpłatne studia, czasem dostawało
się mieszkanie. Więc niby fajnie. Tylko, że jakoś wszystko było takie szare, brzydkie, kańciaste, smutne. Nasze produkty bardzo rzadko mogły konkurować
z zachodnimi. Tam natomiast każdy musiał dbać o siebie, płacić za studia, mógł zostać zwolniony z pracy itd. A jednak to w krajach kapitalistycznych
ludzie byli bardziej zadowoleni z życia, mieli o wiele lepszej jakości dobra i usługi, odnosili duże sukcesy.
To jest właśnie różnica między państwem opiekuńczym, socjalnym a kapitalistycznym, gdzie każdy może o sobie sam decydować. Z jednej strony jest stagnacja
a z drugiej rozwój. To do USA wyjeżdżali Polacy. W przeciwną stronę jedynie z sentymentu.
Mówiąc o wadach kapitalizmu warto się najpierw przyjrzeć gdzie on naprawdę jest. Jako przykład podaje się np. Wall Street, gdzie bankierzy przyczynili się
do kryzysu finansowego. Tam kapitalizmu już mało zostało. Mamy banki i korporacje powiązanie z rządem, dostające od niego pieniądze za pomocą FEDu.
Kapitalizm jest wtedy gdy mamy wolny rynek, gdy inwestuje się swoje pieniądze. Tam rząd próbuje sterować gospodarką wydając pieniądze podatników.
To nie jest kapitalizm. To jest chory system stworzony przez polityków, którzy wymyślili sobie, że rozgrzeją gospodarkę za pomocą akcji kredytowej.
Kapitalizm jest wtedy, gdy rząd się nie miesza do gospodarki, np. drukując pieniądze, a bank centralny nie próbuje sterować gospodarką za pomocą stóp procentowych i innych mechanizmów.
Podobnie nie można w Polsce mówić o prywatnej służbie zdrowia dopóki wszystkim rządzi NFZ. W innych kwestiach też nie ma wolności. Na wszystko trzeba
mieć koncesje, pozwolenia. Są wysokie koszty pracy, rozmaite podatki. W efekcie firmy upadają, zarobki są niskie, powszechna jest korupcja. Potem
słyszy się, że kapitalizm nie działa. Kapitalizm? Ten, którego nie ma?
Tutaj dochodzimy do roli rządu. Wielu ludzi uważa, że powinien mieć on duże uprawnienia i troszczyć się o potrzeby ludzi. A gdy mu to nie wychodzi to trzeba
jeszcze bardziej zwiększyć jego uprawnienia. To ślepa droga, prowadząca do państwa totalitarnego. Rząd powinien być mały i efektywny, jak najtańszy i
jak najmniej uciążliwy. Nieprawdą jest, że o wszystko musi się troszczyć państwo. Tu dochodzimy do ważnej kwestii jaką jest podejście do człowieka.
Czy traktujemy go jak idiotę, który nie potrafi o siebie zadbać czy też jak wolnego człowieka. Niestety państwo często traktuje człowieka jak idiotę,
np. każąc mu się ubezpieczyć (ZUS, OFE) tak, jakby sam nie mógł zadbać o swoją przyszłość. Oczywiście ubezpieczając go samemu robi to strasznie nieefektywnie.
Jednocześnie tak traktując człowieka państwo ma do niego tyle zaufania, że pozwala mu wybierać prezydenta i parlament. Jest to swego rodzaju paradoks.
Człowiek naprawdę potrafi o siebie zadbać i zrobi to, jeśli nie będzie się mu przeszkadzać. Ludzie potrafią się zorganizować i zrobić to, co jest im
akurat potrzebne. Oczywiście są takie rzeczy, które bez aparatu państwowego byłyby trudne do zrobienia. Jednak bardzo często sprawy te nie wymagają
załatwiania na najwyższym szczeblu. Zwykle poradzą sobie władze samorządowe. Wszystko powinno się odbywać na jak najniższym poziomie, najbliżej ludzi i ich
spraw. Wtedy ich potrzeby będą zaspokojone najlepiej. Gdy państwo zajmie się armią (obroną przed wrogiem zewnętrznym), policją (ochroną przed wrogiem wewnętrznym)
oraz zapewni sprawne, niezawisłe sądy a resztę obszarów ludzkiej działalności zostawi w spokoju, wtedy będzie można mówić o tanim, przyjaznym państwie.
26 kwietnia 2010
Co to jest homofobia? Powszechnie określa się tym mianem praktycznie każdą postawę związaną z niechęcią do homoseksualizmu oraz jego propagatorów.
Jednak czymś zupełnie innym jest fobia (lęk) a czym innym jest niezgadzanie się z czymś. Zarzut homofobii jest często używany ponieważ określa osobę,
której się go stawia jako lękliwą i słabą, a w domyśle też zacofaną. Prawdziwa homofobia to jednak coś zupełnie innego. Coś, czego przykład możemy
obserwować w ostatnich dniach, gdy Uniwersytet Warszawski ugina się pod presją środowisk gejowskich. To jest dopiero fobia, która jest rzeczywista i
jest rzeczywistym problemem. Uniwersytet powinien być miejscem wolnej wymiany myśli i stać na straży wolności słowa. UW nie dość, że sobie z tym nie
radzi to jeszcze przy okazji nie widzi problemu w propagowaniu zoofilii. Mam nadzieję, że władze mojej uczelni, jeśli znajdą się kiedyś w podobnej
sytuacji, nie okażą fobii.
27 marca 2010
Dziś próbowałem skopiować parę filmów na pendrive. Szło to jednak bardzo wolno, prędkość była rzędu 370 kB/s. Zajrzałem więc do Monitora zasobów,
który jest wbudowany w Windows 7. Można go uruchomić z Menedżera zadań, z zakładki Wydajność. Jest to bardzo przydatne narzędzie pokazujące m.in.
transfer z/do zapisywanych/odczytywanych plików. Dzięki temu widać jaki program mieli dyskiem i dlaczego. Po uruchomieniu go zobaczyłem dużą aktywność
pliku wymiany oraz pliku funkcji ReadyBoost, znajdującego się na pendrivie. Zagadka została więc łatwo rozwiązana. ReadyBoost jest jakby rozszerzeniem
pliku wymiany i ma służyć zwiększeniu szybkości działania systemu. Ktoś jednak nie pomyślał, że przecież pendrive służy też do przechowywania plików
użytkownika i na czas kopiowania lub odczytywania ich funkcja ReadyBoost powinna być wstrzymana. Pozostało mi więc wyłączenie ReadyBoost w okienku
właściwości pendrive'a a prędkość kopiowania plików wróciła do normalnych poziomów. Ponieważ wcześniej nie zauważyłem zwiększenia szybkości działania systemu
po uruchomieniu ReadyBoost wydaje mi się, że funkcja ta nie ma większego sensu i nie opłaca się jej włączać. Być może ma ona sens na bardzo szybkich
pendrive'ach.
2 lutego 2010
Ostatnio dostaję takie oto wiadomości:
Użytkownik 17857063 próbował się z Tobą skontaktować. Niestety używasz starej wersji Komunikatora, która nie obsługuje numerów GG większych niż 17 milionów. Zaktualizuj swój Komunikator i rozmawiaj swobodnie: http://komunikator.gadu-gadu.pl
GG nie używam od chyba 7 lat i nadal nie zamierzam go instalować. Z użytkownikami GG rozmawiam przez transport na moim serwerze Jabbera.
Ostatnio przekompilowałem ten transport z najnowszą biblioteką libgadu i znów mogą do mnie pisać wszyscy użytkownicy GG, nawet ci z wysokimi numerkami.
Przy okazji chciałbym zauważyć, że jest mnóstwo komunikatorów i nie ma sensu siedzieć na GG, które z wersji na wersję robi się coraz gorsze.
25 stycznia 2010
Niedawno obudziłem się rano by stwierdzić, że w nocy Windows 7 zrestartował się w celu instalacji poprawek.
Ja wiem, że poprawki powinny być jak najszyciej zainstalowane żeby użytkownik był jak najszybciej chroniony, szczególnie jeśli w sieci już są exploity
na dziury łatane przez instalowne właśnie łatki. Tylko, że przecież w ten sposób użytkownik może bardzo łatwo stracić swoją pracę. Jeśli nawet wcześniej
wszędzie gdzie trzeba kliknie "Zapisz" to i tak jeśli miał włączonych dużo programów to musi je potem mozolnie włączać i ustawiać różne rzeczy.
Warto więc wiedzieć jak wyłączyć restarty. W tym celu trzeba uruchomić edytor zasad grup wpisując gpedit.msc do okienka Uruchom... W edytorze wybieramy:
Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Usługa Windows Update. Wybieramy opcję o wdzięcznej nazwie
"Bez automatycznego uruchamiania ponownego dla zaplanowanych aktualizacji automatycznych przy zalogowanych użytkownikach". Zmieniamy jej stan
na Włączone.
14 stycznia 2010
Ponieważ dawno nie było tu żadnego wpisu, warto by napisać coś ciekawego. Ostatnio zdarzyło mi się dwa razy dostać bana od mojego switcha Cisco,
pochodziły z funkcji port security. Bany były za nieznany adres MAC. Było to bardzo dziwne, gdyż nie podłączałem żadnych nowych komputerów.
Przyczyna mogła być jedna - to Windows sam zmienia sobie adres MAC. Trzeba było tylko ustalić który jego składnik to robi, po co i jak to wyłączyć.
Adresy były następujące: 00:0D:3A:FD:EA:1B oraz 00:0D:3A:E1:C1:14. Przedrostek 00:0D:3A jednoznacznie identyfikował je jako należące do Microsoftu.
Googlanie wykazało, że adresy te zostały wygenerowane przez usługę Link Layer Topology Discovery (LLTD), której Windows
używa do wyznaczania topologii sieci. Zakres generowanych adresów to
od 00-0D-3A-D7-F1-40 do 00-0D-3A-FF-FF-FF. LLTD składa się z dwóch komponentów, respondera i mappera.
Można je łatwo wyłączyć przez group policy. Odpalamy więc gpedit.msc i klikamy: Konfiguracja komputera -> Szablony administracyjne -> Sieć -> Wykrywanie topologii warstwy łączy.
Tam mamy możliwość wyłączenia mappera i respondera.
16 października 2009
Niedawno na grupach dyskusyjnych ktoś zapytał jak można wykonać drag & drop programowo. Chodziło o program, do którego
okienka trzeba było przeciągnąć plik. Googlając natknąłem się na komunikat WM_DROPFILES, który można wysłać do okna programu
i w ten sposób spowodować, że zachowa się on tak, jakby zostały na jego okno przeciągnięte pliki. Działa to np. z Notatnikiem.
Niestety jednak WM_DROPFILES jest metodą dosyć starą i rzadko działa. Większość wpółczesnych programów pod Windows
do obsługi przeciągania używa przeciągania OLE, które wymaga aby kursor został przesunięty i znalazł się na oknem
będącym odbiorcą przeciąganych danych. Trzeba by więc programowo przesuwać kursor myszy a praktycznie nie zawsze
chcielibyśmy tego uniknąć. Tak więc wychodzi na to, że programowo, bez machania kursorem można zrobić tylko
przeciąganie i upuszczanie starego typu. Poniżej wklejam przykładowy kod źródłowy do przeciągania
pliku, podanego jako parametr wywołania, do okna Notatnika:
#include <windows.h>
#include <iostream>
#include <shlobj.h>
using namespace std;
int main(int argc, char ** argv) {
if (argc!=2) {
cerr << "wrong number of parameters!" << endl;
return 1;
}
char file[MAX_PATH];
GetFullPathName(argv[1], MAX_PATH, file, NULL);
cout << file << endl;
DROPFILES s;
s.pFiles = sizeof(s);
s.pt.x = 1;
s.pt.y = 1;
s.fNC = false;
s.fWide = false;
HGLOBAL hDrop;
BYTE * p;
hDrop = GlobalAlloc(GHND, sizeof(s) + strlen(file) + 2);
p = (BYTE*)GlobalLock(hDrop);
CopyMemory(p, &s, sizeof(s));
CopyMemory(p + sizeof(s), argv[1], strlen(file)+1);
GlobalUnlock(p);
PostMessage(FindWindow("Notepad", NULL), WM_DROPFILES, (WPARAM)hDrop, NULL);
return 0;
}
12 października 2009
Inżynierkę udało mi się szczęśliwie obronić i mogę teraz kontynuować naukę na studiach magisterskich, na kierunku Elektronika i Inżynieria Komputerowa.
Od razu po obronie poleciałem do Bratysławy na spotkanie dziennikarzy z firmą Eset, będącą producentem znanego programu antywirusowego NOD32.
Zrobiłem tam trochę zdjeć, relację zamieszczę w vortalu dobreprogramy.
10 września 2009
Udało mi się skończyć pisanie pracy inżynierskiej i złożyć ją w sekretariacie Instytutu Automatyki. Teraz czekam na wyznaczenie terminu obrony.
19 sierpnia 2009
Jest rzeczą normalną, że w prasie popularnej pisząc o zagadnieniach naukowych używa się pewnych uproszczeń. Niestety Onet i Dziennik bardzo mocno w tym temacie przeginają i często w dziale naukowym publikują zupełne bzdury.
Wydaje mi się też, że wynika to nie tyle z uproszczeń co z zupełnej nieznajomości tematu przez dziennikarzynę z działu naukowego. Ktoś może powiedzieć, że w przypadku Onetu są to zwykle przedruki i oni sami tego nie piszą. Co z tego?
To mogą już publikować wszystko bez jakiegokolwiek sprawdzania? Poniżej zamieszczam bzdurę roku opublikowaną dziś przez Onet:
Jak wyjaśnia Maria Geha z Uniwersytetu Yale, działa to na tej samej zasadzie, na jakiej dociera do nas światło słoneczne. Promieniom słonecznym zajmuje 8 minut, żeby dotrzeć na Ziemię, więc kiedy oglądamy wschód Słońca, tak naprawdę widzimy gwiazdę, która wzeszła kilka minut wcześniej. Podobnie, gdyby Słońce nagle zaszło, również nie wiedzielibyśmy o tym przez tych kilka minut.
WTF!? Wschód i zachód słońca są to efekty mające miejsce na ziemi! Jest to wyjście/wejście danego obszaru Ziemi w jej własny cień. Nie widzimy więc go z opóźnieniem 8 minut tylko bardzo krótkiego ułamka sekundy. Nawet gdyby więc walnął jakiś wielki meteoryt i kopnął Ziemię tak, że zachód nastąpiłby
szybciej to zobaczylibyśmy to od razu.
Przyglądając się stronie z artykułem widzimy, że oznaczony jest on jako przedruk z CNN. Google wskazuje artykuł źródłowy. Czytamy w nim:
Looking so far back in time may sound like science fiction, but it's possible because light travels at a finite speed and takes a certain amount of time to get from one place to another, said Marla Geha, an assistant professor of astronomy at Yale University.
In our own cosmic neighborhood, it takes the light from the sun eight minutes to reach Earth, so when you look at a beautiful sunrise, you see the star as it appeared eight minutes ago. If the sun were to suddenly go dark, you wouldn't know it for those several minutes.
I tu jest wszystko OK. CNN pisze o tym, że obserwując wschód słońca widzimy je takie, jakie było ono 8 minut temu. A nie, że wzeszło 8 minut temu! Z kolei ostatnie zdanie nie ma nic wspólnego z zachodem Słońca tylko z hipotetyczną sytuacją jego nagłego zgaśnięcia.
Faktycznie dowiedzielibyśmy się o tym po 8 minutach. Natomiast takie sytuacje jak zachód Słońca czy też jego zaćmienie przez Księżyc mają miejsce tak blisko nas, że opóźnienie jest poniżej sekundy. Poza tym pani z Yale wcale się nie nazywa Maria tylko Marla. Nawet imię zostało przekręcone.
A więc jednak wina Onetu, a konkretnie jego pracownika, który nie dość, że nie potrafi tłumaczyć z języka angielskiego to brakuje mu szkolnej wiedzy z astronomii.
Ale skoro na Onecie nikt nie ma czasu na poprawianie literówek, których jest mnóstwo, a nawet błędów gramatycznych, bo liczy się tylko szybkość publikacji, to nie ma się dziwić, że takie są efekty. A Onet nie ma i tak się czym przejmować, ciemny lud wszystko kupi.
18 sierpnia 2009
Dziś kolejny raz spotkałem się z przypadkiem podawania na forum różnych bzdurnych porad mających na celu przyspieszenie działania Windows. Chodziło o wartość NonPagedPoolSize w rejestrze, której ustawienie na 95% wielkości RAMu ma
spowodować, że system będzie wykorzystywał całą pamięć a dopiero potem zacznie korzystać z pliku wymiany. Oczywiście nie jest to prawda, ponieważ wpis ten dotyczy niestronicowanej pamięci jądra a nie pamięci alokowanej przez aplikacje przestrzeni użytkownika. Ale nikt się nie zastanowi, nie pomyśli, nie poczyta, tylko
przekleja "poradę" z forum na forum.
Inna popularna bezsensowna porada, żeby wielkość pliku wymiany ustawić proporcjonalnie do wielkości RAMu, ze współczynnikiem zwykle w okolicach 1,5. Już sama logika mówi, że to bez sensu. Wynika z tego zalecenia bowiem, że czym mamy więcej RAMu tym większy musimy zrobić swap. A po to przecież kupujemy
RAM żeby komp nie musiał uciekać się do pliku wymiany tylko zawsze miał pod ręką pamięć fizyczną. Zgodnie z definicją, plik wymiany służy jako brakująca pamięć. Jego wielkość powinna być więc różnicą pomiędzy zapotrzebowaniem zgłaszanym przez nasze aplikacje a posiadaną pamięcią fizyczną. Nie mam pojęcia czemu tak prosta zależność jakoś uchodzi uwadze wielu ludzi i powtarzają bezsensowne brednie.
Są też mniej ekstremalne porady, wynikające ze słabego rozumienia tekstu albo jakichś nieszczęśliwych skojarzeń. Można więc wyczytać np. że wartość SfcScan w rejestrze jest odpowiedzialna za uruchamianie chkdsk.exe podczas startu systemu albo że należy wyłączyć QoS bo zjada 20% pasma.
Problem z głupimi poradami jest nie tylko taki, że mogą one spowodować spadek wydajności systemu lub niestabilność. Na podstawie tych porad są potem tworzone programy, które mają powodować przyspieszenie pracy systemu. Zaznaczam wyraźnie, że nie chodzi
mi tu o programy takie jak TweakUI, które pozwalają łatwo ustawić niektóre rzeczy i dostosować do swoich potrzeb. Mam na myśli aplikacje, których autorzy obiecują wzrost wydajności o kilkaset procent i chcą za te programy kasę. Nieraz w swoich opisach mają takie brednie, że aż naprawdę trudno uwierzyć, że ktoś to kupuje. Kiedyś widzialem program, który miał rzekomo instalować
w Windowsie nowe, szybsze jądro. Bez komentarza. Tak więc nie dość, że ludzie mają potem porozwalane systemy to na dodatek za to płacą. Są też porady mówiące wprost o potrzebie instalacji jakiegoś programu: do czyszczenia rejestru, defragmentacji rejestru, defragmentacji pamięci itp. Ludziom potem puchnie głowa i myślą, że bez 10 specjalnych programików i 100 wpisów w rejestrze komp nie będzie działać.
Jak uporam się z inżynierką to pewnie napiszę jakiś większy tekst na temat różnych głupich windowsowych porad.
7 sierpnia 2009
Ostatnio jestem zajęty pisaniem pracy inżynierskiej. Opisuje ona urządzenie mające być pomocą dla elektroników, którzy budują układy korzystające z różnych interfejsów: RS232, 1-Wire, I2C, SPI czy RS485.
Mój układ ma być swego rodzaju uniwersalną przejściówką podłączaną do komputera przez port USB i wyposażoną w wymienione interfejsy. Gdy elektronik stworzy prototyp swojego urządzenia mający np. interfejs SPI,
będzie mógł za pomocą mojej przejściówki przetestówać poprawność działania tego interfejsu w swoim urządzeniu.
Cały projekt składa się z kilku elementów: samego urządzenia wraz z firmwarem, sterownika dla Windows, bibliotek oraz przykładowych aplikacji. Pod względem sprzętowym układ opiera się o mikrokontroler STM32F103RB i jest dosyć prosty.
Firmware oparty jest o standardowe biblioteki peryferiów oraz stos USB od ST. Sterownik działający w trybie jądra został napisany w oparciu o artykuł z CodeProject.
11 czerwca 2009
Zapewne niektórzy użytkownicy Internet Explorera 8 zastanawiali się od czego zależy liczba procesów iexplore.exe.
IE8 używa funkcji Loosely Coupled IE (LCIE), w której IE działa używając kilku procesów połączonych w tzw. job. Widać to np. w Process Explorerze.
Taki job to grupa procesów, które mogą być razem zarządzane i mogą mieć przydzielone limity zasobów.
Domyślnie liczba procesów IE8 zależy od wielkości wolnej pamięci, liczby zakładek, powiązań między zakładkami oraz ilości sesji IE.
Tworzone są minimum dwa procesy iexplore.exe: jeden dla głównego okna, drugi dla zakładki. Wraz z otwieraniem zakładek ilość procesów może się potem zwiększyć.
Liczbą procesów można zarządzać za pomocą wartości TabProcGrowth typu DWORD lub tekstowego w kluczu HKCU\Software\Microsoft\Internet Explorer\Main.
Określa ona ile może maksymalnie działać procesów "zakładkowych". Jeśli ustawimy ją na 0, wówczas funkcja LCIE będzie wyłączona
i całe okno IE będzie działać w jednym procesie. Gdy będzie ustawiona na 1, procesy będą dwa: dla okna i zakładki. Przy ustawieniu
większej liczby liczba procesów "zakładkowych" będzie się zwiększała wraz z ilością zakładek ale nie przekroczy wartości wpisanej w rejestrze.
Zamiast wartości liczbowej można wpisać też wartość tekstową. Jeśli wpiszemy słowo small, utworzone zostanie maksymalnie
5 procesów zakładkowych a trzeci proces zostanie utworzony przy 15-ej zakładce. Gdy wpisane zostanie słowo medium,
IE8 działać będzie w maksymalnie 9 procesach zakładkowych a piąty proces zostanie uruchomiony przy 17-ej zakładce. Z kolei słowo
maximum ustawi limit na 16 procesów zakładkowych a dziewiąty proces zostanie uruchomiony przy 21-ej zakładce.
Opisane ustawienie w rejestrze przyda się szczególnie użytkownikom pluginu IE7Pro, który niestety nie jest dostosowany do IE8 i nie ładuje się na wszystkich zakładkach.
Ustawiając TabProcGrowth na 1 można sprawić, że IE7Pro będzie się ładowało zawsze poprawnie. Minusem będzie brak odporności na zawieszenie, którą dawało LCIE - zawieszenie jednej zakładki spowoduje zawieszenie całej przeglądarki.
7 czerwca 2009
Kolejny kod stworzony przy okazji pytania zadanego na grupach: jak automatycznie wydrukować wiele plików DOC?
Można w tym celu napisać proste makro dla MS Worda:
Sub PrintAllFirst()
Dim myFile As String
Dim strLooking As String
strLooking = "C:\Documents and Settings\Grzegorz\Pulpit\word\"
myFile = Dir$(strLooking & "*.doc")
Do While myFile <> ""
Debug.Print myFile
Application.PrintOut FileName:=strLooking & myFile, _
Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:= _
wdPrintAllPages
myFile = Dir$
Loop
End Sub
6 czerwca 2009
Niedawno na grupach dyskusyjnych pojawiło się pytanie o to, jak sprawdzić w którym z katalogów jest najwięcej plików. Pliki, które były w podkatalogach nie miały się liczyć, czyli przykładowo dla C:\ mogło być 10 plików a dla C:\Windows 200 plików.
Jako rozwiązanie problemu wybrałem napisanie skryptu w PowerShellu, który zamieszczam poniżej:
ls . -force -recurse | Where-Object {
$_.PSisContainer -eq $true
} | ForEach-Object {
Write-Progress 'Examining Folder' ($_.FullName); $_
} | ForEach-Object {
$result = '' | Select-Object Path, Count;
$result.Path = $_.FullName;
$result.Count = @($_ | ls -force -ea SilentlyContinue `
| where {$_.PSisContainer -eq $false}).length; $result
} | sort Count -descending |foreach{$_.Path;$_.Count}
Co tu się dzieje? Najpierw za pomocą ls -r pobieramy strukturę plików i katalogów z której zostawiamy tylko katalogi.
Dla każdego z nich rozpoczynamy od wyświetlenia jego nazwy za pomocą Write-Progress. Potem ze stringa $result tworzymy
sobie strukturę o polach Path i Count. Do Path zapisujemy aktualny katalog. W Count chcemy mieć ilość plików.
W tym celu znów odpalamy ls ale już nie rekurencyjnie. Dostajemy listę z której pobieramy jej długość i zapisujemy w Count.
Następnie zostaje posortowanie wyników malejąco i wyświetlenie nazwy każdego katalogu i liczby jego plików.
Znaczek @ jest konieczny ponieważ PowerShell automatycznie jednoelementowe tablice zmienia w pojedyncze
obiekty a taki pojedynczy obiekt nie ma właściwości Length. Znaczek ten po prostu rzutuje obiekt na tablicę.
23 kwietnia 2009
Dziękuję wszystkim, którzy przyszli dziś na moją sesję o Singularity na ITAD. Prezentację zamieszczam tutaj.

