niedziela, sierpnia 31, 2014

Data binding w Polymerze jest oszukany ;-)

Bawię się Polymer'em od Google i bardzo mi się podoba, chociaż trochę mnie zawodzi.

Chciałem połączyć tag <google-map> z moim <geo-location>, miało to wyglądać tak:


<geo-location id="loc" lat="{{lat}}" lon="{{lon}}"></geo-location>


<google-map id="map" latitude="{{lat}}" longitude="{{lon}}" minZoom="1" maxZoom="30" fit></google-map>

Gdzie {{lat}} i {{lon}} służyć miały do przekazania wyników z <geo-location> do <google-map>...

Problem w tym, że to działa tylko wewnątrz <template>, czyli musiałem stworzyć swój nowy tag <my-map>:

  <link rel="import" href="bower_components/polymer/polymer.html">

  <link rel="import" href="google-map.html">

  <link rel="import" href="geo-location.html">

  

<polymer-element name="my-map">

<template>

    <geo-location id="loc" lat="{{lat}}" lon="{{lon}}"></geo-location>

    <google-map id="map" latitude="{{lat}}" longitude="{{lon}}" minZoom="1" maxZoom="30" fit>

</google-map>

  </template>

  <script>

    Polymer('my-map',{});

  </script></polymer-element>

Tylko po to by móc przerzucić mapę do lokalizacji w której się znajduje wyświetlający ją komputer.

Przy okazji mój tag <geo-location> wygląda tak:


<link rel="import" href="bower_components/polymer/polymer.html">

<polymer-element name="geo-location" attributes="lat lon">

<template>

    <style>

    :host {

      display: none;

    }

    </style>

  </template>

  <script>

    Polymer('geo-location', {

        lat: 0.0,

        lon: 0.0,

      created: function() {

        var t = this;

        function updatePosition(position) {

            var lat = position.coords.latitude;

            var lon = position.coords.longitude;

            t.lat = lat;

            t.lon = lon;

        }

        navigator.geolocation.getCurrentPosition(updatePosition);

      }

      

    });

  </script>

  

  

</polymer-element>

Działa bardzo prosto.
Najpierw wskazuje, że ma dwa atrybut lat i lon, później zaś w momencie wywołania przez Polymera kodu dla eventu created pobiera lokalizację z navigatora i przerzuca ją do lat i lon obiektu.

Ta konieczność trzymania tego wszystkiego w oddzielnym tagu jest trochę niefajna.
Przyjemniej by było gdyby data binding działał także poza tagami.

[to całe moje zajmowanie się Polymerem wynika stąd, że obiecałem za 2 tygodnie zrobić o nim prezentację w pracy w ramach Technical Friday ;-)]


Podobne postybeta
Najkrótsza droga do przyszłości - Polymer ;-)
Polymeryzacja AngularJS ;-)
"Kodowanie" na Chrome OS ;-)
Lepszy test mniejszy i dokładniejszy, niż większy i ogólniejszy ;-)
Z NMEA do KML (chyba najbardziej kryptyczny tytuł postu jak stworzyłem ;-))

[Updated] Czytanie Pocketa ;-)

W moim Pocket jest parę tysięcy artykułów do przeczytania....
Szanse na to, że je wszystkie przeczytam są bliskie zeru (musiałbym chyba już teraz czytać z 3-4 miesiące non-stop).
Dlatego czasami słucham artykułów.
Na Androidzie jest to proste, ale czasem potrzebuję tego na PC.

Tutaj pomocny przychodzi skryptozakładka, której kod wygląda tak:

javascript:{function speak(txt) { var u = new SpeechSynthesisUtterance(txt); speechSynthesis.speak(u); }; var elems = document.getElementById("content").innerText.split("."); var idx=0; function s() { if (!speechSynthesis.speaking) speak(elems[idx++]); if (idx<elems.length) setTimeout(s,100);}; s();}

Cała idea jej działania polega na tym, że najpierw pobierana jest treść wpisu (wraz z tytułem i paroma dziwnymi rzeczami), później treść wpisu dzielona jest na zdania i w końcu są one czytane.

Wszystko działa na Chrome.

Czasem może dostać zadyszki i wtedy ratuje nas tylko speechSynthesis.cancel() w konsoli JavaScript.

Należy jej używać będąc w artykule w Pocket.
Kod powyżej należy wkleić do skryptozakładki (jak zakładka tyle, że zamiast adresu strony ma to co wyżej).

Update:
Nowa wersja skryptozakładki:

javascript:{function speak(txt) { var u = new SpeechSynthesisUtterance(txt); speechSynthesis.speak(u); }; var elems1 = document.getElementById("content").innerText.split("\n"); var elems=[]; for (var i=0; i<elems1.length; i++) { var el = elems1[i].split("."); for (var j=0; j<el.length; j++) elems.push(el[j]);}; var idx=0; function s() { if (!speechSynthesis.speaking) speak(elems[idx++]); if (idx<elems.length) setTimeout(s,100);}; s();}

Update2:
Coby mieć pewność, że czytanie będzie po angielsku trzeba dodać jeszcze jedną rzecz do skryptozakładki :-)

javascript:{function speak(txt) { var u = new SpeechSynthesisUtterance(txt); u.lang="en-US"; speechSynthesis.speak(u); }; var elems1 = document.getElementById("content").innerText.split("\n"); var elems=[]; for (var i=0; i<elems1.length; i++) { var el = elems1[i].split("."); for (var j=0; j<el.length; j++) elems.push(el[j]);}; var idx=0; function s() { if (!speechSynthesis.speaking) speak(elems[idx++]); if (idx<elems.length) setTimeout(s,100);}; s();}


Podobne postybeta
Bookmarklet do robienia CSV z obligacjami i ich oprocentowaniem ;-)
HTML5 goodies - localStorage
Ile w tym i przyszłym miesiącu z odsetek za obligacje?
Ile z obligacji... odsłona 2 ;-)
localStorage odsłona 2 - zaczynają się kłopoty ;-)

czwartek, sierpnia 28, 2014

0:00 - godzina updatów ;-)

Kiedyś to była godzina duchów, dziś, dzięki technologii i planom nocnym północ to czas updatów ;-)

Wtedy właśnie robię apt-get update po czym apt-get upgrade, to wtedy Chromebookowi każę sprawdzić czy nie ma nowej wersji systemu, a na wszystkich urządzeniach Androidowych sprawdzam czy nie ma aktualizacji w sklepie ;-)

Właściwie tylko Android Studio pozwalam szukać updatów wcześniej.

Co też nielimitowany internet komórkowy między 0:00 a 9:00 robi z człowiekiem.... ;-)


Podobne postybeta
Google zachorowało na księgowych...
Oni tak na poważnie w Windows?
Windows Mobile 6 w Asus A636N
OOo2GD w Ubuntu 9.10 - da się.
Bloggeroid na Chrome OS - to działa... czasami ;-)

środa, sierpnia 27, 2014

A może by tak rubber duck debugging stosować do problemów życiowych? ;-)

Zauważyliście, że tym łatwiej dawać rady [albo nie dawać, ale mieć swoje zdanie] im mniejszy związek emocjonalny z tym komu się radzi?
Wtedy człowiek zwykle bardziej racjonalny jest.

Ciekawe czy dałoby się racjonalnie spojrzeć na swoje sprawy?

Taki rubber duck debugging daje jakieś hinty jak można do tego podejść.
Tam przez opowiadanie problemu, czyli przepuszczenie go przez fragment mózgu, który odpowiedzialny jest za mowę odsuwamy trochę problem od siebie i przez to często widzimy go w innym świetle i przyczyna staje się oczywista.

Może więc w razie problemów w życiu osobistym należałoby je spisywać, albo mówić sobie nagrywając się na video? :-)

[OK zrobiłem eksperyment i hmm... może i działa, ale nie wiem czy tędy droga ;-)]

Trzeba próbować dalej ;-)


Podobne postybeta
5 prawd życiowych ;-)
OO.org i Google Docs bez konwersji są tuż tuż ;-)
Trzy heurystyki developerskie, których wdrożenie uchroni Cię przed zawałem i pozwoli przebić balon zadufania ;-)
Nie czaję... ;-)
Złe Markety ;-)

poniedziałek, sierpnia 25, 2014

Ficzer, za który lubię Linuksa ;-)

Ten jeden ficzer rekompensuje mi wiele niedogodności, które przynosi ze sobą Linux ;-)



Szczególnie w połączeniu z głupim gestem, który sprawia że po przesunięciu myszy do prawego dolnego rogu ekranu pokazuje mi się właśnie taki widok i mogę łatwo przesunąć się do odpowiedniego obszaru roboczego (przy okazji brakuje mi tego na OS X, jest z gładzikiem, ale z myszą jakoś nie udało mi się tego zrobić).


Podobne postybeta
Multisystemowość ;-)
Coraz więcej dnia :-)
Oni tak na poważnie w Windows?
Moto 360 i Android Wear po 3 dniach - zaczynam dostrzegać zalety ;-)
XKX to poprawny country code... z tym, że dla obszaru który nie wszyscy uznają za kraj ;-)

Migracja

Moja podróż do Nju mobile została rozpoczęta ;-)
Dziś podpisałem papiery i dostałem SIMa na którym jest numer tymczasowy, który sobie jednak odpuszczę i poczekam aż mój numer zostanie zmigrowany z T-Mobile do Nju mobile.

Co mi się podoba to to, że na każdym etapie dostaję maile z wyjaśnieniem co się stało i co będzie dalej.
Dzięki temu wiem czego się spodziewać i kiedy.
Widzę też, że firma się o mnie troszczy.

Wystarczyło napisać kilka dobrych wzorów tekstu i wysyłać je w odpowiednim momencie i klient czuje się poinformowany.

Zawsze mnie zaskakiwało, że taka banalna rzecz, która ma gigantyczny wpływ na odbiór jest ponad zdolnościami pojmowania wielu speców od marketingu.

Bronią się tekstami, że przecież klienci wiedzą (nie wiedzą), albo że "nasz personel zawsze chętnie poinformuje" (zwykle nie z własnej woli bo mają swoje problemy, a na dodatek słabo im płacicie więc czemu się mają starać?).

A wystarczy sobie typowe sytuacje opisać i wysyłać w odpowiednim momencie maila i klient będzie zadowolony.

Podejrzewam, że nawet odpowiednio spreparowany tekst (grzeczny!) dotyczący braku opłaty rachunku by sprawy przyspieszył.


Podobne postybeta
Telefon jako repeater WiFi ;-)
Pixel i iPhone mają chyba inne "filozofie" pracy z radiem ;-)
Windows 8 - na razie czekam ;-)
Jak utrudnić życie złodziejom kart ;-)
Strzeż się uses-feature

niedziela, sierpnia 24, 2014

Piękne aplikacje, co to właściwe jest?

Co czyni aplikację piękną?

Nieraz byłem proszony o podanie przykładów pięknych aplikacji........
I mam z tym problem.

Po długim zastanawianiu jestem w stanie podać Moves, którego i tak już nie używam od czasu gdy przeszli pod skrzydła Facebooka (chociaż to był tylko pretekst, samo Moves zjadało mi zbyt dużo baterii). Ale Moves było ładne.

Podałbym Keep, ale chociaż ładne to zbyt często ma problemy z komunikacją, a wersja webowa zbyt często szaleje.

Flipboard mi się podoba, a dokładniej podobał, ale dawno doń nie zaglądałem bo oszukuje, coś pokazuje ja chcę zajrzeć, a to znika bo się zrobił update.

Używam często Zite, ale chociaż bardzo mi się podoba to co pokazuje (w sensie ciekawe treści) to nie nazwałbym go pięknym. Ale chociaż nie oszukuje ;-)

Mapy Google są piękne, ale wersja dla Androida jest jak dla mnie zbyt mało intuicyjna. Zawsze mam problem czy mam zrobić klik, dwuklik, dotknąć pinezki, czy przytrzymać.

Atrakcyjność wizualna nie jest zatem AŻ tak ważna.

Ale OK, może nie chodzi tylko o piękno wizualne, ale i o użyteczność?

Wtedy nadal mogę podać Moves, bo nie dość, że ładne, to jeszcze jest banalnie proste w użyciu. Praktycznie jest to aplikacja bezobsługowa.

Dodałbym Bloggeroida bo jak dla mnie jest bardzo użyteczny, jest prosty jako konstrukcja cepa i pozwala robić to co chcę. Nie twierdzę, że jest piękny wizualnie (chociaż mnie się podoba), ale jest prosty w użyciu.

Google Camera też pasuje do takiej wizji piękna. Pozwala robić to do czego służy, nie wymaga doktoratu z obsługi aplikacji, daje duże możliwości.

Pocket jest świetny,  dość ładny wizualnie, ale i użyteczny.

Dodałbym też moją "aplikację" do Agile Pokera, bo robi to co powinna bez zbytniego problemu, jest prosta i skuteczna.

To może jeszcze wziąć pod uwagę "kompletność"? W sensie czegoś co pozwala na wykonanie pewnych działań i człowiek czuje się w tym jakby to była jego druga skóra?

To IntelliJ IDEA, do niedawna mieszkałem w obozie Eclipse'a, ale od jakiegoś czasu uzywam IDEA'i i jestem zakochany. To jest IDE, które mi pomaga. Stara się jak może pomóc w kodowaniu.

Kolejnym takim narzędziem jest Total Commander.

IrfanView także.

Do tego dodałbym jeszcze WinAmp'a, który jak dla mnie jest kwintesencją odtwarzacza muzyki.

Jeszcze VLC i Chrome.

Jednak nie jestem pewien czy to co wskazałem wyżej to są piękne aplikacje. Są często ładne, zwykle użyteczne i do tego łatwe w użyciu, ale czy piękne?
Nie wiem.

Widzę, jednak że to co wymieniłem to aplikacje, które są proste w użyciu, często są single purpose apps'ami, nie wprowadzają jakiejś nadmiarowej abstrakcji i starają się jak najbardziej ukryć.
Starają się być niewidoczne.

Ale czy niewidoczne może być piękne? ;-)


Podobne postybeta
Co na moim telefonie...
Moja następna poprawka do konstytucji ;-)
Kuchenka mikrofalowa
Wybory
Metoda na idiotę, czyli sposób pokonywania autostrady we mgle

sobota, sierpnia 23, 2014

Zła lojalność ;-)

Małe rzeczy zmieniają sposób patrzenia na świat ;-)
Dostałem ostatnio ultimatum od T-Mobile (oni to nazywają ofertą ;-)) w którym zagrozili, że albo przejdę do nowej taryfy JUMP ze swoimi numerami, albo oni mi podniosą cenę o 5 PLN za każdy z numerów.
Od parunastu lat byłem lojalnym klientem, a tu taka niespodzianka...

Ale dobrze się stało.

To mi uświadomiło, coś co jest niby oczywiste, ale nigdy na to tak nie patrzałem. Lojalna powinna być firma w stosunku do klienta, nie klient w stosunku do firmy.

Dlatego trzeba zmienić sobie mindset ;-) nie działać tak, że człowiek godzi się na niedogodności bo są (zwykle pozornie) mniejsze niż koszt zmiany. Od razu trzeba sprawdzić czy zmiana nie wyjdzie "taniej".
Nie płaćmy podatku od pozornej wygody.
W końcu to oni mają o nas - klientów - walczyć, a nie my - klienci - o nich ;-)

Ja już podjąłem kroki w celu opuszczenia T-Mobile. Najpierw jeden numer, a drugi gdy się umowa skończy (bo tutaj akurat te 5 PLN więcej mnie nie zaboli, a nie chcę podpisywać kolejnej umowy na parę lat bo już za chwilę, za chwileczkę Blueconnect mi nie będzie potrzebny).


Podobne postybeta
A Pi ciągle działa....
Ciekawe czy ktoś zajmuje się "testowaniem" czy może "próbkowaniem" rynku nieruchomości? :-)
Google I/O 2015
DVD BtVS sezon 2
Dawać sankcje!

czwartek, sierpnia 14, 2014

Najbardziej przydatne akcesorium do tabletu ;-)

Wygląda w użyciu tak:



Jest to prosta, kartonowa podstawka:


Której wykonanie pokazane jest w tym filmiku [który wcześniej już wkleiłem na Google+ ;-)]:


Wygląda to niepozornie, ale naprawdę ułatwia sprawę :-)
Po pierwsze tablet/tablety zajmują mniej miejsca, po drugi łatwiej je wziąć do ręki, a po trzecie ogólnie lepiej wyglądają :-)

Sam używa z 2 tabletami :-) Teraz szykuję się ze zrobieniem takiej podstawki dla telefonu ;-)



Podobne postybeta
Poprawiamy JDK7 ;-)
A może by tak Macbooka Air?
Ludzie nie potrafią czytać...
Pokrowiec - zdeużytecznik ;-)
Gdzie jest mój tablet????

sobota, sierpnia 09, 2014

Tęsknię za Windows

Po prawie 2 miesiącach z Ubuntu na domowym komputerze momentami tęsknię za Windowsem ;-)
Głównie za tym, że chociaż ma swoje dziwności, albo nawet dużo swoich dziwności, to jak już coś działa to zwykle działa, a nie tak jak mam na Ubuntu, czyli czasem działa, a czasem nie ;-)

Google Earth nigdy nie udało mi się na Ubuntu uruchomić bo coś pomieszałem w instalacji i teraz nie do końca wiem jak to odkręcić ;-)
SweetHome3D, którego chciałbym użyć do pobawienia się w testowanie różnych układów mebli w mieszkaniu, odmawia współpracy... czasem zaś działa. Bo coś mu się nie podoba w tym jak jest skonfigurowana karta graficzna.
Chrome ze Spotify co jakiś czas się kłócą i mysza przestaje działać. Kiedyś nawet znalazłem jakiś sposób na to, ale też nie zawsze działa.
Klient Google Drive (nieoficjalny) co jakiś czas jakieś pliki skasuje ot tak sobie, sam z siebie ;-)
Filmy z YouTube (a pewnie inne też) na zewnętrznym monitorze szarpią bo Ubunciak nie chce zrozumieć, że jak jest monitor to on jest głównym i na nim dobrze by było pilnować synchronizacji.

Podobno do dysków SSD dodaje się oprogramowanie do migracji systemu, ja nie widzę bym takowe dostał, ale muszę jeszcze poszukać po sieci. A nóż, uda mi się jakoś Windows 7 wrzucić na dysk SSD i jednak go też używać? ;-)

Podobne postybeta
OS X po 1.5 miesiąca... chyba wolę Ubuntu ;-)
OS X, ładny cholernik jest.... ale nie idealny ;-)
Czekanie na mieszkanie ;-)
Feature Request do OSów ;-)
Chyba wybiorę OS X

wtorek, sierpnia 05, 2014

Historia atakuje z każdej strony w Krakowie ;-)

W podstawówce, tak w okolicach IV i V klasy chciałem być historykiem.
Później pojawiała się fizyka i komputery i już mi się odwidziało ;-)
Ale zawsze mi się podobało wiedzieć o różnych rzeczach i miejscach.
W Wodzisławiu niby jest historia, ale tak jakoś mało jej.
Co innego Kraków.
Mieszkam obok dawnego obozu koncentracyjnego, z okien widzę "Szary dom", obok są ruiny wysadzonego przez Niemców domu pogrzebowego należącego do nowego cmentarza żydowskiego, z 300 metrów ode mnie jest ten cmentarz, z którego Niemcy nagrobki używali do budowy dróg, w drugą stronę jest willa komendanta obozu, miejsca kaźni, ciut dalej Góra Lasoty i miejsca gdzie ludzie żyją od wielu tysięcy lat, mniej niż kilometr do Kopca Kraka, w koło niego ruiny fortu, kawałek dalej fort, kościół św Benedykta i pierwsze miejsca, które stały się Polską po pierwszej wojnie światowej, cmentarz z którego została 1/3 bo reszta w latach 70 zmieniła się w drogę, tereny na których było Getto, obok miejsca gdzie mam za niedługo mieszkać stoi pierwsza elektrownia w Podgórzu, a nad nią budują nowatorskie muzeum. Obok jest kładka w miejsce starego mostu. Kawałek dalej Wawel.
Gdy wracam z pracy idę drogą królewską, albo znów szlakiem techniki. Przechodzę kolo mostu nad ulicą, który w 1863 roku wybudowano nad rzeką ;-), czasem zawadzam o Kazimierz i stare synagogi, albo znów kościół który od blisko 400 lat się praktycznie nie zmienił. Albo znów idę wzdłuż dawnych murów obronnych i baszt.
Albo znów obok apteki pod Orłem, czy willi Mira..
Historia atakuje z każdego możliwego miejsca.
Trochę to przeraża ;-)

I znów do tego tez bym chciał aplikację, która by mi mogła powiedzieć "a tutaj jeździł tramwaj" gdy idę Bramą Floriańsą ;-) albo która pokazała by mi, że tutaj przed Wawelem była kamienica i, że w 1941 roku rozegrali ja Niemcy, a znów te arkady to też ich robota. Ale ten kościół to stoi tu od 900 lat.... Field Trip nie działa tak fajnie....

posted from Bloggeroid




Podobne postybeta
Ingress i moje portale... ;-)
Złudne poczucie bezpieczeństwa...
Pomysł na film
Co widuję w drodze z pracy... ;-)
Zaczynam mieszkać w Dolinie Krzemowej ;-)

poniedziałek, sierpnia 04, 2014

Comfort zone to zło!

Comfort zone to jest zdradliwa bestia.
Człowiekowi w niej dobrze, łatwe wszystko jest, proste, spokojne.. Tylko straszliwie nudne. Z czasem ta nuda i ogólne niezadowolenie z braku zmian i wzrostu się kumulują, ale reakcją na nie może być jeszcze głębsze zagrzebanie się w comfort zone.
A z comfort zone trzeba uciekać!
Bo choć wygodna, przewidywalna i miła to też podstępna. Im dłużej przebywasz w jej obszarze tym trudniej ci ją opuścić. Tym łatwiej Ci wrócić do starej, sprawdzonej metody.
A to znaczy, że zaczynasz się bać zmian, boisz się nowości i wypadasz z obiegu. Problemy próbujesz coraz częściej rozwiązywać tak jak zawsze. Na proste i znane to działa, na nowe nie. Znane zwiększają nudę i wpędzają w apatie, nieznane budzą lęk.
Z młodego obiecujące, zmieniasz się w starego zgorzkniałego..
A to szkoda ;-)

Dlatego trzeba opuścić comfort zone!
Najpierw powoli, bez zrywów, żeby ta mała małpka w środku się nie przestraszyła.
Zmień godzinę pojęcia do pracy, albo sposób powrotu z niej. Spróbuj zająć się problemem od drugiej strony, zawsze przecież możesz później wrócić do starej metody jakby nowa się nie pojawiła.
W domu zapisz sobie na kartce różne "rozrywki", których nie uprawiasz zbyt często. Weź kostkę i wylosuj jedną z tych rzeczy. Zrób ją!
Wypisz sobie rzeczy których się chcesz nauczyć, wylosuj jedną i spróbuj zrobić pierwszy krok.
Z czasem powinno być łatwiej ;-)

Z czasem może mi się w końcu nawet wymyślić jak zrobić aplikację mobilną, która pomoże w opuszczeniu comfort zone ;-)
Na razie wiem, że dużo będzie miała losowania i stawiania wyzwań.

posted from Bloggeroid




Podobne postybeta
Comfort book
Rammstein 2024 x4?... a jedna x5 ;-)
Spryciarz z Londynu i kilka uwag o tłumaczeniu
Galileoskop złożony ;-)
Gdzie by się tu przenieść...