środa, października 26, 2016

ClickbaitDetector - to działa :-)

OK, wczoraj i dziś reimplementowałem clickBaitDetector'a.
Głównie opierałem się na implementację z "Machine Learning in Action", z tym, że oni to tam robią w Pythonie i NumPy, a ja w JavaScript'cie ;-)

Dla niezorientowanych ClickBaitDetector to moja zabawka, która ma wykrywać linki będące clickbaitami.
Opisałem idee i jej źródła kilka postów temu.

Dziś w końcu mam wersję, która używa naprawdę naiwnego klasyfikatora bayesowskiego.... i wydaje się działać.

Dla danych na których się uczy klasyfikator mam 98.5% skuteczności w rozpoznawaniu tytułów wrzuconych do clickbaitów i ~96% poprawnych tytułów.

Ogólnie klasyfikator jest trochę bardziej nastawiony na to, że dany link jest clickbaitem niż na to, że nie jest przez co jest trochę zbyt wyrywny.

Źródła jak zwykle na GitHub'ie.

Przy okazji przekonałem się jak przydatny jest NumPy. W Pythonie mnożenie wszystkich elementów jednego wektora przez wszystkie elementy drugiego wektora to vector1*vector2 i po ptokach ;-)
Suma z tego to sum(vector1*vector2), ja w JavaScript'cie musiałem coś takiego popełnić:


  var p1 = [];
var p0 = [];
var s1 = 0;
var s0 = 0;
for (var i=0; i<p0Vec.length; i++) {
p0[i]=vec2Classify[i]*Math.log(p0Vec[i]);
s0+=p0[i];
p1[i]=vec2Classify[i]*Math.log(p1Vec[i]);
s1+=p1[i];
}

Ale działa tak samo :-)

W źródłach script.js można znaleźć całą implementację trenowania, bo rozszerzenie wcześniej za każdym razem tworzyło model, teraz używa już wersji prekalkulowanej (która ma 202 KB :-)).

Teraz trzeba jeszcze będzie wyczyścić dane i powinno być jeszcze lepiej ;-)

Podobne postybeta
Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)
Logistic Regression wykrywa clickbaity lepiej od Bayesa ;-)
clickBaitDetector - wiem czemu nie działa ;-)
Automagiczne tagowanie postów jest jednak większe niż myślałem...
Dwie książki komputerowe na długi weekend :-)

poniedziałek, października 24, 2016

clickBaitDetector - wiem czemu nie działa ;-)

Bo źle zrobiłem w nim naiwny klasyfikator Bayesa ;-)
Podszedłem do problemu jak do zwykłego wnioskowania bayesowskiego, ale przesłanki dla hipotez nie są do końca dobre.
Skąd to wiem?
Bo dziś w tramwaju mnie dopadło, że przecież mam prosty test skuteczności ;-)
Wystarczy kazać clickBaitDetectorowi sklasyfikować zbiór tytułów na których się uczył.....
Wyniki nie były zbyt dobre ;-) tylko ~3% tytułów które w zbiorze uczącym są uznawane za clickbaity zostało rozpoznane, wśród prawidłowych artykułów ~18% zostało rozpoznane jako nie clickbaity ;-)
Za to mam powody by sobie odkurzyć algorytmy z machine learningu ;-)


Podobne postybeta
ClickbaitDetector - to działa :-)
Android + OCR, to zaczyna działać ;-)
Czy jest dziś sobota? ;-)
Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)
Naiwny klasyfikator bayesowski nie jest jednak dobry do rozpoznawania clickbaitów ;-)

wtorek, października 18, 2016

10 milionów pięter...

Jeśli uda się nam kiedyś zbudować windę kosmiczną to pojawi się też szansa na zbudowanie naprawdę wysokiego budynku ;-)
Takiego mającego 10 mln pięter (a nawet więcej).

Budynku w którym na piętrze 2 miliony 370 tysięcznym będzie działać pozorna grawitacja na poziomie księżycowym.... podobnie będzie na piętrze 11 miliony 220 tysięcznym, z tym że tam będzie działała w drugą stronę ;-)

Na piętrze milionowym (wyobraźmy sobie ceny nieruchomości tam...) będzie panować miłe 40% ziemskiej grawitacji, czyli będzie to fajne miejsce na starość tak by serce i stawy nie musiały się jakoś szczególnie męczyć ;-)

Gdyby każde piętro miało z grubsza 100 m x 100 m z wyciętym w środku kawałkiem 25 m x 25 m to miałoby powierzchnię 93750 m2, co przy założeniu, że przeciętne mieszkanie w takich USA to jakieś 77 m2 dałoby nam jakiś miliard mieszkań... nawet gdyby połowę ich zajęły biura, sklepy i inne takie to nadal byłoby z 0.5 miliarda mieszkań dla jakichś 2 miliardów ludzi ;-)

Chociaż pewnie byłoby tak, że ludzie chętnie mieszkaliby do milionowego piętra bo grawitacja byłaby dość miła, może do poziomu księżycowego.
Na piętrze 5 mln i jego okolicach powstałyby pewnie parki rozrywki i hotele przy jakichś 2% ziemskiej grawitacji.

Piętra w okolicach 10 milionów czyli w okolicach orbity geostacjonarnej i środka masy wieży byłyby pewnie zajęte głównie przez magazyny, fabryki i hotele dla pracowników i odlatujących/przylatujących.

Ludzie chętnie zajmowaliby znów piętra od 11 milionowego wzwyż bo tam grawitacja znów przypominałaby tą z księżyca.

Czyli jakieś 10-15% powierzchni wieży byłoby wykorzystane, co pewnie oznaczałoby ludność na poziomie 200-500 mln sztuk.

Przy 4 albo 5 wieżach byłoby to 1-2.5 mld ludzi ;-)

Czy byliby Ziemianami? Czy Wieżanami?

Czy mieliby narodowość? Powstałyby państwa na różnych wysokościach wieży?

A jakby zbudowano kiedyś pierścień łączączy przeciwwagi wszystkich wind?

Niech ktoś już wymyśli materiał, który na to pozwoli.....


Podobne postybeta
Im hotel wyższy, tym pokój większy? ;-)
Inwazja kostki klinkierowej
Sudoku solver - dalsza walka ;-)
Trygonometria trudna
Się mnie poprzestawiało....

poniedziałek, października 17, 2016

Książki które zmieniły moje życie

Co jakiś czas na różnych stronach są listy "książek które zmienią Twoje życie", albo "książek które powinieneś przeczytać przed śmiercią".
Zawsze je oglądam i zwykle jest tam tylko 1, może 2 książki które dla mnie były ważne.

Stąd moja lista ;-)
Kolejność nie jest do końca ważna.

1) "Samolubny Gen" - Richard Dawkins.
Można dużo napisać, że tłumaczy ewolucję, a nawet ekonomię, że to jedna z najlepiej napisanych książek popularno-naukowych wszech czasów (nie przez przypadek jest lekturą obowiązkową na wielu wydziałach literatury), że sama w sobie zrewolucjonizowała biologię.
Dla mnie ważne jest to, że otworzyła mi oczy na to, że nie wszystko wydaje się zrozumiałe od razu, ale zwykle podążanie ścieżką "bo mnie się tak wydaje" wcale nie musi prowadzić do prawdy.

2) "Jingo" - Terry Pratchett.
Nie chodzi nawet o to, że to Pratchett, ani o to, że to książka pokazująca jak głupi jest nacjonalizm.
Najważniejsze jest to, że była to pierwsza książka, którą przeczytałem po angielsku :-)
Zdecydowanie pokazała mi, że można czytać w obcym języku i to nawet gdy nie rozumiesz wielu słów.
W końcu jak bohater wdepnął w coś co brzmi obrzydliwie to nie jest do końca istotne czy to był ślimak, sinica czy śluzowiec ;-)

3) "Freakonomia" - Stephen J. Dubner, Steven Levitt oraz "Dlaczego piloci kamikadze zakładali hełmy? Czyli ekonomia bez tajemnic" - Robert H.Frank.
Okazuje się, że ekonomia to nie jest wcale taka głupia i nudna rzecz, a jak się odrzuci wszystkie ideologiczne teksty w stylu "obniżyć podatki" albo "zero regulacji" to nabiera sensu.
Te książki w połączeniu z "Samolubnym genem" pokazują, że zwykle wszystko wypływa z pewnych podstawowych faktów.
Ludzie coś robią nie dlatego, że są źli czy dobrzy, ale dlatego, że takie zachowanie średnio daje im największe szanse na przeżycie/utrzymanie rodziny/etc.

4) "75 sposobów na statystykę. Jak zmierzyć świat i wygrać z prawdopodobieństwem" - Bruce Frey i "Matematyka niepewności. Jak przypadki wpływają na nasz los" - Leonard Mlodinow.
Dzięki pierwszej poznałem Centralne twierdzenie graniczne, niby wcześniej coś o nim słyszałem, ale dopiero tutaj do mnie trafiło i pozwoliło zrozumieć dążenie do średniej.... a to ma już dla mnie duże znaczenie filozoficzne ;-) bo np. pokazuje, że wygrana w sporcie nie jest dowodem, że ktoś jest lepszy od kogoś innego i to, że nie ma co martwić się za bardzo sytuacjami gdy wypadnie się bardzo źle, ale też nie należy się zbytnio cieszyć gdy wypadnie się bardzo dobrze ;-) sami jesteśmy gdzieś pomiędzy ;-)
Dzięki drugiej dowiedziałem się co to jest Survivorship bias, to w połączeniu z Freakonomią sprawiło, że już nie do końca ufam ekspertom.

5) "Wprowadzenie do algorytmów" - Cormen Thomas H., Leiserson Charles E., Rivest Ronald L, Clifford Stein i "Rzecz o istocie informatyki. Algorytmika" - David Harel.
Ta druga najpierw mnie zaintrygowała tymi całymi algorytmami (a pracowałem już wtedy jako programista od ~4 lat), druga pokazała algorytmy...
QuickSort i jego metoda partition, którą za pierwszym razem przez kilkanaście minut próbowałem zrozumieć, HeapSort, ale bardziej mnie zachwyciły DFS i BFS bo w końcu się dowiedziałem jak chodzić po grafach. Nawet Dijkstra i inne mnie tak nie zachwyciły.
Od wtedy też wiem, że HashMap to moja ulubiona struktura danych ;-)
Małe twierdzenie Fermata i możliwość szybkiego ustalenia czy liczba najprawdopodobniej jest pierwszą, jak działa wyszukiwanie pełnotekstowe...
Chociaż dopiero "The Algorithm Design Manual" Steven'a Skiena'y pokazało mi backtracking ;-)

6) "The Wisdom of Crowds" - James Surowiecki.
Bez tego bym nie rozumiał jak działa demokracja (albo jakby działała gdyby nie plotka i przekaziory), czemu w ogóle działa estymacja i czemu lepiej by było kilka osób, które estymują, a nie jedna. Do tego pokochałem wtedy Twierdzenie Bayesa.

7) "Nacja" - Terry Pratchett
Jedna mała scena z Malu gdy zdobywa mleko dla dziecka zmieniła całe moje spojrzenie na to co to jest bohaterstwo.

Były jeszcze "In the Plex" Steven'a Levy'ego, "Rynkowy Umysł" Michael'a Shermer'a, "Bóg Urojony" Dawkinsa, "Pan raczy żartować panie Feynman" Feynmana i jeszcze wiele.
Ale na dziś to chyba te, które najbardziej zmieniły moje życie ;-)

Podobne postybeta
Lipcowe książki :-)
Książkowy sierpień
O książkach
A tak sobie ;-)
Przybijające cosie.......

piątek, października 14, 2016

Głodzenie filozofów ;-) - jak jest sprawiedliwiej?

To problem zwany Problemem ucztujących filozofów, podobno znany wszystkim, choć ja o nim usłyszałem niedawno (sam problem współdzielenia zasobów znałem, nie znałem tego przykładu - ale to tak jest jak się studiuje fizykę, a nie informatykę ;-)).

Mamy 5 filozofów, którzy siedzą przy stole na którym znajduje się we wspólnej misce ryż, a oni mają go jeść pałeczkami.

Między każdą parą filozofów jest dokładnie 1 pałeczka.


Żeby zjeść z miski filozof musi mieć w lewej dłoni jedną pałeczkę i w drugiej drugą...

Jak jeden filozof "zawłaszczy" zasób którym jest pałeczka to sąsiad nie może jej użyć.

Są różne sposoby rozwiązania tego problemu, ale ogólnie chodzi o synchronizowanie się na czymś.

Rozważyłem synchronizację na stole, tzn. filozof najpierw zaklepuje stół, jeśli mu się to uda to może zacząć zbierać pałeczki, po próbie zebrania pałeczek oddaje "zaklepanie" stołu i w razie ma obie pałeczki to próbuje zjeść ze wspólnej miski, po czym jeśli miał w ogóle jakieś pałeczki to zaklepuje stół i oddaje je...
W momencie "zaklepania" stołu może podnosić/upuszczać pałeczki tylko 1 filozof.

Drugi scenariusz jest taki, że pałeczki działają tak, że jak jeden filozof weźmie pałeczkę to sąsiad jej nie może wziąć.
Filozof działa tak, że próbuje wziąć pałeczkę z lewej, jeśli mu się uda to próbuje to z prawą. Jeśli ma dwie to je, po czym jeśli ma jakąkolwiek to oddaje.
Synchronizacja odbywa się na poziomie flagi w samej pałeczce.

Spoko.

Teraz jest pytanie, która metoda jest bardziej sprawiedliwa? A która szybsza? ;-)

Dałem filozofom dokładnie 214748364 (214 milionów, 748 tysięcy i 364) ziarenek ryżu.
Każdy z nich w momencie "uruchomienia" sprawdzał czy już można, a jeśli już było można to zaczynał próbować zagarnąć pałeczki...

Jak liczyłem "sprawiedliwość" podziału?
Jako sumę wartości bezwzględnych z różnic między tym co każdy z filozofów dostał, a tym co powinien dostać.
Najbardziej sprawiedliwy jest podział z tą wartością równą 0, najmniej sprawiedliwy z wartością 400 (jeden dostałby 100%, a reszta po 0, wtedy dla każdego wartość bezwzględna różnicy między oczekiwanymi 20% a otrzymanymi wynosiłaby 80%).

I co się okazało?

Że podział przy synchronizowaniu się na jednym i tym samym obiekcie czyli na stole zwykle daje rezultat o "sprawiedliwości" ~3.34, czyli łączna różnica między tym co ktoś dostał, a tym co mu się należało wynosiła średnio około 3.34%.
Przy podziale z synchronizacją na pałeczkach już tak fajnie nie było, bo "sprawiedliwość" wynosiła ~29.77%, często jeden z filozofów dostawał ~30% wszystkiego, a inny tylko ~10%, reszta zaś dzieliła się "sprawiedliwie" resztą.

Jednak bardziej sprawiedliwy podział miał swoją cenę, jedzenie trwało średnio prawie 2 razy dłużej niż w momencie gdy mniej sprawiedliwie dzielono posiłek.

W przypadku sprawiedliwym "regulator" wymagał by w danym momencie brał/oddawał pałeczki tylko 1 filozof przez co większość czasu wszyscy filozofowie spędzili na czekaniu na stół, tak by sami mogli spróbować zebrać pałeczki.
W drugim przypadku każdy z filozofów próbował wziąć pałeczkę niemal non-stop, jeśli mu się to udawało z lewą to próbował prawą.

Do tego w przypadku bardziej sprawiedliwego podziału pojedynczy filozof miał tylko jedną pałeczkę 3 razy częściej niż dwie pałeczki, w przypadku mniej sprawiedliwego podziału było to bliżej 2 razy częściej.

Podejście ze "sprawiedliwym" regulatorem było sprawiedliwsze, ale mniej wydajne, więcej też razy filozofowie byli blokowani przed działaniem bo ktoś inny miał drugą część potrzebnych zasobów.
Zasoby dłużej nie były wykorzystywane gdy były zajęte.
W przypadku bez regulatora podział był mniej sprawiedliwy, ale za to cały proces był bardziej wydajny, częściej filozofowie byli w stanie podejmować działanie, do tego zasoby były częściej używane gdy były w czyjejś gestii...

Co ciekawe najbardziej "wolne" podejście gdzie każdy filozof próbowałby zagarnąć obie pałeczki i nie oddawałby pałeczki póki by nie zjadł swojego ziarnka ryżu doprowadziłoby do deadlocka i wszyscy filozofowie padliby nam po jakimś czasie z głodu.... a zasoby większość czasu byłyby w posiadaniu kogoś kto nie może z nich korzystać.

Jakie są wnioski? ;-)

Takie:
- wolna amerykanka gdzie każdy próbuje zagarnąć to co mu jest potrzebne nie działa optymalnie, a zwykle w ogóle nie działa,
- synchronizacja na pojedynczym zasobie, czyli działanie tylko wtedy gdy "nam pozwolą" prowadzi do sprawiedliwszego podziału, ale podział trwa dłużej i jest mniej wydajny,
- słabsza kontrola, w której synchronizujemy się na samych zasobach i jak nie możemy ich użyć to je zwracamy działa w miarę najlepiej.

I teraz dodajmy aspekt "polityczny" ;-) i piszę to jako lewak :-)
Korwinizm to przykład pierwszy i nie działa.
Centralne planowanie/dzielenie w razie dobrego zarządcy powinno działać, ale jest nieefektywny.
Kapitalizm w którym gracze przestrzegają reguł (bo przecież któryś z filozofów mógłby nie chcieć oddać pałeczki i po chwili miałby 2 pałeczki i mógłby zjeść o wiele więcej) nie jest do końca sprawiedliwy, ale jest bardziej efektywny.

I to tyle ;-)

Jak ktoś ciekawy źródeł to są tutaj.


Podobne postybeta
Ważne książki
Losowanie dobre
Jak sprawiedliwie przydzielić biurka?
Dobór naturalny, albo my
Czemu nie znoszę Spidermana.... ;-)

IFTTT mi "zastąpiło" jedno z narzędzi

Milion lat temu (OK, 9.5 roku temu ;-)) popełniłem narzędzie, które wrzucało posty z Bloggera do Google Calendarza.

Trochę się nim bawiłem i używałem, ale miało wadę bo wymagało klikania.... więc przestałem używać, choć stronę nadal ma ;-)

Wczoraj w ciągu 2 albo 3 minut zrobiłem równoważnik mojego narzędzia ;-)
Tym razem przy użyciu IFTTT (if that then this) ;-)
Połączyłem Bloggera z Google Calendar i działa.

Jaki z tego wniosek?

Nie trzeba pisać samemu - za kilka lat ktoś to na pewno zrobi ;-)

To też taka rada dla biznesów i pomysłów - jak masz teraz pomysł to go jak najszybciej zrealizuj bo wkrótce ktoś inny to zrobi i to pewnie lepiej ;-) więc staraj się dostać bonus za pierwszeństwo.


Podobne postybeta
Do the right thing, Wait to get fired - to jednak ma sens
Jak ukraść kraj?
No i gdzie jest mój tablet? Gdzie?
Polymeryzacja AngularJS ;-)
Ingress - pole widziane z kosmosu ;-)

Naiwny klasyfikator bayesowski nie jest jednak dobry do rozpoznawania clickbaitów ;-)

Od kilku dni bawię się moją wtyczką "rozpoznającą" clickbaity.

Można się tu bawić w filozoficzne rozpatrywanie co właściwie znaczy "rozpoznawanie", bo z pewnego punktu widzenia moja wtyczka to automat, który używając dostępnych jej danych klasyfikuje tytuły linków albo jako clickbait, albo jako nie clickbait.
Szczegół tkwi w tym co oznacza klasyfikacja jako clickbait ;-)
Clickbaitem jest wg wtyczki taki tytuł, który zawiera w sobie słowa, które są prawdopodobne w clickbaitach....

Na początku zakładamy, że nie wiem czy tytuł jest clickbaitem, czy też nim nie jest.
Prezentujemy to przez założenie, że prawdopodobieństwo przynależności do obu klas wynosi 0.5.

To są nasze priory.

Teraz dla każdego słowa w tytule pobieramy liczbę jego wystąpień w tytułach clickbaitowych i nieclickbaitowych ze "zbioru uczącego".
Sumujemy te liczby i dzielimy je przez tą sumę.
To jest nasze likelihood (piszę po angielsku bo po polsku trudno to przetłumaczyć, bo w końcu prawdopodobieństwo już mamy ;-) jest to liczba, która opisuje jak prawdopodobne byłoby wystąpienie danego słowa w tytule gdyby ten tytuł był clickbaitem, albo gdyby nie był clickbaitem), które mnożymy z priorami i dostajemy nowe priory....
Teraz tylko trzeba je jeszcze znormalizować i możemy zacząć się bawić kolejnym słowem.

Problem w tym, że jednak nie wszystkie słowa mój klasyfikator zna, do tego są słowa które występują w zbiorze uczącym tylko w clickbaitach.... To by znaczyło, że likelihood byłoby 1 i to by popsuło obliczenia, stąd tak naprawdę likelihood nigdy nie będzie 0, ani 1, tak naprawdę zawsze będzie między 0.05 a 0.55 (chociaż zostanie znormalizowane)....
Na szybko wprowadziłem mechanizm by w razie gdy mamy 0 słów występujących w obu zbiorach to by z automatu uznawać, że artykuł nie jest clickbaitem... niby działa, ale też nie do końca dobrze ;-)

Muszę się przyjrzeć temu czy likelihood nie powinno być inaczej liczone, oraz popracować nad czyszczeniem danych do zbioru uczącego...

Ogólnie nie jest to takie proste jak miałem nadzieję gdy to wszystko pisałem kilka dni temu przed pójściem spać ;-)


Podobne postybeta
Logistic Regression wykrywa clickbaity lepiej od Bayesa ;-)
Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)
ClickbaitDetector - to działa :-)
Drugi klasyfikator jako "sanity check"
Trudne problemy

środa, października 12, 2016

Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)

Pomysł przyszedł mi dziś do głowy gdy skimowałem (czyli szybko skanowałem ;-) artykuł "The Pot-Belly of Ignorance", który polecił mi Pocket.
Artykuł jest o tym, że jesteśmy tym co czytamy, a czytamy dużo śmieci, które są clickbaitami...

To stwierdziłem, że sprawdzę czy uda się może zrobić coś co będzie wykrywać clickbaity ;-)

Szybki skan po sieci zaprowadził mnie do projektu na GitHubie gdzie autor próbował coś takiego zrobić z machine learningiem i Pythone.

To zapędziłem do działania trochę Pythona i zrobiłem to co można znaleźć na moim GitHubie - ClickBaitDetector ;-)

Jest to wtyczka do Chrome, która przy "podejrzanych" artykułach dodaje ikonkę .

Czego efekty widać poniżej (trzeba otworzyć duży obrazek).


Na razie nie powiem by powalała dokładnością ;-) powiedziałbym, że trafiło w 1 przypadku, OK w 3. Z Kim Kardashian, z Chicago Cubs i niestety z Emmą Watson.

Jak na wynik ostatnich ~60 minut nie jest tragicznie, szczególnie, że cała klasyfikacja to sprawdzenie czy słowo częściej występuje wśród "dobrych" czy "złych" i później jeśli prawdopodobieństwo "złego" jest 2 razy większe niż "dobrego" to dodajemy ikonkę.... ale nawet nie ma normalizacji wyników priorów.... jeszcze ;-)

Ot taka ciekawostka ;-)


Podobne postybeta
ClickbaitDetector - to działa :-)
A może by odkurzyć AI? ;-)
Naiwny klasyfikator bayesowski nie jest jednak dobry do rozpoznawania clickbaitów ;-)
Logistic Regression wykrywa clickbaity lepiej od Bayesa ;-)
Czy jest dziś sobota? ;-)

poniedziałek, października 10, 2016

Daj się zastąpić automatom... przynajmniej tam gdzie się to opłaci ;-)

Roboty i automaty już po nas i naszą pracę idą.

Są jednak miejsca gdzie są już teraz i dobrze jest je wykorzystać dla własnej wygody i zysku.

Prace domowe

Odkurzanie i zmywanie.

Od ponad roku korzystam z Roomba'y 650 i nie ruszając odkurzacza mam czysto w mieszkaniu :-)
Jedyna moja robota to raz na jakiś czas wyczyścić zbiornik na kurz.

W przypadku zmywania nie korzystam ze zmywarki, głównie przez to, że jak to mówił porucznik Borewicz "nie prowadzę domu", czyli nie gotuję i zmywanie u mnie sprowadza się do 2-3 naczyń dziennie.
Jeżeli jednak zmieni mi się sytuacja w tym zakresie to zmywarka szybko się pojawi ;-)

Rachunki

Płacenie rachunków jest trudne i nudne.
Zawsze żyję w obawie, że zapomnę coś zapłacić.
Dlatego używam zleceń stałych.
Płacę tak czynsze, tak przelewam pieniądze na drugie konto by spłacać kredyt, tak przelewam pieniądze do oszczędzania.
Do tego mam włączone automatyczne spłacanie karty kredytowej i kombinuję właśnie nad automatyzacją nadpłacania kredytu.
Nie jestem tylko w stanie skonfigurować opłat za telefon przy pomocy zleceń stałych bo mogą się różnić, a mój operator nie wspiera zleceń zmiennych.

Telefon i marketerzy

Nienawidzę telemarketingu.
Jeśli jakaś firma go na mnie próbuje to robię 2 rzeczy.
Pierwszą jest złożenie sobie przysięgi, że nie skorzystam nigdy z ich oferty ;-)
Drugie, ważniejsze - dodaję numer z którego do mnie zadzwoniono do kontaktu "Marketer" w moim telefonie (na dzień dzisiejszy jakieś 40 sztuk), a kontakt "Marketer" ma zaznaczone taki malutki checkbox "Łącz na pocztę głosową".


A poczty głosowej z zasady nie używam ;-)


Start komputera

Jak zauważyłem, że każdym razem gdy uruchamiam komputer uruchamiam też przeglądarkę i Spotify.
Dlatego mój domowy Linuks uruchamia oba te programy sam z siebie ;-)

W pracy, gdzie używam OS X (nadal, bo do Sierry się jeszcze nie updatujemy ;-)) nie muszę tego robić bo OS X ma taki ficzer, że w razie wyłączenia i tak uruchomi to co było uruchomione wcześniej.
Za to mam na laptopie skonfigurowane w pracy to by każdego dnia o 19:00 szedł spać (w razie jestem na wyjeździe to o 18:50 mnie grzecznie pyta czy na pewno chcę by poszedł spać) i by budził się o 9:00.
Dzięki temu wychodząc z pracy nie muszę wyłączać/zamykać laptopa, a przychodząc wystarczy poruszać myszą.

Do tego moja przeglądarka, którą jest Chrome startuje zawsze ze stałą listą zakładek.

Pamięć

Po co pamiętać, że trzeba coś zrobić?
Zwykle coś chcemy zrobić albo o jakimś czasie, albo w jakimś miejscu.
Po to są różne remindery.
Sam używam głównie Inbox'a, czasem Keep i Kalendarza.
Brakuje mi tutaj tylko jeszcze szybszej metody na tworzenie reminderów... czegoś w linii poleceń i jakiegoś inteligentniejszego dialogu w mobile.

Komendy

W pracy używam różnej Java'y i różnych InteliiJ'ów do różnych wersji produktu.
Stąd zdarza się często, że muszę zmienić wersję Java'y która ma być w danym shellu "domyślną".
Robię to wpisując po prostu "java8" i mam Java'ę 8, "java7" i jest Java 7 ;-)
W .profile mam (znów dla OS X):

alias java7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_25`"
alias java8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_92`"
alias java6="export JAVA_HOME=`/usr/libexec/java_home -v 1.6.0_65`"

Do tego częste komendy, które wprowadzam, które mają np. zrobić clean projektu mam zdefiniowane tak, że po prostu piszę "clean" albo "studio" i wszystko działa automagicznie...

Nagrywanie programów

I w końcu TV. Nie oglądam zbyt często, bo jakoś nudna jest i wolę Netfliksa, ale czasem coś jest i mogę o tym zapomnieć (np. najnowsze odcinki South Park na Comedy Central).
Tu używam jednej z najstarszych "automatyzacji", które pojawiły się w domach już w latach 80 (na zachodzie przynajmniej), czyli opcji nagrywania programów. Z tym, że nie w magnetowidzie, a w dekoderze.

Inne

Używam też Magenta River do automatycznego repostowania moich postów z Google+ (które jest moją siecią społecznościową ;-)) do FB i Twittera.
Kiedyś używałem na telefonie Locale (do którego nawet napisałem sobie wtyczkę) i Tasker'a, ale jakoś nie utrzymało się to na moich urządzeniach mobilnych.
Używam też Chrome2ChromeV2, czyli mojej wtyczki do Chrome, która sprawia, że wszystkie strony WWW, które sobie prześlę z pracy do domu, lub z domu do pracy (a dokładniej między komputerami) automagicznie otwierają się na komputerze docelowym.
Do tego by nie zapomnieć o kupnie nowego numeru Świata Nauki i Wiedzy i Życia mam prenumeratę.
Nie używam, ale możliwe, że kiedyś zacznę, list zakupowych w Tesco/Piotrze i Pawle/Almie24 (te znam i używałem samych sklepów).

I to chyba wszystko.... przynajmniej z tych rzeczy, które pamiętam.
A wy jak automatyzujecie swoje życie? ;-)


Podobne postybeta
Szukanie czemu mi nie działa program na Java 17, a czemu działa na Java 8 ;-)
PRISMochoza....
OpenOffice.org i Google Docs :-)
Co na moim telefonie...
Nadpłacanie kredytu - arkusz ;-)

środa, października 05, 2016

Czemu ufam Google, a nawet Facebookowi?

Bo przemawia za tym ta "macierz wygranych":

userzy ufająuserzy nie ufają
firma jest godna zaufaniauserzy powierzają swoje dane,
firma zarabia na pokazywaniu im reklam
userzy nie powierzają swoich danych,
firma nie zarabia
firma nie jest godna zaufaniado czasu wykrycia userzy
powierzają swoje dane, w momencie
gdy dowiadują się, że firma nie jest
godna zaufania kasują dane,
skarzą firmę do sądu.
Firma traci masę kasy i nie ma zysku
userzy nie powierzają danych,
firma nie zarabia

Co to znaczy?
Że jedyną racjonalną strategią firmy jest sprawić by userzy jej ufali i nie naruszać tego zaufania.
To dlatego Apple nie chciało zgodzić się na żądanie FBI i zbudować wersji iOS która łamałaby ich własne zabezpieczenia, to dlatego gdy Google dowiedziało się, że NSA "nagrywa" cały ruch który chodzi między serwerowniami Google to go natychmiast zaszyfrowali.
To dlatego Facebook i Google nie sprzedają danych swoich użytkowników.

Wszystko po to by userzym im ufali, bo tylko wtedy będą korzystać z usług i będzie można im pokazywać reklamy.


Podobne postybeta
Linko skrótacze
Telewizyjne zastanawianie
Użytkowniki nie chcą współpracować ;-)
Skoro Deep Web jest potrzebny by zapewnić wolność słowa, ale jest wykorzystywany do szerzenia niecnych treści, to może rozwiązaniem jest ograniczenie technologii takiej sieci tak by tylko przekazywała tekst?
Inwazja kostki klinkierowej