Praca zdalna

W związku z obecną sytuacją w kraju i na świecie[1] pracuję zdalnie, z domu. W moim przypadku było to trochę łatwiejsze, bo i IT, i zespół rozproszony, więc ćwiczyliśmy dłuższy czas pracę raz w tygodniu zdalnie, ale nadal czym innym jest okazjonalnie dzień zdalnie, a czym innym codzienna praca zdalna. Z tej okazji garstka mniej oczywistych porad, może przyda się komuś, kto dopiero zaczyna.

Zapasowy dostęp do internetu

Praca zdalna wymaga sprawnego dostępu do internetu, warto więc zadbać o zapasowe łącze. Głupio byłoby musieć jechać do firmy tylko dlatego, że nasz ISP wysiadł. Zwłaszcza teraz. Jako zapas wystarczy tak naprawdę karta SIM, za router WiFi spokojnie może robić stary smartfon, można przełożyć kartę do zwykłego smartfona albo użyć drugiego slotu na kartę SIM. Co lepsi IMO operatorzy komórkowi, których używam lub używałem, zapewniający backup dostępu do internetu w wersji na kartę, czyli prepaid:

Aero2
Jest to mój zdecydowany faworyt – nie wymaga inwestycji w postaci opłacania co miesiąc abonamentu, pamiętania o wygasaniu konta, po prostu jest, gotowy do użycia. Wadą jest długi czas oczekiwania na kartę – nie kupimy jej w sklepie. Warto załatwić i niech sobie leży.
Oferuje Darmowy pakiet 512 kb/s bez konieczności odnawiania (z CAPTCHA co godzinę) oraz różne pakiety od 5zł/m-c. Cokolwiek sensownego to jednak 30 zł.

a2mobile
Najlepszy operator, jeśli potrzebujemy korzystać z internetu regularnie, ale umiarkowanie. Oferuje nieograniczony ilością danych dostęp do internetu, z tzw. lejkiem, czyli zmniejszającą się prędkością.
W zupełności wystarcza do komfortowego przeglądania stron i korzystania z poczty, problemy pojawią się dopiero przy streamingu, zwł. w większych ilościach, choć jest możliwość „resetu” lejka.
Jest tańszy/szybszy od aero2 przy podobnym zaangażowaniu (kupno pakietu raz na miesiąc). Pakiet za 13 zł/m-c daje nam:
do 5 GB – bez limitu prędkości
5–10 GB – prędkość max. 3 Mb/s
10–15 GB – prędkość max. 1 Mb/s
powyżej 15 GB – prędkość max. 512 kb/s

Virgin Mobile
Warto rozważyć VM, jeśli planujemy mieć numer „stacjonarny” z opcją na backupowy internet. Ze względu na kupno pojedynczych pakietów 1 GB daje dużą granularność kosztu. W razie potrzeby nie ma więc problemu ze streamingiem. Może być tańszą alternatywą dla a2mobile, kosztem większego zaangażowania przy kupnie pakietów. Porównując z poprzednikiem – jeśli wydamy 13 zł, to będziemy mieli 10 GB internetu.
Pakiety na kartę od 3 zł/m-c + 1zł/1GB

Oczywiście realna prędkość zależy w przypadku dostępu bezprzewodowego od wielu czynników – sprzętu, zasięgu, operatora. Ograniczenia dostawcy to górny limit.

Narzędzia

Zoom to jeszcze jedno rozwiązanie do telekonferencji. Celują raczej w firmy, ale oferują pakiet darmowy, a w związku z aktualną sytuacją także bezpłatną wersję dla szkół.
W aplikacji jest opcja push to talk (domyślnie spacja przy wyłączonym mikrofonie, można zmienić w skrótach klawiszowych). Na odpowiednio wydajnym sprzęcie (podobno wymagany procesor i7) daje możliwość ustawienia tła, które maskuje bałagan w pokoju. Wykrywanie postaci działa bardzo dobrze. Jest też możliwość wspólnego rysowania. Dostępne wersje dla Windows, macOS, Linux. Ta ostatnia była stara i kulawa, jak ostatnio patrzyłem, ale dało się używać.

Ćwiczenia

Praca zdalna wiąże się z ryzykiem ciągłego siedzenia przy komputerze i zmniejszeniem ilości aktywności fizycznej w ogóle. Dlatego pracując przy komputerze przysługuje nam przerwa 5 min na każdą godzinę pracy. Warto ją wykorzystać – przynajmniej w części – na ćwiczenia, szczególnie, jeśli mamy mniej ruchu przez niewychodzenie z domu. Najlepsze wydają mi się dość intensywne ćwiczenia (mamy tylko 5 minut na wszystko!), które nie wymagające specjalnego przygotowania, miejsca czy sprzętu. Moi faworyci:

  • przysiady – nie trzeba nikomu przedstawiać, istnieje wiele wariantów
  • wykroki – jedną nogą robimy krok do przodu i uginamy tylną tak, by kolano niemal dotknęło ziemi, następnie powrót i zmiana nogi
  • pompki – znowu raczej popularne, wiele wariantów z różnym rozstawieniem rąk. Jeśli ktoś ma, to można użyć uchwytów. I bardziej higienicznie, i lepsza efektywność.
  • podciąganie na drążku – odstępstwo od braku sprzętu. Podciąganie nachwytem to bardzo fajne ćwiczenie angażujące plecy.

Przy okazji ćwiczeń pamiętamy oczywiście o wietrzeniu, jeśli tylko pogoda pozwala.

Pracując zdalnie warto pamiętać o bezpieczeństwie, ale o tym już pisał Sekurak.

[1] Pandemia covid-19 oczywiście. Myślałem o wpisie na blogu, ale trochę za mało materiału i za szybko się zmienia, więc luźne myśli lądują w formie lżejszej na Diasporze. Może coś jeszcze napiszę w tym temacie, ale raczej nieprędko.

Instalacja podatnych wersji oprogramowania HOWTO

Niekiedy zachodzi potrzeba uruchomienia starej, podatnej wersji systemu lub usługi w celu przetestowania czegoś, np. exploita. W przypadku Debiana i podobnych dystrybucji opartych na pakietach deb, instalacja starej wersji systemu bywa nieco problematyczna. Po pierwsze, system pakietów nie wspiera downgrade’u, po drugie, domyślnie instalator instaluje najnowsze wersje pakietów, jeśli tylko ma taką możliwość.

Sposoby instalacji podatnych wersji oprogramowania

Sposobów na instalację starszych, podatnych wersji pakietów jest wiele. Można kompilować określoną wersję, ale nie jest to wygodne, jest czasochłonne i niekoniecznie uzyskamy wersję dokładnie taką, jaka była w systemie, np. z powodu patchy nakładanych przez Debiana czy nieco innego środowiska w którym pakiet był budowany[1].

Skoro jednak korzystamy z dystrybucji opartej o pakiety binarne, można także próbować robić downgrade pakietów, albo usuwać pakiety i instalować przy pomocy dpkg zamiast apt[2]. Jeśli nie mamy pecha, wszystko zadziała czy to od razu, czy po małym force przy instalacji. Można też instalować ze starych obrazów instalacyjnych, bez dostępu do sieci. Czasem jednak nie mamy szczęścia. A wszystko można zrobić szybciej i prościej.

Repozytorium starych wersji pakietów Debiana

Przede wszystkim, i tak trzeba jakoś zdobyć podatne wersje pakietów. W przypadku Debiana istnieje snapshot.debian.org, czyli serwis z oficjalnymi, snapshotami mirrorami repozytoriów Debiana. Doskonałe miejsce pozwalające i na pobranie pakietów w takich wersjach, w jakich były w danym momencie w repo, i na postawienie całego systemu w stanie na dany dzień. Snapshoty wykonywane są częściej, niż raz dziennie. Poza głównym repozytorium pakietów dostępne inne, w tym security i backports, więc trudno sobie wyobrazić coś lepszego. Pozostaje instalacja systemu z wykorzystaniem powyższych repozytoriów.

Naprościej można to zrobić z użyciem debootstrap, poprzez podanie mirrora., z którego mają być pobierane pakiety. Przykładowo, aby zainstalować Debiana Buster w wersji, w jakiej był on dostępny dzień po wydaniu:

debootstrap buster /chrooted/ https://snapshot.debian.org/archive/debian/20190707T150059Z/

Po instalacji należałoby jeszcze wejść do chroota i uzupełnić sources.list o wpisy dla repozytorium security, zaktulizować pakiety i… gotowe. W katalogu /chrooted będzie dostępny podatny system. Jeśli był tam podmontowany dysk zdalny, to można uruchomić podatną maszynę według podlinkowanej wyżej instrukcji.

Wykorzystanie LXC do uruchamiania podatnych wersji

Istnieje jeszcze szybszy i IMO wygodniejszy sposób uruchomienia podatnej wersji systemu. Można wykorzystać kontenery LXC do instalacji, a następnie uruchomienia podatnego systemu. O tyle wygodne i bezpieczne, że kontener LXC może być dostępny – i jest to domyślna konfiguracja – wyłącznie z poziomu hypervisora, bez udostępniania go na świat. Kontener z Debianem Buster w wersji na dzień po wydaniu z użyciem LXC tworzymy:

lxc-create -n test -t debian -- -r buster -a amd64 --mirror=https://snapshot.debian.org/archive/debian/20190707T150059Z/ --security-mirror=https://snapshot.debian.org/archive/debian-security/20190707T153344Z/

I gotowe. Po zakończeniu powinniśmy mieć dostępny kontener LXC z podatną wersją systemu. W tym przypadku o nazwie test, którym możemy zarządzać w standardowy sposób, czyli sources.list będziemy mieli:

cat /etc/apt/sources.list
deb https://snapshot.debian.org/archive/debian/20190707T150059Z/          buster         main
deb https://snapshot.debian.org/archive/debian-security/20190707T153344Z/ buster/updates main

[1] Przy weryfikacji zgodności pakietów pomóc mogą reproducible builds.
[2] W tym miejscu nadal odsyłam do wpisu o wajig i zachęcam do zapoznania się z narzędziem. To stary wpis, nie wszystkie opisane okoliczności muszą być prawdziwe, ale wajig ma się dobrze. Warto więc zatem go poznać.

Catalina

Na początku października została wydana nowa wersja macOS o nazwie kodowej Catalina. Zaktualizowałem wczoraj i z okazji tego, że to mój pierwszy upgrade tego systemu, postanowiłem podzielić się wrażeniami z aktualizacji. Notka z tego jak mi się żyje z macOS nadal jest w planach, w trzech słowach: szału nie ma.

Aktualizacja z opóźnieniem, powody były dwa. Po pierwsze, nie ma tam żadnej zmiany, której specjalnie potrzebuję. Z rzeczy, które mnie potencjalnie dotykają ,widzę koniec wsparcia dla aplikacji 32-bit. Także zsh jako domyślna powłoka oraz lepsze security za sprawą dodatkowych uprawnień. Po drugie, czekałem z aktualizacją do Cataliny na zielone światło od zespołu zajmującego się desktopami w firmie, który sprawdzał, czy soft potrzebny do pracy działa poprawnie. Zresztą ogólnie wśród użytkowników maków zauważyłem tendencję do tego, by po wydaniu nowej wersji chwilę poczekać, na ujawnienie ew. błędów i ich poprawki.

Przyznaję, że sama aktualizacja jest zrobiona sprawnie, przebiega czytelnie i dość szybko. Dodatkowo przez większość czasu można normalnie pracować na systemie. Na szybkim łączu i dysku SSD pobranie 8 GB i instalacja zajęły nieco ponad godzinę, co uznaję za dobry wynik. Podobny czas zajmuje zaktualizowanie desktopu z Debianem. Pobranie, rozpakowanie, reboot, dłuższe uruchamianie i… jest. I działa.

Za to po instalacji trochę dzieją się cuda. Po części cuda te wynikają ze zmiany w security – trzeba pozwalać konkretnym programom na konkretne akcje. Ale po części są to zwykłe niedociągnięcia. Przykładowo jedna z pierwszych rzeczy, które mnie spotkały to:

git diff
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Rozumiem, że rozwiązanie jest proste i łatwe do znalezienia. Jednak szukanie po forach rozwiązania problemu dla czegoś, co powinno się zaktualizować wraz z systemem? Przecież pochodzi od tego samego wydawcy i można było przewidzieć, że wymaga aktualizacji, skoro jest zainstalowane? Słabe.

Zapowiadanej zmiany powłoki na zsh jeszcze nie doświadczyłem – okazało się, że dla istniejących kont zostaje bash. Można wymusić zmianę ręcznie, co pewnie za jakiś czas zrobię.

W ogóle model zarządzania aktualizacjami aplikacji (nie mylić z systemem) pod macOS jest fatalny, zbliżony do Windowsowego. Czyli każda aplikacja żyje własnym życiem. Centralny manager pakietów, instalacja z użyciem repozytoriów i aktualizacje w jednym miejscu, znane z Linuksa są dużo łatwiejsze i wygodniejsze.

UPDATE Pochwaliłem za wcześnie. Dziś dostałem info, że dostępna jest aktualizacja do 10.15.1. Zacytuję opis z forum:

macOS Catalina 10.15.1 is a fairly significant update, introducing new emoji characters that were added in iOS 13.2 earlier this week, adding support for the AirPods Pro that are launching tomorrow, and bringing Siri privacy controls to the Mac to allow users to opt out of sharing their Siri recordings with Apple.

Jeśli ktoś przypuszcza, że jest mi to wszystko totalnie obojętne, to ma rację. Aktualizacja emoji zajęła pół godziny. I tym razem uważam, że to trochę sporo, skoro chodzi o takie drobiazgi.

UPDATE Minęło trochę czasu i wyrobiłem sobie ogólnie opinię o aktualizacjach macOS.