VSCodium na Debianie

Jak pisałem wcześniej, nadchodzi koniec edytora Atom. Z pewnych względów, na maszynie służbowej i tak zacząłem korzystać z Visual Studio Code . Dlatego postanowiłem przyspieszyć proces migracji także na prywatnej maszynie. VSC nie było złe, więc zgodnie z zapowiedzią dałem szansę VSCodium.

Czym jest VSCodium?

VSCodium to fork microsoftowego Visual Studio Code, zbudowany z otwartego kodu źródłowego, dostępny na wolnej licencji. Dodatkowo pozbawiony dodatków od Microsoft służących do zbierania telemetrii/śledzenia. Poza tym, wszystko powinno działać tak samo.

VSCodium logo
Źródło: https://vscodium.com/

Instalacja VSCodium

Na początek instalacja pod Debianem. Z tego co widzę, na Ubuntu będzie identycznie. Szczęśliwie dostępne jest repozytorium pakietów deb. Skorzystałem z opisu instalacji spod tego linka: https://www.linuxcapable.com/how-to-install-vscodium-on-debian-11-bullseye/. Wersja skrócona poniżej.

Dodajemy klucz GPG do zaufanych:

curl https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/vscodium.gpg

Dodajemy źródło pakietów:

echo "deb https://download.vscodium.com/debs vscodium main" > /etc/apt/sources.list.d/vscodium.list

Po tym zostaje już tylko aktualizacja danych o repozytoriach i instalacja pakietu codium:

apt update; apt install codium

Wtyczki z marketplace

Nieprzypadkowo napisałem, że wszystko powinno działać tak samo. Słowo powinno powinno dać do myślenia. Otóż po instalacji pozwoliłem sobie „ściągnąć” konfigurację, a w zasadzie używane wtyczki, z marketplace od kolegi z pracy, korzystającego z VSC. Mocno się zdziwiłem, bo większość potrzebnych wtyczek, tych od Microsoft, nie była w VSCodium dostępna do instalacji. Nie drążyłem wtedy tematu i po prostu zainstalowałem VSC.

Jednak po szybkim zbadaniu tematu okazuje się, że nie ma najmniejszego problemu z korzystaniem z marketplace Microsoft w VSCodium. Zgodnie z tym, co piszą w dokumentacji, wystarczy w pliku

~/.config/VSCodium/product.json

dodać stosowną zawartość, czyli:

{
  "extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items",
    "controlUrl": "",
    "recommendationsUrl": ""
  }
}

I możemy cieszyć się dostępem do wtyczek zupełnie jak w Visual Studio Code.

Wtyczki

Nie ukrywam, że bardziej podobało mi się działanie wtyczek w Atomie. Na przykład isort wywołany tamże po prostu sortował wszystkie importy. W przypadku VSC nie ma tak dobrze. Z tego co udało mi się znaleźć, można „naprawić” pojedynczy import.

Istnieje obejście, które jest podpowiadane w opisie konfiguracji wtyczki, czyli dodanie do settings odpowiedniej sekcji. Jest to nieco nieintuicyjne, bo w czytamy to będąc w… ustawieniach, czyli settings. Chodzi jednak o inne settings. Jak znalazłem pod tym linkiem, trzeba zmienić zawartość pliku

~/.config/Code/User/settings.json

Na razie tyle. Z doświadczeń w pracy wynika, że spokojnie da się żyć z VSC zamiast Atoma. Na razie pracuje mi się w VSC gorzej, ale raczej chodzi o drobną zmianę przyzwyczajeń i dokładniejsze poznanie nowego programu. Z wyboru zamiennika jestem wstępnie zadowolony.

Gosund SP-111 cz. 2

W tej części cyklu wpisów o Gosund SP-111 opiszę moje perypetie związane z wymianą firmware. Zaczęło się od tego, że chciałem uzyskać możliwość sterowania urządzeniem bez dostępu do internetu. O tym, czemu miałem takie wymaganie może następnym razem. W każdym razie urządzenie posiada wsparcie w otwartych firmware, np. obsługiwane jest przez Tasmota.

Wgrywanie Tasmota bez kabli

Istnieją opisy jak flashować Gosund SP-111 rozkręcając gniazdko i podłączając przewody. Choć posiadam sprzęt, wolałem tego uniknać, dlatego ucieszyłem się, znajdując ten opis bezprzewodowej wymiany firmware przy pomocy tuya-convert. Doczytałem gdzieś, że najlepiej nie pozwolić urządzeniu łączyć się z internetem, tylko od razu przystąpić do flashowania. Chodzi o uniknięcie aktualizacji oprogramowania – podobno nowe wersje mają jakieś zabezpieczenia przed aktualizacją przez tuya-convert.

Po krótkiej zabawie najpierw z Orange Pi, następnie Banana Pi doszedłem do tego, że trzeba trochę powalczyć z konfiguracją, zmieniając nazwę urządzenia sieciowego. Karta wbudowana w Orange Pi nie działała, z kolei sam system nie widział mojej karty na USB, stąd ostatecznie przełączenie na Banana Pi. Niestety, mimo trzymania się i opisu, i instrukcji ze strony projektu, nie udało się wgrać oprogramowania przy pomocy tuya-convert. Ani korzystając z głównej gałęzi oprogramowania, ani z wersji developerskiej.

Oryginalne oprogramowanie i API

Stwierdziłem, że pora wypróbować oryginalne oprogramowanie i zobaczyć, czy urządzenie w ogóle jest sprawne. Zainstalowałem aplikację, zarejestrowałem konto, podłączyłem – wszystko działa. Chyba zaktualizowałem oprogramowanie producenta. Albo zrobiło się to samo? Nie pamiętam. Okazało się również, że powinno dać się uzyskać klucz API umożliwiający sterowanie z użyciem oryginalnego oprogramowania. Po szczegóły odsyłam do projektu tuyapi. Jednak gdy zobaczyłem, że mam zakładać kolejne konto, w kolejnym serwisie, zwątpiłem.

Podszedłem jeszcze raz do flashowania przy pomocy tuya-convert i… tym razem udało się od kopa. Nie wiem czy znaczenie miała aktywacja z oryginalnym oprogramowaniem, czy ew. aktualizacja firmware producenta. Po prostu się firmware się sflashował i… cegła. Krótki błysk po włączeniu zasilanie i tyle. Logi też nie nastrajały optymistycznie, ostatnie co było widać to:

smarthack-web.log:[I 211220 22:07:17 web:2239] 200 GET /files/upgrade.bin (10.42.42.12) 4003.81ms

Wgranie oprogramowania przy pomocy konwertera FTDI

Czyli przyszła pora przeprosić się z kabelkami. Skorzystałem z tego opisu i wgrania firmware przy pomocy esptool. W zasadzie uznałbym go za bardzo dobry, jednak przestrzegam przed poleganiem na kolorach kabli ze zdjęć. Zawsze należy czytać opisy pinów i łączyć zgodnie z opisem. Wpis ten jest dobrym przykładem, bo zdjęcie konwertera FTDI pochodzi bowiem prawdopodobnie z innego podłączenia, niż zdjęcie samego Gosund SP-111 z podłączonymi kabelkami. Tak czy inaczej, opis jest dobry, uwagi dotyczące zaostrzenia pinów czy użycia taśmy klejącej jak najbardziej na miejscu. Oczywiście całą operację flashowania i podłączania kabelków wykonujemy na urządzeniu wypiętym z gniazdka 230V.

Flashowanie „po kablu” przebiegło poprawnie i bez niespodzianek, włożyłem Gosund SP-111 do gniazdka, włączyłem zasilanie i… znowu krótki błysk i zupełna ciemność, całkiem jak po flashowaniu bezprzewodowym.

Tym razem jednak coś mnie tknęło, albo przeczytałem w którymś opisie i przeskanowałem dostępne sieci WiFi. I oczywiście, znalazł się tam nowy AP, po podłączeniu którego mogłem skonfigurować urządzenie. Czyli prawdopodobnie podmiana oprogramowania przy pomocy tuya-convert także była skuteczna. To, czego nie wiedziałem, to fakt, że zachowaniem LED steruje się przy pomocy template’u, który wgrywa się samodzielnie, później.

Jednym słowem, nie ma to jak utrudnić sobie życie i wypróbować wiele sposobów. Grunt jednak, że udało się dotrzeć do szczęśliwego finału, czyli mój Gosund SP-111 działa pod kontrolą otwartego firmware w postaci Tasmota.

Jak robić lepsze spotkania w Google Calendar?

Przeczytałem wpis o tym, jak telekonferencje zmieniają nasz sposób pracy. I jak jestem zdania, że praca zdalna niesie wiele korzyści, tak gdybym miał wskazywać wady, to ryzyko utraty przerw od komputera wskazałbym jako jedną z głównych. Można je zminimalizować planując skrócone spotkania.

W stacjonarnym modelu pracy okazji na oderwanie się od komputera jest wiele. Wyjście po kawę potrafi skończyć się krótką rozmową w kuchni, spotkania także są przerwą od pracy na komputerze. Przynajmniej dla większości uczestników i przez większość czasu. Czasem któraś osoba obecna na spotkaniu notuje na komputerze, albo ktoś musi sięgnąć po dane.

Dla przypomnienia: zgodnie z prawem pracy, pracownikowi przysługuje 5 minut przerwy od pracy na komputerze na każdą godzinę pracy. Nie musi być to przerwa od pracy w ogóle, ale przy pracy zdalnej raczej tak będzie, bo albo pracujemy na komputerze, albo jesteśmy na spotkaniu… na komputerze. O ile będziemy w stanie zrobić przerwę, a nie będziemy właśnie kończyć jedno spotkanie i zaczynać kolejne. Domyślnie bowiem Google Calendar ustawia koniec i początek spotkań co równe 30 minut.

Jak ustawić skrócone spotkania w Google Calendar?

Na szczęście można to zmienić. Google Calendar posiada bowiem wbudowaną opcję, która umożliwia domyślne ustawianie krótszych spotkań. Krótszych, czyli spotkań nie kończących się o pełnej godzinie.

W wersji angielskiej Google Calendar krótsze spotkania ustawimy poprzez
Settings -> Event settings -> Speedy meetings

Natomiast w polskiej wersji Kalendarza Google będzie to
Ustawienia -> Ustawienia wydarzeń -> Szybkie spotkania

Następnie możemy wybrać łączny czas trwania spotkań w trakcie każdej godziny.

Wady rozwiązania

Rozwiązanie nie jest idealne. Po pierwsze, mamy w ten sposób wpływ tylko na spotkania organizowane przez siebie, nie wszystkie, w których uczestniczymy. Przydałaby się choćby sugestia, że zapraszane osoby korzystają z trybu skróconych spotkań.

Kolejna wada to brak możliwości wybrania 55 minut spotkań, czyli wartości odpowiadającej wprost prawu pracy, w ciągu godziny. Dostępne są jedynie predefiniowane wartości. Najbliższa polskiemu prawu pracy jest wartość 50 minut. Daje ona co prawda więcej, bo 10 minut wolnego od spotkań na godzinę, ale nie jest to duża różnica. Dodatkowo świetnie sprawdza się przy spotkaniach półgodzinnych.

Osobiście za największą wadę uważam brak możliwości wyboru, czy spotkanie powinno być skracane z dołu, czy z góry. System przewiduje tylko wcześniejsze kończenie spotkań. Tymczasem bardziej naturalne wydaje się ustawienie późniejszego ich rozpoczęcia.