Zasubskrybuj RSS

gvindroid

Listopad 1st, 2010 | 3 Komentarze/y | Kategoria: Uncategorized

Stało się, zaopatrzyłem się w słuchawkę wyposażoną w androida. LG GT540, Android 1.6. Wiocha, nie?

Ze smartfonami mam do czynienia od późnego triasu. Jeszcze za czasów symbiana i uiq żywo interesowałem się tym tematem, byłem posiadaczem motoroli Accompli, ćwierćkilowej motoroli a925, bawiłem się miliardami systemów, od palma, przez symbiany, na windows ce, pocket pc, mobile kończąc.

Pierwsze informacje o systemie projektowanym przez Gógle przyjąłem ciepło. Ufam góglom. Mają mój numer telefonu, trzymają moje kontakty, mam u nich maila i parę innych rzeczy. Na dobrą sprawę w sieci nie robię nic, czego miałbym się wstydzić, więc nawet jeśli jest jakiś nerd, który bacznie przegląda mój ruch w sieci, niech się dobrze bawi. Mi to nie przeszkadza.

Aktywnie korzystam z Google Calendar. Uwielbiam tę aplikację. Mając smartfon z Win Mobile na pokładzie, w pocie czoła skonfigurowałem synchronizację z Google Calendar. Dobre wykorzystanie PDA wpłynęło fantastycznie na moją organizację czasu i stałem się lepszym człowiekiem. A przynajmniej przestałem zapominać o wielu rzeczach. Chyba na jedno wychodzi.

Android, android, czyli co? Czyli Linux, moi drodzy. A linuksiarz jestem, tym bardziej więc się cieszyłem, że oto będzie fajne zapingwiniarzone urządzenie mobilne.

I patrzyłem, obserwowałem, interesowałem się. Parę wpisów na blogasku Więcka poświęconych Androidowi jeszcze bardziej zaciekawiało. A to informacje o Layar, a to słówko o Google Goggles (serio, nie chce mi się linkować każdej aplikacji), generalnie – co umie Android ponad standard.

Rozmawiałem też z paroma posiadaczami smartfonów z Androidem. Wszyscy niezwykle entuzjastyczni, zadowoleni, na każde pytanie odpowiadają tak, że aż się pragnie wydobyć grosza na telefon z Andkiem (np. zachwalanie HTC Hero poprzez „bateria trzyma w nim minimum tydzień” – aha, chyba w airplane mode). Potem pojawił się Android 2.2 Froyo. Taaak, od razu Froyo się pojawił, taaak. Drogi Czytelniku, przecież nie masz czasu i ochoty czytać moich pomyślunków o każdej wersji Androida, right?

Pojawił się Froyo i pojawiły się problemy. Wszyscy chcieli nowego Androida, ale nie wszyscy mogli. Ale przecież 2.2 brzmi dużo lepiej niż 2.1, prawda? Rozmawiałem z paroma osobami, zadałem proste pytanie: na cholerę ci 2.2? Czym to się różni? Większość odpowiedziała, że nowsze znaczy lepsze, jedna osoba powiedziała, że 2.2 ma lepszego flasha (nie potrafiła uzasadnić, na cholerę jej to).  Krótko mówiąc, 80% userów Andka nie odróżni Froyo od Eclaira, (a pewnie i od 1.6, nie wiem jak mu tam) choćby ich w rzyć kopnął. Fanboje od siedmiu boleści na poziomie iFanatyków. Trochę żenujące, ale cóż – Android jest gadżetem. Gadżety to rzeczy, które mamy, a które nie są nam niezbędne do życia.

No i mam mojego GT540 z Androidem 1.6. I, szczerze mówiąc, nie czuję parcia na to, żeby aktualizować go do 2.1 czy do czegokolwiek innego. Mam parę fajnych aplikacji (a nie miliony, z których i tak nie skorzystam), kartę pamięci na zdjęcia i inne odchody, dużo pożytecznego hardware (jak to w smartfonach) i potężne usability. Smartfon to przedmiot, który ma mi ułatwić nie tylko komunikację, ale także zwiększyć komfort życia poprzez znalezienie mi najbliższego bankomatu i przypomnienie, kiedy wyjąć kota z mikrofali. Oczywiście, Windows Mobile też umie. I parę innych systemów też. Ale mój LG kosztował mnie niecałe 450 zł. A Twój ajfon trzy gie es?

Tagi: ,

Nie klikaj!

Sierpień 20th, 2010 | Komentarze są wyłączone | Kategoria: Uncategorized

Ikona programu pocztowego błyska rysunkiem koperty. Otrzymujesz wiadomość od swojego kuzyna, w której zawarty jest link do portalu wraz z krótkim tekstem, zachęcającym do wejścia. Nie masz chwilowo nic do roboty, więc z nudów klikniesz w odnośnik.

Uruchamia się kolorowa strona internetowa z interesującym artykułem, filmami, zdjęciami, tapetami… setką rzeczy, w poszukiwaniu których czasem przeczesujesz Internet. Strona wygląda jak portal, jakich już wiele. Jeden z tytułów przykuwa Twoją uwagę, klikasz w jego tytuł. Po krótkim wstępie widzisz komunikat zarejestruj się, aby zobaczyć całość. Podobnie jest z filmami i zdjęciami.

Rejestracja zajmuje chwilę. Wybór nazwy użytkownika, hasło, e-mail, kod z obrazka i już możemy rozkoszować się informacjami z nowo poznanego portalu. Nie, jednak nie… jeszcze trzeba kliknąć w link, przysłany z portalu na maila i już wszystko pięknie działa, już można oglądać tapety ze zdjęciami pięknych kobiet i filmiki z uroczymi, nieporadnymi kociętami.

Gdy rejestracja została zakończona, po stronie serwisu uruchomił się ukryty program, specjalnie przygotowany przez twórcę. Kto jest twórcą? Nie powiesz mi chyba, że szukałeś w portalu informacji o nim?

Program bierze Twój adres e-mail oraz hasło, jakim chcesz się logować do serwisu. Specjalnie portal nie wymagał na Tobie skomplikowanego hasła, więc wybrałeś takie, które stosujesz w innych miejscach, prawda? Jeżeli podane hasło pasuje do Twojego maila, zostajesz oznaczony jako łatwy cel, a Twoje dane trafiają do drugiego programu.

Drugi program loguje się na Twoje konto pocztowe i pobiera wszystkie wiadomości. Szuka, czy jesteś zarejestrowany na popularnych serwisach. Przecież do naszej-klasy czy do Facebooka możesz się zalogować na podstawie podania adresu e-mail i hasła. A hasło wszędzie masz to samo? Nie, przecież te serwisy często wymagają bardziej skomplikowanego hasła, na przykład z przynajmniej jedną cyfrą. Ale spokojnie, program sprawdzi, czy może się zalogować na Twojego facebooka przy użyciu różnych kombinacji, na przykład z doczepioną cyfrą 1, lub z przypadkowymi dwiema cyframi. Program ma czas, żeby sprawdzić te kombinacje, nie spieszy mu się.

Treść Twoich maili trafia do trzeciego programu. Ten z kolei ma za zadanie ustalić jak najwięcej Twoich danych – adres, telefon, Skype, GG, numer konta… Takie informacje podaje się w mailach, prawda? Choćby przy zakupach w Internecie. Dodatkowo program ten sprawdza, w jakim banku prowadzisz konto internetowe. Przecież dostajesz wyciągi na e-mail, prawda?

Raport z tych programów trafia do administratora portalu, na którym rejestrowałeś się na samym początku. Wie on już jak się nazywasz, gdzie mieszkasz, gdzie masz konto bankowe, jaki masz numer telefonu, GG, na jakich portalach i forach się udzielasz… Nawet jeśli automatowi nie udało się dostać do któregoś z serwisów, na których masz konto, to nie ma żadnego problemu. Osoba, która przejęła Twoją sieciową tożsamość kliknie opcję zapomniałem hasła, i nowe hasło dostanie na Twój mail. Oczywiście wiadomość o tym natychmiast usunie.

Kiedy nie będziesz mógł się zalogować na Allegro, zapewne też użyjesz opcji zapomniałem hasła i nawet nie zastanowisz się, dlaczego system nie wpuszcza Cię, mimo że podajesz prawidłowe dane. Ustawisz sobie nowe hasło, a administrator portalu, o którym nawet już nie pamiętasz, od razu dowie się, że to zrobiłeś… Będzie przecież dalej przeglądać Twoją pocztę.

W tle działa też czwarty program. Przeszukuje wszystkie Twoje maile i zapisuje sobie adresy osób, z którymi się komunikujesz. Co jakiś czas wyśle informacje o fantastycznym portalu z filmami, tapetami i innymi ciekawymi rzeczami kilku osobom, z którymi kontaktujesz się najczęściej. Oczywiście z Twojego adresu, oczywiście, podpisane Twoim imieniem. Już po chwili Twoja koleżanka z pracy odda wszystko, co ma w sieci, w ręce internetowego krętacza. Tylko dlatego, że popełniła ten sam błąd, co Ty.

Nie wiem, czy takie strony istnieją. Wiem, że jest możliwe stworzenie takiej, a najtrudniejszym elementem byłoby zebranie wystarczającej ilości ciekawych danych, by zachęcić użytkownika do rejestracji. Złośliwe programy to pestka.

Każdy z nas jest zarejestrowany na dziesiątkach for i portali. Nie sposób pamiętać haseł do nich wszystkich. Jednak hasło do konta pocztowego otwiera przed potencjalnym napastnikiem dostęp do praktycznie wszystkich miejsc w sieci, gdzie się pojawiasz. Pomyśl, zastanów się. Ostrzegałem.

Tagi: ,

delegacja

Lipiec 22nd, 2010 | 2 Komentarze/y | Kategoria: Uncategorized

Przyszło mi wyjechać w delegację. Jutro nawiedzam stolicę, więc za konieczne uznałem sprawdzenie, jak dostać się do klienta. Wydawało mi się, że jeśli w google maps wpiszę mniej więcej jego nazwę, to mnie poprowadzi:

Dobra, dużo punktów, ale googlowi ufam, więc zaczynam śledzić punkt oznaczony jako A:

Przełączenie w tryb zdjęć satelitarnych wzbudziło we mnie jednak maleńkie podejrzenia…

Tak, moi drodzy! Centrala firmy według googla znajduje się na środku parkingu

Niestety, google nie dał mi wystarczającego powiększenia, by odczytać numer rejestracyjny samochodu, gdzie znajduje się firma klienta. Skontaktowałem się z nimi i otrzymałem dokładny adres. Teraz mi, wyszukiwaro, nie podskoczysz, pomyślałem i wklepałem adres w google maps:

No i wszystko jasne, muszę jechać na całkiem drugą stronę lotniska. Ale przybliżę, przyjrzę się budynkowi z satelity, by potem go bez problemu rozpoznać…

No, to zdjęcie mi wystarczy. Ale ten niedobry google mnie zmylił. Firma nie znajduje się wcale na parkingu, haha. Firma znajduje się na skwerku przed budynkiem urzędu celnego. Co ciekawe, mam numer pokoju, więc może mają tam jakąś bazę podziemną. Mam nadzieję, bo nie uśmiecha mi się spędzenie jutrzejszego dnia roboczego w pełnym słońcu. Trzymajcie zatem dla mnie kciuki i jeśli jesteście z Warszawy, podrzućcie mi butelkę zimnej wody.

In Google we trust!

Tagi:

Jak zasysać media osadzone na stronach – wideoporadnik

Maj 12th, 2010 | Komentarze są wyłączone | Kategoria: Uncategorized

Wynik chwili nudy w weekend, enjoy :)

Tagi:

Lockerz z drugiej strony

Kwiecień 6th, 2010 | Komentarze są wyłączone | Kategoria: Uncategorized

Uwaga, zanim napiszesz złośliwy komentarz, w którym mi naubliżasz i wyciągniesz milion dowodów na to że jestem przewrażliwionym nieukiem, przeczytaj najpierw ten wpis: http://pl.wikipedia.org/wiki/Felieton

Czym jest Lockerz? Przeczytaj Całość »

Tagi: , ,

Naprawdę wolałbym, żebyś nie… odc. 1.

Marzec 30th, 2010 | Komentarze są wyłączone | Kategoria: Uncategorized

Dzisiaj zapoczątkuję nową świecką tradycję, którą pozwolę sobie nazwać „naprawdę wolałbym, żebyś nie…”. Seria będzie opowiadać o żenujących przypadkach olania sobie jakichkolwiek zasad konstruowania stron internetowych, co wzbudzi uśmiech politowania nie tylko w supertechnicznym człowieku, lecz i zwykłej, zdrowej na umyśle istocie.

Kompasja jest pewną firmą, która ma stronę internetową i portfolio on-line. Nazwa firmy podejrzewam wzięła się z angielskiego compassion, co można przetłumaczyć jako współczucie, litość, miłosierdzie lub politowanie. kompasja - tak, współczujemy

(kliknij obrazek, aby powiększyć)

Zrzut ekranu zrobiłem dla potomnych, strona dostępna jest pod adresem http://www.kompasja.pl/portfolio.html. Tak, moi drodzy webdeveloperzy, coś trzeba napisać jak się treść wstawia. A już najcudowniej by było, gdybyście coś napisali przed publikacją.

Wyobraź sobie, że jedziesz Ferrari 250 km/h, wciskasz pedał hamulca, a na desce rozdzielczej pojawia się napis „coś trzeba zrobić, by samochód zwolnił”. Ładnie tak?

Tagi: , ,

Harmony reloaded (aktualizacja)

Marzec 11th, 2010 | 1 Komentarz | Kategoria: Uncategorized

Dzięki blipowi poznałem narzędzie Harmony, wykorzystujące możliwości elementu canvas w html5.

Znaczy się, no. Rysowanie po ekranie. Łatwy eksport do png. Fajne efekty wyłącznie przy użyciu css i javascriptu. Oryginalny projekt Harmony : http://mrdoob.com/blog/post/689.

Paru rzeczy mi brakowało – a to gumki albo możliwości cofania, a to kolorków, a to diabli wiedzą czego. Dlatego narodził się Harmony Reloaded – projekt będący rozbudowaniem Harmony.

Co już jest?

- kolorowanie (sensowniejsze niż w pierwotnej wersji)

- przesuwanie menu

- gumka (pod menu wyboru „pędzla” – eraser)

Changelog:

10 marca:

20:52 dowiaduję się o harmony.

20:54 zaczynam się bawić. wszyscy rysują, ja dłubię w kodzie.

23:53 pojawia się najpierwsza wersja harmony reloaded, a mój łeb jest pełen pomysłów.

11 marca:

16:20 poprawiam kolorowanie pędzla chrome i odrobinkę cywilizuję wybór koloru.

19:20 dalej cywilizuję wybór koloru. nigdzie nie trzeba klikać – wybierasz kolor i śmigasz.

Co dalej?

Na pewno poprawię color pickera – jest brzydki i duży. Potem, zobaczymy.

Sugestie, pytania, komentarze mile widziane – pod tym postem :)

I żeby nie było – strona projektu: http://harmony.zgwinta.info/

Edit: do korzystania z Harmony (i Harmony Reloaded) wymagana jest nowoczesna przeglądarka, najlepiej na webkicie. Sam korzystam z Chrome (5 unstable, choć na każdym powinno ruszyć), Safari też da radę. Najnowsza Opera i najnowszy Firefox też da radę. Internet Explorer, jak to z nim bywa, nie ruszy.

Kolejny edit: kolejna poprawka koloru plus możliwość dokładania tła. Do tego parę ikonek. Jak działa tło? Wystarczy wkleić adres obrazka we właściwe pole i wcisnąć enter. Usuwamy ikonką z krzyżykiem. Ikonka z łapką ukrywa płótno i pozwala przesunąć obraz tła. Bawiąc się z tłem pamiętaj, że płótno na tle jest w 30% przezroczyste, więc końcowy rysunek będzie intensywniejszy.

Tagi: , ,

ToiToi Hacking

Marzec 7th, 2010 | Komentarze są wyłączone | Kategoria: Uncategorized

Czy jeśli udało mi się otworzyć klapę w toi-toiu bez upaprania się podejrzanymi wydzielinami, to jestem już hakerem?

Zakładając,  że „haking” to otwieranie rzeczy, których normalni ludzie nie otwierają, to tak, zdecydowanie tak. Ale dlaczego klapa w toi-toiu?

Lata temu w pewnej książce sci-fi natknąłem się na homeryckie porównanie „zamek ten łatwiej było otworzyć niż klapę w sraczu” (cytuję z pamięci, jeśli ktoś zna źródło to proszę o kontakt). Klapa w sraczu zasadniczo zamków nie ma, toteż nie stanowi praktycznie żadnego wyzwania dla wprawionego użytkownika.

Przenieśmy się teraz bardziej na grunt IT, więc normalni ludzie powinni przestać czytać ten wpis dokładnie w tym miejscu.

Każda aplikacja webowa musi mieć zapisaną konfigurację bazy danych. Musi w niej posiadać adres serwera, login i hasło – przynajmniej tyle. Konfiguracji tej należy strzec jak własnego przyrodzenia, bowiem jak ktoś się do bazy dobierze, to… jeśli nie wiesz, co może zrobić, nie zajmuj się webdeweloperką.

Wyobraźmy sobie zatem, że wystawiamy projekt, w którym config ten jest publicznie dostępny… Nawet lepiej: publicznie dostępny i zaindeksowany w google.

Kilkanaście sekund zajęło mi skonstruowanie zapytania, które wyszukiwało pliku databases.yml przechowującego config bazy danych w symfony. I tak, znalazłem aplikacje już działające, i tak, udało mi się dobić do serwera z zewnątrz. Tak, hasła do baz były skomplikowane. Tylko po co, jeśli dostałem je na talerzu?

Robiąc projekt w Symfony, końcowa wersja nie może udostępniać niczego poza katalogiem web/. Nigdy. Zapamiętać to.

Dlaczego wujek google to zindeksował? Zapewne w fazie produkcyjnej dostępny był listing plików i katalogów. Wujek przyszedł, zapisał, poszedł. Od tego są robots.txt. Zapamiętać to.

Ale załóżmy, że wujek nie zindeksował. Co też wymyślę wtedy? Poszukam jakiegoś charakterystycznego dla symfony URLa. Znajdę, i jeśli będzie się zaczynał od web/, to ktoś ostro dał ciała. I zastąpię „web/index.php” przez „config/databases.yml” i będę się cieszył hasłem do bazy.

W ciągu dwudziestu minut googlania zdobyłem i przetestowałem parametry logowania do dziesięciu różnych polskich witryn.

Wnioski? Zabezpieczenia są systemem, muszą działać jak dobrze naoliwiony mechanizm. Jeżeli jeden z fragmentów układanki zawiedzie, możecie hasło admina wypisać jawnym tekstem na stronie głównej. Albo robicie wszystko dobrze, albo wszystko macie spaprane.

Dziękuję państwu, dobranoc. Koniec imprezy. Nie ma takiego kodzenia.

Tagi: , , ,

KISS my code

Luty 25th, 2010 | 2 Komentarze/y | Kategoria: Uncategorized
…czyli mała edycja blipowych wynurzeń.
Przypomina mi się dowcip:
- Kochanie, gdzie jest cukier?
- Gdzie cukier? Nie wiesz? Boże, czemu mnie pokarałeś mężem-idiotą… o-czy-wiś-cie, że w łazience, w szafce z lekami, w puszce po kakao z napisem ‘Sól’!
Tak się mniej więcej czuję, gdy przeglądam rozmaite struktury baz danych różnych aplikacji. Zrozumiałe tylko dla autora, tylko przez pół roku po utworzeniu. Albo do bólu opisowe.
Wyobrażacie sobie na blipie tabelkę o nazwie
 "uzytkownicy_ktorzy_podejrzeli_kokpit_danego_uzytkownika_w_ [line_break]
ciagu_ostatniego_dnia_wraz_z_dlugoscia_ich_wizyty"
I o ile końcowy użytkownik ma to głęboko w kokpicie, to programista ma trochę przewalone. Bardzo mi się podoba rozwiązanie oracle, gdzie identyfikator musi się zmieścić w trzydziestu znakach.

Programiści nie potrafią przetworzyć identyfikatora dłuższego niż 24 znaki (6 zostawmy na prefiksy wszelkiego rodzaju). Oddzielmy programistów od poetów. Programiści nie potrafią również przetworzyć identyfikatorów krótszych niż pięć znaków poza indeksami pętli. Ukróćmy tworzenie identyfikatorów „tmp”, „wtf”, „omg”, „dupa” i innych części ciała.

Nawet gdy tworzysz aplikację tylko dla siebie nie wiesz, czy nie będziesz jej źródeł komuś dawać. Nie utrudniaj mu życia. Nie utrudniaj życia sobie, gdy wrócisz do nadgryzionego projektu po kilku miesiącach.
Pisz prosto. Zwięźle. Zrozumiale. Tak, jakby końcowy użytkownik, jak i późniejsi programiści twojej aplikacji byli psychopatycznymi mordercami znającymi twój adres.
Tagi: , ,

Usability

Luty 25th, 2010 | Komentarze są wyłączone | Kategoria: Uncategorized

Czyli używalność. Dużo gadania o tłumaczeniu tego słowa z angielskiego na polski się pojawia na blogach i forach dotyczących webdeveloperki. Na prosty, zerojedynkowy umysł powiem tak – warunek konieczny: osoba po otwarciu aplikacji nie ucieka z krzykiem „tego nie da się używać”. Warunek dostateczny: osoba, nie znając aplikacji, potrafi się sprawnie w niej poruszać.

Kilka praktycznych rad, które powstały w ciągu 16 minut poruszania się po rozmaitych korporacyjnych stronach internetowych – do wydrukowania i powieszenia nad monitorem każdego webdevelopera:
  • autocompleter, który nie radzi sobie z całkowicie ręcznie wpisaną treścią – dwieście batów na gołe plecy,
  • wykorzystywanie onclick zamiast onfocus (kurde, jak to można zamiennie stosować?) – obcięcie lewego ucha,
  • zrobienie czegokolwiek niezwiązanego z formularzem, wywoływane przez wciśnięcie [Tab] – kastracja rozpalonym żelazem,
  • pokręcone walidatory, w których imię i nazwisko muszą mieć minimum po cztery litery – freestyle’owa chłosta w wykonaniu pani Ewy Jeż,
  • jakikolwiek ślad w widoku dla użytkownika po pseudotestach typu <?php echo „ok” ?> – trzy lata o chlebie i wodzie,
  • a za javascript:alert(„dupa”) – to samo, tylko w jednej celi z Lepperem i Łyżwińskim.
A skoro jesteśmy przy marudzeniu na kinderdeveloperów, to pozwolę sobie jeszcze dorzucić: za ładowanie czego popadnie do sesji – sprzątanie Dworca Centralnego. kto bajzlem wojuje, ten w bajzlu zaginie.
Tagi: , ,