07 maja 2008

Sens życia

Za każdym razem, gdy napotkam pytanie o sens życia, odpowiadam, że pytanie o to nie ma sensu –zamiast siedzieć i się zastanawiać należy po prostu żyć z sensem.

I już. Koniec problemu. Nie bardzo rozumiem, czemu filozofowie dysputują na ten temat od wieków czy nawet tysiącleci. Zresztą ostatnio natknąłem się na tą samą odpowiedź, tylko ujętą jeszcze zwięźlej i sprytniej, w piosence "The Sixth Extincion" z najnowszego albumu Ayreona:

The meaning of life is to give life meaning
Proste.

No, to jak główny problem egzystencjonalny mamy załatwiony, to niech ktoś mi wytłumaczy, o co chodzi z tym pieprzonym drzewem w tym pieprzonym lesie, co to upada i krzyczy bądź nie krzyczy? Bo znowu nie rozumiem, o co się sprawa rozchodzi, a to pewnie jest równie proste, tylko znowu filozofowie jakoś uparcie nie chcą na to wpaść.

04 maja 2008

JavaFX – WPFie, strzeż się!

Jakiś czas temu dostałem w pracy za zadanie rozeznać się w pewnej nowej technologii, jaką jest JavaFX. Nie, źle zacząłem, mały flashback...

Na jesieni zacząłem uczęszczać na spotkania AGieHowej Grupy .NET z zamiarem poznania tej technologii oraz zabrania się za C#, co by nabrać doświadczenia i mieć atuty przy szukaniu pracy, do którego się przymierzałem. Spotkania te zbiegły się w czasie z wydaniem .NETa w wersji 3.5, który posiadał wszystkie te W_F-y , a przede wszystkim WPF, czyli Windows Presentation Forms.

WPF zostało nam zademonstrowane przez jednego z szefów koła naukowego, prawdziwego entuzjastę tej technologii. Dla tych, co nie wiedzą – WPF wprowadziło zupełnie nowatorskie podejście do budowania graficznych interfejsów użytkownika: zamiast pieczołowitego układania formatek i kontrolek na okienku (jak dotychczas w Visual C++ oraz w NetBeansie) albo karkołomnego i – nie ukrywajmy – upierdliwego korzystania z różnych layoutów w Javie, tutaj opis wyglądu aplikacji sprowadzał się do ujęcia wszystkiego w XMLowym dokumencie z formacie XAML. Dawało to ogromne możliwości – nie było specjalnie ograniczeń co do zawartości kontrolek (elementem menu mógł być obrazek, a na przycisku mógł zostać wyświetlony filmik), ponadto wszystko było renderowane sprzętowo, przez co było naprawdę szybkie, można było zastosować mnóstwo efektów (gradienty, przezroczystości, deformacje), a na koniec – niektóre wartości można było zbindować z innymi, dzięki czemu część funkcjonalności można było zawrzeć w samej warstwie prezentacji, nie ruszając w ogóle prawdziwego, podpiętego pod to wszystko kodu.

A wisienką na szczycie tego tortu, jakim był WPF, była możliwość tworzenia obiektów trójwymiarowych, na których ścianach umieszczać można kontrolki. Bajer bajera bajerem pogania, dosłownie.

No, ale smutna codzienność doprowadziła do tego, że nigdy nic nie napisałem w siszarpie (najbardziej odstraszały mnie tzw. Małe różnice – wyobrażałem sobie, że siadam do napisania najprostszej siszarpowej aplikacji, i wykładam się na pierwszej linijce – bo co mam napisać? Include? Import? Czy jeszcze co innego?) i doszedłem do tego punktu w życiu każdego młodego człowieka, że musi się określić (hetero- czy homo-? Lewica czy prawica? Coca-cola czy pepsi?) i ja też wtedy się właśnie określiłem, wyszedłem z szafy i powiedziałem głośno: JESTEM JAVOWCEM. Potem znalazłem pracę (albo praca znalazła mnie) i tak już zostało.

A teraz nasz klient zapragnął przebudować warstwę prezentacji pewnej dość skomplikowanej aplikacji, którą rozwija (często z pomocą kolegów z naszej firmy) i szukał do tego jakiejś technologii. Generalnie najbardziej zależało mu właśnie na czymś takim, czego dostarcza wspomniany WPF (czyli kontrolki GUI na obiektach 3D), ale koniecznie w Javie. Pobawiłem się więc nieco JOGLem, Javą 3D oraz LWJGL (bodajże) i doszedłem do wniosku, że to jest nie do zrobienia. A wtedy on podrzucił mi – jako zamiennik – właśnie Javę FX. Przechodzę więc do meritum notki.

Java FX jest bardzo nową technologią, wciąż w fazie rozwoju i testowania. Służy ona mniej więcej temu samemu, co WPF, czyli tworzeniu interfejsów graficznych, jednak podejście ma nieco inne. Przede wszystkim do opisu komponentów nie używa żadnej odmiany XMLa, a własnego języka skryptowego JavaFX Script, który z wyglądu przypomina trochę JavęScript. Od strony funkcjonalnej JavaFX polega na wymieszaniu technologii Java2D ze Swingiem – i to w obie strony, co daje możliwości takie same, a może większe, niż WPF (tutaj także wszystko jest komponentem, płótno Javy2D może zawierać kontrolki Swinga, a kontrolki mogą zawierać elementy graficzne). Ponadto możliwa jest nie tylko grafika statyczna, a też dynamiczna (animacje), mnóstwo różnych efektów graficznych (jak w WPFie – deformacje, przezroczystości, gradienty...), rewelacyjne możliwości bindowania wartości oraz – co najważniejsze – możliwość pisania kodu w samym JavaFX Scripcie, dzięki czemu można napisać całą aplikację, nawet dosyć skomplikowaną, bez używania niczego z prawdziwej Javy. Zainteresowanym polecam obejrzenie paru przykładowych aplikacji tutaj: https://openjfx.dev.java.net/downloads.html#demos.

Technologia nadal jest tworzona i daleka jest jeszcze od finalnej wersji. Twórcy zapowiadają jeszcze więcej możliwości – nawet, jak w WPFie, możliwość tworzenia obiektów trójwymiarowych. Już teraz z jej pomocą można tworzyć bardzo ładne aplikacje o szerokich zastosowaniach – technologia nadaje się zarówno do aplikacji desktopowych, jak i appletów, stron internetowych oraz do wykorzystania na urządzenia mobilne. Pozwala wykorzystywać grafikę rastrową z plików, a także generować grafikę wektorową (kapitalną sprawą jest aplikacja do przetwarzania plików w formacie SVG na kod w JavaFX Scripcie – przejrzyjcie sobie wspomniane dema). Działa bardzo sprawnie (choć nie wiem, czy korzysta z renderowania sprzętowego) i wygląda wręcz świetnie – możliwość stworzenia programu z warstwą prezentacji napisaną w Javie FX z podpiętą pod nią logiką biznesową napisaną w Javie powoduje u mnie przyjemny dreszczyk podniecenia ;)

Ja osobiście nie mogę sie doczekać, aż będzie w ogólnym użyciu, bo pisanie w tym to prawdziwa przyjemność. Takiej frajdy nie miałem już dawno.

03 maja 2008

Wieści ze świata filmu – maj 2008

Na podstawie majowego numeru FILMu, a dokładnie – jego pierwszych kilku stron. Poczytam dalej, to pewnie i dopiszę więcej.

Ridley Scott ("Gladiator", "Thelma i Louise", "American Gangster", "Legenda", "Obcy", "Blade Runner" – naprawdę muszę tłumaczyć, czemu to najzajebistszy reżyser świata?) w następnym swoim filmie opowie nam historię Robin Hooda. Główną rolę ma zagrać Russel Crowe. Będzie to ich bodaj czwarty wspólny projekt.

***

"Valkyrie", nowy film z Tomem Cruisem, przedstawiający kulisy nieudanego zamachu na Hitlera, boleśnie się opóźnia (premiera miała być w maju, potem w październiku, na razie będzie w lutym 2009, a może jeszcze później), co nie wróży dobrze filmom (zwykle oznacza to, że zebrał kiepskie oceny na pokazach próbnych i będzie przemontowywany albo wręcz będą dokręcane sceny).

***

Kręcą znowu "Wichrowe Wzgórza", po raz siedemnasty (i nie jest to taki figer of spicz – naprawdę będzie to około siedemnasta ekranizacja). Rolę Cathy ma zagrać Natalie Portman. Poprzednio grała ją Juliette Binoche, a Heathcliffa zagrał Ralph Fiennes, najfajniejszy aktor świata.

***

Drugi najfajniejszy aktor świata, Edward Norton ("Fight Club", "American History X") w tym miesiącu pojawi się w filmie "Incredible Hulk", o czym zapomniałem wspomnieć wczoraj, przy okazji pisania o filmach komiksowych – widziałem trailer i dochodzę do wniosku, że Hulk to taki Hamlet świata amerykańskich opowieści obrazkowych, bo grają go zawsze świetni aktorzy (w ekranizacji Anga Lee z 2003 roku był nim Eric Bana), którzy chyba chcą tchnąć w zielonego potwora nieco człowieczeństwa. Szkoda tylko, że niezły trailer zakończył się zapowiedzią walki potworków, podobnej do opisywanej wczoraj walki egzoszkieletów, która jednak będzie dłuższa i, obawiam się, nudniejsza. Pamiętacie walkę Neo z Agentem Smithem w ostatnim Matriksie? Przecież tego nie szło wytrzymać, a jednak były to postacie (przynajmniej z wyglądu) ludzkie...

***

Innego potworka, prezydenta George'a W. Busha, Jr. w filmie skandalisty Olivera Stone'a zagrać ma Josh Brolin (ostatnio znany z "To nie jest kraj dla starych ludzi" braci Coen). Stone, który ostatnio trochę zatracił swój pazur ("WTC", "Aleksander"), może wróci do formy.

***

Pod adresem www.polskaszkolafilmowa.pl uruchomiono serwis, w którym dostępne są najbardziej klasyczne polskie dzieła filmowe. W tej chwili jest ich pięć (w tym "Kanał", "Popiół i diament" czy "Ostatni dzień lata" Konwickiego), a ma być ich w sumie 20 (m.in. "Pętla" Hasa czy genialna "Eroica" Munka), a potem może jeszcze więcej. Filmy można pobrać za cenę od 3 do 6 zł i obejrzeć w ciągu 72h (potem będzie trzeba znów zapłacić) – coś jak internetowa wypożyczalnia. Jak jestem wrogiem całego DRMu (w znaczeniu "nikt nie będzie mi mówił, czego, kiedy i na czym mogę lub nie mogę słuchać lub oglądać"), tak ta inicjatywa podoba mi się niezmierne, bo daje wszystkim chętnym bardzo wygodny dostęp do prawdziwych perełek za naprawdę rozsądną cenę (porównywalną przecież z normalnymi wypożyczalniami VHS czy DVD).

***

Zacząłem od najzajebistszego reżysera świata, na koniec zostawiłem sobie najgorszego, a chcę podkreślić tą informację, bo to ważne jest bardzo – Uwe Boll, pożal-się-Boże-twórca ekranizacji gier komputerowych jak "Far Cry", "Bloodrayne" i "Alone in the Dark" (tej profanacji gościowi nie wybaczę), obiecał, że przestanie kręcić filmy, jeśli poprosi go o to milion osób. W Internecie jest więc petycja – pod adresem http://www.petitiononline.com/RRH53888/petition.html, aktualnie widnieje pod nią 232496 podpisów. Proszę, podpiszcie i wy, to bardzo ważne, tu chodzi o życie i zdrowie psychiczne milionów widzów i fanów gier komputerowych, które ten podły, przekonany o swoim geniuszu człowiek tak niemiłosiernie katuje, wypacza i molestuje, zaspokajając swoje niezdrowe żądze i wyobrażenia o swojej wartości i swoich umiejętnościach, gdy próbuje przenieść je na srebrny ekran.

Proszę, zróbcie to dla przyszłości kinematografii, żeby nie umarło marzenie o Dobrej Ekranizacji Gry Komputerowej!

02 maja 2008

„Iron Man” i kino komiksowe

Wróciłem właśnie z kina z filmu "Iron Man" z Robertem Downeyem, Jr. w roli tytułowej oraz Gwyneth Partlow (tak dawno jej nie widziałem, że przez cały film zachodziłem w głowę, kto to jest – niby podobna do Kirsten Dunst, ale jednak jakby ładniejsza) i Jeffem Bridgesem (tego z kolei podejrzewałem, że jest Williamem Hurtem – co się ze mną dzieje? ;) Wyszedłem z filmu zadowolony – nie oszukujmy się, że jest to głębokie arcydzieło, ale w swoim gatunku filmów komiksowych, prezentuje się bardzo dobrze. Ale co to właściwie znaczy "film komiksowy"?

Jako fan i domorosły znawca zagadnień popkultury poświęciłem temu zagadnieniu trochę czasu, badań i rozmyślań, i doszedłem do wniosku, że określenie to nie jest wcale takie jednoznaczne. Taki np. William Goldman, którego bardzo cenię (o czym już pisałem) określa mianem "filmów komiksowych" dzieła, w których uwaga skierowana jest i skupiona wokół nieskrępowanej akcji i przygody (niestety, nie zacytuję jego definicji dokładnie, bo nie posiadam książki "Przygody scenarzysty" na własność, ale stamtąd właśnie ja zaczerpnąłem). Wymienia wśród przykładów takie klasyki jak "Gunga Din" albo "Karmazynowy pirat" oraz nowsze filmy – "Gwiezdne Wojny", "Indianę Jonesa" (weźmy poprawkę na to, że książka ta została wydana w 1983 roku), ale także np. "Blade Runnera", co nieco podważa całą definicję (inna sprawa, że to było świeżo po premierze, a ten film nie od razu został odpowiednio odebrany).

Ja, po rozważeniu i obejrzeniu tematu z wielu stron, doszedłem do wniosku, że słowo "komiksowy" w odniesieniu do filmu może oznaczać trzy różne rzeczy:

  • Najprostsze do zrozumienia są filmy komiksowe ze względu na pochodzenie (nazwijmy je O-komiksowe, od "origin"), czyli filmowe adaptacje komiksów. Właściwie nie powinienem tutaj ograniczać, że mają to być komiksy amerykańskie, czy nawet – jeszcze bardziej zawężać, i stwierdzać, że tylko amerykańskie o superbohaterach. Od tego jest następna kategoria. Filmy O-komiksowe to po prostu adaptacje powieści obrazkowych – przykładami mogą być np. "Historia przemocy" czy "Droga do Zatracenia", albo – spoza amerykańskiego podwórka – filmy Enki Bilala ("Immortal", "Tykho Moon") albo duży odsetek japońskich anime, powstałych na bazie mang (choć tutaj obraz może zaburzać fakt, że to jest animacja, nie filmy aktorskie).
  • Drugą kategorią, zapowiedzianą powyżej, są filmy komiksowe ze względu na tematykę (T-komiksowych), czyli właśnie filmy o superbohaterach na modłę (ale nie tylko) tych amerykańskich – Superman, Spider-man, Batman, Kapitan Ameryka, Iron Man, X-Men.... wyliczać tu można w nieskończoność. Ale zauważyć trzeba, że tu chodzi tylko o tematykę, czyli opowiadać mają one o superbohaterach, natomiast niekoniecznie muszą powstać na bazie komiksu czy konkretnych bohaterów – dobrymi przykładami są np. "Iniemamocni" czy "Niezniszczalny" Shyamalana. Ten ostatni film jest szczególnie ciekawym przypadkiem filmu, który należy tylko do tej kategorii, nie należąc ani do poprzedniej, ani do następnej...
  • ...którą jest kategoria filmów komiksowych ze względu na konwencję (C-komiksowych), albo, jak kto woli, poetykę. Tej definicji jest najbliżej do definicji Goldmana – chodzi tutaj o filmy, postawione na akcję, i to akcję dość specyficzną, co najmniej trochę odrealnioną, oderwaną od rzeczywistości. Nie chodzi tutaj nawet o istnienie supermocy czy niesamowitych wynalazków, co o pewną dowolność w interpretacji rzeczywistości. Tylko, że ja osobiście bym definicję Goldmana nieco zawężył i nie zaliczał do tej kategorii wszystkich filmów przygodowych jak leci – np. nie pasuje mi tutaj ani Indiana Jones, ani "Gwiezdne Wojny", ani "Powrót do przyszłości" (innymi słowy – nie stawiam znaku równości pomiędzy filmem komiksowym a Kinem Nowej Przygody). Dla mnie filmy C-komiksowe to filmy, które nie są ekranizacją komiksu, ale spokojnie mogłyby być (np. "Van Helsing" czy "Sky Captain and the World of Tomorrow"), bo posiadają pewną dozę odrealnienia, na którą nie pozwalają sobie nawet beztroskie filmy przygodowe (czyt. bywają głupie takie, że Jezus).

Mało który film należy tylko do jednej z powyższych kategorii – wspomniane powyżej tytuły ("Historia przemocy", "Niezniszczalny", "Van Helsing") są takimi właśnie wyjątkami. "Iniemamocni" przedstawiają szerszą grupę filmów, które łączą dwie z trzech podanych kategorii (w tym wypadku są komiksowe pod względem tematyki i konwencji); niektórzy twórcy ekranizacji komiksów o superbohaterach starają się także wykluczyć ze swoich dzieł ostatnią kategorię i zrobić dzieło mniej rozbuchane, a bardziej ludzkie, co wychodzi im ze skutkiem mniejszym ("Hulk" Anga Lee) czy większym ("Batman – Początek" Christophera Nolana). Filmy, które należą do wszystkich trzech kategorii – przykłady są zbyt liczne, by je wymieniać – to są właśnie te najczystsze filmy komiksowe, i to właśnie do tej kategorii zalicza się dzisiejszy "Iron Man".

W tej kategorii jest on naprawdę bardzo fajny – mamy Tony'ego Starka (Robert Downey, Jr.), prawdziwą gwiazdę wśród producentów broni, który zostaje schwytany przez afgańskich terrorystów, którzy karzą mu zbudować dla siebie superbroń. On, zamiast budować im rakiety, buduje sobie stalowy kostium z mnóstwem broni oraz rakietą, która pozwala mu zwiać z ich obozu. Będąc w ich niewoli, pod wpływem współwięźnia i pomocnika przeżywa przemianę (wiarygodną) i po powrocie do cywilizacji postanawia rzucić w diabły produkcję broni, i całą energię poświęca stworzeniu takiego samego kostiumu, tylko już pełnego technicznych bajerów. I bardzo dobrze, bo okaże się, że jego współpracownik (który stał tak naprawdę za jego porwaniem) zdobędzie plany i na ich podstawie zbuduje sobie też taki egzoszkielet i postanowi się zabawić kosztem niewinnych cywilów.

Film jest idealnie wyważony pomiędzy akcją, humorem i powagą, dotyka paru poważnych tematów, ale nie wpada w obrzydliwy patos, którym rzyga każdy, kto widział dowolnego "Spider-mana". Fantastycznie poprowadzony jest wątek chemii pomiędzy Downeyem a jego asystentką Gwyneth Partlow, bardzo fajną postacią jest też jego kumpel z armii (Terrence Howard) i pewien śmieszny agent organizacji o przydługiej nazwie "Strategic Homeland Intervention, Engagement and Logistics Division" (dopiero na końcu skracają ją do SHIELD; nie czytałem nigdy komiksów o Iron Manie, ale spodziewam się, że jako że Stark zaczął z nimi współprace na końcu filmu, to pewnie doczekamy się kontynuacji). Najsłabszą sceną filmu jest ta, na którą – tak myślę, ale jako, że nie jestem fanem ani żadnego nie znam, to nie wiem – czekali pewnie wszyscy miłośnicy Iron Mana, czyli scena pojedynku egzoszkieletów. Niestety, walka dwóch maszyn (czy też zakutych w maszyny ludzi, to naprawdę bez znaczenia), która polega na rzucaniu sobą nawzajem w ściany budynków, albo rzucaniu w siebie samochodami, czy wreszcie ostrzeliwanie się z różnych wypasionych broni, za bardzo pachnie mi "Transformersami" (zwłaszcza dokładając do tego te tubalne, metaliczne głosy, jakimi panowie do siebie przemawiają z wnętrz kombinezonów). Na szczęście scena jest dostatecznie krótka, a Dobry załatwia Złego nie brutalną siłą, a Sprytem i Sposobem.

Downey, jako wielki fan Iron Mana zapowiedział, że jak będzie trzeba, zagra nawet w 15 częściach historii o egzoszkielecie. Może 15 to nieco za dużo, ale ja nie mam nic przeciwko jeszcze kilku. Naprawdę jest to kawałek akcji na niezłym poziomie i nie żałuję, że obejrzałem to na dużym ekranie, co polecam też wszystkim, którzy lubią kino komiksowe ze wszystkimi tego aspektami.

O wyższości wtyczek nad kombajnami

W odpowiedzi dla Leszcza i Xavexa - tyle tych notek naprodukowaliście, że odpowiadanie w komentarzach nie ma sensu, muszę to wszystko zebrać ;)

Ja też kiedyś nie lubiłem Eclipse'a, z dokładnie tej samej przyczyny, z której trzymałem się na dystans of Firefoksa i bałem się Linuksa - z wygody, o której wspominasz w sąsiedniej notce. Po prostu wolałem programy-kombajny, które sie raz zainstaluje i mają w sobie wszystko: NetBeans do Javy, Opera do internetu oraz Windows jako system operacyjny.

Teraz jednak powoli przekonuję się do aplikacji opartych na wtyczkach. Tak samo, jak Ty, Leszczu , przekonałeś sie do C# "bo tak się w życiu ułożyło", tak ja z podobnych przyczyn się przekonywałem do wspomnianych narzędzi: z prawdziwym bólem serca przerzuciłem się z Opery na Firefoksa, gdy okazało się, że aplikacje Google'a, z których korzystam coraz szerzej, z Operą za nic nie chcą współpracować. Ale gdy to zrobiłem, natychmiast poszukałem całej masy wtyczek, które nadają Firefoksowi funkcjonalność, za jaką pokochałem Operę:

  • All-In-One-Sidebar – operowy pasek z lewej strony, zawierający wszystko, co istotne (skróty, historię, pobierane pliki, wtyczki...) na wyciągnięcie jednego kliknięcia;
  • All-In-One-Gestures – z gestów myszy zacząłem tak naprawdę korzystać po przeczuceniu się na firefoksa;
  • Download Statusbar – świetny manager pobierań, zamiast tego pieprzonego firefoksowego okienka;

oraz wiele innych, które od tego czasu odkryłem, a których nie ma nawet w samej Operze, a ja nie wyobrażam sobie teraz bez nich życia:

  • Delicious Bookmarks – najważniejszy ze wszystkich dodatek, niezbędne narzędzie w momencie, gdy posiadam dwa komputery po dwa systemy na każdym, plus jeden w pracy, a do tego często korzystam z obcych komputerów, np. na zajęciach na studiach. Pozwala ono przechowywać swoje zakładki w jednym miejscu w sieci – na koncie na stronie http://del.icio.us – i mieć do nich dostęp poprzez stronę z każdego miejsca na świecie, a na własnej maszynie ten dostęp jest jeszcze prostszy dzięki tej właśnie wtyczce, połączonej ze wspomnianą All-in-One-Sidebar;
  • Tab Mix Plus – kapitalne narzędzie, rozszerzające funkcjonalność zakładek (np. wyświetlanie ich w wielu rzędach);
  • Web Developer i Firebug - potężne narzędzia developerskie.

Do tego stopnia sie już na ognistego lisa przestawiłem, że zwyczajnie nie potrafię już wrócić pod Operę, choć próbowałem.

Z Eclipse'a zacząłem korzystać, bo z niego korzystamy w pracy, i też pracę z nim zawsze rozpoczynam od pobrania potrzebnych mi wtyczek (Subclipse, Maven Integration) i może nie jest to łatwe, ale za to jakie daje możliwości – sam pisałeś o kapitalnych udogodnieniach developerskich, jakich to środowisko dostarcza. A jeśli chodzi o zasobożerność – czy Vista, przepraszam bardzo, nie jest zasobożerna? Nie jest, pod warunkiem, że się ma tych zasobów w ch*j ;)

Linuksa spróbowałem z przyczyn studyjnych, poza tym powiedziałem sobie, że kiedyś trzeba, ale o tym już pisałem.

A teraz pojawiło się to całe IE7Pro, które w znaczący sposób, jak piszecie, udoskonala działanie przeglądarki Microsoftu, ale tak, jak nie potrafię już wrócić do Opery, tak wątpię, żeby mi się chciało bawić z Explorerem od nowa.