Kilka słów w obronie… Microsoftu

Nie sądziłem, że będę pisać tutaj coś takiego. Nie po opisywaniu moich wrażeń z korzystania z Linuxa i korzystaniu z tylu programów open source (zwłaszcza podczas mojej fascynacji tym kilka lat temu).

Logo Skype

Motywem popychającym mnie ostatecznie do napisania tego wpisu (bo już nie pierwszy raz miałem ochotę napisać to wcześniej, tylko byłem zbyt leniwy) jest dzisiejsza wiadomość, o tym, że Microsoft kupił Skype. Oczywiście posypały już się gromy na Microsoft.

no to sobie pogadaliśmy za darmo:) Dobrze że są jeszcze równie dobre zamienniki
~bolo

W tym miejscu mogę się założyć z dowolną osobą, że rozmowy przez Skype nie staną się płatne. Jeśli przegram - opublikuję posta, że się pomyliłem, na stronie głównej. Ktoś chętny? ;)

Koniec z wersją na Linuxa (przeczytałem naprawdę dziesiątki komentarzy o zbliżonej treści)

Tymczasem, jeśli któryś z użytkowników Interii (serdecznie dziękuję za dostarczenie dużej ilości troll-spamu do cytatów) zadałby sobie trud przeczytania oryginalnej informacji prasowej Microsoftu, to mógłby zobaczyć, że 

"Microsoft will continue to invest in and support Skype clients on non-Microsoft platforms." ("Microsoft będzie kontynuował rozwój i wsparcie dla klientów na systemach nienależących do Microsoftu").

Odnoszę wrażenie, że trzeba być przepełnionym jakąś bezcelową nienawiścią, aby oceniać przyszłość, gdy nie zostały dokonane jeszcze żadne zmiany w programie. Skreślanie czegoś na stratę tylko dlatego, że zostało kupione przez inną firmę, którą niekoniecznie kochamy, to przejaw fanatyzmu.

Nie mówię, że sam jestem w skowronkach z tego powodu, ale skoro Skype już teraz był mulistym programem, dodatkowo zintegrowanym z FaceBookiem, to czy może być dużo gorzej? Ja dla odmiany postaram się wykazać trochę optymizmu (wiem, że burzę polską tradycję lat ostatnich, ale kij z tym). Przecież równie dobrze można założyć, że komunikator zostanie przyspieszony, a jego rozwiązania wdrożone w inne produkty Microsoftu.

Jakie są powody myślenia, że "cokolwiek co zostaje dotknięte przez Microsoft staje się złe"? Ja naprawdę tego nie rozumiem. Czyżby jakaś chora zazdrość? Jakby na to nie patrzeć Microsoft pod względem marketingowym i biznesowym osiągnął bardzo dużo - tego odmówić im się nie da. Może to, że komuś innemu się to nie udało na taką skalę, stanowi jakiś problem?

Wiem, że pewnie po tym wpisie rozpęta się burza, ale co mi tam, pobawię się w gromowładnego :D

Ride of the Lightning

[howto] Szybkie zarządzanie XAMPP-em

Już od dłuższego czasu z powodzeniem używam XAMPP-a jako pakietu pod localhosta. Jednak, jako że jestem maksymalnie leniwy, to stwierdziłem, że nie chce mi się uruchamiać tzw. XAMPP Control Center i klikać 2 razy przyciski start, skoro można to zrobić łatwiej…

Wystarczyło szybkie spojrzenie do plików uruchamiających MySQL i Apache w katalogu xamppa (mysql_start/stop.bat i apache_start/stop.bat). Cały "skrypt", jeśli można to tak nazwać, prezentuje się tak.

Dla uruchamiania

@ECHO OFF
X:\Twoj_katalog\z_xamppem\xampp_cli.exe start apache
X:\Twoj_katalog\z_xamppem\xampp_cli.exe start mysql

Dla zatrzymywania

@ECHO OFF
X:\Twoj_katalog\z_xamppem\xampp_cli.exe stop apache
X:\Twoj_katalog\z_xamppem\xampp_cli.exe stop mysql

Oczywiście zamiast X:\Twoj_katalog\z_xamppem wstawiamy ścieżkę, w której zainstalowaliśmy program. Pliki te zapisujemy np. jako xampp_start i xampp_stop. Ważne jest nadanie im rozszerzenia *.bat. Jeśli robisz to w notatniku, to przy zapisywaniu wybierz z listy rozwijanej "zapisz jako" pozycję "wszystkie pliki" i w polu nazwy wpisz np. xampp_start.bat, analogicznie dla pliku zatrzymującego.

Jeśli komuś zależy na samym serwerze Apache+MySQL+PHP (tzw. AMP - stąd nazwa xampp :P), to może też usunąć katalogi dla takich rzeczy jak Mercury czy FileZilla Server w katalogu programu. Jednak to już tylko dla fanatyków odzyskiwania jak największej ilości miejsca, jak ja :)

NetBeans 7.0

Jak już pisałem w jednym z wcześniejszych wpisów jestem zadowolonym użytkownikiem NetBeans'a, czyli zintegrowanego środowiska programistycznego m. in. dla PHP. Dzisiaj podczas przeglądania nowości w RSS'ach zauważyłem informację o wydaniu NetBeansa 7.0 (do tej pory używałem 6.9.1). Pomijam wszystkie changelogi, skupię się na własnych wrażeniach.

Zacznę oczywiście od instalacji. Już na starcie będzie troszkę narzekania, bo tak jak w poprzednich wersjach, nie mamy możliwości ustawiania czegokolwiek poza ścieżką do instalacji. Naprawdę nie widzę sensu instalowania m. in. chińskiej, rosyjskiej, portugalskiej i japońskiej wersji językowej "na sztywno", powinno się dać to odznaczyć.

Świeżo po instalacji IDE zajmuje u mnie 142 MB. Po skasowaniu wszystkich innych wersji językowych niż angielska pozbyłem się 1291 plików i całych 7,41 MB :P Mam jednak wrażenie, że program uruchamia się troszkę szybciej.

Po uruchomieniu programu pojawiło się okienko informujące, że na komputerze wykryto ustawienia z wersji 6.9 z możliwością ich zaimportowania. Krok wręcz obowiązkowy. Wszystko poszło bez problemu, wszystkie projekty wczytały się bez zmian.

Właśnie odnośnie zmian - otóż tych w wersji siódmej jest naprawdę niewiele. Pojawiło się m. in. wsparcie dla systemu kontroli wersji GIT i zawijanie linii - oba wyłączyłem. Natomiast przydać się może wsparcie dla znaczników HTML5. Podejrzewam, że sytuacja przedstawia się inaczej jeśli chodzi o wersję dla Javy, bo to przecież pod ten język był pisany NetBeans.

Standardowo wyłączyłem kilka nieprzydatnych pluginów (z 17 aktywnych po instalacji zostało 10). Generalnie jak dla mnie w programie zmieniło się niewiele. Jednak z drugiej strony nie muszę przyzwyczajać się do nowego interace'u itd, a program działa sporo szybciej (przynajmniej na moim sprzęcie). Nie mam na co narzekać :)

Postępujące lenistwo internautów

Kolejny wpis z serii moich przemyśleń o wszystkim i niczym.

Problem opisany w tytule zauważyła pewnie już większość z Was. Użytkownik internetu staje się coraz bardziej leniwy. Przyczyniło się do tego stosowanie wszystkich zasad usability i maksymalne uproszczanie interfejsu. Teoretycznie nie jest to złe, a jednak jakie przynosi to efekty? Spójrzmy…

W dzisiejszych czasach na przykład błędu wyświetlanego przez skrypt nie można wyświetlić tak samo jak reszty strony. Musi być oddzielony, mieć oddzielne tło i dobrze by też było, aby był pogrubiony… najlepiej dwukrotnie (tak, da się). W przeciwnym wypadku user nie będzie wiedział co się stało, bo "to przecież trzeba było czytać, a tu były dwa zdania i nie wiedziałem od którego zacząć." Najłatwiej było nie czytać żadnego. Potem mamy informację od usera, że coś nie działa, ale nie wie co. Pod warunkiem, że user taki znajdzie formularz kontaktowy. A jak jeszcze w formularzu tym zamiast edytora WYSIWYG damy BBCode lub co gorsza niektóre znaczniki HTML, to z wiadomością od usera możemy się pożegnać.

Do ważnych miejsc w serwisie linki muszą być co najmniej sto dwadzieścia siedem tysięcznych raza większe, niż do tych mniej ważnych. Inaczej user nie znajdzie… bo kto zajmowałby sobie uwagę przeglądaniem jakiegoś menu. A niektórzy webmasterzy do już hardcore'y i dają aż dwa menu! Uwierzycie? :O

Ehh… miał być normalny wpis, ale jakiś taki mam dzisiaj stan, że wyszedł przepakowany ironią. Jednak czy pomijając moje wygłupy, zgadzacie się z sensem wpisu, czy wg Was żyję w rzeczywistości alternatywnej? ;)

  • Oczywiście nie jest tu mowa o wszystkich internautach. To zaledwie 90%…

YouTube przyłącza się do gaszenia świateł

W dniu dzisiejszym o godz. 20:30 odbędzie się tzw. Godzina dla Ziemi. Jest to akcja polegająca na gaszeniu iluminacji na jak największej ilości budynków - przyłączyły się m. in. Wieża Eifella i ogromna ilość właścicieli mniejszych i większych budynków (m. in. kościoły).

Przed chwilą z radością zauważyłem, że także YouTube przyłączył się do akcji. I jak to Google lubi robić - z odrobiną humoru ;)

Po lewej od tytułu każdego filmiku pojawił się przycisk pozwalający "wyłączyć światło na YT. Oto efekt (kliknij na obrazek, aby powiększyć):

YouTube "włączony" YouTube "wyłączony"

Wy też zamierzacie wygasić swoje domy i wyłączyć umęczone komputery? ;)

PS: Mam pomysł jakby tutaj oszczędzić dużo prądu: niech Google wyłączy wszystkie swoje serwery na 15 minut. Fala samobójstw gwarantowana :P

Aktualizacja (10.04.11)
Swego czasu w komentarzach rozpętała się dyskusja na temat tego, na ile pożyteczna jest taka akcja w praktyce. Jako że komentarzy już nie ma, polecam poczytanie na własną rękę, można naprostować wiele błędnych opinii.

Menadżery haseł

O bezpieczeństwie haseł powiedziano już bardzo wiele, było, że powinny być skomplikowane i trudne do złamania, było też słynne porównanie haseł do majtek (na polski: "Hasła są jak majtki. Nie zostawiaj na widoku, zmieniaj często i nie pożyczaj obcym.").

Jest też jedna z mądrości na ten temat mówiąca, że najbezpieczniejsze hasło, to takie którego nie pamiętamy. Wiadomo: nie podamy go niezaufanym ludziom i nie zapiszemy na karteczce przyklejonej do monitora. Ale jak używać hasła, którego nie pamiętamy? Tutaj z pomocą przychodzą nam managery haseł. W tym wpisie skupię się na jednym z nich - KeePass Password Safe.

Jest to swego rodzaju sejf na hasła (jak zresztą widać w nazwie). Cała istota tego rozwiązania polega na tym, że wymyślamy tylko jedno super bezpieczne hasło, którym zabezpieczamy bazę programu, a reszty haseł nie musimy pamiętać, co ma też takie plusy, że do każdego serwisu możemy mieć inne hasło i nie martwić się o to, czy ktoś nie trzyma ich w plaintexcie (czysty tekst, bez szyfrowania*).

Jednak, by zalogować się do jakiegoś serwisu musimy mieć program przy sobie. Twórcy pomyśleli też i o tym. Program jest portable, tj. nie instaluje się w systemie przez co możemy go nosić na pendrive'ie. Aplikacja jest też dostępna w języku polskim oraz powstały jej wersje m. in. na systemy Windows, Linux i Mac OS.

Oczywiście bardzo dużą wagę przyłożono do bezpieczeństwa danych trzymanych w programie. Program korzysta z mocnych i bezpiecznych algorytmów szyfrujących takich jak AES i Twofish oraz haszujących SHA-256. Dodatkowo KeePass nawet po uruchomieniu i otworzeniu bazy danych, hasła trzyma zaszyfrowane w swoim procesie w pamięci, chroniąc je przed wykradnięciem.

Skoro nie musimy pamiętać ustawianych haseł, program został wyposażony także w generator losowych haseł (możemy ustawić znaki które maja się w nich znaleźć [litery, cyfry, znaki specjalne itd]).  Przy wpisywaniu hasła w programie, podaje on siłę hasła w bitach i pokazuje obrazkowo.

KeePass został też wyposażony w różne funkcje zwiększajace bezpieczeństwo już po otwarciu bazy z hasłami (nie tylko szyfrowanie danych w pamięci, wspomniane powyżej).  To m. in. możliwość ustawienia po jakim czasie ma się blokować obszar roboczy programu. Możemy też nakazać blokować się mu na przykład po przełaczeniu użytkownika lub nawet po zminimalizowaniu okna. Aby go odblokować musimy podać nasze hasło główne. Możemy też ustawić czas po jakim schowek systemowy ma być czyszczony z hasła skopiowanego z programu (domyślnie 12 sek.).

Ponadto w opcjach mamy dostępna zakładkę "Polityka", w której możemy ustalić co możemy robić po otworzeniu bazy haseł. Można np. zabronić uruchamiania wtyczek do programu lub zmiany klucza głównego. Dostępne jest kilkanaście opcji.

Biorąc pod uwagę te wszystkie zalety uważam, że ten zajmujący zaledwie 3.5MB pakiet powinien zagościć na pendrive'ach i dyskach wielu osób. Program KeePass Password Safe można pobrać stad.

  • wiem, powinienem napisać hashowania zamiast szyfrowania, ale użyłem tego terminu jako bardziej zrozumiałego dla osób niezaawansowanych.

Dlaczego HTML5 nic nie zmieni?

Od dłuższego już czasu w internecie występuje ogromne poruszenie pracami nad nową, piątą, wersją HTML-a. Sam też byłem i w sumie po części nadal jestem jego entuzjastą. Miło byłoby gdyby istniał standard pozbawiony wszelkich archaizmów, który wymuszałby poprawne pisanie stron na webmasterach, a internet zmieniłby się w jedną wielką cyfrową sielankę…

Nie no. Oczywiście przesadzam, ale w tym wpisie chciałbym przestawić Wam prosty powód, dla którego tak naprawdę wejście w życie HTML-a 5 niewiele zmieni.

Co z tego, że specyfikacja zabrania używania HTML-a do opisu wyglądu strony (czyli znaczniki takie jak font itd…), że zabrania używania ramek, skoro przeglądarki nadal to wszystko obsługują.

Jako "materiał dowodowy" do tego wpisu posłuży ta prosta strona. Polecam zajrzenie w jej kod. Jest tam sieczka najgorszych znaczników z HTML4 tj. font, center, iframe…

I teraz stawiam główne pytanie: Co z tego, że specyfikacja HTML5 wymusza np. stosowanie wyłącznie CSS-a do opisu wyglądu strony, skoro przeglądarki internetowe tego nie robią?

Już teraz mamy takie przykłady: twórcy wielkich portali szczycą się, że ich strony używają HTML5. Szkoda tylko, że w większości używanie tego standardu kończy się wraz z sekcją head.

Marzy mi się, żeby przeglądarki podchodziły tak rygorystycznie do parsowania HTML-a, jak do XML-a lub jak parser do parsowania PHP. Żeby browser widząc stronę z błędem wyświetlał komunikat na ekranie. Myślę, że dopiero to zmobilizowałoby porządnie "webmasterów" do tworzenia stron zgodnych ze standardami.

Strona z DTD HTML-a piątego z działającymi frame'ami, to nie jest moje marzenie… Wygląda na to, że twórcy stron będą mogli tworzyć sieczkę, z którą będą męczyć się przeglądarki. Zmieni się tylko ilość błędów w walidatorze, o którego istnieniu większość normalnych użytkowników nie ma pojęcia (a szkoda)…

Poradnik pisania gier MMO via WWW cz. 2

Witam Cię serdecznie w drugiej części mojego poradnika pisania gier MMORPG na przeglądarki internetowe. Jeśli przez cały poprzedni rozdział przebrnąłeś z pozytywnymi odpowiedziami, to teraz przyszedł czas na wybór odpowiedniego silnika do gry.

Osób lekko bardziej zaawansowanych moja odpowiedź na pewno nie zdziwi: stwórz własny engine. Dlaczego?

Czytaj dalej →