Moje projekty / OpenOffice.org2GoogleDocs / Bloggeroid / Gadacz / Chrome2Chrome / Kontakt ze mną   

piątek, czerwca 10, 2011

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
Kiedy trigger words będą w mailach obowiązkowe? ;-)
Czytelnictwo ;-)

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....
MJ
Google mi wyłączyło kawałek jednego z API ;-)

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 :-)
Zmienne Go ;-)

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...
Telegram

środa, czerwca 01, 2011

Psikusy ;-)

Oto w co znalazłem dziś przerobiony mój monitor w pracy ;-)

Kolega za to znalazł miecz ognisty i masę żółtych karteczek przyklejonych do biurka ;-) i nie kryję, że się do tego przyczyniłem ;-)

Monitor przerobiony w Androida zostanie ;-)

A wszystko przez to, że wczoraj internet nawalił.

posted from Bloggeroid




Podobne postybeta
Dowcipy biurowe ;-)
Personal Kanban chyba działa
Sierpień - podsumowanie czytelnicze
Blogger i Google+ w końcu razem? ;-)
Wyrzuć 1 rzecz dziennie

Lekcja na dziś - żeby konfiguracja działała trzeba ją zapisywać i odczytywać ;-)

W sobotę i niedzielę zakodowałem wsparcie dla niekonwertowanych plików Google Docs w OOo2GD.
Dodałem też 1 ustawienie do okna konfiguracji, które pozwala zapisać które ustawienie chcemy mieć domyślnie, czy ma to być konwersja, czy jej brak.
Dodałem nawet używanie wartości z obiektu z konfiguracją do ustawiania checkbox'a w okienku uploadu.

Problem był w tym, że mogłem sobie ustawiać tą wartość w konfiguracji jak chciałem to i tak nie działało ;-)
Fakt w plikach konfiguracyjnych wszystko się zapisywało, ale później już nic nie działało.

Chociaż nie, jeszcze wczytywał tą konfigurację, ale nie używał jej dalej ;-)

Dziś zajrzałem do kodu i już wiem czemu tak było :-)

Napisałem zapisywanie stanu obiektu z konfiguracją, napisałem wczytywanie stanu obiektu z konfiguracją, użyłem nawet tego stanu w oknie uploadu. Zapomniałem jednak dodać kod, który wrzucałby do tego obiektu z konfiguracją to co użytkownik ustawił w okienku, oraz o kodzie do ustawiania konfiguracji w okienku wg. tego co było w obiekcie ;-)
Ot takie niedopatrzenie ;-)


Podobne postybeta
Olśnienie... chyba wiem jak zrobić R-Drive [czyli dysk R:\ będący "obrazem" Google Docs ;-)]
OOo2GD 2.1.0 - filtrowanie, sortowanie [dla niektórych ;-)] i bardziej *nixowe nazwy
Bloggeroidujemy ;-)
User Interface... jak ja tego nie lubię...
O wyższości Mavena nad Gradlem ;-)