eRIZ’s weblog

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje
Serdecznie zapraszam do udziału w ANKIECIE

Windows mnie w…denerwuje

Nie istnieją idealne systemy operacyjne. Nigdy ich nie będzie, bo są pisane przez ludzi – którzy też nie są idealni. ;)

Ostatnio marudziłem na temat systemów POSIX-owych, dzisiaj znowu będę marudził – co w Windows mi nie pasuje.

Że co? Ty marudzisz na Windows?! - Tak, tak. Mam do czynienia z oboma środowiskami (POSIX i Windows), ale do popełnienia tego wpisu popchnęło mnie to, że niektórzy po prostu bezkrytycznie chwalą Okienka, nawet jeśli nie mają ku temu powodów. Aż chce się powiedzieć, It’s not a bug, it’s a feature!

No to co, zaczynamy!

Organizacyjnie – nie będę się rozczulał nad konkretnymi edycjami (serwer/klient) – po prostu będę poruszał to, co mi się nawinęło.

1. GUI w systemach serwerowych

Że co proszę? Albo jestem jakoś kiepsko poinformowany, albo instalując edycje serwerowe Windows nie obejdzie się bez środowiska graficznego. Dla mnie to porąbany pomysł – dlaczego marnować zasoby na coś, z czego skorzysta się – przynajmniej w teorii – kilkakrotnie? Przy instalacji, konfiguracji, ew. łataniu. (taka mała dygresja, uwaga – trzymać się mocno krzesła – post na forum PHP.pl)

Ja rozumiem, zdobyć użytkowników. Ale po kiego grzyba marnować pamięć? Kompromisem byłoby jakieś API administracyjne, które BOFH wykorzystuje przez jakąś aplikację kliencką, nawet graficzną. Ale na właściwym serwerze, na którym stoi tylko, np. IIS + SQL Server? Usługi Terminalowe, to trochę inna para kaloszy.

2. Właściwie, to brak narzędzi konsolowych

Im dalej w las, tym więcej drzew. Nie rozumiem jednego – przez te ~15 lat nie można było wypracować jakichś sensownych narzędzi do przeprowadzania pewnych operacji z poziomu Wiersza Poleceń? Tak samo z samym WP – w porównaniu do POSIX-owego basha, zsh, czy nawet standardowego sh wypada wręcz fatalnie. O innych narzędziach służących do operacji na plikach, czy tekście – już nie wspomnę. Choćby pierdołowaty grep, czy sed. Owszem, są pakiety (Cygwin, msys, etc), które pozwalają na zmniejszenie dystansu do środowisk POSIX, ale dość często są one nie do końca działające, np. wspomniany wcześniej sed. Pod Windows nie sprząta plików tymczasowych. Peszek.

Żeby nie było – przy konfiguracji systemu wykorzystuję narzędzia net, czy netsh. Ale tym przecież wszystkiego się nie da zrobić. WSH też ma sporo ograniczeń.

Brakuje obsługi nagłówka skryptowego dla plików, np. #!/bin/bash, ale to jest do przeżycia – w końcu filozofia rozszerzeń w nazwach plików miast typów MIME.

3. Tylko  klikalne firewalle

Ja tego nie rozumiem – tylu producentów firewalli na rynku, tylu posiada certyfikaty zgodności z systemem, a żaden nie posiada możliwości konfigurowania ustawień przez narzędzia konsolowe. Oczywiście pomijam aplikację systemową, bo to firewall tylko z nazwy. ;)

Fakt, może istnieje taki, o którym mówię, ale jeszcze się na niego nie natknąłem. Wszystko muszę klikać, niczego nie oskryptuję, co bardzo często by się przydało. A grzebanie w ustawieniach na żywca jest trochę dziwne albo pilnowane.

4. System desktopowy nie jest w stanie wytrzymać długiego uptime’u

Nie wiem, czy to jest związane z następnym punktem, ale – z tego co pamiętam – to nawet gdy komp coś spokojnie robił, to po iluś tam godzinach zaczynał fiksować. A to GUI wariowało, a to niektóre programy wywalały setki błędów (z tego co pamiętam, to zwykle „pamięć nie może być READ/WRITE” – no to jaka może być, do jasnej ciasnej?!). Po restarcie wszystko wracało do normy. Pewnie zaraz ozwą się fanatycy, że musiałem mieć jakieś uwalone sterowniki. Odpowiem – próbowałem wszystkich kombinacji. Najnowsze też, tylko certyfikowane też – niezależnie od platformy sprzętowej. Przykro mi, przydałoby się wreszcie nad tym popracować.

5. Uwalona hibernacja/stan wstrzymania

Kolejna kwestia, która na przestrzeni lat nie została prawidłowo zaprojektowana. Jak sięgam pamięcią, to stan wstrzymania wprowadzono już w Windows 95. Hibernacja w Windows XP albo może w 2k.

To nie można było tego w końcu dopracować? Po kilku wybudzeniach z systemem dzieją się podobne rzeczy jak wyżej. Przez 15 lat się nie dało…? Z tego co wiem, to POSIX-y sobie z tym jakoś radzą.

6. UAC, ale bez sudo/sudoers?

Chwała tym, którzy w końcu przeforsowali UAC do Windows. Wszystko fajnie, super. Tylko mimo odrobienia pracy domowej z Visty, w Siódemce nadal ten mechanizm jest upierdliwy. Najbardziej daje popalić brak możliwości zdefiniowania listy aplikacji, które zostaną uruchomione z podwyższonymi uprawnieniami bez upierdliwych potwierdzeń. Dlaczego np. uruchomienie Menedżera Urządzeń nie powoduje wyświetlenia okienka UAC? No jasne, pewnie – jak zwykle – kwestia podpisów.

Kopałem trochę w Sieci, znalazłem. Dla mnie to jest zwyczajna wymówka – przecież firewalle w jakiś sposób rozpoznają, które aplikacje posiadają jaki poziom uprawnień. Da się? Da się. W POSIX-ach sobie poradzili, w Windows też by mogli. Dlaczego nie można było po prostu wykorzystać już istniejącego mechanizmu i dodania kolejnej przystawki do Konsoli Zarządzania, w której można by było zarządzać taką listą? No i – oczywiście – prostego czekboksa „uznaj tę aplikację za zaufaną/niezaufaną i nie pytaj w przyszłości”.

To samo z brakiem narzędzia su/sudo. Ile by to uprościło życie. Ktoś w ogóle testował UAC w normalnych warunkach użytkowania? Czy to jest upierdliwe albo nie? Tak BTW, gdyby ktoś potrzebował sudo pod Windows, to coś takiego istnieje.

Nie jest to rozwiązanie idealne, ale zawsze jakieś.

7. Fiksujący aero-peek

Nie mam pojęcia, od czego się tak robi, ale w pewnych warunkach Aero-Peek przestaje kompletnie działać – nie są wyświetlane żadne miniaturki, a dymki podpowiedzi po pokazaniu pozostają widoczne nawet po przejechaniu kursorem w inne miejsce i ciężko się ich pozbyć. Po zrestartowaniu Eksploratora wszystko wraca do normy. WTF?

8. Pasek języka i durne kombinacje alt+shift

Cyz spotkaliście się y tak yapisanzmi ydaniami? Na pewno. A ile osób za pierwszym razem miało „banię”, w jaki sposób się to stało? Komuś z Redmond przyszło do głowy, żeby – oprócz podstawowego – instalować jeszcze jeden, kompletnie bezużyteczny układ polskiej klawiatury. Mało tego, do przełączania bieżącego układu użyto skrótu klawiaturowego, który można dość często wcisnąć zupełnie przypadkiem. Kochany lewy ALT + lewy Shift. Człowiek instalujący Windows po raz n-ty już z automatu wyłącza to ustrojstwo. Ludzie, tak ciężko przyporządkować do ustawienia regionalnego konieczność aktywacji paska języka…? Rozumiem w przypadku azjatyckich. Ale dla polskiego…? Po co?

9. Brak wirtualnych pulpitów

Skoro przy projektowaniu Siódemki tak mocno się inspirowano KDE, to czemu nie można było jeszcze zainspirować się wirtualnymi pulpitami…? Owszem, ktoś się odgrozi, że w PowerToys jest coś takiego. No jest. Tylko że z użytecznością za wiele wspólnego to nie ma.

10. Brak wget

Tego już nie wybaczę! Nie ma mowy, aż poświęcę osobny punkt. Jak to można w ogóle opublikować system bez narzędzia pozwalającego na prostackie pobranie pliku z Sieci? RIAA/MPAA? Jest system, który nie ma wget/fetch na pokładzie? Oczywiście – Windows. Dlatego w paczce „must-have” jest wget. Nie wiem, co to za cud, że zostawili ftp, chyba to były problemy dla tzw. ZU w posługiwaniu się tym narzędziem.

11. Usunięcie HyperTerminala

Po instalacji Siódemki wklepuję sobie kulturalnie „hypertrm” i zonk. Pozwólcie, że jedynym komentarzem w tej sprawie będzie fragment ze stron Microsoftu:

„Jeżeli program HyperTerminal był wcześniej używany do sterowania urządzeń szeregowych, możliwe jest zwykle znalezienie w Internecie wersji programu HyperTerminal do pobrania, która jest bezpłatna do użytku domowego.”

12. Limit 9 połączeń SMB

Osobiście tego nie doświadczyłem, ale Pavlick ostatnio dość często „męczy mi ucho” odnośnie bardzo niskiego limitu liczby jednoczesnych połączeń SMB w nie-serwerowych edycjach systemu.

13. Ciężkie .NET Framework

Zrobię proste porównanie. Jako użytkownik nie znoszę Javy ze względu na jej ospałość. Ale za to system uaktualnień działa bardzo sprawnie – mogę spokojnie wywalić stare wersje bibliotek bez obawy, że aplikacje przestaną działać. Na dodatek, instalka też nie jest ciężka. Z tego co pamiętam, to dużo mniej niż 50 MiB. A .NET Framework? Kilka różnych wersji niekompatybilnych wstecznie, które pożerają setki megabajtów miejsca. Dlaczego nie mogę zainstalować najnowszej wersji, a staroci wywalić?

14. Brak możliwości przeniesienia katalogu domowego z poziomu instalatora

Podczas instalacji każdego POSIX-a można wybrać punkty montowania dla każdego elementu drzewa. W Windows tego, niestety, nie ma. Żeby chociaż była możliwość przeniesienia katalogu z ustawieniami użytkowników w inne miejsce… Problem zrobić tryb instalacji dla zaawansowanych?

Słyszałem, że ponoć da się zwyczajnie przenieść ten katalog po instalacji. Jednak tego nie testowałem.

15. Brak jakiegoś repozytorium/marketplace’a/centrum zainstalowanego oprogramowania

Aplet Dodaj/Usuń Programy nie zmienił się, tak naprawdę, od lat. Może przeszedł tylko face-lifting, żeby było widać, że coś z tym robią. Dla Windows Phone zrobili Marketplace, czy świat by się zawalił, gdyby był i dla systemu na trochę większe urządzenia? Tak samo zarządzanie zainstalowanymi bibliotekami. Zrobili jakieś WinSxS, które kopiuje wszystkie możliwe wersje tej samej biblioteki. I katalog puchnie, i puchnie, a Microsoft twierdzi, że gdy system ustali, iż dana biblioteka nie jest używana, to jej kopia zostanie skasowana.

To tak samo, jak z Yeti – wszyscy słyszeli, a nikt nie widział. Ilość postów na różnych forach na temat puchnięcia WinSxS chyba o czymś świadczy…

16. Dziwna logika działania systemowego wypalania płyt

Ekhm, najpierw skopiować do folderu tymczasowego, potem zrobić z tego obraz i dopiero potem wypalić. Przynajmniej tak było w WXP. Ok, rozumiem, zrobić obraz, to jeszcze jestem w stanie przetrawić. Ale po co tyle kopiować? Nawet jeśli fizycznie jest to ten sam dysk? Ale dysk jest tani. Zaraz, to było z CPU chyba, czy z RAM-em? No jasne, wszystko jest tanie. Taniusie. Szczegół, że potrzebujemy pierdyliarda megabajtów.

„Ale przecież ktoś może nagrywać coś z sieci…” – to nie ma funkcji, która pozwala na sprawdzenie, czy coś takiego ma miejsce? Jest na pewno. Ciekawe, ile statystycznie osób wypala coś bezpośrednio z zasobu sieciowego. Nazbiera się 10%?

17. Brak spójności w powiadomieniach i aktualizacjach

W POSIX-ach uaktualnieniami zajmuje się menedżer pakietów. No ok, w Windows mamy Windows Update, alerty połowicznie w Centrum Zabezpieczeń, czy jak to się tam nazywało. Ale nie można było otworzyć jakoś tego API dla innych programistów i programów? Byłby mniejszy chaos no i sam system byłby odpowiedzialny za odpowiednie powiadomienia i przeprowadzanie aktualizacji. Np. jeden DLL do aplikacji, a nie dziesiątki mini-programików, które siedzą koło zegarka tylko po to, aby pilnowały, czy są jakieś łatki. No i pozostaje jeszcze kwestia uprawnień, która jest – w większości przypadków – nie do przeskoczenia bez dodatkowych kombinacji, np. instalacja dodatkowej usługi.

18. Uwalający system Windows Update

Za każdą instalacją różnej wersji Windows jedna z pierwszych czynności, które wykonuje, to wyłączenie Windows Update. Po instalacji Siódemki stwierdziłem, że dam szansę. I to był błąd, który dał ponownie popalić – unieruchomiony przez łatkę system. Miałem podobnie na innych platformach, na innych systemach, a z tego co rozmawiałem, to nie tylko ja. Nie wiem, dlaczego pod POSIX-ami nie ma z uaktualnieniami takich problemów… Moim zdaniem, developerzy powinni poważnie przemyśleć samą logikę aktualizacji. W zbyt wielu przypadkach jest wymagany restart systemu (często z powodu lenistwa niektórych programistów), zbyt często się zdarza, że bez powodu wszystko kończy się unieruchomieniem systemu w zasadzie bez powodu. Jedyny plus, że próbowano pomóc rozwiązać mój problem, ale niestety, nie znalazłem wówczas chwili czasu na zebranie wymaganych danych..

19. Brak porządku ze sterownikami nieobecnych urządzeń

Masz potrzebę chwilowego podpięcia pendrive’a, którego dostałeś w łapy pierwszy raz. I potem go raczej nie ujrzysz. Mimo to, sterownik zostanie w systemie. Najgorzej jest z kartami sieciowymi – wywalić nieistniejące sterowniki, to dopiero jest wyzwanie…

Z cachem ARP jakoś system sobie poradził (rzadko używane wpisy są kasowane, reszta przetrzymywana)…

20. Brak zwijania okien do paska tytułu/dostrajania ich ustawień

Standard w POSIX-ach, a w Windows? Taka prosta rzecz – wybór poziomu przezroczystości oraz zwijanie całego okna do wyłącznie paska tytułu. Wiem, że bzdet, ale…

Końcówka?

Nie wiem, czy byłoby tych punktów więcej. Gdyby wyeliminować chociaż połowę z tych – moim zdaniem – niedoróbek, to Windows byłby chyba idealny…

Oczywiście całość jest tak obiektywna, jak mokra jest pustynia. ;)

Zapraszam do dyskusji.

9 komentarzy

dopisz swój :: trackback :: RSS z komentarzami

RSS z komentarzami :: trackback

Skomentuj

Możesz używać znaczników XHTML. Dozwolone są następujące tagi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Wszystkie komentarze przechodzą przez moderację oraz filtry antyspamowe. Nie zostanie opublikowany komentarz, jeśli:

  • Jego treść obraża kogokolwiek.
  • W treści znajdują się wulgaryzmy i słownictwo ogólnie uznane za nieprzyzwoite.
  • Mam wątpliwości co do autora wpisu (Wszelkie anonimy są kasowane - niezależnie od zawartości - wpisz prawdziwy e-mail. Jeśli usunąłem, Twoim zdaniem, komentarz niesłusznie - daj znać). Zdarza się, iż sprawdzam kim jest komentujący.
  • Zawiera jakąkolwiek formę reklamy.

Szufladka