Archive for the 'Mały Recenzent' Category

Czas nie czeka na nikogo

Wiele już widziałem filmów, które traktowały to tym, co by było gdyby moglibyśmy podróżować w czasie. Jako pierwsze z brzegu można wziąć choćby trylogię Powrotu do Przyszłości, Efekt motyla czy też Primer. Japończycy też mają swój wkład w ten gatunek, a nawet całą serię - książka, manga, kilka produkcji telewizyjnych i w końcu film kinowy, niejako kontynuujący historię opowiedzianą w oryginalnej książce. Mowa tu o serii “The Girl Who Leapt Through Time” (時をかける少女, Toki o Kakeru Shōjo).

Makoto Konno jest zwyczajną dziewczyną, jakich wiele. Ma normalną rodzinę, dwóch przyjaciół, z którymi gra w baseball po szkole i tylko czasem bywają takie dni, w które ma strasznego pecha. Podczas jednego z nich odkrywa, że w jakiś sposób jest w stanie cofać się w czasie do wybranego przez siebie momentu i zmieniać bieg wydarzeń, znając ich efekty które nastąpią w przyszłości.

Nagle wszystkie problemy, które ją trapiły, znikają jak za zniknięciem czarodziejskiej różdżki. Słabe oceny na egzaminie? Skok w czasie to załatwi. Problemy z baseballem - błahostka. Kilkanaście godzin spędzonych na ulubionej rozrywce - nie ma problemu. Dopiero po jakimś czasie Makoto orientuje się, że skutki jej skoków przez czas mogą mieć nie tylko dobre strony…

Film, pomimo tematu (w końcu czas nie stoi w miejscu, nie zwalnia ani na moment) jest dość spokojny i stonowany, fabuła płynie swoim rytmem i przyjemnie się go ogląda. Można łatwo zidentyfikować się z postaciami - w końcu któż nie chciałby móc cofnąć się w czasie i naprawić błędy popełnione kiedyś tam… Choć z drugiej strony - jak potoczyłoby się nasze życie, czy bylibyśmy tą samą osobą po wprowadzeniu choć jednej, małej zmiany? Jak to odbiłoby się na naszych najbliższych osobach, przyjaciołach? Kto wie…

Z drugiej strony seans przedstawia ważną lekcję - co chwilę los rozdaje nam karty, mamy szansę je przyjąć lub odrzucić, ale decyzja może być nieodwołalna - lepiej w takich momentach nie działać pochopnie, może kiedy minie trochę czasu, odważnie podjęta decyzja okaże się jednak tą słuszną?

Żeby rozwiać wątpliwości - polecam! :-D

Neo FreeRunner - sprzęt i wydajność

W poprzednim wpisie przedstawiłem Wam projekt OpenMoko oraz oparty na nim telefon - Neo FreeRunner opisując jego wygląd zewnętrzny. Tym razem czas na opis tego, co znajduje się w środku. Ten wpis będzie typowo techniczny i bez obrazków, więc jeśli nie interesują Cię takie sprawy, możesz go pominąć. :-)

Szybki rzut oka na specyfikację: na pokładzie FreeRunnera znajduje się procesor Samsung SC32442B (architektura ARMv4) taktowany zegarem 400 MHz. Do dyspozycji mamy 128 MB pamięci RAM. Karta graficzna to Smedia Glamo 3362, pozwalająca na odtwarzanie MPEG-4 w rozdzielczości 352×288 z prędkością 30 fps, przy 640×480 osiąga 12 fps. Pamięć masową zapewnia 256 MB dysk NAND flash, wbudowany w telefon, oraz możliwość włożenia dysku MicroSD o pojemności jak dotąd do 4 GB (SDHC). Dzwięk wydobywa się z karty dzwiękowej Wolfson Microelectronics WM8753. Z ciekawszych urządzeń - w telefon wbudowane są dwa akceleromety, w dolnej oraz górnej części obudowy, pozwalające na orientację w przestrzeni; mamy też wbudowany odbiornik AGPS. Na liście życzeń projektu OpenMoko pojawił się pomysł wstawienia do telefonu magnetometru (inaczej cyfrowego kompasu), co pozwoliłoby na możliwość szybkiego ustalania położenia i kierunku poruszania się, przynajmniej na powierzchni planety Ziemia. ;-)

Ale na razie dość suchych opisów, wszystko i tak jest dostępne na wiki projektu OpenMoko. Pokażę Wam zamiast tego zrzut kilku interesujących komend. Wszystkie informacje zebrałem na dystrybucji Debian GNU/Linux uruchomionej na FreeRunnerze (o czym później). Na początek klasyk, czyli cat /proc/cpuinfo:

Processor	: ARM920T rev 0 (v4l)
BogoMIPS	: 199.47
Features	: swp half thumb
CPU implementer	: 0x41
CPU architecture: 4T
CPU variant	: 0x1
CPU part	: 0x920
CPU revision	: 0
Cache type	: write-back
Cache clean	: cp15 c7 ops
Cache lockdown	: format A
Cache format	: Harvard
I size		: 16384
I assoc		: 64
I line length	: 32
I sets		: 8
D size		: 16384
D assoc		: 64
D line length	: 32
D sets		: 8

Hardware	: GTA02
Revision	: 0360
Serial		: 0000000000000000

Jak widać, opisywany telefon ma po zaokrągleniu ~200 BogoMIPSów. Zgodnie z BogoMIPS Mini-HOWTO daje nam to prędkość na poziomie mniej-więcej Intel Pentium 100. Niestety, rzeczywistość nie jest aż tak różowa - w FreeRunnerze zastosowano procesor o architekturze ARM, poza tym brak mu FPU, co bardzo zmienia szybkość obliczeń w różnych sytuacjach.

Jedną z ciekawszych sytuacji tego typu jest czas szukania wszystkich liczb pierwszych przez które dzieli się dana liczba. Szukając informacji o FreeRunnerze w sieci trafiłem na łatwy do przeprowadzenia test wykorzystujący do tego celu komendę factor, obecną chyba w każdej implementacji Linuksa. FreeRunner w takim teście wypada dosyć blado:

freerunner:~# time factor $[65863223*65863159]
4337959928701457: 65863159 65863223

real	0m24.997s
user	0m24.965s
sys	0m0.015s

Brak FPU niestety daje się we znaki - FreeRunner nie przyda się tam, gdzie trzeba przeprowadzić dużo operacji na liczbach zmiennoprzecinkowych, jak łamanie szyfrów lub dużo grafiki 3D - chociaż, gdyby wykorzystać jakoś GPU karty graficznej… Cóż, zobaczymy w przyszłości, kiedy uda się uzyskać do niego pełen dostęp.

Czas na kolejną komendę, lshw, służącą do skanowania komputera i wyciągania informacji o jego poszczególnych składnikach (nadal na Debianie):

freerunner
    description: Computer
    width: 32 bits
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 123MiB
     *-cpu
          physical id: 1
          bus info: cpu@0
  *-network:0
       description: Ethernet interface
       physical id: 1
       logical name: usb0
       serial: xx:xx:xx:xx:xx:xx
       capabilities: ethernet physical
       configuration: broadcast=yes driver=ether driverversion=May Day 2005 firmware=s3c2410_udc ip=192.168.0.202 link=yes multicast=yes
  *-network:1 DISABLED
       description: Wireless interface
       physical id: 2
       logical name: eth0
       serial: xx:xx:xx:xx:xx:xx
       capabilities: ethernet physical wireless
       configuration: broadcast=yes multicast=yes wireless=AR6000 802.11g

Daje to trochę informacji, ale coś jakby mało… Przynajmniej u mnie na laptopie jest tego dużo więcej. No to spróbujmy czegoś innego - hwinfo. Tym razem wyjście ma wielkość ~55 KB, dlatego nie wkleję go tu całego, tylko wystawię do ściągnięcia - zainteresowani znajdą tam całą informację o sprzęcie.

No to jedziemy dalej - postanowiłem sprawdzić jak system obciąża pamięć operacyjną i ile zostaje dla użytkownika. Na początek zedrzemy (prawie) wszystkie szaty i zobaczymy, ile minimalnie może zająć Linux. Poniżej wynik zatrzymania prawie wszystkich usług pod Debianem - drzewo prcesów uzyskane przy pomocy pstree:

init-+-dropbear---dropbear---bash---pstree
     `-getty

dropbear to mały i lekki serwer/klient SSH2. Bez niego musiałbym zdać się na uruchomienie skryptu samodzielnie przez system - a na razie nie wiem jak to zrobić na czystym FreeRunnerze z wyłączonym atd oraz cron. :-) Więc zostawiłem go w pamięci, dzięki czemu mogę używać telefon przez SSH i połączenie sieciowe po USB. Oto, jak w takiej sytuacji wygląda wyjście komendy free:

             total       used       free     shared    buffers     cached
Mem:        126204      66060      60144          0       2308      55884
-/+ buffers/cache:       7868     118336
Swap:            0          0          0

7 MB zajętej pamięci, w tym około 5 MB przez same wątki jądra. Ale nie ma się z czego cieszyć - w takim stanie telefon jest nieużywalny: nie działa ekran dotykowy (jesteśmy w konsoli tekstowej), nigdzie nie zadzwonimy a potencjalni rozmówcy usłyszą tylko informację o niedostępności telefonu (demony obsługi sieci GSM są wyłączone). A więc czy właśnie zamieniłem swój telefon w “cegłę”? Wcale nie - nadal mogę połączyć się przez SSH i uruchomić usługi ponownie. Jednak w ramach testu wykonam reboot i zobaczę, ile zajmuje Debian gotów do pracy.

Po uruchomieniu Debiana z uruchomionym frameworkiem FSO zajętość pamięci nie wygląda już tak pięknie. Na początek wyjście pstree:

init-+-apmd
     |-dbus-daemon
     |-dropbear---dropbear---bash---pstree
     |-frameworkd
     |-fso-gpsd
     |-getty
     |-gsm0710muxd
     |-hcid
     |-udevd
     `-xinit-+-Xorg
             `-matchbox-window-+-matchbox-keyboa
                               |-ssh-agent
                               `-zhone

Mamy Xy, mamy dzwięk, mamy sterowanie zasilaniem (jak na razie częściowe), można dzwonić i odbierać rozmowy, a nawet śledzić swoją pozycję przy pomocy GPS, słowem - telefon w pełnej krasie. A to wyjście komendy free:

             total       used       free     shared    buffers     cached
Mem:        126204      91052      35152          0       1992      48968
-/+ buffers/cache:      40092      86112
Swap:            0          0          0

40 MB przeznaczone na podstawowe usługi telefonu, to chyba całkiem niezły wynik, zwłaszcza że aż dwa razy tyle (86 MB) przeznaczone jest dla kolejnych aplikacji. Oczywiście trzeba wziąć pod uwagę bufory dyskowe - ale Linux potrafi zarządzać nimi dynamicznie, więc można wziąć dość duży margines na swoje własne programy, powiedzmy… 70 MB. W podlinkowanym pliku przedstawiam wynik ps aux, dla zainteresowanych zajętością pamięci przez poszczególne procesy.

Dla porównania pokażę jeszcze zajętość pamięci z najstarszej dystrybucji którą mam zainstalowaną, czyli Om 2007.2. Na początek, zwyczajowo, pstree:

-sh: pstree: not found

Nie ma. :-) w tej dystrybucji (i innych korzystających z systemu pakietów opkg nie ma dość dużo narzędzi - albo nie zostały spakowane, albo nie mam odpowiednich repozytoriów… Posłużę się zatem ps auxwf i małą obróbką w vim:

init [5]
udevd –daemon
/sbin/portmap
/usr/sbin/dropbear
 \_ -sh
     \_ ps auxwf
     \_ vim -
/usr/sbin/apmd
/usr/bin/dbus-daemon –system
/usr/sbin/hald
 \_ hald-runner
     \_ hald-addon-keyboard: listening on /dev/input/event0 [4]
/sbin/syslogd
/sbin/klogd
avahi-daemon
/sbin/hcid
/usr/sbin/gsmd
 /usr/bin/pulseaudio
xinit /etc/X11/Xsession
 \_ /usr/bin/Xglamo
 \_ /bin/sh /etc/X11/Xsession
     \_ run-parts /etc/X11/Xsession.d
         \_ neod
             \_ openmoko-today
             \_ phone-kit
             \_ matchbox-window-manager
             \_ matchbox-panel-2
/sbin/getty 115200 ttySAC2
/sbin/getty 38400 tty1
/usr/bin/dbus-daemon
/usr/libexec/gconfd-2
/usr/bin/settings-daemon
matchbox-keyboard -d
/usr/libexec/e-calendar-factory
/usr/libexec/e-addressbook-factory
/usr/libexec/notification-daemon

Jest tutaj trochę więcej procesów, poza tym Om 2007.2 jest oparte na GTK2 i jest wyraźnie wolniejsze w obsłudze od nowszych dystrybucji na tą platformę. A jak wygląda zajętość pamięci? Oto wyjście free:

             total       used       free     shared    buffers     cached
Mem:        126292      94120      32172          0        400      57868
-/+ buffers/cache:      35852      90440
Swap:            0          0          0

5 MB mniej niż Debian z FSO (trochę gorszy wynik, jeśli liczyć większy cache dysku) - starsza wersja oprogramowania zajmuje mniejszą ilość pamięci, ale w zamian za to ma gorszy czas reakcji na działania użytkownika (oczywiście GTK2 także robi swoje). Moim zdaniem szybsza reakcja aplikacji w zamian za większe użycie pamięci jest tego warta. Dla zainteresowanych, do podejrzenia wynik ps aux z zajętością pamięci poszczególnych procesów.

Jaki polski test odbyłby się bez słynnej fujarki? :-) Kod, który wykorzystałem pochodzi z prawdopodobnie pierwotnej wersji skryptu:

#!/bin/sh
export LC_ALL=C
echo `uptime|grep days|sed 's/.*up \([0-9]*\) day.*/\1\/10+/’; cat /proc/cpuinfo|grep MHz|awk ‘{print $4″/30 +”;}’; \
free|grep ‘^Mem’ |awk ‘{print $3″/1024/3+”}’; df -P -k -x nfs | grep -v 1k | awk ‘{if ($1 ~ “/dev/(scsi|sd)”){ s+= $2} s+= $2;} \
END {print s/1024/50″/15+70″;}’`|bc|sed ’s/\(.$\)/.\1cm/’

Jako że telefon jest dosyć często wyłączany i ma niski uptime, długość “fujarki” szybko rośnie - zwykle zaraz po starcie mam ok. 10,2 cm przy dysku Flash 2 GB.

To na razie tyle zabawy z FreeRunnerem, robi się już późno. W następnym odcinku opowiem Wam o oprogramowaniu dostępnym na ten telefon, różnych jego dystrybucjach i o społeczności.

Neo FreeRunner - pierwsze wrażenia

Część z Was już pewnie wie, dla reszty będzie to nowina - kilka dni temu dotarł w moje ręce zamówiony telefon FIC Neo FreeRunner. Właśnie wracam pociągiem z urlopu i mam trochę czasu, więc nadszedł czas na recenzję.

OpenMoko

Dla niezaznajomionych z tematem krótkie wprowadzenie. Projekt OpenMoko postawił sobie za cel utworzenie w pełni wolnego i opartego na zasadach Open Source telefonu komórkowego. Nie chodzi tu tylko o system operacyjny, w tym przypadku Linux, ale również platformę sprzętową, schematy urządzeń i wszystko, co jest potrzebne do jego produkcji. Oznacza to, że jeśli tylko posiadasz odpowiednie zasoby oraz fachowców, możesz sam taki telefon wyprodukować, dowolnie go zmieniając.

W tej chwili głównym sponsorem projektu OpenMoko oraz producentem opartych na nim telefonów jest tajwańska firma FIC. Pierwszym modelem telefonu był GTA01, znany też jako Neo1973, nazwany tak od roku w którym wykonane zostało pierwsze połączenie przy pomocy telefonu komórkowego. Był on przeznaczony dla wąskiej grupy deweloperów i nie miał kilku elementów, m. in. akcelerometrów. Na jego podstawie powstała druga wersja telefonu, GTA02, zwana także Neo FreeRunner, która jest przeznaczona dla szerszego grona odbiorców - programstów i zaawansowanych uźytkowników.

FrreeRunnera zamówiłem w drugiej kmulacji prowadzonej w serwisie Kumulator.pl, dostawcą po długiej debacie została firma MobileSolutions z Warszawy, która wzorowo wywiązała się ze zlecenia, polecam. w pudełku z telefonem dołączony był oczywiście kabel USB, zasilacz z trzema rodzajami końcówek - również na USB, pokrowiec, zestaw słuchawkowy, bateria, karta MicroSD 512 MB wraz z przejściówką SD oraz stylus.

FreeRunner z dodatkami

Telefon jest trochę większy i cięższy od mojej Nokii E51. Obudowa jest wykonana z ogumowanego plastiku i dobrze leży w dłoni. Czytałem kilka opinii o brzydocie FreeRunnera, lecz nie zgadzam się - jest on po prostu trochę inny niż reszta. Poza tym projekt obudowy nie powstał dla OpenMoko - swego czasu FIC miała zaprojektować urządzenie dla jednego z producentów telefonów opartych na Windows Mobile. Po pewnym czasie, podobno z powodów finansowych kontrahent wycofał zamówienie a FIC został z gotowym projektem obudowy i formami do jej tworzenia. Ponieważ stworzenie takich form kosztuje dość duże pieniądze, postanowiono wykorzystać je w projekcie OpenMoko - oczywiście wnętrzności zostały zaprojektowane od zera.

Nokia E51 i FreeRunner

Telefon jest przeznaczony do masowej produkcji (nie chodzi mi tu o masowego odbiorcę, lecz o dużo większą ilość sztuk w porównaniu z poprzednim modelem) i posiada dużo wbudowanych urządzeń - są tu dwa akcelerometry, układ Bluetooth, karta sieciowa WiFi oraz GSM (GPRS, brak EDGE lub 3G), port USB 1.1 z możliwością obsługi trybu hosta, wejście do zestawu słuchawkowego 2,5 mm oraz gniazdo do podłączenia zewnętrznej anteny GPS (FreeRunner posiada wbudowany moduł AGPS). W dolnej części obudowy znajdują się dwie kratki głośników, niestety tylko lewa kryje działający głośnik (poprzedni model miał dwa). Na obudowie znajdują się również podświetlane przyciski Power (prawy-dolny bok obudowy) oraz AUX (lewy-górny róg). Wewnątrz znajduje się komora baterii, łącze karty SIM oraz MicroSD. Brakuje trochę schowka na mały stylus (np. taki jak w Palmach) - wewnątrz obudowy jest na niego dość miejsca i są już osoby, które chcą robić mody obudów FR tworzące takie schowki.

Lewy bok
Prawy bok

Przyciski mają wyczuwalny skok i przyjemnie się je używa w lewej ręce (Power pod małym palcem, AUX pod kciukiem). Niestety jestem leworęczny i żeby skorzystać z Power, najwygodniej mi przełożyć telefon do drugej dłoni, co może trochę przeszkadzać w pracy, w zależności od tego jak często będzie potrzebny.

Zapięcie tylnej klapki

Trochę problemów sprawia mi otwieranie obudowy - jest zamykana na zatrzask i wymaga nieco siły przy otwieraniu, a nie chcę ryzykować złamania plastikowej tylniej klapki. To samo tyczy się dostępu do karty MicroSD - karta SIM jest trzymana przez łatwą do poluzowania metalową klapkę, umieszczona pod nią karta MicroSD wymaga jednak większej precyzji przy otwieraniu i istnieje ryzyko jej wyłamania.

Przedni głośnik

Głośniki, zarówno “uszny”, jak i ten z boku budowy są donośne i mają dobrej jakości dźwięk (jak na komórkę). Nie testowałem jeszcze zestawu słuchawkowego, więc nie chcę się o nim wypowiadać. Mikrofon, umieszczony na dole obudowy na wewnętrznej powierzchni “łuku” jest tak czuły, że powoduje wywoływanie echa podczas rozmowy, co jest w tej chwili jedną z największych bolączek użytkowników; trwają prace nad znalezieniem odpowiednich ustawień miksera dla rozmowy telefonicznej, aby wyeliminować echo zachowując dobrą słyszalność po obydwu stronach połączenia.

Mikrofon

Ekran FreeRunnera o przekątnej 2,8 cala ma rozdzielczość 480×640 pikseli przy 16-bitowej palecie kolorów i jest ekranem dotykowym, bez obsługi multi-touch. Istnieje możliwość programowej regulacji jego jasności. Bardzo dobrze wypada w normalnym świetle dziennym i w pomieszczeniach, niestety w pełnym słońcu ledwo co widać, nawet przy pełnej jasności. Kalibracja powierzchni dotykowej jest znakomita i przy pewnej wprawie można korzystaś przy pomocy stylusa z bardzo małych elementów interfejsu z dużą precyzją. Dołączona folia nie jest zbyt dobrej jakości i szybko się rysuje - już po jednym dniu jej powierzchnia była mocno uszkodzona, będę musiał znaleźć jakiś zamiennik.

Dołączony stylus to właściwie cztery w jednym - stylus wraz z długopisem, wybierane przy pomocy przekręcania główki, oraz mała lampka (biały LED) wraz z wskaźnikiem laserowym umieszczone na drugim końcu, zasilane z małych wymiennych baterii i aktywowane umieszczonymi z boku obudowy przyciskami. Obudowa jest chyba aluminiowa (nie jestem znawcą metali) i jest dosyć ciężka, co przeszkadza w wygodnym użytkowaniu. Sytuacji nie poprawia fakt umieszczenia baterii w “tylniej” części stylusa co sprawia, że środek ciężkości jest przesunięty ku tyłowi i trzymanie go w wygodny do pracy sposób wymaga zwiększonego wysiłku, co potwierdza moja obolała dłoń - będę musiał poszukać zamiennika.

Tylna strona

Bateria o pojemności 1200 mAh jest kompatybilna z podobnym modelem Nokii i posiada licznik Coulomba pozwalający dobrze określać oczekiwany czas pracy, który wynosi około 5 godzin w stanie aktywności. Przy używaniu suspendu telefon powinien wytrzymać ~30 godzin bez ładowania pozostając w stanie uśpienia. Są jeszcze problemy z przywracaniem FreeRunnera do pracy (np. nie ma dźwięku lub GPS nie pracuje poprawnie) ale rozwiązanie ich widać już na horyzoncie. Bateria podczas pracy odrobinkę się nagrzewa, ale nie przeszkadza to w użytkowaniu FreeRunnera.

Wnętrze FreeRunnera z otwartym slotem SIM

W opisywanym modelu system zasilania i ładowania baterii przez USB jest sterowany programowo przez system operacyjny. Z tego powodu w razie całkowitego wyczerpania baterii FreeRunner nie uruchomi się o własnych siłach nawet przy podłączonym zasilaczu (niektórym osobom udawało się dokonać tego o kilkunastu godzinach - bateia z wolna naładowała się na tyle, że można było uruchomić system, który przełączał USB w tryb szybkiego łdowania). Można to obejść wykorzystując zapasową baterię i podmieniając ją na pustą podczas pracy telefonu (przy podłączonym zasilaniu USB), jednak ja wolałbm po prostu dodatkowe gniazdo zasilacza. Pozostaje uważać na poziom naładowania baterii i pamiętać o podłączaniu telefonu w celu podładowania jej przy nadarzającej się okazji.

Skoro jesteśmy przy zasilaczu - jest on podłączany do gniazda USB i ma wbudowaną wtyczkę “amerykańską”, na którą nakłada się dwie wymienne przejściówki, systemu UK oraz europejskiego. Dołączony do zestawu kabel USB ma ~1 metr długości i pozwala na podłączenie do komputera - sam FreeRunner posiada gniazdo MiniUSB które może pracować w trybie hosta, co pozwala na podłączenie do telefonu innych urządzeń, np. klawiatur lub dysków Flash (trzeba tylko w razie potrzeby zorganizować sobie odpowiednią przejściówkę).

Dołączony do zestawu pokrowiec ma logo OpenMoko i idealnie pasuje na telefon - niestety, uniemożliwia to bowiem umieszczenie wraz z telefonem stylusa (może bardzo cienki by się zmieścił), w środku znajduje się nawet specjalne miejsce dla stylusa, ale po włożeniu obydwu naraz i tak mieszają się ze sobą (pokrowiec jest zbyt miękki, gdyby był bardziej sztywny, lepiej by to wypadało). Całość zamykana jest na sznureczek z pętelką i zaczepem, brakuje mi jednak dobrego zapięcia na pasek, dlatego zamierzam poszukać czgoś zastępczego.

Ekran powitalny

Podsumowując - Neo FreeRunner jest wykonany dość starannie, choć przydałoby się dodać to i owo. Jak na drugą wersję telefonu, przeznaczoną raczej dla zainteresowanych jego rozwojem osób jest całkiem nieźle, jednak na rynku masowym taki zestaw nie znalazłby zapewne zbyt wielu nabywców. Ale na to jest jeszcze czas, na razie można skupić się nad rozwojem oprogramowania i eliminowaniem błędów od strony software’owej.

To jest pierwsza część recenzji FreeRunnera, w następnej opiszę to, co znajduje się w środku - procesor, pamięć i resztę peryferiów. Wykonam też kilka testów aby sprawdzić jakie możliwości tkwią w tym telefonie.

Why so serious?

Batman

Zmienił się w porównaniu do poprzedniego filmu. Poprzednim razem krył się w cieniu i działał z ukrycia - teraz wychodzi na światło dzienne, w oślepiającym blasku reflektorów i pokazuje światu swoją prawdziwą twarz. Widzimy go w sytuacjach i miejscach, gdzie Batman z poprzedniej części serii w ogóle by się nie pojawił. Świetna rola Christiana Bale’a, znowu pokazał klasę.

Harvey Dent

Wielka nadzieja Gotham City - człowiek, który jest w stanie przywrócić miastu prawo i porządek i udowadnia to. Jednak przez jedno nieuważne pchnięcie staje się lustrzanym odbiciem samego siebie; od tej chwili rządzi nim i ludzmi wokół niego tylko przypadek.

Joker

Człowiek - chaos. Pojawia się w Gotham City znikąd, nikt nie wie kim jest naprawdę i jakie ma plany. Sam nie robi praktycznie nic, lecz jego obecność potrafi odwrócić bieg wydarzeń o 180 stopni. Jest osią filmu i jego głównym motorem napędowym. Życiowa rola Heatha Ledgera, powinien dostać za nią Oscara. Kradnie Bale’owi cały film dosłownie sprzed nosa i warto iść na seans do kina choćby z jego powodu.

“The Dark Knight” - film roku 2008.