poniedziałek, lutego 27, 2017

Godzina godzinie nierówna

Jedna godzina spędzona na nauce na Coursera, Udacity czy gdzie indziej to godzina lepsza od godziny ma Facebooku, Twitterze czy nawet Google+.
Z pierwszej zwykle wyjdziemy z jakąś wiedzą, z drugiej też się to może zdarzyć, ale zwykle ta wiedza będzie dość płytka i po chwili wyleci nam z głowy.
Godzina nauki może co prawda pokazać, że jesteśmy tępi ;-) ale mimo tego po godzinie może nadal będziemy tępi, ale nasza wiedza będzie choć trochę większa.
W przypadku Facebooka możemy się czuć po godzinie gorzej niż godzinę wcześniej...

Stąd, jak gdzieś się wala jakaś wolna chwila to może lepiej spędzić ją na nauce niż na Facebooku?

posted from Bloggeroid




Podobne postybeta
Długa Ziemia vs Wysokie Megi...
0:00 - godzina updatów ;-)
Logistic Regression wykrywa clickbaity lepiej od Bayesa ;-)
Facebook vs. Ja, tym razem 1:0 dla Facebooka ;-)
Budzenie kaskadowe...

niedziela, lutego 26, 2017

Lepszy test mniejszy i dokładniejszy, niż większy i ogólniejszy ;-)

Mam w Bloggeroidzie taki kawałek kodu:

  public static String markupToHTML(String content) {
// ampersand and lt and gt
      content = content.replace("&", "&");
content = content.replace("<<", "&lt;");
content = content.replace(">>", "&gt;");

// add links
      content = content.replaceAll("\\[([^\\]]+)\\s+(http[^\\]]+)\\]", "<a href=\"$2\">$1</a>");
content = content.replaceAll("\\[(http[^\\]\\s]+)\\s+([^\\]]+)\\]", "<a href=\"$1\">$2</a>");
content = content.replaceAll("\\[(http[^\\]\\s]+)\\]", "<a href=\"$1\">$1</a>");

// formatting
      content = content.replaceAll("\\*\\*([^*]*)\\*\\*", "<b>$1</b>");
content = content.replaceAll("\\_\\_([^_]*)\\_\\_", "<i>$1</i>");
content = content.replaceAll("\\-\\-([^_]*)\\-\\-", "<strike>$1</strike>");
content = content.replaceAll("\\^\\^([^_]*)\\^\\^", "<sup>$1</sup>");

return content;
}

Ma dokonywać konwersji postów z Bloggeroidowego markup'a do HTMLa.

I mam do tego trochę testów (które dopisuję ostatnio, bo wcześniej UT na Androidzie były tak sobie możliwe)

@Test public void strike() {
// setup
    String input="This is --strike--";
// examine
    String result = Markup.markupToHTML(input);
// verify
    assertEquals("This is <strike>strike</strike>", result);
}

@Test public void sup() {
// setup
    String input="E=mc^^2^^";
// examine
    String result = Markup.markupToHTML(input);
// verify
    assertEquals("E=mc<sup>2</sup>", result);
}

@Test public void link1Https() {
// setup
    String input="Go to [przemelek https://przemelek.blogspot.com]";
// examine
    String result = Markup.markupToHTML(input);
// verify
    assertEquals("Go to <a href=\"https://przemelek.blogspot.com\">przemelek</a>", result);
}

Dużo ich jest i wiele osób byłoby za tym by zamiast robić tyle małych testów mieć jeden mniej więcej taki:


@Test public void text() {
// setup
    String input="Most **famouse** __equation__ is E=mc^^2^^\nGo to [http://przemelek.blogspot.com]";
// examine
    String result = Markup.markupToHTML(input);
// verify
    assertEquals("Most <b>famouse</b> <i>equation</i> is E=mc<sup>2</sup>\nGo to <a href=\"http://przemelek.blogspot.com\">http://przemelek.blogspot.com</a>", result);
}

Bo ten test testuje praktycznie wszystko co moje multum małych testów.
Niejeden byłby za tym by w ogóle testować jeszcze wyżej, żeby sprawdzić jeszcze inne konwersje za jednym zamachem.

I niby coś w tym jest, w końcu one wszystkie razem występują....
Ale problem jest w tym, że jak taki test padnie to trzeba dość dużo czasu by dojść do tego co w ogóle nie działa.
Jeśli nawet w drugiej wersji testu okaże się, że __ nie jest tłumaczone na kursywę to dojdę do tego dopiero oglądając dokładnie różnicę między tekstem oczekiwanym, a otrzymanym.
W pierwszej wersji testów po prostu padnie mi test italic().

Stąd lepiej czasem napisać trochę głupich i malutkich testów, niż 1 mega test.

Ogólnie jak w teście pojawia się if albo for to wiedź, że coś się dzieje ;-)


Podobne postybeta
Skróty klawiszowe
Tworzenie poprawnych nazw plików :-)
Pomnóżmy sobie duże liczby ;-)
Eksperyment, czyli z Google+ do Bloggera ;-)
Data binding w Polymerze jest oszukany ;-)

sobota, lutego 25, 2017

Biurko

Biurko to rzecz ważna.

Ja mam 2 biurka.

Jedno w domu (Ikea Bekant sit-stand)


Drugie w pracy (jakieś biurko + WorkFit-S, Dual Monitor with Worksurface+)



Wolę to w domu bo jednak całe jest podnoszone i ma tylko 1 telewizor + ekran laptopa, przez co mogę patrzyć zawsze do przodu, a nie muszę w bok*.

Ostatnio odkrywam, że funkcja stania w biurku jest bardzo ważna.
Gdy muszę się skupić na tym co robię najlepiej jest gdy stoję. Wtedy szkoda mi czasu by wchodzić na FB czy podobne pożeracze czasu i energii.
Zdejmowanie butów też jest dobre, bo nie ciągnie mnie do łażenia po biurze.
Ogólnie stojące biurko pomaga mi w przejściu do deep work'u ;-)

Siedzenie jest dobre gdy trzeba coś dłuższego przeczytać, albo obejrzeć jakieś video w szkoleniu/kursie.
Albo po prostu gdy człowiek się na tyle zmęczy, że jednak chce usiąść ;-)

Przy zmianach pozycji biurka ważne jest to, że można zmienić też wysokość monitora, wtedy łatwiej jest ustawić bardziej ergonomiczną pozycję.

Jedna rzecz, z którą mam zawsze przy biurkach problem to cable management ;-)
Wygoda się kłóci z elastycznością. Powiązane kable maja to do siebie, że trudno coś w nich zmienić... np. mysz gdy jej kabel jest w wiązce ;-)
To samo z listwami elektrycznymi, fajnie mieć łatwo dostępne gniazdko, ale takie widoczne gniazdko oznacza zwykle walające się kable.
Ja jednak stawiam elastyczność nad estetyczność w takich przypadkach ;-)

* - u mnie dodatkowy monitor robi za przeszkadzajkę, jakoś nigdy nie nauczyłem się pracować z 2 monitorami. Zdecydowanie bardziej od dodatkowych monitorów pomagają mi kolejne wirtualne desktopy)


Podobne postybeta
Praca na stojąco - wersja pro ;-)
Liliputer - istnieje coś takiego? ;-)
Zegar w Raspberry Pi nie jest zawsze godzien zaufania
Czy się stoi czy się siedzi.... kamerka w laptopie jako detektor tego czy biurko jest w trybie stand czy sit ;-)
Moje "odkrycia" 2014 roku :-)

poniedziałek, lutego 20, 2017

Odinstaluj jedną aplikacje dziennie - wyniki

Wychodzi, że skasowałem z telefonu już wszystko czego nie używam.
Teraz ekran główny wygląda tak:

Chociaż nadal są to 92 aplikacje...
Ale było więcej :-)

Chyba jednak będę już musiał zrezygnować z tego codziennego odinstalowywania codziennie jednej aplikacji.

Telefon wydaje się działać jakoś tak ciut szybciej i wygląda, że bateria starcza mu na dłużej.

posted from Bloggeroid




Podobne postybeta
Facebook vs. Ja, tym razem 1:0 dla Facebooka ;-)
Minisec
Usuń jedną aplikacje dziennie
5 prawd życiowych ;-)
4 mln ton....

niedziela, lutego 19, 2017

Deklaratywnie czy imperatywnie... oto jest pytanie ;-)

Jest teraz wielka wojna między imperatywnym, a deklaratywnym programowaniem.
Ja w użyciu jestem bardziej przy imperatywnym, choć deklaratywne mi się podoba.

Ale popatrzmy na takie 2 przykłady, które robią dokładnie to samo:

public int findOddStream(int[] A) {
return Arrays.stream(A).reduce(0, (a, b) -> a ^ b);
}

public int findOddImperative(int[] A) {
int n = 0;
for (int i:A) n^=i;
return n;
}

Obie metody robią to samo, czyli znajdują nieparzystą liczbę w tablicy A.

Nie wiem czemu, pewnie przez lata praktyki, ale to drugie rozwiązanie wydaje mi się bardziej czytelne.

Fakt, że wersja deklaratywna ze strumieniami jest krótsza jeśli liczyć linie, ale w znakach jest dłuższa.

No i w wersji deklaratywnej trzeba wiedzieć, że 0 w reduce to identity redukcji, czyli taka "wartość startowa".

Szczerze nie wiem która wersja wydaje mi się bardziej czytelna.

PS.
Na Google+ w komentarzach wyszło, że dobrze by było podać linka do treści zadania, które tu jest rozwiązywane ;-)
Stąd link https://codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/


Podobne postybeta
Dziwne te ludzie ;-) - pazerność2
Miejsca gdzie nie używałeś jeszcze komputera [ewentualnie miejsca, gdzie nie dopadły nas jeszcze komputery ;-)]
Plus dla Scala, minus dla Groovy ;-)
Skasuj konto w Facebooku - oni zdecydowanie za dużo o Tobie wiedzą.
Sudoku - rozwiązanie doskonałe ;p

sobota, lutego 18, 2017

Chcę sankcji UE

Chciałbym żeby UE nałożyła na Polskę sankcje za łamanie trójpodziału władzy i łamanie standardów demokratycznych.
Chcę żyć w demokratycznym państwie prawa, chcę też żyć w UE. Stąd chcę żyć w demokratycznej UE, w której przestrzega się prawo.
Jeśli UE nie zacznie wymagać od krajów takich jak Polska czy Węgry przestrzegania demokratycznych standardów to znaczy, że to nie jest ta UE w której chcę żyć.

Nie miałbym problemu z wygraniem wyborów przez PiS, gdyby PiS przestrzegało zasad.
Gdyby wybrało sobie sędziów TK na wolne miejsca, gdyby nie tworzyło ustaw o TK, które miały TK sparaliżować.
Gdyby deformę edukacji poprzedziło badaniami i konsultacjami. Gdyby nie rozwalało armii, służb specjalnych, sądów, prokuratury, czy ogólnie państwa.

Ale to co teraz robi PiS to nie demokracja, a demokratura. Nie rządy większości z poszanowaniem woli mniejszości, a dyktat tego kto ma większość w organach przedstawicielskich.

PiS ma dla jaj w nazwie na pierwszym miejscu słowo prawo, dla takiej samej beki ma jako drugie słowo sprawiedliwość. Prawa nie przestrzega, czego dowiódł demontaż TK (i to, że teraz obecna prezes TK jest w stanie zawieszenia przez to, że złamała procedury ustawy, którą pod nią napisano tylko to umacnia), sprawiedliwość ma zaś obok gwiazdkę z dopiskiem "sprawiedliwość wg Jarosława Kaczyńskiego".

Jak to Pratchett pisał, jeden człowiek = jeden głos, u nas tym człowiekiem jest Jarosław Kaczyński... Wódz. Jednoosobowo podejmuje wszystkie decyzje.

Stąd UE jeśli ma być organizacją zrzeszającą państwa demokratyczne powinna reagować i stosować presję finansową. W końcu jaki interes obywatele UE mają w niedemokratycznej Polsce?


Podobne postybeta
Dobrze, że Tusk wygrał
Noż kurwa....
Kocham Cię, Europo
Atlas zbuntowany, ale na odwrót ;-)
Skrócona wersja zmian w ustroju Polski po wyborach w 2015 roku

czwartek, lutego 16, 2017

Procesy ;-)

Tak dziś rozmawialiśmy w pracy o różnych praktykach w różnych firmach i wyszło, że są firmy w których gdyby ktoś zaproponował żeby w ramach podnoszenia motywacji zrywać programistom paznokcie tak raz na miesiąc to na tekst, że to głupi pomysł padłaby odpowiedź, że to bardzo nieagileowo odrzucać pomysł bez sprawdzania.
Po 3 miesiącach gdyby developerzy mówili, że to jest naprawdę głupi pomysł i nie działa usłyszeliby, że 3 miesiące to za mało by móc oceniać skuteczność i że nadal trzeba to testować.
Po 9 miesiącach zrywania paznokci na słowa krytyki od programistów padłaby odpowiedź, że może to rzeczywiście nie działa tak dobrze, ale przecież tyle już w to zainwestowaliśmy, że szkoda tak to porzucić...
Po 2 latach gdy program by jednak umarł (na korzyść wyrywania włosów tym razem) to pojawiłyby się głosy, że to niesprawiedliwe, że nowi ludzie nie będą mieli szansy popracować z procesem zrywania paznokci ;-)

posted from Bloggeroid




Podobne postybeta
[Lifehack] Jak połapać się w ładowarkach ;-)
Podróżujemy ;-)
Na śpiocha....
Post drugie - bądź na tak ;-)
A gdyby tak....

wtorek, lutego 14, 2017

CI z branchachmi to jednak nie jest CI

W dyskusji pod postem o branchach pojawił się temat CI czyli continuous integration.
I take sobie uświadomiłem, że jednak nadal jest wiele miejsc gdzie korzysta się z narzędzi do CI, ale de facto nie robi się CI.
Bo CI to jednak jest ciągła integracja, w której istotne jest to, że mamy szybką pętlę zwrotną i nie kisimy zmian tygodniami na własnych branchach by w końcu zrobić wielką integrację.
Inna sprawa, że nawet w takich miejscach te narzędzia pomagają ;-)

posted from Bloggeroid




Podobne postybeta
Wrrr.... złe API ;-)
Mój Robot - podejście pierwsze ;-)
O tym czemu branche są złe...
Czy psy lubią gdy zwraca się na nie uwagę?
W Androidzie przydałyby się nagrywalne intenty :-)

niedziela, lutego 12, 2017

Wesołego Dnia Darwina - daj pohasać dziś swojej wewnętrznej małpie :-)

Dziś 12 lutego czyli Dzień Darwina.

Radosne święto ku czci człowiekowi, który pokazał skąd taka różnorodność życia.


To dzień w którym Twoje wewnętrzna małpa powinna radować się z tego, że miała tyle szczęścia by zaistnieć.

Ja ku czci przywdzieję koszulkę z Darwinem i poczytam sobie o ewolucji :-)
A i posłucham kawałka który wyżej ;-)


Podobne postybeta
Powiedz dziś "Część!" swojej wewnętrznej małpie ;-)
Dzień Darwina
Półsprawny Gadacz....
Jakieś święto, czy co?
Rok Darwina czas zacząć :-)

Dysonans poznawczy roku 2017 ;-)

Jest rok 2017.
De facto naszym zmartwieniem i tematem rozmów powinno być budowanie stałej bazy na Marsie i lot na Jowisza, a nie budowa muru między USA i Meksykiem, nie jacyś szaleńcy w turbanach, którzy postanowili zbudować kalifat, nie "seby" i "janusze" chcący zamordyzmu.

O tym skąd pochodzą gatunki wiemy od 158 lat.
75 lat temu zbudowano pierwszy reaktor jądrowy.
64 lata temu poznaliśmy strukturę DNA.
63 lata temu pierwszy człowiek poleciał w kosmos.
48 lat temu ludzie wylądowali na Księżycu..

Ludzie nigdy nie żyli tak długo i tak zdrowo jak teraz. Nigdy nie było na Ziemi tylu ludzi. Nigdy ludzie nie byli tak najedzeni. Nigdy ludzkość nie miała takiego nadmiaru żywności, że dla wielu podstawowe problemy zdrowotne wynikają z przejedzenia.

No mam pewien dysonans poznawczy...


Podobne postybeta
Czytanie w śnie - to nie działa ;-)
Stare = do zniszczenia?
Ukradli nam przyszłość....
Android Marketowi odbiło
Sarkania na C++

sobota, lutego 11, 2017

O tym czemu branche są złe...

Jeszcze w poprzedniej firmie narysowałem taki "komiks":


Który oddaje mój stosunek do branchy ;-)

Czemu nie lubię branchy?

Bo sprzyjają konfliktom w czasie mergowania.

Jeśli wszyscy pracują  na wspólnym źródle, czyli wszystkie commit'y idą do wspólnej gałęzi to mamy tak, że co chwilę odbywa się integracja.

Gdy developer robi pull z repozytorium to ma prawie 100% szans, że wszystkie pliki jakie pobrał są w najnowszej wersji (znaczy, że nikt nie ma nowszej wersji zakiszonej na swojej lokalnej maszynie).
To nie jest pełne 100%, bo inni developerzy też pracują nad swoimi zmianami, stąd pewna niewielka grupa plików jest u nich w nowszych wersjach. Ale, że nie mając własnych branchy wszystkie commity muszą iść do głównej gałęzi, co nadal jeszcze niewiele daje, ale zwykle każdy developer robi przeciętnie 1 pusha do repo dziennie oddając kod, który "w miarę działa". Dzięki temu w większości plików mamy pewność, że ich nowsza wersja nie będzie się znacząco różniła od tego co pobraliśmy właśnie z repo.
Stąd z jednej strony mamy dość małe szanse by w danym czasie 2 developerów pracowało nad tym samym plikiem, jeśli jednak pracują i pojawi się konflikt to będzie on ze zmian z 1 dnia.

W przypadku branchy już tak dobrze nie jest.
Gdy developer robi pull z repozytorium dostaje najnowsze wersje plików, ale dość duża grupa plików ma nowsze wersje na innych branchach gdzie mogą się kumulować zmiany z kilku ostatnich tygodni.
Robienie upmergy z głównej gałęzi nie rozwiązuje problemu, bo nadal pobieramy tak tylko część zmian. Do tego ponieważ nasza gałąź ma już ileś tam dni to przy każdym upmerge'u mamy niezerowe prawdopodobieństwo konfliktu. Jego rozmiar jest tym większy im dłużej minęło od momentu gdy nasz gałąź dla danego pliku odpięła się od innej wersji tego pliku. Do tego zwykle w takim merge'u mamy dość dużo zmian.
W końcu gdy robimy naszego końcowego merge'a to znów mamy szansę na konflikt.

"Matematyka" do tego niby jest prosta, chociaż trudno to tak opisać.
Zakładając, że każdy developer pracuje codziennie z 1 plikiem mamy szansę, że dany plik zostanie dotknięty przez danego deva z prawdopodobieństwem P(plik dotknięty przez deva)=1/N gdzie N to liczba plików.
W takim przypadku konflikt, czyli P(konflikt)=P(prawdopodobieństwo dotknięcia pliku przez 2 devów)=(1/N)^2

Gdy mamy branche i każdy dev nadal dotyka 1 pliku dziennie to po M dniach kiszenia czegoś na branchu mamy zmienione M/N plików z repo (gdzie M to ilość dni kiszenia, a N nadal ilość plików w repo).
Trudniej tu stwierdzić jakie jest prawdopodobieństwo konfliktu bo przecież może ono zajść na dowolnym z M plików, ale załóżmy, że chodzi o konflikt z devem, który zrobi 1 zmianę na 1 pliku, wtedy P(konflikt na branchu)=M/N^2.
Czyli prawdopodobieństwo konfliktu na branchu jest przynajmniej M razy większe niż bez branchy.

Problemem tu nie są nawet same branche, a to, że branche oznaczają rzadszą integrację.

Stworzyłem programik w Pythonie, którego zadaniem jest zasymulowanie pracy zespołu 5 developerów, którzy pracują nad małym repo z 3000 plików i pracują albo bez branchy, przeprowadzając integrację codziennie przez robienie codziennie commit'ów kodu, który "w miarę działa", oraz tego samego zespołu który integruje się z branchy raz na 5, 10, 15, 20, 25 i 30 dni.
Pracowali przez 250 dni (czyli mniej więcej tyle ile jest dni roboczych w roku).


odstęp między commitamikonfliktów
10
54
109
1514
2019
2522
3029

Liczba konfliktów w przypadku commitów codziennie wyniosła 0, przy 5 dniowych branchach 4, przy 10 dniowych 9 i tak dalej.
Większe odstępy między commitami wyszły trochę lepiej niż wyszłyby w rzeczywistości bo po prostu 250 nie do końca się ładnie przez nie dzieli, stąd ich liczby konfliktów zostały trochę zaniżone.

Wyraźnie widać, że liczba konfliktów rośnie wraz z czasem kiszenia zmian na swoim branchu. Nawet upmerge tutaj nie pomagają, bo co najwyżej trochę zmniejsza odstępy między integracją.

Jedynym powodem stosowania branchy jaki widzę jest to, że łatwiej robić review zmian w przypadku branchy, bo widać zmiany w jednym kawałku. 
Z drugiej jednak strony, gdyby zastąpić duże inspekcje serią mniejszych i później jedną większą, która przegląda wszystkie zmiany to chyba każda z inspekcji byłaby prostsza, a i szansa wprowadzenia błędu mniejsza...

Jak kto ciekawy to kod programiku do symulacji jest tutaj.



Podobne postybeta
Trzy heurystyki developerskie, których wdrożenie uchroni Cię przed zawałem i pozwoli przebić balon zadufania ;-)
Projekty Informatyczne - Mity ;-)
OS X po 1.5 miesiąca... chyba wolę Ubuntu ;-)
Inercja i koło wielokrotnego wynajdywania, czyli radosne macki piekieł w kodzie [alem pojechał w tytule ;-)]
Dobór naturalny, albo my

piątek, lutego 10, 2017

Deklaracja wyborcza ;-)

W ostatnich wyborach parlamentarnych głosowałem na Razem, wcześniej zawsze na SLD i chyba raz na Ruch Autonomii Śląska.

Teraz jednak utwierdzam się w przekonaniu, że w razie jakichkolwiek wyborów będę głosował na tą partię, która nie jest PiSem albo Kukizem i która będzie miała wg sondaży największe poparcie.

Jak to będzie PO to zagłosuję na PO, chociaż ich nie lubię. Jak to będzie Nowoczesna to zagłosuję na Nowoczesną.

W skrócie będę głosował na AntyPiSa, kimkolwiek* on będzie.


* - z zastrzeżeniem, że nie będzie to Kukiz, jakaś partyjka z PiS, narodowcy i inne podobne typy.


Podobne postybeta
Prosty test obiektywności dla zwolenników PiS/PO/whatever
Rycerz na białym koniu? ;-)
Czekam na MotoTab
Najbardziej bezsensowne wybory
Obywatelski obowiązek spełniony

niedziela, lutego 05, 2017

Wtyczka na pamięć - brniemy dalej ;-)

Moja wtyczka na pamięć, która ma wyświetlać "uwagi" do odwiedzanej właśnie strony WWW nabawiła się nowego ficzera ;-)
Potrafi wyświetlać wybrane uwagi na górze strony:


Ta uwaga tutaj przypomina mi bym nie robił zakupów na Amazon'ie w nocy, bo wiem, że wtedy mam opuszczoną gardę i chętniej wydaję pieniądze ;-)

Na innej stronie mam taką przypominajkę:


Bo już się kilka razy naciąłem, a nie zawsze o tym pamiętam.

Na popularnej stronie społecznościowej zaś:


Bo nie chcę żeby mi wchodzenie na tą stronę kończyło się na sprawdzaniu kto jest ;-)

Sam popup wtyczki nadal nie jest zbyt piękny:


Ale zdecydowanie bardziej użyteczny niż poprzednio :-)

Źródła wtyczki jak zwykle dostępne na moim GitHub'ie.

Teraz przydałoby się dodać możliwość synchronizacji uwag między instancjami przeglądarki...


Podobne postybeta
Błeee
Dziwne linki w iGoogle ;-)
EEE Storage :-)
Jak wywołałem kryzys....
OOo2GD 2.4.0 - foldery i HTTPS

sobota, lutego 04, 2017

Skrócona wersja zmian w ustroju Polski po wyborach w 2015 roku

Do niedawna przybliżony model tworzenia prawa w Polsce wyglądał mniej więcej tak:

Najpierw pojawiał się pomysł na prawo, mógł się pojawić w Rządzie, wśród posłów, albo wśród obywateli.
W końcu trafiał do Sejmu, który mógł uchwalić takie prawo, albo nie. Zależało to od tego czy odpowiednio wielu posłów uzna, że chce takiego prawa.
Jeśli Sejm uznał, że powinno dojść do zmiany prawa to trafiało ono do Senatu.
Senat mógł klepnąć prawo, lub dokonać w nim zmian. W drugim przypadku trafiało to znów do Sejmu.
W końcu trafiało do Prezydenta.
Prezydent miał do wyboru 3 opcje.
Podpisać, co sprawiało, że prawo stawało się obowiązującym prawem.
Mógł zawetować ustawę, wtedy wracała ona do Sejmu, który mógł je odrzucić albo nie.
Prezydent mógł jeszcze odesłać ustawę do Trybunału Konstytucyjnego, który mógł uznać, że ustawa lub jej poszczególne przepisy są niezgodne z Konstytucją.

Ale nawet obowiązujące prawo nie miało tak lekko bo np. Rzecznik Praw Obywatelskich mógł je zaskarżyć do TK, albo Sąd mógł poprosić TK o ocenę.

To wyżej to model uproszczony.

PiS to jednak partia, która przedkłada prostotę nad komplikację.

Obecny model stanowienia prawa w Polsce wygląda mniej więcej tak:


Czyż nie jest prościej?

Stąd jeśli część wyborców PiS, albo nie wyborców ma nadzieję, że głupie pomysły na ustawy nie przejdą to próżne nadzieje.
Jeśli poseł Jarosław Kaczyński uzna, że coś ma być prawem to nim będzie.


Podobne postybeta
Demokracja 3.3 ;-)
1 na 9 głosów
Ku dyktaturze...
Ułaskawienie in blanco....
Rząd wykonał swój plan aż w 17% ;-)

czwartek, lutego 02, 2017

Amazon Prime Video na XBOX One w Polsce - how to ;-)

Od jakiegoś czasu (miesiąc, albo dwa) Amazon Prime Video jest dostępne w 200 krajach na świecie w tym w Polsce.

Amazon jednak nie lubi Chromecasta... to trzeba mieć jakiś inny sposób oglądania.
Można na tablecie/telefonie z Androidem, ale telewizor mały i trochę głupio oglądać na 10.1" gdy przed Tobą jest 49"...
Poszukałem po sieci i podobno można użyć XBOX One do oglądania Amazon Prime Video....

To próbowałem wielokrotnie znaleźć aplikację Amazon'a w XBOX Store... bez sukcesów.

Przypuszczałem, że po prostu połączona indolencja ludzi z kilku firm sprawiła, że ktoś zapomniał odznaczyć w konfiguracji sklepu, że dana aplikacja jest niedostępna w Polsce....
Uprzedzając fakty - miałem rację ;-)

Zmieniłem kraj w ustawieniach XBOX'a (Ustawienia -> System -> Języki) na Stany Zjednoczone...

XBOX się zresetował (głupi telefon potrafi w locie zmieniać język, ale coś z Windowsem już nie...).

Amazon Video pojawiło się w XBOX Store :-)

Zainstalowałem. Działa, chociaż obraz nie jest najwyższej jakości.

Zmieniłem kraj znów na Polskę. Reset. Działa :-)

Tak oszczędziłem jakieś 800-1000 PLN, bo myślałem o kupnie NVidia Shield TV, a tak nie muszę ;-)

Zgaduję, że ktoś w Amazonie zapomniał odhaczyć "ptaszka" i aplikacja nadal ma ustawione, że nie ma się pojawiać w polskiej wersji XBOX Store....


Podobne postybeta
A ja wybrałem Xbox One ;-)
Nie, to brak HDCP 2.2, a nie backdrop nie służy Chromecastowi Ultra ;-)
Ice Cream Sandwich - Nexus S coraz bliżej, EEE Pad Transformer czeka...
So many Kindles..... ;-)
A ja jestem przeciwny prywatyzacji służby zdrowia.