Ventura

Trochę późno, bo dopiero wczoraj zaktualizowałem system do wersji Ventura. Biorąc pod uwagę mój stosunek do aktualizacji macOS, ta była wyjątkowo sprawna. Szczególnie biorąc pod uwagę rozmiar. Jednak w sumie nie widzę zmian godnych uwagi – trochę inne kolory, ot co.

Skoro jednak jest już pretekst, do wpisu, to przetestowałem nową wersję hashcata (v6.2.6-320-g9acfc26d8) na nowej wersji systemu. W stosunku do poprzedniej wersji, jest szybciej. Istotnie szybciej, nawet o 50% w niektórych przypadkach:

METAL API (Metal 306.3.5)
=========================
* Device #1: Apple M1 Pro, skipped

OpenCL API (OpenCL 1.2 (Dec 16 2022 20:37:40)) - Platform #1 [Apple]
====================================================================
* Device #2: Apple M1 Pro, GPU, 960/21845 MB (2048 MB allocatable), 16MCU

Benchmark relevant options:
===========================
* --optimized-kernel-enable

-------------------
* Hash-Mode 0 (MD5)
-------------------

Speed.#2.........:  6542.3 MH/s (0.97ms) @ Accel:64 Loops:1024 Thr:256 Vec:1

----------------------
* Hash-Mode 100 (SHA1)
----------------------

Speed.#2.........:  2718.3 MH/s (2.35ms) @ Accel:128 Loops:1024 Thr:128 Vec:1

---------------------------
* Hash-Mode 1400 (SHA2-256)
---------------------------

Speed.#2.........:   983.4 MH/s (6.52ms) @ Accel:64 Loops:1024 Thr:256 Vec:1

No i jeszcze md5crypt:

------------------------------------------------------------------------------
* Hash-Mode 500 (md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5)) [Iterations: 1000]
------------------------------------------------------------------------------

Speed.#2.........:  2516.6 kH/s (1.13ms) @ Accel:128 Loops:1000 Thr:64 Vec:1

Przesiadka na M1

Nadszedł ten moment, kiedy mogłem wymienić służbowy sprzęt. Moment długo oczekiwany. Z dwóch powodów. Po pierwsze, z okazji pandemii cykl wymiany został wydłużony. Po drugie, jako entuzjasta ARMów nie mogłem się doczekać laptopa z tego typu procesorem. No dobrze, nie jest to typowy ARM, jaki można znaleźć w laptopach konkurencji. Ale nadal jest to krok w dobrym – moim zdaniem – kierunku. Pora na wrażenia z kilkudniowego używania.

Ponieważ poprzednio miałem MacBook Pro 13,3″, a pracowałem głównie z domu, bez dodatkowego monitora, stwierdziłem, że pora na większy ekran. Także wydajność w stosunku do 15″ pozostawiała nieco do życzenia, a wersja 15″ nie wydawała się wcale specjalnie większa od typowych laptopów 14″. Zatem jak szaleć, to szaleć. Stwierdziłem, że 14″ to za mało i wezmę 16″ (10 core, 32 GB RAM).

Hardware

Przyznaję, że wstępnie żałuję wyboru. Pierwsze wrażenie przy wyjmowaniu z pudełka to jaka to wielka i ciężka cegła. Faktycznie, zarówno wymiary, jak i waga w stosunku do 13,3″ to inna liga. Pierwsze, co rzuca się w oczy, to fakt, że jest o wiele grubszy i o wiele cięższy. Oczywiście w wersji stacjonarnej nie jest to duży problem, z przeniesieniem z miejsca na miejsce też problemu nie ma. Jak będzie przy pracy typowo mobilnej? Zobaczymy…

Ekran jest bardzo fajny i do pracy stacjonarnej idealny. 13,3″, które wydawało się OK już się wydaje nieco małe.

Szeroko dyskutowane wcięcie na kamerę, zabierające część ekranu. Przyznaję, że nie zauważam tego w codziennej pracy. Zapewne w znacznej mierze jest to wynik chłytu marketingowego w postaci czarnej górnej belki okien. I jak mam świadomość, że jest to de facto zmniejszenie użytecznej powierzchni ekranu, tak zupełnie mi to nie przeszkadza. I tak 99,5% czasu w pracy korzystam z wersji z belką.

W końcu jest też normalna klawiatura. Taka jak w innych laptopach, o niebo przyjemniejsza od nieporozumienia w postaci „drewna” w 13,3″. Zapewne jest to jedna z przyczyn, czemu laptop jest grubszy.

Touchpad tradycyjnie dobry, nowego wejścia na ładowarkę nie oceniam, bo jeszcze nie testowałem – i tak korzystam w okresie przejściowym ze starego, a łatwiej mieć mi jedną.

Z minusów: zmienione zostało położenie gniazda słuchawkowego – teraz jest po lewej stronie. Szkoda, bo przywykłem. Dodatkowo po prawej stronie jest tylko jeden port USB. Jak podłączę tam ładowarkę, to nie mam miejsca na przejściówkę dla myszy. A szkoda, bo z racji większych wymiarów samego laptopa miło byłoby mieć wszystko wpięte po prawej i więcej miejsca na biurku po lewej. Niemniej, podsumowując – sprzętowo bardzo dobrze.

Software

Szybka konfiguracja klawiatury, żeby można było pisać wygodnie polskie znaki i można pracować.

Domyślna powłoka zmieniła się z bash na zsh. Zmiana nastąpiła już jakiś czas temu, poza tym można było wymusić zsh ręcznie. Niemniej, nie ciągnęło mnie. Prawda jest taka, że nie widzę wielkiej różnicy. Oczywiście gdyby komuś nie pasowało zsh to jest możliwość powrotu do bash przy pomocy odpowiedniego użycia polecenia chsh.

W związku ze zmianą architektury miałem lekkie obawy, jak wygląda instalacja dodatkowych programów. Jest różnie. Na niektórych stronach po prostu dostaniemy jedną wersję dla macOS czy też wersję odpowiednią dla naszej architektury. Na innych trzeba samodzielnie wybrać. Większość softu jest dostępna w wersji natywnej i po prostu działa.

Póki co znalazłem tylko jeden program, który nie działa: VirtualBox. Jednak wirtualizacja i konteneryzacja na M1 to już zagadnienie zasługujące na osobny wpis.

Prędkość działania jest OK, czas pracy na baterii też wygląda na więcej, niż zadowalający.

Mapowanie klawiszy w macOS bez Karabiner Elements – HOWTO

Karabiner Elements to popularne narzędzie do mapowania klawiszy na macOS. Narzędzie jest wygodne, ale ma parę problemów. Trzeba instalować oddzielny program, były ostrzeżenia o legacy system extension, które opisywałem przy okazji opisu upgrade. Nie testowałem, ale podobno nie działa po upgrade do Big Sur.

Większość znanych mi ludzi wykorzystuje Karabiner Elements do prostego celu: zamiany prawego option z prawym command. Wszystko po to, żeby wygodnie, czyli tak samo jak na PC, wpisywać polskie znaki diakrytyczne. Robiłem tak i ja, a program był w ogóle zupełnym must have na macOS.

Mapowanie klawiszy w macOS bez Karabiner Elements - obrazek
Źródło: wygenerowane za pomocą https://thumbnail.ai/

Ponieważ znalazłem dziś kolejną osobę, która nie wiedziała, że się da, a wykorzystywała właśnie w tak prosty sposób, podzielę się sposobem, który sprzedał mi znajomy z pracy (dzięki J!). Rozwiązanie nie wymaga dodatkowych programów, wystarczy wbudowane oprogramowanie systemowe.

hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e7,
  "HIDKeyboardModifierMappingDst":0x7000000e6}]}'

Powyższe polecenie spowoduje, że klawisze zostaną przemapowane tymczasowo, do restartu systemu. Aby osiągnąć ten efekt na stałe, tworzymy plik ~/Library/LaunchAgents/mapkeys.plist o zawartości:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.nanoant.KeyRemapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x7000000e7,"HIDKeyboardModifierMappingDst":0x7000000e6}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Oczywiście rozwiązanie można stosować także do bardziej skomplikowanego mapowania klawiatury. Jednak jak wspominałem na początku, większości użytkowników powinien wystarczyć ww. gotowiec. Po takim zabiegu, skoro mamy działającą aleternatywę, można odinstalować Karabiner Elements zupełnie.

UPDATE: Przydatne linki
Generator mapowania
Gotowa do użycia wersja online