Gdzieś między Polską a Niemcami, a szczególnie w NRD

Twit Programmers of the Year (5)

W pracy skończył mi się projekt, inny dział chce mnie koniecznie do innego projektu, tym razem dla klienta z trójramienna gwiazdą, ale zanim papiery załatwią to jestem w domu na koszt firmy. Pierwszy raz w życiu nie mam bieżącego projektu. Całkiem fajnie - wyporządkowałem już pół piwnicy i dalej walczę z programistycznymi twitami od Androida.

 Miałem już wszystko poustawiane, w Eclipsie, domowy serwer Git-a, Jenkins, itd., wymyśliłem czym się pobawię na początek i zacząłem ściągać przykładowe aplikacje do analizy. Na początku wziąłem jakieś stare, i wszystko było OK. Potem zassałem coś aktualnego od Googla i nie poszło. Bo chciało mieć niejakiego Gradla, to taki nowy pomysł na make. To dołożyłem Gradla, ale dalej coś się nie zgadzało. To zaktualizowałem Android SDK i dopiero się zaczęło. Nic już się nie chciało kompilować. Po dłuższej chwili ciężkiej walki poczytałem co o tym piszą w sieci i wyszło, że Google wycofał się z supportu developmentu pod Eclipse w końcu zeszłego roku, a całkiem niedawno poprzestawiał coś w SDK tak, że w Eclipse nie ma już szans. Tylko Googlowe Android Studio. (Uprzedzając wypadki - jak się cofnąć z wersją SDK Tools, to Eclipse jeszcze działa, przynajmniej z projektami w starej strukturze).

Cóż było zrobić - zainstalowałem Android Studio. No i mać, mać, mać, ono na 4GB RAM pod Linuxem się ślimaczy! Mam wystartowany tylko browser (w końcu muszę mieć doku) i Android Studio i po chwili 1 GB w swapie. Tak się nie da pracować! O puszczeniu równolegle emulatora Androida mogę zapomnieć.

No i znowu - co zrobić, trzeba nowy komputer. Mojemu notebookowi 7 lat stuknęło, dotąd wystarczał, ale pamięci rozszerzyć się nie da. Ale teraz koncepcja będzie inna. Notebook ma w zasadzie tylko dwie zalety:

  • Wszystko jest w jednym kawałku i łatwo go przenieść albo zabrać ze sobą
  • Ma w środku UPS-a (w pierwszym świecie nie jest to jednak specjalnie potrzebne, sprawdzić czy nie USA)

Poza tym same wady, a największa to to, że musisz zaplanować i zapłacić już dziś, twoje potrzeby na jutro i pojutrze. Jak się nagle pojawi całkiem nowa, niezaplanowana potrzeba w sprzęcie, to notebook musi być nowy. A jak zaplanowałem moje potrzeby na jutro, to wyszedł mi notebook z kategorii 1000+ EUR. Sorry, ale nie. Nie przy takich wadach:

  • Jak wypasiony taki notebook by nie był, to i tak wszystko w nim jest w wersji spowolnionej w porównaniu z desktopem.
  • Klawiatura zawsze jest w niestandardowym układzie, nawet jak to jest 18''. Do tego klawisze o krótkim skoku, i od pewnego czasu wszyscy robią takie, żeby się nie dało wyczuwać granic miedzy nimi. Po podświetleniu bajerancko wygląda, ale dobrze pisać na tym się nie da. I zazwyczaj jest za wysoko.
  • Teoretycznie można podłączyć klawiaturę na USB, ale wtedy ekran wychodzi za daleko.
  • Można podłączyć drugi ekran, ale wtedy nie da się mieć klawiatury na środku (czytaj: Co chwilę trzeba kręcić głową), albo patrz punkt poprzedni.
  • Przy pracy kabelek i tak trzeba mieć, do prądu, nie wierzcie w reklamy o bezkabelkowej wolności
  • Podłączenie do serwera idzie przez WiFi (czyli trochę wolne), albo trzeba mieć drugi kabelek.
  • Te twity od notebooków wymyśliły sobie kiedyś dotykowe wyłączniki, zwłaszcza do WiFi. Autora rozwiązania należałoby dla przykładu rozstrzelać - w większości notebooków z jakimi miałem do czynienia bardzo łatwo jest dotknąć  tego wyłącznika przypadkiem, potem nagle nie ma połączenia z siecią i nie wiadomo dlaczego. Gdyby był mechaniczny, to by się  wyłączenie poczuło, a tak co i raz ciśnienie skacze.

I tak dalej. Więc nowa koncepcja: skręcę sobie desktopa wykorzystując część elementów które już mam (zasilacz, karta graficzna, dysk z notebooka (bo miałem w nim dwa)), tylko Linux. Pracuję na stole, komputer będzie na półce, do monitora pociągnę jakieś 3,5 m kabelka i będę mógł pracować jak dotąd, a po robocie odstawić monitor na półkę i mieć wolny stół. I tak:

  • Obudowę kupiłem taką samą jak do serwera. Przy okazji się okazało, że Cooltek nie jest jej producentem, robi je firma Jonsbo i oni mają jeszcze kilka innych wariantów małej, zgrabnej obudowy na płytę w formacie MicroATX i zasilacz ATXowy. Niestety żadna z nich nie ma miejsca na dysk optyczny, ale to nic, później dokupię zewnętrzny na USB.
  • Wentylator zasilacza z piwnicy hałasuje przy starcie, ale potem się uspokaja. To też nic, wkrótce kupie używany zasilacz firmy BeQuiet. One są takie świetne, że naprawdę nie warto kupować nówki sztuki, paroletnia używka chodzi kolejne lata bez zarzutu. A nówki tanie nie są.
  • Kupiłem najtańszą płytę główną jaką się dało, za 40 EUR (po przeczytaniu testu, z którego wyszło że nie ma różnicy w prędkości między tą, a znacznie droższymi).
  • Procesor też był najtańszy (za niecałe 30 EUR). I tak według indeksów prędkości jest dwa i pół raza szybszy od tego z notebooka, a jeszcze różnica w prędkości busa, VT (Virtualisation Technology) support, ...
  • 8GB RAM DDR4 nie daje się kupić za bezcen.
  • Dysk 2,5'' z notebooka jest całkiem spoko, jest i tak dwa razy szybszy od tego, który był tam oryginalnie.
  • Kupiłem set klawiatura/mysz bezprzewodowe, Cherry, teraz wreszcie daje się pisać w tempie i bez zmęczenia.
  • Monitor miał być 22'' (bo tyle miejsca jest na niego na regale), miał mieć VGA, DVI i HDMI + głośniki i wyjście na słuchawki. Tu wyszło, że w rachubę wchodzi tylko jeden model Iiyamy. Też jest spoko.
  • Do monitora pociągnąłem cztery pięciometrowe kabelki (zasilanie, HDMI, audio i USB, USB musiał być z repeaterem). Kabelki owinąłem razem taką spiralą, w sumie jest to jak jeden grubszy kabel, handling jest świetny.
  • Dałem sobie spokój z Windowsami, i tak coraz rzadziej w ogóle bootowałem na Win. A używałem raptem ze trzy programy bez odpowiedników linuksowych (IrfanView, Picture Shark, Elster Formular, ...), teraz się okazało, że dały się bez problemów zainstalować pod PlayOnLinux

W sumie całość, włącznie z kabelkami kosztowała 350 EUR, czyli jakąś jedną trzecią tego co poszłoby na notebooka. Chodzi super, jak wcześniej emulator Androida startował ponad cztery minuty, to teraz poniżej 30 sekund. Instalacja drivera do nVidii była nietrywialna i nie dla początkujących linuksiarzy, ale nie jestem początkującym linuksiarzem. Za to teraz emulowane urządzenie Androidowe chodzi w takim samym tempie jak prawdziwe (o ile nie szybciej).

Ale oczywiście nie obyło się bez spotkań z programistycznymi twitami. Na przykład: klawiatura bezprzewodowa chodzi z baterii i oczywiście nie ma LEDów do capslocka i numlocka. Żeby wiedzieć jaki jest ich stan, trzeba mieć jakiś kawałek programu. No i na Linuxa w zasadzie jest taki, sztuk jeden. Obsługuje on wszystkie trzy klawisze, ale miejsce do pokazywania jest tylko jedno. A przy każdej zmianie pokazuje się na ekranie notyfikacja. To jest tak głupie i niepraktyczne, że nie wiem nawet jak to skomentować. Poradziłem sobie instalując taki kombajn, co na bieżąco wykresy wszelakie pokazuje (zajętość pamięci, obciążenie procesora, temperatury, swap, transfery dysku, ...)  i jeszcze krawaty wiąże i usuwa ciążę, ale jak powyłączać wszystko inne, to można go mieć za wskaźnik tych locków. Też głupota, ale co zrobić.

Następny problem jest, że mój komputer stoi teraz prawie za mną i żeby zobaczyć diodę od HDD to muszę się obrócić. Programu do pokazywania symulacji takiego LED-a na ekranie nie ma. W zastępstwie można najwyżej pokazywać wykresiki transferu do dysku, robi to również ten kombajn, co pokazuje locki. Dobre chociaż to.

A teraz Android Studio, to w zasadzie jeden wielki twit.  W sieci spotkałem wypowiedzi, że jest lepsze od Eclipsa, bo to co w Eclipsie szło ciężko, to tu idzie łatwo. Sorry, ale nie mogę tego potwierdzić. Zgoda, ono ma dobre chęci i chce na każdym kroku ułatwić, podpowiedzieć i zapobiec błędom. Tyle że skutek jest taki, że żeby zrobić całkiem podstawowe rzeczy to trzeba program wykiwać robiąc je na boku, w czym innym. Na przykład:

  • Jak chcieć założyć testy, czy to jUnitowe, czy na urządzeniu, trzeba umieścić je w bardzo konkretnych katalogach. I tych katalogów NIE DA się utworzyć w GUI Android Studio! Trzeba zrobić to normalnie, na dysku, czy to w CLI, czy w jakimś file managerze, ale nie w Android Studio!
  • Jeszcze gorzej: Nawet jak te katalogi utworzyć, to ich w Android Studio nie widać, dopóki nie ma w nich jakiegoś pliku! Czyli trzeba utworzyć tam jakiś plik, nawet pusty, dowolnym narzędziem, dopiero potem da się cokolwiek z tymi katalogami zrobić! To już nie Twit of the Year, to Twit of the Century!
  • Menu kontekstowe pozwala na utworzenie najmniej pięćdziesięciu różnych klas obiektów, ale nie tych, które są potrzebne - na przykład absolutnie podstawowe pliki build.gradle. I znowu trzeba je zakładać czymś innym.
  • AS reaguje standardowo tylko na klawisze kursora, a nie na te z bloku numerycznego. Można zamienić na te z bloku numerycznego (a ja zaczynałem od klawiatury AT i umiem tylko na tych), ale wtedy klawisze kursorowe są ignorowane. No mać, to aż takie trudne, żeby reagować na dwa różne?

Muszę przyznać, że chociaż import projektów Androidowych z Eclipsa działa dobrze. Ale dalej jest gorzej:

Chciałem przećwiczyć cały proces aż do Jenkinsa i ślicznych wykresów tendencji. Więc do zaimportowanego z Eclipse starego przykładu dorobiłem lokalne testy jUnitowe, takie byle by jeden był OK, a drugi failed, zacheckinowałem do Gita, puściłem build na Jenkinsie. No i wszystko cacy, tyle że protokołu z testów nie było. No i zaczęło się grzebanie. Okazuje się, że to dłuższa historia, pełna twitów. Sam muszę sobie to trochę uporządkować.

  • Jeżeli dobrze zrozumiałem, to Google przez długi czas uważało, że zautomatyzowane testy mają sens tylko na urządzeniu albo w emulacji. Jakiekolwiek unit testy na pececie były be  (facepalm!)
  • Ponieważ ludzie tak nie uważali (szacun), powstał niezależny framework do testowania na pececie zwany Robolectric.
  • Niedawno Google trochę pomroczność przeszła i zaakceptowali i wprowadzili do struktury projektu lokalne testy jUnitowe. Niestety, jednocześnie coś się pozmieniało i z Robolektrikiem są jakieś problemy (chyba na podobnej zasadzie jak z Eclipsem, to pewnie wykańczanie konkurencji).
  • Problem z raportami z jUnita polega na tym, że w Eclipsie raporty robił specjalny task Anta, którego nie zrobiono w Gradlu dla Androida.
  • W Gradlu można by ustawić generację raportu jUnita, ale tylko dla kawałka czysto jUnitowego. Ustawienie jUnit gryzie się z ustawieniem Android i nie da się ich użyć jednocześnie.
  • Podejrzewam, że dałoby się zrobić osobny build.gradle w katalogu testów lokalnych i tam ustawić że to jUnit, ale jeszcze jestem słaby w Gradlu i będę musiał trochę popróbować.

Przyznacie chyba, że testy automatyczne nie pozostawiające po sobie protokołu są jakieś takie nie ten tego...

 Ale teraz wyśmieję każdego, kto powie że Google zatrudnia świetnych programistów.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: ,

Kategorie:Programowanie

17 komentarzy

Twit Programmers of the Year (4)

W pracy kończy mi się walka z programistycznymi twitami, przynajmniej w tym projekcie. Startuje powoli następny, oczywiście znowu o stopień trudniejszy (teraz będzie dużo wariantów z różną funkcjonalnością i procesor z symmetric multicore). No ale trzeba oszczędzać i pewnie mnie przy nim nie będzie, przynajmniej na początku (pewnie zawołają mnie dopiero jak się zacznie walić i palić) . Zobaczymy gdzie teraz trafię.
Ale za to w domu zabrałem się za eksperymenty z Androidem. Na początek spróbowałem działać z sensorami i też od razu natknąłem się na mnóstwo twitów:

  • Na początek zrootowałem swojego tableta (Acer Iconia A700). Nawet łatwo poszło.
  • Wgrałem mu custom recovery, całkiem fajnie działa
  • Wgrałem też mu custom system (CyanogenMod). Tu był problem - jest dużo programów instalujących ten system na zrootowanym urządzeniu, tyle że całkiem niedawno ten projekt przemianował się (na LineageOS) i w ogóle coś się pozmieniało i te starsze wersje zginęły z sieci. Żaden z instalatorów nie działa. Na szczęście znalazłem gdzieś w sieci odpowiedni kompilat (samemu skompilować jeszcze mi się nie udało) i wgrałem go na tableta. I to jest dobre, oryginalny Android ślimaczył się już straszliwie, a ten chodzi całkiem przyjemnie, można było wywalić cały bloatware i ma to parę funkcji więcej.
  • Pisałem wcześniej o problemach z emulatorem Androida, dałem sobie z nim spokój. USB debugging chodzi bardzo dobrze. Potem kupię sobie parę używanych urządzeń z różnymi rozdzielczościami.
  • USB debugging chodzi, tyle że nie na moim telewizorze. Philips ma politykę, że ich telewizory są nierootowalne, soft można instalować tylko z Google Play, a USB debugging mimo że można odblokować, to nie chodzi (tu jeszcze potencjalny problem połączenia USB-A z USB-A). Chociaż ostatnio trochę odpuścili, po niedawnym updacie opcja instalacji z innych źródeł się pojawiła, i co nieco narzędzi poinstalowałem. Debugging ma móc chodzić przez Ethernet, podobno komuś się z tym modelem telewizora udało, mi jeszcze nie. W ogóle to motywacja Philipsa jest "Bo jak zbrickujesz sobie telewizor za 2500 EUR to będziesz płakał" - tyle że mój telewizor był tańszy od mojej komórki i niewiele droższy od mojego tableta. Uprzedzając pytanie: Nie, nie mam komórki za 2500+.
  • No to zacząłem od tableta. Na początek postanowiłem zapoznać się z obsługą sensorów. Jest do tego mnóstwo przykładowego kodu w sieci.
  • Analiza kodu i zależności fizycznych pokazała, dlaczego niemal wszystkie (o ile nie wszystkie) programy robiące za kompas są do niczego. Przyczyny są dość skomplikowane, ale do pojęcia. Objaśnię je, bo to ciekawe:
    • Niemal każda komórka ma akcelerometr, którym można ustalić kierunek "w dół" (to tam, gdzie statycznie mamy przyspieszenie 1g), żyroskop do obrotów i magnetometr, pokazujący kierunek na magnetyczną północ
    • GPS podaje geolokalizację urządzenia, ale nie w którą stronę jest obrócone, więc GPS się do kompasowania nie nadaje.
    • Magnetometr podaje kierunek wprost (przez Ziemię) do bieguna magnetycznego.  Znaczy to jest (jak u nas) jakieś 40º do poziomu.
    • Duża część programów na kompas bierze po prostu składową magnetyczną w płaszczyźnie urządzenia, relatywnie do jego osi Y. Ale jak trzymać urządzenie w ręku i pochylić je trochę do siebie, to ta płaszczyzna ustawia się paskudnie blisko prostopadłości do żądanego wektora, całą dokładność szlag gwałtowny trafia i kompas kręci się na chybił-trafił.
    • Sytuację może poprawić użycie kombinacji  sygnałów z akcelerometru i magnetometru.
    • W zasadzie coś takiego jest dostępne jako wirtualny sensor pozycji urządzenia, tyle ta funkcja zrobiła się deprecated lata temu (od v2.2.x, około 2010).
    • Ponieważ nowe rozwiązanie wymaga jednego calla więcej i trochę zrozumienia (słowo kluczowe: quaternion), prawie nikt nie jest w stanie tego pojąć i prawie wszyscy robią to po staremu.
    • Nawet po nowemu, to pokazuje kierunek na północ magnetyczną, a nie na "prawdziwą" północ.
    • Znając geolokalizację (z GPS-u) można od systemu dostać wartość poprawki żeby pokazać prawdziwą północ, ale nie znalazłem jeszcze ani jednego przykładu żeby ktoś to zrobił. Ja też jeszcze nie załapałem w którym momencie trzeba wykonać jaką operację na quaternionach, ale dojdę do tego.
    • Nawet jak zrobić to dobrze, pokazywany kierunek będzie zakłócany przez zewnętrzne pola magnetyczne.
    • Generalnie wszystkie te programy są zrobione maksymalnie prosto - obracają obrazek igły kompasu zależnie od danych z sensora. Nie będzie to sensownie działać (nawet porządnie zrobione) jak nie trzymać komórki poziomo. Mam pomysł znacznie lepszego interfejsu użytkownika. I jeszcze parę innych pomysłów na aplikacje związane z kompasem.
    • Dlaczego cała ta kombinacja składowych do orientowania się na prawdziwą północ nie jest dostępna jako proste API?
  • Jeszcze generalna uwaga co do API Androida: W całym tym API nie są w ogóle deklarowane wyjątki jakie funkcje mogą rzucać (deklaracja throws). Jak dla mnie to jest zupełnie podstawowy brak w designie - nieprzemyślana obsługa błędów.

Ładnie się zaczyna. Ciekawe jak będzie dalej.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: , ,

Kategorie:Pomyślmy, Programowanie

24 komentarze

Ale Meksyk tutaj jest

Ostatnio mam mnóstwo zajęć i nie dochodzę do pisania notek, a tyle miałbym do opowiedzenia. Ale spróbuję, może się uda dociągnąć notkę do końca w rozsądnym czasie. Dziś o podróży do Meksyku, zanim wszystko zapomnę.

W notce pisanej on location twierdziłem, że Meksyk jest jak Polska około 1995. Niedawno chciałem coś na temat Meksyku sprawdzić w Wikipedii i zauważyłem podany tam dochód narodowy brutto na mieszkańca. Poszedłem tym tropem i porównałem go z tym samym parametrem dla Polski. Teraz Polska leży oczywiście znacznie wyżej, ale z danych historycznych wyszło mi, że tyle co ma Meksyk teraz było właśnie gdzieś około połowy lat dziewięćdziesiątych. Jakie to proste.

Zacznijmy od podróży:

  • Na lotnisku we Frankfurcie przy kontroli zapomniałem zdjąć zegarka (mocno metalowego). Zapoznałem się dzięki temu z takim dużym, cylindrycznym skanerem na człowieka. Działa - na ekranie pojawiła się moja sylwetka z zaznaczonym lewym nadgarstkiem.
  • Do Mexico City leciałem Lufthansą, 747-800. Miałem miejsce przy oknie, ale w zasadzie nie było potrzebne - na monitorku można było wybrać sobie obraz z kamery z przodu samolotu (sensowne tylko przy kołowaniu) albo widok w dół. Mała rzecz, a cieszy.
Cień samolotu

Cień samolotu

  • Z Mexico City do Guadalajary leciałem linią Aeromexico - całkiem normalny lot, nic do opowiadania.
Mexico City by night

Mexico City by night

  • Kontrole w Meksyku były najdokładniejsze - elektronikę kazali układać w jednej warstwie i sprawdzali o wiele bardziej niż gdzie indziej. Za to w USA kazali wszystko z kieszeni włożyć do plecaka i luzacko skanowali wszystko na raz na kupie.
  • W Meksyku ze względu na mafie taksówkarskie, na lotnisku można kupić bilety na taksówkę. Mówi się dokąd, płaci w kasie, dostaje bilet, daje się go taksówkarzowi i nie zostaje się orżniętym. Tyle że mi szefostwo zorganizowało jakiegoś pracownika który po mnie przyjechał, a po przywiezieniu do hotelu powiedział że zwyczajowo się takiemu płaci, tyle a tyle. Może nie było specjalnie drogo, z grubsza tyle co za Ubera, tyle że bez rachunku. To już bym wolał ten bilet na taksówkę.
  • Powrót miałem United przez Houston. Straszne sknery na tym krótkim locie - przy każdym ekraniku był czytnik do kart płatniczych, nawet żeby oglądać mapę trzeba było zapłacić. Przy check-inie online do wyboru pokazywały się tylko miejsca za dopłatą. Dałem spokój z online i dobrze zrobiłem - dostałem bez dopłaty miejsce przy oknie, po stronie odsłonecznej.
Meksyk z góry

Meksyk z góry

  • Przy pasie w Guadalajarze stoją stare, złomowane samoloty. Ale na muzeum techniki jeszcze za mało.
Złom na lotnisku w Guadalajarze

Złom na lotnisku w Guadalajarze

  • W Houston zarezerwowali mi połączenie z czasem przesiadki około 2 godzin. No to było knapp - odstałem te krótsze kolejki, nie musiałem pobierać i zdawać bagażu, a dotarłem do gejta na dziesięć minut przed boardingiem. Nawet nie zdążyłem zajrzeć do kiosku z gazetami. Na drugi raz - jeżeli będzie drugi raz, bo aż tak się do tego nie palę - muszą dać więcej czasu. Może nawet tyle, żeby zdążyć jeszcze zobaczyć rakiety? Tym by mnie mogli przekonać do powtórzenia akcji.
  • Z Houston do Frankfurtu leciałem też United, Dreamlinerem. Taki był niby ładny, amerykański, ale kamer do wyglądania na zewnątrz nie miał. Okienka nie były zasłaniane mechaniczną zasłonką, tylko przyciemniane elektrycznie i problem jest taki, że rano nikomu się nie chce przełączyć na przezroczysto (bo i bez tego coś tam widać) i ze środkowego rzędu nawet nie da się powiedzieć czy już jest dzień, czy jeszcze nie. To już lepsze były te zasuwki. I jeszcze: przy każdym siedzeniu są gniazdka USB i 110V w standardzie amerykańskim, ale tak umieszczone, że żeby trafić w gniazdko wtyczką sieciową to chyba trzeba by się położyć na podłodze, bo inaczej nie widać gdzie wkładać i trafia się w te gniazda USB. Po prostu katastrofalne.

Teraz trochę wrażeń z Meksyku:

  • Toalety to oni mają w systemie amerykańskim. Widziałem kiedyś kawałek lets-playa z Simsami i dziwiło mnie, dlaczego tam co chwilę ktoś wyciera podłogę w łazience. Teraz już wiem dlaczego - te muszle się po prostu zapychają. Tam w Meksyku koło każdej muszli stoi wiadro, do którego wrzuca się zużyty papier toaletowy, żeby się muszla nie zapychała. Nawet w firmie tak jest, tyle że w firmie mają automatyczne spłukiwanie minimalną ilością wody.
Meksykańska toaleta

Meksykańska toaleta

  • Również w firmie krany w umywalkach nie leją wody jak europejskie, tylko rozpylają ją w delikatną mgiełkę. Z drugiej strony trudno się dziwić - bardzo sucho tam jest, wodę trzeba oszczędzać.
  • Liczniki prądu są ogólnodostępne, na zewnątrz posesji. Podobno to dlatego, że przy problemach z płatnością po prostu wymontowuje się licznik bez konieczności wchodzenia na teren prywatny.
Licznik energii na ulicy

Licznik energii na ulicy

  • Chodząc po mieście zobaczyłem jak układają tam instalację wodną: Mieli wyskrobaną w ziemi bruzdę, głęboką na jakieś pięć centymetrów, układali w niej rurkę miedzianą i przysypywali ziemią. U nas by nie działało, u nas bywa jeszcze mróz. W podobnie uproszczony (w porównaniu z europejskim) sposób układali drogę.
  • Główne ulice zorganizowane są tak, że na środku są po dwa pasy w każdą stronę, dalej po obu stronach oddzielenie i znowu po dwa pasy. Skręcanie w boczne ulice działa z tych zewnętrznych, przejazdy między pasami zewnętrznymi i wewnętrznymi tylko co pewien czas. Oznakowanie poziome jest daleko nie wszędzie. Wszyscy ciągle skaczą między pasami wewnętrznymi a zewnętrznymi, co jeszcze powiększa wrażenie chaosu w ruchu drogowym.
  • Na skrzyżowaniach światła dla samochodów umieszczone są za skrzyżowaniem, a świateł dla pieszych nie ma wcale, trzeba się orientować na światła dla samochodów. Ale w ogóle ruch pieszy był bardzo mały, jak na miasto na półtora miliona w niezbyt bogatym kraju.
  • W supermarketach mieli różne ciekawe ciastka, ale żadnych torebek czy czegoś takiego, a zapytać nie umiałem bo nie hablam wcale. Dopiero w firmie mi wyjaśnili, że gdzieś tam muszą leżeć metalowe tace i szczypce, bierzesz taki set, kładziesz na tacy ciastka i idziesz z tym do pani na stoisku, a ona pakuje do torebek i przyczepia ceny.
  • Na samoobsługowym stoisku z wędlinami zobaczyłem kiełbaski "Salchichas estilo Polaco" no i musiałem spróbować. Były to parówki, nawet nie najgorsze, zrobione w USA, co wiele wyjaśnia.
  • Koledzy zachwalali meksykańskie kakao, ale nie takie w proszku. Sprzedają oni takie duże "pastylki" kakao z cukrem, jedną pastylkę rozpuszcza się w litrze gorącego mleka. Kupiłem parę wariantów, synowi bardzo smakowało (oprócz tych słodzonych stewią, w ogóle sporo używają tam stewii)
  • Chciałem spróbować zjeść coś małego, meksykańskiego po drodze, w jakimś centrum handlowym. Ze trzydzieści stoisk, ale głównie nie miejscowe - sandwicze, słodkie, pizza, chińskie... Za czwartym obejściem zdecydowałem się na coś takosowego (głównie dlatego że były zdjęcia i mogłem pokazać palcem). Oczywiście nie mówili po angielsku, ja na wszystkie pytania "czy dodać..." odpowiadałem "si". Problem powstał przy napoju. Pokazali cztery słoje, zawartość trzech nie przypominała niczego, a w czwartym pływały plasterki świeżego ogórka. Wybrałem więc czwarty, a na pytanie "czy dodać..." odpowiedziałem "no". Napój okazał się wodą o smaku ogórkowym, a to czego nie chciałem to prawdopodobnie była sól. A na stolikach soli nie było. Tak to jest jak się miejscowego języka nie umie, a miejscowi nie umieją we wspólnym.
  • W centrum handlowym był sklep zoologiczny i trochę mnie zaszokowało że w klatkach mieli psy, również szczeniaki. No mać, taki szczeniak potrzymany przez kilka tygodni w ciasnej klatce musi mieć potem problemy z socjalizacją!
Szczeniaki w sklepie zoologicznym

Szczeniaki w sklepie zoologicznym

  • Większość ich słodyczy to cukier z cukrem posypany cukrem i obtoczony w cukrze (próbowałem już wcześniej, bo co chwilę ktoś przywoził), ale mają też ciekawsze rzeczy, w rodzaju suszonego przecieru z miąższu jakichś owoców, przyprawionego chili. To jest niezłe, ale bardzo intensywne. Zaleta jest taka, że nie da się tym obżerać, to można jeść tylko powoli i nie za dużo.
  • Meksykańska czekolada jest nieco inna niż europejska. Nie znam różnic technologicznych, ale jest inna.
  • Hotel był naprawdę dobry (sieci Riu) tylko, cholera, oni mają taki system pościeli jak we Francji. Znaczy dwa prześcieradła i koc. Prześcieradła miały brzegi włożone artystycznie i głęboko pod materac, a koce leżały w szafie zapakowane do pojemnika. Żeby ułożyć sobie to wszystko w sposób nadający się do spania trzeba się było cokolwiek narobić, a następnego dnia pokojówka układała wszystko znowu tak jak na początku i chowała koc do szafy. No szlag by ich trafił, masa nikomu niepotrzebnej roboty dla obu stron.
  • Śniadania hotelowe były rewelacyjne. Kosztowały co prawda kilkanaście euro, ale jedzenie było jakościowe a do wyboru było tyle, i na ciepło, i na zimno, i owoców, i ciast, i napojów, i t.d., że przez ten ponad tydzień nie zdążyłem nawet wszystkiego spróbować. Jedno mi się tylko nie podobało - oni tam w Meksyku używają do niektórych potraw jakiejś takiej przyprawy, która smakuje jak rozpuszczalnik (przynajmniej ja ją tak odbieram) i musiałem ostrożnie próbować, najpierw nie za dużo, żeby się nie okazało że tego akurat nie jestem w stanie jeść. Tak się obżerałem na śniadanie, że nie miałem ochoty nie tylko na obiad, ale często nawet na kolację.
  • Telewizja meksykańska beznadziejna totalnie, powiedziałbym że nawet gorsza niż w Polsce a.d. 1995. Oglądałem głównie US-amerykańskie kanały informacyjne, ale oni też przynudzali.
  • Nie ma tam wróbli i wron, ale są podobne, miejscowe zamienniki. Nawet lepsze, bo nie tak hałaśliwe.
Meksykański zamiennik wróbla

Meksykański zamiennik wróbla

Meksykański zamiennik wrony

Meksykański zamiennik wrony

  • Dzień i noc prawie równo po 12 godzin to nie jest to, strefa umiarkowana rulez.
  • Gringom odradzają jeżdżenie taksówkami, jeździ się Uberem. Kierowcy bywają zaskakujący, raz na przykład jechaliśmy z facetem w garniturze i słuchającym muzyki klasycznej. Najczęstsze skojarzenie z Niemcami które obserwowaliśmy u Uberowców to Allemania - Rammstein! Serio, paru takich sam widziałem, a wszyscy opowiadali że z takimi się zetknęli nie raz. To jest dopiero rozpoznawalność marki. W samochodzie jednego z tamtejszych programistów, który raz odwoził mnie do hotelu leciał Blind Guardian, a on sam twierdził że akurat wszystkie jego ulubione zespoły są niemieckie.
  • Raz wracaliśmy Uberem z firmy z kolegą mówiącym nie najgorzej po hiszpańsku, jedynym który lubi tam w Meksyku siedzieć (bo jest młodym, przystojnym singlem, mieszka tam w najlepszym hotelu i wyrywa najlepsze dziewczyny). Kierowcy tak się dobrze z nim rozmawiało, że nadłożył kilka kilometrów (w Uberze nie zmienia to opłaty za przejazd). Temu Niemcy kojarzyły się (oprócz piłkarzy) z Hitlerem, ale wbrew pozorom było to u niego skojarzenie pozytywne. Rozmowa potoczyła się w dziwnym kierunku (mimo że nie hablam, rozumiałem mniej więcej o czym mowa). Wysiedliśmy zdegustowani.
  • W mieście na półtora miliona nie znalazłem ani jednego sklepu z pamiątkami. No ale może to dlatego, że w tym wielkim mieście w ogóle niewiele do zobaczenia jest, tylko katedra, zabytków tyle co kot napłakał, a muzea całe trzy mniej więcej, z czego żadne po opisie mnie nie zachęciło.
Katedra w Guadalajarze

Katedra w Guadalajarze

  • Za to na lotnisku, w strefie wolnocłowej tyle sklepów z pamiątkami i wyrobami regionalnymi, ile jeszcze w takim miejscu nie widziałem. Kupiłem pocztówki i chciałem wysłać, ale się okazało że tam się nie da kupić znaczka pocztowego. Pytałem w wielu sklepikach, ale wszyscy mówili że nie ma (o ile w ogóle znali jakieś słowa po angielsku, a przecież w takim miejscu to by się jednak przydało). Pocztówki musiałem wysłać z Niemiec.
  • Z ciekawostek: w Guadalajarze w 1992 pewnego dnia przez sześć godzin wybuchała kanalizacja. Rzędu 500 ofiar śmiertelnych (dane bardzo różne, zależy gdzie przeczytać), 8 kilometrów ulic zniszczone, 15.000 ludzi straciło dach nad głową. Więcej TUTAJ (jest też po polsku, ale słabo przetłumaczone)

Podsumowanie: Ciekawe doświadczenie, raz można było polecieć, ale na powtórkę nie jestem bardzo chętny. Jeden z kolegów, skoro już tam był, to zrobił sobie dwutygodniowe wczasy (z rodziną), objechał dużą część Meksyku, pokazywał zdjęcia, ale też mnie aż tak bardzo nie zachęciły.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy:

Kategorie:Ciekawostki, Warto zobaczyć

14 komentarzy

Jak to się robi w Niemczech: Lewicowe (?) psycholstwo

Niedawno blogokomentator red1grzeg zadał pytanie o AfD z niemieckiego punktu widzenia. To bardzo ciekawy temat i mam zamiar o tym napisać, ale teraz zacznę od drugiego (przynajmniej w deklaracjach) bieguna sceny politycznej.

Już ponad dziesięć lat temu WO miał na swoim blogu notkę w której wysnuwał tezę, że w Polsce psycholi przyciąga głównie prawica, a w innych krajach bywa inaczej. Przypomniało mi się to, gdy znowu w mojej skrzynce pocztowej znalazła się broszurka (no może broszurka to za dużo powiedziane, to zawsze ma objętość jednej-dwu kartek A4 zadrukowanych dwustronnie) sygnowana przez niejaki "Bund gegen Anpassung" ("Związek przeciw dopasowaniu"). Druki ktoś wtyka do wszystkich skrzynek pocztowych kilka razy do roku. A ja to próbuję czytać i mam z tymi tekstami stały problem - nic nie rozumiem.

Znaczy ja rozumiem wszystkie używane słowa, dobrze rozumiem gramatykę zdań, rozpoznaję źródła stylistyki i retoryki, rozumiem całe zdania, ale co do treści to mam naprzemiennie WTF i facepalm oburącz. Bo to jest tak:

Autor uważa się za lewicowca. Tak wygląda jego logo (napisy głoszą: "kontrola urodzeń", "skrócenie czasu pracy", "powszechna równość"):

 Bund gegen Anpassung - logo

Jego retoryka i inwektywy są lewackie w pierwotnym znaczeniu tego słowa. Ciągle jest o przebrzydłych kapitalistach, imperialistach, zwykłych pognębionych ludziach itd. Tyle że jest to napisane tak grafomańsko i egzaltowanie, że trudno wyłapać o co właściwe autorowi chodzi. Ja jak się mocno nie skupię, to odpadam zanim doczytam do końca akapitu.

Ale jak już doczytam, to zaraz mam mindfucka. Na przykład w ostatniej ulotce autor podziwia Trumpa (i to nie pierwszy raz) jako dobroczyńcę prostego ludu (WTF?) i przeciwstawia go złemu Sorosowi, który przecież dla "prawdziwej prawicy" jest synonimem wrednego lewaka finansującego komunizm. Lewicowość autora w konkretnych poglądach przejawia się głównie w krytykowaniu USA i generalnie świata zachodniego i bezkrytycznym wychwalaniu Rosji (WTF?). Jak ktoś uważa współczesną Rosję za lewicowy wzór do naśladowania to chyba musi mieć co najmniej trzydziestoletniego jetlaga i zasługuje najwyżej na facepalma.

Z tym że takie skrzywienie prezentuje nie tylko on. Podobnie widzi temat na przykład partia Die Linke. Ona ogólnie jest rzeczywiście mocno lewicowa i nawet czasem zastanawiam się czy na nią nie zagłosować, ale zaraz wyłazi im dziedzictwo SED (z którego przecież bezpośrednio się wywodzą), wygłaszają coś w stylu proradzieckiej propagandy jaką pamiętam ze studiów i chęć głosowania na nich zaraz mi przechodzi.

Teraz lekka dygresja. Mam tu we Frankfurcie dalekiego krewnego z pokolenia moich rodziców, który wyemigrował jeszcze w latach siedemdziesiątych. On uwielbia czytać o spiskach i podarował mi pewien czas temu popularną w Niemczech książkę o przyczynach tego wszystkiego, co dzieje się obecnie na Bliskim Wschodzie, Książka ma tytuł "Wer den Wind sät..." ("Kto sieje wiatr..."), napisał ją Michael Lüders, który niby ma się na temacie znać. Według przedmowy książka ma burzyć powszechnie utrwalony obraz że to wszystko przez tych wstrętnych Ruskich i opowiada historię ostatnich stu kilkudziesięciu lat tego regionu praktycznie wcale nie wspominając o Związku Radzieckim i Rosji. Jest tam tylko o tym, jak przebrzydli zachodni imperialiści ciągle się mieszali w wewnętrzne sprawy spokojnych, niezależnych i samorządnych krajów regionu (i Afganistanu też). Oj dana, dana, wszystko przez Reagana.

Michael Lüders - Wer den Wind sät

Michael Lüders - Wer den Wind sät

Znaczy ja nie przeczę że się mieszali, mieszali się jak cholera, ale opowiedzenie tego całkowicie pomijając rolę ZSRR jest taką samą manipulacją, jak zwalenie wszystkiego na Ruskich. I założę się, że wielu (zwłaszcza mniej oczytanych) czytelników nie zwróciło uwagi na przedmowę tylko wzięło tekst poważnie jako "ukrywaną, najprawdziwszą prawdę historyczną".

Wróćmy do naszego ulotkowego psychola: Podobnie było przy TTIP. On też jojczył nad TTIP, ale mindfuck mi zrobił gdy puścił ulotkę pod alarmującym tytułem "TTIP to przesądzona sprawa" jak już od dobrych kilku tygodni było dokładnie wiadomo, że nic z tego nie będzie. Czym zresztą nic się nie różnił od polskich politycznych psycholi głównie z obozu PiSowskiego. A wystarczyło się chociaż trochę tematem interesować żeby wiedzieć, że negocjacje w sprawie TTIP posuwały się w tempie ślimaczym, umowa miała mieć 17 rozdziałów, a przez wiele lat negocjacji do samego końca nie udało się uzgodnić ani jednego z nich i cokolwiek do podpisania w ogóle nie istniało. Co nie przeszkadzało oszołomom wszelkiej maści krzyczeć "UNIA ODDAJE SIĘ AMERYKANOM W NIEWOLĘ!!!ONE!". No mać, mać, mać, jak by tak bardzo chciała się oddać to umowę podpisano by w try miga, problem polegał na tym, że Amerykanie rzeczywiście chcieli wziąć wszystko co możliwe, ale Unia wcale nie była skłonna im tego dać. Ja rozumiem, że polscy psychole nie mają pojęcia o niemieckiej polityce i mogą wypisywać głupoty w rodzaju "Merkel musi szybko podpisać TTIP bo Deutsche Bank ma straty i zaraz padnie" (autentyczny tekst, który widziałem w paru miejscach) - skąd biedacy mają wiedzieć że Deutsche Bank mimo Deutsche w nazwie to firma prywatna (niemiecki bank emisyjny nazywa się Deutsche Bundesbank, ale jaki świr by na to wpadł?), i że Merkel ma rząd koalicyjny a za negocjacje TTIP odpowiedzialni byli ministrowie z SPD, bez nich i tak nic by nie podpisała. No ale mieszkając w Niemczech i interesując się chociaż trochę polityką trudno było nie zauważyć jak Steinmeier (akurat najbardziej kompetentny w temacie, bo odpowiedzialny za negocjacje TTIP minister spraw zagranicznych z SPD) oznajmił że TTIP jest martwy i za to publiczne stwierdzenie faktu mu się z różnych stron dostało. A ten świr od ulotek nie zauważył do tego stopnia, że ostatnio przypisał jedyną zasługę w nie dojściu TTIP do skutku Trumpowi.

Z kolejnych jego poglądów to on jest (jeżeli dobrze wyczytuję z jego mętnych figur retorycznych)  generalnie przeciw przyjmowaniu uchodźców. Jakoś nie za bardzo pasuje to do wrażliwości lewicowej. Stałym jego tematem jest "Lügenpresse" (czyli że "prasa kłamie") - w zasadzie z tymi dwiema rzeczami mógłby od razu przystąpić do Pegidy a nawet AfD. Od razu wyjaśnię temat "Lügenpresse" - z pewnością do mediów niemieckich można mieć takie czy inne zastrzeżenia, ale gdzie jest ten ideał? Pluralizm mediów w Niemczech z całą pewnością istnieje, a rozdział mediów publicznych od państwa działa tak dobrze, jak chyba nigdzie na świecie. Jak ktoś uważa akurat media niemieckie za generalnie "Lügenpresse" to musi nie mieć najbledszego pojęcia o innych krajach. #problemypierwszegoświata.

Jeszcze można by tak długo. Ale trzeba przyznać, że ten dysonans między retoryką a poglądami jest fascynujący, nazbierałem już kilkanaście ulotek "Bund gegen Anpassung", bo takiego kuriozum nie będę wyrzucał. A autor musi też znajdować sympatyków, bo jednak drukowanie sporych nakładów i rozprowadzanie ich wymaga trochę grosza, a nie sądzę żeby pokrywał to wszystko z własnej kieszeni.

Poszukałem kto właściwie za tym wszystkim stoi: Autorem ulotek jest niejaki Fritz Erik Hoevels, mieszkający tu, we Frankfurcie. Jest on psychoanalitykiem i publicystą, oraz przewodzi organizacji pod nazwą "Bund gegen Anpassung". Hoevels na studiach był zafascynowany lewicą, zapisał się do Sozialistische Deutsche Studentenbund (Socjalistycznego Związku Studentów Niemieckich), organizacji początkowo bliskiej SPD, która potem zdryfowała daleko na lewo. Hoevels stał się aktywnym działaczem, ale potem coś swoimi akcjami narozrabiał (nie znam szczegółów). Jako swoich idoli podaje on Marksa, Engelsa (to jeszcze całkiem spoko), Lenina i Trockiego (tu wskazówka wykrywacza świrów wychyla się już znacząco), oraz Freuda i Reicha, tego od orgonów (wskazówka wykrywacza świrów dochodzi do oporu mechanicznego). Do lewicowego zestawu idoli nie tylko mi nie pasują jego poglądy - przez wiele źródeł jest od klasyfikowany jako "skrajna prawica" + "sekta". On sam przed wyborami kilka lat temu zalecał swoim zwolennikom głosowanie na NPD (czyli faszystów) albo Piratów, zestaw przedziwny.

Autor ma swoją stronę w sieci, podstrona "O autorze" jest nawet przetłumaczona na polski. Ciekawe kto tłumaczył, bo tłumaczenie bardzo dobrze oddaje kwiecisto-mętny styl oryginału.

Jakie z tego wnioski? Po pierwsze WO ma rację, że prawica nie ma monopolu na psycholi. W Polsce poglądy lewicowe zostały spalone przez okres realnego socjalizmu, gdzie indziej tak nie jest.

Po drugie: Psychol to psychol. Czy przyznaje się do prawicy, czy do lewicy, poglądy wychodzą bardzo zbliżone.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: , ,

Kategorie:Jak to się robi w Niemczech?

13 komentarzy

Warto zobaczyć: Muzeum historii medycyny, Charite Berlin

Mnóstwo miejsc które warto zobaczyć czeka na opisanie, a ja ciągle mam zbyt wiele zajęć żeby do tego dojść. Ale to, co widziałem ostatnio było tak mocne, że muszę się podzielić.

W ostatnich tygodniach niemiecka telewizja publiczna pokazała premierowo nowy, sześcioodcinkowy serial o lekarzach z berlińskiego szpitala Charite. Nazwa ta chyba nie jest większości czytelników z Polski znana, ale główni bohaterowie z pewnością tak. Są to słynny patolog Rudolf Virchof, i trzej laureaci Nagrody Nobla: Robert Koch, Paul Ehrlich i Emil von Behring. Serial całkiem nie najgorszy, oczywiście nie jest to rzecz naukowa, tylko popularna historyjka na faktach i tle, ale da się oglądać a i istotne fakty się zgadzają. Tu trailer:

A poczytując w sieci informacje uzupełniające znalazłem, że w szpitalu Charite jest muzeum. Wracając z kraju zajechaliśmy więc. No i okazało się że muzeum jest po prostu zajebiste. Zaplanowałem że zejdzie na nie godzinka, a po wyjściu okazało się, że minęły ponad trzy - to chyba najlepsza rekomendacja. Tak naprawdę to za dużo wrażeń na jeden raz, należałoby pójść tam parę razy. Jedyny problem jest taki, że absolutnie nie pozwalają tam robić zdjęć i notka będzie opatrzona tylko dwoma zdjęciami budynków z zewnątrz.

Charite, Berlin

Charite, Berlin

Muzeum mieści się w budynku, w którym wykładał Virchof, i w którym miał on swoją kolekcję preparatów. Sala w której wykładał zachowała się w stanie ruiny - w końcu wojny budynek został częściowo zniszczony, potem odbudowano nad salą strop (tyle że z betonu), ale w sali zostało tylko to, co było z cegły.

Zwiedzanie zaczyna się od wystawy okresowej, teraz jest to wystawa poświęcona kryminalistyce. Bardzo interesująca, wszystkie aspekty szukania, zabezpieczania i analizy śladów przestępstw są dokładnie pokazane i omówione. Może to być szczególnie wartościowe dla miłośników kryminałów.

Wystawa stała zaczyna się od historii kolekcjonowania preparatów patologicznych, wywiedziona ona jest z gabinetów osobliwości, którymi chwalili się wszyscy szanujący się (i odpowiednio bogaci) szlachcice. Wywód prowadzi oczywiście do kolekcji Vichofa, która jest trzonem najciekawszej części ekspozycji.

Virchow był jednym z najbardziej znanych patologów tamtych czasów, jego mottem było "Kein Tag ohne Preparat" (z grubsza "Dzień bez preparatu to dzień stracony"). Nagromadził on mnóstwo zadziwiających preparatów, nierzadko naprawdę szokujących. UWAGA: Rzecz nie jest dla delikatesów! Na przykład płód, na oko 7-8 miesięczny z jednym okiem pośrodku czoła - regularny cyklop - musi zrobić wrażenie na nieprzygotowanym fachowo obserwatorze, nawet dość odpornym. Wyraźnie odradzają (odradzają - nie mylić z "zakazują") chodzenie tam z dziećmi poniżej 16 lat. Oczywiście wszystko jest do decyzji rodziców, widziałem tam chłopaka na oko 12 letniego, radził sobie bez problemu (ale może ma rodziców chirurgów, albo sporo grał w Brutal Doom).

Oprócz tego jest tam jeszcze ciekawa kolekcja narzędzi i przyrządów medycznych z różnych okresów, sporo o historii szpitala oraz szpitalnictwa w ogólności. Na okrasę jest jeszcze trochę tablic związanych z serialem. Ale od razu wyjaśnienie co do serialu: Nie był on kręcony "on location" w Berlinie, a głównie w Pradze, bo tam wnętrza zachowały się w stanie bliskim tego sprzed około stu lat.

Charite, Berlin

Charite, Berlin

Po obejrzeniu kolekcji Virchofa naszły mnie przemyślenia (nie żeby specjalnie nowe). Syn poznał ostatnio we Frankfurcie jednego studenta pierwszego roku biologii, który jest zwolennikiem Inteligentnego Projektu. Mam nadzieję że nie dotrwa on końca studiów jako fan ID, znaczy albo go nauczą faktów, albo wywalą. Ale uważam że każdy wyznawca "Genialnego, Inteligentnego Projektanta" powinien pooglądać sobie taką kolekcję. Przecież gdyby ktoś w przemyśle zaprojektował produkt czy proces robiący tak poważne problemy i z tak wysoką stopą błędów, to szybko wyleciałby z roboty. Naprawdę ktoś chce wierzyć w geniusz takiego fuszera? I to będąc przedstawicielem gatunku, u którego jedną z najczęstszych przyczyn śmierci jest przytkanie takiej jednej rurki? Jeżeli już naprawdę upierać się przy osobowym stwórcy, to o wiele łatwiej i niesprzeczniej jest wyobrazić sobie "Wielkiego Zegarmistrza" konstruującego mechanizm (ewolucyjny) i puszczającego go w ruch. Bo wtedy co złego, to nie On, to wygenerował biegnący proces, a nie "Projektant". Oczywiście nie rozwiązuje to ostatecznie problemu niedostatecznej fachowości "Zegarmistrza" tworzącego zawodny mechanizm, tylko odsuwa go z centrum uwagi - ale to inny temat.

Szpital leży w dawnej części wschodniej, bardzo blisko niegdysiejszego muru. Z parkowaniem w okolicy jest ciężko, polecam parkhaus, zwłaszcza że trudno ocenić ile czasu będzie potrzebne na zwiedzanie (z pewnością bardzo zależy to od własnej odporności i zainteresowania tematem).

 Adres:

Berliner Medizinhistorisches Museum

Charitépl. 1, 10117 Berlin - tak jest podane w sieci, ale to adres bramy głównej szpitala, który spory jest. Muzeum mieści się w drugim końcu terenu, wewnętrzne ulice mają swoje nazwy i adres wewnętrzny to Virchofweg 18

Otwarte:

  • Wtorek, czwartek, piątek, niedziela - 10-17
  • Środa i sobota 10-19
  • W poniedziałki nieczynne

Wstęp:

  • Bilet normalny 9 EUR
  • Bilet ulgowy 4 EUR

[mappress mapid="108"]

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: , ,

Kategorie:Warto zobaczyć

5 komentarzy

Hannah Arendt i banalność wszystkiego

Notka przeleżała mi się już dobry miesiąc, głównie przez nieustanną walkę z programistycznymi twitami i związany z nią wyjazd do Meksyku. Na szczęście bieżąca kampania zbliża się do końca. Ale pojawiło się coś, czym muszę się podzielić. Był to pokazany przez arte film "Hannah Arendt". Nazwisko to oczywiście znałem, miałem też obowiązkowe skojarzenie z banalnością zła, ale jakoś tak się złożyło że "Eichmanna w Jerozolimie" dotąd nie czytałem. Film był niezły, jak na film o kimś kto głównie siedzi i pisze albo wygłasza wykłady akademickie to trzymał w niezłym napięciu. I finałowa scena polemiki na wykładzie zachęciła mnie do sięgnięcia po książkę. Zwłaszcza że w filmie wszyscy bohaterowie dzieło komplementowali, nawet jeżeli fragmenty im się bardzo nie podobały.

No i książka rozczarowuje. Znaczy relacja z procesu Eichmanna jest interesująca (chociaż przygnębiająca), dowiedziałem się z niej sporo nowych rzeczy o karierze Eichmanna, jego aresztowaniu i procesie, mechanizmach Zagłady, różnicach między antysemityzmem w różnych krajach, itd., niestety relacja jest dość chaotyczna. Narracja leci jednym ciągiem bez żadnej strukturyzacji tekstu, rozdziały wynikają chyba tylko z pierwotnego podziału tekstu na odcinki drukowane w gazecie. No ale pewnie jako inżynier mam tu zbyt wysokie wymagania. Gorzej, że z książki niewiele mogłem się dowiedzieć na temat poddtytułowej tezy o "banalności zła". Słowo "banal*" występuje w całej książce zaledwie trzy razy i to w dużych odstępach. Brak jest jakiejś syntezy, chociaż takiej jak pojawiła się w filmie. Film jest zazwyczaj gorszy od książki, więc sądziłem że finałowa scena wykładu to tylko okrojony wybór fragmentów z tekstu, tymczasem było to właśnie to, czego w tekście brakowało. W dodatku zasadniczą treścią sceny były wyjątki z polemiki z krytycznym listem, nie należącej do pierwotnego tekstu, a tylko dodanej w późniejszych wydaniach jako postscriptum.

Jako przyczynek do "banalności zła" film jest znacznie lepszy niż książka. Na przykład książka tylko wspomina o tym (dwa razy), że Eichmanna na procesie pytano czy zabiłby swojego ojca gdyby Führer kazał, film zawiera oryginalne nagranie filmowe z procesu i pokazuje cały dialog, bardzo mocny zresztą. A akurat ten dialog bardzo dobrze ilustruje tezę autorki, naprawdę nie rozumiem dlaczego w książce nie został przytoczony. W praktyce to podtytuł "Rzecz o banalności zła" jest bardziej efektowną reklamą, niż oddaje treść książki. To znaczy książka jest też o tym, ale uzasadnienie tezy jest tylko "do samodzielnego montażu" - trzeba samemu znaleźć w książce odpowiednie argumenty i zsyntetyzować własnoręcznie. Niecierpliwym polecam jednak film. A pozostałym i książkę, i film, raczej zaczynając od filmu.

Teraz może coś o samej tezie. Autorka przed procesem Eichmanna była przekonana że zło zawsze jest "radykalne", a proces przekonał ją, że może być "banalne". Banalność miała postać niezbyt rozgarniętego i zapatrzonego w siebie nieudacznika Eichmanna, człowieka zupełnie przeciętnego i nudnego, który zza biurka zorganizował logistycznie zabicie milionów ludzi, nie potrafiąc przy tym odróżniać dobra od zła. Ja jakoś nie jestem przekonany, żeby zjawisko było takie nowe - przecież już w Rzymie cezarów jacyś przeciętni i nudni urzędnicy zza ówczesnych odpowiedników biurek organizowali zaopatrzenie legionów idących wyrzynać zbuntowaną ludność tu czy tam. I nie trzeba zaraz nikogo wymordowywać, normalne korpo też opiera się na takich ludziach, którzy zrobią wszystko co im się każe, bez zastanawiania się nad etyką. Patrz aktualny skandal dieslowski Volkswagena - przecież tam z całą pewnością nikt nie zrobił nic z uświadomionej złośliwości, czy innych niskich pobudek. Wszyscy robili to, co uznawali za dobre, każdy w swoim kawałku, najwyżej leciutko naciągając zasady, bo zawsze znalazły się jakieś usprawiedliwiające okoliczności. Przecież ja też robię w takim korpo i bywam na przykład na zebraniach z udziałem szefa całej fabryki. I to jest taki sam chłopek-roztropek jak ten uwieczniony na materiałach filmowych z procesu Eichmann. Praktycznie każdy rodzaj działalności ludzkiej wymaga współdziałania w większym zespole, skutki decyzji podejmowanych na wielu stanowiskach pojawiają się często o wiele później i zupełnie gdzie indziej. Odpowiedzialność się rozmywa, łatwo jest powiedzieć sobie jakieś "ja tylko..."  I tak będzie zawsze.

Jedno tylko mnie niepokoi. Banalny i przeciętny Eichmann był idealnym zwolennikiem dowolnej dyktatury. On nigdy nikogo nie zabił, ale zabiłby swojego ojca gdyby Führer powiedział że to zdrajca i trzeba go zabić. Ja rozumiem że tacy ludzie istnieją, jest ich w populacji całkiem spory procent i trzeba z tym żyć. Tylko ostatnimi czasy znowu udaje się różnym takim ich skutecznie zmobilizować. Świat nie idzie w dobrym kierunku. Tylko co na to poradzić?

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: , ,

Kategorie:Pomyślmy

10 komentarzy

Meksyk czyli podroż w przeszłość. Tak ze dwadzieścia lat wstecz

Notkę piszę z Meksyku, bo pracodawca mnie wysłał. To znaczy przez dłuższy czas odmawiałem, ale niedawno rzuciłem że jak dobrze zapłacą to możemy porozmawiać żeby tak na jakiś tydzień. No i po dwóch dniach przyszło szefostwo i zaproponowało że zapłacą za każda godzinę od wejścia do samolotu we Frankfurcie do wyjścia po powrocie do Frankfurtu stawkę projektową plus diety, plus najlepszy, pięciogwiazdkowy hotel w mieście docelowym. No za ponad czterokrotną stawkę na rękę to właściwie czemu nie? (była środa) Tak? To pakuj się, w następną sobotę lecisz.

No tylko jest mały problem. Paszport w kieszeni mam tylko polski, przesiadka w USA nie wchodzi w rachubę, nawet z lotem nad USA mogą być problemy. Jest jeszcze tylko jedna szansa: Obywatelstwo niemieckie dostałem już w połowie grudnia (może kiedyś dojdę do napisania notki o szczegółach), tyle że nie zdążyłem jeszcze złożyć wniosku o paszport. Ale jest tryb ekspresowy, 3 dni robocze, za dodatkowe około 30 euro.

No i tą metodą mam już w kieszeni paszport niemiecki, za który zapłaci pracodawca, super sprawa. Ale wróćmy do Meksyku.

Przyleciałem z soboty na niedziele, i w niedziele, dla walki z jetlagiem (i oczywiście również z wrodzonej ciekawości) wybrałem się na naprawdę długą wycieczkę pieszą po mieście. Poczytałem wcześniej w sieci na temat bezpieczeństwa, no i bywalcy twierdzili że nie jest źle, lepiej niż w podobnej wielkości miastach w USA. Byle nie epatować bogactwem i nie szukać guza. No i wycieczki zrobiło mi się dobre 25 kilometrów, krokomierz naliczył ponad 33.ooo kroków. I im dłużej włóczyłem się po mieście (dużym - to Guadalajara, drugie w tym kraju) tym bardziej wszystko wydawało mi się znajome. Takie dejavu. Ja to wszystko już widziałem, tylko marki samochodów były inne i ludzie mniej opaleni. Następnego dnia zbetryzowani do szpiku kości Bawarczycy od klienta na trzy litery pierwsza B byli przerażeni, no ale betryzacja robi swoje. Nie jestem straceńcem, ja też nie pójdę wszędzie, nie ma co przesadzać, trafiłem na przykład na slums, ale nie pchałem się przez środek. Jakieś zdjęcia wrzucę jak wrócę, tu nie mam narzędzi. Przy okazji: Sorry za ewentualne problemy z polskimi literami - ta akcja była taka szybka że nie zdążyłem zainstalować mojego drivera do polskich znaków na klawiaturze niemieckiej.

A skąd dejavu? Dokładnie tak jak ten Meksyk wyglądała Polska około 1995, przed wstąpieniem do Unii. I tak:

  • Ulice i chodniki tak samo dziurawe
  • Ruch uliczny tak samo mało cywilizowany
  • Śmieci i ogólna bylejakość na każdym kroku
  • sporo budynków porzuconych w trakcie budowy
  • ogólne olewanie przepisów i zasad
  • w co drugim domku jakiś biznesik, wyglądający na bardzo wąsato-szemrany
  • grodzone osiedla (chociaż grodzenia domków drutem kolczastym jakoś z Polski nie pamiętam)
  • mafie taksówkowe
  • mnóstwo oszustów i naciągaczy
  • nachalne bandy wyciągające pieniądze za mycie szyb na skrzyżowaniach
  • lokaliki i stoiska z jedzeniem w których zdecydowanie bym nie zjadł z przyczyn higienicznych
  • ludzie na ulicach smutni i skwaszeni
  • EDIT: sklepy wielobranżowe "mydło i powidło", od słodyczy, przez ubrania, jakieś pralki (w rodzaju Frani tylko większe), telefony, komputery do skuterów, i to wszystko na 100-200 metrów kwadrat
  • itd. itd.

Czytelnikom nie pamiętającym tamtych czasów, czy to ze względu na wiek, czy na amnezję, chciałbym krótko przypomnieć, dlaczego Polska wygląda dziś jednak trochę lepiej niż Meksyk: Jedyną przyczyną tego było wstąpienie do Unii. To tylko dzięki kasie z Unii oraz przyjęciu unijnego ustawodawstwa wiele rzeczy się zmieniło.  Bez kasy i nacisku na pewne zasady i wartości kraj szybko wróci do stanu meksykańskiego. Co polecam rozwadze.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: ,

Kategorie:Ciekawostki

10 komentarzy

Twit programmers of the year (3)

Dziś kolejne doniesienia z frontu walki z programistycznymi twitami, bo na nic innego chwilowo nie mam czasu.

Projekt w którym dotąd robiłem ma od dłuższego czasu dwa projekty pochodne dla dwóch innych modeli samochodów. Jeden z tych dwóch ma dwa warianty - z HUDem i bez. No ale to wszystko jest na tej samej bazie sprzętowej i ma robić z grubsza to samo, różnice są głównie w wyświetlaczu, rozłożeniu LEDów i zegarkach pokazujących niekoniecznie to samo. Tylko wziąć ten wcześniejszy projekt i trochę dopasować. No i prawdziwy twit manager of the year potrafi spieprzyć nawet coś takiego - każda z tych wersji jest wyraźnie inna, te same moduły są w różnych wersjach, albo są wręcz zupełnie inne, nawet mnóstwo nazw tych samych obiektów się nie zgadza. Nikt tego po prostu nie pilnuje. Największy problem jest z jednym z zasadniczych modułów, już w tym pierwszym projekcie on jako-tako działa tylko dlatego, że kiedyś połowę jego zrobiłem na nowo rysując statechart w Rhapsody i generując kod. Teraz zreimplementowałem go całego również w Rhapsody, narysowałem czyste i klarowne statecharty z dobrze zdefiniowanymi interfejsami, w dwa dni było zrobione, a teraz od półtora tygodnia próbuję to zintegrować z wszystkimi trzema systemami. No i wyłazi na każdym kroku to, co im powtarzam od lat: Tak się nie da pisać programów tej wielkości. Ten system jest zrobiony w AUTOSARze - to taka koncepcja modułowości do C, całkiem nie najgorsza (chociaż w pewnych aspektach nie domyślana do końca). Działa to mniej więcej tak, że każdemu modułowi definiujemy w XML porty z dobrze wyspecyfikowanymi interfejsami, a potem te porty łączymy, też w XML, są do tego narzędzia. Całość klei generowany kawałek kodu. Konsekwentnie użyte dałoby to niezły, modularny system, mimo że w C. Tyle że te twity cały czas idą po linii najmniejszego oporu i przestawiają na AUTOSAR tylko to, co absolutnie niezbędne, a pozostałe połączenia międzymodułowe są nadal robione jak ćwierć wieku temu przez #define funkcja1 funkcja2, potem w innym miejscu jest #define funkcja2 funkcja3 i tak dalej. W rezultacie nie ma żadnej modularności, a system przypomina węzeł gordyjski.

Przy okazji zauważyłem, że te nowe projekty kompilują się dobrze ponad dwa razy dłużej niż ten pierwotny, mimo że są mniejsze. Oczywiście nikt z twitów się nie skarży, ale przy czasie rekompilacji powyżej pół godziny rozsądna praca nie jest możliwa, i jest to jedna z przyczyn dlaczego te projekty są w stanie katastrofalnym. Postawiłem hipotezę roboczą, że gdzieś kluczowy header file inkluduje o wiele za dużo. Sprawdziłem i się okazało, że losowo wybrany plik źródłowy inkluduje pośrednio 55.000 headerów. Tak, dobrze widzicie: słownie pięćdziesiąt pięć tysięcy. Krótka analiza pokazała, że to idzie tak: AUTOSAR ma taki specjalny mechanizm definiowania, do której sekcji linkera dany obiekt ma iść - definiuje się powiązany z tą sekcją symbol preprocesora i includuje plik "MemMap.h" (przed obiektem i po obiekcie, zarówno przy definicji jak i deklaracji). Ten plik includuje wszystkie pliki z konkretnymi definicjami, a jest ich z grubsza tyle, ile modułów. To już robi całą masę includów. Ale teraz każdy z tych plików includuje zawsze ten sam plik z definicjami kompilatora, a przecież wystarczyłoby raz. Wywaliłem te niepotrzebne includy i ilość pośrednich includów w moim losowym pliku źródłowym spadła zaraz o 20.000 a czas rekompilacji spadł o jakieś 10%. Zawsze coś, ale w tym pierwszym projekcie jest dokładnie ten sam problem i to nie jest przyczyna różnicy czasów kompilacji. Na moje oko przyczyną jest to, że większość modułów includuje losowo i bez sensu, w pierwszym projekcie dużo tego wyczyściłem albo kazałem ludziom wyczyścić, a w tych nowych nikt się tym nie zajął, ani nawet nie przeniósł do nich poprawek. Niby drobiazg, ale 15 niepotrzebnych minut na każdą kompilację, przy sporym zespole przekłada się na stratę liczoną w osobodniach na tydzień!

W tym pierwotnym projekcie już dawno temu zauważyłem, że kompilacja idzie bez sensu: kompilowało się równolegle na pięciu corach, tyle że największy plik (wygenerowany przez AUTOSAR), kompilujący się przez 6 minut jest w grupie o nazwie alfabetycznie prawie na samym końcu. W związku z tym na końcu pozostałe cory nie mają nic do roboty, a jeden jeszcze przez 5 minut mieli ten jeden plik. Przesunąłem więc tą grupę na początek i voila - kompilacja skróciła się o prawie 5 minut czyli 30%.

W ogóle problematyka czasu i wygody kompilacji i ich wpływu na produktywność, a nawet sukces projektu jest mocno niedoceniana. Znany jest mi wypadek projektu który padł, bo każda generacja kodu z modelu trwała ponad 30 minut. Poprzednią robotę rzuciłem między innymi dlatego, że klient dla którego robiliśmy wymyślił sobie świetny tooling: Program (w Javie) składał się z sześciu części, i żeby je skompilować trzeba było każdą część kliknąć z osobna, i to nie wszystkie naraz, ale po kolei. Każda część kompilowała się 3-4 minuty, czyli akurat tyle żeby tymczasem się przełączyć i coś porobić. Tyle że jak się potem przełączało do Eclipsa to było zawsze "O k..., znowu nie pamiętam który ostatnio klikałem!".  Focusu już nie było, z konsoli też nie dało się łatwo wywnioskować. Efekt był taki, że klikało się parę razy w to samo, albo coś się pomijało i trzeba było od wszystko od nowa. Rozwiązania typu notować na karteczce, albo cały czas się gapić w tego Eclipsa były tak upierdliwe, że aż poszukałem książki od tego badziewia, ale po paru godzinach prób zrobienia żeby wszystko startowało się automatycznie z Anta dałem spokój. Nie dało się i już. Mój szef, też bardzo dobry w te klocki, nie chciał w to uwierzyć, sam się za to zabrał ale wkrótce też się poddał. Dla zainteresowanych podaję słowo kluczowe, po usłyszeniu którego trzeba szybko uciekać: Buckminster.

 Na zakończenie coś dla zmniejszenia hermetyczności notki. Przykłady twitowego i nietwitowego designu UI w elektronice konsumpcyjnej. Najpierw twitowy:

Budzik z twitowym UI

Budzik z twitowym UI

To jest typowy budzik za kilka euro, różne warianty i odmiany można kupić w każdym sklepie. Każdy ma trochę inne ustawianie czasu budzenia, praktycznie zawsze nieintuicyjne. Podejrzewam, że projektanci tego sprzętu w ogóle go nie używają, albo mają jakieś zaburzenia ze spektrum autystycznego i obudzeni w środku nocy, po ciemku, bez problemu potrafią przypomnieć sobie sekwencję klawiszy konieczną żeby alarm na stałe wyłączyć.

Ten konkretny model jest jeszcze bardziej twitowy, bo piszczy przy każdym przyciśnięciu przycisku. Autor tego rozwiązania jest z całą pewnością samotny, albo mieszka u rodziców i ma swoją, osobną sypialnię, nie dzieloną z nikim. Ale przy tak daleko posuniętym autyzmie to nic dziwnego.

A można inaczej. UI tego budzika jest zrobione genialnie:

Budzik z nietwitowym UI

Budzik z nietwitowym UI

Włączenie i wyłączenie alarmu robi się przy pomocy suwaków z boków. Suwak w górę - alarm włączony, suwak w dół - alarm wyłączony. Czas alarmu ustawia się po po przyciśnięciu jednego z tych większych przycisków po lewej i po prawej. Z wyświetlacza znika wtedy wszystko poza ustawianym czasem i naprawdę nie sposób tego nie umieć, nawet bez instrukcji.

Budzik z nietwitowym UI - ustawianie czasu

Budzik z nietwitowym UI - ustawianie czasu

Suwaki podnoszą oczywiście koszt całości o kilka centów - bo program to żadna różnica, te kilkanaście linii kodu przeliczone na wielkość produkcji to koszt przyzerowy. Za to za taki budzik kasują 25 euro (sugerowana cena producenta), w sieci daje się znaleźć oferty od kilkunastu. W bonusie ma jeszcze różne cuda z podświetleniem wyświetlacza. Można? Można!

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: ,

Kategorie:Ciekawostki, Pomyślmy

7 komentarzy

Twit Programmers of the Year (2)

Poprzednia notka spotkała się z żywym odzewem czytelników, więc ponieważ ostatnio temat bardzo mnie zajmuje - zarówno w pracy jak i prywatnie - to może następna.

W pracy ostatnio miałem satysfakcję z gatunku Schadenfreude - od dobrych dwóch lat marudzę przy każdej okazji szefowi działu że tak jak robią to nic z tego nie będzie i trzeba coś zmienić (lista propozycji w załączeniu). Oczywiście, jak to w korpo, nic się nie zmienia. Projekt w którym jestem udało mi się doprowadzić do jako-tako szczęśliwego końca w zasadzie tylko w taki sposób, że co poważniejsze problemy popoprawiałem na własną rękę albo powymuszałem różne rzeczy tworząc fakty dokonane. Ale równolegle idzie projekt pochodny, do innego wariantu, w zasadzie tylko przejąć ten "mój" i trochę pozmieniać. Tego nowego projektu dotąd nawet nie dotknąłem i jest on w stanie tragicznym. No i w czwartek szefu był u klienta na zebraniu kryzysowym, pojawił się tam szef działu testowania (zresztą o polskim nazwisku), stwierdził że jakość tego softu jest katastrofalna (co i ja ciągle szefowi mówię) i zaczął zadawać pytania w stylu "a czy macie development patterny?", "a czy macie continous integration?", "a czy macie automatyczne testy?" - i wszystkie te pytania pokrywały się dokładnie z tym, o czym marudzę. No i już w piątek było "Powiedz nam, co mamy robić żeby ten projekt się nie zawalił?".

Jak źle jest? SOP jest na marzec, to jest do tańszego modelu więc od samego początku ilości będą rzędu 5000 tygodniowo, a na dzień dzisiejszy kompilator daje aż 25.000 warningów. Szybko przejrzałem listę i zauważyłem, że większość z nich musi być z bardzo niewielu miejsc - pół godziny szukania, znalazłem że w dwóch miejscach ktoś zainkludował headery wewnątrz funkcji. Po usunięciu ich, ilość warningów spadła do poniżej 10.000. Rzecz graniczy z sabotażem. Funkcjonalnie to nawet nie przejęli sporej części rzeczy, które od dawna działają u nas. Jedną dość kluczowy moduł infrastrukturalny który opracowałem, zamiast go po prostu przejąć zrobili "lepiej". Poświęcili na to masę czasu, zawracali mi dupę mnóstwo razy, ale oczywiście nie zintegrowali najpierw mojej wersji, tylko od razu zabrali się za poprawianie, czym opóźnili o miesiące włączenie mechanizmów ochrony pamięci - które przecież pozwalają znaleźć sporo błędów. Na koniec jeszcze nie wszystko działa, a nie mają z tego wszystkiego żadnych zalet poza tą abstrakcyjną "lepszością". Za to będzie teraz źle, bo rozwiązania tego samego w obu projektach są różne (a na przykład cały generator kodu jest wspólny, oni poprawiają moje zmiany za każdym razem). Przy pierwszym problemie każę im to wywalić do kosza i wrócić do mojego. Tragedia po prostu, znowu trzeba będzie ratować im dupy, za każdym razem z coraz głębszego szamba.

No dobrze, ale bywa jeszcze gorzej. Wróćmy do naszych ulubionych Twit Programmers z consumer electronics.

Mam w domu zegar ścienny z DCF, produkcji znanej firmy Citizen. Trochę lat już ma. Taki zegar synchronizuje się z nadajnikiem DCF-77 (tu niedaleko, koło Aschaffenburga) w południe i o północy, jeżeli wychodzi mu że się spóźnia to nie ma sprawy - wskazówki pojadą trochę do przodu. Gorzej jest, jak się spieszy - taki zegar do tyłu się nie pokręci. Ja bym zrobił tak, że zegar powinien trochę poczekać aż upływ czasu dogoni czas wskazywany, a potem niech chodzi dalej, w końcu o ile może się pospieszyć przez 12 godzin. Tymczasem tutaj jakiś twit programmer wymyślił, że zegar pokręci się niecałe 24 godziny do przodu. Ponieważ to stara konstrukcja i wszystkie wskazówki są posprzęgane na stałe, to sekundnik musi się w tym celu obrócić 12*60=720 razy dookoła, a trwa to prawie 20 minut. Oczywiście spać się w tym pokoju nie da, jak zegar o północy przez 20 minut warczy. A teraz najlepsze: Zegar przy czasie letnim ZAWSZE stwierdza, że się spieszy - ten twit nie uwzględnił przy porównaniu flagi DST.

Teraz honourable mention dla elektroników którzy projektowali mojego notebooka marki Acer. To jest 18'' desktop replacement i ma dwie karty graficzne. Jedna (Intel) jest wolna, ale bierze mało prądu, druga (ATI Radeon HD4670) odwrotnie. Tyle że jakiś twit wymyślił, że ta szybka będzie niestandardowa i będzie wymagała specjalnego drivera. Notebook był zaprojektowany do Windowsów Vista, ja kupiłem go z Windows 7 i na początku ta szybka karta jeszcze działała. Potem, po jakiejś aktualizacji systemu przestała, w Windows 10 też nie działa. Aktualizacji drivera już nie ma i nie będzie, szlag by ich trafił. Pod Linuxem też nie chodzi, bo tam specjalnego drivera też nie ma.

Problem jest taki, że załamany twitami piszącymi soft na Androida wymyśliłem, że sam sobie napiszę rzeczy które potrzebuję. Zainstalowałem Eclipse z developmentem do Androida, on ma emulację urządzenia z Androidem. Tyle że na moim notebooku ta emulacja startuje się 11 minut. Popatrzyłem co się da zrobić i radykalne przyspieszenie dałoby włączenie hardwarowej wirtualizacji, ale do tego potrzebne jest Intel Virtualisation Technology w procesorze, a w moim tego nie ma. Następna możliwość to włączenie opcji użycia hardware karty graficznej, a tutaj ta szybka nie działa, a do wolnej nie ma już aktualnych driverów. No to może Linux? Partycję z Linuxem miałem, zainstalowałem tam takiego samego Eclipsa, Linux ma driver do tej karty od Intela i emulacja startuje w minut pięć. No to może nie ideał, ale zawsze znacznie lepiej. Na razie zorganizuję sobie to wszystko, a jak dojdę do poważnej roboty to kupię nowego notebooka.

Tak więc przeszedłem na Linuxa na notebooku. Poinstalowałem na moim serwerze Linuxowym trochę serwerowych narzędzi żeby robić development porządnie, i tu też zaraz wykryłem paru twitów. Na przykład u Epsona. Linuxowy driver drukarki od Epsona występuje w dwóch wersjach: Jedna drukuje wszystkie kolory poprzesuwane o parę milimetrów, druga trafia z kolorami we właściwe miejsca, ale wcale nie drukuje koloru żółtego. Wybór należy do Ciebie.

Następny twit jest od projektów do Eclipse. Zainstalowałem na serwerze CDO Repository Server żeby trzymać moje modele w czymś porządnym. A tu jakiś twit nie upilnował, żeby nazwy tabel w bazie danych były pisane zawsze tak samo. Na Windowsach nie ma problemu - tabele lądują w plikach a Windowsom jest scheissegal czy piszemy nazwy plików dużymi czy małymi literami. Ale Linuxowi nie jest to obojętne i od razu wychodzi błąd że nie można znaleźć tabel. Jako workaround podają żeby włączyć w MySQL-u opcję konwertującą nazwy tabel do małych liter, ale ta opcja jest globalna dla całej instancji serwera bazodanowego i wtedy zaczynają mi się wywalać wcześniej utworzone bazy, w których nazwy tabel zawierają duże litery. Wygląda na to, że na początek będę musiał poprawić na własną rękę CDO Server Project (na szczęście jest w źródłach).

I tak dalej, i tak dalej. Teraz na pociechę: Nie każdy problem z softem/hardwarem jest wywołany przez twitów. Typowy przykład to "na początku mój WiFi stick/WiFi router/urządzenie z WiFi chodziło dobrze, a teraz coraz wolniej, na pewno to przez jakiegoś twita od driverów". Otóż nie. Jak kupowałeś tego sticka, WiFi miało tylko trzech sąsiadów i to nie w Twojej klatce. Teraz WiFi mają wszyscy, a kanały mają poustawiane całkiem randomowo. Tak wygląda to u mnie w paśmie 2,4 GHz.

WiFi-2-4-GHz

WiFi w paśmie 2,4GHz

WiFi jest o tyle źle zrobione, że komunikacja na kanale n zakłóca komunikację na kanałach od n-2 do n+2. Jakby poprzydzielać kanały jakoś centralnie to jeszcze może dałoby się to jakoś opanować, ale tak w realnych warunkach sieci jest tyle i poustawiane są na tyle źle że całość się ślimaczy. U mnie było jeszcze gorzej, bo pojawiał się jakiś nieprawdopodobnie mocny sygnał (chyba z biurowca naprzeciwko) zagłuszający wszystko dookoła. Jest na to tylko jeden sposób - przejść na pasmo 5GHz. Tak wygląda u mnie pasmo 5GHz:

WiFi-5-GHz

WiFi w paśmie 5GHz

Czego i czytelnikom życzę.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: ,

Kategorie:Ciekawostki, Pomyślmy

8 komentarzy

Twit Programmers of the Year

Tytuł notki zainspirowany jest notką Boniego - "Twit of the Year". A co do meritum:

Jako - było nie było - fachowiec od inżynierii oprogramowania, z za chwilę trzydziestoletnim doświadczeniem, ze zgrozą obserwuję poziom wykonania programów wszędzie dookoła. Tak w zasadzie to tworzenie oprogramowania jest stosunkowo proste. Są do tego dość jasno określone zasady, cała kupa darmowych narzędzi pomocniczych, mnóstwo książek, nieprawdopodobne ilości porad do znalezienia w sieci, ... Co prawda w dowolnej innej branży też są dość jasne zasady, narzędzia, książki, tyle że przy programowaniu jest łatwiej - bardzo dużo można sobie po prostu wypróbować i poćwiczyć w domu, praktycznie za darmo. A na przykład w takim budownictwie to jakoś tak nie bardzo da radę.

Tymczasem w realnym świecie trudno o kawałek programu, który nie jest spieprzony i to najczęściej w sposób który powinien być łatwy do uniknięcia. Jaki-taki poziom mają najczęściej programy z okolic Free Software pisane w Javie, ale też wcale nie wszystkie. Dlaczego tak jest? To jest proste: Oni tam stosują się do ogólnie znanych reguł - używają development patternów, robią module testy, konsekwentnie robią komentarze w Javadocu z których potem powstaje dokumentacja, testy wykonują automatycznie w jakimś serwerze CI w rodzaju Jenkinsa, ... W sumie nic skomplikowanego, tyle że inni tego nie robią, albo robią to źle.

Ja rozumiem że bardzo duża część programów które można zdownloadować w systemowym sklepie jak Google Play czy Windows Store to produkcje półamatorskie i ich autorzy nie mają większego pojęcia o tym, co robią. Ale w produkcjach profesjonalnych, zwłaszcza w branżach które nie zajmują się tylko czystym softem nie jest wiele lepiej. Na przykład u mnie, w automotive.

U nas w fabryce, jestem jedyny który ma rzeczywiście pojęcie o inżynierii oprogramowania. Cała reszta to elektronicy, którzy na studiach mieli pobocznie cośtam o programowaniu. Albo i nawet nie i są samoukami. Niektórzy są nawet nieźli, myśleć logicznie potrafią, tyle że podstaw im brakuje. No i potem wygląda to na przykład tak, że w kawałkach w C++ nie jest nawet dobrze określone który header file jest do C, a który do C++ i jak pojawiają się problemy przy includowaniu, to ktoś łata problem takimi sposobami,  że jakbym miał jeszcze dość włosów na głowie, to bym je sobie powyrywał. W innych, zupełnie podstawowych sprawach też nie jest lepiej. A jak jakiś problem trzeba rozwiązać, to niemal każdy szuka podobnego miejsca w innym module i zrzyna rozwiązanie. A ponieważ to rozwiązanie rzadko tylko jest dobre, to złe rozwiązania rozprzestrzeniają się coraz bardziej. Testy modułowe są wymuszane przez klienta - więc robi się je na sam koniec, często już po tym jak program poszedł do na produkcję. Według mnie to zbędna robota, równie dobrze można by wyprodukować oszukany test report, nic by nie zmieniło a roboty mniej. I tak dalej, i tak dalej, ogólnie to cieszcie się że samochody w ogóle są w stanie ruszyć z miejsca.

No ale mimo wszystko programiści z automotive nie zasługują jeszcze na tytuł "Twit Programmers of the Year". Ponieważ samochód podpada pod różne takie tam związane z bezpieczeństwem (znaczy może kogoś zabić), to producenci wymuszają na wykonawcach żeby program nie wieszał się co chwilę, a przynajmniej żeby się potem jakoś znalazł. Na spełnienie tych wymagań idzie niesamowita ilość wysiłku a modus operandi typowego projektu w automotive to eskalacja. Jeszcze nigdy nie słyszałem o projekcie w automotive który by nie wszedł w eskalację. Mi to ręce opadają, bo tego wszystkiego można by uniknąć, gdyby chociaż trochę stosować się do ogólnie znanych zasad.

Ale jest branża w której jest jeszcze gorzej - to consumer electronics. Soft do telewizora jeszcze nigdy nikogo nie zabił, więc nikt nie wymusza w nim zachowania zasad fuctional safety. Ba, jak poklikać trochę w jakiś współczesny telewizor to wychodzi że oni w ogóle nawet podstawowego system testu to raczej jednak nie robią.

Skąd mi się temat wziął? Mój sprzęt audio-video już się mocno historyczny zrobił. Telewizor był jeszcze CRT, od Sony, ale nic bardzo specjalnego. Ciągłe mam video VHS i analogowy zestaw kina domowego z wejściem przez SCART. Najnowszym z urządzeń był dekoder kablowy, też dający sygnał na SCARTa. No i ten dekoder zaczął mieć problemy. Zaczęło się od różnych zakłóceń w obrazie, potem odbierał coraz mniej kanałów, w końcu zostało tylko Russia Today. A potem poszedł z niego dym - sfajczyły się dwa elektrolity. No i po analizie opcji wyszło mi, że najlepiej będzie kupić nowy telewizor, bo tunel kablowy będzie w zestawie, a i nagrywanie na dysk USB przynajmniej częściowo zastąpi video. A w następnej kolejności będzie nowe kino domowe.

Jako warunki brzegowe postawiłem rozmiar 32 cale (wystarczy mi), FullHD (4K to przesada, ale poniżej FullHD w dzisiejszych czasach bez sensu) i żeby był Smart. No i zaraz wybór skurczył mi się do zaledwie kilku modeli. A potem się doczytałem, że są już telewizory z Androidem. Ponieważ moje zdanie o programistach od telewizorów było utrwalone już od dawna, stwierdziłem że wezmę taki - jak nie będą pisać wszystkiego sami tylko wezmą za bazę niezłego Linuxa i jakie-takie API od Googla to okazji do narobienia głupot będą mieli mniej.

Od paru dni mam taki telewizor i jak widzę, prawdziwy Twit Programmer of the Year potrafi spieprzyć nawet taką integrację:

  • To nie jest "telewizor na Androidzie" tylko "telewizor z własnym systemem + Androidem". Miejsca sklejenia widać dość wyraźnie. Ale i tak jest trochę lepiej niż bez Androida.
  • Do telewizora można podłączyć mysz. Wszystko pięknie, tyle że rolka myszy chodzi w różnych menu, ale nie w web browserze. Po prostu nie chodzi i już, do scrollowania strony trzeba klikać w suwak, nawet ciąganie go nie działa.
  • Można sobie utworzyć cztery listy ulubionych kanałów, ale wybrać jakiejś już nie. Znaczy okienko wyboru się pojawia, na liście są utworzone listy, ale listy wszystkich kanałów na niej nie ma. Nie muszę chyba pisać, że niezależnie od tego co wybiorę, po wyjściu z okienka ustawiona jest lista wszystkich kanałów. Zmienić to mogę tylko przy użyciu programu zdalnego sterowania na innym urządzeniu Androidowym. Na telewizorze nie da rady, próbowałem chyba z pół godziny. Proszę sobie darować komentarze że RTFM- w manualu nie ma o tym nawet słowa. Tytuł Twit Programmer of the Year słusznie się należy.
  • Własny program do zdalnego sterowania z innego urządzenia Androidowego od producenta telewizora nie łączy się z telewizorem. Inne, od jakichś amatorów, jakoś się łączą (ale też nie wszystkie). Może ma to związek z tym, że w drugim urządzeniu WiFi chodzi na 2,4GHz, a telewizorowe na 5 GHz, ale amatorzy radzą sobie mimo routera po drodze.
  • Nagrywać na dysk USB można tylko to, co się widzi. To akurat zrozumiałe - tuner jest tylko jeden. Ale nie da się odtwarzać nagranego programu na komputerze (przez DLNA) oglądając co innego.
  • Jak ustawić nagrywanie na powiedzmy za dwa dni, dysk kręci się przez te dwa dni cały czas, nawet przy wyłączonym telewizorze. Naprawdę nie można go obudzić na pięć minut przed nagraniem?
  • Już raz mi się coś powiesiło - oglądać TV można było, ale nie chodziło odtwarzanie nagranego programu i nic z internetem. Pomógł dopiero twardy reset z odłączeniem zasilania. Chyba zwisała część Androidowa.

Oczywiście nie twierdzę, że ten model telewizora przebija dno, z pewnością są gorsze. Ale programiści od consumer electronics rozumianej jako cała branża z pewnością zasługują na tytuł Twit Programmers of the Year

Jeszcze autoreklama, jakby czytał to jakiś decydent z branży: Za odpowiednią opłatą zorganizuję wam to bez porównania lepiej. Tylko poważne propozycje.

-----------------------------------------------------------------------------------------------------------------------

Dotyczy: ,

Kategorie:Ciekawostki, Pomyślmy

39 komentarzy