czwartek, czerwca 30, 2011

Smutno mi się zrobiło...

Google Maps mi się zaktualizowały i oglądałem przez to swoją okolicę na mapach, a że mam w nich włączoną warstwę wiki to zobaczyłem hasła związane ze znajdującym się obok mojego miejsca spania byłym obozem koncentracyjnym Płaszów i jednym z miejsc straceń, czyli H-Górką (zwaną przez więźniów Hujową Górką). Liczba straconych, czyli od 8 do 10 tysięcy osób już robi straszne wrażenie, informacja, że ich prochy to było 17 wozów i że rozsypano je na terenie całego obozu też przygnębia... ale to, że wracając dziś z pracy widziałem obok terenu byłego obozu znowu napisy w styly "anty jude", czy "jude raus" i to czego zdjęcia już tu wklejałem spowodowało, że mi się naprawdę smutno zrobiło.
Jak, do kurwy nędzy można być aż tak głupim? Jak?
Jedno to jest głupia niechęć, ale coś takiego?
Żeby coś takiego zrobić trzeba być albo bardzo złym człowiekiem, albo kimś bezdennie głupim.... dlatego mi smutno, bo te napisy świadczą o tym, że tacy ludzie istnieją. Skąd im się to bierze?
Nie rozumiem tego i to też wywołuje mój smutek.

posted from Bloggeroid



Podobne postybeta
Kretyni..
Noż kurwa....
Google Maps 5.0 dla Androida.... nie tak pięknie
POpulizm
Co widuję w drodze z pracy... ;-)

Telefon lepszym aparatem niż prawdziwy aparat ;-)

Miałem już w życiu kilka aparatów cyfrowych, miały swoje plusy i minusy, ale teraz stwierdzam, że do 99% zastosowań najlepszym aparatem cyfrowym jaki mam jest ten w moim Nexus S....

Porównajmy mój aparat cyfrowy czyli Canon PowerShot SX1 IS z Nexus S.


Canon PowerShot SX1 ISNexus S
Sensor• 1/2.3 " Type CMOS
• 10.0 million effective pixels
• ????
• 5.0 million effective pixels
Maksymalny rozmiar zdjęcia3648×27362560×1920
VideoFull HD 1080p480p
Zoom20x optyczny
4x cyfrowy (czyli 80 łącznie)
brak


Trzeba pamiętać też, że Canon ma RAW, ma miliony programów i możliwość pracy bez automatyki, rozpoznaje twarze, potrafi mieć różną czułość i tak dalej i tak dalej. Canon ma do tego wyjście HDMI, i kartę SD ;-)
Nexus S bije go w takich fotograficznych sprawach tylko tym, że ma 4 calowy telewizor, a Canon tylko 2.8 cala.

A i jeszcze różnią się rozmiarami i wagą ;-)

Nexus S ma 123.9 mm x 63.0 mm x 10.8 mm i waży 129.0 gram
Canon ma 128 x 88 x 88 mm i waży 585 gram (ale bez baterii ;-))

Co to oznacza? Że Nexus S mam przy sobie zawsze, a Canona od wielkiego dzwona ;-)

Teraz porównanie zdjęć, nie są robione profesjonalnie, bo między nimi są blisko 2 lata różnicy, ale pokazują mniej więcej to samo ;-)

Canon zrobił prawie 2 lata temu takie zdjęcie:


Nexus S zrobił koło miesiąca temu takie zdjęcie:


Co prawa bardziej podoba mi się "kompozycja" zdjęcia pierwszego, ale zobaczywszy oba te zdjęcia nie umiałbym powiedzieć, które zrobił lepszy aparat :-)

Dlatego mimo wszystkich przewag, które ma Canon nad Nexus S, to Nexus S jest moim podstawowym aparatem cyfrowym. Po prostu w malutkiej obudowie jest coś co działa na tyle dobrze bym nie musiał sięgać po lepsze narzędzia.


Podobne postybeta
Co robi lepsze filmy?
Jak się profesjonalnie kłamie
Moto 360 v2 - to jest to :-)
Uspokajacz
I znów widziałem ISS :-)

środa, czerwca 29, 2011

1 plus braku tramwaju ;-)

Jest jeden plus tego, że mi tramwaj zawiesili na czas wakacji ;-)
Pora o której wstanę nie jest już tak istotna jak to bywało ;-)

Normalnie musiałem celować tak by po pozbieraniu się i przywróceniu chociaż częściowego stanu użytkowania mojej osoby zdążyć na tramwaj. A, że ten kursował z interwałem 40-50 minut to trzeba było mieć pewien zapas. Dodatkowo pewne kursy odpadały bo nie miały komplementarnych kursów po 8 godzinach 20-30 minutach (czytaj takich, które pozwalałyby mi przebywać w pracy 8 godzin, a nie dłużej).

A teraz?

Teraz gdy niosą mnie moje nogi do i z pracy problemu nie ma. Wstanę 10 minut wcześniej? Nie ma problemu wyjdę po prostu wcześniej, wstanę 20 minut później? Jedyny problem jest taki, że później z pracy wyjdę.

Problem był tylko wczoraj bo z racji deploymentu, który prowadziłem wypadało bym był w pracy o 10 ;-) [dlatego skusiłem się wczoraj na tramwaj innej linii, który mi drogę skraca, i żałuję bo był straszny tłok]


Podobne postybeta
On-call i sąsiedzi którzy robią remont się nie łączą zbyt dobrze :-)
Kiedy polecimy na Marsa?
Jak zajrzeć w przeszłość? ;-)
Zlikwidowali mi tramwaj :-(
Wiedza magiczna

wtorek, czerwca 28, 2011

Jak okiełznać MyLibrary w EEE Pad Transformerze....

Asus był tak miły, że dodał do EEE Pad Transformer bardzo miły program do czytania e-booków, który zowie się MyLibrary.
Ładnie dzieli tekst w ePubach na szpalty, pozwala na czytanie książek przy pomocy syntezatora i ogólnie jest dość miły.
Ma tylko jedną wadę, czasem choruje, a jak zachoruje to nie pozwala czytać i wyświetla tylko czarny ekran.

W sieci można znaleźć trochę informacji jak problem obejść i zwykle mowa jest o tym by w Ustawienia -> Aplikacje -> Zarządzaj aplikacjami -> Wszystkie -> MyLibray kasować dane aplikacji.
Problem jest taki, że nie zawsze to działa, a nawet gdy działa to trzeba znów przeskrolować się przez strony książki do miejsca gdzie czytaliśmy.

Mój sposób działa zawsze ;-)

Po pierwsze trzeba mieć kartę microSD w czytniku, to zwykle wystarcza.
Jeśli MyLibrary nadal wariuje to idziemy do miejsca do zarządzania aplikacją i kasujemy dane z pamięci podręcznej.

Ot i cała tajemnica ;-) Mój programistyczny nos mi mówi, że programiści po prostu co jakiś czas chcieli skanować cały system plików w poszukiwaniu książek i trochę przedobrzyli ;-)

posted from Bloggeroid



Podobne postybeta
Papier nad e-booki :-)
Asus EEE Pad Transformer - pierwsze wrażenia
Gmail Off-line i problem z "Failed to enable local store" - rozwiązanie ekstremalne ;-)
Gdzie jest mój tablet????
USB-C w iPhonie dobra rzecz :-)

piątek, czerwca 24, 2011

Cut the Rope - zabawne ;-)

Pobrałem sobie z GerJar androidową wersję Cut the Rope.


Całkiem miła gra, miło się w to gra na Transformerze i na Nexus S :-)
A żaba jest po prostu słodka ;-) aż żal zawieść i jej tego cukierka nie dostarczyć :-) A jak się ładnie domaga tego cukierka! I tupie nóżkami jak jest podekscytowana zbliżającym się cukierkiem ;-)

posted from Bloggeroid


Podobne postybeta
Wytrzymałość baterii w EEE Pad Transformer - test przy pomocy "potworów" ;-)
PKO BP to jednak nie umie w płatności..
Złudne poczucie bezpieczeństwa...
Szybkoholizm ;-)
Trzy wielkie tajemnice Androida (od strony programisty)

czwartek, czerwca 23, 2011

Zlikwidowali mi tramwaj :-(

No i miałem rację ;-) MPK w Krakowie musiało zmniejszyć na czas wakacji ilość tramwai bo z kasą kiepsko (nie w MPK, a u zleceniodawcy czyli miasta).
Przez to zlikwidowali mi mój tramwaj ;-) Znaczy, że albo będę chodził na piechotę, albo jeździł samochodem. No bo linii 23 do końca wakacji nie ma i nie będzie...
Ja tam przeżyję, ale miasto straci, bo nigdy nie miałem biletu miesięcznego, czyli należałem do tej małej grupy (podobno około 30%) użytkowników komunikacji miejskiej, którzy kupują bilety jedno przejazdowe, na których miasto coś zarabiało... no i moich 200 PLN przez najbliższe miesiące nie dostaniecie.

A jeszcze przed miesiącem czy jakoś tak w kasie miejskiej było tyle kasy by pozwolić sobie na zrobienie za darmo przez 3 dni tramwaju linii 8 coby przewozić za darmo "pielgrzymów"....
Ruch był o tyle kretyński, że turystów pielgrzymkowych należy golić na każdym kroku, bo przecież MPK to jeden z niewielu miejskich serwisów, w których zapłacą miastu. Sypiają zwykle w kościelnych hotelach czy czymś podobny, jadają w kościelnych restauracjach czy jadłodajniach, pieniądze wydają w sklepach z dewocjonaliami umieszczonych blisko kościołów, z których też kościół dostaje największą część kasy. Jeśli miasto chce na nich coś zarobić to tylko na MPK i innych serwisach miejskich, z których muszą korzystać.
Nawet nie pójdą na piwo na Rynek czy Kaźmierz i pieniędzy z podatku od restauratorów też nie będzie.

Ale tak to już jest jak Rada Miasta to ludzie bardziej papiescy od papieża (nawet jak prezydent miasta startował do Trybunału Konstytucyjnego ze skargą na to, że Kraków został obrabowany przez komisję majątkową to to torpedowali coby nie podpaść).....

A przez to ja będę przez kolejne 2 miesiące dymał z buta ;-)

Sobie to zapamiętam.... ;-)


Podobne postybeta
Pełzająca ofensywa
Najbardziej bezsensowne wybory
IKO
1 plus braku tramwaju ;-)
Wybory

Niehackerski dzień ;-)

Zły dzień ;-)

Same hackerskie niepowodzenia ;-)

Potrzebowałem zrobić coś na kształt kontrolki ActiveX czy OCXa (szczerze nigdy nie byłem pewien, które jest które i czym się różnią, dla mnie cały model COM to jedno i to samo...). Chciałem ją sobie zrobić w .NET'cie bo pamiętam, że kiedyś mi się udało. Ale teraz złośliwie przeglądarka pobiera moją kontrolkę i nawet wygląda jakby ją tworzyła, ale na kontrolce nic nie widać tylko jakiś gupi malutki kwadracik, jakby z ikonką rysunku....
Pewnie coś źle robię, ale w całym Windowsie nie ma szansy na łatwe obejrzenie co się dzieje.... Na konsoli IE (w Developer Tools dostępnych pod F12 (oczywiście jeśli je masz zainstalowane)) nic nie widać. Obiekt się tworzy, zajmuje miejsce na ekranie, ale nie działa ;-)
Ta cała kontrolka jest mi potrzebna do sprawdzenia czy pewien problem nie jest przypadkiem spowodowany urokami modelu pamięci czy czegoś podobnego w IE.... Ale sprawdzić nic nie mogę bo nie działa ;-)

Od jakiegoś czasu dostaję raporty o błędach w Bloggeroidzie (ale nie mechanizmem Android Marketu, bo on wysyła tylko bardzo krytyczne błędy, a swoim który w razie niepowodzenia w wysłaniu post sugeruje wysłanie do mnie raportu), które polegają na tym, że serwery Picasa'y ignorują treść obrazka...... Inne aplikacje do blogowania też podobno nie działają, ale Share -> Picasa działa....
To postanowiłem podsłuchać jak ona to robi.
Wcześniej jednak zajrzałem do źródeł Androida.... i oczywiście tego tam akurat nie ma, bo to jest jedna z aplikacji o smaku Google (jak GMAIL czy Mapy).
No to posnifowałem. I zima. Okazuje się, że Share -> Picasa działa inaczej... nie używa publicznego API, ale pakuje taki request publicznego API i wysyła go do jakiegoś serwera proxy ukrytego pod adresem http://www.google.com/m/appreq/mobilevideo.... transmisja idzie jako application/binary, w środku mamy zGZIPowany message, w którym idzie cały request do serwerów Picasy robiony już po bożemu. Idą tam jeszcze wcześniej dane o systemie, o telefonie i takie tam, ale to i tak jest w EXIF więc nie ma się co przejmować. Chociaż patrząc na to nie dam głowy, że to GZIP.
I rzeczywiście w środku leci dla Androida 1.6 (bo tylko z takim sprawdzałem) cały nagłówek autoryzacji do Picasy ;-) [wszystko po HTTP].
I wygląda to tak, że serwery dostępne przez publiczne API potrafią głupieć, ale nie głupieją gdy są dopadane przez to proxy (i nie to nie jest spisek, a wynik tego, że zapewne część serwerów jest chora, lub droga między userem, a serwerem przebiega przez jakiś węzeł w sieci gdzie obrazkowi dzieje się krzywda, ale jak ten sam obrazek idzie w pakiecie do tego serwera proxy to nie jest image/jpeg czy podobny, ale application/binary i się tam przekrada, a już w Google działa wszystko spoko w końcu sami sobie sieć konfigurują ;-))
Nie będę udawał takiego programu, który potrafi używać tego media_uploadera, bo z tego co widzę w sieci [albo właśnie nie widzę] to jest to coś co jest nieudokumentowane, czyli znaczy nie wolno tego używać aplikacją firm trzecich.
Bardzo niefajnie.

Btw. szukając informacji o tym proxy natrafiłem np. na logi ze Squida (czy jak to się pisze w których są adresy IP maszyn, które się tam dostawały i listy adresów na które te maszyny wchodziły..... A wszystko pewnie dlatego, że jakiś paranoiczny admin uznał, że chce widzieć co się dzieje w jego sieci i zaczął sobie upubliczniać te dane żeby mieć do nich wszędzie dostęp.......)

Niefajnie......


Podobne postybeta
Do 3 razy sztuka ;-)
To PKO BP....
API ssie w świecie walled gardens
Potok świadomości - Machine Learning może tagować posty ;-), iPhone ssie, fajne książki, spać.....
Co się dzieje gdy mój pierwszy samolot się spóźnia i mam mało czasu na przesiadkę?

niedziela, czerwca 19, 2011

Oswajanie tableta

Nadal bawię się moim EEE Pad Transformerem (ale jaki tam z niego teraz Transformer skoro nie ma stacji dokującej? ;-) )

Dziś sprawdzałem gry, np. Dungeon Defenders, z którego zrzut widać poniżej.


Myślałem, że nie będę w to grał, ale któż to wie? Trzeba przyznać, że gra działa całkiem ładnie, wygląda też niczego sobie.
Wcześniej nie myślałem w ogóle o grach bo nawet 4 calowy wyświetlacz Nexus S jest do tego za mały. Ale teraz mając te 10.1 cala można się pobawić ;-)

Głównie jednak używam Transformera do czytania. EPUB jest najlepszy, PDFy też niczego sobie, ale wtedy trzeba ustawiać tablet w trybie portrait, ale to "zasługa" PDFów.

Strasznie też lubię odbierać na nim pocztę, ten Gmail dla tabletów wygląda super :-) Gorzej z odpisywaniem na maile, tu mimo wszystko chyba jeszcze przez długi czas dominować będą komputery z fizyczną klawiaturą.

Btw. coraz to więcej widzę tego, że wielu developerów aplikacji dla Androida "oszukuje". Wiele aplikacji nie potrafi poradzić sobie ze zmianą orientacji ekranu (sam miałem z tym problemy) i po prostu ją blokują. Wielu też olewa to, że w Androidzie może istnieć wiele wielkości ekranów i przez to ich aplikacje na tabletach wykorzystują tylko malutką część ekranu co wygląda tak:

Przyznacie, że ohydnie?

posted from Bloggeroid



Podobne postybeta
Asus EEE Pad Transformer - pierwsze wrażenia
Duży ekran - największy plus Nexus 5
Archos 101 i zgryz ;-)
LibreOffice - takie sobie
Pokrowiec - zdeużytecznik ;-)

Zrównoleglamy ;-)

Mój program wyliczający podobne posty działał dość znośnie do wczoraj, kiedy to nagle zaczął zmieniać za każdym razem podobne posty. Kilka godzin debugowania pokazało, że serwery Google zaczęły zwracać dziwne listy postów na Bloggerze, udało mi się to obejść, ale się na tyle rozochociłem, że postanowiłem przerobić tak program do wyliczania tych podobnych postów by korzystał ze wszystkich rdzeni/procesorów w komputerze ;-)

Program ma wyliczyć podobieństwo między każdą parą postów, coś w tym stylu:

post 1post 2post 3post 4post 5
post 1waga 1 z 1waga 1 z 2waga 3 z 1waga 4 z 1waga 5 z 1
post 2waga 1 z 2waga 2 z 2waga 3 z 2waga 4 z 2waga 5 z 2
post 3waga 1 z 3waga 2 z 3waga 3 z 3waga 4 z 3waga 4 z 3
post 4waga 1 z 4waga 2 z 3waga 3 z 4waga 4 z 4waga 5 z 4
post 5waga 1 z 5waga 2 z 5waga 3 z 5waga 4 z 5waga 5 z 5


Ale, że nie trzeba tak naprawdę liczyć podobieństwa postu z samym sobą ;-) oraz, że wyliczenie podobieństwa postu 1 z 2 i postu 2 z 1 bazują na tych samych wartościach (ale nie są takie same), to tak naprawdę trzeba rozważyć takie pary (zaznaczone na żółto):

post 1post 2post 3post 4post 5
post 1waga 1 z 1waga 1 z 2waga 3 z 1waga 4 z 1waga 5 z 1
post 2waga 1 z 2waga 2 z 2waga 3 z 2waga 4 z 2waga 5 z 2
post 3waga 1 z 3waga 2 z 3waga 3 z 3waga 4 z 3waga 4 z 3
post 4waga 1 z 4waga 2 z 3waga 3 z 4waga 4 z 4waga 5 z 4
post 5waga 1 z 5waga 2 z 5waga 3 z 5waga 4 z 5waga 5 z 5


Wcześniej działało to tak, że były 2 pętle, jedna w drugiej, które szły po wszystkich postach i liczyły co trzeba tylko wtedy jeśli to jeszcze nie było policzone.
Sęk w tym, że działało to na 1 wątku.

Ale przecież nie musiało ;-)
Dlatego wprowadziłem pewne zmiany, pierwszą było zamienienie takiego kodu:

for (final Post currentPost:list) {
// jeśli currentPost nie był jeszcze inicjalizowany to go przygotuj
for (final Post comparPost:list) {
// licz i działaj
}
// na podstawie podobieństw między currentPost a całą resztą
// przygotuj listę 5 najbardziej podobnych
}

W coś takiego:

List<Pair> pairs = new ArrayList<Pair>();
for (int i=0; i<list.size(); i++ {
final Post currentPost = list.get(i);
for (int j=i+1; j<list.size(); j++) {
final Post comparPost = list.get(j);
pairs.add(new Pair(currentPost, comparPost));
}
}
for (Pair pair:pairs) {
// prowadź niecną działalność wyliczeniową
// na podstawie podobieństw między currentPost a całą resztą
// przygotuj listę 5 najbardziej podobnych
}

W pierwszych dwóch pętlach przygotowywana jest lista, której elementy są rozłożone w taki sposób w naszej "tablicy":

post 1post 2post 3post 4post 5
post 11234
post 2567
post 389
post 410
post 5


A stąd już blisko do zrównoleglenia ;-)

Niestety dojście do tego momentu trochę mi zajęło z racji tego co opisałem "na podstawie podobieństw między currentPost a całą resztą przygotuj listę 5 najbardziej podobnych".
Ale jak już miałem taką wersję jak ta druga to sprawa stała się prosta ;-) [chociaż nie do końca bo wyrósł kolejny problem, okazało się, że musiałem jeszcze zmienić użycie HashMap'y w ConcurrentHashMap, bo bez tego coś nie działało, nie leciały wyjątki, ale w pewnym momencie jeden z wątków, a czasem oba zaczynał wisieć na put, podejrzewam, że w HashMap'ie w pewnym momencie w liście elementów z tym samym hash'em mogło dochodzić do tego, że element sam na siebie wskazywał jako na następny]

Ostatecznie kod wygląda tak:
List<List<Pair>> perCPU = new ArrayList<List<Pair>>();
int numOfCPUs = Runtime.getRuntime().availableProcessors();
for (int i=0; i<numOfCPUs; i++) {
perCPU.add(new ArrayList<Pair>());
}
int numOfPairs = 0;
for (int i=0; i<list.size(); i++ {
final Post currentPost = list.get(i);
for (int j=i+1; j<list.size(); j++) {
final Post comparPost = list.get(j);
     perCPU.get(numOfPairs%numOfCPUs).add(new Pair(currentPost, comparPost));
}
}
ExecutorService pool = Executors.newFixedThreadPool(numOfCPUs);
ArrayList<Future> listOfResults = new ArrayList<Future>();
for (final ArrayList<Pair> listOfPairs:perCPU) {
    listOfResults.add(pool.submit(new Runnable() {
public void run() {
workWithPairs(listOfPairs, howManyDocumentsHasWord);
}
}));
}

for (Future future:listOfResults) {
future.get();
}

pool.shutdown();

Teraz pytanie jak to wygląda z czasem?

Na moim pracowym laptopie (bo mój jedzie do mnie z serwisu, jest teraz w Katowicach i jutro powinien do mnie przyjechać ;-) po to sobie wziąłem nawet Work From Home coby go odebrać) wcześniejsza wersja potrzebowała na przeliczenie 1613 postów (czyli na rozważenie 2601769 par, z których mniej niż połowa była liczona) 26 sekund, obecna wersja to samo robi w 16 sekund ;-) i rozważa 1205128 par, których przygotowanie to 93 ms, a każdy rdzeń (mam 2 w tym laptopie) dostaje do zabawy 602564 pary.
Zyskałem jakieś 40% co nie jest może jakoś szczególnie wielkie ;-)

Zużycie CPU wygląda tak:

A pamięci tak:

Początek i koniec programu gdy CPU nie jest tak mocno wykorzystywany to operacje sieciowe, pobieranie z sieci listy postów i updatowanie zmienionych (które też je pobiera, co trzeba będzie zmienić).

Jak widać udało mi się doprowadzić do sytuacji w której więcej czasu zabierają operacje sieciowe niż liczenie ;-)

Kolejnym krokiem mogłoby być pójście w kierunku Fork/Join choć nie wiem czy ma to sens.
Jak rozumiem działać by to wtedy powinno tak, że wrzucałbym do kolejki zadania do wykonania, a Fork/Join zabierałby sobie z niej tyle ile by potrzebował. W razie jeden z wątków byłby już gotowy to mógłby podkraść część danych drugiemu.
Wydaje mi się, że to by mogło co najwyżej poprawić czytelność kodu (a wcale nie jestem tego pewien).
Najlepsze byłoby wymyślić lepszy algorytm, bo O(n2) nie jest fajne, ale na razie nie mam pomysłu na takowy.


Podobne postybeta
Wszystkiemu winne są szybkie komputery ;-)
Seks w ujęciu informatycznym ;-) - rozmnażanie ;-)
Bookmarklet do robienia CSV z obligacjami i ich oprocentowaniem ;-)
Bez cukierków i Coli
Java 8 nadchodzi....

sobota, czerwca 18, 2011

Pan Euroentuzjasta ;-)

"Różnym ludziom różne rzeczy sprawiają przyjemność, a nowoczesny człowiek powinien być tolerancyjny i rozumieć, że każdy człowiek jest inny."

Zgadnijcie z czego to cytat ;-)

To z Pan Samochodzik i Złota Rękawica ;-) Zbigniewa Nienackiego.

Patrzcie nie dość, że Pan Samochodzik należał do ORMO to jeszcze z tych słów wynika, że w dzisiejszych czasach byłby euroentuzjastą ;-) no bo głównie ta "zaraza" szerzy takie poglądy ;-) że należy być tolerancyjnym w stosunku do innych niż my.
Tylko czekać, aż odezwą się głosy wzywające do usunięcia Panów Samochodzików ze szkół ;-)

Chociaż troszkę się ta postawa kłóci z tym, że Pan Samochodzik miał/ma dość tradycyjne podejście do kobiet (a to do stroju, a to do tego, że często i gęsto w Panach Samochodzikach to kobiety gotują i sprzątają nawet gdy są gośćmi ;-))

posted from Bloggeroid



Podobne postybeta
Z pamiętnika developera... Do czego służy programista?
Ustępstwa
90k.. tysiące lecą ;-)
Znów o rozwiązywaniu krzyżówki
50000 km

Zaskakujący killer feature....

Dziś będzie śmiesznie ;-)

Patrząc ostatnio do Konsoli Android Merketu zauważyłem, że Bloggeroid zaczął gwałtownie zyskiwać jeśli chodzi o ilość aktywnych instalacji. Czyli coraz więcej osób decyduje się zachować Bloggeroida po instalacji...
Czy to będzie tendencja stała, czy będzie trwała tylko przez chwilę to się okaże.
Ale wszystko zaczęło się po ostatnim updacie, w którym najbardziej widoczną zmianą było to, że pierwszy ekran logowania do Bloggera wygląda teraz tak (na Androidzie 1.6):



A wyglądał tak:

Jedyną różnicą jest tekst u góry ekranu treści:
Bloggeroid nie zna jeszcze Twoich blogów, podaj namiary na Twoje konto Google (w domenie GMAIL lub innej hostowanej w ramach Google Apps) pod które podpięte są Twoje blogi.


I wychodzi, że ta jedna zmiana spowodowała nagle, że gwałtownie wzrosła ilość użytkowników, którzy pozostają przy aplikacji....

Nie spodziewałbym się, że coś co dodałem bo mnie wkurzyły 2 komentarze z narzekaniem, że program im się każe gdzieś logować spowoduje tak diametralną zmianę ilości aktywnych instalacji :-) Że taki duperelek okazał się killer ficzerem ;-)
Co najlepsze jeśli użytkownik klikał Anuluj to i tak Bloggeroid mu pisał bardzo podobny tekst jak ten dodany, ale widać "toasty" Androidowe nie są tak dobrą metodą dotarcia do usera :-)


Podobne postybeta
Rozszerzenia Chrome - Content Script nie wszystko może...
BuffyPedia... wzięła i zniknęła ;-)
Granica
O tym dlaczemu Java'owcy powinni kochać Androida :-)
Moto 360 v2 - to jest to :-)

Kilka Androidów w domu... jak to jest?

Po kilku dniach użytkowania 2 urządzeń z Androidem (tak naprawdę używam teraz 3 takich urządzeń, z tym że G1 sobie po prostu leży choć wcześniej miałem z nim podobne przygody) muszę stwierdzić, że jest kilka rzeczy do zmienienia ;-)
Po pierwsze Latitude, które najzwyczajniej w świecie głupieje gdy mamy kilka urządzeń. Każde z urządzeń przesyła swoją pozycję do serwerów Google, a że niektóre z nich nie są zawsze przy mnie to w historii wygląda to tak jakbym był w wielu miejscach naraz. Jak widać bilokacja to nie jest problem gdy używa się Latitude ;-)
Z G1 problem rozwiązałem chyba odpinając je od sieci, ale Transformer ma w niej być!
Problemem jest jak zwykle wymiana danych, bo nie jest bezszwowa. Żeby przenieść zdjęcia z Nexus S do Transformera musiałbym oba podpiąć do komputera lub użyć np. Picasy... a nie można by było dodać do systemu "parowania" czy bardziej tworzenia koalicji urządzeń, tak bym mógł z Transformera widzieć wszystkie urządzenia w sieci WiFi, które używają tego samego konta Google? Ale nie ma co bać żaby próbuję sobie coś takiego napisać ;-) przy okazji zaś sprawdzę czy mógłbym do tego użyć Bluetootha ;-)
Kłopotliwe jest też to, że wszystkie atakują mnie alarmami z kalendarza ;-) to ma sens, ale fajnie by było gdyby o sobie wzajemnie wiedziały.... i np. gdyby były blisko siebie to by chociaż zrobienie dismiss na zdarzeniu na jednym z nich znikało też zdarzenie na innych.
Męczy też pewna niekonsekwencja interfejsu. Np. i w Gingerbread którego mam na Nexus S i w Honeycomb na Transformerze jest zaznaczanie tekstu... ale w Honeycomb wygląda niby podobnie do tego z Gingerbread, ale jest o wiele bardziej użyteczne. Na Transformerze po prostu używam copy/paste, a na Nexus S do teraz sprawia mi to straszne problemy.
Ale ogólnie jest nieźle ;-) podoba mi się to, że mam teraz najnowsze Androidy z każdej z linii ;-) na G1 jest 1.6, na Nexus S 2.3.4 i w końcu na Transformerze 3.1 :-)

A i jakby ktoś był ciekaw, aplikacje kupione dla jednego urządzenia można też instalować na innych podpiętych pod to samo konto.

posted from Bloggeroid



Podobne postybeta
Google Talk i herbata... eksperyment ;-)
Przemek w krainie Stefanów ;-)
U mnie Linux vs Windows ma teraz wynik 5 do 4, a było 6 do 3 ;-)
O wyższości klas anonimowych
Migracja do Androida 4.3 zakończona, 3 z 3 urządzeń zaktualizowane ;-)

piątek, czerwca 17, 2011

Co widuję w drodze z pracy... ;-)

Ostatnio staram się wracać z pracy na piechotę, niby to zdrowiej, ale też tak się składa, że mam po drodze lub prawie po drodze dużo ciekawych miejsc ;-)

No powiedzielibyście, że to poniżej znajduje się prawie na drodze z mojej pracy do mojego miejsca spania? ;-) [OK, zamiast zwyczajowego 3.7 km musiałem przejść łącznie 5.1, ale istnieją krótsze drogi do tego miejsca]





Musiałem trochę nadłożyć, ale widoki są niezłe ;-)
I trochę przerażające, bo filmik robiłem z miejsca w którym od tak samo ostrej ściany jaką widać na filmie dzieliło mnie może metr, może półtora, a żeby się tam dostać trzeba przejść jeszcze bliżej urwiska. Nawet teraz mi się to trochę straszne wydaje ;-) [znaczy starzeję się ;-)]
Filmik zowie się Liban bo widać tam fragmenty kamieniołomu Liban.

Tutaj widać Liban i urządzenia, których użyto w trakcie kręcenia Listy Schidlera:


A tu kopiec Kraka robiący za tło kamieniołomowi ;-)


Z wczoraj też pochodzą zdjęcia dowodzące debilizmu niektórych ludzi, czyli antysemickie napisy na budowli, która pozostała w tym miejscu by być pomnikiem w miejscu byłego obozu koncentracyjnego


Tu to widać jeszcze lepiej.


Z rzeczy technicznych widać, że telefony sobie nie radzą z kontrastem gdy istnieją duże różnice w oświetleniu.

A tu już miejsce spania :-)


A teraz wyjątkowo z innego dnia widok z miejsca spania na miejsce gdzie było robione poprzednie zdjęcie ;-)


A czasem widuję też dziwne zjawiska przyrodnicze.... Np. krowę na dachu samochodu....


A popatrzcie, normalnie jeździłem tramwajem i nie widziałem tego wszystkiego.....


Podobne postybeta
Bliskie spotkanie jeleniego stopnia ;-)
Historia atakuje z każdej strony w Krakowie ;-)
Egipt, Tunezja, Londyn, whatever, czyli chcem na urlop
Starzeję się ;-)
Nieuki

Asus zabawny jest

Wysłałem laptopa do ich serwisu, dotarł tam wczoraj, przeszedł wg. ich systemu naprawę, a nawet serwis już przygotował go do wysyłki, mam już nawet numer listu przewozowego....
A przed chwilą dostałem maila i SMSa od Asusa, że sprzęt właśnie do nich dotarł....
Czuję się ociupinkę skonfundowany :-)

posted from Bloggeroid




Podobne postybeta
awww. Dads rock!
To jednak było zaćmienie ;-)
Był sobie dzik....
Chęć mordu....
Zostawmy 12 listopada jako dzień wolny na zawsze, jako święto ku czci "jakoś to będzie" ;-)

Linux to jednak fajny jest ;-)

Jest sobie taki tool w JDK, który zowie się JSTACK.
Dzięki niemu można podpiąć się do wybranej maszyny wirtualnej i dostać stack trace'y wszystkich wątków w maszynie.
To się przydaje żeby zobaczyć np. co teraz się dzieje.

W Windows jest w miarę prosto bo wyniki JSTACKa lecą prosto na konsolę, wystarczy więc je przekierować do pliku (tutaj mała uwaga jak używacie tego na odległej maszynie przez remote desktop to trzeba uruchomić MSTSC używając mstsc /admin (albo na niektórych systemach /console) ;-) )
Ale w Linuksie gdy chcemy podglądnąć Tomcata nie jest tak łatwo, wyniki JSTACKa lecą do loga Tomcata, czyli do catalina.out.
Same logi potrafią być ciężkie i trudno je pobierać za każdym razem z serwera żeby je sobie dokładnie przejrzeć.
No to spróbowałem dziś czegoś takiego:

tail -f catalina.out > toster.txt &
jstack <pid>
fg
Po czym zrobiłem sobie CTRL-C.
I co mam w wyniku w pliku toster.txt? :-) Kawałek cataloina.out z moim stosem :-) [fakt, że jak Tomcat jest mocno obciążony to będzie tam też dużo innych logów, ale to zawsze prościej pobrać plik mający nawet 1MB (a wydruk stosu taki może być ;-)) niż 20MB].

Same wyniki JSTACKa wyglądają tak:

"Thread Group 1-68" prio=6 tid=0x393c6800 nid=0x1304 runnable [0x3dd4f000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
- locked <0x1880b868> (a java.io.BufferedInputStream)
at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown So
urce)
- locked <0x18443280> (a sun.net.www.protocol.http.HttpURLConnection)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown So
urce)
at java.net.URLConnection.getHeaderFieldInt(Unknown Source)
at java.net.URLConnection.getContentLength(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPSampler.readResponse(HTTP
Sampler.java:204)
at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSample
r.java:470)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSa
mplerBase.java:863)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSa
mplerBase.java:849)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:300)
at java.lang.Thread.run(Unknown Source)

"D3D Screen Updater" daemon prio=8 tid=0x39407400 nid=0x98c in Object.wait() [0x
3999f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
- locked <0x0af4e198> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)

Pid procesu można dostać używając:

jps
z katalogu z JDK, w przypadku gdyby nie chwytało ja używam brzydkiej metody (i Linux zawsze na mnie krzyczy, że źle formatuje przełączniki do PS, ale moja wina, że ja miałem pierwsze doświadczenia z *niksami na HP-UX? ;-))

ps -aux | grep "java"
I któryś z wyników to zwykle nasza Java ;-)


Podobne postybeta
IE suxx ;-)
OpenOffice.org i inne produkty Open Source - ofiary kryzysu? ;-)
PROPFIND, czyli jak przechytrzyć HttpURLConnection
Kto mi podmienia certyfikat do GMAILa? ;-) A bardziej - jak? ;-)
"os.arch", "os.name", "sun.arch.data.model" co to jest i co pokazuje na jakiej maszynie i OSie? ;-)

Asus EEE Pad Transformer - pierwsze wrażenia

Jest coraz lepiej :-)
Na początku nie mogłem się jakoś do tabletu przekonać, ale im dalej w las tym lepiej.

Kupiłem już nawet pierwszy program z myślą o tablecie, czyli klawiaturę kciukową, która wygląda tak:



Zacznijmy od wad ;-)

  • Pierwszego dnia mi się sam z siebie 2-3 razy zresetował,
  • Przeglądarka co jakiś czas potrafi się po prostu wyłączyć,
  • Program MyLibrary jest głupi i wariuje jeśli mu wyjąć kartę SD bez jej odmontowania. Co najlepsze wariuje dokumentnie i nawet reset nie pomaga... trzeba jeszcze raz kartę włożyć i ją odmontować (moja wersja procedury wyglądała tak, że po włożeniu karty SD otwarłem z niej PDFa i ePuba, po czym wyczyściłem listę ostatnio otwieranych książek, po tym odmontowałem kartę),
  • Duże to jest i dość ciężkie, nie da się trzymać w jednej ręce na podobieństwo telefonu,
  • Telewizor się świeci


Plusy:

  • Ma olbrzymi telewizor,
  • Szybkie jest,
  • Przeglądarka ma tabki, synchronizuje się z Chrome, można samemu zdecydować czy user agent wskazywać ma na telefon czy komputer stacjonarny,
  • Ma najnowsze Google Music,
  • Fajnie się na tym książki czyta,
  • Jest w pełni obracalne, nieważne jak drania trzymasz i tak jest ustawiony dobrą stroną,
  • Ma Androida 3.1,
  • Od kopa można na nim czytać PDFy i ePuby (MyLibrary pomaga),
  • Ma ficzer zwany MyCloud i w nim MyDesktop, który pozwala na sterowanie PC z tableta ;-) (ale głupieje to to przy wielu monitorach i pokazuje tylko główny ;-))
  • wiele innych
Mój EEE Pad Transformer to wersja z 32GB storage'u, bez stacji dokującej. W środku jest 1GHz 2 rdzeniowa Tegra 2.
Sam tablet jest duży co jest i zaletą i wadą, zaletą jest jeśli chodzi o wielkość telewizora, wadą gdy chcemy go gdzieś odłożyć ;-) Jeśli porównywać go do Galaxy Tab'a (tego oryginalnego) to 2 połączone ze sobą Galaxy Taby dają rozmiar EEE Pad Transformera.
Asus mógłby jeszcze dodać do tabletu jakąś szmatkę bo szybka się strasznie palcuje i jakieś ubranko dla tabletu, bo tak to go strach nosić w plecaku.

Jak na razie jestem zadowolony ;-)


posted from Bloggeroid



Podobne postybeta
Jak okiełznać MyLibrary w EEE Pad Transformerze....
Oswajanie tableta
Nowa pozycja na liście "chcem!" ;-)
Elektryczna książka 2 - a może by tablecik? ;-)
Żarłoczny Firefox

czwartek, czerwca 16, 2011

Kretyni..

Jakim trzeba być kretynem by na terenie byłego obozu koncentracyjnego napisać "Anty Jude"?


Widać to po lewej stronie zdjęcia...
Ja rozumiem, że można kogoś nie lubić, ale bez przesady...
Tu zginęło killa tysięcy osób.

posted from Bloggeroid



Podobne postybeta
Smutno mi się zrobiło...
Użyszkodniki...
Cyniczne ja ;-)
Wybory
Co widuję w drodze z pracy... ;-)

środa, czerwca 15, 2011

Nie ma Księżyca :-(

I to wcale nie z racji trwającego właśnie zaćmienia....
Po prostu chmury go zakryły. Jeszcze z 20 minut temu widziałem coś czerwonego za chmurami, wyglądało jak bardzo chudy rogalik, ale teraz nie widać nic. I mi smutno z tego powodu.
Pewnie Księżyc pojawi się zza chmur dopiero jak się zaćmienie skończy...
Złe chmury, złe!

[Update: na szczęście w momencie samego zaćmienia i późniejszego odsłaniania pogoda dopisała i widziałem :-) Zrobiłem nawet parę zdjęć, ale nie najlepszych więc się nimi nie będę chwalił ;-)]

posted from Bloggeroid



Podobne postybeta
To jednak było zaćmienie ;-)
Tęcza
Foczka #2 ;-)
Informacja źródłowa
Zaćmienie Księżyca :-)

Test z Asus EEE Pad Transformer


Jak widać w tytule testuję teraz jak działa pisanie na bloga z Asus EEE Pad Transformer i z Androida 3.0 Honeycomb.
Nie jest źle :-) choć jak na razie pisanie nie idzie mi najlepiej.
Podoba mi się podpowiadanie słów, które działa tu dużo lepiej niż na moim Nexus S, ale to może przez to, że popsułem sobie tam słownik dogrywając do niego słowa.

Jak na razie nie umiem jeszcze ocenić Honeycomb (btw.najpóźniej jutro powinienem mieć już 3.1 :-)), ale pierwsze wrażenie nie jest złe.

posted from Bloggeroid



Podobne postybeta
Pomysł
Poprawiona wersja OpenOffice.org2GoogleDocs 0.8.1
Lekki przesadyzm ;-)
Ice Cream Sandwich - Nexus S coraz bliżej, EEE Pad Transformer czeka...
Nowa pozycja na liście "chcem!" ;-)

Multicast mi działa :-)

Jest dobrze :-)

Umiem wysłać i odebrać multicasta w Java'ie :-) Sprawdziłem przed chwilą w mojej sieci WiFi i działa :-)
Na Androidzie, co jest najważniejsze ;-) też działa, w każdym bądź razie wysyłanie działa.

Teraz tylko trochę wolnego czasu i ochoty do kodowania i zrobię sobie narzędzie do przeglądania urządzeń z Androidem przez WiFi. Zapewne już jakieś są, ale co mi szkodzi pomyśleć o własnym? ;-)

Schemat ma być taki, że w pewnych warunkach komputery w sieci i urządzenia z Androidem (w końcu to też komputery) będą rozsyłały multicasty, ci którzy je odbiorą będą dopisywać je do listy znanych urządzeń.
Teraz gdy będę chciał przejrzeć świeżo zrobione zdjęcia na telefonie nie będę musiał podpinać telefonu do komputera przez USB, ani wysyłać fotki do Picasy, wejdę raczej na lokalny (dla komputera) serwer Web, którym sobie połażę po wybranym urządzeniu :-) (i to urządzenie nie będzie musiało być wcale Androidem, inny komputer też to będzie mógł być :-)).
Teraz "tylko" trzeba to zakodować, a później uczynić w miarę bezpiecznym ;-)

Cały dotychczasowy kod powstał na podstawie tego artykułu. Nie dziele się kodem bo nie ma czym :-)


Podobne postybeta
Automagizacja ;-)
Kilka myśli ;-)
Starzeje się...
[Lifehack] Jak połapać się w ładowarkach ;-)
Chyba w końcu przejdę na ciemną stronę - otworzę sobie linię kredytową ;-)

wtorek, czerwca 14, 2011

Java wygrała ;-)

Lud przemówił ;-)

Wg. ankiety jaką tu w ostatnią niedzielę wstawiłem przyszłością jest Java ;-)

Java (nie tylko język, ale cały ekosystem z Groovy czy Scalą) uzyskała 60% głosów.
.NET uzyskał 20% głosów,
Inne uzyskały 20% głosów.

Wśród innych znalazły się Perl, Brainfuck, JavaScript i Python.

Obecność Brainfucka świadczy, że ktoś sobie zażartował ;-)

Głosów oddano łącznie 20 ;-) 12 było za Java'ą i jej ekosystemem, 4 za .NET i po jednym za Perlem, Brainfuck'iem, JavaScriptem i Pythonem (ten był także za całym Open Source :-)).

Czy te wyniki coś znaczą? Raczej nie, bo spodziewałem się podobnych ;-) Wiem kto czyta mojego bloga i kto "śledzi" mnie na Google Buzz i są to raczej ludzie z obozu Linuksa/Java'y niż Windows/.NET'a ;-)
Sam jestem z grupy Windows na biurku, Linux na serwerze, Java do programowania ;-)

Choć z drugiej strony mam nadzieję, że wyniki te pokazują prawdę ;-) i że tak będzie.
Nie życzę śmierci .NET i C#, ale zdecydowanie wolałbym uniknąć świata w którym one byłyby najważniejszymi "językami", dla mnie C# to popsuta Java, choć wiem, że wiele osób kocha C# i nienawidzi Java'y, ich prawo, ja wolę Java'ę i dlatego cieszy mnie wizja świata gdzie Java ma lepszą przyszłość ;-)


Podobne postybeta
Java 8 to taki wodospad ;-)
Java, .NET czy może ktoś jeszcze? ;-)
A może by tak porzucić prasę i social media?
100USD to jednak za dużo.....
Projekty ;-)

poniedziałek, czerwca 13, 2011

Ku pamięci ;-)

Notka dla siebie na przyszłość ;-)
Jak coś kupujesz w sklepie internetowym Euro AGD to nawet jak piszą, że produkt wysyłają w 24 godziny, to akceptacja transakcji kartą kredytową trwa 2 dni... robocze...
Czyli minimalny czas od zamówienia do dostawy to 3 dni. 3 dni robocze...

Amazon ma podobnie, tylko, że jest to Amazon UK, który paczki wysyła z Niemiec ;-)
Ot, taka drobna różnica ;-)


Podobne postybeta
Taniej :-)
Nexus 4 dopiero w drugiej połowie marca? :-(
Przyjaciel ;-)
Amazon fajny jest
Dużo książeczek :-)

Google Music - wrażenia

To, że zainstalowało mi się nowe Google Music na telefonie spowodowało, że zacząłem w końcu używać swojego konta w Google Music.

Wgrałem sobie tam kilkanaście utworów, głównie XTD, Purple Motion i Toque. Pewnie z czasem wrzucę jeszcze coś Skavena.

Samo wgrywanie muzyki jest dość kłopotliwe, w każdym bądź razie w moim przypadku ;-)
Trzeba zainstalować specjalny programik do wgrywania muzyki, nie można jej wrzucić przez stronę, trzeba użyć Music Managera. U mnie problem polega na tym, że mam go zainstalowanego tylko na netbooku ;-)


Music Manager może użyć kilku źródeł muzyki, w moim przypadku 1 katalogu, który przegląda co jakiś czas i jeśli coś znajdzie to uploaduje to do Google Music.
W Google Music będzie można trzymać do 20 tysięcy utworów (1500-2000 płyt, albo ponad 92 dni muzyki ;-)), na razie w ramach bety za darmo, z czasem się okaże.

Gdy muzykę już wgramy do Google Music to możemy ją odtwarzać w przeglądarce.


I to jest chyba największy problem. Z tego co widzę utwory są strumieniowane do naszego komputera. To jest na pewno ciekawe, ale oznacza ciągłe zżeranie transferu. Wyobraźcie sobie co będzie jeśli w firmie 20% pracowników zacznie czegoś takiego używać.....
Ciekaw jestem czy powstaną wtyczki do np. WinAmpa pozwalające na słuchanie muzyki z Google Music, albo czy Music Manager lub coś podobne zacznie też działać "w dół" ;-)
Jak to ma miejsce w Androidzie ;-)

Zrzuty programu dla Androida już wrzucałem, ale wrzucę jeszcze raz.
Tutaj wersja dla telefonu.


W Androidzie istnieje coś takiego jak możliwość "przypięcia" utworów z Google Music do urządzenia, dzięki temu nie używamy ciągle sieci do strumieniowania utworów.
Sam program dla Androida pozwala nam na pobranie utworów, na słuchanie przez sieć i ograniczenie się tylko do utworów dostępnych off-line.
Wersji dla tabletów jeszcze nie widziałem, ale mam nadzieję wkrótce zobaczyć ;-)

Ogólne wrażenia mam pozytywne. Początkowo byłem sceptyczny, ale teraz coraz bardziej mi się to podoba.
To może być dobry kierunek.
Sam co prawda wolę mieć wszystko lokalnie, ale to jest jednak krok w dobrym kierunku.

Jeszcze mogliby to wyjąć z bety i dodać możliwość zakupu muzyki.


Podobne postybeta
Foldery
The coolest bug ;-)
IT Gumisie ;-)
Google Music zachorowało :-(
2000 dni BuffyPedii

32 bity... wrrrrr....

Jednego nie wziąłem pod uwagę w moich czasowych przenosinach na pracowego laptopa ;-)
Że to jest 32 bitowy system.

Specjalnie skopiowałem sobie Eclipse'a tak by móc swobodnie pracować z Androidem, bo już miałem tam wszystko ładnie skonfigurowane.... nie wziąłem jednak pod uwagę tego, że akurat miałem 64 bitowego Eclipse'a ;-)
Teraz klikam w niego, a tu zima, Windows pisze mi, że ie może uruchomić programu..
Teraz muszę "uzdatniać" 32 bitową kopie do tego by była zdolna do pracy z moim SDK Androida ;-)

Mógłbym niby używać "pracowego" MyEclipse'a albo Eclipse'a, ale zawsze uważałem, że najzdrowiej rozdzielać pracowe rzeczy od prywatnych.
Teraz mi nawet nie do końca pasuje to, że używam tej przeglądarki, której używam "w pracy" ;-)

Podobne postybeta
Clock JB+, czyli zegar z Jelly Bean 4.2 dla starszych Androidów
32 bity vs. 64 bity, tym razem C++ ;-)
"CPUInfo" w Java :-)
No nie przy jedzeniu....
Galaretkowo-budyniowy life-hack ;-)

niedziela, czerwca 12, 2011

Papa laptopku..... ;-)

Odsyłanie laptopa do serwisu jest jak żegnanie się ze starym przyjacielem ;-)
Trochę mnie przeraża, że przez następne 2-3 tygodnie (a może i więcej??) będę musiał używać pracowego laptopa w domu i miejscu spania.
To fajny sprzęt jest, ale ma Win XP i nie jest mój.
Pewnie przez ten czas będę częściej używał też netbooka, a może i zabiorę mojej rodzicielce na jakiś czas starego Acera, a jej dam Californię Access, która ciągle u niej stoi zastąpiona Acerem ;-)

Teraz robię finalne kopiowanie plików, pewnie zbyt wiele kasuję i backupuje, ale lepiej więcej niż mniej ;-)
Jeszcze trzeba będzie rozsynchronizować przeglądarki, możliwe że im po prostu skasuje profile i przekopiuje je w bezpieczne miejsce. Już to zrobiłem z Thunerbirdem, którego używam jako backupu poczty z GMAILa ;-)

No, ale tak smutno będzie bez mojego laptopka, bez River (od River Tam ;-))


Podobne postybeta
Chumbawamba "Charlie" - wypijmy za Darwina :-)
Historia jednego #....
Zapominalstwo ;-)
Papa dla ClientLogin
Delete Driven Development ;-)

Java, .NET czy może ktoś jeszcze? ;-)

Ja mam swoje zdanie, ale chciałbym poznać i wasze ;-)

Dlatego proszę o głosowanie ;-)

Chodzi o zbiorową ocenę przyszłości bez podziału na enterprise, mobile czy desktop.
Jeśli uważacie, że w kategorii posiadania świetlistej przyszłości wygrywa Java, Groovy, Scala i ogólnie cały ekosystem Java'y to głosujecie na Java'ę ;-)
Jeśli uważacie, że najbardziej świetlaną przyszłość ma przed sobą .NET, z C# który ma wiele ficzerów na które Java jeszcze latami będzie czekać to wybieracie .NET
Jeśli uważacie, że i Java i .NET przegrają z LAMP, albo z Pythonem czy co tam jeszcze jest to wybieracie Other i wpisujecie co wg. Was ma przyszłość :-)


[tutaj link do formularza jak ktoś np. z Google Buzz ;-)]


Jak uzbiera się trochę odpowiedzi to pochwalę się tutaj wynikami :-)

Niech mądrość tłumów przemówi ;-)


Podobne postybeta
Nimbus vs. Ocean - nowy Look And Feel w Swing
Java wygrała ;-)
Jak oceniasz swoje bezpieczeństwo? - podsumowanie
396 m2 ekranu
Zgadujemy wyniki wyborów ;-)

piątek, czerwca 10, 2011

Google Music zachorowało :-(

[Aktualizacja :-)
Tak, Google Music jest chore, ale wystarczy wyczyścić cache przeglądarki, lub otworzyć okno w trybie incognito i już wszystko działa jak powinno.......  te kropki są od tego, że nadal nie rozumiem czemu w takim przypadku źle to wszystko wyglądało nawet w IE czy Operze, w których nigdy wcześniej nie otwierałem Google Music ;-)]

Chciałem się pobawić Google Music do którego udało mi się zdobyć zaproszenie.
Chciałem sprawdzić czy dodano coś nowego, czy można się czymś nowym pobawić....

A tu okazało się, że Google Music zachorowało :-(

Strona wygląda tak:

Jeśli powiększycie obrazek to widać, że niestety strona jest nie do użycia, i rzeczywiście klikanie na ikonki rozrzucone niemal losowo po stronie nic nie daje.

Myślałem najpierw, że to wina przeglądarki, dlatego sprawdziłem także w Firefoksie 4.0, Operą 11 coś, IE 9, a nawet IE 10 preview.
I wszędzie strona wyglądała tak samo.

Pomyślałem, że może to coś u mnie w sieci, więc specjalnie włączyłem moje MiFi (nie jest to technicznie MiFi, ale to ładna nazwa na hot-spot z modemem 3G w środku ;-)) i sprawdziłem na netbooku, efekt ten sam :-(

Teraz tylko trzeba mieć nadzieję, że to wynik tego, że jestem w Europie.


Podobne postybeta
Google zachorowało na księgowych...
Wytrzymałość baterii w EEE Pad Transformer - test przy pomocy "potworów" ;-)
The coolest bug ;-)
Co to jest to ciasteczko, czyli czemu web cookies nie są złe ;-)
Zły provider, albo głupi ja ;-)

Problem języka

Kolejny raz jestem w sytuacji w której trudniej opisać jak ma działać pewna funkcjonalność aplikacji, niż tą funkcjonalność zakodować ;-)

W językach programowania jest na tyle fajnie, że bloki są równocześnie pojedynczymi "wyrazami", stąd takie coś:

if (a) {
doThing();
if (b) {
doSth();
} else {
doOtherSth();
}
} else {
doYetAnotherThing();
}
Jest dość jasne i łatwe do przeczytania jeśli się jest programistą ;-)
Rysunek jest ciut bardziej skomplikowany:
Ale nadal można go ogarnąć.

Ale jak to zapisać po polsku?

Jeżeli a to doThing, następnie sprawdź czy b, jeśli tak to doSth, w przeciwnym przypadku doOtherSth.
Jeśli nie a to doYeatAnotherThing.

Jak dla mnie to jest to o wiele bardziej skomplikowane. Dodatkowo nie pokazuje zależności między stanem a, a tym co ma zostać zrobione.... no i jakby nie patrzeć nie da się z tego też napisać tego samego kodu, bo można ten zapis "słowny" odczytać jako:

if (a) {
doThing();
if (b) {
doSth();
} else {
doOtherSth();
}
}
if (!a) {
doYetAnotherThing();
}
A wbrew pozorom to nie to samo ;-) Bo tamto w razie jak nam jakiś zły wątek zmieni stan a to zadziała tak jak powinno, a to drugie może jednocześnie wejść do pierwszego ifa, a później do drugiego ;-)

To by znaczyło, że zapis słowny powinien iść jakoś tak:

Jeżeli a to doThing, następnie sprawdź czy b, jeśli tak to doSth, w przeciwnym przypadku doOtherSth.
Jeśli w momencie poprzedniego testu a było nieprawdziwe to doYeatAnotherThing.


Jeszcze bardziej zamotane. Chociaż choć częściowo thread safe ;p

Fajniej by było gdyby wszyscy umieli programować ;-)


Podobne postybeta
Sztuczki tropiciela błędów, part 4
Java 8 nadchodzi....
Odwiedzacze 2 ;-)
[*] najbardziej pusty imotek
Najmocniejszy "żart" Prima Aprilisowy

wtorek, czerwca 07, 2011

The coolest bug ;-)

W Androidzie są błędy, sam ich zwykle nie doświadczam, ale ostatnio dzięki kilku z nich zyskałem kilka rzeczy, których z racji mieszkania w Polsce mieć nie powinienem ;-)

Po pierwsze w moim Nexus S działa nawigacja :-)
Jest jedno "ale", działa tylko przy pierwszym uruchomieniu, przy drugim nie działa, i trzeba uruchamiać ją sposobem.
Sama nawigacja nie wygląda może najlepiej, ale w trakcie jazdy działa w miarę znośnie (choć dobrze jest wtedy wyłączyć komunikaty głosowe, bo są daremne ;-))


Samo włączenie Nawigacji na Nexus S z Androidem 2.3.4 wymaga sztuczki ;-)
Wchodzimy do Google Maps, wyszukujemy cel, klikamy nań i klikamy guziczek wyszukiwania drogi, pojawi się menu w którym wybieramy Nawigacja Samochodowa (lub jak ktoś woli iść to Nawigacja Piesza).
Teraz uruchamia się Nawigacja.
Jeżeli się nie uruchomi i wyświetli info, że Nawigacja jest niedostępna w tej lokalizacji to trzeba wejść do dowolnego managera zadań (np. Home, Menu -> Aplikacje -> Uruchomione) i zabić tam Mapy, po tym powtórzyć pokazane wcześniej kroki ;-)

Po drugie działa mi Google Music :-)
I to także razem z dostępem do utworów, które mam na koncie Google Music ;-) [tutaj uwaga, żeby założyć konto trzeba być w USA...]
Szczerze to nie wiem czy nowe Google Music działa mi z powodu błędu czy dlatego, że mam konto w Google Music (z 1 utworem ;-)).
Sama procedura instalacji wyglądała tak, że wszedłem na webowy Android Market na Google Music i jakimś trafem miałem możliwość zainstalowania Google Music na moim Nexus S (G1 było szare). Kliknięcie Install nie spowodowało instalacji... ale po jakimś dniu w Android Markecie na telefonie zobaczyłem Google Music jako dostępne do ręcznej aktualizacji. Klikanie na aplikacji nie skutkowało bo Android Market informował mnie, że nie ma takiego programu... ale przytrzymanie palca dłużej na programie pokazało menu, z którego mogłem wybrać Aktualizuj i już podziałało ;-) (tu ważna uwaga, na moim Nexus S już była Google Music, ale wyglądało tak jak wcześniej)
Tutaj dwa screeny z mojego Nexus S :-)



Po trzecie działają mi Google Books :-)
Nie mogę nic kupować, ale w końcu widzę aplikację i mogę ją uruchomić :-)


A nawet czytać darmowe książki :-) [tutaj Sherlock Holmes]
Tu ważne info, na moim telefonie Google Books było zainstalowane "od zawsze", ale ich nie widziałem w Launcherze. Były, a jakoby ich nie było ;-)

A wszystko to chyba przez drobne błędy w Androidzie ;-) w sprawdzaniu lokalizacji użytkownika :-)
Wielki plus dla Google :-)
To jest sztuka zrobić błąd, który działa na korzyść usera ;-)



Podobne postybeta
Moto 360 i Android Wear po 3 dniach - zaczynam dostrzegać zalety ;-)
Najprostszy OCR ;-)
Google Music zachorowało :-(
Google Music - wrażenia
Gadające Gadu-Gadu

Co się z tą młodzieżą dzieje? ;-)

Takie pytanie sobie zadałem po obejrzeniu wyników MTV Movie Awards 2011 ;-)

Jak Best Kiss mógł dostać pocałunek między Kristen Stewart i Robertem Pattinson'em z The Twilight Saga: Eclipse, skoro ich kontrkandydatkami były Natalie Portman i Mila Kunis w Black Swan?
Natalie Portman i Mila Kunis!!!

To samo z Best Fight, zwyciężyła walka z The Twilight Saga: Eclipse, czyli Robert Pattinson vs. Bryce Dallas Howard i Xavier Samuel.... a przecież była tam też walka Chloë Grace Moretz vs. Mark Strong z Kick-Ass.

Młodzież nam na psy schodzi ;-)

Podobne postybeta
Pokusa, problem, zaskoczenie i spostrzeżenie ;-)
Kto chce mieć szare życie?
Książkowy luty
Jak Henryk VIII i Dynastia Tudorów uczy, że demokracja is the best! ;-)
Kiedy trigger words będą w mailach obowiązkowe? ;-)

poniedziałek, czerwca 06, 2011

Pokusa, problem, zaskoczenie i spostrzeżenie ;-)

Pokusa dnia:
Asus EEE Pad Transformer 32GB bez stacji dokującej za 1899 PLN w Euro :-) Prawie się skusiłem, ale przeczytałem plotki, że w ciągu 10 dni mają się pojawić wersje ze stacją dokującą i postanowiłem poczekać (z 10 dni ;-))

Problem dnia:
W pracy mój telefon gdy miał czas ustawiany wg. sieci zaczął przyspieszać o 2 godziny ;-) W pewnym momencie spojrzałem na telefon i z przerażeniem zobaczyłem 14:32.... coś mi się późno wydawało, sprawdziłem na zegarku, a na zegarku 12:32 ;-)
W miejscu spania wszystko już jest OK.

Zaskoczenie dnia:
Dziś oglądałem sobie na MTV.com klipy z MTV Movie Awards 2011 i wyciągnęło mi to ponad 1GB transferu :-)
Nie pomyślałbym :-)

Spostrzeżenie dnia:
Konkurencja w mobile robi dobrze :-) Android gonił iOSa przez pożyczanie od iOS ficzerów, teraz iOS goni Androida przez pożyczanie ficzerów od Androida :-) To cieszy :-)
Jedna smutna rzecz, zapewne za rok, lub dwa Apple zaskarży Google o łamanie patentów Apple w notyfikacjach ;-) [dla niezorientowanych, notyfikacje są w Androidzie od wersji 1.0, dziś dowiedzieliśmy się, że będą w iOS 5 w postaci takiej samej jak są w Androidzie ;-)]


Podobne postybeta
Nowa pozycja na liście "chcem!" ;-)
Co się z tą młodzieżą dzieje? ;-)
Niepomyśleli....
Strzeż się uses-feature
MJ

Pomysł antypiracki ;-)

Na HackerNews trafiłem na posta autora gry na iPhone'a który skarży się, że ludzie piracą jego grę.
W wątku jest między innymi tekst o tym, że nie może patrzeć na to tak, że 500 pirackich pobrań = 500 osób, które inaczej by zapłaciły. Z tym się zgadzam.

Cały ten wątek sprawił, że przyszedł mi do głowy pomysł ;-) Ciekaw jestem czy by działał, albo czy działa (jeśli jest skuteczny to na 99% już ktoś go używa ;-)).

Chodzi o to by program po kilku dniach używania wyświetlił w jakiś ładny sposób podziękowania za jego zakup, z informacją, że dzięki temu autor, czy autorzy będą mogli tworzyć jeszcze lepsze aplikacje, że dzięki temu wierzą w ludzi i tak dalej. Ogólnie chodzi o to by wzbudzić w ewentualnym piracie uczucie wstydu, a w legalnym użytkowniku poczucie spełnienia dobrego uczynku ;-)
Coś w ten deseń "Dziękuję za Twój zakup i wybór trudniejszej, ale chyba lepszej drogi, czyli wydania paru złotych/dolarów/etc zamiast pobierania pirackiej wersji, która na pewno gdzieś można znaleźć. Dzięki takim ludziom jak Ty ........" i tak dalej ;-)

Łatwo usprawiedliwić przed sobą spiracenie czegoś co jest zabezpieczone, a na dodatek autorzy/wydawcy traktują wszystkich jako złodziei. Trudniej usprawiedliwić przed sobą spiracenie czegoś gdzie mamy do autora jakieś cieplejsze uczucia.

Wydaje mi się, że taka strategia będzie działać. Chociaż pewnie do czasu, aż ludzie się opatrzą z takim podejściem ;-)
Ale ogólnie ludzie chcą być dobrzy i trzeba im zwykle tylko dać okazję do bycia takimi.

Ta, możliwe, że jestem po prostu naiwny i pełen wiary w ludzi ;-) ale wydaje mi się, że coś takiego może działać.


Podobne postybeta
W przemyśle filmowym muszą pracować idioci...
Do chudości przez szantaż
Czemu filmowe AI jest prawie zawsze tak bardzo tępe?
Wheel emotion hacking ;-) [pomysł ;-)]
Wymarzone miejsce do życia i pracy ;-)

niedziela, czerwca 05, 2011

OOo2GD 3.0.0 - eksportowanie do Google Docs bez konwersji :-)

No to mamy nową wersję 3.0.0 OOo2GD :-)
W tej wersji dodałem możliwość eksportowania i importowania plików bez konwersji do Google Docs (najpierw trzeba plik wysłać do Google Docs bez konwersji, później takie pliki mogą być pobierane bez konwersji :-)).


Jednak ponieważ strona z rozszerzeniami OpenOffice.org nie działa, to do pobierania nowej wersji zapraszam na stronę projektu ;-)

Nowości:
- wspomniana już wcześniej możliwość eksportowania plików bez konwersji,
- praca z grafikami ODG, ale tylko bez konwersji.

Jeżeli Twój dokument można wrzucić bez konwersji i z konwersją ujrzysz taką wersję okienka eksportu:


Nowością jest checkobx "Convert to Google Docs format" (w polskiej wersji powinno być inaczej, ale właśnie do mnie dotarło, że zapomniałem dodać używanie wersji językowych dla tego pola ;-)... no to już wiem co będzie w kolejnej wersji ;-)).
Jeżeli ten checkbox będzie zaznaczony (domyślnie jest, ale można to zmienić w konfiguracji) OOo2GD wyeksportuje plik konwertując go do formatu Google Docs.
Jeżeli będzie niezaznaczony to eksport odbędzie się bez konwersji, wyeksportowany zostanie plik binarny, a więc wszelkie formatowania, wzory i inne podobne rzeczy nie zostaną utracone.... Brzmi świetnie, nie? ;-)
Nie jest jednak, aż tak różowo, bo niestety z takim plikiem nie można pracować w Google Docs :-( Google Docs robi w takim przypadku za taki "dysk".

Jeśli chcesz wyeksportować plik, który jest "niekonwertowalny", np. grafikę ODG to zobaczysz okienko, które będzie wyglądało tak:


Updatowanie działa tak jak działało :-)


Podobne postybeta
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
Wersja 2.0.0 OOo2GD już jest :-)
Podejrzanie szybko....
OpenOffice.org i Google Docs :-)
OOo2GD 1.9.0 w kierunku bezszwowości ;-)

sobota, czerwca 04, 2011

Kraków - miasto dla Pogromcy ;-)

Dawno temu na liście dyskusyjnej buffy-pl tworzyliśmy Polską Pogromczynię, czyli naszą słowiańską odpowiedź na Buffy ;-)
Opowiadanie poszło w złą stronę, ale to szczegół ;-)
Ważne, że już jestem pewien gdzie Polska Pogromczyni mieszkać powinna ;-) W Krakowie.
Sam Kopiec Kraka i Smocza Jama dają dużo do gromienia, ale skoro istnieją tu takie domy:


To nie może istnieć miasto bardziej dogodne dla Polskiej Pogromczyni ;-)

posted from Bloggeroid



Podobne postybeta
Sen i dziwne pytanie ;-)
Anioł Ciemności - polskie DVD :-)
DVD BtVS sezon 2
O! Pociąg ;-)
Co widuję w drodze z pracy... ;-)

piątek, czerwca 03, 2011

Bez Facebooku, programik, Galaxy Tab i parking ;-)

Z ciekawości próbuję życia bez Facebooka, to 2 dzień bez zaglądania tam i jakoś mi go nie brakuje ;-)

Zwykle zaglądałem z 5-6 razy dziennie na FB, na 1-2 minuty by zobaczyć co się dzieje, teraz tego nie robię i jakoś mnie to nie boli :-)
A, że od jakiegoś czasu używam rozszerzenia do Chroem Disconnect, które blokuje wszelkie przyciski Like i podobne to już wkrótce FB może uznać, że zaginąłem ;-)

Inna sprawa, pomysł kolega z pracy dziś podsunął na aplikację. Alkomat ;-) Podajesz ile ważysz, ile płynów wyskokowych przyjąłeś, a to to liczy ile masz wg. teorii promili ;-)
Sam nie spożywam, ale może coś takiego się na Androida rzeczywiście przyda? ;-) [jakieś opinie? ;-)]

A jak o Androidzie mowa to mi się zaczął podobać Galaxy Tab. Inny kolega z pracy kupił i to całkiem sympatyczne jest.
Istnieje poważne ryzyko, że jeżeli zejdzie poniżej 1000 złotych to się mogę skusić ;-) (w sklepie, nie na Allegro ;-)).
W ogóle się zastanawiałem czy nie zrobiłem błędu biorąc od Ery (jeszcze, już od niedzieli T-Mobile...) modem z routerem, może było nie brać i kupić takiego Galaxy Taba z 3G? Normalnie przy pomocy WiFi by mogło robić za hotspot, a poza tym byłoby tabletem......

Ze złych rzeczy jutro trzeba będzie wcześnie rano (nie wiem kiedy... czy 8 wystarczy, czy może 7??) będzie trzeba auto przestawić bo "naprawiają" parking. Źle ;-)


Podobne postybeta
2 kolejne rzeczy ;-)
Disconnect, Facebook, PayPal i wykop, czyli 1 plus i 3 minusy ;-)
Jak utrudnić życie złodziejom kart ;-)
Jestem u mechanika i mi się nudzi...
Galxy Tab w Erze i ciekawe ceny za transfer :-)