poniedziałek, października 14, 2019

Czy "Nowy" Blogger znaczy, że Blogger będzie żyć?

Blogger właśnie zaproponował mi bym obejrzał nowego Bloggera.

Jak na razie nie widzę różnicy, ot statystyki są jakieś inne.

Ale czy fakt, że jednak istnieje coś takiego jak Nowy Blogger znaczy, że Google nie zamierza zabić Bloggera? ;-)

Bo szczerze, po tym jak zachorowali na księgowość* to przypuszczałem, że Blogger będzie następnym produktem do zabicia i że będę musiał przejść na Medium.

* - zabicie Google+, Inboksa (Google Readera im darowałem bo są dobre alternatywy, ale Google+ nic nie zastąpi :-()


Podobne postybeta
Klasy .NET w Java'ie....
14 października się już prawie kończy i nie ma inwazji obcych :-(
Szok kulturowy
Out of książka ;-)
Python zabójca ;-) czyli krótka opowieść o tym jak multiprocess "zabił" komputer ;-)

Od Buffy do egzaminu językowego ;-)

Były wyboru, wyniki exit polls są takie jakich się spodziewałem, ale nie takie na jakie miałem nadzieje ;-)

Inna sprawa.

Oglądam znów Buffy (to już taki niemal doroczny rytuał ;-)), ostatnio oglądałem pierwszy odcinek 4 sezonu - The Freshman.
Oglądając go przypomniałem sobie, że kiedyś zrobiłem tłumaczenie transkryptu tego odcinka i tak oglądając serial zaczęło we mnie rosnąć przerażenie, że na 100% to tłumaczenie jest daremne.

Więc zacząłem czytać i powiem, że nie jest tak źle jak się bałem ;-)
Nie mam daru bycia tłumaczem, ale jednak wydaje się, że mimo wszystko jest lepiej niż gorzej.
Chociaż widać, że i wtedy i teraz mam problemy z trzymaniem tej samej odmiany przez całe zdanie ;-)

Inna sprawa, że Buffy to trochę powód tego czemu nigdy nie zrobiłem żadnego certyfikatu językowego ;-)
Jak zauważyłem na zajęciach z angielskiego (jeszcze w Motoroli, a później w Sabre) nauka języka ma 2 tryby.
Tryb 1, wg mnie lepszy - uczymy się używać języka do komunikacji.
Tryb 2, wg mnie gorszy - przygotowujemy się do egzaminu.
W trybie 1 główne przesłanie jest - mów i słuchaj, nie bój się gdy zrobisz błąd.
W trybie 2 główne przesłanie jest - jak nie wiesz jak coś powiedzieć poprawnie to nie mów.

Niestety wiele osób stosuje jeszcze podejście ze studiów - "karteczka się liczy". Przez co starają się robić certyfikat, ale nadal nie uczą się komunikacji.

Oczywiście posiadanie certyfikatu nie przeszkadza w byciu dobrym w komunikacji, jednak często znaczy, że większość wysiłków wkłada się w użycie czasu zaprzeszłego, a nie powiedzenie tego co się chce powiedzieć.

Do tego ten papierek nie ma wartości.... Szczerze? Podejrzewam, że ja swoim słabym angielskim odbyłem więcej godzin rozmów po angielsku z amerykanami, anglikami i innymi ludźmi niż niejeden nauczyciel czy nawet lektor angielskiego.... Może nawet więcej.
I czy w takim przypadku ewentualny pracodawca będzie patrzał na ten papier, czy na to, że jednak posługuję się tym językiem?
Stąd szybko uznałem, że jednak nie, nie robię certyfikatu.

No chyba, że bym musiał. Ale wtedy jednak byłby to TOEFL a nie jakieś badziewne FCE ;-)


Podobne postybeta
Jak zrobić plik OVPN (dla OpenVPN) w wersji unified format?
Skąd się biorą źli i dobrzy nauczyciele? - Przemkowa teoria ;-)
Zinwigiluj się sam, część 2 - mapa :-)
Tresura owiec ;-)
Co się dzieje gdy mój pierwszy samolot się spóźnia i mam mało czasu na przesiadkę?

niedziela, października 13, 2019

Czemu oglądam filmy i seriale po angielsku z napisami po angielsku

Od dawna filmy i seriale gdy są amerykańskie lub angielskie oglądam w oryginale z angielskimi napisami.

Czemu?

Z jednej strony to podobno świetna metoda nauki języka, z drugiej dlatego, że to jedyny sposób na to by całe "dzieło" było podobnej jakości.

Bądźmy szczerzy, scenarzyści z Hollywood to top of the top, to najlepsi z najlepszych. To są ludzie przy których wielu poczytnych autorów jest takimi sobie operatorami słowem ;-)
To dzięki nim bohaterowie seriali i filmów mają świetne powiedzonka, lubią bawić się w grę słów i do tego zawsze mówią mądrze.

I teraz przychodzi tłumacz.... wielu jest świetnych, ale wydaje się, że dla większości tłumaczenie serialu czy filmu to coś na kształt chałtury.
To raczej nie są ci tłumacze, którzy tłumaczą książki, raczej inni.

No i nagle dialogi pisane przez jednych z najlepszych scenarzystów na świecie są tłumaczone przez kogoś kto ma jeszcze 4 rzeczy na ten tydzień, kogoś kto w ogóle nie zna fabuły i może nawet nie widział filmu/serialu.

No i dostajemy potworki.
A to Skorpiona w serialu Angel (gdzie powinien być Pogromca), albo "Do widzenia" w ostatniej części Igrzysk Śmierci gdy Katnis odrzuca Gale'a i gdzie w książce jest mocno podkreślone, że już go nie chce widzieć nigdy w życiu i on to wie, więc tłumaczeniem powinno być "Żegnaj"...
Że o Californication i cały tekst o małapch i prymatach....

Dlatego właśnie oglądam z napisami po angielsku*.


* - nawet 1984 próbowałem ;-) i powiem, że ciekawe to było :-) chociaż tylko pierwszy odcinek, resztę oglądałem z polskimi dialogami.


Podobne postybeta
Netflix w służbie nauki - nauki języka ;-)
O tym w czym iOS jest lepszy od Androida
Terminator Genisys
Błeee
Dziwna konkurencja

czwartek, października 10, 2019

Takie tam ;-)

Nowy projekt nam wpadł, mieliśmy wizytę szefostwa firmy, do tego jeszcze wychodzi, że w przyszłym tygodniu muszę jechać do USA na całe 3 dni czy jakoś tak...

Przez co śpię mniej niż 6 godzin dziennie i momentami mam ochotę gryźć ;-)

I niestety nie ma tu problemu którego nie rozwiąże czekolada, szczególnie taka z kawałkami mięty ;-)

Dziś się za to dowiedziałem, że w TreeSet i TreeMap są metody w stylu floor/ceiling i lower/higher :-) z NavigableSet/NavigableTree.
Nigdy ich nie musiałem używać, ale są fajne.

Np. jak sobie zrobimy TreeSet z a, c oraz e, i poprosimy o floor z b to da nam a :-) a floor z b to b :-)
Niby przy pomocy BST to jest to pikuś, ale i tak ładne :-)

Chciałem też w tym miejscu potępić chory zwyczaj robienia API przez oddzielanie "UI" aplikacji od samej aplikacji webowej, tak że siedzi na innym serwerze, który proxuje requesty (żeby nie łamaś same orgin i podobnych) i chodzenie dumnym, że "ma się API".
Nie ma się. API można zaprojektować jak się wie co ma być robione, UI zwykle działa w innym kontekście, operuje na jakichś abstrakcjach które są potrzebne człowiekowi, który używa aplikacji, wymuszanie ich w API nie jest dobrym pomysłem (mówiąc inaczej, API powinno być projektowane, a nie przydarzać się bo w UI musimy coś pokazać).


Podobne postybeta
Java 8 + lambdy = wolno ;-)
Dobrze, że Tusk wygrał
Projektowane dla Kalifornii ;-)
Przeżycie artystyczne ;-)
Jak VHDL obalił komunizm

środa, października 02, 2019

Moja teoria firm IT

W skrócie, chodzi o to by optymalizować wszystko pod jak najlepsze wykorzystanie najcenniejszego/najdroższego zasobu - programistów.

Teraz szerzej ;-)
Nieraz miałem w firmach dyskusje o procesach, metodologiach czy po prostu o praktyce pracy.
Zawsze dziwiło mnie, że ludzie nie jarzą, że w firmie IT, dokładnie w firmie która tworzy software wszystko musi być optymalizowane pod jak najlepsze wykorzystanie jednego zasobu - programistów.

To idzie tak.
Firma zatrudnia testerów, bo z jednej strony programiści nie lubią testować, a z drugiej po co marnować całkiem dobrego programistę czy dobrą programistkę na testowanie?
Firma zatrudnia managerów, bo programiści się sami mogą zarządzać, ale często zaczynają się kręcić w kółko i robią nie to co ważne i potrzebne, ale to co fajne i ciekawe.
Firma zatrudnia product ownerów czy product managerów, żeby programiści wiedzieli lepiej co mają robić, czyli żeby lepiej wykorzystać ich czas i nie marnować go na spotkaniach z klientem.

To samo można podciągnąć pod wszystkich.

Jak firma nie będzie miała testerów to produkt będzie gorzej przetestowany.
Jak nie będzie miała managerów to może powstawać dłużej, albo w bardziej szalony sposób.
Jak nie będzie miała product ownerów/product managerów to może nie do końca wypełniać pragnienia userów.

Ale będzie produkt.

Ale jak firma będzie miała testerów, managerów, product managerów, UXów, technical writterów, scrum masterów i co tam jeszcze może, ale nie będzie miała programistów to sorry, produktu nie będzie.

Te wszystkie role są po to by pomóc developerom tworzyć produkt. Są pomocnicze.

Tu wiele osób się obraża, że niby sieję teorię, że programiści to jakaś forma Übermensch.
Ale nie o to chodzi.

Moja babcia pracowała w przędzalni. Jej praca nie była jakoś skomplikowana. Razem z nią pracowały dziesiątki, czy setki osób robiących w kółko jedno i to samo.
Pracowały na 2 albo i 3 zmiany.
I cała firma, czy wtedy fabryka była de facto zbudowana po to by jak najlepiej pomagać pracownikom przędzalni i innych działów.
Księgowość, kadry, naczelstwo, POP, straż pożarna, mechanicy i cała reszta tego typu ludzi byli w fabryce ważni jako osoby, ale ich istnienie sprowadzało się do pomocy w jak najlepszym użyciu tych akurat tu najsłabiej opłacanych pracowników w przędzalni. Bo cały cel istnienia fabryki był taki by prząść.

W kopalni węgla kamiennego też jest cała masa ważnych ludzi, ale wszyscy oni w końcu służą tylko do tego by górnicy mogli zjechać w dół i fedrować węgiel.

Tak samo w firmach tworzących software. Wszystko istnieje po to by programiści i programistki mogli ten software tworzyć.
To jest ich jedyny cel istnienia.
Jeśli programiści muszą tłumaczyć product managerom co trzeba robić to może nie potrzeba PMów? Jeśli manager nie ogarnia tego co robią "jego" lub "jej" ludzie to może taki manager jest niepotrzebny? Bo pytanie jest takie, jak bardzo pomagają w powstaniu produktu. Albo przeformuowując to pytanie, czy jeśli ich usuniemy z równania to czy produktywność programistów/programistek spadnie? Bo jak nie, to sorry, ale wasza praca nie jest do końca potrzebna.

Są wyjątki oczywiście, prawo wymaga istnienia pewnego rodzaju struktur, jak np. HR/kadry, czy księgowość, rekrutacja i podobne. Są kluczowe dla firmy bo bez nich firma nie może legalnie istnieć albo nie może znaleźć pracowników.

Inna sprawa, że to spojrzenie i próba identyfikacji najważniejszego zasobu, pod który mamy coś optymalizować to rzecz, która ogólnie pomaga.
Nie zawsze uda się zidentyfikować ten zasób i to jest wtedy problem.
Chociaż mam wrażenie, że większość ludzi nawet nie próbuje szukać. Wymyślają sobie rozwiązanie i ostro próbują je osiągnąć, chociaż bardzo możliwe, że to co rozwiązują nie jest nawet ich problemem.


Podobne postybeta
Kiedy zmieniać pracę i po co? (w IT)
Tresura owiec ;-)
2 wymiarowa teoria kariery w IT ;-)
SCRUM i ogólnie Agile to często taka zakamuflowana forma premature optimization
Po Google I/O - TensorFlow, App Maker, Kotlin i Firebase ;-)

niedziela, września 29, 2019

Wybory

Już tu kiedyś deklarowałem, że będę głosował na największą siłę opozycyjną.
Wychodzi, że będzie to Koalicja Obywatelska.

Problem, że jak patrzę na ich listy w Krakowie to sami konserwatyści, albo tacy sobie mało interesujący ludzie.
Kto to widział dawać byłego członka PiS na początek listy?

Lewica też wcale nie wygląda lepiej.

Wychodzi na to, że będę musiał więc zagłosować przez losowanie ;-)
Listę już znam, teraz tylko wylosować liczbę od 1 do 28 (z pominięciem 1 ;-)).


Podobne postybeta
Wyniki do Sejmu na podstawie wyników do PE
Znów w domu :-)
Największy przekręt w Polsce?
No i po wyborach
A co gdyby głosy z wyborów samorządowych potraktować jako głosy w wyborach do Sejmu? ;-)

środa, września 25, 2019

Amazon mnie przerasta ;-)

Stwierdzam, że mnie przerasta ostatnio korzystanie z Amazona ;-)

Najpierw dwa razy kupiłem nową książkę twórcy XKCD Randalla Munroe "How To: Absurd Scientific Advice for Common Real-World Problems"

Tu mogę troszkę winić Gmaila, bo najpierw gdy zobaczyłem info o tej książce to zrobiłem pre-order, a później po jakimś czasie (2 miesiące?) zobaczyłem info znowu i nie będąc pewnym czy już zamówiłem wpisałem pełny tytuł do Gmaila i nic się nie pojawiło... Kto by pomyślał, że dwukropek psuje query? ;-)

Drugi raz poszło z The Pragmatic Programmer.
Ostatnio wydano nową wersję, 20 lat po pierwszej, z updatami i tak dalej.
To znalazłem na Amazon.de, ale było info, że to Kindle, a że ja mam amerykańskie konto w Kindle to sorry, ale mi nie sprzedadzą, ale tutaj pod tym linkiem jest wersja paperback.
To kupiłem... Dopiero wczoraj gdy dostałem maila, że wysłali spojrzałem na tytuł i to jest ta wersja sprzed 20 lat ;-)

Zdecydowanie mnie Amazon ostatnio przerasta ;-)

posted from Bloggeroid




Podobne postybeta
eBook - jak na razie się nie opłaca
Nexus 4 me wants...
O czasie w Androidzie
Androidowe "chciałbym żeby..."
Gdy Kindle zachoruje, część 2 - Następca...

wtorek, września 17, 2019

Plusy szybkiego łącza ;-)

Są plusy dobrego łącza ;-)
Tutaj instalują się Parallels, czy raczej Windows w Parallels.
Wszystko odbywa się przez WiFi ;p


51.3 MB/sec jest miłe ;-)


Podobne postybeta
Windows....
Spik mnie wkurzył
Przeszedłem już w tym roku 2061.5 km :-)
Plusy dodatnie i plusy ujemne ;-)
Jakiś coś do szybkiego tworzenia małych apek dla Androida by się przydał...

Który kod (nie kot! ;-)) lepszy?

Mamy kawałek kodu:
public List<List<Integer>> getLevelsOfTree(TreeNode root) {
    List<TreeNode> nodes = List.of(root);
    List<List<Integer>> res = new ArrayList<>();
    while (!nodes.isEmpty()) {
        res.add(nodes.stream().map(curr -> curr.val).collect(Collectors.toList()));
        nodes = nodes.stream().map(curr -> Arrays.asList(curr.left, curr.right)).flatMap(List::stream).filter(Objects::nonNull).collect(Collectors.toList());
    }
    return res;
}

Oraz:
public List<List<Integer>> getLevelsOfTree(TreeNode root) {
    List<List<Integer>> res = new ArrayList<>();
    preOrder(root, 0, res);
    return res;
}

private void preOrder(TreeNode root, int d, List<List<Integer>> res) {
    if (root==null) return;
    if (res.size()==d) res.add(new ArrayList<>());
    res.get(d).add(root.val);
    preOrder(root.left, d+1, res);
    preOrder(root.right, d+1, res);
}

Który jest bardziej czytelny?

Do mnie osobiście przemawia bardziej ten drugi, bo widzę, że robi preOrder po drzewie i zapisuje sobie wartości node'ów.
Ten pierwszy robi magię.
Najpierw wrzuca root'a drzewa do listy, później póki lista node'ów nie jest pusta to dodaje do listy wyników wartości node'ów, a później tworzy nową listę node'ów robiąc lekką magię.

Niby to pierwsze jest bardziej kompaktowe, ale IMHO trudniejsze do zrozumienia.
Do tego jak to drugie zużywa O(N) pamięci na N wartości + O(log(N)) na stos (jeśli drzewo nie jest listą...), a to pierwsze trudniej powiedzieć. Głównie działa na strumieniach, ale terminuje je collectorami. Tak stawiam, że używa O(N) pamięci.
Czasowo pierwsze jest wolniejsze (i to nawet na Java 11!!), nie dam głowy, ale zakładam, że nadal przygotowanie lambd i ich wołanie kosztuje.

Ten pierwszy wydaje mi się bardziej hacky, ten drugi bardziej straight-forward...

Jakieś opinie?


Podobne postybeta
Niecne wykorzystanie refleksji... czyli jak poszukać tekstu w drzewie obiektów? ;-)
Sztuczki tropiciela błędów - breakpoint na sterydach ;-)
Java 8 nadchodzi....
Giń konstruktorze! Giń! ;-)
Java na Raspberry Pi zaskakuje ;-)

Przeszedłem już w tym roku 2061.5 km :-)

Miało być o czymś innym, ale za poważne było i za mało przemyślane ;-)
To będzie o czymś innym.

Sprawdziłem właśnie i wg Google Fit w ciągu ostatnich 8 miesięcy i 16 dni przeszedłem już 2061.51 km :-)

Od początku tego roku niemal dzień w dzień wracam z pracy na piechotę, a do tego chodzę sobie w weekendy. Stąd mogę zrozumieć taką ilość kilometrów, ale nadal robi to na mnie wrażenie ;-)

To jest koło 2.7 mln kroków ;-) albo tak pi razy oko zużyłem 157 kWh ;-) czyli jakbym był na prąd to jeszcze nawet 100 PLN nie wychodziłem ;-) gdybym był Teslą to przejechałbym "za tyle energii" 656-760 km ;-) gdybym był spalinowcem to jakieś 140 km (nadal przyznam, że wydają mi się być te odległości gigantyczne, czyżby Tesla zużywała tylko ~3 razy więcej energii niż ja na poruszanie?)


Podobne postybeta
Czemu używam częściej Chromebooka niż netbooka z Windows?
Moto 360 i Lollipop na Nexusach
Linia poleceń rządzi!
3 "kuchenne" sekrety
A Pi ciągle działa....