TECH-LOG

Wpływ technologii i IT na społeczeństwo, praca w branży, windziarze kontra linuksiarze, Drupal, WordPress, Nocode, Lowcode, Airtable, Retool, N8N, fuchy po godzinach, ASAPy, fakapy, itd.

  • Potrzebujesz narzędzi do generowania grafiki przez sztuczną inteligencję ale są za drogie?

    Moja osobista rada – obserwuj oferty (nie tylko na tego typu narzędzia) na AppSumo i podobnych marketach (np. StackSocial). Znajdziesz tam często promocje na takie (i inne) narzędzia w „dożywotnich” licencjach. Wystarczy jednorazowa płatność i masz do nich dostęp „na wieczność”. Co prawda oznacza to „tak długo jak długo będzie żyła dana platforma/usługa”, ale często oznacza to wiele lat i znaczne oszczędności.

    Czytaj Więcej „Potrzebujesz narzędzi do generowania grafiki przez sztuczną inteligencję ale są za drogie?”
  • WinDirStat – lek na przyspieszenie prokrastynacji

    Rozpoczynam mini-cykl wpisów o małych (a czasem mało znanych) narzędziach jakich używam.

    Dziś niepozorny acz robiący świetną robotę WinDirStat. Jego jedynym zadaniem jest pokazanie gdzie są te wszystkie gigabajty zjadające ci miejsce na dysku. Może w katalogu „Zdjęcia”? A może w C:\Users\pc\AppData\Local\Microsoft\PowerToys\Updates? Albo w innym pod-pod-pod-pod-podkatalogu, do którego nigdy nie zaglądniesz szukając rzeczy do wywalenia?

    Program skanuje wybrany dysk i generuje nam widok drzewa folderów – uszeregowanych od największego do najmniejszego. Na kolejnych poziomach tego drzewa podfoldery są również rozmieszczone w zgodzie z tą zasadą.

    Świetnie się to nadaje do wyszukiwania np. logów na serwerach albo zapomnianych aplikacji, które kiedyś zainstalowałeś na chwilę i tak już zostało. Dotarcie do zakurzonych obrazów maszyn lub dysków wirtualnych (25GB) czy tysiąca plików z logami (8GB) czy plików tymczasowych klienta poczty (15GB) zalegających jakiś ciemny zaułek dysku zajmuje kilka sekund.

    Czytaj Więcej „WinDirStat – lek na przyspieszenie prokrastynacji”
  • Recenzja InFakt – zakładanie firmy i księgowość – czy w 2025 nadal polecam?

    W skrócie – prowadzę działalność (usługi IT) i od 2020 roku niezmiennie polecam wszystkim InFakt, w którym wystawiam faktury, prowadzę księgowość i rozliczam podatki, ponieważ jest to dla mnie jasny i zrozumiały system – stąd ta recenzja.

    Dlaczego w ogóle powstał wpis o InFakt?

    Z mojej wygody. Znajomi pytają mnie czasem:

    „Ty masz swoją działalność, co nie? Też o tym myślę ale… czy założenie firmy i później rozliczanie podatków jest trudne?”.

    Wtedy odsyłam ich do tego tekstu oraz podsyłam link do InFakt, z którym dostaną rabat na pierwszą płatność (a ja prowizję za polecenie).

    Jednak możesz dzięki InFakt zyskać cenne informacje nie wydając ani grosza. Wystarczy, że umówisz się na darmową rozmowę z ich konsultantem. Fachowe i darmowe wsparcie jakiego udzielili mi przy zakładaniu mojej działalności w 2020 roku było czymś co mnie do nich (i do założenia firmy) przekonało i sprawiło, że nadal jestem ich klientem.

    Czytaj Więcej „Recenzja InFakt – zakładanie firmy i księgowość – czy w 2025 nadal polecam?”
  • Serwer NAS Synology DS220+

    Każdy facet cieszy się nowymi zabawkami. Lubię dzielić się radością, więc dziś kilka słów o serwerze Synology DS220+, który kupiłem. Czyli wpis z pogranicza snobizmu i paranoi.

    Po pierwsze – obiecany snobizm

    Udało mi się zakończyć projekt, nad którym siedziałem wieczorami kilka miesięcy. Kasa od zleceniodawcy wpłynęła więc wybrałem się na… porównywanie cen dysków i serwerów NAS (linki do Ceneo). A potem na zakupy do pobliskiego Allegro. Wróciłem z tym co na fotce poniżej.

    Po drugie – obiecana choroba psychiczna

    Otóż od dawna mam lekką paranoję na punkcie kopii zapasowych. Staram się mieć kopie WSZYSTKIEGO. A nie jest to wcale proste zagadnienie, kiedy pracujesz regularnie na 4-5 komputerach, masz 4 dyski chmurowe i miliony (to nie przenośnia) poupychanych plików to tu to tam.

    Kopie zapasowe po taniości

    Do tej pory korzystałem z zestawu oprogramowania, sprzętu i usług:

    • Veeam Free Windows Agent,
    • pojemny zewnętrzny dysk USB,
    • iDrive 10TB na zaszyfrowane kopie zapasowe kopii zapasowych

    Tak, wiem, trzeci punkt brzmi głupio i potwierdza paranoję – ale uwierzcie, zasada 3-2-1 stosowana w kopiach zapasowych nie wzięła się znikąd.

    Nie było to wygodne i przede wszystkim musiałem pamiętać, aby ten dysk USB raz na jakiś czas podłączyć, aby Veeam zrobił robotę (swoją drogą bardzo dobry soft).

    Kopie zapasowe „like a boss”

    Z wiekiem robię się bardziej wygodny i zapominalski. Przyszedł czas, aby cały proces nieco zautomatyzować. Dlatego właśnie NAS. Czyli Network Attached Storage. Czyli taki pojemny dysk ale wpięty w domową sieć i wyposażony w swój system operacyjny, na którym możemy instalować aplikacje (które dostarcza Synology w czymś co przypomina AppStore ze smartfonów). Czyli w zasadzie serwer. A na nim między innymi dedykowana aplikacja do centralnego przechowywania kopii zapasowych – Active Backup for Business.

    Działa to tak, że na NAS instalujemy wspomniany pakiet a na „chronionych” komputerach w domu instalujemy specjalne „agenty” działające w tle. Kilkanaście minut konfiguracji i – voilà! – samo się robi. Codziennie, albo co godzinę, albo co tydzień – jak tam sobie ustawisz. Testuję póki co wersję codzienną i obserwuję zajętość dysków oraz obciążenie komputerów i NAS’a w trakcie wykonywania kopii. Zajęcie równie fascynujące co dla niektórych łowienie ryb albo sprawdzanie czy ile pomidorów pojawiło się na krzaczkach. Każdemu jego porno jak mawiają.

    Dlaczego akurat Synology i akurat model DS220+?

    Wybór takiego serwera i dysków do niego to wcale nie prosta rzecz. Ja spędziłem w excelu i na Ceneo kilka godzin zanim mój wybór padł na:

    Czemu taki zestaw? Bo to obecnie jeden z najbardziej optymalnych zakupów. Oczywiście, jeśli macie dokładnie takie potrzeby jak ja, czyli:

    • wystarczy wam (realnie) 3,5TB miejsca (pamiętajcie, że producenci dysków nadal oszukują na bajtach)
    • chcecie mieć pewność, że jak jeden dysk padnie to nie stracicie danych
    • chcecie mieć nie tylko miejsce na dane ale też serwer zdolny uciągnąć kilka kontenerów Docker, czy jakąś maszynę wirtualną.

    W innym wypadku możecie wydać znacznie mniej. Lub więcej. Zależy czego oczekujecie.

    Przy okazji – 2 niesamowite źródła wiedzy i porównań dotyczących serwerów NAS i dysków do nich:

    Jak się toto sprawuje?

    Poniżej przykład z pierwszego dnia. Do wykonania kopii zastosowałem rozwiązanie jakie dostajemy w pakiecie z NAS od Synology (choć nie z każdym modelem) czyli Active Backup for Business. Pozwala ona wykonywać kopie zapasowe całych komputerów z Windows, bez przerywania ich pracy (podobnie jak Veeam), wykorzystując VSS.

    Najlepsze jest to, że wykonywanie kopii nie wpływa jakoś mocno na obciążenie systemu i nie musimy przerywać pracy. Dowód poniżej.

    • Na górze widać listę trwających procesów tworzenia kopii całych maszyn, na liście są dwa domowe komputery. Jeden z komputerów wpięty jest kablem (port 1Gb/s) w ten sam przełącznik co NAS (sam nas jest wpięty 2 kablami), drugi komputer działa sobie po WiFi (ale po drodze do NAS ma nie tylko router ale dodatkowy extender TPLink OneMesh)
    • Wykresy po lewej pokazują obciążenie pierwszego komputera – na przykład około 20% dysku SSD, 30% CPU i transfer na poziomie 800-900mbps. Na komputerze można było swobodnie pracować a cały proces trwał za pierwszym razem pół godziny.
    • Wykres po prawej to obciążenie CPU/RAM oraz sieci samego NAS’a. Transfer do NAS wahał się od 20 do 120MB/s, a zazwyczaj był w okolicy 80-120MB/s.
    • Komputer, którego kopię robiłem po WiFi generował ruch na poziomie około 100mbps a to z uwagi na dość dużą odległość od routera (i jeden extender po drodze). Jego kopia zapasowa trwała ponad godzinę.

    Oczywiście kolejne kopie wykonują się znacznie krócej (zazwyczaj 5-15 minut) jako że do NAS są kopiowane tylko nowe lub zmienione od ostatniej kopii pliki.

    Ile miejsca potrzeba na kopie zapasowe?

    To podchwytliwe pytanie. Przykładowo – moje 2 komputery mają w sumie 3 dyski SSD. Na obu są odpalone chmurowe dyski Google, OneDrive i Nextcloud. Wygląda to z grubsza tak

    Patrząc na powyższe można by założyć, że na obu kompach jest w sumie około… 626,6GB danych? Więc wystarczy nam dysk 1TB aby mieć ich kopię? Nie do końca. W zależności od ustawień częstotliwości kopii, ilości przechowywanych wersji, dostępności technologii deduplikacji czy kompresji – wielkość kopii po tygodniu czy miesiącu może być bardzo różna,

    Po kilkunastu dniach wykonywania się tych kopii i przy założeniu, że NAS przechowuje ostatnie 3 kopie zapasowe każdego kompa sytuacja z zajętością dysku wygląda tak:

    Póki co podstawowa funkcja dla której kupiłem ten sprzęt działa. Pora zabrać się za zgłębianie tematów dodatkowych. Na początek chcę przyjrzeć się konteneryzacji i hostowaniu stron www i aplikacji oraz możliwości zastąpienia chmur plikowych (Google, Nextcloud, OneDrive) za które obecnie dodatkowo płacę. Do przeczytania w kolejnych wpisach.

    AKTUALIZACJA Z 2023-06-01

    Po pewnym czasie zmieniłem nieco parametry retencji na kopiach zapasowych, tak aby sprawdzić, czy zużycie dysku jakoś gwałtownie wzrośnie.

    Po około miesiącu od tej zmiany wykorzystanie przestrzeni wygląda następująco:

    AKTUALIZACJA Z 2024-02-01

    Postanowiłem sprawdzić jak tam moje kopie zapasowe na serwerze NAS Synology. Odkryłem, że deduplikacja oszczędza mi ponad 800GB miejsca na dyskach. Prawdopodobnie wynika to z tego, że na obu domowych komputerach są te same pliki z OneDrive, Nextcloud czy samego Synology Drive. Dodatkowo sytuację komplikować może fakt, że zacząłem wykonywać backup wydzielonego katalogu z Synology Drive na OneDrive, co doprowadzi mnie pewnie do jakiegoś zapętlenia, którego nie potrafię przewidzieć. A ponieważ ustawiłem ten backup jako szyfrowany to OneDrive zaczęło mi wysyłać maile, że wygląda to na ransomware, który szyfruje pliki. A ponieważ zaczął wysyłać jakoś miesiąc po tym jak to ustawiłem to dostałem mikro zawału zanim sobie o tym przypomniałem. No cóż. Takie to życie informatyka sklerotyka.

    Ku potomności zostawiam zrzut ekranu.

  • Dlaczego (nie) śpimy?

    Czytając tę książkę miałem coraz szersze oczy ze zdziwienia (ostatnio tak miałem chyba z Factfulness). Szybko też wdrożyłem do życia sporo zmian. Po pierwsze – przestałem zarywać noce i staram się nie schodzić poniżej 7 godzin snu na dobę. Po drugie nie zaczynam dnia od kawy – pierwszą piję po około 2 godzinach od pobudki.

    Jest tego więcej, ale wydaje mi się, że najciekawsza w tym wszystkim jest moja motywacja. Jest nią najzwyczajniej strach – o zdrowie fizyczne i psychiczne.

    Jeśli więc – tak jak ja do niedawna – uważacie, że wystarczy wam 5 godzin snu, że najlepiej pracuje się wam (lub uczy) w nocy, że możecie oszukać cykl dobowy – koniecznie przeczytajcie tę książkę.

    Czytaj Więcej „Dlaczego (nie) śpimy?”
  • Za co „uwielbiam” Open Source

    Słowo „uwielbiam” nieprzypadkowo jest w cudzysłowach. Uwielbiam wiele rzeczy w ruchu FOSS (Free and Open Source Software). Jednak „uwielbiam” też te sytuacje, kiedy użytkownicy jakiejś „wolnej” aplikacji nie mogą się doczekać od ponad dwudziestu lat roku na wdrożenie jakiejś ułatwiającej życie funkcji.

    Weźmy przykładowo aplikację Thunderbird. Bardzo fajny klient poczty, używam od lat. Jednak jego rozwój od lat nie idzie za sprawnie. Użytkownikom doskwiera kilka(dziesiąt?) braków. Rzeczy zdawałoby się drobne – choćby wygodne wyszukiwanie za pomocą wyrażeń regularnych czy ikona nowego maila w zasobniku systemowym na Linuksach. Obie te funkcje są w opracowaniu od 24 lat (na moment pisania tego wpisu) czyli od 1999 roku!

    Nie wierzycie? Sprawdźcie odnośnik do dyskusji o zasobniku systemowym.

    Czytaj Więcej „Za co „uwielbiam” Open Source”
  • Przeszczep dysku

    Dzisiaj troszeczkę hardware-porn.

    Migawka z typowego dnia informatyka. Masz plan obejrzeć serial, poleniuchować, poczytać książkę. Zamiast tego robisz przeszczep esesdeka do nowego (no dobra, używanego – ale z gwarancją) komputera twojej mamy. Poprzedni dwunastolatek nie przeżył zalania kawą. Upgrade dysku sprzed kilku lat za to nie poszedł na marne. Wystarczyło parę fachowych narzędzi i…

    Czytaj Więcej „Przeszczep dysku”
  • Błąd TF246021 […] SQL Server Error: 50000 w Team Foundation Server

    Ponieważ to był cięższy przypadek niż na początku myślałem, robię ten zapisek na przyszłość dla samego siebie. Ale może komuś też się przyda kiedyś. Szukając w Google rozwiązania, nie znalazłem podobnego przypadku.

    Zaczęło się niewinnie. Koledze zrobili nowe konto w AD. Ale z tym samym loginem, z tymi samymi danymi. Poprzednie konto zmieniło nazwę. Zmienił się oczywiście SID. Kolega utracił dostępy w wielu miejscach, również w TFS. W zasadzie normalka – wywaliłem go z grup, dodałem ponownie, odzyskał dostęp – widział wszystkie zakamarki które miał widzieć.

    Niestety, próbując dodać cokolwiek do TFS (nowy Bug czy PBI) dostawał niezmiennie komunikat:

    TF246021: An error occurred while processing your request. Technical information (for administrator): SQL Server Error: 50000

    Dodatkowo, kiedy próbowałem go wskazać jako właściciela jakiegoś elementu w TFS (np. Zadania), dostawałem:

    The field 'Changed By’ contains the value 'Imię Nazwisko’ that is not in the list of supported values

    Najlepsze jest to, że uprawnienia działały normalnie – kolega mógł otwierać te obszary TFS, do których miał dostęp.

    Finalnie skończyło się na 2h szukania po tabelkach bazy danych i w końcu za pomocą SQL Server Profilera dotarłem w to niepozorne miejsce:

    Po zajrzeniu w ciału tej procedury i wykonaniu kilku testów na „dobrym” i „złym” użytkowniku problem okazał się prosty – błędny SID i UID użytkownika TFS w tabeli [dbo].[Constants]. Można to sprawdzić znając UID użytkownika TFS (ten poprawny, z tabeli [dbo].[ADObjects]) i wykonując procedurę [dbo].[GetConstantRecords]. Albo w dowolny inny sposób (np. porównując wartości kolumn przechowujących SID i TeamFoundationId w obu w/w tabelach.

    Ręczna poprawka SID i TeamFoundationId w tabeli [dbo].[Constants] powinna rozwiązać problem.

    Przykładowe odpalenie procedury GetConstantRecords niżej:

    
    declare @p2 dbo.typ_WitOrderedStringTable
    insert into @p2 values(N'tutaj podajemy tfs id',0)
    
    DECLARE	@return_value int
    
    EXEC	@return_value = [dbo].[GetConstantRecords]
    		@partitionId = 1,
    		@values = @p2,
    		@searchFactor = 4,
    		@returnInactiveIdentities = 0
    
    SELECT	'Return Value' = @return_value
    
    GO

  • Przykład automatyzacji i integracji Baserow (uruchomionego na PikaPods) i WordPress z użyciem N8N

    Jeśli powyższy tytuł zawiera dwa, trzy albo nawet cztery nazwy produktów, których wcześniej nie znałeś – nie przejmuj się. Ja rok temu nie znałem trzech z nich.

    Tym razem będzie trochę inaczej. Mógłbym pisać tu przez godzinę jak super jest N8N, co to są PikaPodsy (niestety nie mają nic wspólnego z Pokemonami) albo czym jest Baserow. Zamiast tego postanowiłem nagrać demo i pokazać.

    Czytaj Więcej „Przykład automatyzacji i integracji Baserow (uruchomionego na PikaPods) i WordPress z użyciem N8N”