MacOS, iTerm i problemy z pl-znakami

Niezbyt często używam pl-znaków w konsoli łącząc się po SSH, ale jest parę miejsc, gdzie ich potrzebuję. Po dłuższym czasie zauważyłem, że na nowym komputerze mam problem z pl-znakami. Występował tylko przy połączeniu się z tego macOS przy pomocy SSH do Linuksa. Nic krytycznego, bo w zasadzie nie potrzebuję się tam łączyć z macOS, z innych Linuksów działało, ale byłoby miło, gdyby działało wszędzie. W końcu znalazłem chwilę i postanowiłem się zająć sprawą.

Krótko o środowisku: na workstacji macOS Ventura 13.4 z zsh 5.9 oraz iTerm2 3.4.19. Dla pamięci opis sprawdzania ustawień krok po kroku.

ustawienia iTerm

Upewniamy się, że iTerm korzysta z kodowania UTF-8. W tym celu należy wybrać
settings -> profiles -> terminal
Upewniamy się, że character encoding jest ustawione na UTF-8.

zmienne środowiskowe

Sprawdzamy ustawienia zmiennych środowiskowych na macOS. W tym celu należy wpisać
echo $LANG
i sprawdzić wartość zmiennej LANG. Powinna być jakaś z UTF-8, na przykład pl_PL.UTF-8.

Jeśli jest inaczej, można dopisać odpowiednią wartość w pliku .zshrc[1]
export LANG=pl_PL.UTF-8

Jeśli wykonujemy zmianę, należy uruchomić nowy terminal, aby została zastosowana.

kodowanie w powłoce

Sprawdzamy na macOS, jakie kodowanie mamy ustawione w terminalu. Wpisujemy locale i weryfikujemy zawartość zmiennych LC_CTYPE oraz LANG. Powinny zawierać kodowanie UTF-8. Jeśli tak nie jest, można ustawić odpowiednie zmienne w sposób opisany w poprzedniem akapicie.

ustawienia systemu zdalnego

Należy sprawdzić, czy na serwerze zdalnym locale ustawione są na wersję z UTF-8. W tym celu wpisujemy locale. Jeśli tak nie jest, to w Debianie i Ubuntu polecenie dpkg-reconfigure locales umożliwi zarówno wygenerowanie odpowiednich locali, jak i ustawienie domyślnych.

Przy powyższych ustawieniach pl-znaki powinny wyświetlać się poprawnie.

Dla zupełnej transparentności: tym razem nie ma odnośników do stron, których używałem przy rozwiązywaniu problemu. Posiłkowałem się bowiem chatGPT z niewyszukanym promptem macos problem utf-8 iterm how to solve. Całkiem sprawnie sobie poradził.

[1] Jeżeli z jakiegoś powodu korzytamy z bash, nie zsh, to właściwym plikiem będzie .bash_profile

Googlowe rozdwojenie jaźni

Zawsze, gdy sprawdzam szybkość działania strony, zastanawiam się, czy Google cierpi na rozdwojenie jaźni. Z jednej strony bowiem promuje szybkie strony i dostarcza narzędzia do badania szybkości stron WWW. Z drugiej strony największym spowalniaczem stron są… reklamy AdSense od Google.

Nic nie generuje tylu ostrzeżeń o spowolnieniu strony, co umieszczenie reklam AdSense. Także w samych narzędziach Google. Spójrzmy na wyniki z GTmetrix (dla porządku: to nie narzędzie Google) dla strony na tym blogu z reklamami oraz strony bez reklam:

Wynik GTmetrix dla strony z AdSense
Wynik GTmetrix dla strony bez AdSense

Różnica powyżej nie jest może powalająca, ale jeśli spojrzymy na wyniki waterfall, robi się ciekawiej:

OK, trafiło się pechowo, bo jakieś video było w reklamie. Niemniej, trend jest jasno widoczny.

Narzędzie od Google pokazuje, że cierpią głównie użytkownicy mobilni. Dla powyższych URLi wyniki PageSpeed Insights wyglądają następująco:

PageSpeed Insights z AdSense
PageSpeed Insights bez AdSense

Widać, że cierpi głównie wydajność, ale nie tylko. Dostępność też się pogorszyła.

Czyli mamy sprzeczność. Z jednej strony szybsze strony lepiej się indeksują i są odwiedzane przez większą ilość użytkowników. Czyli lepiej nadają się do wyświetlania reklam. Z drugiej strony włączenie reklam AdSense spowolni je, co w dłuższym okresie może spowodować pogorszenie pozycji w wyszukiwarce i mniej odwiedzin. Albo rezygnację użytkowników z oczekiwania na załadowanie strony.

Jak żyć? Oczywiście jeśli chodzi o szybkość działania strony, to oczywiście najlepszy efekt da całkowite usunięcie reklam. Jeśli jednak z jakiegoś powodu nie chcemy całkiem rezygnować z wyświetlania reklam AdSense, a chcemy, by witryna działała szybko, to można ograniczyć ich wyświetlanie tylko do wybranych stron. Na przykład takich z największym ruchem z wyszukiwarki. Jest to oczywiście jakiś kompromis, w dodatku niezbyt wygodny utrzymaniu. Jednak dzięki temu co do zasady jest szybko, a zachowujemy większość dochodu z reklam. To oczywiście jakieś grosze. No i człowiek nie traci kontaktu z tym ekosystemem.

Koniec roweru miejskiego w Poznaniu

Ostatnio kilka razy złapałem się na tym, że potrzebowałem przemieścić się dłuższy kawałek w mieście. Dłuższy pieszo, bo rowerem byłoby jakieś 15-20 minut. Odruchowo rozejrzałem się za rowerem miejskim, który pasowałby idealnie i… nie było.

Nie było to dla mnie wielkim zaskoczeniem, nawet coś mi świtało, że były jakieś przeboje zimą z nim związane. Liczyłem jednak, że sytuacja się wyprostuje i rowery wrócą. Tak się niestety nie stało. Wcześniej aż tak tego nie odczuwałem, bo czym innym jest dłuższy nawet spacer w sprzyjających warunkach pogodowych, a czym innym w upale.

Rowery były dla mnie lepsze od komunikacji miejskiej w kilku sytuacjach. Pierwsza jest oczywista i bezdyskusyjna: komunikacja miejska jeździ po stałych liniach, rowerem można dojechać wszędzie, dowolną trasą. Przynajmniej w centrum, bo dalej jest się już przywiązanym do stacji. Swoją drogą, niemożność zostawienia roweru poza stacją poza centrum kosztowała mnie trochę nerwów i zaliczyłem przez to parę wtop. Ale w mieście nawet jeśli jakaś komunikacja miejska dociera i do punktu startowego, i docelowego, to przejazd łamańcem z przesiadką bywa czasochłonny.

Podjazd „pod same drzwi” też robił różnice. Jeśli trzeba przejść kilkaset metrów do przystanku i tyleż z niego, to czas podróży wzrasta. Rower miejski robił mi tu robotę – mogłem sprawdzić w appce czy mam rower pod ręką, jeśli tak, podjechać rowerem. Niezależnie od ew. opóźnień komunikacji.

Kolejna sprawa to weekendy i święta. Nawet jeśli jest bezpośrednia komunikacja, to poza dniami roboczymi tramwaje i autobusy jeżdżą rzadziej. Zamiast czekać kwadrans na pojazd można było wziąć rower i przejechać w tym czasie na miejsce.

No i na koniec – elastyczność. Jeśli pogoda była niesprzyjająca rowerowi rano, to mogłem pojechać do pracy komunikacją miejską. A jeśli po południu się poprawiła, to nie musiałem wracać w ten sam sposób – mogłem wziąć rower.

Było miło, ale po 10 latach siskończyło, przynajmniej w Poznaniu. Wygląda, że tyle czasu z nich, z większymi lub mniejszymi przerwami, korzystałem. Głównie komunikacyjnie, zarówno do dojazdów do pracy, jak Szkoda, bo alternatyw nie ma. Hulajnogi elektryczne są drogie i w porównaniu z rowerem miejskim nieekologiczne. W końcu trzeba wytworzyć prąd do ich ładowania. A i sama konstrukcja wygląda na dającą większy ślad węglowy. Jeśli chodzi o użytkowników, to rower zapewniał jakąś dawkę ruchu. Hulajnoga już nie.

Pozostaje przypomnieć stare zdjęcie:

Rowery miejskie Nextbike na stacji w Poznaniu
Rowery miejskie Nextbike w Poznaniu. Źródło: fot. własna.

Mam jeszcze nadzieję, że jednak miasto pójdzie po rozum do głowy i rowery wrócą. Chyba jeszcze jest szansa, bo stacje nie są demontowane, wygląda, że czekają.