mwiacek.comColorColor | Mobile  
Po(d)stęp (2019)
Submitted by marcin on Sat 16-Nov-2019

Polski
Polski blog
dobreprogramy.pl
x86



Ten wpis miał być oryginalnie o oprogramowaniu, ale postanowiłem go rozszerzyć po lekturze https://www.dobreprogramy.pl/Procesorowa-spychologia.-Tak-kosztem-klie... i https://antyweb.pl/podroz-do-czasow-kiedy-internet-byl-jeszcze-w-naszy...

W pierwszym z tych wpisów autor narzeka na Intela i producentów urządzeń przenośnych, w drugim wskazano esej Kate Wagner pod tytułem "404 Page Not Found" (i przedstawiono etapy upadku Internetu, o których wspominałem, czyli romantyczne budowanie sieci, dzielenie się wiedzą i przejęcie tego wszystkiego przez kilka firm).

Przypomniał mi się artykuł z Polityki z 2017 roku i trzy fragmenty (powinienem zacytować cały tekst, ale wtedy pewnie musiałbym zapłacić tantiemy):

"Kapitał przestał szukać najbardziej produktywnych inwestycji. Szuka najwyżej oprocentowanego długu, który powstaje w wyniku złych inwestycji – nie dobrych. (...) pasożytujący na gospodarce i państwach system finansowy zatruwa i stopniowo zabija nosiciela. Buduje potęgę kapitału finansowego kosztem wszystkich innych kapitałów – ludzkich, politycznych, ekologicznych, kulturowych, demograficznych, społecznych."

"w sprawach zasadniczych system jest regulowany przez uzgodnienia między finansowymi superkorporacjami, a nie przez rządy, parlamenty i rynek. Konkurencję o to, kto lepiej trafi w potrzeby klientów, zastąpił mechanizm negocjacji między korporacjami. To sprawiło, że gospodarka przestała być efektywna"

"Sklepiki faktycznie walczą na rynku. Dla finansowych superkorporacji żadnego rynku nie ma. Są za duże, by upaść, zbyt nieliczne, żeby realnie konkurować, zbyt powiązane i zżyte, by nawzajem robić sobie krzywdę."

Możemy się zastanawiać kto jest winny złego projektowania chłodzenia, można też w nieskończoność wymieniać inne grzechy producentów sprzętu mobilnego:

  • wkładanie piszczących cewek,
  • dodawanie ładowarek o zbyt małej mocy,
  • przyciemnianie ekranów z użyciem PWM (to zmora dla mnie i innych ludzi wrażliwych na efekt migania),
  • sprzedawanie dysków SSD bez żadnej gwarancji działania (konia z rzędem, kto dojdzie ile teoretycznie danych można zapisać na Samsungu PM981a),
  • nieużywanie chłodzenia do VRM,
  • wciskanie przestarzałych rozwiązań (eMMC),
  • blokowanie chłodzenia papierem (stickery na dyskach SSD),
  • dodawanie bloatware (czasem nawet do UEFI),
  • wkładanie baterii z bardzo cienką obudową (puchnące ogniwa niszczą wszystko)
  • czy moje ulubione, czyli dodawanie nowego modelu sprzętu w dniu jego premiery do programu serwisowego.

To oczywiście tylko fragment listy, ale mam nadzieję, że chociaż trochę pokazałem, jak wielkim problemem jest zakup jakiegokolwiek sprzętu (bardzo polecam tutaj https://www.notebookcheck.net, który dosyć ładnie pokazuje wiele z tych mankamentów).

Pan Urbaniak poniekąd trochę mnie ubiegł - w oryginalnej wersji mojego tekstu pisałem "...Równocześnie czytam sobie tu i tam recenzje urządzeń przenośnych/wszelkiego rodzaju mniejszych i większych notebooków (gdzie przewija się słowo throttling albo undervolting oznaczające sytuacje, gdzie producent celowo obniża wydajność sprzętu)..."

Jak się zastanowić, to oczywiście winne są wskazane w "Polityce" superkorporacje i dlatego jeśli ktoś z nas chciałbym wybrać sprzęt z Ryzenem, to modeli jest tyle co kot napłakał, a największą ofertę ma jedna z azjatyckich firm (sprawdza się, gdy mówiłem, że wszystkich nas czeka używanie wyrobów chińskich).

Na "Wykopie" ostatnio czytałem, że działania przeciw Google prowadzi 50 stanów USA. Czy to coś zmieni? Wątpię (apropo tej firmy i jej wpływu na środowisko - właśnie przeczytałem, że w projekcie Chrome ot tak usunięto buildy Jumbo, które u mnie pozwalały skrócić czas budowania z 4h do 1h)

Czy ktoś podzieli Facebooka albo zrobi coś z jakością Boeinga? W drugim wypadku być może, ale w pierwszym...

Megakorporacje "myślą" o sobie i nie bądźmy zdziwieni, że coraz więcej energii idzie na trenowanie SI albo że kolejny gigant został złapany na oszustwie.

(alternatywnie zamiast "zdziwieni" możemy użyć "zszokowani" - bardzo lubię to robiące obecnie karierę słowo, które dla wielu oznacza ni mniej ni więcej zrobienie zdziwionego i mądrego wyrazu twarzy, gdy coś nie idzie zgodnie z jedyną słuszną linią skryptu, stacji telewizyjnej czy partii)

Przypomnijmy sobie seriale Netflixa "Mars" czy "Brudna forsa", zobaczmy jaka walka polityczna toczy się o „Iwana groźnego z Treblinki” (a jak ktoś chce słowa pisanego, to zapraszam chociażby do lektury "Chciwości" Marca Elsberga)

To wszystko nie dzieje się daleko obok nas, inna sprawa, że winni jesteśmy MY - MY WSZYSCY.

MYŚL

Wiele wyborów jest nam narzuconych (zgoda), ale wiele wynika też z tego co MY sami robimy - wszystko zaczyna się od tego czy idziemy i bezmyślnie sięgamy na półkę czy robimy jakikolwiek research i z masy tandety wybieramy coś mniej tandentnego (albo jeszcze lepiej: czy próbujemy wpierw wykorzystać to co już mamy).

Ktoś mógłby przypomnieć, że pisałem już kilka razy, że dochodzimy do pewnej ściany:

  • na polu smartphonów (wyginający się Pixel 4, rysujące się ekrany iPhone, odgrzewane kotlety i Android i iOS od lat z tymi samymi problemami i ograniczeniami),
  • na polu x86 (Intel...),
  • na polu systemów operacyjnych (Windows 10 i jego neverending story, ale również stare nienaprawione problemy Linuxa, brak powszechnego użycia dobrych mikrokerneli, walki o różne standardy sandboxów, itp.),
  • na polu HTML (zauważył to nawet wujek G., który będzie oznaczał długo ładujące się strony)
  • na polu dysków (1TB SSD spokojnie wystarcza do wielu typowych zastosowań i mam wrażenie, że pojemności długo nie będą rosły)
  • i w wielu innych sprawach...

To się wszystko zgadza - z drugiej strony na każdej półce cenowej jest i szmelc i coś co posłuży chociaż trochę dłużej, a ja się cieszę, bo istniejących ograniczeń często nie da się inaczej pokonać niż przez porządną inżynierską robotę (która powoduje ból tyłka wszelkiej maści "fachowców" broniących obecnej tandety i w końcu ich wyeliminuje).

POPIERAJ SWOJE

Dotyczy to technologii, dotyczy żywności i właściwie każdego obszaru naszego życia. Popieramy lokalnych producentów i inicjatywy, jest dobrze. Jest dobrze, to okolica się rozwija. Rozumiemy się?

POPIERAJ WYBÓR

Na tym portalu widzieliśmy ostatnimi czasy nagonkę na Linuxa. Powiem krótko: Manjaro jest takie jest, autor też wygląda na inteligentnego człowieka z wiedzą i po prostu wyraźnie się nudzi. Zdobył te swoje 500 komentarzy i kolejną odznakę, czy jednak zrobił dobrze tak otwarcie podważając jedną z niewielu realnych alternatyw do Windows?

Sformułuję to inaczej - forma części tych "wpisów" przypomina działania lobbystów, którzy chcą coś zdyskredytować nie zważając na konsekwencje (niektórzy nazywają ich pożytecznymi idiotami, jeśli ci robią to za darmo).

Po nas choćby i potop.

Jak napisałem, autor wydaje wykazywać się wiedzą i doświadczeniem (nie chcę absolutnie go obrażać), ale spokojnie mógłby to wykorzystać pokazując, że istnieje coś "poza" jedynym słusznym systemem i jak to ustawić żeby to działało.

I żeby było jasne - zasada popierania wyboru dotyczy oczywiście każdego aspektu życia, od polityki zaczynając.

PISZ

Proszę zauważyć, że nie neguję, że bolączki Open Source są ogromne. Są, ale bardzo duży problem mamy chociażby przez Intela - Phoronix pokazał, że po poprawce jednego błędu JCC nowy mikrokod CPU upośledza przeglądarki nawet o 21% ...

To oczywiście tylko cyferki (średnie spowolnienie to około 5%), ale... zapewne każdy z nas konfigurację przeglądarki zaczyna od instalacji jednego z adblocków, a w telefonie wyłącza wszystko co niepotrzebne i drenuje baterię.

Rozumiem, że standardem jest ograniczenie odpowiedzialności twórców sprzętu i programistów za cokolwiek (brak gwarancji na karty graficzne używane w pracy ciągłej, przyzwyczajenie do śmieciowych aktualizacji Androida, itp.), ale aż chce się zapytać - dlaczego my z ludzi, którzy w każdym polskim pisemku komputerowym mieli kącik programowania, zmieniliśmy się w (za przeproszeniem) baranów, którzy tylko łykają to co przychodzi z innych miejsc świata?

Każdy z nas ma masę swoich sposobów na problemy - PISZMY O NICH. Jak będziemy pisać, to będziemy wymieniać się rozwiązaniami i kolejni będą mieli łatwiej. Będziemy pisać, będzie dobrze. Będzie dobrze, będzie można na tym budować dalej. Rozumiemy się? (tutaj pytania do pana Urbaniaka - gdzie zobaczymy który laptop jak się sprawował i jakie miał wyniki Pańskich testów?)

Przykładowe tematy - jak zakładać katalog TEMP (/tmp) na dysku w pamięci RAM (bardzo sobie chwalę), jak na inne sposoby oszczędzać zapisy na SSD...

Nie masz wiedzy technicznej? Nie stój jak za przeproszeniem baran - pomóż chociażby z Wikipedią (ostatnio potrzeba tam było pracy przy artykule https://en.wikipedia.org/wiki/No-go_area...)

MIEJ PLAN B

Staraj się używać sprzętu od różnych dostawców i zastanów się coby było gdyby... gdyby dzisiaj szlag trafił Twoje posty na Insta czy filmy na YouTube. Czy masz ich kopię?

Gdybyś zapomniał telefonu, czy masz swoje SMS? Czy było w nich coś ważnego?

I najważniejsze - czy masz do tego wszystkiego dostęp bez chmury? czy Twoje klucze szyfrowania są zapisane tak że nie powinny ulec uszkodzeniu?

KILKA SŁÓW NA NIEDZIELĘ Z MOJEGO BARDZO MAŁEGO OGRÓDKA

Gorąco chciałbym podziękować wszystkim, którzy skomentowali CMS do serwowania WWW w kilkunastu KB ? Sobieski na GitHubie i w moim ....

Komentarze mógłbym podzielić na kilka grup:

  1. wskazanie oczywistego niedomagania (kwestia tego, że kod mógłby wyglądać lepiej i oddzielać warstwy, co delikatnie sam zasugerowałem pisząc o refaktoringu)
  2. pokazanie, że można korzystać z tego co jest gotowe (pierwsze co zrobiłem to oczywiście research, przy którym nie znalazłem tego co chciałem)
  3. słowo motywujące

Tak się składa, że w swojej zawodowej pracy wielokrotnie zajmowałem się m.in. debugowaniem kodu witryn czy też aplikacji www i mógłbym wskazać kilka typowych zachowań:

  1. nauczyłem się technologii X, ona jest najlepsza i nic innego się nie liczy (tak mi wmówiono na kursie czy studiach i koniec kropka)
  2. a u mnie działa - użytkownicy mają się dostosować do tego co napisałem (a nie ja do wymagań)
  3. nie wiem co z tym zrobić

Szczególnie to ostatnie jest przerażające - wielu adeptów sztuki programowania klepie kod w czymś tam, kompiluje go do czegoś tam i ogólnie robi wszystko metodą prób i błędów. Nikt nie myśli o poprawności algorytmicznej czy tym czy coś w ogóle ma sens, a kod i cała sytuacja trochę przypomina mi się mój malutki research z 2013, gdzie "proste" rozwiązanie wymagało "prostych" kroków:

  • pobieramy source.zip z http://cordova.apache.org/ (w chwili pisania 3.2.0)
  • rozpakowywujemy cordova-android.zip
  • pobieramy ant z http://ant.apache.org/bindownload.cgi
  • dodajemy ścieżkę do tools i platform-tools z Android SDK i ścieżkę ant do PATH
  • do katalogu frameworks z cordova-android dodajemy SQLCipher z http://sqlcipher.net/sqlcipher-for-android/ (dodajemy icudt46l.zip do assets i biblioteki do libs)
  • do katalogu frameworks z cordova-android dodajemy CordovaSQLLitePlugin z https://github.com/lite4cordova/Cordova-SQLitePlugin (m.in. na podstawie informacji z http://brodyspark.blogspot.com/2012/12/using-sqlcipher-for-android-wit... - do config.xml w res\xml należy dodać
    <feature name="SQLitePlugin">
    <param name="android-package" value="org.pgsqlite.SQLitePlugin" />
    </feature>

    do src\org\pgsqlite spatchowany SQLitePlugin.java, do assets\www spatchowany SQLitePlugin.js)

  • używamy create z bin z cordova-android do stworzenia nowego projektu androidowego (można z niego pobrać CordovaSQL.java i pliki z assets)
  • w katalogu framework w cordova-android kompilujemy plik jar
  • tworzymy nowy projekt androidowy z plikiem jar z poprzedniego punktu, bibliotekami sqlcipher, odpowiednim layoutem zawierającym org.apache.cordova.CordovaWebView, odpowiednim plikiem config.xml w res\xml i plikami inicjującymi Cordovę w pliku java

W artykule https://www.dobreprogramy.pl/marcinw2/Nowoczesnosc-czyli-LTE-i-Cordova... porównałem to do prostego kodu androidowego, który był mniejszy, szybszy i robił to samo.

I właśnie dlatego chciałbym zadać pytanie: a co to jest to "profesjonalne" pisanie stron www?

Inny portal właśnie zarekomendował 8b Website Builder. I faktycznie, na video wygląda to ładnie:

Jeden z komentujących artykuł skwitował to dosadnie (to tylko część):

"ok, bez niczego: 17 requestów, 1.05MB skompresowanych danych pobranych, w tym 7 skryptów, łącznie prawie 540kB zminifikowanego kodu do wykonania, całość z cdn.ampproject.org, finish w 2.59

po włączeniu standardowych blokad 4 requesty, 493kB pobranych danych, brak JS, finish w 1.27, strona nie jest w pełni funkcjonalna

dopuszczenie zasobów z domeny cdn.ampproject.org prowadzi do 13 requestów, 999kB pobranych danych, skrypty oczywiście jak w pierwszym wypadku, finish w 1.53"

Sobieski jest jaki jest, ale w fazie pierwszej w całości przeszedłem z zajmującego z bazą kilka(naście) MB kombajnu na kilkadziesiąt KB - czy nie to jest najważniejsze?

Refaktoring kodu i dopieszczanie jest w planach (wszystko zależy oczywiście od czasu wolnego).

Na koniec mądrości życzę w wykorzystaniu tego co już mamy w naszych domach i firmach... Bo potencjał tam jeszcze duży...

Tyle ode mnie i jeszcze raz zapytam się każdego z osobna pokazując znaną wszystkim kukiełkę:

PS. Żeby nie było wątpliwości - ten wpis z konieczności jest ogólny, ja sam natomiast lubię piękne rzeczy (np. cienkie laptopy) i uwielbiam postęp, ale z drugiej strony do dnia dzisiejszego mój pulpit spokojnie mógłby wyglądać tak:

image

(obrazek ze strony https://reactos.org/gallery - próbowałem sam zainstalować ten "system" na Hyper-V i samemu zrobić podobny, ale niestety musiałem sobie dać spokój; myślę jednak, że autorzy nie będą mieli nic przeciwko jeśli go użyję w celach nazwijmy to poglądowych)

Postęp to nie zawsze ładniejsze ikonki czy kolejny numerek wersji...