niedziela, września 23, 2012

U mnie Linux vs Windows ma teraz wynik 5 do 4, a było 6 do 3 ;-)

To pewnie o mnie źle świadczy, ale porzuciłem Linuksa na netbooku.
Miałem tam Lubuntu, które działało dość znośnie, na pewno znośniej niż Windows XP.
W netbooku był tylko 1 GB RAM i wolne dyski SSD, stąd WinXP nie wydalał. Lubuntu było lepsze.

Ale nie było cudowne....

Najbardziej przeszkadzały mi czcionki, nie wiedzieć czemu co czas jakiś czcionki się psuły i np. w znikało, a w jego miejsce wchodziła jakaś wariacja na temat w, wykonana przez jakieś dziwne przeskalowanie, w trakcie którego kreseczki łączące górę i dół znikały.
Zdecydowanie to utrudniało czytanie.

Brakowało mi też Total Commandera.

Jednak później pojawiły się 2GB RAM w netbooku i superszybkie SSD o pojemności 32GB.......... dla próby zainstalowałem Win XP i teraz jest dobrze :-) Nawet bardzo dobrze.

Czcionki są czytelne, szczególnie po włączeniu ClearType, jest Total Commander i tylko trochę brakuje mi linii poleceń.....

Nie brakuje mi za to ciągłego molestowania o updaty.... Windows załatwia to jakoś lepiej. Mniej mnie w to wszystko angażuje. Do tego Lubuntu doprowadziło raz do stanu, w którym próbując się zupdatować zajęło cały dysk i nie można się było nawet doń zalogować.... o czym nie mówiło.
Dopiero zabawy z terminalem tekstowym i przeglądanie /var/logs/ dało informację.
Nie muszę też kombinować z pendrive'ami, które albo się montowały, albo i nie pod /media.

Ale nadal Linuksa używam na:
- Rasbperry Pi
- Telefonie (Nexus S z Androidem 4.1, czyli Linuksem)
- Tablecie (Asus EEE Pad Transformer z Androidem 4.0.3, czyli znów z Linuksem ;-))
- Kindle (tak, tam też jest Linux :-))

Liczę, że kiedyś będę mógł porzucić Windows. Szczególnie po tym co zrobiono z Windows 8 ;-) [choć z drugiej strony, widziałem jedną entuzjastyczną recenzję od kogoś z MS, kto pracuje jako programista i strasznie sobie chwalił Win8, czyli możliwe, że trzeba się przekonać].


Podobne postybeta
Robimy z telefonu/tabletu z Androidem serwer WebDAV ;-)
Kilka Androidów w domu... jak to jest?
Ta sama rozdzielczość przy różnych wielkościach ekranu to nie musi być dobry pomysł ;-) czyli o tym, że iPad Mini może boleć w oczy ;-)
Dwa tygodnie z Linuksem - na razie na 4-
Chromebook vs netbook z Windows 8 ;-) - pierwsze wrażenia

wtorek, września 11, 2012

Drogie Google, gdzie jest mój Nexus 7? ;-)

Drogie Google, tak się składa, że mam nazwisko na literkę R, oznacza to, że mam niezłe zadatki na bycie early adopterem.
Do tego interesuję się IT.

Odczuwam więc naturalną chęć zakupu Nexus 7.......
Jest jednak mały problem.

Nie mogę go kupić.

Do tego wszystkiego, mój EEE Pad Transformer z Ice Cream Sandwich dostaje zadyszki przy wielu grach z Google Play, stąd mam już parę gier w które po prostu nie mogę grać.... ostatnio The Little Bang Story...
Nexus 7 świetnie by się nadawał do sprawdzenia o co w tej grze chodzi i byłby powodem do kolejnych zakupów...

Ale jak już pisałem, nie mogę Nexus 7 kupić...
Nie mogę, bo mieszkam w złym kraju chyba...

Ale znów plotka głosi, że Chiny zablokowały debiut Nexus 7... oni też nie mają wszystkiego w Google Play, tak jak i my..... może byście więc tak puścili choć trochę Nexusów 7 do takiego dalekiego kraju jak Polska? ;-)

Wydaje mi się, że jeszcze parę osób chętnych na zakup by się znalazło.... może nawet więcej, niż parę???

A w ostateczności, pozwólcie nam robić zakupy w Google Play w UK, no co wam by to szkodziło? ;-)

Dajcie mi szansę kupienia Nexus 7... Proszę ;-)


Podobne postybeta
Bloggeroid - spróbujmy to zrobić ładniej ;-)
Przemek w krainie Stefanów ;-)
4 małpki z trojgiem rodziców :-)
No i chyba wyleczyłem EEE Pad Transformera z mega czkawki
Ta sama rozdzielczość przy różnych wielkościach ekranu to nie musi być dobry pomysł ;-) czyli o tym, że iPad Mini może boleć w oczy ;-)

Czy EULA (End-user license agreement) jest potrzebna w aplikacji mobilnej, czy nie?

W Bloggeroidzie mam EULA'e, która mówi po prostu, że się starałem by aplikacja była bezpieczna, ale nic nie mogę zagwarantować.
Dodatkowo informuję użytkowników, że mogą aplikacji używać jak chcą i kiedy chcą, byle nie łamali prawa i nie robili nikomu krzywdy (jak dla mnie oznacza to np. że ktoś prowadzący faszystowskiego bloga i używający Bloggeroia łamie umowę). Do tego ostrzegam, że Bloggeroid działa przez sieć, więc może wpływać na zużycie pakietu danych. W końcu zaznaczam, że nie mam żadnych związków z Bloggerem, Picasa Web Albums czy Google.

Ogólnie chcę być w porządku z użytkownikami i dać im szansę decyzji.
Próbuję się też zabezpieczyć przed pewnym rodzajem userów, którzy próbują ścigać twórców softu za swoje błędy.

Proponuję uczciwy układ.......... ale EULA na początku działania programu zniechęca pewną liczbę ludzi.
Żądam jakiegoś zaangażowania, nie dając im jeszcze nawet szansy na spróbowanie aplikacji.
Do tego niektórzy widzą moje ostrzeżenia jako groźby...

Staram się działać w interesie usera, ale ten tego tak nie musi odbierać ;-)

Coby ułatwić zapoznanie z aplikacją robię w niej pewne zmiany, np. przesuwam moment gdy trzeba wprowadzić konto do czasu pierwszej publikacji, wtedy też chcę pokazywać EULA'ę....
Do tego sam tekst EULA'i przerabiam, tak by był bardziej user friendly...

Ale ciągle się zastanawiam, czy jednak EULA w aplikacji mobilnej to jednak nie przesada?


Podobne postybeta
Tnę i przerabiam na mniejsze, czyli nieprzewidziane skutki refactoringu
Ku dyktaturze...
POpulizm
"Zapomniałem napisać, że w piątek (albo sobote, choć chyba był to czwartek)"
Sezon na Chrome

poniedziałek, września 10, 2012

HeapSort, a MergeSort i QuickSort :-) - od strony "chytrości" ;-)

Jeśli porównuję te 3 algorytmy, to największe wrażenie na mnie zawsze robi heap sort, po naszemu sorotwanie przez kopcowanie.
Czemu? Bo jest najbardziej "chytrym" algorytmem ;-)

Taki merge sort jest niemal intuicyjny, podziel to co chcesz sortować na 2 równe/podobne części, posortuj każdą z nich merge sortem, a to co wróci połącz tak, że z każdego z posortowanych podciągów wybieraj mniejszy element z wierzchu....
Quick sort jest niby trochę bardziej chytry, ale chytrość jest głównie w metodzie partition i w tym jak się zapewnia, że wszystkie mniejsze bądź równe od elementu rozdzielającego są przed nim, a wszystkie większe za nim... tutaj jednak chytrość widać dopiero w użyciu metody parition do wyznaczania mediany i ogólnie dowolnej n-tej liczby/wartości w ciągu.

Ale heap sort jest najbardziej chytry.
Najpierw sama idea kopca, nie jest taka oczywista. Na pierwszy rzut oka nie widać jednak, że samo utrzymanie tego, że rodzic jest zawsze większy lub równy swoim dzieciom wystarczy do wstępnego uporządkowania.... że można to zrobić liniowo i że wystarczy przyjąć, że dziećmi są węzły o indeksach 2*i i 2*i+1....
Już na to musiało być trudno wpaść.... 
Ale później wpaść na to, żeby najpierw zbudować kopiec... a później skorzystać z tego, że największy element jest na jego szczycie, podmienić go z ostatnim elementem w kopcu, zmniejszyć rozmiar kopca i przywrócić własność kopca dla pierwszego elementu..... i tak dalej..... to jest genialne :-)
Chyba nawet użycie tego do zbudowania kolejki priorytetowej nie jest aż tak odkrywcze ;-)

Chociaż z drugiej strony, pamiętam że zrozumienie metody partition z Quick Sorta zajęło mi z 30 minut tępego patrzenia się na pseudokod ;-) a z heap sortem poszło szybciej ;-)
Merge sort jakoś od razu załapałem, ale zawsze miałem problemy z implementacją, bo zawsze mi się gdzieś indeksy myliły ;-) w merge'u.
Tu heap sort był zawsze najmilszy, jakoś tak najłatwiej się go zawsze implementowało ;-)

[a to wszystko wyżej przez to, że mi laptop dziś przez dość dłuższą chwilę chorował i czytałem Cormena i spółkę - Wstęp do algorytmów ;-)]


Podobne postybeta
Przeżycie artystyczne ;-)
Jak czytać kod...
Koszmarne Garbage Collectory part 2 ;)
Dalsze zabawy z ePubGeneratorem :-)
Książki które zmieniły moje życie

środa, września 05, 2012

Jaki jest powód? ;-)

Od trzech miesięcy chodzę do pracy. Zajmuje mi to jakieś 40 minut w jedną stronę.
Ale od jakiegoś czasu każdego ranka bardzo, ale to bardzo mi się nie chce...
I teraz tylko pozostaje mi zapytać czy to z powodu chodzenia czy pracy? ;-)

#toBlogger

[Go to original post on Google+]




Podobne postybeta
Przyjaciel ;-)
Darmowy hosting JSP
Ekszperyment
Zakryj gębę....
Rewolucja w fizyce?

Trudniej jest lepiej... część druga, bohater odkrywa, że da się łatwiej - czyli opowieść o AccountManagerze w Androidzie

Gdy w głowie wykrystalizował mi się Plan, albo chociaż plan na złamanie niechęci AccountManager'a dotarło do mnie, że przecież AccountManager.getAuthToken() zwraca Future.... czyli na upartego można całkowicie zignorować cały taniec i po prostu poczekać, aż znajdzie się token ;-)
Rzeczywiście się da :-) wystarczy zawołać getResult() na Future z getAuthToken() :-)
Dzięki temu jest szansa, że jednak nie będę musiał robić aż tak głębokich zmian w kodzie Bloggeroida :-)

Przy okazji okazało się, że AccountManger zwraca token dla ClientLogin, a nie dla OAuth... chociaż w dokumentacji sugerują, że to jednak dla OAuth ;-)


Podobne postybeta
Trudniej jest lepiej.... czyli AccountManager w Androidzie...
OAuth mnie denerwuje ;-)
Chrome2Chrome 0.7.2 - OAuth w akcji ;-)
Medytacja
Programowanie trudne ;-)

poniedziałek, września 03, 2012

Trudniej jest lepiej.... czyli AccountManager w Androidzie...

Zgadnijcie co zajmie więcej czasu.

Sprawienie, że aplikacja dla Androida będzie w stanie korzystać z autentykacji OAuth2 tak, że do zdobycia pierwszego tokena użyje przeglądarki, czyli zrobi wszystko tak jak aplikacje na np. iOS, czy Windows.
Czy może wersja w której skorzysta się z wbudowanego w Androida AccountManagera, który jest po to by ułatwić?

Rozsądek podpowiada, że opcja druga jest lepsza i szybsza..... a figa!

Pisząc wszystko samemu i korzystając z WebView w Androidzie do autoryzacji OAuth2, a później bawiąc się samemu w cały taniec z tokenami wszystko zajmie z 5 godzin, może mniej. Do tego aplikacja może prosić jednocześnie o autoryzację dla większej ilości serwisów. Co najlepsze będzie działać nawet na Androidzie 1.5.

Robiąc wszystko "po bożemu" z wykorzystaniem AccountManager'a siedzę nad tym już 2 dzień i co prawda widzę światełko w tunelu, ale wiem, że będę musiał przepisać duża część aplikacji, bo ktoś uznał, że Callback'i są tak zajefajne, że trzeba je wszędzie stosować....
Inna sprawa, że w odróżnieniu do sytuacji gdy do potwierdzenia, że user chce nam dać dostęp do konta, używamy przeglądarki tutaj nie można zdobyć uprawnień od razu do 2 czy większej ilości serwisów....

Ta! Trudniej jest lepiej........


Podobne postybeta
Trudniej jest lepiej... część druga, bohater odkrywa, że da się łatwiej - czyli opowieść o AccountManagerze w Androidzie
Google Play Services dobre jest :-)
Programowanie trudne ;-)
Światełko w tunelu :-)
OAuth mnie denerwuje ;-)

niedziela, września 02, 2012

Nowy potworek na tapecie ;-)

Po głowie chodzi mi nowy potworek.
Proste narzędzie do zarządzania zadaniami.
Idea jest taka, że ekran miałby być podzielony na stany w których znajduje się dany task, a user, znaczy się ja ;-) mógłby przeciągać je przy pomocy drag and drop.
Prototyp, który wykonałem w wolnej chwili wygląda tak:
Pobawić się nim można pod tym adresem (spróbuj przeciągnąć task do któregoś z obszarów "roboczych", albo jeden taks na inny).
Zabawne jest to, że łatwo można jedno zadanie złożyć z kilku innych i później je sobie przesuwać :-)

Mam oczywiście masę wątpliwości. Po pierwsze taką czy taki podział na stany ma sens? Próbowałem się przyjrzeć temu co w pracy robię i z biegiem czasu większość rzeczy przechodzi w stan kwantowy ;-) czy może bardziej rozmyty. Są np. po części "in progress", po części "working on", a jeszcze w części "waiting". Co może oznaczać np. że inwestyguję jakiś problem czekając na odpowiedź na maila, bo już po jego wysłaniu dotarło do mnie, że przecież sam mogę spróbować odpowiedzieć sobie na zadane tam pytanie (np. o to jaki numerek odpowiada jakiemu krajowi, co mogę ustalić jeśli zajrzę w parę miejsc, ale wpadłem na to dopiero po tym jak się spytałem).
Stąd mam wątpliwości co do tego czy "to ma sens" ;-)

Inna wątpliwość to drag & drop w HTML5 na urządzeniach dotykowych.... W skrócie, nie działa ;-)
W Chrome na Androidzie sobie mogę to otwierać i nic, nie jestem w stanie przeciągać tasków.
Drag & drop się z interfejsem dotykowym nie lubią ;-)
Znaczy, udało się to zrobić ładnie w Androidzie gdzie da się wiele rzeczy tak przesuwać, ale nikt (at least) w Androidzie nie wpadł by to przenieść do HTML5... możliwe, że nawet by się nie dało ;-)

Ale ogólnie mi się to podoba, tylko tak nie do końca w to wierzę ;-)

A czemu nie poszukam gotowego programu? Bo samo pisanie i tworzenie to zabawa, to tutaj, jeśli skończę będzie takie jakbym chciał no i nie będę się musiał męczyć wybierając z masy programów, ani się ich uczyć.


Podobne postybeta
Fix na problem, który męczył Bloggeroida od lat.....
Malutki serwerek HTTP - dziełko, albo potworek ;-)
Chrome OS po 24 godzinach
Czytelnictwo ;-)
Przepływ sterowany danymi - A takie Java'owe coś ;-)

sobota, września 01, 2012

EEE PC 900 - warto rozszerzać czy nie? ;-)

Tak mnie naszło i zacząłem sprawdzać w sieci ile by kosztowało rozszerzenie mojego EEE PC 900, które już od blisko roku głównie stoi i się kurzy....
Rozważałem kupno 2GB RAM i wymianę strasznie wolnego SSD na coś większego i szybszego.
2GB RAM i 64GB dysk SSD o prędkości zapisu równej 100MB/s (odczyta 150MB/s) kosztują jakieś 600 PLN....
I mam zgryza ;-)
Nie są to jakieś strasznie pieniądze, ale pewnie jakby chciał to mógłbym kupić EEE PC 1000 czy jakiś podobny z HDD za podobną kwotę...

Jeśli w poniedziałek nadal będę to chciał to chyba jednak kupię ;-)


Podobne postybeta
2GB :-)
Brakuje mi BuffyPedii....
Windows mnie jednak nie lubi ;-)
Archos 101 i zgryz ;-)
Dart, opcja --optimze naprawdę pomaga ;-)