Dużo piszemy o zagrożeniach dla przemysłu i infrastruktury.
Jakie macie plany dla was samych? Jak jesteście przygotowani na gwałtowne wzrosty ceny sprzętu? Kiedy trzeba go będzie utrzymywać dłużej. Jakie macie części zapasowe? Jak je byście wybrali? Czy macie zapisane dane na wypadek, gdyby większość internetu padła? Jak zapewnicie wtedy ciągłość pracy zdalnej? Co zrobić na wypadek załamania łańcucha dostaw otwartego oprogramowania i wykorzystania tej zwłoki w wykorzystaniu zebranych luk.
Wszystko zależy od tego o jakim “W” mówimy. Jeśli coś na drugim końcu świata, w kraju wysoce uprzemysłowionym, to można faktycznie rozpatrywać problem w kategoriach przerwania dostaw sprzętu.
Moją strategią jest generalnie zachowywanie starych komputerów. Mam w tej trzy w pełni sprawne maszyny (dwie mają nie więcej niż 5 lat).
Do tego trzy kolejne, których teoretycznie mógłbym używać, chociaż nie byłoby to przyjemne. Pewnie działałbym wtedy w konsoli OpenBSD, jak Carmack na wakacjach. 😀
W kwestii części zapasowych, mam zawsze minimum jeden nośnik każdego typu (NVMe i HDD), który mogę natychmiast włożyć do komputera. Rozmiar jest co najmniej taki, jak największego używanego dysku.
Kilka monitorów (zdecydowana większość w użyciu) i jedno nieużywane GPU (starej generacji), bo nie wszędzie mam framebuffer.
Nieużywany router z AP i switch. Jeden PSU dużej mocy.
Sprzęt poza laptopami jest na UPS. Na wypadek długiego zaniku zasilania agregat na dwa rodzaje paliwa. Dostęp do internetu z dwóch źródeł (lokalny ISP i sieć komórkowa).
Szyfrowany backup robiony na lokalny nośnik i do chmury w innym kraju. Dane zmieniające się często (bazy danych, serwisy) kopiowane raz dziennie. Reszta raz na tydzień.
Backupuję cały /home na każdym komputerze. Dane są deduplikowane, więc koszt jest raczej niewielki.
W przypadku systemów Linuksowych pomaga postawienie NIxosa, bo wystarczy robić kopię konfiguracji. Na jej podstawie można odtworzyć system w godzinę.
Windowsa nie warto backupować, bo to g*. 🙃
W przypadku całkowitej zagłady sieci mam obrazy kilku systemów (Debian, Ubuntu, itp) na nośnikach.
Przy szeroko zakrojonych atakach wykorzystujących jakąś dziurę, pozostaje chyba tylko wyciąć wszystko na firewallu i bawić się w kodowanie offline.
Mam parę lokalnych LLMów, ale wiedza zawarta w modelu 7B czy 13B raczej do niczego się nie przyda. 😀
Nie liczyłbym też na możliwość pracy zdalnej (a właściwie jakiejkolwiek pracy w branży IT), bo firmy ograniczą wtedy zamówienia do lokalnych poddostawców.
Odrębną kwestią jest sytuacja, w której nagle znajdujesz się w kraju frontowym.
Wtedy rozważania na temat dostępności sprzętu schodzą na dalszy plan, bo masz znacznie ważniejsze sprawy na głowie.
Polecam zrobić na tę ewentualność zapas czokoszoków. Niestety inflacja zrobiła swoje i 100 PLN na miesiąc nie wystarczy. #pdk
Dziękuję za ciężką pracę!
Ja się głównie martwiłem o zastępczą kartę graficzną. Bo jakie sterowniki, jakie wsparcie? Wydaje się, że te z otwartymi i stabilne mają przewagę.
Druga sprawa to zbieranie dokumentacji offline.
Chyba warto zrobić sobie narzędzie do synchronizacji. Powinna być jakaś dystrybucja na czarną godzinę ze źródłami i dokumentacją i gwarancją zbudowania.
Jak teraz o tym myślę to wydaje się to bardziej “romantyczne”. Programiści zostawieni sami sobie. Świat pełen innowacyjnych forków. Wymiana danych przez nośniki. Powrót lokalnych magików.
Dlaczego np. zamknięty sterownik NVidii byłby trudniejszy do zdobycia od sterownika AMD czy Intela? Sugerujesz, że będzie się liczyć kazdy kilobajt pobranych danych?
W przypadku C++ i Rust z dokumentacją języka nie ma problemu:
rustup doc
- robi chyba dokładnie to, co masz na myśli, zawiera nawet lokalne kopie kilku książekOczywiście odrębną kwestią są biblioteki, ale w przypadku wielu projektów całkiem nieźle wygląda dokumentacja wygenerowana doxygenem czy
cargo doc
.Ja akurat nie tęsknie do kodowania bez sieci.
Wydaje mi się, że zamknięte łatwiej się de-synchronizuje z API hosta. Sugeruję, że nie wszystko będzie dostarczane na czas i w tym samym czasie. Zakładam, że na zachodzie zwłoka może sięgać kilku miesięcy. Na wschodzie może się całkiem zatrzymać i zainicjować izolację.
Głównym problemem kodowania bez sieci był dostęp do dokumentacji. Drugim było marnowanie czasu na zrobienie sobie narzędzi i ich jakość. Zaletą był wzrost kreatywności.
Kodowanie z użyciem sieci też ma wady.