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

Safety, safety über alles

Nadal mam mnóstwo roboty a w czasie wolnym zajmuje mnie śledzenie wydarzeń na wojnie, ale temu tematowi nie przepuszczę - jak chyba łatwo się domyślić będzie  o Titanie.

Raczej wszyscy słyszeli co się stało, więc tylko w dużym skrócie: Paru gości z firmy Oceangate zrobiło pojazd podwodny do wożenia bogatych turystów na duże głębokości, na przykład do wraku Titanica  (3800 m), i zanurzenie nie poszło według planu. Pilot i czterech turystów nie żyją.

No i wczoraj zobaczyłem filmik, w którym jakiś inżynier od techniki podwodnej pokazuje i komentuje logi z komunikacji między pojazdem a statkiem na powierzchni. Logi mają timestampy, a to przecież ważne. Komunikacja jest tekstowa, nie głosowa. UWAGA: Logi pochodzą z nieoficjalnego źródła i mogą być fejkowe, ale brzmią całkiem sensownie więc raczej są prawdziwe.

Analiza komunikacji z Titanem

Polecam obejrzenie, gość wie o czym mówi, chociaż według mnie idzie w analizie w złą stronę. On wziął sobie czas schodzenia na tą głębokość z wypraw Camerona i z prospektów firmy, i cały czas mówi że schodzą za szybko, bo powinno być 25,33 m/min. Ja bym się jednak do tego czasu i prędkości za bardzo nie przywiązywał - Cameron miał całkiem inny pojazd, więc czasy są całkowicie nieporównywalne, a w prospekcie można napisać wszystko. No i ten gość liczy prędkości od momentu startu, który nie jest zbyt jasny. Procedura przy tym Titanie jest taka, że na statku stoi on na takiej pływającej platformie, najpierw platforma zjeżdża na powierzchnię wody, potem zanurza się razem z pojazdem. Dalej pojazd odłącza się od platformy, platformę zabierają na statek a pojazd rozpoczyna zanurzenie. Trudno powiedzieć z jakiej głębokości startują i w którym momencie zaczynają liczyć czas. To teraz może moja analiza (pomijam wiadomości nie wnoszące nic bezpośrednio do sprawy):

  • o 8:19:53 ze statku mówią że minęło 15 minut i pytają o głębokość.
  • o 8:21:28 wraca informacja, że jest 756 m. Jeżeli wierzyć w te 15 minut i liczyć od zera, to prędkość opadania wychodzi 44 m/min. Tą wartość pomijamy, jest zbyt niepewna.
  • o 8:34:02 statek mówi że 30 minut i pyta o status - wszystko OK.
  • o 8:49:10 statek mówi że 45 minut i pyta o głębokość
  • o 8:51:30 głębokość jest 1934 m. Licząc od poprzedniej głębokości prędkość wychodzi 39 m/min.
  • o 9:15:21 statek mówi że 75 minut (ciut szybko, jest dopiero 71) i znowu pyta o głębokość.
  • o 9:17:50 głębokość jest 2960 m. Od poprzedniej prędkość wychodzi 34 m/min.
  • o 9:28:16 pojazd zgłasza alarm od RTM (Real-Time Monitoring, to ma nadzorować stan kadłuba)
  • o 9:28:35 głębokość jest 3433 m, załoga mówi "Reducing velocity descent". To nie jest całkiem jednoznaczne - oni redukują prędkość schodzenia, czy ona spadła sama? Z obliczenia od poprzedniej głębokości  prędkość wychodzi 44 m/min, czyli wzrosła, więc raczej starają się zredukować. Opadanie szybciej może świadczyć o przecieku. A tak w ogóle to są już 400 m nad dnem.
  • o 9:30:36 pojazd melduje, że mimo że odpalili silniki żeby iść w górę (albo coś w tym rodzaju, nie jest jasne) prędkość opadania nie spadła, a nawet rośnie. Według mnie, nabierają wody. Mówią jeszcze, że zrzucą balast.
  • o 09:32:12 pojazd mówi że zrzucenie balastu nie pomogło, i że odrzucą ramę (chyba chodzi o ten stojak, na którym pojazd stoi po wyciągnięciu).
  • o 9:35:48 pojazd melduje, że potrzebowali kilku prób żeby odrzucić ramę, ale się udało, i teraz się wynurzają.
  • o 9:38:09 pojazd zgłasza trzeszczenie od strony rufy.
  • o 9:42:12 pojazd próbuje puścić diagnostykę, melduje wynurzanie, ale bardzo powolne, dźwięki zanikły ale RTM ma wszystko czerwone (jeżeli dobrze zrozumiałem, to ten RTM ma ileśtam czujników i do każdego jest czerwony LED na alarm albo coś na monitorze. Znaczy wszystkie alarmy świecą).
  • o 9:43:42 mówią, że wynurzają się, ale nie wiedzą dlaczego tak wolno. Głębokość 3476 m.
  • o 9:46:37 status czerwony na zasilaniu głównym, przełączają na awaryjne, głębokość 3457 m, więcej dźwięków od rufy.

I tu komunikacja się urywa.

Nie trzeba być fachowcem od pojazdów podwodnych żeby wyciągnąć wniosek, że nie wytrzymał kadłub. Najpierw miał mały przeciek, potem trochę większy (stąd wzrost prędkości opadania i trudności w przejściu do wynurzenia, a dalej problemy z zasilaniem), a potem implodował.

Tu dochodzimy do tematu którym (między innymi) zajmuję się zawodowo, czyli do functional safety i po co to jest. Gościu od tego Titana wymyślił sobie że zrobi biznes na bogatych turystach ekstremalnych, i zrobi to po taniości oszczędzając na safety. Paru pracowników odeszło z jego firmy na tle konfliktów co do jego podejścia do safety. Chyba wszyscy już słyszeli o sterowaniu jego pojazdem bezprzewodowym kontrolerem do gier za 29,90 USD. Tak, ja wiem, wojsko też używa podobnych, ale jednak trochę droższych i nie w zastosowaniach safety critical. Ale ten kontroler to w sumie niezbyt istotny drobiazg, on nie rozumiał problemu na znacznie głębszym poziomie.

Największym problemem był ten kadłub: Gość uważał, że kadłub jest bezpieczny, bo ma ten system monitoringu. Nie trzeba jednak mieć pojęcia o zasadach functional safety żeby zauważyć, że jak jesteś o półtorej godziny wynurzania od domu (i to jak naprawdę dobrze pójdzie) to jedyne co ci ten monitoring da, to powie ci że jesteś martwy z pewnym wyprzedzeniem w stosunku do innych metod. W tym przypadku było to 10 minut (od alarmu RTM do trzeszczenia). Według reguł safety, monitoring ma sens tylko jeżeli jest połączony z jakąś reakcją na wykryty problem. A co możesz zrobić, jak ci na prawie czterech kilometrach głębokości zaczyna pękać kadłub?

Nie będę się znęcał nad innymi technicznymi pomysłami oszczędzania na safety w tym pojeździe, bo - teraz napiszę kontrowersyjną rzecz - w safety wcale nie chodzi o faktyczne bezpieczeństwo użytkowania. A przynajmniej nie jest to cel główny - bezpieczeństwo użytkowania to tylko skutek uboczny celu głównego.

A co jest celem głównym? Ha, to za chwilę będzie dokładnie widać w sprawie Titana. Firma kazała klientom podpisywać umowy że można na tej wycieczce umrzeć, i na pewno było tam wykluczenie odpowiedzialności. Ponieważ pojazd nie miał potrzebnych certyfikacji, wycieczki odbywały się na wodach międzynarodowych. Wszystko ładnie kryte, co? Chyba jednak to tak nie działa.

Bardzo bogaci klienci dobrze płacą, ale mają też dobrych prawników jakby coś miało być nie tak. Więc należy się spodziewać paru pozwów od rodzin ofiar. Wykluczenie odpowiedzialności wykluczeniem odpowiedzialności, ale zawsze można skarżyć z "nie dołożenia należytej staranności" przy projektowaniu, produkowaniu lub obsłudze. I tak pewnie będzie tutaj.

Wypadki się zdarzają, z każdym urządzeniem technicznym, i po każdym wypadku może się trafić dokładnie taki pozew - z "nie zachowania należytej staranności". "Należytą staranność" trzeba wtedy udowodnić, a publiczne wypowiedzi szefa firmy że "całe to safety jest bez sensu i tylko hamuje rozwój" wcale tu nie pomagają.

Udowodnienie "zachowania należytej staranności" nie jest trudne - wystarczy przedstawić dokumenty świadczące o tym, że wszystko jest zrobione według przepisów. Tyle że TRZEBA JE MIEĆ, I TO KOMPLETNE!

Co to znaczy "kompletne"? To oczywiście zależy od branży i rodzaju urządzenia. Na przykład przy urządzeniach elektrycznych powszechnego użytku wystarczy świadectwo badania na bezpieczeństwo elektryczne (sorry, nie jestem studentem prawa i nie pamiętam jak to się dokładnie nazywa, miałem kiedyś z tym kontakt, ale to było 30 lat temu). U mnie, w samochodach, są na to normy ASIL, na ich podstawie trzeba sobie zrobić listę potrzebnych dokumentów. W innych branżach są normy SIL, w farmaceutykach GMP, itd. itd. Jeżeli masz poddostawców - oni muszą dostarczyć potrzebne podkładki do swoich kawałków.  Zrobisz dokumenty według takich list - i jesteś kryty w sądzie. Nie masz - leżysz i kwiczysz.

I tak będzie kwiczeć Oceangate.

Może jeszcze dam przykład, jak działa brak przepisów definiujących "należytą staranność". W samochodach wożenie dziecka w foteliku jest obowiązkowe i są przepisy definiujące jakie wymagania takie foteliki mają spełniać. Teoretycznie nie byłoby problemu, żeby takich samych fotelików używać w samolotach - na pewno poprawiłoby to bezpieczeństwo, co nie?

Tyle że nie ma żadnych przepisów definiujących wymagania na foteliki dla dzieci w samolocie. Gdyby linia lotnicza udostępniła fotelik, a dziecku stałoby się cokolwiek, nie byłoby jak odeprzeć zarzutu o "nie dołożeniu należytej staranności". Ile papierów, świadectw i certyfikatów by nie mieć, prawnik strony skarżącej zawsze może wymyślić coś jeszcze, czego nie ma. To już lepiej nie dać fotelika, bo wtedy nikt nie będzie mógł się przyczepić.

I jeszcze: Dokładnie tak samo działa całe BHP. Głównym celem BHP jest krycie pracodawcy, bezpieczeństwo pracowników jest tylko skutkiem ubocznym.

EDIT 2023.07.08: Obejrzałem jeszcze parę materiałów, i:

  • James Cameron (tak, ten Cameron od Titanica i Avatara, on jest prawdziwym specjalistą od pojazdów głębinowych) powiedział  o tym RTM dokładnie to samo co ja i prawie tymi samymi słowami.
  • Prędkość opadania 25,33 m/min wychodzi z poprzednich nurkowań Titana, więc rzeczywiście coś było nie tak już od początku nurkowania. Może byli za ciężcy? W notce przypisywałem wzrost ciężaru przeciekowi, ale:
  • Naprawdę głośnie trzaski w kadłubie były słyszane już w poprzednich nurkowaniach.
  • Po obejrzeniu szczegółów konstrukcji kadłuba i paru hintach z filmików fachowców tak się zastanawiam nad rozkładem obciążeń w tej rurze kadłuba. I to jest tak: tam jest metalowa rura, owinięta włóknami węglowymi i zalaminowana epoksydem. Jak to w laminacie włókna węglowe pracują tylko na rozciąganie, a na ściskanie w kierunku dośrodkowym pracuje ta metalowa rura i epoksyd. Problemem jest ściskanie w kierunku równoległym do osi podłużnej - tam jest ta rura i epoksyd, a włókna węglowe zapobiegają temu, żeby ściśnięta rura rozgięła się na zewnątrz. Ale ona może (przy odpowiednio większym nacisku) wgiąć się również do wewnątrz, bo żadnych wręg tam nie ma. Wtedy kadłub się trochę skróci, a wyporność zmniejszy. Stawiam hipotezę, że każdy z tych głośnych trzasków to były kolejne etapy składania się kadłuba w harmonijkę. Badań kadłuba między nurkowaniami tam na wszelki wypadek nie robili, więc nie zostało to wykryte.
-----------------------------------------------------------------------------------------------------------------------

Dotyczy: ,

Kategorie:Ciekawostki

8 komentarzy

Orły w kosmosie

Ostatnio zmieniłem komórkę, czas już był, bo w niemal każdym towarzystwie mogłem wygrywać konkurs na najstarszy smartfon. Miałem Samsunga Galaxy Note 4 (premiera 10.2014, kupiłem za pół ceny jak wszedł następny model i ten był na wyprzedaży, 01.2016). To był ostatni model z wymiennym akumulatorem, stylusem, i był bardzo dobrze wyposażony, na przykład miał pulsoksymetr. Chodził jeszcze całkiem dobrze, (tyle że Android 6.0.1, i to było już po upgrade) dopadł go głównie problem nieoryginalnych akumulatorów. Chodzi o to, że jak ten oryginalny akumulator się zestarzeje, to już się nie da kupić następnego w tej samej jakości co ten pierwszy. Nowych oryginałów już nie ma (nie wierzcie w naklejki wyglądające jak na oryginalnym, to wszystko fake), wszystkie zastępcze nie są wiele lepsze niż ten stary. A bez sensu jest zmieniać akumulator co kwartał. Już przy wcześniejszych telefonach, również dumb, problem był ten sam. Więc tą wymienność akumulatora i tak można sobie o wiadomo co rozbić.

Wybierałem tapetę na nowy telefon, i najbardziej spodobał mi się całkiem czarno-biały design z Księżycem. Nowy telefon jest trochę bardziej podługowaty niż stary, więc pomyślałem że pasowałaby jakaś rakieta. I tak, krótkimi ścieżkami skojarzeniowymi z Księżycem, przypomniał mi się Orzeł (Eagle) z serialu Space:1999.

Objaśnienie dla młodzieży: Space:1999 to telewizyjny serial SF z połowy lat siedemdziesiątych. Miał dwa sezony po 24 pięćdziesięciominutowe odcinki, pierwszy sezon z 1975, drugi z 1977. Pokazywano go w telewizji w Polsce, od 1977 do 1979, w soboty po południu, w programie drugim, w audycji zwanej Studio 2. Tytuł polski to "Kosmos 1999", ale niektórzy chcieli pochwalić się, że znają angielski i pisali "Cosmos 1999", nawet w gazecie (Przykład pod tym linkiem do wiki o "Studio 2", przy programie na 3 września 1977). Oglądali to dokładnie wszyscy, bo wtedy wyboru nie było, a coś całkiem świeżego i zachodniego, to trzeba było koniecznie. Plot jest taki, że w pierwszym odcinku na Księżycu wybucha składowisko odpadów radioaktywnych, i wyrzuca Księżyc z orbity (jak dziś pamiętam, że w pierwszym odcinku ktoś tam wygląda przez okno ze statku, a tam napis po polsku "Zgaś żarówkę" - było to już w okresie pierwszych problemów z energią). W drugim odcinku Księżyc trafia w czarną dziurę i tuneluje w inną część Wszechświata, gdzie w następnych odcinkach dzielna załoga stacji księżycowej co chwilę natrafia na życie rozumne (zazwyczaj średnio przyjazne).

Dla ustalenia uwagi: To było nakręcone między 2001:A Space Odyssey (1968, twórcy Space:1999 podają ten film jako jedno ze źródeł inspiracji wizualnej) a pierwszymi Star Warsami (1977, nawet ktośtam ze scenografów Space:1999 miał robić przy Star Wars, ale był jeszcze zajęty przy drugim sezonie). Oryginalne serie Star Treka były kręcone 1966-1969. Wtedy jakoś to do mnie nie dotarło, ale serial jest angielski, nie amerykański.

Statek Eagle z serialu dość powszechnie uważany jest za jeden z najsensowniej wymyślonych statków kosmicznych z filmów SF, i ja też tak uważam. Czytelników chcących dowodzić że on też jest bez sensu proszę o wzięcie na wstrzymanie, on oczywiście też jest bez sensu, ale chociaż troszkę mniej od innych. Ale o tym dalej.

Wymyśliłem sobie, że na tapetę telefonu najlepiej pasowałoby zdjęcie Orła od przodu z góry, szukałem takiego, ale nic w żądanych proporcjach nie było. A przy tym szukaniu oczywiście zaraz trafiłem na sety do sklejania statków z serialu. I się zaczęło.

Jak puszczali ten serial w telewizji byłem niedługo po "złotym wieku SF" (dla nie łapiących: "złoty wiek SF" to "11 lat" (EDIT: Jak sprawdzam w źródłach to jest 12-14, czyli akurat), i mnie to wzięło. Ponieważ robiłem już modele kartonowe, zabrałem się za robienie kartonowego modelu Orła. Oczywiście wyłącznie z pamięci - przecież wtedy nie dało się zdobyć nawet jakiegoś zdjęcia z gazety. Zacząłem od tej kabiny pilotów. W mojej wyobraźni cały ten "łeb" był obły, a te czarne pola obramowujące charakterystyczny biały krzyż to były wielkopowierzchniowe przeszklenia. W serialu latali tymi Orłami na Ziemię i inne planety z atmosferą, lądowali tam w przygodnym terenie, więc musiała być aerodynamika i widoczność. To przecież oczywiste nawet dla wczesnonastolatka. Podobnie wyobraziłem sobie, że te moduły z podwoziem po bokach są znacznie mniejsze niż w oryginale, z przyczyn aerodynamicznych. I moduł środkowy miał u mnie przekrój ośmiokąta znacznie bardziej wydłużonego niż ten filmowy, żeby lepiej zgrywał się aerodynamicznie z tymi modułami podwoziowymi.

Tymczasem w filmowym Orle piloci mają tylko małą, prawie prostopadłą do kierunku lotu szybę, przed którą jest jeszcze długi "nos" i pionowa ścianka z jednej strony. Na dole analogiczna do szyby prostopadła ścianka jest nieprzezroczysta. Dobrze chociaż, że płaszczyzny przed szybą pomalowali na czarno - stąd bierze się ten "krzyż". Ogólnie aerodynamika do bani, a widoczność przy lądowaniu nie istnieje. A mówimy dopiero o samej kabinie pilotów.

Space:1999 Eagle Transporter Źródło: gdzieś z sieci

Skąd więc opinia o sensowności Orła? To jest tak: Zasadniczym elementem tego statku jest przestrzenna kratownica, nieosłonięta niczym. Z tyłu przymocowane są do niej silniki główne, z przodu kabina pilotów. Kabina może się awaryjnie odłączyć i manewrować samodzielnie, oczywiście tylko w zero G. Po bokach do kratownicy przymocowane są na stałe po dwa zespoły podwozia/silników manewrowych z każdej strony. Natomiast środkowa sekcja jest wymienna - statek może latać bez niczego, z modułem cargo, pasażerskim, laboratoryjnym i jeszcze jakimiś. Pojazd ma też zdalne sterowanie, chociaż na mój gust używają go o wiele za rzadko. Znaczy ktoś sobie przy projektowaniu chociaż trochę myślał, a design całości jest bardzo utylitarny, kompletnie bezsensownych ozdobników jest niewiele. Stąd Eagle robi o wiele lepsze wrażenie, niż większość innych filmowych wehikułów kosmicznych projektowanych tylko na efekt wizualny.

Oczywiście jak zaczniemy analizować ten statek na poważnie, to on:

  • Nie przetrwa wejścia w atmosferę.
  • Gdyby nawet przetrwał, to jego aerodynamika to tragedia, a przy lądowaniu w terenie by go rozwalili przez brak widoczności.
  • Jako statek do suborbitalnych lotów nad Księżycem to może nawet działać, ale jest jeden niuans - według specyfikacji on ma 23 metry długości i masę startową 238 ton. Gdzie jest ta masa odrzutowa na wyspecyfikowane 48 godzin lotu?
  • Przy dalszych lotach w zero G designerzy nie pomyśleli o hamowaniu. A nawet jak by się odwrócił do hamowania (czego ani razu w serialu nie ma), to piloci by nic nie widzieli.
  • Jak w którymś odcinku statek miał być szybszy, dodali mu na "plecach" booster z dyszą skierowaną skośnie w górę. No serio?

Listę problemów można ciągnąć jeszcze długo. Po prostu "najsensowniejszy" nie znaczy jeszcze "sensowny". Ale wygląda fajnie.

Sety do sklejania są dostępne w 1:48 i 1:72. Teraz nabrałem ochoty na zrobienie sobie tego dużego modelu, w 1:48. Gotowy model ma mieć 22 cale długości, czyli jest całkiem spory. Są dostępne trzy wersje - z modułem cargo, transportowym (w zasadzie jest to wersja rescue, ale od transportowej różni się tylko malowaniem w czerwone pasy) i laboratoryjnym. Podwozie ma sprężyny, czyli pracuje. Popatrzyłem, co jest jeszcze dostępne dla poprawienia modelu:

Zestaw Eagle Transporter 1:48 Źródło: MPC

Na razie nadal nie mam czasu na modelarstwo, ale lepiej pozbierać to wyposażenie dodatkowe, bo jest zazwyczaj niskoseryjne i może się skończyć. A do modelowania za pewien czas dojdę.

Przy okazji zauważyłem, że te pojazdy z 2001:A Space Odyssey które widziałem w Muzeum Filmu, też są dostępne jako sety, chyba wręcz były zrobione z tych setów.

Ponieważ wszystkie odcinki są dostępne na youtubie, zacząłem sobie serial powtarzać. No i to jest, nie da się ukryć, pulpa. O ile pierwszy odcinek jeszcze leżał koło hard-SF, drugi może odrobinę też, to potem zaczyna się niepohamowana cudowność (a co dopiero w drugim sezonie, jak pamiętam, to dali tam nawet kosmiczną czarownicę, która zastąpiła naukowca z pierwszego sezonu). Technobełkot bardzo technobełkotliwy, deusy co chwilę wyskakują z machinesów, aktorstwo raczej drewniane. Kolorowe lampki migają bez jakiegokolwiek sensu, obsługa stuka w ogromnym tempie w klawiatury umieszczone na ścianie (nie ma wyświetlaczy powyżej, a na klawiszach nie ma jakichkolwiek oznaczeń). A najlepszym strojem do eksploracji innych planet jest trykot w kolorze jasnobeżowym, bez kieszeni, ze spodniami-dzwonami i również jasnobeżowe kozaczki z pięciocentymetrowymi obcasami (kozaczki to dla kobiet, dzwony również dla mężczyzn, taka była wtedy moda).

Z drugiej strony, przy odpowiednim podejściu, to nawet nie jest takie złe. Jest atmosfera, mimo że to Księżyc (proszę popić tego suchara co najmniej szklanką wody). Straszą, mimo braku CGI w tamtych czasach, całkiem całkiem, napięcie nawet jest. Statki kosmiczne niezłe (przynajmniej te z Ziemi, obce są często wręcz śmieszne). A za najlepszy punkt uważam scenografię - to jest Space Design at its best. Oczywiście niekoniecznie te trykotowe kostiumy (chociaż kurtki miewają fajne), raczej wystrój wnętrz stacji księżycowej. Powiem, że nie miałbym nic przeciwko temu, żeby zrobić sobie biuro w tym stylu, tylko biurko trzeba by poprawić i zrobić większe ekrany (mają tam tylko naprawdę małe CRT).

A standardowe oscyloskopy z lampą oscyloskopową robiące za zaawansowany sprzęt medyczny są urocze. W sumie polecam, byle nie mieć zbyt wygórowanych oczekiwań.

Wnętrze Bazy Księżycowej Alpha Źródło: Space:1999 Catacombs

Dla zainteresowanych parę linków:

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

Dotyczy: , ,

Kategorie:Ciekawostki, Telewizja

2 komentarze

Odezwa: Pomóżcie na froncie ideologicznym!

Nie mam za bardzo czasu na blogowanie - jak już pisałem przeszedłem na freelancing i jestem oblegany przez klientów. O wojnie też nie mam ochoty pisać - po polsku raczej nie trzeba, jest mnóstwo ludzi którzy robią to lepiej, a Polacy generalnie są jako-tako ogarnięci w tym temacie.

Ale niedawno rozmawiałem z paroma niemieckimi putinversteherami, i to była zgroza. Oni mówili dokładnie to, co głosi rosyjska propaganda, rzeczy w stylu:

  • Ukraińcy ostrzeliwują swoje własne miasta. No bo przecież do czego innego mieliby używać tej masy amunicji dostarczanej przez Zachód?
  • W Ukrainie były biolaboratoria, potwierdziła to pod przysięgą Victoria Nuland!!!!1!!ONE! (a przecież nie wolno mieć w kraju placówek badawczych, to zbrodnia)
  • W Ukrainie prześladują rosyjskojęzycznych.
  • W Doniecku 90% ludności chciało do Rosji, a referendum w 2014 było "fair".
  • "Zielone ludziki" to byli ukraińscy separatyści.
  • Girkin? A kto kto jest Girkin?

I tak dalej, i tak dalej, aż byłem przerażony. Dla ustalenia uwagi: To byli wyborcy lewicy, dla których SPD jest zbyt mało lewicowe, oni przeszli do obozu Die Linke. (Ja też ostatnio skreśliłem SPD z krótkiej listy partii wybieralnych, tyle że ja z powodu ich polityki co do Rosji i Ukrainy).

No dobra, ale co z tym zrobić? Nie mam czasu pisać o tym wszystkim, mimo że wiedzę mam - przy pracy puszczam sobie materiały po rosyjsku i ukraińsku, i tak przez cały dzień. Oni czytają i słuchają po niemiecku, czyli jak dobrze pójdzie znają temat z trzeciej ręki (po tłumaczeniu na angielski, a potem w angielskiego na niemiecki), więc w sumie trudno się dziwić, że trafiają głównie na - jak to ładnie określił WO - Angielskojęzycznych Rosyjskich Propagandystów.

Na szczęście akurat WO uruchomił swojego bloga po angielsku na Substacku i zaczął pisać dokładnie takie notki, jakich potrzebuję. Zapytałem go, i on się zgodził że je przetłumaczę i wystawię u siebie, na blogu po niemiecku. Więc to zrobiłem.

Wbrew pozorom, to wcale nie tak wiele roboty - przepuszczam jego notki przez tłumacza googla, i aż byłem zaskoczony, jak dobrze on już tłumaczy. Tekst wychodzi poprawny gramatycznie i całkiem niezły. Zostaje tylko do zrobienia:

  • Przeczytać notkę dokładnie i znaleźć, gdzie gugiel pogubił się w relacjach między częściami zdania. Zdania WO po przetłumaczeniu są baaardzo złożone, nawet jak na standardy języka niemieckiego i można się pogubić.
  • Oczywiście gugiel nie łapie odniesień do popkultury, trzeba znaleźć samemu i poprawić.
  • Idiomy - gugiel nie zawsze załapie, że to idiom, i niekoniecznie przetłumaczy na pasujący niemiecki.
  • Wiele angielskich transkrypcji nazw i nazwisk trzeba podmienić na niemieckie.
  • Jeżeli się da, trzeba podmienić linki na takie po niemiecku.

I w sumie tyle, po góra godzince mam niezłą notkę po niemiecku, praktycznie bez błędów.

Jedynym moim problemem jest mały zasięg - nie za bardzo mam gdzie wrzucić linka. Jak dotąd linki są tylko na blogu WO po polsku, a to przecież nie jest grupa docelowa tych notek.

Więc apel: Jeżeli macie niemieckojęzycznych znajomych, którzy zbyt dobrze rozumieją Putina - podrzućcie im proszę linka. Albo jeżeli macie gdzie takiego linka wrzucić, na jakieś forum, czy coś podobnego z jakimś sensownym zasięgiem - też bardzo proszę.

Leży to wszystko na moim blogu po niemiecku: http://polenblog.cmosnet.eu

Z góry dziękuję.

 

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

Dotyczy:

Kategorie:Organizacyjne

4 komentarze

A teraz język czeski

W poprzedniej notce polecałem ukraińskiego "Sługę narodu", i jak już jesteśmy przy satyrze politycznej krajów byłego bloku to polecę czeski mini-serial "Kosmo".

Dobre dwa lata temu w polskim internecie krążył krótki fragment tego serialu, z którego wynikało że Polacy zawsze podróżują w czwórkę z psem:

To było dobre, poszukałem więc na youtubie więcej. Niestety nie było tego za dużo, nawet w oryginalnej wersji językowej.

Tu dygresja - czeski rozumiem nie tak dobrze jak rosyjski, ale tak ze 75% to i owszem. Na studiach miałem sporo znajomych Czechow i pożyczałem od nich książki do czytania, po czesku oczywiście. Przeczytałem tak na przykład "Egipcjanina Sinuhe" Waltariego, i po czesku brzmiało to rewelacyjnie. Czeski dla Polaka brzmi nieco archaicznie, co świetnie pasowało  tej powieści (Do dziś pamiętam "Zlato je jako prach u mých nohou"). Archaizm czeskiego jest uzasadniony historycznie - mówiąca po czesku szlachta została prawie całkowicie wybita w bitwie na Białej Górze (1620) w Wojnie Trzydziestoletniej, i od tego czasu po czesku mówili praktycznie wyłącznie niewykształceni chłopi. Język zakonserwował się i nie rozwijał przez ponad 200 lat,dopiero w wieku XIX został odtworzony i wrócił do obiegu. Stąd wiele słów czeskich jest podobne do staropolskich.

Wróćmy do Kosmo. Zorganizowałem sobie ten serial i naprawdę było warto (dla nie znających czeskiego: da się znaleźć w sieci polskie napisy). Może krótko plot:

Ministrowi edukacji (nazwiskiem Sumec, czyli sum) odbija nagle (akcje typu kąpanie się nago w fontannie na rynku) i zostaje on zdjęty ze stanowiska. Jego następca zaczyna przeglądać dokumenty i okazuje się, że jego poprzednik sprzeniewierzył całkiem sporo funduszy, i co gorsza rozpoczął projekt czeskiego lotu na Księżyc, wziął na to środki unijne, a w umowie z Unią przewidziane są olbrzymie kary umowne za przerwanie przedsięwzięcia. Serial opowiada losy tego projektu.

Sumec angażuje jako przyszłych kosmonautów cztery osoby:

  • stuprocentowo kompetentną dziewczynę po przeszkoleniu astronautycznym w NASA
  • astrofizyka z uczelni (w jednej czwartej Polaka zresztą, stąd "Polak w niebezpieczeństwie" na filmiku powyżej).
  • technika nazwiskiem Cikán (Cygan), na którego bierze unijne dopłaty dla mniejszości narodowych
  • pilota nazwiskiem Chromy (Kulawy), na którego bierze unijne dopłaty dla osób upośledzonych

Ponieważ Sum za pieniądze na ten projekt kupił sobie hotel w ciepłych krajach, nowy minister musi zapewnić finansowanie projektu z innych źródeł. Podpisuje więc umowę sponsorską z wielkim przedsiębiorcą od hodowli kur, który ma swoje wymagania. Pierwszym z nich jest wywalenie dziewczyny z NASA, bo ma za duże piersi i ludzie pomyślą że jego kurczaki są szpikowane hormonami (spoiler: Oczywiście są). Zostaje ona zastąpiona wskazaną przez niego aktualną Miss Kurnika, której szybko trzeba dorobić dyplom uczelni wyższej.

Nie będę spoilować dalej, ale jest tam sporo świetnej satyry na stosunki czesko-rosyjskie i czesko-amerykańskie, perypetie z Chińczykami (najtaniej wynoszącymi ładunki na orbitę), szybko działająca propaganda rosyjska, nabijanie się ze Słowaków i Polaków (Jak to się stało że nikt nie zauważył polskiego programu księżycowego? Postawili na rakiecie krzyż, a wiecie ile u nich jest kościołów...). Za najlepszy uważam odcinek drugi, z polityką międzynarodową.

Ogólnie serial jest o wiele lepszy niż Sługa narodu, i do tego ma elementy SF. Porównanie z serialem ukraińskim pokazuje, że jednak Czechy są w zupełnie innym miejscu niż Ukraina (oczywiście przed wojną). Korupcja istnieje, ale nie jest tam masowa jak w Ukrainie. Głównym problemem nie są oligarchowie, tylko zależność polityki od biznesu.

Ogólnie bardzo polecam. Tu strona serialu

Poszukałem, i teraz daje się znaleźć całość na youtubie

Podlinkuję odcinki wprost:

 

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

Dotyczy:

Kategorie:Telewizja

Skomentuj

Nieoczekiwane korzyści z nauki rosyjskiego

Wydarzenia od pewnego czasu przyspieszają, zarówno na świecie, jak i u mnie prywatnie. Co na świecie wszyscy wiedzą, prywatnie niedawno przeszedłem na freelancing, w związku z tym przechodzeniem nie za bardzo miałem czas na pisanie notek.

Znaczy jedną zacząłem pisać, jeszcze przed wojną, ale się gwałtownie zdezaktualizowała - bo kogo teraz obchodzi jakiś covid. Chociaż ta dezaktualizacja była tylko częściowa, bo miało tam być też o związkach pewnych grup z Rosją. Notkę jeszcze przerobię i opublikuję, bo moje tezy, wtedy jeszcze bez dowodów, nagle znalazły potwierdzenie. Ale teraz o czym innym.

W ramach śledzenia informacji z frontu zacząłem oglądać na youtubie materiały rosyjskie i ukraińskie, i nagle się okazało, że nauka rosyjskiego w komunistycznej szkole nie poszła na marne. W tamtych czasach, mimo że z rosyjskiego miałem raczej trójki niż czwórki, mówiłem i czytałem w tym języku całkiem nieźle, w praktyce nawet lepiej od niektórych z piątkami. Od tego czasu minęło już mnóstwo lat, tymczasem z mówieniem miałbym bardzo poważne problemy (przede wszystkim brak słów), ale teraz nagle się okazało, że z materiałów po rosyjsku rozumiem 90+% (oczywiście +/- temat i staranność wymowy mówiącego). I jeszcze, odkryłem, że ukraiński jest tak pomiędzy rosyjskim a polskim, i rozumiem go nawet lepiej niż rosyjski.

I tak przy tym oglądaniu trafiłem na interesujący kanał, należy on do ukraińskiego dziennikarza, Volodymyra Zolkina (TUTAJ wpis w Wiki). Rozmawia on rosyjskimi jeńcami, i daje im zadzwonić do domu. To nie jest przesłuchanie, tylko dobrowolna rozmowa, na którą rozmówca musi wyrazić zgodę. Rozmowa składa się z kilku punktów (kolejność może się zmieniać):

  • W nowszych rozmowach, dziennikarz pyta na początku o zgodę na zapis i publikację rozmowy.
  • Najpierw rozmówca przedstawia się, i podaje różne dane pozwalające na sprawdzenie, że nie jest podstawionym aktorem (nazwiska kolegów z klasy, nauczycieli, profil w mediach społecznościowych, czy coś w tym rodzaju).
  • Dziennikarz zadaje pytania typu:
    • Jak rozmówca trafił na Ukrainę?
    • Czy jest w stanie powiedzieć, po jaką cholerę tam trafił?
    • Czy widział po drodze jakichś faszystów albo nacjonalistów?
    • Jak trafił do niewoli?
    • Jak traktują go w niewoli?
    • Co chciałby powiedzieć ludziom, których wojsko miałoby wysłać na front ukraiński?
  • Dalej dzwonią do domu jeńca (do żony/rodziców/dziewczyny/dziadków). Jeniec może chwilę porozmawiać,  dziennikarz informuje że można zapis obejrzeć na Telegramie - bo ten w Rosji działa. I jeszcze próbuje wypytywać, co ci ludzie myślą, co ich bliski robi w Ukrainie, i o co w tej całej "operacji specjalnej" chodzi.

Generalnie próbuje wzbudzić w tych jeńcach i ich bliskich jakieś refleksje nad tym wszystkim, co się dzieje. Oczywiście nie należy zakładać, że wszystko co jeńcy mówią jest prawdą.

Rozmowy są generalnie smutne, ale bardzo interesujące. Dziennie pojawiają się 2-4 nowe filmiki, oglądam co dzień. Tymczasem osłuchałem się już tak, że poznaję kiedy dziennikarz wrzuca słowa ukraińskie zamiast rosyjskich. Kilka spostrzeżeń i ciekawostek:

  • Jak dotąd były dwie rozmowy z majorami pilotami.
    • Jeden latał na bombowcu (Su-34). Brak jakichkolwiek refleksji nad czymkolwiek. Dostaje koordynaty, charakterystykę celu (zawsze w rodzaju "zgrupowanie sprzętu pancernego npla") i leci zrzucić bomby. Telefonu nie zabrali (większości  innych pozabierali), ale nie sprawdzał na co zrzucił bomby. Po zestrzeleniu i lądowaniu ostrzeliwał się z pistoletu służbowego i nawet kogoś zabił. Jak zadzwonili do żony okazało się, że puściła go kantem.

    • Drugi był z lotnictwa morskiego z Krymu, loty rozpoznawcze nad morzem (Su-30). Raz kazali mu polecieć w stronę nad lądem w stronę Chersonia (pułap 6-8 km), po 50 kilometrach został zestrzelony. Mówił, że do samolotu nie zabierają broni ręcznej, bo w razie wodowania tylko na dno ciągnie. Ten był całkiem bez jakichkolwiek wyrzutów sumienia, bo niby tylko lata w kółko wokół wyznaczonej pozycji nad morzem, a elektronika rejestruje co trzeba, i tyle. A jak leciał nad lądem, to z pułapu na którym lata i tak nic konkretnego nie widać. Przy tym żona Ukrainka (mówił trochę po ukraińsku).

  • Był jeden podpułkownik z policji, starszy gość. Ten twierdził, że do jednostki przyszli jacyś ludzie i powiedzieli, że poślą ich za granicę. Wszystkie protesty, że to jest policja i nie mają prawa do działań za granicą zignorowali. Policjanci stwierdzili że to jakaś głupota, aż tu nagle pewnego ranka zostali zapakowani do samochodów i powiezieni - jak się okazało - do Ukrainy. Gdzie zaraz konwój został rozwalony, a podpułkownik dostał się do niewoli.
  • Był też jeden kapitan policji, opowiadał podobną historię (z tym rozmawiali dwa razy, za drugim razem pytali co odpowie na komentarze pod pierwszym filmikiem).
  • Było kilku z tych "republik" w Donbasie. Żaden nie był wcześniej w wojsku, nigdy nie strzelali, wzięli ich przymusowo w Wojenkomat (odpowiednik WKU) i zawieźli na nowo zajęte tereny. Tam spali w otwartym terenie, dostawali średnio jedną rację żywnościową na trzy dni, dostali kałasze i po trzy naboje na osobę. Zadaniem ich było kierowanie ruchem, żeby zatrzymywać samochody cywilne jak jedzie kolumna wojskowa. No i tak stali sobie przy drodze (jeden z nich, starszy człowiek z brodą określił to "staliśmy tam jak dziady brodate"), podjechał jakiś BTR który okazał się ukraiński i zostali wzięci do niewoli. Mnie zastanawia, po co wcielać takich ludzi, przecież ich potencjał bojowy jest ujemny - angażują tylko zasoby i logistykę, ktoś ich musi nadzorować, nawet to ich zadanie nie miało najmniejszego znaczenia. Jeden miał problemy zdrowotne z nogami, zrobili go felczerem. Nie muszę chyba pisać, że z jakąkolwiek medycyną nie miał nic wspólnego. Był też jeden weterynarz (nie z Donbasu), którego z marszu i bez przeszkolenia zrobiono dowódcą czołgu.
  • Większość zwykłych żołnierzy niskich stopni opowiada bardzo podobne historie: Pojechali na ćwiczenia, zabrano im telefony i paszporty, pojechali gdzieś, i nagle się okazało, że są w Ukrainie. Dokąd jadą wiedział tylko dowódca w pierwszym wozie, reszta nawet map nie miała. Potem wpadli pod ostrzał i zostali wzięci do niewoli (niektórzy sami aktywnie się poddali).
  • Dziennikarze czepiają się powoli, że dotąd w zasadzie żaden z rozmówców nie powiedział, że strzelał do kogokolwiek. Myślę, że nie ma się czemu dziwić - ci którzy naprawdę mają sporo na sumieniu raczej nie godzą się na rozmowę. Dzisiejszy rozmówca (Старший лейтенант, wyjątkowo rozmowny i chętny do dyskusji) nawet tak im powiedział.
  • Jeden miał ciekawszą historyjkę, jak papał w plien (trafił do niewoli) od 19:55:

Dziennikarz (D): Jak trafiliście do niewoli?
Żołnierz (Ż): A popiliśmy wieczorem z czołgistami.
D: Zaraz, byliście już od trzech tygodni w akcji, skąd mieliście alkohol?
Ż: Czołgiści mieli...
D: Przywieźli tyle, że na trzy tygodnie starczyło? Jakiś zbiornik?
Ź: Nie wiem skąd mieli, ale w butelkach
(dziennikarze stwierdzili, że musiały być ukraińskie i kradzione)
D: I były zapieczętowane?
Ż: Jak przyszliśmy, były już otwarte.

  • EDIT 2022.04.11: Wywiad opublikowany dziś wieczorem jest jak dotąd najdłuższy i najciekawszy - człowiek który był przez miesiąc w Buczy:

  • EDIT 2022.04.12: Dzisiejsza wieczorna rozmowa była jak dotąd najlepsza - wreszcie jakiś inteligentny rozmówca z którym jest porządna dyskusja. Niestety jego ojciec w rozmowie telefonicznej był całkowicie niereformowalny, argumentował całkiem jak twardy zwolennik PiS-u.

  • EDIT 2022.04.13: No dziś to już przeszli samych siebie - rozmowa z dziesięcioma oficerami (podporucznik-kapitan) z jednego zgrupowania czołgów naraz, którzy wszyscy razem trafili do niewoli. Wszyscy z paru miejscowości w obwodzie moskiewskim i z Sankt Petersburga. Przy okazji pokazują warunki, w jakich ci ludzie są trzymani: To jest wyraźnie więzienie, piętrowe, metalowe łóżka, ściany wykafelkowane, łazienka z prysznicami (nie ma baterii, tylko zwykłe zawory kulowe dla wody zimnej i ciepłej). Pokazali też jedzenie, była ogórkowa, jakieś klopsy, kasza i kapusta. Tych żołnierzy dowódca (podpułkownik) zostawił, uciekł do Rosji, i tam napisał raport, że on wszyscy zdezerterowali. Przy telefonach do domu dowiadywali się, że są w Rosji poszukiwani za dezercję.

 

  • EDIT 2022.04.21: W niedzielę, z okazji setnego wywiadu, prowadzący zrobili sesję pytań i odpowiedzi z widzami. Podali parę ciekawych rzeczy, na przykład że wielu z tych jeńców po wywiadzie dopytuje się, czy i jak mogą zostać w Ukrainie i nie wracać do Rosji.

Znających rosyjski zachęcam do pooglądania, daje trochę inną perspektywę. EDIT: W komentarzach proponują włączenie automatycznie generowanych podpisów i wybranie języka do automatycznego tłumaczenia. Ale już po rosyjsku te napisy często nie wychodzą, na początku miałem włączone, ale po pewnym czasie dałem spokój.

A teraz z innej beczki: Na ARTE puścili parę odcinków "Sługi narodu", pierwszy sezon  jest w mediatece (link jest do wersji z dźwiękiem oryginalnym i napisami po niemiecku, nie sprawdzałem czy są tam inne). Obejrzałem jak dotąd sześć, i to niezłe jest. Znaczy jako komedia to nie jest jakaś rewelacja, ale wcale nie jest głupie. No i teraz rozumiem dlaczego Żełeński został wybrany na prezydenta. Krótko plot:

Zaczyna się to od rozmowy trzech, nie pokazywanych z twarzy oligarchów, że w najbliższych wyborach nie ustalą między sobą kto wygra, tylko pozwolą rzeczywiście wybrać ludziom, a każdy z nich wystawi swojego kandydata. Głównym bohaterem jest biedny nauczyciel historii nazwiskiem Wasyl Hołobrodko. Pewnego razu w szkole wkurza się on i wygłasza tyradę na temat panującego systemu politycznego, i powszechnej nieznajomości historii, prowadzącej do wybierania złych kandydatów. Tyradę nagrywa i wrzuca do sieci jeden z jego uczniów. Wkrótce okazuje się, że wszyscy ten filmik widzieli i wyrażają chęć głosowania na takiego kandydata. Uczniowie bez wiedzy nauczyciela organizują crowdfunding, żeby zebrać 2 miliony hrywien potrzebne do rejestracji kandydata, w rezultacie nauczyciel rejestruje się i wygrywa wybory w pierwszej turze. Hołobrodko jest człowiekiem skromnym i uczciwym, i na nowym stanowisku zderza się całym bizantyjskim systemem politycznym Ukrainy.

Jak na razie, to rzecz jest wręcz lewacka. Na początku nowemu prezydentowi śnią się greccy filozofowie dyskutujący o tym, że Ukraina ma wszystko o trzeba, żeby być bogatym krajem, a główną przyczyną że taka nie jest są skorumpowani, chciwi politycy dbający tylko o swoją korzyść. W scenie spotkania z ministrami Hołobrodce wręcz zwiduje się Che Guevara i żąda od niego żeby powiedział im wszystkim co o nich myśli. Co prezydent w swojej wyobraźni robi (ale tylko w wyobraźni). Jednak dalej robi różne bardzo lewackie rzeczy również w rzeczywistości.

Tu parę danych statystycznych: Jeżeli porównać nominalne PKB per capita, to Ukraina jest baardzo biedna. Taki Meksyk ma ponad dwa razy tyle, Rumunia ponad 3, Polska koło 4 a Niemcy ze 12. Trochę lepiej wygląda to przy porównaniu siły nabywczej, ale nadal nie różowo.

Zauważmy jednak, że "uczciwy, zwykły człowiek z ludu robiący porządek z elitami"  to jest wymarzona kampania wyborcza każdego populisty. W serialu bohater jest prawdziwym ideowcem, ale jak odróżnić ideowca od populisty w realu? Przy niektórych widać od razu że nie mają żadnej niezmiennej i niedyskutowalnej idei której się nie pozbędą, tylko zrobią i powiedzą wszystko żeby mieć władzę, ale są i inni, przy których z góry tego nie wiadomo.

No i ten plot z serialu został przeniesiony poziom wyżej, do realu - każdy widz serialu widząc kandydata Żełeńskiego natychmiast podkładał sobie krystalicznie uczciwego Hołobrodkę robiącego porządek ze starymi, skorumpowanymi elitami. Nawet Trump nie byłby w stanie zrobić takiego numeru. W sumie ciekawe czy ta akcja była planowana od początku, czy też dopiero później to wymyślili. I czy Żełeński jest tak samo ideowy jak Hołobrodka.

W każdym razie serial warto zobaczyć.

 

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

Dotyczy:

Kategorie:Telewizja

3 komentarze

Audycja zawiera lokowanie produktu – Pizzastahl

Skoro zacząłem o przyrządach związanych z kuchnią, to jeszcze jeden. Najpierw historia:

Trochę czasu temu robiłem często pizzę, taką od zera, z ciasta drożdżowego. Ogólnie była dobra, ale rodzina się skarżyła, że to ciasto nie jest takie jak w pizzy z pizzerii, tylko jakieś takie chlebowe. No ale nic się z tym nie dało zrobić - w piekarniku pizza piecze się zbyt wolno, ciasto zdąży wyrosnąć i nigdy nie będzie takie chrupiące, jak powinno być. Po pewnym czasie nam się to znudziło.

Ale kiedyś zobaczyliśmy w telewizji program, w którym zajmowali się dokładnie tym problemem. Zrobili ciasto na pizzę, zrobili z niego dwie pizze i jedną upiekli w piekarniku, a drugą w profesjonalnym piecu do pizzy. I różnica była duża - w piekarniku ciasto mocno wyrosło, a cała pizza nie była chrupka, tylko właśnie taka chlebowata.

Dalej pokazywali, co z tym da się zrobić. Najpierw pokazali parę tricków które można zrobić bezkosztowo, a potem Pizzastein - taki płaski kawał szamotu. Wkłada się to do piekarnika, rozgrzewa dobrze, a potem piecze na nim pizzę. No i taka wychodzi podobno już znacznie lepiej.

Ale to jeszcze nie koniec - potem użyli Pizzastahl. To jest kawał ośmiomilimetrowej blachy stalowej. Robi się z nim to samo co tym kamieniem, tylko wynik jest znacznie lepszy - twierdzili, że pizza wychodzi praktycznie taka, jak z pizzerii.

Ponieważ taki Pizzastahl kosztuje co nieco, a telewizja często kłamie (chociaż to było na kanale publicznym, na którym jest z tym lepiej, i w dobrym programie popularno-naukowym), trochę trwało zanim dojrzeliśmy do zakupu. Wybór producentów tego nie jest zbyt duży, wybrałem taką jedną firmę. W tej firmie do wyboru są zaledwie trzy warianty:

  • Okrągła blacha o średnicy 32 cm
  • Okrągła blacha o średnicy 32 cm, z rowkiem dookoła
  • Prostokątna blacha 32 x 38 cm, z rowkiem dookoła.

Wszystkie te blachy mają grubość 8 mm i są zrobione ze stali rdzewnej. Stal jest posmarowana olejem lnianym, który przy pieczeniu robi się taki złotobrązowy, a w dłuższym terminie czarny. W ofercie jest też pasujący klosz ze szkła borosilikatowego (do pieczenia chleba) i filcowe pokrowce do przechowywania tej blachy. Najtańszy zestaw blacha + pokrowiec to już 73 + 16 = 89 EUR. Taki właśnie kupiłem - ten rowek dookoła ma sens chyba tylko w połączeniu z kloszem. Blacha okrągła waży całe 5 kilo, to nie w kij dmuchał. Producent radzi żeby operować taką blachą w butach, bo wtedy szkody jak spadnie na stopę są mniejsze.

Pizzastahl

Pizzastahl

Dalej jest jeszcze problem, że ten kawał stali musi być rozgrzany w piekarniku, najlepiej na samej górze, i jakoś trzeba tą surową pizzę na nim umieścić. Znaczy trzeba mieć jeszcze szuflę do pizzy. I tu znowu powstaje problem wyboru. Zasadniczo materiały na taką szuflę są trzy: drewno, alu i stal nierdzewna. I jeszcze rączka do szufli może być stała lub składana w jakiś sposób, przy stałej powstają problemy z przechowywaniem - a to nie jest małe, taka szufla musi mieć co najmniej 35x35 cm + rączka na minimum pół metra.

O aluminiowych szuflach użytkownicy pisali, że są mało sztywne, drewniane były nie składane, więc zdecydowałem się na stalową z odłączaną rączką za około 30 EUR. W sumie jest bardzo podobna do jednej z używanych w tym materiale z telewizji.

Szufla do pizzy

Szufla do pizzy

Gdy wszystko poprzychodziło, przyszedł czas na próbę praktyczną. Pizzastahl umieściłem na ruszcie na samej górze piekarnika, i odkręciłem grzanie na max. Tymczasem zrobiłem pizzę, taką jak zwykle, tyle że wcześniej układałem ciasto  od razu na blasze, na której pizzę potem piekłem (robiłem prostokątne, na całą blachę), a teraz musiałem zrobić to na stolnicy. To wyszło dobrze, bo co miało pójść nie tak? Dalej włożenie do pieca - wziąłem szuflę i szybkim ruchem wsunąłem ją pod pizzę. I tu zrobił się mały zonk, bo na szuflę weszło jakieś dwie trzecie pizzy, a dalej tarcie pizzy o szuflę było większe niż tarcie o stolnicę plus siła bezwładności. Próbowałem pociągnąć pizzę za ten koniec najdalej na szufli, ale groziła rozerwaniem. W końcu jakoś tam udało mi się palcami wsunąć ją na szuflę, co nieco ją deformując. Na szczęście zrzucenie jej w piecu na Pizzastahl poszło znacznie lepiej (chociaż nie idealnie).

Teraz czas pieczenia: Producent zaleca włączenie termoobiegu i grilla. Grilla w piekarniku nie mam, a wentylator od termoobiegu trochę pochodzi i się zatrzymuje. Trzeba by pewnie wyczyścić łożysko, ale to kupa roboty i niechce misie. Sprzedawca blachy twierdzi, że przy termoobiegu i grillu  pizza może być gotowa w 2-4 minuty, u mnie wyszło że właściwy stan jest po ośmiu. Wyjęcie jej z pieca poszło bezproblemowo.

No i już w pierwszej próbie pizza osiągnęła smak porównywalny z przeciętną pizzerią, mimo niezadowalającego kształtu. W następnej próbie stwierdziłem, że skoro jest problem z wsuwaniem pizzy na szuflę, to może po prostu zrobię ją od razu na szufli. I to był duży błąd. Co ja mówię - DUŻY BŁĄD. Pizza, mimo intensywnego podsypania mąką, przykleiła się do szufli i nie chciała zejść w piecu. Trochę się nakombinowałem przy pomocy różnych narzędzi drewnianych, jakoś udało się umieścić ją na właściwym miejscu. Kształt miała mocno odbiegający od standardowego, ale smak wyszedł jak z pizzerii. Tyle że na skutek operacji przy wkładaniu pizzy do pieca  co nieco pospadało na dno piekarnika, i trzeba go było potem czyścić.

Przy paru następnych próbach doskonaliłem technikę, dopracowałem metodę nabierania pizzy na szuflę:

  • Najpierw trzeba, jeszcze na stolnicy, podsypać rozwałkowane ciasto na pizzę solidnie mąką.
  • Obłożyć pizze według uznania.
  • Szybkim ruchem wsunąć szuflę pod pizzę, powinno wejść jakieś 3/4 powierzchni.
  • Złapać pizzę palcami za brzeg, z boku, zaraz przy krawędzi szufli, i szybkim ruchem podsunąć szuflę jeszcze trochę. Pizza trochę się przekręci, ale wejdzie dalej. Jeżeli jeszcze nie cała jest na szufli - operację powtórzyć.
  • Zrzucenie pizzy z szufli w piekarniku jest już prostsze, ale też wymaga trochę praktyki.
  • Przed nabieraniem następnej pizzy szuflę lepiej umyć (i dokładnie wysuszyć!) albo przynajmniej natrzeć mąką.

Podejrzewam, że drewniana szufla zachowywała by się lepiej, nie bez powodu w pizzeriach używają drewnianych. Tyle że one raczej nie są składane i wymagają więcej miejsca do przechowywania. Z drugiej strony w tym materiale fachowiec od pizzy używa między innymi stalowej, bardzo podobnej do mojej, i nie ma problemów. Może trzeba natrzeć ją oliwą z oliwek? Następnym razem wypróbuję. (EDIT: spróbowałem natrzeć trochę oliwą i posypać mąką, działa nieźle, chociaż odrobinę trzeba jeszcze pomóc sobie palcem)

Ostatnio robiłem pizze z tuńczykiem, rodzina zgodnie stwierdziła, że to najlepsza pizza jaką kiedykolwiek jedli. Myślę, że to nie była tylko uprzejmość, bo ja też uważam, że lepszej dotąd nie jadłem. Jej najlepszość wynika z dwóch rzeczy: użycia tej blachy, i mojego autorskiego przepisu. Który podam (MSPANC):

  • Ciasto robię bardzo nieprofesjonalnie i muszę nad nim jeszcze popracować, nie naśladujcie mnie. Porządne przepisy są w sieci.
  • Po wyrośnięciu rozciągam ciasto na krążek żądanych rozmiarów.
  • Dalej sos pomidorowy. Kupuję do tego przecier pomidorowy w puszce, taki z bazylią. Dodaję sól i oregano, potem trzy łyżki tego na pizzę (można mniej, ale nie więcej! Inaczej obłożenie będzie zjeżdżać!)
  • Dalej tuńczyk, też taki normalny, w sosie własnym z puszki. Standardowa puszka wystarcza na 2-3 pizze.
  • Jak dotąd było standardowo, teraz mój trick: Czerwoną cebulę kroję drobno, podsmażam na oleju, i daję na pizzę. Cała cebula na jedną pizze. To daje pizzy umami boost. Wiem że to nie jest prawdziwie po włosku, ale ja nie jestem Włochem i co mnie to. A nawet nie mogę smażyć na oliwie oliwek z przyczyn technicznych, bo używam patelni z pokryciem ceramicznym marki Silit (model Talis, super są, najlepsze jakich w życiu używałem) i smażenie na oliwie z oliwek zniszczyłoby ich powierzchnię.
  • Dalej czarne oliwki w krążkach i tarty ser według uznania.

Będę dalej eksperymentował, ale już teraz życzę smacznego.

EDIT: Co do nabierania na szuflę: W kilku filmikach o robieniu ciasta na pizzę proponowali podsypywanie kaszą manną (z pszenicy twardej - Hartweizengrieß). I to działa rewelacyjnie, dodatkowo brzeg pizzy robi się pięknie chrupiący.

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

Dotyczy: ,

Kategorie:Bez kategorii

7 komentarzy

Audycja zawiera lokowanie produktu – Warthog Sharpener V-Sharp Classic II

Jakieś noże w kuchni każdy ma, bez nich przecież nie da się nic zrobić. No i niezależnie od ich kategorii cenowej - czy kosztowały bliżej jednego euro, czy stu - one zawsze się prędzej czy później tępią. I coś trzeba z nimi wtedy zrobić - bo przecież najniebezpieczniejszym narzędziem w kuchni jest właśnie tępy nóż.

Moje noże kuchenne są średniej klasy, i oczywiście też się tępią. Na początku kupiłem razem z nimi taką ostrzałkę w postaci szorstkiego pręta - jak to w ogóle nazywa się fachowo po polsku? Po niemiecku jest to "Wetzstahl", mimo intensywnego szukania nie znajduję po polsku. Wszedłem nawet na polskie strony WMF i tam nazywają coś takiego osełką - ale osełka to przecież coś całkiem innego.

Taki Wetzstahl w pewnym zakresie działa, można tym nóż zrobić trochę ostrzejszym, ale to nie jest prawdziwe ostrzenie. Kupiłem więc taką normalną osełkę. I ona też działa, ale porządne naostrzenie noża o zakrzywionym ostrzu osełką nie jest wcale trywialne - zachowanie stałego kąta przyłożenia noża do osełki to spora sztuka.

Następnym rozwiązaniem które wypróbowałem było oddanie do naostrzenia. Ostrzarkę ma każdy warsztacik od dorabiania kluczy i podklejania butów. Tyle że z ostrzeniem nie jest tak prosto - jak się okazało człowiek który to umie przychodzi do takich punktów tak raz na tydzień, więc trzeba zostawić noże na parę dni, co jest problemem. No ale chociaż jeżeli robi to ten, co to umie, to noże są porządnie naostrzone. Niestety biorą się za to również tacy, co nie umieją - raz okazało się, że gość nie odgratował noży po ostrzeniu. Więc za kilka euro od noża to się raczej nie opłaca.

Więc pewnego razu zabrałem się za szukanie jakiegoś rozwiązania, żeby samodzielnie porządnie naostrzyć moje noże. I okazało się, że problem nie jest trywialny.

Zacząłem od zajrzenia do WMF. Ich rzeczy z metalu są naprawdę bardzo porządne, choć niezbyt tanie, ale warte swojej ceny. Mam na przykład ich szybkowar i trochę narzędzi w rodzaj trzepaczek, łyżek cedzakowych czy krajaczy do sera, są super. Ale ich rzeczy mechaniczne i elektromechaniczne są zazwyczaj kupione w firmach zewnętrznych i niekoniecznie jakieś specjalne. Przy ich ostrzarkach do noży większość opinii była w stylu "to najgorsza rzecz WMF jaką kiedykolwiek miałem". Nie zdziwiło mnie to za bardzo, bo mam też na przykład maszynkę do gotowania jajek WMF, kupiłem ją ze względu na metalową pokrywę - we wcześniej używanych przeze mnie Siemensach plastikowa pokrywa z SAN po pewnym czasie pękała. Urządzenie z logo WMF działa, i owszem, ale jakością i sprawnością nie powala.

Po naprawdę długim szukaniu po sieci i czytaniu testów i opinii użytkowników trafiłem na południowoafrykańską firmę Warthog Sharpeners. Założyciele twierdzą, że mieli podobny problem jak ja - znaczy szukali możliwości porządnego naostrzenia swoich noży bez oddawania ich do fachowca, i ponieważ nic odpowiedniego na rynku nie znaleźli, to zrobili to sami. W asortymencie mają tylko parę modeli ostrzarek, po dłuższym namyśle wybrałem model V-Sharp Classic II.

Działa to tak:

  • Na środku jest regulowany dynks, wzdłuż którego prowadzi się ostrze. Trzeba go dopasować do grubości noża.
  • po lewej i prawej tego dynksa zakłada się "osełki" do ostrzenia. Każda z nich jest niezależnie mocowana, można wybrać dla każdej kąt 20, 25 i 30 stopni.
  • Te "osełki" mają naniesioną diamentową powłokę ścierną, w komplecie są takie z ziarnem 325, można dokupić z ziarnem od 270 do 1000. Z drugiej strony typowo nie ma powłoki ściernej tylko gładka stal, znaczy to robi jako ten Wetzstahl, ale są też "osełki" z dwoma różnymi ziarnami.
  • Istnieją też osełki ceramiczne o profilu obłym, mają one nadawać się do ostrzenia noży z ząbkami.
  • Po ustawieniu wszystkich kątów przykładamy nóż do dynksa prowadzącego i robimy jakbyśmy chcieli przekroić maszynkę na pół. Po 15-20 pociągnięciach nawet tępy nóż jest naostrzony, do podostrzenia wystarcza około pięciu pociągnięć.

Tutaj krótki tutorial:

Tanie toto nie jest, za urządzenie z dodanymi tymi ceramicznymi osełkami dałem sto kilkanaście euro. Kupione osobno "osełki" diamentowe kosztują około 40 dolarów, te diamentowe z dwóch stron są nawet po 65 za parę, a te ceramiczne nie są już dostępne. Ale rzecz działa, jestem zadowolony, nigdy wcześniej ne miałem tak ostrych noży. Trochę martwiło mnie parę opinii użytkowników, że po kilkunastu nożach "osełki" robią się całkiem gładkie w dotyku i nie ostrzą już. Rzeczywiście po kilkunastu nożach zrobiły się gładkie w dotyku, ale ostrzą nadal. Czuję to dokładnie - bo ja bardzo lubię pomidory, jadam je codziennie, a skórka pomidora (zwłaszcza trochę miękkiego) to dla noża bez ząbków duże wyzwanie, natychmiast czuć że nóż nie jest już taki ostry, i czuć różnicę po naostrzeniu.

Inne ich produkty to:

  • V-Sharp Classic II – ELITE - to jest to samo, tylko przykręcone do drewnianej podstawki. Wersja podstawowa ma plastikową podkładkę która notorycznie spada, ale drewnianej chyba nie warto kupować.

  • V-Sharp Curve - to jest bardzo uproszczona wersja, bez żadnych regulacji.

  • V-Sharp Xtreme Edge - to jest mniejszy, lżejszy, wodoodporny, plastikowy wariant do użycia w warunkach polowych. Dodatkowo może ostrzyć pod kątem 17 stopni, ale do domu raczej nie warto.

  • Multi-Edge - to jest rzecz, która robi na mnie wrażenie - można tym porządnie naostrzyć prawie wszystko (tyle że roboty jest więcej niż przy tych typowo do noży). Składa się to z dużej osełki i całkiem zmyślnego statywu do trzymania ostrzonego narzędzia pod stałym kątem. No i jeszcze paru narzędzi dodatkowych. Na razie nie potrzebuję, ale może sobie to jeszcze kupię.

Ogólnie: poleca się. Na dokładkę filmik o Multi-Edge:

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

Dotyczy:

Kategorie:Ciekawostki

4 komentarze

Czas nieutracony (12) – Wątki

Dziś będzie o multitaskingu.

Wiecie, ja na codzień robię te systemy AUTOSARowe. Tam chodzi podręcznikowy multitasking plus przerwania, dokładnie jak napisane w książkach o systemach operacyjnych - z priorytetami tasków, wywłaszczaniem (lub nie), eventami do tasków, różnymi mechanizmami synchronizacji, schedule table, hookami itp. itd. I to wszystko jest mniej lub bardziej ręcznie konfigurowane, a system operacyjny jest w źródłach i można sprawdzić, zdebuggować, a nawet zmodyfikować dowolny szczegół (przy modyfikacji pamiętając, że dostawca OSa wykręci się wtedy od jakiejkolwiek odpowiedzialności za cokolwiek, nawet w zupełnie innym miejscu). Zajmuję się też robieniem ochrony pamięci przy pomocy MPU, znaczy to ja określam co i kiedy w rejestry tego MPU ma się wpisywać (bo standardowa obsługa w AUTOSARze jest marnie wymyślona, żeby działało jak trzeba trzeba to zrobić po swojemu, głęboko ingerując w system).  I zajmuję się problematyką różnych call contextów, żeby się nie mieszało. I robię też obsługę wyjątków oraz integrację coretestów. Większość tego (poza MPU) nie należy do zakresu moich obowiązków, ale co pewien czas jestem wołany do pomocy w gaszeniu, jak coś się pali. Czyli mam o tym  pojęcie, aż do najniższego poziomu, nawet pojedynczych instrukcji procesora (a nawet całkiem różnych procesorów, bo co projekt to inny core, inny zestaw instrukcji, inne MPU, inna koncepcja wyjątków, ...).

No i teraz zajmuję się tym moim programem pod Windowsy. Enterprise Architect jest bardzo stary, w momencie gdy powstawał, procesory pecetowe miały zazwyczaj tylko jednego cora, więc nic dziwnego że on cały chodzi w jednym threadzie. Ja dokładam do niego plugina który robi sporo niezależnych rzeczy, więc można by spróbować to czy tamto puścić w nim w innych threadach, żeby szybciej było. Tu i ówdzie mi się udało, ale ciągle mam poważny problem: Ja za cholerę nie rozumiem, jak działa threading w Windowsach/.NET! Wielokrotnie próbowałem o tym poczytać, ale nigdzie nie ma porządnego opisu podstaw z jakimiś paroma rysunkami, znajduję tylko całe strony jakiegoś blablabla TL;DR który "wyjaśnia" jak technicznie z tym działać, ale nie odpowiada na moje całkiem podstawowe i zasadnicze pytania.

Bo sytuacja jest taka: Chodzi sobie ten EA, i przez COM ładuje mojego plugina. I EA wywołuje, też przez COM, jakieś funkcje w moim pluginie, one coś robią. Tu jest jasne, to jest ciągle ten sam thread. Ale dalej, zmiany które zrobiłem w danych elementów dialogowych są jakimś cudem wyrysowywane na ekranie, ma to być podobno GUI thread. No i jaka jest relacja tego GUI threada do tego głównego threada? Z obserwacji wynika, że one chodzą na tym samym corze, ale jak są schedulowane?

Niedawna walka: Mam ja taki sobie splash screen pokazywany przy starcie EA, to jest zwyczajne okienko otwierane i zamykane podczas startu EA, wszystko w obrębie funkcji obsługującej jeden event EA. Na początek włożyłem mu w tło obrazek, i wszystko działało zgodnie z oczekiwaniami. Potem stwierdziłem, że na tym splashu wypiszę numer wersji mojego plugina. Postawiłem na nim labela, wpisałem do niego z kodu numer wersji, puściłem - i zamiast ładnego napisu dostałem biały prostokąt. Po kilku próbach poustawiania różnych propertiesów dałem spokój, i zrobiłem to samo z edit boxem. Tu było trochę lepiej - mój tekst się pojawił, ale zaselektowany. Ale tak nie może przecież być, żebym miał mocno niebieskie tło do tych kilku liter. No to podstawiłem w jakimś evencie SelectionLength=0 - nie zadziałało. To w innym evencie - też nie. Jeszcze paru - nadal nic. Sprawdziłem - żaden z tych eventów nie był wywoływany. Tu mi zaczęło świtać: Jestem w obsłudze eventu, więc nie jest wołany GUI Thread i controle nie są rysowane. No i co w tym momencie zrobić? Na koniec poradziłem sobie wywalając controle i rysując mój numer wersji po prostu na załadowanym do pamięci obrazku, jeszcze przed otwarciem okna. Ale moje pytania nadal pozostały bez odpowiedzi.

A potem dochodzi następny stopień trudności: Puszczam sobie explicite nowy thread, ale chciałbym pokazywać jak mu idzie w pasku postępu w GUI. No i jakie są relacje między tymi wszystkimi threadami? Pasek postępu zatrzymuje się co i raz, dlaczego dokładnie i jak to poprawić? Nikt nic na ten temat nie wie.

Jak już przy tym jesteśmy, to jeszcze opowiem anegdotę o guru Beelekensie - drugi raz, kiedy zajrzałem do jego kodu, był właśnie przy threadach. No i zobaczyłem tam jego komentarze, że miał problemy, ale zrobił jakieś workaroundy i już gubi eventy najwyżej z pięć razy na dzień pracy. Zainteresowało mnie to, i skopiowałem jego rozwiązanie do siebie. Gubiło tak gdzieś ze trzy eventy na dziesięć, śmiech na sali. Gdzie ma problem, zauważyłem już przy kopiowaniu - błąd było widać na pierwszy rzut oka. Poprawiłem, usunąłem workaround i poszło bez zarzutu. Uśmiejecie się, jak napiszę, co to było: On miał kolejkę na eventy pomiędzy threadami, i użył do tego klasy Queue, bez żadnej ochrony. Poprawka polegała na użyciu specjalnie do takiego celu przeznaczonej klasy ConcurrentQueue. I tyle. Nie trzeba wiele, żeby być guru w niszy.

(Wyjaśnienie dla mniej kumatych w tej działce: Tu mamy kolejkę eventów między threadami. Z jednej strony dodaje się event w jednym threadzie, z drugiej wyjmuje się go w innym. Teraz problem polega na tym, że jeżeli w trakcie dodawania obiektu thready zostaną przełączone i drugi thread wyjmie element zanim wszystkie zmienne zostaną zaktualizowane po stronie pierwszego, to kolejka może nam się pomieszać i coś zginie. Trzeba więc zapewnić, żeby operacje dodawania i wyjmowania były nieprzerywalne (atomowe) - i to właśnie zapewnia klasa ConcurrentQueue) .

W sumie brak specyfikacji jak działają taski/thready to jest problem nie tylko Windowsów. Na przykład dawno temu kupiłem synowi Lego Mindstorms, te wczesne, z żółtym brickiem. Programowało się to wizualnie przy użyciu programu o nazwie RCX Code, w sumie koncepcja była zbliżona do typowych flowchartów albo UMLowych activity diagramów.

Nie wkleję własnego screenshota z programu, bo ten system też był bardzo twitowy - chodził tylko na Windows 98 i tylko w rozdzielczości bodajże 800x600. Ta rozdzielczość była hardcoded i dla visual programming była o wiele zbyt mała. Dziś dałoby się to ewentualnie puścić na maszynie wirtualnej z Win98, ale przy tych 800x600 to i tak byłaby jedna wielka męka, więc nie warto.  Jeżeli ktoś chciałby się w tego RCXa bawić, to opracowano do tego support dla różnych "normalnych" języków programowania, nie trzeba używać akurat tego RCX Code.

RCX Code

RCX Code, Źródło

Zrobiony graficznie kod reagował na zdarzenia zewnętrzne, oprócz głównego threadu można było też wyklikać kod dla obsługi eventów od różnych wejść albo timera (jak widać na obrazku wyżej). I tu też żeby zrobić coś porządnie wypadałoby wiedzieć, jak to wszystko dokładnie działa - interrupt? polling? jak schedulowany?, czyli dokładnie te same pytania co w Windowsach. W dokumentacji LEGO nic na ten temat nie było.

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

Dotyczy:

Kategorie:Programowanie

6 komentarzy

Czas nieutracony (11) – Wtyczki

Teraz pożalę się na Enterprise Architecta. W sumie mógłby to być odcinek cyklu o twitach.

Najpierw lekka dygresja. Robienie mojego plugina zacząłem od założenia stubów wszystkich funkcji API do pluginów, żeby zobaczyć co tam się dzieje. Ściągnąłem też dostępną dokumentację od Sparksa i zacząłem czytać forum u nich. Szybko zauważyłem, że Sparx nie za bardzo odpowiada na pytania, za to rządzi tam jeden gościu, niezależny guru od EA z Holandii, nazwiskiem Geert Bellekens. Ten gościu żyje z robienia konsultacji z EA i pisaniu pluginów na zamówienie. No i on opublikował darmowy framework do robienia takich pluginów w C# i kilka dość użytecznych pluginów ogólnego przeznaczenia. Ściągnąłem sobie to i zajrzałem do źródeł - to było całkiem nieźle zrobione, ale zorientowane na reusing przy robieniu wielu pluginów, przy jednym, jak u mnie, to by był overkill. Zostawiłem to więc, zajrzałem potem do tego może ze dwa razy.

Kwiatków w tym EA jest masa, parę przykładów:

  • Przy tworzeniu elementów i package pluginy dostają eventy PreNew i PostNew. Niestety przy tworzeniu package, w PreNew nie dostajemy informacji jak package będzie się nazywać, i w związku z tym nie możemy zapobiec utworzeniu obiektu o niepożądanej nazwie.  Przy elemencie to działa, więc nie ma że się nie da.
  • Przy usuwaniu obiektu jest tylko event PreDelete, nie ma PostDelete. Problem jest taki, że PreDelete idzie po kolei do wszystkich aktywnych pluginów, możemy dostać go i zgodzić się na skasowanie obiektu, ale inny plugin po nas  może mieć coś przeciwko i na koniec obiekt nie zostanie skasowany. Jeżeli podjęliśmy jakieś akcje w PreDelete - bo gdzie indziej? - to możemy stracić synchronizację.
  • Przy kasowaniu diagramu w PreDeleteDiagram nie dostajemy nawet ID kasowanego diagramu. Po co komu taki event, jeżeli nie wiadomo czego dotyczy?
  • Obiekt COM dla diagramu nie zawiera pola TreePos (pozycja obiektu pod parentem). W bazie danych takie pole jest, przy innych typach obiektów też, tylko w tym jednym miejscu im się po prostu zapomniało. No i przez to nie mogę zmieniać kolejności diagramów.
  • Jest event wołany po modyfikacji obiektu, no i on jest wołany po jednej modyfikacji od jednego do czterech razy. Jak zrobić porządną i szybką obsługę?
  • Po zmianie zestawu kolorów w EA, wszystkie okna dostają notyfikację. Wszystko pięknie w przypadku jego własnych okien, ale plugin nie wie, jakie kolory zostały ustawione, bo tą informację może wziąć tylko z registry, a EA zapisuje ją tam dopiero przy wyjściu z programu. No super.
  • Warto by było, żeby elementy mogły mieć więcej niż jeden stereotyp. W EA jest to, i owszem, możliwe, ale obsługa tego jest doczepiona na gumę do żucia, nawet nie pomalowaną wapnem żeby spoiny nie było widać. Więcej stereotypów można ustawić praktycznie tylko w jednym, specjalnym okienku, cholernie niewygodnym. W bazie danych jest do tego dodatkowa tabela, robiąca jeszcze pięć innych rzeczy. Lista linków w tabeli jest w polu tekstowym, polinkowane to jest przez GUID też zapisane jako string, co gorsza to stringi w hex mają pomieszane duże i małe litery, więc nie da się ich w programie obsługiwać jako klasy Guid (znaczy obsłużyć się da, ale nie można ich zapisać spowrotem bez rozwalenia linka), tylko trzeba  robić operacje na stringach. Nie mogę zrobić swojego porządnego okna do ustawiania tych stereotypów, bo nie ma API żeby poznajdować aktywne profile UML. Co za twit to powymyślał?

Bardziej złożone rzeczy:

  • Podstawowe obiekty w bazie danych to Package i Element. W bazie danych Element może mieć TaggedValues i stereotyp, Package nie. Wyraźnie w miarę rozwoju EA wymyślili jak to poprawić - do każdego Package tworzony jest ukryty Element, gdzie przyczepiane są te brakujące ficzery. Tyle że zatrzymali się w pół drogi- Package najwyższego poziomu nie ma tego Elementu, i w związku z tym nie może mieć ani stereotypu, ani TaggedValues. Dorobiłem swoje, w końcu sam operuję na tej bazie danych omijając EA, ale to nie zmienia faktu że pomysł takiego ograniczenia jest durny.
  • Żeby pokazać obiekt na diagramie jako port, taki przywiązany do brzegu komponentu, ten obiekt musi być - zgodnie z logiką - typu Port. Według AUTOSARa, pod portem jest jeszcze całe drzewo różnych obiektów. Problem jest taki, że EA bardzo ogranicza możliwe typy obiektów pod portem, próba podwieszenia tam normalnego elementu powoduje wyjątek. Udało mi się zrobić taki numer, że zmieniam typ Port na coś innego, podwieszam mu element, i przywracam typ Port. Działa, i owszem, ale tylko jeżeli ten port nie jest wyświetlany na aktualnie aktywnym diagramie. Musiałem dorobić jeszcze zamknięcie aktualnego diagramu w takiej sytuacji i otwarcie go ponownie. Pytałem o to wszystko support Sparxa, ale w ogóle nie zrozumieli problemu.

Mogę tak długo, ogólnie to musiałem zdublować dużą część funkcjonalności EA, i to jeszcze wkładając mnóstwo wysiłku żeby mój plugin i EA były cały czas synchronizowane. W sumie to trzeba by jeszcze tylko dorobić rysowanie diagramów, i wszystko było by moje. Tyle że to "tylko" to oczywiście wielka kupa roboty, ale w przyszłości trzeba będzie to zrobić.

Może jeszcze jedna historyjka z pogranicza EA i windowsów:

Typowym sposobem umieszczania obiektów na diagramach jest drag-and-drop z jakiegoś okienka z drzewem obiektów. Tak też robi się to w EA. Tyle że ja zrobiłem swoje okienko z drzewem, a upuszczać trzeba na okienko EA. Popróbowałem trochę dragdropować na bardzo różne sposoby, ale nie wyszło. Więc prowizorycznie zrobiłem menu kontekstowe z pozycją "Wrzuć do aktualnego diagramu" i to jakoś działało. Oczywiście obiekty były umieszczane wszystkie w tym samym miejscu, i trzeba je było potem przesuwać ręcznie. Zajrzałem jak zrobił to guru Bellekens, i on zrobił dokładnie tak samo - menu kontekstowe, bez dragdropa.

Ale potem zaczęło mnie męczyć: Owszem, nie daje się tego zrobić czystym windowsowym mechanizmem. Ale przecież dodaję ten obiekt do diagramu przez API, mogę też podać w którym miejscu on się ma pojawić - i tam się pojawia. Więc może nie trzeba tego robić "naprawdę" przez drag-and-drop, tylko wystarczy poudawać? Znaczy zmienić kursor myszy przy drag, potem rozpoznać czy jestem nad oknem diagramu, i po puszczeniu klawisza myszy dodać obiekt - przecież mogę mieć pozycję kursora myszy w stosunku do początku okna, a aktualne powiększenie diagramu w procentach jest w API.

No i rzeczywiście to zadziałało. Jedynym problemem było, że diagram mógł być przescrollowany i wtedy upuszczony obiekt nie trafił by na właściwe miejsce na diagramie. Ale kolega podpowiedział mi, że w Windowsach da się przeczytać pozycję scrollbarów obcego okna, i rzeczywiście się dało. No i mój udawany drag-and-drop działa super.

Do czego zmierzam: Jak niewiele trzeba, żeby w jakiejś niszy być guru. O panu Bellekensie jeszcze będzie.

I jeszcze: Zajrzałem właśnie na strony Sparxa, i tam jest o nowej wersji 16, na razie beta. Podobno będzie też jako 64-bitowa, jako podstawową bazę danych ma mieć SQLite. No to by był jakiś postęp, nawet jeżeli z udostępnionej dokumentacji wychodzi, że większość problemów które opisałem wyżej nie została usunięta. Inne pytanie, czy oni zrobią integrację tego SQLite dobrze - czy da się pisać do tej bazy równolegle tak, jak ja to robię. Na razie planuję zrobienie upgrade mojego EA na wersję Corporate - ona obsługuje też inne bazy danych, a korpo używa właśnie tej wersji. Podłączyłbym lokalnego MySQLa i bolesne ograniczenie wielkości pliku bazy danych by odpadło, pozostało by tylko to na 2GB w pamięci. A może by nawet szło szybciej. Tyle że te twity każą zakładać bazę danych i wgrywać schemat ręcznie, to ma się zmienić dopiero w tej wersji 16. Serio muszę zrobić swoje rysowanie diagramów i uwolnić się od tych twitowych narzędzi jak najszybciej.

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

Dotyczy:

Kategorie:Programowanie

2 komentarze

Czas nieutracony (10) – Okna i sharpy

Zabrałem się więc do roboty. Muszę się przyznać, że poprzednią rzecz z GUI dla Windowsów i z COM robiłem gdzieś w okolicach 2001, to jeszcze było C++ i MFC (albo coś krótko po MFC, jakieś AFX czy coś takiego, zdążyłem tymczasem zapomnieć). Potem robiłem na Windowsy już tylko w Javie i bez GUI, a jak w Javie to przecież nie z COM. Szczerze mówiąc, to nie lubię robić GUI, to jest cała masa żmudnej, nudnej roboty która mnie nie bawi. No ale co zrobić - samo się nie napisze.

Po tylu latach musiałem się oczywiście na nowo zapoznać z dostępnymi technologiami. Pamiętałem, że kiedyś istniała Java od Microsofta, zwana bodajże Visual J++, ale po sprawdzeniu wyszło, że już to już dawno nieaktualne - teraz microsoftowy zamiennik Javy to C#. I w sumie to jedyny sensowny wybór z języków .NET.  Więc trzeba było się z nim zapoznać. A, po drodze był jeszcze J#, ale też już umarł.

No i co do C# moje uczucia są mieszane. Owszem, ma to parę nowych, sensownych konstrukcji, na przykład partial class albo tuple. Z drugiej strony nie podoba mi się na przykład konwencja żeby zmienne mogły się nazywać tak samo jak typy, nawet bez różnicy w case. I w ogóle ta koncepcja żeby wszystko było obiektem COM z propertiesami też mi się średnio podoba. No ale podoba się, czy nie podoba, wielkiego wyboru nie ma. W sumie język jak język, C-pochodny pod względem syntaksu, Java-pochodny pod względem użycia maszyn wirtualnych i reflection, da się z tym żyć.

Dalej nastąpił wybór technologii do okienkowania. Owszem, zauważyłem WPF, jednak wolałem się w to nie wpuszczać. Zostało przy normalnych Windows Forms. W Visual Studio okienka designuje się graficznie, a IDE robi z tego kod w C#. Spróbowałem, ale większość moich okien musi być tworzona dynamicznie, zależnie od klasy obiektu który mam pokazać, więc w ten sposób się nie dało - większość okien muszę tworzyć z kodu.

I tu wkrótce wlazłem na problem: Zawsze było, że w takim C czy C++ to pamięcią trzeba zarządzać ręcznie i pilnować żeby zwalniać to co zaallokowane, a już niepotrzebne. Nawet w jednym projekcie zostałem najęty, bo sobie z tym nie poradzili i musieli restartować system co noc, inaczej im się zwieszał z braku pamięci (a sprzedawali tym systemem bilety na Expo 2000, tak po 100.000 na dobę). Wtedy posprzątałem, ale potem zawsze było że nowoczesne języki programowania, jak Java albo C#, to mają garbage collector i nie mają takiego problemu.

Tyle że guzik prawda. Po pewnym czasie mój program też się zaczął wieszać z braku pamięci. Po zbadaniu sprawy okazało się, że to ręczne zarządzanie w C++ to było łatwe, a w nowoczesnym C# trzeba się nakombinować. Problem polega na tym, że:

  • Garbage collector i owszem, jest, tyle że on z definicji zwalnia obiekty do których nie ma żadnych referencji.
  • Tymczasem wszystkie obiekty dialogowe również z definicji są referowane przez jakieś tam kawałki systemu.
  • Ja wkoło muszę tworzyć obiekty dialogowe na nowo (według struktury obiektu AUTOSARa, który akurat wyświetlam)
  • Znaczy - muszę je jawnie zwalniać. Całkiem tak samo jak w tych starych, marnych językach.
  • A nawet nie tak samo - klasy których obiekty zwalniamy muszą implementować interface IDisposable, i jest do tego dość złożony pattern, trochę inny dla klas bazowych, a inny dla dziedziczących.
  • Niektóre klasy są managed (przez garbage collector), inne unmanaged, trzeba zawsze patrzeć które są jakie, i jak i kiedy je zwalniać.

I w sumie to jest o wiele bardziej skomplikowane niż kiedyś. Postęp, tak ich mać.

A, jeszcze zanim wyczerpała się pamięć (a muszę działać na 32 bity, więc max to 2GB), to wcześniej zaczęły mi się wyczerpywać handle windowsowe. Wyszło że każdy obiekt dialogowy bierze parę do kilku takich handli, limit na proces jest 10.000, a w systemie jest ich tylko 32K. I jeszcze jest jakiś podział na system handles i user handles, i to wszystko działa w niezbyt jasny sposób. Ostatecznie pomogło dopiero porządne zwalnianie niepotrzebnych obiektów, ale potencjalnie to nadal jest problem.

O problemach z Windowsami mogę jeszcze długo. Na przykład:

  • Tworzę dynamicznie menu kontekstowe, Add new AUTOSAR object, może być duże (przez ToolStripMenuItem). Robione to jest w dwóch różnych kontekstach, przy testach mi wyszło, że w jednym z nich idzie to błysk, a w drugim trwa kilkanaście sekund. No WTF? Pierwotnie były do tego dwie różne funkcje (tak jakoś wyszło), były tam drobne różnice, ale zintegrowałem je w jedną. Nie pomogło. Ta sama funkcja - a zależnie od kontekstu różnica w czasie wykonania jest pięćdziesięciokrotna. Serio - mierzyłem. Znalazłem różnicę między kontekstami - jeżeli miało być to menu pierwszego poziomu, szło bardzo wolno, a na niższych poziomach szybko. Przemieściłem na niższy poziom i sprawa załatwiona, ale w kodzie .NET albo windowsów musi być w tych okolicach jakiś poważny problem.
  • Chciałem dopasować kolor moich okienek do schematu ustawionego w EA. No i te po pierwsze to ten cały framework nie ma supportu do takich rzeczy, znaczy żeby powiedzieć że wszystko ma mieć kolory według zdefiniowanego (przez siebie, nie systemowo) schematu, wszystko trzeba ustawiać ręcznie w kodzie dla każdego elementu z osobna, a po drugie jest straszny problem z ustawieniem swojego koloru dla captiona okna. No nie da się i już, chyba żeby wszystko rysować samemu. (Chętnych do podrzucenia linka do rozwiązania problemu proszę najpierw o sprawdzenie, czy to rozwiązanie jeszcze działa w aktualnych windowsach, bo takich już nie działających to znalazłem na pęczki).
  • W combo boxach chciałem mieć oprócz tekstu zawsze ikonkę. Teoretycznie żaden problem - ustawić owner draw, narysować i już. Przy większości kombinacji nawet działa, ale akurat przy takiej którą potrzebuję robi się coś dziwnego - przy przejściu do edycji w edit boxie combo boxa przestaje być wołany mój OnPaint, a okienko rysuje się takie, jak było około Windowsów 3.1. Serio, używany font jest taki jak wtedy – żeby wszystko działało jak chcę musiałbym całkowicie zimplementować całego combo boxa na piechotę (albo znaleźć jakiś gotowy).

No ale to nic szczególnego, każdy kto pisze coś na Windowsy ma takich historyjek na pęczki. Dalej będzie o bardziej specyficznych problemach.

 

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

Dotyczy:

Kategorie:Programowanie

2 komentarze