piątek, września 30, 2011

sobota, września 24, 2011

Wybory wygra PO... z prawdopodobieństwem 67.4% ;-)

Jeżeli dobrze liczę to na podstawie zakładów w całym kraju wyboru wygra PO z prawdopodobieństwem 67.4%.
Prawdopodobieństwo wygranej dla 5 partii o największym poparciu to:


Partia Prawdopodobieństwo wygranej
PO 67,4%
PiS 25,7%
SLD 4,8%
PSL 1,6%
Ruch Poparcia Palikota 0,4%



Nie mam zbytnio jednak pomysły czy dałoby się (i w razie czego jak to zrobić ;-)) przeliczyć to na wyniki wyborów.
Danymi wejściowymi było to co przeczytałem dziś na WP o tym ile można wygrać za postawienie na kogo 100 PLN ;-)

Trochę przerażające jest to, że PiS ma blisko 26% szans na wygraną......


Podobne postybeta
Złe wieści
Przewidujemy wyniki wyborów ;-) - wyniki
Pogoń za sensacją to jednak przeginka....
Jak można przegrać wybory gdy się je wygrywa?
O Ruchu Poparcia Palikota, czyli RPP ;-)

piątek, września 23, 2011

Stefany.... - moja pełna kolekcja :D

Się pochwalę ;-)
Oto moja kolekcja Stefanów ;-)
Pierwsze 12 przyjechało do mnie wczoraj (przyjechało 16, ale niektóre są podwójne :-)). Pierwszy jest o tyle ciekawy, że to jest rzadki przypadek, który pachnie jak czekolada :-)

Które wam się najbardziej podobają? ;-) [najlepiej udzielić odpowiedzi na Google Plus]

















Podobne postybeta
Ważenie Stefanów
Przemek w krainie Stefanów ;-)
Stefan albinos przybył... i trochę przerażający jest ;)
Taniej :-)
Stefan czuwa na posterunku..

czwartek, września 22, 2011

Book vs eBook

Tak się składa, że mam jedną i tą samą książkę w postaci papierowej i elektronicznej.

Książka to Fallacy of Fine-Tuning, której autorem jest Victor J. Stenger.

Wersję elektroniczną mam dla Kindle i tak to wygląda na EEE Pad Transformerze:


Jak widać tekst jest czytelny, ale wkładka ze wzorami i obrazkiem jest właśnie niczym innym niż obrazkiem i nie rozpływa się zbyt ładnie na ekranie.

To samo w książce wygląda tak:


Jak widać ramka ze wzorami i rysunek są na całej szerokości strony, a przez to są bardziej czytelne.
Do tego czytelnik nie uzna obrazka i ramki za coś niezależnego od tekstu.

Jak dla mnie wersja papierowa jest czytelniejsza.
Na korzyść wersji elektronicznej przemawia to, że mogę ją czytać niemal wszędzie i na wszystkim, a książkę papierową muszę ze sobą nosić.... z drugiej strony powstaje pytanie "i co z tego?" ;-)

Sam po paru miesiącach zabawy z eBookami stwierdzam, że nie są najgorsze gdy chodzi o beletrystykę, ale książki popularno-naukowe, techniczne i podobne raczej nie działają tak jakbyśmy chcieli ;-)
Może to sprawa składu i tego, że w przypadku papieru ktoś to wszystko musi ładnie rozmieścić na stronach, a w przypadku wersji elektronicznej decyduje o tym jakiś niezbyt rozgarnięty algorytm? ;-)


Podobne postybeta
eBook - jak na razie się nie opłaca
Pomysł dla wydawców gazet i magazynów
Casual programming a SF ;-) co się nim powinno dać zakodowane?
Tak sobie, czyli co bym chciał lub co mnie męczy ;-)
Spryciarz z Londynu i kilka uwag o tłumaczeniu

Robimy z telefonu/tabletu z Androidem serwer WebDAV ;-)

W Androidzie brakuje mi od początku łatwego podpinania do komputera....
Jest kabel USB, ale trzeba się bawić z kablami, trzeba odpinać kartę SD/storage od urządzenia gdy jest podłączone kablem by udostępnić tą kartę/storage komputerowi (co jest niefajne np. ze względu na mobilne Google+ i Instant Upload, który głupieje w takim momencie).

Najpierw mi po głowie chodziło zrobienie serwera WWW dla Androida, który by serwował pliki. Zrobiłem takowy, ale nie miał opcji wrzucania plików, ale nawet dodanie jej by wiele nie pomogło z racji tego, że trudno byłoby wrzucać np. kilka katalogów naraz.

No to do głowy przyszedł mi serwer WebDAV :-) który można podpiąć z Total Commandera (z Windowsa samego też, ale akurat tu mam problem o którym dalej).

Prosty serwer WebDAV to nie jest znów żadna filozofia do napisania, mój składa się z 2 plików, które zawierają 6 klas [z czego aż 3 to anonimowe :-)] i nie licząc automatycznie wygenerowanego kodu liczy sobie koło 450 linii.
Potrafi obsłużyć komendy: OPTIONS, PROPFIND, PUT, DELETE, MKCOL i GET co pozwala na operacje takie jak listowanie katalogów, wrzucanie plików, kasowanie plików, tworzenie katalogów i pobieranie zawartości plików. Żeby było łatwiej wszystkie metody olewają nagłówki w stylu Depth (który to oznacza jak głęboko powinna być wykonana komenda w stylu DELETE).
To jednak wystarcza do tego by Total Commander potrafił korzystać z takiego serwera :-)

Niestety Windows nie jest w stanie zmapować takiego WebDAVowego zasobu jako dysku i do końca nie wiem dlaczego.

Ciekawą sprawą są transfery. Wrzucanie plików lub pobieranie ich z mojego tabletu EEE Pad Transformer to transfer zwykle w okolicach 1.1-1.2 MB/s, w przypadku G1 to 700-800 KB/s, w przypadku Nexus S (uwaga! :-)) 8-80 KB/s z czego często jest to te 8 KB/s :-)

Jakby ktoś był zainteresowany to mogę zrobić wersję ciut bardziej "dla normalnych ludzi".
Bo mnie np. nie przeszkadza, że adres urządzeń jest wypisywany od tyłu i wygląda np. tak:
102
1
168
192
:-)
Więc jak ktoś zainteresowany to można to zgłaszać w komentarzach tu lub na G+ :-)


Podobne postybeta
Coś jest nie tak z komputerami
PROPFIND, czyli jak przechytrzyć HttpURLConnection
EEE Storage :-)
Moto zakład
U mnie Linux vs Windows ma teraz wynik 5 do 4, a było 6 do 3 ;-)

sobota, września 17, 2011

Dajcie mi język marzeń ;-)

Ostatnie informacje o nowym języku Dart od Google (nic o nim nie wiemy :-)) i o Windows 8 z jego Metro w którym HTML5/JavaScript będą pełnoprawnymi graczami spowodowały, że znów zacząłem tęsknić za fajnym językiem ;-)

Fajny język to taki, który byłby lekki i mocny jednocześnie ;-)

Lekki oznacza, że uruchomienie programu byłoby szybkie i nie zżerałoby od razu całej pamięci, do tego by programy w tym języku można było pisać "z palca" gdyby nam się to podobało.

Mocny oznacza, że nie musielibyśmy się ograniczać do pisania "z palca", że istniałaby cała armia narzędzi do refactoringu, deployowania, profilowania i projektowania UI. Do tego, że aplikacje w tym języku mogłyby swobodnie korzystać z całego asortymentu komputera. Że nie byłoby kretyńskich ograniczeń bezpieczeństwa. Najlepiej gdyby aplikacje uruchamiane "z dysku" mogły używać całej sieci i zapisywać na dysku, a takie z internetu musiałyby przychodzić z polityką bezpieczeństwa, np. podobną do tej z Androida z zastrzeżeniem, że i programista i użytkownik mogliby sobie zażyczyć by pozwolenie na daną rzecz było przyznane, odebrane, przyznane na sesję, przyznane jednorazowo. Powinny mieć też możliwość ingerowania w system, np. korzystania z traya (czy tego co wtedy będzie) albo tworzenia wirtualnych dysków/folderów.
Powinny też w razie konieczności móc "gadać z systemem", czyli w wersji dla takiego Windows powinny być dostarczone interfejsy do gadania np. z ActiveX.

Lekkość ma JavaScript i HTML5 jeśli chodzi o pisanie z palca, HTA miała lekkość w uruchamianiu, podobnie mają teraz aplikacje dla Chrome, choć tu jest to lekkość pozorna, bo nadal taka aplikacja dla Chrome potrzebuje masy pamięci na Chrome.

JavaScript nie jest jednak "mocny", nie ma dla niego zbyt wielu narzędzi do "prawdziwego programowania", do tego dystrybucja takiego programu jest utrudniona (CRX z Google Chrome pomaga). Aplikacje nie mogą się z systemem integrować. Np. dostęp do systemu plików był możliwy w HTA, ale nie w Chrome. Do tego choć HTML jest fajny to nie pozwala na wszystko, może by dodać do niego zestawy bibliotek do UI? By nie było tak, że chcąc autocomplete trzeba pisać swój (lub szukać w sieci).

Chciałbym np. by Dart był lekki, tak lekki by można było w nim popełniać np. aplikacje dla Androida, bo przecież do większości rzeczy, w stylu wyświetlania newsów czy kursów walut nie potrzebujemy niczego innego niż HTML z natywnymi dodatkami. Ale by jednocześnie był na tyle mocny, że można by było w nim pisać większe aplikacje bez obawy tego, że się osiwieje gdy trzeba będzie je debugować albo refactorować....

Pewnie się jednak tego czego chcę nie doczekam ;-)

Moje marzenie na start Darta to wrzucenie go od razu do Chrome, wrzucenie Chrome do Androida i to takie, że "tabki" mogłyby być osadzane jako widgety, albo mogłyby działać jak strony (np. z własnym stackiem "aktywności"), do tego by istniała możliwość dostępu do sieci (nawet po czymś podobnym do HttpXMLRequest z HTML/JavaScript/DOM). Wtedy ta sama niemal aplikacja mogłaby działać na telefonie, tablecie, chromebooku czy PC.
Do tego Google Drive, na którym przy użyciu prostego API można by było składować dane takich aplikacji.....

Pomarzyć można, nie? ;-)


Podobne postybeta
Złośliwe pytania
O wyższości aplikacji natywnych nad tymi w HTML5 - od strony developera
Chromium OS na Asus EEE PC 900
Chromebook w praniu, czyli tam i z powrotem, Kraków - Londyn - Kraków w 30 godzin
Język programowania na Apokalipsę ;-)

piątek, września 16, 2011

Geolokalizacja postu z obrazka, czyli nie taki Exif zły :-)

Poniżej próbka widoku z okolicy mojego miejsca spania w Krakowie.

Zdjęcie zrobiłem Nexusem S i dzięki temu ma ono geolokalizację, która od teraz Bloggeroid potrafi wykorzystać jako źródło lokalizacji dla postu :-)
Ten ficzer dostępny jest w Bloggeroidzie w wersji 1.8, do pobierania której zapraszam :-)
Linka znajdziecie niżej, w "stopce" postu :-)

posted from Bloggeroid




Podobne postybeta
Pixel XL jest genialny
Bloggeroid 1.1 :-)
Eksperyment z geolokalizacją
Exif jest zły - część 2 :-)
Exif jest zły ;-)

Exif jest zły - część 2 :-)

Niestety próba użycia ExifInterface w Androidach 2.0+ spełzła na niczym. Po prostu namiary na obrazek mam w postaci URI dla content providera. Mogę kombinować z przerabianiem tego na nazwę pliku, ale jakoś mi się odechciało ;-)

Za to spojrzałem na kod do którego linka podesłał AMP w komentarzu. Kod jest w Pascalu/Deplhi, ale jak na razie udało mi się już na Java'ę przenieść wykrywanie, że w pliku JPG są dane Exif i tego, że w tym Exif są dane z GPS :-)

Nie potrafię nadal tych danych Exif o położeniu odczytać, ale już wiem, że są i jest szansa, że jeszcze trochę posiedzę i uda mi się coś z tego odczytać :-)

Co prawa czytanie strumienia po bajcie wydaje się być ciut lamerskie, ale jak na razie działa :-) No i działa na strumieniu, co jest o tyle super, że content provider spokojnie mi strumień może podarować :-)

Ale działanie na danych w "Java'owych bajtach" jest wredne... Szczególnie, że w JPEG jak na złość można używać tak małego jak i dużego Indianina ;-) [Little Endian albo Big Endian, czyli porządku takiego jak w Intelowskim x86, albo w Motorolowej M68000] co powoduje, że trzeba przeliczać różne cosie....
Niby jest DataStream, ale z tego co mi się wydaje on używa "Java'oweg" porządku...


Podobne postybeta
Exif jest zły ;-)
Hackowanie odczytu danych Exif ;-)
Jak zostać wrogiem wolności słowa ;-)
Geolokalizacja postu z obrazka, czyli nie taki Exif zły :-)
Zły provider, albo głupi ja ;-)

czwartek, września 15, 2011

Znikające komputery ;-)

Skończyłem czytać 2010 Odyseja Kosmiczna.

W Podziękowaniach ACC napisał:
"Książka ta została napisana na mikrokomputerze Archives III przy oprogramowaniu WordStar i przesłana z Kolombo do Nowego Jorku na jednej pięciocalowej dyskietce. Korektę przetransmitowano dzięki satelicie Intelsat V i stacji naziemnej Padukka."

Terry Pratchett też chyba informował w paru swoich książkach o tym na jakich komputerach powstały.

Przypomniało mi to, że ja sam jeszcze parę lat (prawie 11 lat) temu tworząc BuffyPedię umieściłem w niej informację o komputerach użytych do jej tworzenia.

Częste kiedyś też były stopki w mailach z informacją o komputerach.

A teraz co?
Brutalnie mówiąc komputery tak nam spowszedniały, że zwykle nie pamiętamy nawet modelu który mamy :-)

Straszne, nie?

Coś co 30 lat temu było cudem, 20 lat temu było super zabawką, 10 lat temu jeszcze było czymś nie do końca normalnym, dziś jest tak powszechne, że nie zwracamy nawet na to uwagi....


Podobne postybeta
Knigi dobre :-)
Clarke
Bloggeroid 1.5.0 - czas lokalizacji ;-)
Nowy Gadacz v0.2
Odyseja Czasu - Burza Słoneczna

środa, września 14, 2011

Exif jest zły ;-)

Jakoś tak w niedzielę naszła mnie myśl, że fajnie by było dodać do Bloggeroida możliwość pobierania lokalizacji ze zdjęcia.
W końcu nie zawsze blogujemy z miejsca o którym piszemy, no i w takim przypadku możliwość użycia danych o lokalizacji zdjęcia byłaby miła...
Problem z tym, że ExifInterface, czyli klasa która potrafi odczytać dane Exif jest dostępna dopiero od Androida 2.0...
No to zacząłem szukać po sieci informacji o tym jak ten Exif działa, by samemu sobie napisać jego obsługę. No i okazuje się, że nie jest to trywialne. Nie da się po prostu odczytać czegoś spod jakiegoś offset, trzeba się bawić w zabawy z całą strukturą, a jak na razie nie udało mi się nigdzie znaleźć jakiegoś na tyle fajnego opisu Exif by być w stanie odczytać tą część tej struktury, która mnie interesuje.
Pewnie skończy się na tym, że dodam pierwszy ficzer działający na Androidzie wyższym lub równym 2.0.

posted from Bloggeroid




Podobne postybeta
Exif jest zły - część 2 :-)
Geolokalizacja postu z obrazka, czyli nie taki Exif zły :-)
Rewolucja w fizyce?
Hackowanie odczytu danych Exif ;-)
.asm - to było fajne rozszerzenie plików z programami ;-)

poniedziałek, września 12, 2011

Mark as old działa ciut inaczej niż myślałem...

No proszę, dopiero przed chwilą do mnie dotarło, że Mark as old dla błędów w konsoli programisty Android Market działa całkiem inaczej niż myślałem.
Po oznaczeniu błędy jako Old nie zobaczy się już żadnego jego kolejnego wystąpienia na stronie głównej...
Ja tam zawsze myślałem, że to działa tak jak zrobienie maila "przyczytanym" w programie pocztowym.

Się człowiek przez całe życie uczy.

posted from Bloggeroid




Podobne postybeta
Co się z tą młodzieżą dzieje? ;-)
Samochód jako zmniejszacz temperatury.... GC i jak to możliwe, że Young Generation może być zbyt duże, strzeż się finalize() i muzyczka :-) Czyli potok świadomości....
Kontakty
Droga do celu..
Zabawy z Chrome, chrome.storage.sync jest wielkie :-)

niedziela, września 11, 2011

No czemu? Czemu .NETowa DLLka to nie DLLka? ;-)

Mam pretensje do Microsoftu ;-) Poczamu nie zrobili tak by DLL generowane z .NET były zwykłymi DDLkami? (chodzi mi o takie generowane z C#)
Wydaje się, że nie powinno to być trudne. Pierwszą instrukcją w takiej funkcji wołanej w DLL powinien być call do podprogramu, który sprawdzałby czy jest w .NET czy poza, gdyby był poza to sprawdzałby czy odpalony jest .NET, jeśli nie to by go uruchamiał i stawiałby "most" miedzy sobą, a .NETem tak by wywoływać odpowiednie procedury (czyli .NET by ładował tą bibliotekę ponownie i robił swoją część roboty).
Wtedy wołanie z .NET polegałoby na call, następnie robiłby się call do procedury sprawdzającej czy jest wykonywane przez .NET, jeśli tak to by robiło ret, za tym call były kod, który po prostu cośby "zaświecał" ;-) i robił ret, a .NET już by sobie resztę kodu za tym wykonywał po swojemu.
Mieliby dość dużą interoperacyjność przy niskich kosztach.
Z tego co mi po głowie chodzi coś takiego jest robione w niektórych KVM (Kilobyte Virtual Machine, czyli maszynach wirtualnych Java'y dla J2ME dostarczanych przez producentów komórek), głowy nie dam, ale jeśli to jest opatentowane to patent ma Google po ostatnich zakupach ;-)

Teraz to i tak jest już po truskawkach, bo to draństwo (czyli .NET) ma około miliona lat...

Zresztą ciekawa sprawa, jeszcze .NET 2.0 było w stanie produkować DLLki, które mogły robić w IE za OCXy, ale później z tego zrezygnowali. Ciekawe czemu.
Teraz by zrobić np. wtyczkę do Total Commandera przy pomocy C# trzeba robić jej wrapper w C++ i cudować, albo bawić się w obiekty COM.

Rozumiem, że problem mógłby być z GC. Bo byłby problem z tym jak zarządzać obiektami, które byłyby zwracane z DLLki, ale wydaje się, że można by je było w odpowiednim miejscu pamięci umieszczać i zakładać, że będą nieosiągalne dla GC i tyle. To mógłby być problem, ale z drugiej strony można by przyjąć, że taka DLLka zwracałaby kopię obiektu... OK, tu przyznam, że za mało wiem jak Windows wewnętrzne realizuje DLLki, jak wygląda problem z dostępem do ich zmiennych i podobne, ale z racji tego, że to Microsoft stworzył DLLki to pewnie mieliby parę sztuczek do tego by uniknąć wycieków pamięci przy jednoczesnym "unatywnieniu" DLLek z C#...

Fajnie by było jakby tak mogli (bez cudowania), byłaby jakaś zaleta ;-)


Podobne postybeta
A gdyby tak JNI bez JNI? ;-)
Potworność ;-) czyli mnożenie w 90 liniach ;-)
Plug-in master ;-)
Seek & Click - automagicznie wykryj buttona i na niego kliknij ;-)
Ha! Ochidna Echidna potrafi updatować pliki :-)

sobota, września 10, 2011

Porzucam OpenOffice.org dla LibreOffice ;-)

Powód jest jeden i widać go niżej ;-)


W końcu mogę mieć interfejs aplikacji po polsku, a nazwy funkcji w Calcu po angielsku. Za to pokochałbym nawet MS Office (mam w pracy angielską wersję, więc szczerze to nie wiem czy polska nie ma przez przypadek takiego przełącznika :-)).

Osobiście przewidziałem specjalne miejsce w piekle dla ludzi pokroju tej osoby, która wpadła na pomysł, że SQRT lepiej będzie "brzmieć" jako PIERWIASTEK a STDEV jako ODCH.STANDARDOWE....
OK, rozumiem, większość użytkowników nie zna angielskiego, więc to miało sens, ale nie można było dodać od razu możliwości używania angielskich nazw w polskiej wersji? No, ale po latach się doczekałem :-)


Podobne postybeta
Algorytm - czemu w szkole nie uczą jak obliczyć pierwiastek? ;-)
Jakieś święto, czy co?
"Obiektywizm"
Postanowienia noworoczne ;-)
Zamiast EMPIKu zarobił Amazon, albo o tym, że polskie ebooki są słabe

piątek, września 09, 2011

Przesyłanie "obcych" na odległość, albo uniwersalny format danych ;-)

Czytam sobie "2001 Odyseja kosmiczna" i jestem w okolicach gdy HAL9000 głupieje.
To spowodowało, że przypomniałem sobie inną AI z książek Arthura C. Clarke'a, czyli Atenę z "Burzy Słonecznej".
Atena z 2 innymi AI wysyła się w kosmos i po jakimś czasie trafia do odbiorników jakiejś obcej cywilizacji gdzie zaczyna znów działać w jakimś rodzaju sandboxu.

I tak się zacząłem zastanawiać czy można przesłać program komputerowy tak by można go było zawsze uruchomić?
Albo jeszcze prościej, czy można stworzyć format, który komputer "binarny" byłby w stanie zawsze zrozumieć? [gdzie zawsze oznacza po odpowiednio wielkiej ilości prób].

Wydaje mi się, że tak, choć nie mam pewności :-)

Wyobrażam sobie to w taki sposób.

Najpierw mamy liczbę n bitową [np. 32 bitową], powiedzmy 1024 [zapisaną na 32 bitach].
Później mamy 1024 liczby od 0 do 1024.

Ten fragment "załatwia" nam definicję liczb "dodatnich".

Później mamy kolejną liczbę 1024 i następnie liczby od -1023 do 0.

To definicja liczb ujemnych.

I pokazujemy, że potrafimy zakodować liczby ujemne i dodatnie... może nawet powinno być tak, że najpierw napisalibyśmy 2048, później zaś dali liczby od -1023 do 1024?

Teraz "nauka" bardziej skomplikowanych "formatów".

Tu nie mam jeszcze pomysłu :-) Ale idea jest taka by "nauczyć", że najpierw jest np. długość w "słowach", później ilość powtórzeń "bloku", a później bloki [i każdy ma swoją długość].

Teraz dobrze by było przedstawić "opcody".

Niechby to był "język" podobny do assemblera x86.
Byłoby kilka rejestrów, np. 6 + 1 do licznika instrukcji.

Zacząłbym od ADD.
długość ramki,opcode (np. 0xADD :-)),teraz rejestry czyli najpierw 7 razy 0, później 6 zer i 1.
po tym znów:
długość ramki,opcode (np. 0xADD :-)),teraz rejestry czyli najpierw 0, później 1, dalej 5 razy 0, później 1,0,0,0,0,0,1.
Liczę, że to by już pokazywało, że ADD działa na 2 pierwszych rejestrach i że ten ostatni może mieć coś wspólnego z licznikiem rozkazów.
Później:
długość ramki,0xADD,1,1,0,0,0,0,0 a za tym 2,0,0,0,0,0,1

To samo dla kolejnych paru liczb.
W końcu dla -1 i 1, -2 i 2 i -1023 i 1023.

Później by "pokazać", do czego służy licznik instrukcji walnąłbym coś w stylu:
ADD 10,10,0,0,0,0,0 -> 20,0,0,0,0,0,0,1
ADD 20,10,0,0,0,0,1 -> 30,0,0,0,0,0,0,2
i tak dalej.

W końcu prosty program w stylu:
ADD 1
ADD 20
ADD 30
ADD 10

i wynik w pierwszym rejestrze jest 61.
Najpierw program zapisany tak, że byłyby zapisane stany rejestrów, czyli
ADD,0,1,[zera],0
ADD,1,20,[zera],1
ADD,21,30,[zera],2
ADD,51,10,[zera],3

i wynik, następnie program tak jak powinien wyglądać, czyli to co było wyżej (ADD i liczba jako 1 linia) i znów wynik jako stan rejestrów. Później serię takich programów.

Następnie MOV, i programy używające MOV i ADD i wyniki ich działania.

Dalej reszta rozkazów.

Widzę tu masę problemów ;-) ale zakładam, że przy takim przekazie "odbiorca" mógłby podchodzić wiele razy do przekazu, tak by w końcu dostawać wyniki zgodne z "przekazem".

Na końcu takiego "pakietu" można by było umieścić właściwy program.

Ale gdyby się to udało to można by było załatwić resztę przekazu też. Najpierw przesłać program, później za nim dane dla tego programu :-) i moglibyśmy tak wysyłać dowolny format danych, bo zawsze miałby w sobie odtwarzacz :-)

Co najlepsze, taki "odtwarzacz" uniwersalny do takich danych nie byłby chyba znów tak skomplikowany, bo musiałby "tylko" odpowiednio wiele razy próbować uporządkować format tak by mu wszystko działało.

Pewnie zbytnio upraszczam, ale wydaje mi się, że takie coś by mogło działać :-)

Może więc 1 wiadomość jaką dostaniemy od obcych będzie w takim formacie? ;-)


Podobne postybeta
Celeron M353 900MHz vs. Intel Atom 1.6GHz, czyli o tym czemu jest remis? ;-)
Algorytm ;-)
Hackowanie odczytu danych Exif ;-)
Defragmentacja SSD - o tym dlaczego nie należy jej robić
Referencje w Java'ie

czwartek, września 08, 2011

Wróżba na dziś ;-) - Google Drive będzie częścią Ice Cream Sandwich

Stawiam wróżbę:
Domena drive.google.com, stanie się częścią Playtupsa (czyli Google Drive) będzie uruchomiona i związana z Androidem Ice Cream Sandwich.

Koniec wróżby ;-)


Podobne postybeta
Ice Cream Sandwich na moim Nexus S :-)
Addictive TV
9 userów :-)
Oddajcie robota!!!
Domena :-)

środa, września 07, 2011

Life - iteracja 2 ;-)

Coś sobie musiałem napisać bo inaczej bym zgłupiał ;-)
No to mamy wersję "Life" dla Canvas w JavaScript.



Żeby zobaczyć jak to działa należy przycisnąć Run!
Najlepiej i najszybciej działa na Chrome.
Liczę, że w podobnych postach pojawi się taki, w którym wytłumaczone jest o co chodzi w grze o życie (grze życie?), czyli Life Conway'a.


Podobne postybeta
Yes or No? czyli tworzenie UI to nie jest prosta sprawa.
Tym razem chcę bezszwowej TV ;-)
Duże obrazki w Bloggeroidzie
Chrome, Firefox, IE9 preview i cieniowanie Gouraud'em w JavaScript
Jak nauczyć się żonglować? ;-)

poniedziałek, września 05, 2011

Jak wykryć spamowe konto w Google+

Co jakiś czas zauważycie w Google+, że ktoś dodał Was do swoich kręgów.
Niby super, ale okazuje się, że niektórzy z tych nas dodających są fałszywymi profilami, ba można nawet powiedzieć, że nie niektórzy, a znaczna część.
Wystarczy zajrzeć do tego co publikują by zobaczyć, że np. podejrzanie dużo osób ma reposty o felgach....

Ale tutaj będzie krótki przepis jak wykrywamy drani.

Jeżeli ktoś przyszedł w większej grupie, to jest szansa, że to takie fałszywe konto i to już jest sygnał.
Jak ma zbyt ładne zdjęcie to też. Dlatego najlepiej wejść wtedy na TinEye i wkleić tam adres obrazka danej osoby.... i wtedy można się dowiedzieć np. że osoba nosząca nasze polskie imię i nazwisko ma obrazek, który występuje w całej sieci jako obrazek stworzony ze złożenia kilkudziesięciu zdjęć kobiet, albo znów jako model ;-)
Nie mam tylko pomysłu co później z takimi profilami robić, zgłaszać, blokować, ignorować, a może coś jeszcze? :-)
Jakieś pomysły?


Podobne postybeta
Tytuły spamów wyglądają po prostu "źle"
Statystyki przeglądarek, ktoś ma na pewno niemal doskonałe ;-)
Telewizyjne zastanawianie
Na przekór
Czekanie na mieszkanie ;-)

niedziela, września 04, 2011

O tym o co mam pretensje do Google ;-)

Nie chodzi o zmiany cen w GAE, dają za darmo to mają prawo zmniejszyć quota'ę.
Nie chodzi o Android Market gdzie ich algorytmy tak zwariowały, że Bloggeroid jest strasznie daleko gdy szuka się ciągu "Blogger".
Nie, to wszystko pikuś.

Ja mam do nich pretensję o "Bulk" w GMAILu ;-) Bo jakoś tam mi wylądował mail informujący o tym, że właśnie rozpoczął się czas zapisów na bilety na Olimpiadę w Londynie w 2012 roku ;-)
Dopiero dużo później zobaczyłem, że w Bulk mam ponad 500 maili, ale to było jakieś półtora tygodnia po końcu "zapisów" ;-)
Szczerze to do teraz nie rozumiem zasad wpadania tam maili i nie wiem nawet kiedy się to zaczęło.

Ale jest jeszcze nadzieja ;-) wysłałem maila do resellera, który organizuje całe wyjazdy... a nóż się uda? ;-)


Podobne postybeta
GAE zmienia ceny i darmową quota'ę... a ja zmieniam kod ;-)
Katowany "łomot" ;-)
Przemowy współczynnik fajności firmy ;-)
Moja własna akcja w Google Home ;-)
Dziwne te ludzie ;-) - pazerność2

sobota, września 03, 2011

Ekran co się świeci vs. matowy ekran

Jakiś czas temu na FB Asus spytał co mogliby poprawić w EEE Pad Transformer, wszyscy krzyczeli, żeby dodali 3G, albo o podobnych pierdołach, tylko ja chciałem wyświetlacza, który nie robi za lusterko....

Tutaj wizualne wyjaśnienie dlaczego ;-)

Najpierw zdjęcie ekranu mojego EEE Pad Transformera zrobione Nexus S przy automatycznym ustawieniu jasności (wyświetlany jest mój blog w standardowych kolorach):


Jak widać można sobie swobodnie mnie i moje otoczenie obejrzeć ;-)

To samo z ustawioną jasnością ekranu na 100%:


Jest lepiej, bo widać mnie tylko w miejscach gdzie nie ma białego tła.

Dla porównania ta sama strona na moim netbooku EEE PC 900:


W ogóle problemu nie ma, nie?

A trzeba przyznać, że przy białym tle nie jest jeszcze tak źle.
Teraz blog przełączony w tryb jasne literki na ciemnym tle, przy 100% jasności (automatycznej nie dodaję bo to jest wtedy 100% lusterko i ktoś może zadać pytanie czy mnie pogięło, że w ogóle to kupiłem ;-)):


Nawet w sytuacji gdy obraz jest strasznie jasny to i tak ekran robi za lusterko.

Teraz to samo na EEE PC 900:


I znów na matowym ekranie nic się nie odbija.

Jak widać ekrany glare to zło. Kretyński wymysł marketingu i "konkurencyjności" w sprzedaży świecidełek.
Czekam na pierwszego producenta, który powie "dosyć!" i da do tabletu normalny, matowy ekran, a nie to świecące ohydztwo.


Podobne postybeta
Cywilizacja migających diod i lampeczek ;-)
Patenty
Ergonomizujemy
Informacja źródłowa
Spektroskop z płyty CD :-)

GAE zmienia ceny i darmową quota'ę... a ja zmieniam kod ;-)

Google postanowiło zmienić cennik w Google App Engine. Niestety oznacza to też zmiany w wielkości darmowej quota'y.
Mnie wyliczyli, że pod nowymi cenami będę musiał płacić nawet 1 USD dziennie za www.przemelek.pl, gdzie największe obciążenie związane jest z 1 servletem, który obsługuje sprawdzanie czy nie ma nowej wersji OOo2GD :-)
Jak widać najwięcej kosztowałoby mnie coś co zowie się "Fronted Instances Hours".
Z tego co rozumiem są to godziny aktywności instancji. Jeśli aplikacja działa tak, że ciągle uruchomiona jest 1 instancja to będzie tych godzin 24 i wszystko jest OK, jeśli aplikacja działa tak, że GAE odpala nową instancję to są problemy.
Tutaj obejście jest proste, wystarczyło dodać <threadsafe>true</threadsafe> do appengine-web.xml i wszystko wygląda dobrze.

Gorzej jest z przekraczaniem ilości "Datastore Writes", wychodzi że przeciętnie mam tego 140 tysięcy sztuk dziennie, a za friko to mogę dostać tylko 50 tysięcy....
Tutaj podjąłem działania, które mam nadzieje zaowocują spadkiem liczby zapisów ;-)

Do teraz miałem tak, że każde uderzenie w servlet dla OOo2GD powodowało zapis do bazy, później co 2 minuty startowało zadanie z CRONa, które sprawdzało czy są jakieś zapisane uderzenia i na ich podstawie uaktualniało "statystyki".
Teraz od razu uderzenie w servlet uaktualnia statystyki, do tego robi to tylko wtedy gdy żądanie przyszło po GET.
Często 1 zapytanie o nową wersję OOo2GD oznacza 4 uderzenia w servlet, pierwsze jest GETem, 3 pozostałe to PROPFINDem. Do teraz wszystkie się rejestrowały i później zadanie z CRONa musiało filtrować to tak by zapisać 1 aktualizację.
Teraz powinno być lepiej, a co najlepsze powinno to eliminować dodatkowe zapisy do bazy :-) [wychodzi na to, że kasowanie też jest liczone jako zapis, co ma sens, ale kasowanie 100 rekordów to też 100 zapisów :-(].
Na razie jednak nie wiem czy, a jeśli tak, to o ile się poprawią moje statystyki ;-) Po poniedziałku powinno być wiadomo.

W najgorszym przypadku wyłączę po prostu liczenie tych statystyk, bo apkę na GAE chcę mieć nadal ;-)


Podobne postybeta
Prawdopodobieństwem w quote'e ;-)
O tym o co mam pretensje do Google ;-)
Moja własna akcja w Google Home ;-)
Niestraszna mi quota w Google App Engine ;-)
Spóźnialskie Google Latitude ;-)

piątek, września 02, 2011

Lep na odwiedzaczy ;-) - plan lekcji

Ewidentnie szkoła się zaczęła ;-)
Skąd to wiem?

Bo bardzo dużo wejść na bloga było z szukania ciągu "plan lekcji android".
Tak się złożyło, że w ramach testowania AppInventora postanowiłem napisać ponad rok temu plan lekcji 3 metodami. Standardowo jak to się w Androidzie robi, czyli w Java'ie, przy pomocy AppInventora i przy pomocy HTML5.
I teraz ludzie tam wpadają szukając czegoś o planie lekcji dla Androida ;-)


Podobne postybeta
Plan lekcji dla Androida ;-)
6-4=2 ;-)
Korelacje
Zobowiązanie TopCoderowe ;-)
Komputer bez sieci nie ma już sensu

czwartek, września 01, 2011

Wyprorokowałem ;-) - okulary 3D :-)

Nie taki marny jednak prorok ze mnie ;-)
Niecałe 3 lata temu prorokowałem:
W ciągu 2-3 lat [w wariancie optymistycznym], lub w ciągu 5-8 lat [w pesymistycznym] do użytku zaczną wchodzić okulary 3D podpinane do komputera, które pozwolą cieszyć się pełną trójwymiarowością.
No i wychodzi, że miałem rację ;-)

To jeszcze nie ma chyba akcelerometru, ale to tylko kwestia czasu ;-)
Jeszcze ja bym prosił, żeby pamiętać o takich jak ja, czyli o ludziach w okularach ;-) i by te urządzenia także dla okularników działały :-)


Podobne postybeta
Marny ze mnie prorok ;-)
Przepowiednia ;-)
Gdybym miał okulary Google.... (znaczy, kiedyś będę miał ;-))
Dart - się mnie podoba :-)
Post pierwszy - czy wiesz o czym wie, lub może wiedzieć Twój telefon? ;-)