Wszystko już było.

Kto wymyślił radio – Marconi czy Popow? Zagadnienie to per saldo dla ludzkości ma znaczenie niewielkie, interesują się tym Rosjanie oraz Włosi. Paradoksalnie bycie odkrywcą czegoś, daje największą satysfakcję samemu odkrywcy i gronu jego znajomych bądź krajan. Z perspektywy wszechświata, nie ma to żadnego znaczenia. W każdym kraju równolegle ktoś może wpaść na genialny pomysł. Cóż jednak z tego, jeśli tak naprawdę pierwszy wynalazca danego przedmiotu żył pięć milionów lat wcześniej pod słońcem innej gwiazdy?

Takie problemy stawia przed czytelnikiem Jacek Dukaj w swej mikropowieści „Córka łupieżcy”. Historia dziejąca się w pierwszej połowie XXI wieku już od pierwszej strony kopie czytelnika w twarz. Nagle znajdujemy się w zupełnie innym świecie, świecie który choć całkowicie różny, jest jednak naszym światem. Dla mnie ten obcy świat jest równocześnie całkowicie realnym dzisiejszym światem – krakowski Rynek, ulica Szewska, krakowskie tramwaje, Wieliczka czy wreszcie Beskid Niski. Wille w stylu „późny Gierek” czy koszulki z podobizną Kazika Staszewskiego. To moja codzienność, mimo że w perspektywie 30 lat półnagie dziewczyny z jędrnymi piersiami w towarzystwie opalonych, muskularnych młodych Polaków zmierzają przez rozgrzany do kilkudziesięciu stopni Celsjusza Rynek do elfiej dzielnicy Krakowa.

Córka łupieżcy

Technika kopania czytelnika w twarz jest w pewien sposób typowa dla Jacka Dukaja. Może w mniejszym stopniu występują ona w niedawnym „Lodzie” jednak we wcześniejszej jego twórczości już od pierwszej strony wciągani jesteśmy w świat powieści. Autor zwraca się do nas językiem bohaterów powieści, sami bohaterowie nie tłumaczą nam swoich przyzwyczajeń, nie spowiadają się do czego służą gadżety, których używają. Wszak czy my sami biorąc do ręki telefon komórkowy analizujemy głośno jego rozwój w ciągu ostatnich lat? Nie robimy tego, i nie robi tego także Jacek Dukaj – tajemnicze czynności i dziwne przedmioty stają się dla nas zrozumiałe w toku powieści. Paradoksalnie efektem tego jest fakt, że często pierwszy rozdział powieści Dukaja czytam po kilka razy. Continue reading “Wszystko już było.”

W obronie kohezji logicznej

W swej znakomitej książce „Code Complete” Steven McConnell rozważa między innymi pojęcie kohezji.  W dużym skrócie – kohezja jest miarą „spoistości” danego modułu, klasy lub funkcji. Im większa kohezja – tym mocniej dana funkcja (klasa, moduł) zorientowana jest na realizację jednego, konkretnego zadania. Perfekcyjnie kohezyjną funkcją jest funkcja sin(), spotykana w wielu językach i licząca sinus z danej wartości. Służy ona do liczenia sinusa i nie ma żadnych efektów ubocznych ani dodatkowego działania. Podobną kohezją cechują się funkcje zwane geterami lub seterami – ich zadaniem jest zwrócić, lub ustawić odpowiednią wartość zapewniając odpowiedni poziom bezpieczeństwa.

W naturze spotka się wiele rodzajów kohezji – od najsilniejszej, funkcjonalnej, gdzie działanie danej funkcji jest ściśle podporządkowane temu, co ma ona uczynić, aż po kohezję przypadkową, którego to terminu nie trzeba chyba wyjaśniać. Istnieje wiele kohezji dobrych (np. kohezja sekwencyjna, występująca wtedy, gdy ważna jest kolejność operacji, które w innej kolejności nie mają sensu), jak i złych. Jedną ze złych kohezji jest kohezja logiczna. Continue reading “W obronie kohezji logicznej”

Objawienie programistów Visual Studio

Ostatnio podczas zamawiania kilku książek w Helionie w ramach promocji mogłem sobie zupełnie za darmo wybrać dodatkową pozycję. Zazwyczaj promocja taka dotyczy jakiś starych książek, opisujących dawno już wymarłe technologie. Tym razem wśród dostępnych pozycji znalazłem „100 sposobów na Visual Studio”. Nie namyślając się wiele, zamówiłem ją.

Po wstępnym przejrzeniu zrozumiałem, dlaczego książka była dodawana za darmo: opisano w niej Visual Studio w wersjach 2002, 2003 i 2005beta. Patrząc z obecnego punktu widzenia, gdzie VS 2005 jest dojrzałą technologią, zastępowaną powoli przez VS 2008 (z VS 2010 na horyzoncie za kilka miesięcy), nie należy się postępowaniu Helionu dziwić. Faktycznie, część materiału wydaje się już nieco przestarzała – autorzy omawiają czasami dodatki, które nowością mogły być 5 lat temu, a dziś zostały zastąpione przez dużo lepsze rozwiązania. Pomimo to, książka ta jest genialna.

100 sposobów na VISUAL STUDIO

Potęga tej książki objawia się, gdy przeczytamy trzy pierwsze rozdziały a następnie zechcemy wypróbować podane tam porady w naszym najnowszym Visual Studio. Dla mnie było to zaskoczenie – niektóre magiczne skróty klawiaturowe maksymalnie upraszczające życie działają w każdej wersji. Oprócz klasycznych Ctrl + literka, w VS istnieje wiele skrótów wymagających użycia kilku klawiszy, często występują też sekwencje kombinacji klawiszy, wywołujące zaawansowane funkcje. Objawieniem dla mnie było Ctrl+K, Ctrl+D – czyli sekwencja klawiszy uruchamiająca dla bieżącego dokumentu funkcje autoformatowania kodu. Rzecz maksymalnie przydatna przy edycji plików ASPX. Już dla samego opisu zaawansowanych możliwości IntelliSense opłaca się kupić tą książkę… Continue reading “Objawienie programistów Visual Studio”

Przyjaciel Total Commandera

Krótka książeczka Piotra Czarnego o znanym i lubianym Total Commanderze dla starych wyjadaczy z pewnością nie wnosi nic nowego. Ot, garść prostych informacji o tym jak korzystać z tego prostego w obsłudze programu.

Total Commander. Leksykon kieszonkowy

Wystarczy jednak przeczytać ów leksykon, aby zmienić swoją opinię. Mimo omawiania wielu podstawowych funkcji programu, można w początkowych rozdziałach znaleźć coś dla siebie, czyli rzeczy, o których się nie wiedziało. Potężnym zasobem wiedzy są według mnie opisy i przykłady instalacji wtyczek do TC. W większości (poza przeglądarkami) znanych mi programów wtyczki służyły głównie dodawaniu nieciekawych i nikomu niepotrzebnych funkcji. W tym wypadku jest inaczej – opisano wtyczki do pracy z rejestrem, z usługami, lub też wtyczki powodujące, że praca z urządzeniami mobilnymi (aparaty cyfrowe, komórki), możliwa jest w przyjemny sposób za pomocą TC, a nie z użyciem denerwujących narzędzi dostarczanych przez ich producentów. Continue reading “Przyjaciel Total Commandera”

CSSy dla imbecyla, czyli CSS według Erica Meyera

Niedawno, z racji zmiany profilu zawodowego zmuszony byłem stworzyć trochę interfejsów webowych. Niestety, mój antytalent graficzny znowu dał o sobie znać (zastanawialiście się, czemu w tym blogu używam standardowego szablonu Wordpresa? No to już wiecie), i efekty były mizerne.

Przypomniałem sobie wtedy o książce, stojącej na mojej półce. Książka ta traktowała o CSS. Oczywiście wiedziałem czym jest CSS, bo sama jego idea jest prosta jak konstrukcja cepa i można ją streścić zdaniem „powiedz przeglądarce żeby rysowała zawartość taga h1 czcionką szóstką w kolorze żółtym na białym tle”. Tyle wystarczyło żeby wejść w świat CSS…

W każdej technologii informatycznej, która choć trochę przypomina język programowania zastosowanie ma jedna z dwóch metod nauki. Pierwszą z nich jest mozolny akademicki wykład i omawianie każdego zagadnienia w sposób wyczerpujący, stopniowo budując wiedzę i w miarę rozwoju studenta pokazując mu coraz trudniejsze zagadnienia bazujące na wiedzy już zdobytej. Drugą szkołą jest mówienie czytelnikowi: „popatrz, taka komenda robi to i to, i teraz dzięki połączeniu tego i tego, mamy taki efekt!”. Eric Meyer stosuje drugą metodę i uczciwie należy stwierdzić, że jest to podejście lepsze.

CSS według Erica Meyera

W pewien sposób CSS przypomina u Meyera gotowanie: aby smażyć dobre kotlety, nie trzeba być mistrzem kuchni chińskiej. Z jednej strony mamy bowiem zabawę za pomocą grafiki z wprowadzaniem krzywych do projektu i pozycjonowaniem elementów, z drugiej zaś walczymy z kolorystyką i szeroko pojętą „grafiką” strony. Elementy CSS są od siebie mniej więcej niezależne, a Meyer pokazuje w kolejnych rozdziałach co CSS potrafi. Takie książki uwielbiam – autor pokazuje mi, co jest dostępne w danej technologii, jak uzyskać pewne proste efekty a ode mnie, jako programisty, zależy jak połączę klocki w całość. Wiem też, że jeżeli jakieś zagadnienie mnie zainteresuje, to zawsze mogę znaleźć na półce w księgarni odpowiednią „cegłę”, z której doczytam to, co mi będzie potrzebne. Continue reading “CSSy dla imbecyla, czyli CSS według Erica Meyera”